diff options
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/Makefile | 1 | ||||
-rw-r--r-- | multimedia/lxdvdrip/Makefile | 38 | ||||
-rw-r--r-- | multimedia/lxdvdrip/distinfo | 2 | ||||
-rw-r--r-- | multimedia/lxdvdrip/files/patch-lxdvdrip.c | 94 | ||||
-rw-r--r-- | multimedia/lxdvdrip/files/pkg-message.in | 3 | ||||
-rw-r--r-- | multimedia/lxdvdrip/pkg-descr | 24 | ||||
-rw-r--r-- | multimedia/lxdvdrip/pkg-plist | 16 |
7 files changed, 178 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile index 5a1cf0f79f11..423508ae4fdf 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -78,6 +78,7 @@ SUBDIR += linux-realplayer SUBDIR += linux-xmovie SUBDIR += lsdvd + SUBDIR += lxdvdrip SUBDIR += mjpegtools SUBDIR += mkvtoolnix SUBDIR += mkxvcd 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%% |