Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Nov 2004 10:57:48 +1300
From:      Andrew Thompson <andy@fud.org.nz>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/74214: [new port] add handbrake, a gui DVD-MPEG4 ripper/encoder
Message-ID:  <20041121215748.GA22747@thingy.tbd.co.nz>
Resent-Message-ID: <200411212200.iALM0naM058137@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         74214
>Category:       ports
>Synopsis:       [new port] add handbrake, a gui DVD-MPEG4 ripper/encoder
>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:   Sun Nov 21 22:00:49 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Thompson
>Release:        FreeBSD 5.3-BETA6 i386
>Organization:
>Environment:
System: FreeBSD hudson.fire.org.nz 5.3-BETA6 FreeBSD 5.3-BETA6 #0: Sat Oct 16 09:21:06 NZDT 2004 root@hudson.fire.org.nz:/usr/obj/usr/src/sys/HUDSON i386


>Description:

Add HandBrake. A GTK2 app that reads straight from the DVD to MPEG4. It is 
also multithreaded to utilise SMP machines.

This port depends on PR 74094


>How-To-Repeat:
>Fix:

Shar file attached. There is also a tar available @ http://www.fud.org.nz/~andy/handbrake.tar.gz



# 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:
#
#	multimedia/handbrake
#	multimedia/handbrake/files
#	multimedia/handbrake/files/patch-Jamfile
#	multimedia/handbrake/files/patch-core_Utils.c
#	multimedia/handbrake/files/patch-core_Thread.h
#	multimedia/handbrake/files/patch-core_Thread.c
#	multimedia/handbrake/files/patch-contrib_Jamfile
#	multimedia/handbrake/files/patch-gtk2_main.c
#	multimedia/handbrake/files/patch-gtk2_callbacks.c
#	multimedia/handbrake/files/patch-core_Jamfile
#	multimedia/handbrake/files/patch-gtk2_interface.c
#	multimedia/handbrake/files/patch-core_HandBrake.c
#	multimedia/handbrake/files/patch-core_Fifo.c
#	multimedia/handbrake/files/patch-Jamrules
#	multimedia/handbrake/pkg-descr
#	multimedia/handbrake/distinfo
#	multimedia/handbrake/Makefile
#
echo c - multimedia/handbrake
mkdir -p multimedia/handbrake > /dev/null 2>&1
echo c - multimedia/handbrake/files
mkdir -p multimedia/handbrake/files > /dev/null 2>&1
echo x - multimedia/handbrake/files/patch-Jamfile
sed 's/^X//' >multimedia/handbrake/files/patch-Jamfile << 'END-of-multimedia/handbrake/files/patch-Jamfile'
X--- Jamfile.orig	Wed May 26 05:51:32 2004
X+++ Jamfile	Mon Nov 22 23:38:09 2004
X@@ -54,6 +54,18 @@
X     ObjectCcFlags   $(GTK2_SRC) : `pkg-config gtk+-2.0 --cflags` ;
X     Main            $(GTK2_BIN) : $(GTK2_SRC) ;
X }
X+if $(OS) = FREEBSD
X+{
X+    HB_LIBS = libhb.a libx264.a ; 
X+    SystemLibraries $(TEST_BIN) : -L/usr/local/lib -lpthread -la52 -lavcodec
X+    		-ldvdcss -ldvdread -lfaac -lmp3lame -lmp4v2 -lmpeg2 -logg
X+		-lsamplerate -lvorbis -lvorbisenc -lxvidcore ;
X+    SystemLibraries $(GTK2_BIN) : -L/usr/local/lib -lpthread `pkg-config gtk+-2.0 --libs` 
X+    		-la52 -lavcodec -ldvdcss -ldvdread -lfaac -lmp3lame -lmp4v2
X+		-lmpeg2 -logg -lsamplerate -lvorbis -lvorbisenc -lxvidcore ;
X+    ObjectCcFlags   $(GTK2_SRC) : `pkg-config gtk+-2.0 --cflags` ;
X+    Main            $(GTK2_BIN) : $(GTK2_SRC) ;
X+}
X if $(OS) = CYGWIN
X {
X     SystemLibraries $(TEST_BIN) : -lws2_32 ;
END-of-multimedia/handbrake/files/patch-Jamfile
echo x - multimedia/handbrake/files/patch-core_Utils.c
sed 's/^X//' >multimedia/handbrake/files/patch-core_Utils.c << 'END-of-multimedia/handbrake/files/patch-core_Utils.c'
Xdiff -urN core/Utils.c core/Utils.c
X--- core/Utils.c	Wed May 26 05:51:32 2004
X+++ core/Utils.c	Fri Nov 19 08:08:07 2004
X@@ -38,7 +38,7 @@
X {
X #if defined( HB_BEOS )
X     snooze( time );
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     usleep( time );
X #elif defined( HB_CYGWIN )
X     Sleep( time / 1000 );
END-of-multimedia/handbrake/files/patch-core_Utils.c
echo x - multimedia/handbrake/files/patch-core_Thread.h
sed 's/^X//' >multimedia/handbrake/files/patch-core_Thread.h << 'END-of-multimedia/handbrake/files/patch-core_Thread.h'
Xdiff -urN core/Thread.h core/Thread.h
X--- core/Thread.h	Wed May 26 05:51:32 2004
X+++ core/Thread.h	Fri Nov 19 08:08:07 2004
X@@ -10,7 +10,7 @@
X /* System headers */
X #if defined( HB_BEOS )
X #  include <OS.h>
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X #  include <pthread.h>
X #elif defined( HB_CYGWIN )
X #  include <windows.h>
X@@ -25,7 +25,7 @@
X #elif defined( HB_MACOSX )
X #  define HB_LOW_PRIORITY    0
X #  define HB_NORMAL_PRIORITY 31
X-#elif defined( HB_LINUX ) || defined( HB_CYGWIN )
X+#elif defined( HB_LINUX ) || defined( HB_CYGWIN ) || defined( HB_FREEBSD )
X /* Actually unused */
X #  define HB_LOW_PRIORITY    0
X #  define HB_NORMAL_PRIORITY 0
X@@ -57,7 +57,7 @@
X {
X #if defined( HB_BEOS )
X     sem_id          sem;
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_mutex_t mutex;
X #elif defined( HB_CYGWIN )
X     HANDLE          mutex;
X@@ -68,7 +68,7 @@
X {
X #if defined( HB_BEOS )
X     acquire_sem( l->sem );
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_mutex_lock( &l->mutex );
X #elif defined( HB_CYGWIN )
X     WaitForSingleObject( l->mutex, INFINITE );
X@@ -79,7 +79,7 @@
X {
X #if defined( HB_BEOS )
X     release_sem( l->sem );
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_mutex_unlock( &l->mutex );
X #elif defined( HB_CYGWIN )
X     ReleaseMutex( l->mutex );
X@@ -94,7 +94,7 @@
X {
X #if defined( HB_BEOS )
X     int                 thread;
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_cond_t      cond;
X #elif defined( HB_CYGWIN )
X     HANDLE              event;
X@@ -110,7 +110,7 @@
X     suspend_thread( c->thread );
X     acquire_sem( lock->sem );
X     c->thread = -1;
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_cond_wait( &c->cond, &lock->mutex );
X #elif defined( HB_CYGWIN )
X     SignalObjectAndWait( lock->mutex, c->event, INFINITE, FALSE );
X@@ -134,7 +134,7 @@
X            release_sem() and suspend_thread() lines, wait a bit */
X         snooze( 5000 );
X     }
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_cond_signal( &c->cond );
X #elif defined( HB_CYGWIN )
X     PulseEvent( c->event );
END-of-multimedia/handbrake/files/patch-core_Thread.h
echo x - multimedia/handbrake/files/patch-core_Thread.c
sed 's/^X//' >multimedia/handbrake/files/patch-core_Thread.c << 'END-of-multimedia/handbrake/files/patch-core_Thread.c'
Xdiff -urN core/Thread.c core/Thread.c
X--- core/Thread.c	Wed May 26 05:51:32 2004
X+++ core/Thread.c	Fri Nov 19 08:08:07 2004
X@@ -24,7 +24,7 @@
X     /* OS-specific thread id */
X #if defined( HB_BEOS )
X     int       thread;
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_t thread;
X #elif defined( HB_CYGWIN )
X     HANDLE    thread;
X@@ -74,7 +74,7 @@
X     t->thread = spawn_thread( (int32 (*)( void * )) ThreadFunc,
X                               name, priority, t );
X     resume_thread( t->thread );
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_create( &t->thread, NULL,
X                     (void * (*)( void * )) ThreadFunc, t );
X #elif defined( HB_CYGWIN )
X@@ -96,7 +96,7 @@
X #if defined( HB_BEOS )
X     long exitValue;
X     wait_for_thread( t->thread, &exitValue );
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_join( t->thread, NULL );
X #elif defined( HB_CYGWIN )
X     WaitForSingleObject( t->thread, INFINITE );
X@@ -126,7 +126,7 @@
X 
X #if defined( HB_BEOS )
X     l->sem = create_sem( 1, "sem" );
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_mutex_init( &l->mutex, NULL );
X #elif defined( HB_CYGWIN )
X     l->mutex = CreateMutex( 0, FALSE, 0 );
X@@ -141,7 +141,7 @@
X 
X #if defined( HB_BEOS )
X     delete_sem( l->sem );
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_mutex_destroy( &l->mutex );
X #elif defined( HB_CYGWIN )
X     CloseHandle( l->mutex );
X@@ -161,7 +161,7 @@
X 
X #if defined( HB_BEOS )
X     c->thread = -1;
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_cond_init( &c->cond, NULL );
X #elif defined( HB_CYGWIN )
X     c->event = CreateEvent( NULL, FALSE, FALSE, NULL );
X@@ -175,7 +175,7 @@
X     HBCond * c = *_c;
X 
X #if defined( HB_BEOS )
X-#elif defined( HB_MACOSX ) || defined( HB_LINUX )
X+#elif defined( HB_MACOSX ) || defined( HB_LINUX ) || defined( HB_FREEBSD )
X     pthread_cond_destroy( &c->cond );
X #elif defined( HB_CYGWIN )
X     CloseHandle( c->event );
END-of-multimedia/handbrake/files/patch-core_Thread.c
echo x - multimedia/handbrake/files/patch-contrib_Jamfile
sed 's/^X//' >multimedia/handbrake/files/patch-contrib_Jamfile << 'END-of-multimedia/handbrake/files/patch-contrib_Jamfile'
X--- contrib/Jamfile.orig	Fri Nov 19 15:50:35 2004
X+++ contrib/Jamfile	Fri Nov 19 15:50:49 2004
X@@ -1,15 +1,3 @@
X SubDir TOP contrib ;
X 
X-SubInclude TOP contrib liba52 ;
X-SubInclude TOP contrib libavcodec ;
X-SubInclude TOP contrib libdvdcss ;
X-SubInclude TOP contrib libdvdread ;
X-SubInclude TOP contrib libfaac ;
X-SubInclude TOP contrib libmp3lame ;
X-SubInclude TOP contrib libmp4v2 ;
X-SubInclude TOP contrib libmpeg2 ;
X-SubInclude TOP contrib libogg ;
X-SubInclude TOP contrib libsamplerate ;
X-SubInclude TOP contrib libvorbis ;
X SubInclude TOP contrib libx264 ;
X-SubInclude TOP contrib libxvidcore ;
END-of-multimedia/handbrake/files/patch-contrib_Jamfile
echo x - multimedia/handbrake/files/patch-gtk2_main.c
sed 's/^X//' >multimedia/handbrake/files/patch-gtk2_main.c << 'END-of-multimedia/handbrake/files/patch-gtk2_main.c'
X--- gtk2/main.c.orig	Sat Nov 20 19:20:18 2004
X+++ gtk2/main.c	Sat Nov 20 19:21:02 2004
X@@ -85,6 +85,7 @@
X 
X     /* build dvd list */
X     items = g_list_append (items, "" );
X+    items = g_list_append (items, "/dev/%%DVD_DEVICE%%" );
X     items = g_list_append (items, "/dev/dvd" );
X     gtk_combo_set_popdown_strings( GTK_COMBO(lookup_widget( hb_win_main, "combo1") ), items );
X 
END-of-multimedia/handbrake/files/patch-gtk2_main.c
echo x - multimedia/handbrake/files/patch-gtk2_callbacks.c
sed 's/^X//' >multimedia/handbrake/files/patch-gtk2_callbacks.c << 'END-of-multimedia/handbrake/files/patch-gtk2_callbacks.c'
X--- gtk2/callbacks.c.orig	Sat Nov 20 19:57:32 2004
X+++ gtk2/callbacks.c	Sat Nov 20 20:00:15 2004
X@@ -394,12 +394,9 @@
X         switch( gtk_option_menu_get_history( GTK_OPTION_MENU(widget) ) )
X         {
X             case 0:
X-                title->codec = HB_CODEC_FFMPEG;
X-                break;
X-            case 1:
X                 title->codec = HB_CODEC_XVID;
X                 break;
X-            case 2:
X+            case 1:
X                 title->codec = HB_CODEC_X264;
X                 break;
X         }
END-of-multimedia/handbrake/files/patch-gtk2_callbacks.c
echo x - multimedia/handbrake/files/patch-core_Jamfile
sed 's/^X//' >multimedia/handbrake/files/patch-core_Jamfile << 'END-of-multimedia/handbrake/files/patch-core_Jamfile'
X--- core/Jamfile.orig	Wed May 26 05:51:32 2004
X+++ core/Jamfile	Fri Nov 19 16:22:49 2004
X@@ -15,25 +15,8 @@
X Library libhb : $(LIBHB_SRC) ;
X 
X # Sadly, we might want to debug our code
X-ObjectCcFlags $(LIBHB_SRC) : -g -Wall -W ;
X+ObjectCcFlags $(LIBHB_SRC) : -g -Wall -W -I%%PREFIX%%/include ;
X 
X # Needed includes
X-ObjectHdrs Ac3Dec.c    : $(TOP)/contrib/liba52 ;
X-ObjectHdrs FfmpegEnc.c
X-           HandBrake.c
X-           MpgaDec.c
X-           Scale.c     : $(TOP)/contrib/libavcodec ;
X-ObjectHdrs DVDRead.c
X-           Scan.c      : $(TOP)/contrib/libdvdread ;
X-ObjectHdrs FaacEnc.c   : $(TOP)/contrib/libfaac ;
X-ObjectHdrs Mp3Enc.c    : $(TOP)/contrib/libmp3lame ;
X-ObjectHdrs Mp4Mux.c    : $(TOP)/contrib/libmp4v2 ;
X-ObjectHdrs Mpeg2Dec.c
X-           Scan.c      : $(TOP)/contrib/libmpeg2 ;
X-ObjectHdrs Resample.c  : $(TOP)/contrib/libsamplerate ;
X-ObjectHdrs OgmMux.c
X-           VorbisEnc.c : $(TOP)/contrib/libogg ;
X-ObjectHdrs VorbisEnc.c : $(TOP)/contrib/libvorbis ;
X ObjectHdrs X264Enc.c   : $(TOP)/contrib/libx264 ;
X-ObjectHdrs XvidEnc.c   : $(TOP)/contrib/libxvidcore ;
X 
END-of-multimedia/handbrake/files/patch-core_Jamfile
echo x - multimedia/handbrake/files/patch-gtk2_interface.c
sed 's/^X//' >multimedia/handbrake/files/patch-gtk2_interface.c << 'END-of-multimedia/handbrake/files/patch-gtk2_interface.c'
X--- gtk2/interface.c.orig	Wed May 26 05:51:38 2004
X+++ gtk2/interface.c	Fri Nov 19 20:04:50 2004
X@@ -62,7 +62,7 @@
X   GtkWidget *optionmenu_title;
X   GtkWidget *optionmenu_codec;
X   GtkWidget *menu_codec;
X-  GtkWidget *mpeg_4__ffmpeg_1;
X+/*  GtkWidget *mpeg_4__ffmpeg_1; */
X   GtkWidget *mpeg_4__xvid_1;
X   GtkWidget *h264__x264_1;
X   GtkObject *spinbutton_bitrate_adj;
X@@ -252,9 +252,13 @@
X 
X   menu_codec = gtk_menu_new ();
X 
X+  /*
X+   * FFmpeg currently segfaults, disable it for the moment
X+   *
X   mpeg_4__ffmpeg_1 = gtk_menu_item_new_with_mnemonic ("MPEG-4 (FFmpeg)");
X   gtk_widget_show (mpeg_4__ffmpeg_1);
X   gtk_container_add (GTK_CONTAINER (menu_codec), mpeg_4__ffmpeg_1);
X+  */
X 
X   mpeg_4__xvid_1 = gtk_menu_item_new_with_mnemonic ("MPEG-4 (XviD)");
X   gtk_widget_show (mpeg_4__xvid_1);
X@@ -558,7 +562,7 @@
X   GLADE_HOOKUP_OBJECT (win_main, optionmenu_title, "optionmenu_title");
X   GLADE_HOOKUP_OBJECT (win_main, optionmenu_codec, "optionmenu_codec");
X   GLADE_HOOKUP_OBJECT (win_main, menu_codec, "menu_codec");
X-  GLADE_HOOKUP_OBJECT (win_main, mpeg_4__ffmpeg_1, "mpeg_4__ffmpeg_1");
X+/*  GLADE_HOOKUP_OBJECT (win_main, mpeg_4__ffmpeg_1, "mpeg_4__ffmpeg_1"); */
X   GLADE_HOOKUP_OBJECT (win_main, mpeg_4__xvid_1, "mpeg_4__xvid_1");
X   GLADE_HOOKUP_OBJECT (win_main, h264__x264_1, "h264__x264_1");
X   GLADE_HOOKUP_OBJECT (win_main, spinbutton_bitrate, "spinbutton_bitrate");
END-of-multimedia/handbrake/files/patch-gtk2_interface.c
echo x - multimedia/handbrake/files/patch-core_HandBrake.c
sed 's/^X//' >multimedia/handbrake/files/patch-core_HandBrake.c << 'END-of-multimedia/handbrake/files/patch-core_HandBrake.c'
X--- core/HandBrake.c.orig	Wed May 26 05:51:32 2004
X+++ core/HandBrake.c	Fri Nov 19 15:56:50 2004
X@@ -709,7 +709,7 @@
X     get_system_info( &info );
X     CPUCount = info.cpu_count;
X 
X-#elif defined( HB_MACOSX )
X+#elif defined( HB_MACOSX ) || defined( HB_FREEBSD )
X     FILE * info;
X     char   buffer[256];
X 
END-of-multimedia/handbrake/files/patch-core_HandBrake.c
echo x - multimedia/handbrake/files/patch-core_Fifo.c
sed 's/^X//' >multimedia/handbrake/files/patch-core_Fifo.c << 'END-of-multimedia/handbrake/files/patch-core_Fifo.c'
X--- core/Fifo.c.orig	Wed May 26 05:51:32 2004
X+++ core/Fifo.c	Fri Nov 19 15:55:26 2004
X@@ -23,7 +23,7 @@
X 
X #if defined( HB_BEOS ) || defined( HB_LINUX )
X     b->data = memalign( 16, size );
X-#elif defined( HB_MACOSX )
X+#elif defined( HB_MACOSX ) || defined( HB_FREEBSD )
X     /* OS X's malloc returns 16-bytes aligned memory */
X     b->data = malloc( size );
X #elif defined( HB_CYGWIN )
X@@ -47,7 +47,7 @@
X {
X     /* We don't care about alignment here, realloc is only used in the
X        AVI muxer anyway */
X-#if defined( HB_BEOS ) || defined( HB_LINUX ) || defined( HB_MACOSX )
X+#if defined( HB_BEOS ) || defined( HB_LINUX ) || defined( HB_MACOSX ) || defined( HB_FREEBSD )
X     b->data = realloc( b->data, size );
X #elif defined( HB_CYGWIN )
X     int alignment = b->data - b->dataOrig;
X@@ -66,7 +66,7 @@
X {
X     HBBuffer * b = *_b;
X 
X-#if defined( HB_BEOS ) || defined( HB_LINUX ) || defined( HB_MACOSX )
X+#if defined( HB_BEOS ) || defined( HB_LINUX ) || defined( HB_MACOSX ) || defined( HB_FREEBSD )
X     free( b->data );
X #elif defined( HB_CYGWIN )
X     free( b->dataOrig );
END-of-multimedia/handbrake/files/patch-core_Fifo.c
echo x - multimedia/handbrake/files/patch-Jamrules
sed 's/^X//' >multimedia/handbrake/files/patch-Jamrules << 'END-of-multimedia/handbrake/files/patch-Jamrules'
X--- Jamrules.orig	Wed May 26 05:51:32 2004
X+++ Jamrules	Fri Nov 19 16:22:38 2004
X@@ -33,6 +33,10 @@
X {
X     ASFLAGS   = -f elf ;
X }
X+if $(OS) = FREEBSD
X+{
X+    OPTIM     = -O ;
X+}
X if $(OS) = CYGWIN
X {
X     # Build under cygwin but without the emulation layer
END-of-multimedia/handbrake/files/patch-Jamrules
echo x - multimedia/handbrake/pkg-descr
sed 's/^X//' >multimedia/handbrake/pkg-descr << 'END-of-multimedia/handbrake/pkg-descr'
XHandBrake is a GPL'd multi-platform, multithreaded DVD to MPEG-4 ripper and 
Xconverter. HandBrake was originally available on the BeOS, but now has been 
Xported over to MacOS X, GNU/Linux and FreeBSD.
X
XFeatures:
X * Can encode directly from DVDs (even encrypted ones) or from VIDEO_TS folders
X * Supports AC3, LPCM and MPEG audio tracks
X * Outputs MP4, AVI or OGM files
X * Outputs AAC, MP3 or Vorbis audio
X * Supports 2-pass encoding
X * Supports encoding of two audio tracks
X * Includes a bitrate calculator
X * Supports picture deinterlacing, cropping and scaling
X
XKnown limitations: 
X * Does not handle DTS audio tracks
X * Does not handle single VOB files or any other file format
X
XWWW: http://handbrake.m0k.org/
END-of-multimedia/handbrake/pkg-descr
echo x - multimedia/handbrake/distinfo
sed 's/^X//' >multimedia/handbrake/distinfo << 'END-of-multimedia/handbrake/distinfo'
XMD5 (HandBrake-0.6.2-src.tar.gz) = a787787622cfa5411c13b7a4bc057ea5
XSIZE (HandBrake-0.6.2-src.tar.gz) = 1992682
END-of-multimedia/handbrake/distinfo
echo x - multimedia/handbrake/Makefile
sed 's/^X//' >multimedia/handbrake/Makefile << 'END-of-multimedia/handbrake/Makefile'
X# New ports collection makefile for: handbrake
X# Date created:        19 November 2004
X# Whom:                Andrew Thompson <andy@fud.org.nz>
X#
X# $FreeBSD: $
X#
X
XPORTNAME=	handbrake
XPORTVERSION=	0.6.2
XCATEGORIES=	multimedia
XMASTER_SITES=	http://handbrake.m0k.org/mirrors/via/
XDISTNAME=	HandBrake-${PORTVERSION}-src
X
XMAINTAINER=	andy@fud.org.nz
XCOMMENT=	A DVD to MPEG-4 ripper and encoder
X
XBUILD_DEPENDS=	jam:${PORTSDIR}/devel/jam
XLIB_DEPENDS=	a52.0:${PORTSDIR}/audio/liba52 \
X		avcodec.0:${PORTSDIR}/multimedia/ffmpeg \
X		dvdcss.2:${PORTSDIR}/multimedia/libdvdcss \
X		dvdread.3:${PORTSDIR}/multimedia/libdvdread \
X		faac.0:${PORTSDIR}/audio/faac \
X		mp3lame.0:${PORTSDIR}/audio/lame \
X		mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2 \
X		mpeg2.0:${PORTSDIR}/multimedia/libmpeg2 \
X		ogg.5:${PORTSDIR}/audio/libogg \
X		samplerate.1:${PORTSDIR}/audio/libsamplerate \
X		vorbis.3:${PORTSDIR}/audio/libvorbis \
X		xvidcore.4:${PORTSDIR}/multimedia/xvid
X
XPLIST_FILES=	bin/handbrake
XWRKSRC=		${WRKDIR}/HandBrake-${PORTVERSION}
X
XUSE_GNOME=	gtk20
XUSE_REINPLACE=	yes
XUSE_X_PREFIX=	yes
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 500000
XDVD_DEVICE?=	acd0c
X.else
XDVD_DEVICE?=	acd0
X.endif
X
Xdo-build:
X	@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} jam)
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/gtk2HB ${PREFIX}/bin/handbrake
X
Xpost-patch:
X	@${REINPLACE_CMD} -e 's:%%PREFIX%%:${LOCALBASE}:g' \
X		${BUILD_WRKSRC}/Jamfile ${BUILD_WRKSRC}/core/Jamfile
X	@${REINPLACE_CMD} -e 's:%%DVD_DEVICE%%:${DVD_DEVICE}:g' \
X		${BUILD_WRKSRC}/gtk2/main.c
X
X.include <bsd.port.post.mk>
END-of-multimedia/handbrake/Makefile
exit

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041121215748.GA22747>