summaryrefslogtreecommitdiff
path: root/multimedia/avidemux2
diff options
context:
space:
mode:
authorTimur I. Bakeyev <timur@FreeBSD.org>2008-07-15 02:53:29 +0000
committerTimur I. Bakeyev <timur@FreeBSD.org>2008-07-15 02:53:29 +0000
commitaa9f6ea2c00471586a087fc0fb31f8f21ec7686d (patch)
treedda5c01b3a8eeff09d2841effe86dd4581b470f2 /multimedia/avidemux2
parent- Fix error in procname path (diff)
Upgrade avidemux2 to the 2.4.2 version and switch to CMake
PR: ports/125508 Submitted by: timur@FreeBSD.org Approved by: amistry@am-productions.biz (maintainer)
Notes
Notes: svn path=/head/; revision=216853
Diffstat (limited to 'multimedia/avidemux2')
-rw-r--r--multimedia/avidemux2/Makefile246
-rw-r--r--multimedia/avidemux2/distinfo6
-rw-r--r--multimedia/avidemux2/files/avidemux2.desktop.in12
-rw-r--r--multimedia/avidemux2/files/execinfo.cpp37
-rw-r--r--multimedia/avidemux2/files/patch-CMakeLists.txt27
-rw-r--r--multimedia/avidemux2/files/patch-ConfigureChecks.cmake79
-rw-r--r--multimedia/avidemux2/files/patch-avidemux_ADM_lavformat_ADM_lavformat.cpp28
-rw-r--r--multimedia/avidemux2/files/patch-avidemux__ADM_encoder__adm_encx264.cpp10
-rw-r--r--multimedia/avidemux2/files/patch-avidemux__ADM_libraries__ADM_lavformat__ADM_lavformat.cpp14
-rw-r--r--multimedia/avidemux2/files/patch-avidemux__ADM_userInterfaces__ADM_QT4__ui_support.cpp15
-rw-r--r--multimedia/avidemux2/files/patch-cmake__Ts.cmake29
-rw-r--r--multimedia/avidemux2/files/patch-cmake__conf_summary.cmake27
-rw-r--r--multimedia/avidemux2/files/patch-po__CMakeLists.txt15
-rw-r--r--multimedia/avidemux2/pkg-descr8
-rw-r--r--multimedia/avidemux2/pkg-plist39
15 files changed, 482 insertions, 110 deletions
diff --git a/multimedia/avidemux2/Makefile b/multimedia/avidemux2/Makefile
index eb904304f6de..0074cdcabfc6 100644
--- a/multimedia/avidemux2/Makefile
+++ b/multimedia/avidemux2/Makefile
@@ -6,123 +6,235 @@
#
PORTNAME= avidemux2
-PORTVERSION= 2.3.0
-PORTREVISION= 6
+PORTVERSION= 2.4.2
CATEGORIES= multimedia
-MASTER_SITES= http://fixounet.free.fr/avidemux/ \
- ${MASTER_SITE_BERLIOS}
+MASTER_SITES= ${MASTER_SITE_BERLIOS} \
+ ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= avidemux
DISTNAME= avidemux_${PORTVERSION}
MAINTAINER= amistry@am-productions.biz
COMMENT= Simple GUI based video editor
-PATCH_DEPENDS= ${ACLOCAL}:${PORTSDIR}/devel/automake19
-BUILD_DEPENDS= spidermonkey>=1.5_3:${PORTSDIR}/lang/spidermonkey
LIB_DEPENDS= mp3lame:${PORTSDIR}/audio/lame \
mad:${PORTSDIR}/audio/libmad \
- js:${PORTSDIR}/lang/spidermonkey \
- xml2:${PORTSDIR}/textproc/libxml2
+ a52:${PORTSDIR}/audio/liba52 \
+ png:${PORTSDIR}/graphics/png \
+ execinfo:${PORTSDIR}/devel/libexecinfo
-USE_AUTOTOOLS= automake:19:env autoconf:261:env libtool:15 aclocal:19:env
-USE_GETTEXT= yes
-USE_GNOME= gnomeprefix gnomehack gtk20
+CONFLICTS= avidemux2-2.[0-35-9].*
+# Necessary for CMake to find libs
+CFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib
+CXXFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib
+
+USE_GNOME= libxml2
+USE_QT_VER= 4
+QT_COMPONENTS=
+
+USE_ICONV= yes
WANT_SDL= yes
-CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${LOCALBASE}/include \
- -I${LOCALBASE}/include/a52dec" \
- LIBFLAGS="-L${LOCALBASE}/lib" \
- LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" \
- PTHREAD_LIBS=${PTHREAD_LIBS} \
- PTHREAD_CFLAGS=${PTHREAD_CFLAGS}
-CONFIGURE_ARGS= --disable-warnings \
- --with-jsapi-include=${LOCALBASE}/include
-USE_GMAKE= yes
-DESKTOP_ENTRIES= Avidemux "Simple video editor" "" "avidemux2" "" false
-OPTIONS= OPTIMIZED_CFLAGS "build with -O3 for lavcodec" off \
- FAAC "FAAC (mpeg4/aac encoder)" off \
- FAAD "FAAD (mpeg4/aac decoder)" off \
- X264 "H.264 encoding" off \
- A52 "A52 audio" off \
- XVID "Xvid video" off \
- SDL "SDL audio/video framework" off \
- VORBIS "OGG/Vorbis audio support" off
+USE_CMAKE= yes
+CMAKE_USE_PTHREAD=yes
+CMAKE_ARGS+= -DTHREADS_HAVE_PTHREAD_ARG:STRING="${PTHREAD_LIBS}"
+
+OPTIONS= GTK "GTK+ GUI" on \
+ QT4 "QT4 GUI (Experimental)" off \
+ FREETYPE "TrueType font rendering engine" on \
+ FONTCONFIG "Font configuration API for X" on \
+ OSS "OSS audio device" on \
+ ESD "ESOUND audio device" off \
+ JACK "JACK audio device" off \
+ PULSE "PULSE audio device" off \
+ XVIDEO "X Video Extension library" on \
+ FAAC "FAAC (mpeg4/aac encoder)" on \
+ FAAD "FAAD (mpeg4/aac decoder)" on \
+ X264 "H.264 encoding" on \
+ XVID "Xvid video" on \
+ SDL "SDL audio/video framework" on \
+ DCA "DTS Coherent Acoustics decoder" on \
+ AMRNB "3GPP AMR Speech Codec" on \
+ VORBIS "OGG/Vorbis audio support" on \
+ SAMPLERATE "Sample Rate Converter for audio" on \
+ NLS "Native languages support" on \
+ OPTIMIZED_CFLAGS "build with -O3 for lavcodec" off
.include <bsd.port.pre.mk>
-#.if ${HAVE_SDL:Msdl}!=""
-#WITH_SDL= yes
-#.endif
+# We haven't ALSA(Never) & Aften(Yet) on FreeBSD
+CMAKE_ARGS+= -DNO_ARTS=1 -DNO_ALSA=1 -DNO_Aften=1
-.if exists(${LOCALBASE}/lib/libvorbis.so)
-WITH_VORBIS= yes
+.if !defined(WITH_GTK) && !defined(WITH_QT4)
+CMAKE_ARGS+= -DNO_X11=1 -DNO_GTK=1 -DNO_QT4=1
.endif
-.if exists(${LOCALBASE}/lib/libx264.so)
-WITH_X264= yes
+.if defined(WITHOUT_GTK)
+CMAKE_ARGS+= -DNO_GTK=1
+PLIST_SUB+= GTK="@comment "
+.else
+USE_GNOME+= gnomeprefix gnomehack gtk20
+PLIST_SUB+= GTK=""
.endif
-.if exists(${LOCALBASE}/lib/libfaac.so)
-WITH_FAAC= yes
+.if defined(WITHOUT_QT4)
+CMAKE_ARGS+= -DNO_QT4=1
+PLIST_SUB+= QT4="@comment "
+.else
+QT_COMPONENTS= qmake_build moc_build rcc_build uic_build linguist_build gui
+PLIST_SUB+= QT4=""
.endif
-.if exists(${LOCALBASE}/lib/libfaad.so)
-WITH_FAAD= yes
+.if defined(WITH_GTK) || defined(WITH_QT4)
+USE_GNOME+= libxslt desktopfileutils
.endif
-.if exists(${LOCALBASE}/lib/liba52.so)
-WITH_A52= yes
+.if defined(WITHOUT_OSS)
+CMAKE_ARGS+= -DNO_OSS=1
.endif
-.if exists(${LOCALBASE}/lib/libxvidcore.so)
-WITH_XVID= yes
+.if defined(WITHOUT_ESD)
+CMAKE_ARGS+= -DNO_Esd=1
+.else
+USE_GNOME+= esound
.endif
-.if defined(WITH_XVID)
-LIB_DEPENDS+= xvidcore:${PORTSDIR}/multimedia/xvid
-CONFIGURE_ARGS+= --with-xvid-as-decoder
+.if defined(WITHOUT_JACK)
+CMAKE_ARGS+= -DNO_Jack=1
+.else
+LIB_DEPENDS+= jack:${PORTSDIR}/audio/jack
+.endif
+
+.if defined(WITHOUT_PULSE)
+CMAKE_ARGS+= -DNO_PULSE_SIMPLE=1
+.else
+LIB_DEPENDS+= pulse:${PORTSDIR}/audio/pulseaudio
+.endif
+
+.if defined(WITHOUT_FREETYPE)
+CMAKE_ARGS+= -DNO_FREETYPE=1
+.else
+LIB_DEPENDS+= freetype:${PORTSDIR}/print/freetype2
+.endif
+
+.if defined(WITHOUT_FONTCONFIG)
+CMAKE_ARGS+= -DNO_FontConfig=1
+.else
+LIB_DEPENDS+= fontconfig:${PORTSDIR}/x11-fonts/fontconfig
.endif
-.if defined(WITH_A52)
-LIB_DEPENDS+= a52:${PORTSDIR}/audio/liba52
+.if defined(WITHOUT_SAMPLERATE)
+CMAKE_ARGS+= -DNO_libsamplerate=1
+.else
+LIB_DEPENDS+= samplerate:${PORTSDIR}/audio/libsamplerate
.endif
-.if defined(WITH_SDL)
-USE_SDL+= sdl
+.if defined(WITHOUT_XVIDEO)
+CMAKE_ARGS+= -DNO_XV=1
+.else
+LIB_DEPENDS+= Xv:${PORTSDIR}/x11/libXv
.endif
-.if defined(WITH_FAAC)
+.if defined(WITHOUT_FAAC)
+CMAKE_ARGS+= -DNO_FAAC=1
+.else
LIB_DEPENDS+= faac:${PORTSDIR}/audio/faac
.endif
-.if defined(WITH_FAAD)
+.if defined(WITHOUT_FAAD)
+CMAKE_ARGS+= -DNO_FAAD=1 -DNO_NeAAC=1
+.else
LIB_DEPENDS+= faad:${PORTSDIR}/audio/faad
.endif
-.if defined(WITH_X264)
+.if defined(WITHOUT_X264)
+CMAKE_ARGS+= -DNO_x264=1
+.else
LIB_DEPENDS+= x264:${PORTSDIR}/multimedia/x264
.endif
-.if defined(WITH_VORBIS)
+.if defined(WITHOUT_XVID)
+CMAKE_ARGS+= -DNO_Xvid=1
+.else
+LIB_DEPENDS+= xvidcore:${PORTSDIR}/multimedia/xvid
+.endif
+
+.if defined(WITHOUT_SDL)
+CMAKE_ARGS+= -DNO_SDL=1
+.else
+USE_SDL= sdl
+.endif
+
+.if defined(WITHOUT_VORBIS)
+CMAKE_ARGS+= -DNO_Vorbis=1
+.else
LIB_DEPENDS+= vorbis:${PORTSDIR}/audio/libvorbis
.endif
+.if defined(WITHOUT_DCA)
+CMAKE_ARGS+= -DNO_libdca=1
+.else
+LIB_DEPENDS+= dca:${PORTSDIR}/multimedia/libdca
+.endif
+
+.if defined(WITHOUT_AMRNB)
+CMAKE_ARGS+= -DNO_AMRNB=1
+.else
+LIB_DEPENDS+= amrnb:${PORTSDIR}/audio/libamrnb
+.endif
+
+.if defined(WITHOUT_NLS)
+CMAKE_ARGS+= -DNO_NLS=1
+PLIST_SUB+= NLS="@comment " QT_NLS="@comment "
+.else
+USE_GETTEXT= yes
+PLIST_SUB+= NLS=""
+. if !defined(WITH_QT4)
+PLIST_SUB+= QT_NLS="@comment "
+. else
+PLIST_SUB+= QT_NLS=""
+. endif
+.endif
+
post-extract:
@${REINPLACE_CMD} -e 's/[[:cntrl:]]*$$//' \
- ${WRKSRC}/avidemux/ADM_mplex/ADM_mplexout.cpp
-
-pre-build:
- @${FIND} ${WRKSRC} -type f -print0 | \
- ${XARGS} -x -n 10 -0 ${TOUCH}
+ ${WRKSRC}/avidemux/ADM_libraries/ADM_mplex/ADM_mplexout.cpp
post-patch:
- @${TOUCH} ${WRKSRC}/*
- @${REINPLACE_CMD} 's|-lpthread|${PTHREAD_LIBS}|g' ${WRKSRC}/configure ${WRKSRC}/*/*/Makefile
- @${REINPLACE_CMD} 's|<malloc.h>|<stdlib.h>|g' ${WRKSRC}/avidemux/ADM_lavcodec/*.c
- @${REINPLACE_CMD} 's|<malloc.h>|<stdlib.h>|g' ${WRKSRC}/avidemux/ADM_lavcodec/*/*.c
- @${REINPLACE_CMD} 's|ADM_LOCALEDIR=$${datadir}/locale|ADM_LOCALEDIR=${PREFIX}/share/locale|' ${WRKSRC}/configure
- @${REINPLACE_CMD} "s|-O2|${CFLAGS}|" ${WRKSRC}/configure
+ @${REINPLACE_CMD} 's|-lpthread|${PTHREAD_LIBS}|g' ${WRKSRC}/*/*/Makefile
+ @${CP} ${FILESDIR}/execinfo.cpp ${WRKSRC}/cmake_compile_check/
+ @${REINPLACE_CMD} "s|%%DATADIR%%|${DATADIR}|g" \
+ ${WRKSRC}/avidemux/ADM_userInterfaces/ADM_QT4/ui_support.cpp \
+ ${WRKSRC}/cmake/Ts.cmake
.if !defined(WITH_OPTIMIZED_CFLAGS)
- @${REINPLACE_CMD} "s|-O3|${CFLAGS}|" ${WRKSRC}/avidemux/ADM_lavcodec/Makefile.am
+ @${REINPLACE_CMD} "s|-O3|${CFLAGS}|g" ${WRKSRC}/avidemux/ADM_libraries/ADM_lavcodec/Makefile.am
+.endif
+
+post-install:
+.if defined(WITH_GTK) || defined(WITH_QT4)
+ @${MKDIR} "${DATADIR}"
+ ${INSTALL_DATA} "${WRKSRC}/avidemux_icon.png" "${DATADIR}/${PORTNAME}.png"
+ @${ECHO_CMD} "${DATADIR_REL}/${PORTNAME}.png" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec ${RMDIR} %D/${DATADIR_REL} 2>/dev/null || ${TRUE}" >> ${TMPPLIST}
+ @${MKDIR} "${DESKTOPDIR}"
+ @${ECHO_CMD} "@cwd ${DESKTOPDIR}" >> ${TMPPLIST}
+.if defined(WITH_GTK)
+ @${SED} -e "s|%%PREFIX%%|${PREFIX}|g" -e "s|%%DATADIR%%|${DATADIR}|g" \
+ -e "s|%%NAME%%|${PORTNAME}|g" -e "s|%%API%%|gtk|g" \
+ < ${FILESDIR}/avidemux2.desktop.in > ${WRKDIR}/${PORTNAME}.desktop
+ ${INSTALL_DATA} "${WRKDIR}/${PORTNAME}.desktop" "${DESKTOPDIR}"
+ @${ECHO_CMD} "${PORTNAME}.desktop" >> ${TMPPLIST}
+.endif
+.if defined(WITH_QT4)
+ @${SED} -e "s|%%PREFIX%%|${PREFIX}|g" -e "s|%%DATADIR%%|${DATADIR}|g" \
+ -e "s|%%NAME%%|${PORTNAME}|g" -e "s|%%API%%|qt4|g" \
+ < ${FILESDIR}/avidemux2.desktop.in > ${WRKDIR}/${PORTNAME}_qt4.desktop
+ ${INSTALL_DATA} "${WRKDIR}/${PORTNAME}_qt4.desktop" "${DESKTOPDIR}"
+ @${ECHO_CMD} "${PORTNAME}_qt4.desktop" >> ${TMPPLIST}
+.endif
+ @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec ${RMDIR} ${DESKTOPDIR} 2>/dev/null || true" >> ${TMPPLIST}
+ @${ECHO_CMD} "@exec %D/bin/update-desktop-database 2>/dev/null || ${TRUE}" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec %D/bin/update-desktop-database 2>/dev/null || ${TRUE}" >> ${TMPPLIST}
+ -update-desktop-database
.endif
.include <bsd.port.post.mk>
diff --git a/multimedia/avidemux2/distinfo b/multimedia/avidemux2/distinfo
index 2d7252cf55c0..dee27a43827f 100644
--- a/multimedia/avidemux2/distinfo
+++ b/multimedia/avidemux2/distinfo
@@ -1,3 +1,3 @@
-MD5 (avidemux_2.3.0.tar.gz) = 14c58c14fc9757d36e4d72498431da42
-SHA256 (avidemux_2.3.0.tar.gz) = ef083ab24e3ec612b10c8a0163845ff680fea845d5eade21d60d47e843b4c623
-SIZE (avidemux_2.3.0.tar.gz) = 4750919
+MD5 (avidemux_2.4.2.tar.gz) = 6c86fcfa491491b83e1291112fe3a3be
+SHA256 (avidemux_2.4.2.tar.gz) = 747dfb2efc9c1b3d4e60a6f426e5c22476ec7b141a8091cc0f1c5a75b451cfe4
+SIZE (avidemux_2.4.2.tar.gz) = 6683907
diff --git a/multimedia/avidemux2/files/avidemux2.desktop.in b/multimedia/avidemux2/files/avidemux2.desktop.in
new file mode 100644
index 000000000000..d827f766c695
--- /dev/null
+++ b/multimedia/avidemux2/files/avidemux2.desktop.in
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=%%NAME%%-%%API%%
+GenericName[ru]=Видеоредактор
+Comment=Video Editor
+Comment[ru]=Видеоредактор
+Exec=%%PREFIX%%/bin/%%NAME%%_%%API%%
+MimeType=video/mpeg;video/quicktime;video/x-msvideo;video/x-anim;audio/x-mp3;audio/x-mp2;
+Icon=%%DATADIR%%/%%NAME%%.png
+Terminal=false
+Type=Application
+Categories=Application;AudioVideo;AudioVideoEditing;
diff --git a/multimedia/avidemux2/files/execinfo.cpp b/multimedia/avidemux2/files/execinfo.cpp
new file mode 100644
index 000000000000..00304cfdc026
--- /dev/null
+++ b/multimedia/avidemux2/files/execinfo.cpp
@@ -0,0 +1,37 @@
+#include <execinfo.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Obtain a backtrace and print it to stdout. */
+void
+print_trace (void)
+{
+ void *array[10];
+ size_t size;
+ char **strings;
+ size_t i;
+
+ size = backtrace (array, 10);
+ strings = backtrace_symbols (array, size);
+
+ printf ("Obtained %zd stack frames.\n", size);
+
+ for (i = 0; i < size; i++)
+ printf ("%s\n", strings[i]);
+
+ free (strings);
+}
+
+/* A dummy function to make the backtrace more interesting. */
+void
+dummy_function (void)
+{
+ print_trace ();
+}
+
+int
+main (void)
+{
+ dummy_function ();
+ return 0;
+}
diff --git a/multimedia/avidemux2/files/patch-CMakeLists.txt b/multimedia/avidemux2/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..0ef654cda90a
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-CMakeLists.txt
@@ -0,0 +1,27 @@
+--- ./CMakeLists.txt.orig 2007-10-14 13:27:59.000000000 +0200
++++ ./CMakeLists.txt 2008-07-10 17:16:26.000000000 +0200
+@@ -101,11 +101,15 @@
+ if(NOT WIN32)
+ MESSAGE(STATUS "<Checking for X11>")
+ MESSAGE(STATUS "<******************************>")
++ if(NO_X11)
++ message(status "<disabled per request>")
++ else(NO_X11)
+ include(FindX11)
+ if(NOT X11_FOUND)
+ MESSAGE(FATAL_ERROR "Could not find X11")
+ endif(NOT X11_FOUND)
+ MESSAGE(STATUS OK)
++ endif(NO_X11)
+ endif(NOT WIN32)
+ #**************************************************
+ # Search for GLIB through PKG-Config
+@@ -135,7 +139,7 @@
+ IF(NOT GTK_CFLAGS)
+ MESSAGE(STATUS "Could not find GTK - cannot compile avidemux2_gtk here")
+ ELSE(NOT GTK_CFLAGS)
+- SET(GTK_FOUND TRUE)
++ SET(GTK_FOUND "YES")
+ MESSAGE(STATUS OK)
+ ENDIF(NOT GTK_CFLAGS)
+ endif(NO_GTK)
diff --git a/multimedia/avidemux2/files/patch-ConfigureChecks.cmake b/multimedia/avidemux2/files/patch-ConfigureChecks.cmake
new file mode 100644
index 000000000000..c06898aa332f
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-ConfigureChecks.cmake
@@ -0,0 +1,79 @@
+--- ./ConfigureChecks.cmake.orig 2008-07-05 20:24:01.000000000 +0200
++++ ./ConfigureChecks.cmake 2008-07-10 17:16:26.000000000 +0200
+@@ -220,6 +220,43 @@
+ ENDIF (NO_NLS)
+
+ ########################################
++# Execinfo
++########################################
++MESSAGE(STATUS "<Checking execinfo>")
++MESSAGE(STATUS "<******************************>")
++
++FIND_PATH(LIBEXECINFO_H_DIR execinfo.h $ENV{CXXFLAGS})
++MESSAGE(STATUS "libexecinfo Header Path: ${LIBEXECINFO_H_DIR}")
++
++IF (NOT LIBEXECINFO_H_DIR STREQUAL "LIBEXECINFO_H-NOTFOUND")
++ FIND_LIBRARY(LIBEXECINFO_LIB_DIR execinfo $ENV{CXXFLAGS})
++ MESSAGE(STATUS "libexecinfo Library Path: ${LIBEXECINFO_LIB_DIR}")
++
++ # Try linking without -lexecinfo
++ ADM_COMPILE(execinfo.cpp -I${LIBEXECINFO_H_DIR} "" WITHOUT_LIBEXECINFO outputWithoutLibexecinfo)
++
++ IF (WITHOUT_LIBEXECINFO)
++ SET(HAVE_EXECINFO 1)
++ MESSAGE(STATUS "OK, No lib needed (${ADM_EXECINFO_LIB})")
++ ELSE (WITHOUT_LIBEXECINFO)
++ ADM_COMPILE(execinfo.cpp -I${LIBEXECINFO_H_DIR} ${LIBEXECINFO_LIB_DIR} WITH_LIBEXECINFO outputWithLibexecinfo)
++
++ IF (WITH_LIBEXECINFO)
++ SET(HAVE_EXECINFO 1)
++ MESSAGE(STATUS "OK, libexecinfo needed")
++ ELSE (WITH_LIBEXECINFO)
++ MESSAGE(STATUS "Does not work, without ${outputWithoutLibexecinfo}")
++ MESSAGE(STATUS "Does not work, with ${outputWithLibexecinfo}")
++ ENDIF (WITH_LIBEXECINFO)
++ ENDIF (WITHOUT_LIBEXECINFO)
++ ENDIF (NOT LIBEXECINFO_H_DIR STREQUAL "LIBEXECINFO_H-NOTFOUND")
++
++ IF (HAVE_EXECINFO)
++ SET(CMAKE_CLINK_FLAGS "${CFLAGS} -lexecinfo")
++ SET(CMAKE_CXX_LINK_FLAGS "${CXXFLAGS} -lexecinfo")
++ ENDIF(HAVE_EXECINFO)
++
++########################################
+ # Locale
+ ########################################
+ SET(ADM_LOCALE "${CMAKE_INSTALL_PREFIX}/share/locale")
+@@ -362,7 +399,9 @@
+ # JACK
+ ########################################
+ IF (NOT ADM_OS_WINDOWS)
++ SET(CMAKE_REQUIRED_FLAGS "-pthread")
+ ADM_CHECK_HL(Jack jack/jack.h jack jack_client_close USE_JACK)
++ SET(CMAKE_REQUIRED_FLAGS)
+ ENDIF (NOT ADM_OS_WINDOWS)
+
+ ########################################
+@@ -475,7 +514,11 @@
+ IF (USE_LATE_BINDING)
+ CHECK_INCLUDE_FILES(dts.h USE_LIBDCA)
+ ELSE (USE_LATE_BINDING)
+- ADM_CHECK_HL(libdca dts.h dts dts_init USE_LIBDCA)
++ IF (ADM_BSD_FAMILY)
++ ADM_CHECK_HL(libdca dts.h dts dca_init USE_LIBDCA)
++ ELSE (ADM_BSD_FAMILY)
++ ADM_CHECK_HL(libdca dts.h dts dts_init USE_LIBDCA)
++ ENDIF (ADM_BSD_FAMILY)
+ ENDIF (USE_LATE_BINDING)
+
+ SET(CMAKE_REQUIRED_LIBRARIES)
+@@ -489,7 +532,8 @@
+ IF (ADM_OS_WINDOWS)
+ SET(CMAKE_REQUIRED_LIBRARIES "-lm -lpthreadGC2")
+ ELSE (ADM_OS_WINDOWS)
+- SET(CMAKE_REQUIRED_LIBRARIES "-lm -lpthread")
++ SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -pthread")
++ SET(CMAKE_REQUIRED_LIBRARIES "-lm")
+ ENDIF (ADM_OS_WINDOWS)
+
+ ADM_CHECK_HL(x264 x264.h x264 x264_encoder_open USE_X264)
diff --git a/multimedia/avidemux2/files/patch-avidemux_ADM_lavformat_ADM_lavformat.cpp b/multimedia/avidemux2/files/patch-avidemux_ADM_lavformat_ADM_lavformat.cpp
deleted file mode 100644
index 52fdd95b59db..000000000000
--- a/multimedia/avidemux2/files/patch-avidemux_ADM_lavformat_ADM_lavformat.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
---- avidemux/ADM_lavformat/ADM_lavformat.cpp.orig Mon May 28 10:32:13 2007
-+++ avidemux/ADM_lavformat/ADM_lavformat.cpp Mon May 28 10:33:09 2007
-@@ -260,10 +260,12 @@
- switch(_fps1000)
- {
- case 25000:
-+ {
- c->time_base= (AVRational){1001,25025};
- //c->frame_rate = 25025;
- //c->frame_rate_base = 1001;
- break;
-+ }
- case 23976:
- /*
- c->frame_rate = 24000;
-@@ -276,10 +278,12 @@
- break;
- }
- case 29970:
-+ {
- c->time_base= (AVRational){1001,30000};
- //c->frame_rate = 30000;
- //c->frame_rate_base = 1001;
- break;
-+ }
- default:
- if(_type==MUXER_MP4 || _type==MUXER_PSP)
- {
diff --git a/multimedia/avidemux2/files/patch-avidemux__ADM_encoder__adm_encx264.cpp b/multimedia/avidemux2/files/patch-avidemux__ADM_encoder__adm_encx264.cpp
new file mode 100644
index 000000000000..e1503c26826b
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-avidemux__ADM_encoder__adm_encx264.cpp
@@ -0,0 +1,10 @@
+--- ./avidemux/ADM_encoder/adm_encx264.cpp.orig 2008-06-30 20:30:09.000000000 +0200
++++ ./avidemux/ADM_encoder/adm_encx264.cpp 2008-07-10 17:27:51.000000000 +0200
+@@ -271,6 +271,7 @@
+ {
+ uint32_t bitrate;
+
++ _delayed = 0;
+ ADM_assert (_state == enc_Pass1);
+ printf ("\n[x264] Starting pass 2 (%d x %d)\n", _w, _h);
+
diff --git a/multimedia/avidemux2/files/patch-avidemux__ADM_libraries__ADM_lavformat__ADM_lavformat.cpp b/multimedia/avidemux2/files/patch-avidemux__ADM_libraries__ADM_lavformat__ADM_lavformat.cpp
new file mode 100644
index 000000000000..0113c2d36f6d
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-avidemux__ADM_libraries__ADM_lavformat__ADM_lavformat.cpp
@@ -0,0 +1,14 @@
+--- ./avidemux/ADM_libraries/ADM_lavformat/ADM_lavformat.cpp.orig 2008-07-05 15:51:54.000000000 +0200
++++ ./avidemux/ADM_libraries/ADM_lavformat/ADM_lavformat.cpp 2008-07-10 17:16:26.000000000 +0200
+@@ -365,8 +365,10 @@
+ break;
+ }
+ case 29970:
+- c->time_base=fps30;
++ {
++ c->time_base=fps30;
+ break;
++ }
+ default:
+ {
+ if(_type==MUXER_MP4 || _type==MUXER_PSP || _type==MUXER_FLV || _type==MUXER_MATROSKA)
diff --git a/multimedia/avidemux2/files/patch-avidemux__ADM_userInterfaces__ADM_QT4__ui_support.cpp b/multimedia/avidemux2/files/patch-avidemux__ADM_userInterfaces__ADM_QT4__ui_support.cpp
new file mode 100644
index 000000000000..1c3bab764c1b
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-avidemux__ADM_userInterfaces__ADM_QT4__ui_support.cpp
@@ -0,0 +1,15 @@
+--- ./avidemux/ADM_userInterfaces/ADM_QT4/ui_support.cpp.orig 2008-03-28 20:02:18.000000000 +0100
++++ ./avidemux/ADM_userInterfaces/ADM_QT4/ui_support.cpp 2008-07-10 17:16:26.000000000 +0200
+@@ -38,10 +38,8 @@
+ {
+ printf("\n[Locale] Locale: %s\n", QLocale::system().name().toUtf8().constData());
+
+- QString appdir = QCoreApplication::applicationDirPath() + "/i18n/";
+-
+- loadTranslation(&qtTranslator, appdir + "qt_" + QLocale::system().name());
+- loadTranslation(&avidemuxTranslator, appdir + "avidemux_" + QLocale::system().name());
++ loadTranslation(&qtTranslator, "%%DATADIR%%/qt_" + QLocale::system().name());
++ loadTranslation(&avidemuxTranslator, "%%DATADIR%%/avidemux_" + QLocale::system().name());
+
+ printf("[Locale] Test: &Edit -> %s\n\n", HIDE_STRING_FROM_QT("MainWindow", "&Edit").toUtf8().data());
+ }
diff --git a/multimedia/avidemux2/files/patch-cmake__Ts.cmake b/multimedia/avidemux2/files/patch-cmake__Ts.cmake
new file mode 100644
index 000000000000..5fb446e759cf
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-cmake__Ts.cmake
@@ -0,0 +1,29 @@
+--- ./cmake/Ts.cmake.orig 2007-10-14 13:58:28.000000000 +0200
++++ ./cmake/Ts.cmake 2008-07-10 17:16:26.000000000 +0200
+@@ -14,7 +14,7 @@
+
+ MACRO(FIND_LRELEASE)
+ IF(NOT LRELEASE_EXECUTABLE AND NOT LRELEASE_NOT_FOUND)
+- FIND_PROGRAM(LRELEASE_EXECUTABLE lrelease PATHS
++ FIND_PROGRAM(LRELEASE_EXECUTABLE lrelease lrelease-qt4 PATHS
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
+ $ENV{QTDIR}/bin)
+@@ -63,7 +63,7 @@
+
+ SET(qm_files ${qm_files} ${_outXml} ${_out})
+
+- INSTALL(FILES ${_out} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin/i18n")
++ INSTALL(FILES ${_out} DESTINATION "/var/tmp/avidemux2/share/avidemux2")
+ ENDFOREACH(ts_input ${ts_files})
+
+ SET(${_sources} ${${_sources}} ${qm_files})
+@@ -94,7 +94,7 @@
+
+ SET(qm_files ${qm_files} ${_out})
+
+- INSTALL(FILES ${_out} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin/i18n")
++ INSTALL(FILES ${_out} DESTINATION "/var/tmp/avidemux2/share/avidemux2")
+ ENDFOREACH(ts_input ${ts_files})
+
+ SET(${_sources} ${${_sources}} ${qm_files})
diff --git a/multimedia/avidemux2/files/patch-cmake__conf_summary.cmake b/multimedia/avidemux2/files/patch-cmake__conf_summary.cmake
new file mode 100644
index 000000000000..af45c6b94a58
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-cmake__conf_summary.cmake
@@ -0,0 +1,27 @@
+--- ./cmake/conf_summary.cmake.orig 2008-06-28 10:20:38.000000000 +0200
++++ ./cmake/conf_summary.cmake 2008-07-10 17:16:26.000000000 +0200
+@@ -1,10 +1,10 @@
+ MACRO(ADM_DISPLAY _name _val)
+ #MESSAGE("${_val}")
+-if(${_val} EQUAL 1)
++if(${_val} EQUAL 1 OR ${_val} STREQUAL "YES")
+ set(s "Yes")
+-else(${_val} EQUAL 1)
++else(${_val} EQUAL 1 OR ${_val} STREQUAL "YES")
+ set(s "No")
+-endif(${_val} EQUAL 1)
++endif(${_val} EQUAL 1 OR ${_val} STREQUAL "YES")
+ MESSAGE("${_name} ${s}")
+ ENDMACRO(ADM_DISPLAY _name _val)
+
+@@ -13,8 +13,8 @@
+ MESSAGE("*******************")
+ MESSAGE("** Summary **")
+ MESSAGE("*******************")
+-MESSAGE("Gtk ${GTK_FOUND}")
+-MESSAGE("Qt4 ${QT4_FOUND}")
++ADM_DISPLAY("Gtk " GTK_FOUND)
++ADM_DISPLAY("Qt4 " QT4_FOUND)
+ MESSAGE("*** Video Codec ***")
+ ADM_DISPLAY("X264 " USE_X264)
+ ADM_DISPLAY("Xvid4 " USE_XVID_4)
diff --git a/multimedia/avidemux2/files/patch-po__CMakeLists.txt b/multimedia/avidemux2/files/patch-po__CMakeLists.txt
new file mode 100644
index 000000000000..3c60245e2f34
--- /dev/null
+++ b/multimedia/avidemux2/files/patch-po__CMakeLists.txt
@@ -0,0 +1,15 @@
+--- ./po/CMakeLists.txt.orig 2007-10-08 15:57:48.000000000 +0200
++++ ./po/CMakeLists.txt 2008-07-11 02:23:10.000000000 +0200
+@@ -1,3 +1,4 @@
++IF (NOT DEFINED NO_NLS)
+ IF (HAVE_GETTEXT)
+ INCLUDE(Po)
+ COMPILE_PO_FILES(${CMAKE_SOURCE_DIR}/po MO_FILES)
+@@ -10,4 +11,5 @@
+ COMPILE_TS_FILES(${CMAKE_SOURCE_DIR}/po QM_FILES)
+
+ ADD_CUSTOM_TARGET(qmfiles ALL DEPENDS ${QM_FILES})
+-ENDIF (QT4_FOUND)
+\ No newline at end of file
++ENDIF (QT4_FOUND)
++ENDIF (NOT DEFINED NO_NLS)
diff --git a/multimedia/avidemux2/pkg-descr b/multimedia/avidemux2/pkg-descr
index 7f4f45e8e888..8f87c685bedd 100644
--- a/multimedia/avidemux2/pkg-descr
+++ b/multimedia/avidemux2/pkg-descr
@@ -1,7 +1,7 @@
-A video editor that allows editing of AVI, OGM, and MPEG videos. The MPEG
-support provides the ability to convert to DVD compliat PS streams. It
-contains various filters for deinterlacing, cropping, resizing, etc. Allows
-for cutting without re-encoding. Has the ability to re-encode and re-sample.
+A video editor that allows editing of AVI, OGM, and MPEG videos. The MPEG
+support provides the ability to convert to DVD compliat PS streams. It
+contains various filters for deinterlacing, cropping, resizing, etc. Allows
+for cutting without re-encoding. Has the ability to re-encode and re-sample.
Utilizes ECMAScript (aka. Javascript) to provide batch scripting and
processing support.
diff --git a/multimedia/avidemux2/pkg-plist b/multimedia/avidemux2/pkg-plist
index 71103430d37e..18b18e7dfe23 100644
--- a/multimedia/avidemux2/pkg-plist
+++ b/multimedia/avidemux2/pkg-plist
@@ -1,8 +1,31 @@
-bin/avidemux2
-share/locale/es/LC_MESSAGES/avidemux.mo
-share/locale/fr/LC_MESSAGES/avidemux.mo
-share/locale/ru/LC_MESSAGES/avidemux.mo
-share/locale/cs/LC_MESSAGES/avidemux.mo
-share/locale/klingon/LC_MESSAGES/avidemux.mo
-@dirrmtry share/locale/klingon/LC_MESSAGES
-@dirrmtry share/locale/klingon
+bin/avidemux2_cli
+%%GTK%%bin/avidemux2_gtk
+%%QT4%%bin/avidemux2_qt4
+%%NLS%%share/locale/ca/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/de/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/el/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/es/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/it/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/sr@latin/LC_MESSAGES/avidemux.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/avidemux.mo
+%%QT_NLS%%share/avidemux2/avidemux_ca.qm
+%%QT_NLS%%share/avidemux2/avidemux_cs.qm
+%%QT_NLS%%share/avidemux2/avidemux_de.qm
+%%QT_NLS%%share/avidemux2/avidemux_el.qm
+%%QT_NLS%%share/avidemux2/avidemux_es.qm
+%%QT_NLS%%share/avidemux2/avidemux_fr.qm
+%%QT_NLS%%share/avidemux2/avidemux_it.qm
+%%QT_NLS%%share/avidemux2/avidemux_ja.qm
+%%QT_NLS%%share/avidemux2/avidemux_pt_BR.qm
+%%QT_NLS%%share/avidemux2/avidemux_ru.qm
+%%QT_NLS%%share/avidemux2/avidemux_sr.qm
+%%QT_NLS%%share/avidemux2/avidemux_sr@latin.qm
+%%QT_NLS%%share/avidemux2/avidemux_tr.qm
+%%QT_NLS%%share/avidemux2/qt_fr.qm
+%%QT_NLS%%share/avidemux2/qt_it.qm