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>