aboutsummaryrefslogtreecommitdiff
path: root/multimedia/lxdvdrip
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-01-29 15:00:20 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-01-29 15:00:20 +0000
commit67484284521d45c2e592b77212edab608accc221 (patch)
tree67d39ead4e57d745584007070ae2064bd360553f /multimedia/lxdvdrip
parenteb301f91bdde1d72c506a307c540babb68f7cadc (diff)
downloadports-67484284521d45c2e592b77212edab608accc221.tar.gz
ports-67484284521d45c2e592b77212edab608accc221.zip
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. PR: ports/76728 Submitted by: Ulrich Spoerlein <q@uni.de>
Notes
Notes: svn path=/head/; revision=127610
Diffstat (limited to 'multimedia/lxdvdrip')
-rw-r--r--multimedia/lxdvdrip/Makefile38
-rw-r--r--multimedia/lxdvdrip/distinfo2
-rw-r--r--multimedia/lxdvdrip/files/patch-lxdvdrip.c94
-rw-r--r--multimedia/lxdvdrip/files/pkg-message.in3
-rw-r--r--multimedia/lxdvdrip/pkg-descr24
-rw-r--r--multimedia/lxdvdrip/pkg-plist16
6 files changed, 177 insertions, 0 deletions
diff --git a/multimedia/lxdvdrip/Makefile b/multimedia/lxdvdrip/Makefile
new file mode 100644
index 000000000000..3dc2ad62e33b
--- /dev/null
+++ b/multimedia/lxdvdrip/Makefile
@@ -0,0 +1,38 @@
+# New ports collection makefile for: multimedia/lxdvdrip
+# Date created: 26.01.2005
+# Whom: Ulrich Spoerlein <q@uni.de>
+#
+# $FreeBSD$
+#
+
+PORTNAME= lxdvdrip
+PORTVERSION= 1.41
+CATEGORIES= multimedia
+MASTER_SITES= http://download.berlios.de/lxdvdrip/
+DISTNAME= ${PORTNAME}-${PORTVERSION}-3
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= q@uni.de
+COMMENT= Command Line Tool to make a copy from a Video DVD
+
+LIB_DEPENDS= dvdread.3:${PORTSDIR}/multimedia/libdvdread
+
+SUB_FILES= pkg-message
+PKGMESSAGE= ${WRKDIR}/pkg-message
+
+WRKSRC= ${WRKDIR}/${PORTNAME}
+
+do-build:
+ (cd ${WRKSRC}; ${CC} ${CFLAGS} -I${LOCALBASE}/include -L${LOCALBASE}/lib \
+ -ldvdread -lm -o lxdvdrip lxdvdrip.c)
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/lxdvdrip ${LOCALBASE}/bin
+ ${INSTALL_DATA} ${WRKSRC}/doc-pak/lxdvdrip.conf.* ${LOCALBASE}/etc
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ cd ${WRKSRC}/doc-pak && ${CP} Changelog* README.* TODO freebsd.doc ${DOCSDIR}
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/multimedia/lxdvdrip/distinfo b/multimedia/lxdvdrip/distinfo
new file mode 100644
index 000000000000..1da7d7e9ea88
--- /dev/null
+++ b/multimedia/lxdvdrip/distinfo
@@ -0,0 +1,2 @@
+MD5 (lxdvdrip-1.41-3.tgz) = bd325a8a4a5519a2146a2ca9ecfea3b3
+SIZE (lxdvdrip-1.41-3.tgz) = 456578
diff --git a/multimedia/lxdvdrip/files/patch-lxdvdrip.c b/multimedia/lxdvdrip/files/patch-lxdvdrip.c
new file mode 100644
index 000000000000..2132de964d39
--- /dev/null
+++ b/multimedia/lxdvdrip/files/patch-lxdvdrip.c
@@ -0,0 +1,94 @@
+--- lxdvdrip.c.orig Wed Jan 12 23:31:49 2005
++++ lxdvdrip.c Wed Jan 26 21:31:51 2005
+@@ -229,6 +229,11 @@
+ #include <string.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/param.h>
++#include <sys/mount.h>
++#ifndef __FreeBSD__
++#include <sys/statfs.h>
++#endif
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+@@ -621,16 +626,19 @@
+ // Gibt die Groesse einer Datei zurueck, ohne die stat Beschraenkung auf < 2 GB
+ long long filesize64 (char * szFileName)
+ {
++#ifdef __FreeBSD__
++ struct stat buf;
++
++ if (stat(szFileName, &buf) < 0)
++ return 0LL;
++
++ return buf.st_size;
++#else
+ FILE * fp;
+ long long lSize;
+ char szBuffer[128];
+ char szTempl[32] = "/tmp/groesse.lxdvdrip";
+-// FreeBSD hat fopen64 als Standard
+-#ifdef _FREEBSD
+- fp = (FILE*)fopen (szFileName, "rb");
+-#else
+ fp = (FILE*)fopen64 (szFileName, "rb");
+-#endif
+ if (!fp)
+ {
+ return (long long)0;
+@@ -644,39 +652,28 @@
+ system ("rm /tmp/groesse.lxdvdrip");
+ lSize = atoll (szBuffer);
+ return lSize;
++#endif
+ }
+
+ // Berechnet freien Festplattenplatz
+ long long calculate_discfree (char * szPfad, long lSprache)
+ {
+- char szTempl[32] = "/tmp/lxdf.lxdvdrip";
+- char szBefehl[1024];
++ struct statfs buf;
+ long long lGroesse=0;
+- sprintf (szBefehl, "stat -f %s -c ", szPfad);
+- strcat (szBefehl, "'%a %s' > ");
+- strcat (szBefehl, szTempl);
+- if (system (szBefehl) == 0)
++
++ if (statfs(szPfad, &buf) < 0)
++ return 0;
++
++ lGroesse = buf.f_bavail*buf.f_bsize;
++
++ switch (lSprache)
+ {
+- FILE * fTmp;
+- long long lFrei;
+- long long lBlockGroesse;
+- fTmp = fopen(szTempl,"r");
+- if (fTmp)
+- {
+- fscanf (fTmp, "%lld %lld", &lFrei, &lBlockGroesse);
+- fclose (fTmp);
+- lGroesse = lFrei * lBlockGroesse;
+- }
+- system ("rm /tmp/lxdf.lxdvdrip");
+- switch (lSprache)
+- {
+- case 0: printf ("Frei in %s: %lld Bytes\n", szPfad, lGroesse);
+- break;
+- case 1: printf ("Free in %s: %lld Bytes\n", szPfad, lGroesse);
+- break;
+- case 2: printf ("Espace libre sur %s: %lld octets\n", szPfad, lGroesse);
+- break;
+- }
++ case 0: printf ("Frei in %s: %lld Bytes\n", szPfad, lGroesse);
++ break;
++ case 1: printf ("Free in %s: %lld Bytes\n", szPfad, lGroesse);
++ break;
++ case 2: printf ("Espace libre sur %s: %lld octets\n", szPfad, lGroesse);
++ break;
+ }
+ return lGroesse;
+ }
diff --git a/multimedia/lxdvdrip/files/pkg-message.in b/multimedia/lxdvdrip/files/pkg-message.in
new file mode 100644
index 000000000000..c9e697c9d112
--- /dev/null
+++ b/multimedia/lxdvdrip/files/pkg-message.in
@@ -0,0 +1,3 @@
+To use this program, copy one of
+%%LOCALBASE%%/etc/lxdvdrip.conf.{DE,EN,FR} to
+$HOME/.lxdvdrip.conf
diff --git a/multimedia/lxdvdrip/pkg-descr b/multimedia/lxdvdrip/pkg-descr
new file mode 100644
index 000000000000..6d0ba1bf3b1a
--- /dev/null
+++ b/multimedia/lxdvdrip/pkg-descr
@@ -0,0 +1,24 @@
+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/
diff --git a/multimedia/lxdvdrip/pkg-plist b/multimedia/lxdvdrip/pkg-plist
new file mode 100644
index 000000000000..8ab45829ed22
--- /dev/null
+++ b/multimedia/lxdvdrip/pkg-plist
@@ -0,0 +1,16 @@
+bin/lxdvdrip
+etc/lxdvdrip.conf.DE
+etc/lxdvdrip.conf.EN
+etc/lxdvdrip.conf.FR
+%%PORTDOCS%%%%DOCSDIR%%/Changelog.de
+%%PORTDOCS%%%%DOCSDIR%%/Changelog.en
+%%PORTDOCS%%%%DOCSDIR%%/Changelog.fr
+%%PORTDOCS%%%%DOCSDIR%%/README.de
+%%PORTDOCS%%%%DOCSDIR%%/README.dvdwizard.DE
+%%PORTDOCS%%%%DOCSDIR%%/README.dvdwizard.EN
+%%PORTDOCS%%%%DOCSDIR%%/README.dvdwizard.FR
+%%PORTDOCS%%%%DOCSDIR%%/README.en
+%%PORTDOCS%%%%DOCSDIR%%/README.fr
+%%PORTDOCS%%%%DOCSDIR%%/TODO
+%%PORTDOCS%%%%DOCSDIR%%/freebsd.doc
+%%PORTDOCS%%@dirrm %%DOCSDIR%%