[71313] trunk/dports/multimedia/avidemux

raimue at macports.org raimue at macports.org
Wed Sep 8 04:19:00 PDT 2010


Revision: 71313
          http://trac.macports.org/changeset/71313
Author:   raimue at macports.org
Date:     2010-09-08 04:18:59 -0700 (Wed, 08 Sep 2010)
Log Message:
-----------
multimedia/avidemux:
Update to version 2.5.3
Adding lots of patches and new variants; using GTK+ for the GUI as Qt4 frontend
did not build; disabling bundles as they did not work reliable in testing and
caused crashes.

Modified Paths:
--------------
    trunk/dports/multimedia/avidemux/Portfile

Added Paths:
-----------
    trunk/dports/multimedia/avidemux/files/patch-build-plugins.diff
    trunk/dports/multimedia/avidemux/files/patch-cmake-use-sdl.diff
    trunk/dports/multimedia/avidemux/files/patch-ffmpeg-libs-naming.diff
    trunk/dports/multimedia/avidemux/files/patch-mangle-asm.diff
    trunk/dports/multimedia/avidemux/files/patch-no-bundles.diff

Removed Paths:
-------------
    trunk/dports/multimedia/avidemux/files/avidemux-2.4.4-cmake.patch

Modified: trunk/dports/multimedia/avidemux/Portfile
===================================================================
--- trunk/dports/multimedia/avidemux/Portfile	2010-09-08 06:23:27 UTC (rev 71312)
+++ trunk/dports/multimedia/avidemux/Portfile	2010-09-08 11:18:59 UTC (rev 71313)
@@ -1,41 +1,167 @@
 # $Id$
 
 PortSystem          1.0
+PortGroup           cmake 1.0
 
 name                avidemux
-version             2.4.4
+version             2.5.3
 categories          multimedia
 platforms           darwin
 maintainers         nomaintainer
 homepage            http://avidemux.sourceforge.net/
-description         Avidemux is an avi and mpeg editing program.
+description         Avidemux is a free video editor
 
-long_description    Avidemux is an avi and mpeg editing program capable of \
-                    splicing movies together, and chopping movies apart.
+long_description    Avidemux is a free video editor designed for simple cutting, \
+                    filtering and encoding tasks. It supports many file types, \
+                    including AVI, DVD compatible MPEG files, MP4 and ASF, \
+                    using a variety of codecs. Tasks can be automated using \
+                    projects, job queue and powerful scripting capabilities. 
 
 master_sites        sourceforge
 distname            ${name}_${version}
-checksums           md5 503dfd25842ef81be7c769811e7bc54e \
-                    sha1 c50a00caf13a8ea1053e5994edeb59354192e18e \
-                    rmd160 8bb2705b3e2d5379d833ec4fa06a01b897c06e04 
+checksums           md5     5a688029895b66b65ca86b7c85a03ee3 \
+                    sha1    073e20007ba5097790cf84cf94b6002c54953395 \
+                    rmd160  680963060cdb959d1791a4c0d481eed0e426214d
 
-depends_lib         port:gtk2 \
-                    port:libmad \
-                    port:libvorbis \
-                    port:libxml2
+depends_build-append \
+                    port:cmake \
+                    port:pkgconfig \
+                    port:yasm
 
-depends_build       port:cmake
+depends_lib-append  port:gtk2 \
+                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
+                    port:spidermonkey \
+                    port:libxml2 \
+                    port:zlib \
+                    port:fontconfig \
+                    port:freetype
 
-patch.pre_args      -p1
-patchfiles          avidemux-2.4.4-cmake.patch
+patchfiles          patch-mangle-asm.diff \
+                    patch-cmake-use-sdl.diff \
+                    patch-build-plugins.diff \
+                    patch-ffmpeg-libs-naming.diff \
+                    patch-no-bundles.diff
 
-configure.cmd       cmake
-configure.pre_args  -DCMAKE_INSTALL_PREFIX=${prefix} \
-                    -DCMAKE_C_FLAGS=\"${configure.cflags}\" \
-                    -DCMAKE_CXX_FLAGS=\"${configure.cxxflags}\" \
-                    -DCMAKE_INCLUDE_PATH=${prefix}/include \
-                    -DCMAKE_LIBRARY_PATH=${prefix}/lib
+# do a out of place build
+pre-configure {
+    file mkdir ${workpath}/build
+}
+configure.dir       ${workpath}/build
+configure.post_args ${worksrcpath}
+build.dir           ${workpath}/build
+destroot.dir        ${workpath}/build
 
+configure.args-append \
+                    -DMAC_BUNDLE_DIR=${applications_dir} \
+                    -DGTK=ON \
+                    -DQT4=OFF \
+                    -DFONTCONFIG=ON \
+                    -DGETTEXT=ON \
+                    -DUSE_SYSTEM_SPIDERMONKEY=ON \
+                    -DSPIDERMONKEY_INCLUDE_DIR=${prefix}/include/js \
+                    -DSPIDERMONKEY_LIBRARY_DIR=${prefix}/lib/libjs.dylib \
+
+# SDL uses Quickdraw API, fails on 64-bit
+# Xvideo is disabled for OS X, but probably could work
+# FIXME: No hardware acceleration at the moment
+configure.args-append \
+                    -DSDL=OFF \
+                    -DXVIDEO=OFF \
+
+# Drivers and codecs
+configure.args-append \
+                    -DALSA=OFF \
+                    -DARTS=OFF \
+                    -DESD=OFF \
+                    -DJACK=OFF \
+                    -DOSS=OFF \
+                    -DPULSEAUDIOSIMPLE=OFF \
+                    -DAFTEN=OFF \
+                    -DLAME=OFF \
+                    -DFAAC=OFF \
+                    -DVORBIS=OFF \
+                    -DFAAD=OFF \
+                    -DLIBVORBIS=OFF \
+                    -DXVID=OFF \
+                    -DX264=OFF
+
+# configure plugins
+configure.args-append \
+                    -DAVIDEMUX_SOURCE_DIR=${worksrcpath} \
+                    -DAVIDEMUX_INSTALL_PREFIX=${workpath}/build/ \
+                    -DAVIDEMUX_CORECONFIG_DIR=${workpath}/build/config/
+
+# build plugins
+post-build {
+    build.dir               ${workpath}/build/plugins
+    command_exec build
+}
+
+# destroot plugins
+post-destroot {
+    destroot.dir            ${workpath}/build/plugins
+    command_exec destroot
+}
+
+# binaries will be referencing unversioned .dylibs, so add symlinks
+post-destroot {
+    fs-traverse -tails f ${destroot}${prefix}/lib {
+        if [regexp {^(.*)\.\d+\.dylib$} $f -> fbase] {
+            ln -s $f ${destroot}${prefix}/lib/${fbase}.dylib
+        }
+    }
+}
+
+# FIXME: Add variant for qt4 frontend (does not compile yet)
+
+# Additional audio output drivers
+
+variant esd description {Enable ESounD audio output} {
+    depends_lib-append port:esound
+    configure.args-replace s/-DESD=OFF/-DESD=ON/
+}
+
+variant jack description {Enable JACK audio output} {
+    depends_lib-append port:jack
+    configure.args-replace s/-DJACK=OFF/-DJACK=ON/
+}
+
+# Support for additional audio and video libraries
+# XXX: additional support for aften exists, but no such port yet
+
+variant aac description {Enable AAC en-/decoding} {
+    depends_lib-append port:faac port:faad2
+    configure.args-replace s/-DFAAC=OFF/-DFAAC=ON/
+    configure.args-replace s/-DFAAD=OFF/-DFAAD=ON/
+}
+
+variant dts description {Enable DTS decoding} {
+    depends_lib-append port:libdca
+    configure.args-replace s/-DLIBDCA=OFF/-DLIBDCA=ON/
+}
+
+variant lame description {Enable MP3 encoding} {
+    depends_lib-append port:lame
+    configure.args-replace s/-DLAME=OFF/-DLAME=ON/
+}
+
+variant ogg description {Enable Ogg Vorbis en-/decoding} {
+    depends_lib-append port:libvorbis
+    configure.args-replace s/-DVORBIS=OFF/-DVORBIS=ON/
+    configure.args-replace s/-DLIBVORBIS=OFF/-DLIBVORBIS=ON/
+}
+
+variant x264 description {Enable H.264 encoding} {
+    depends_lib-append port:x264
+    configure.args-replace s/-DX264=OFF/-DX264=ON/
+}
+
+variant xvid description {Enable XviD encoding} {
+    depends_lib-append port:XviD
+    configure.args-append -DXVID=ON
+    configure.args-replace s/-DXVID=OFF/-DXVID=ON/
+}
+
 livecheck.type      regex
 livecheck.url       ${homepage}download.html
 livecheck.regex     ${name}_(\[0-9.\]+)\\.tar

Deleted: trunk/dports/multimedia/avidemux/files/avidemux-2.4.4-cmake.patch
===================================================================
--- trunk/dports/multimedia/avidemux/files/avidemux-2.4.4-cmake.patch	2010-09-08 06:23:27 UTC (rev 71312)
+++ trunk/dports/multimedia/avidemux/files/avidemux-2.4.4-cmake.patch	2010-09-08 11:18:59 UTC (rev 71313)
@@ -1,36 +0,0 @@
-diff -uNr avidemux_2.4.4.orig/avidemux/CMakeLists.txt avidemux_2.4.4/avidemux/CMakeLists.txt
---- avidemux_2.4.4.orig/avidemux/CMakeLists.txt	2009-05-06 13:00:10.000000000 +0200
-+++ avidemux_2.4.4/avidemux/CMakeLists.txt	2009-05-06 13:00:49.000000000 +0200
-@@ -84,7 +84,6 @@
- ADM_audio
- ADM_script 
- ADM_videoFilter
--ADM_filter
- ADM_video 
- ADM_audiodevice
- ADM_ocr  
-@@ -93,6 +92,24 @@
- 
- FOREACH(_current ${ADM_SUBDIR})
- 	ADD_SUBDIRECTORY(${_current})
-+ENDFOREACH(_current ${ADM_SUBDIR})
-+
-+SET(ADM_SUBDIR 
-+ADM_filter
-+ADM_audiofilter 
-+ADM_editor
-+ADM_audiocodec 
-+ADM_audio
-+ADM_script 
-+ADM_videoFilter
-+ADM_filter
-+ADM_video 
-+ADM_audiodevice
-+ADM_ocr  
-+ADM_colorspace 
-+)
-+
-+FOREACH(_current ${ADM_SUBDIR})
- 	add_libs_all_targets(${_current})
- ENDFOREACH(_current ${ADM_SUBDIR})
- 

Added: trunk/dports/multimedia/avidemux/files/patch-build-plugins.diff
===================================================================
--- trunk/dports/multimedia/avidemux/files/patch-build-plugins.diff	                        (rev 0)
+++ trunk/dports/multimedia/avidemux/files/patch-build-plugins.diff	2010-09-08 11:18:59 UTC (rev 71313)
@@ -0,0 +1,11 @@
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -191,7 +191,7 @@
+ ADD_SUBDIRECTORY(avidemux)
+ ADD_SUBDIRECTORY(po)
+ ADD_SUBDIRECTORY(scripts)
+-# MEANX : DOES NOT WORK ADD_SUBDIRECTORY(plugins EXCLUDE_FROM_ALL)
++ADD_SUBDIRECTORY(plugins EXCLUDE_FROM_ALL)
+ 
+ ########################################
+ # Config Summary

Added: trunk/dports/multimedia/avidemux/files/patch-cmake-use-sdl.diff
===================================================================
--- trunk/dports/multimedia/avidemux/files/patch-cmake-use-sdl.diff	                        (rev 0)
+++ trunk/dports/multimedia/avidemux/files/patch-cmake-use-sdl.diff	2010-09-08 11:18:59 UTC (rev 71313)
@@ -0,0 +1,14 @@
+--- avidemux/ADM_userInterfaces/ADM_render/CMakeLists.txt.orig	2010-09-07 13:14:57.000000000 +0200
++++ avidemux/ADM_userInterfaces/ADM_render/CMakeLists.txt	2010-09-07 13:15:21.000000000 +0200
+@@ -6,9 +6,9 @@
+ GUI_xvRender.cpp
+ )
+ 
+-IF (APPLE)
++IF (APPLE AND USE_SDL)
+ 	SET(${ADM_LIB}_SRCS ${${ADM_LIB}_SRCS} GUI_sdlRenderHelper.m)
+-ENDIF (APPLE)
++ENDIF (APPLE AND USE_SDL)
+ 
+ ADD_ADM_SHARED_LIB_ALL_TARGETS(${ADM_LIB} ${${ADM_LIB}_SRCS})
+ SDLify(GUI_sdlRender.cpp)

Added: trunk/dports/multimedia/avidemux/files/patch-ffmpeg-libs-naming.diff
===================================================================
--- trunk/dports/multimedia/avidemux/files/patch-ffmpeg-libs-naming.diff	                        (rev 0)
+++ trunk/dports/multimedia/avidemux/files/patch-ffmpeg-libs-naming.diff	2010-09-08 11:18:59 UTC (rev 71313)
@@ -0,0 +1,84 @@
+--- cmake/admFFmpegUtil.cmake.orig	2010-09-08 07:09:59.000000000 +0200
++++ cmake/admFFmpegUtil.cmake	2010-09-08 07:10:38.000000000 +0200
+@@ -11,9 +11,9 @@
+ 	getFfmpegVersionFromHeader("libpostproc" "${sourceDir}/libpostproc/postprocess.h" LIBPOSTPROC_VERSION_MAJOR LIBPOSTPROC_VERSION)
+ 	getFfmpegVersionFromHeader("libswscale" "${sourceDir}/libswscale/swscale.h" LIBSWSCALE_VERSION_MAJOR LIBSWSCALE_VERSION)
+ 
+-	if (UNIX AND NOT APPLE)
++	if (UNIX)
+ 		set(LIBAVCODEC_ADM ADM5)
+-	endif (UNIX AND NOT APPLE)
++	endif (UNIX)
+ 
+ 	if (APPLE)
+ 		set(LIBAVCODEC_LIB lib${LIBAVCODEC_ADM}avcodec.${LIBAVCODEC_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX})
+--- cmake/admFFmpegBuild.cmake.orig	2010-09-08 07:08:21.000000000 +0200
++++ cmake/admFFmpegBuild.cmake	2010-09-08 07:09:09.000000000 +0200
+@@ -38,9 +38,9 @@
+ 		patch_file("${FFMPEG_SOURCE_DIR}" "${patchFile}")
+ 	endforeach(patchFile)
+ 
+-	if (UNIX AND NOT APPLE)
++	if (UNIX)
+ 		patch_file("${FFMPEG_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/cmake/patches/common.mak.diff")
+-	endif (UNIX AND NOT APPLE)
++	endif (UNIX)
+ 
+ 	message("")
+ endif (FFMPEG_PERFORM_PATCH)
+@@ -145,10 +145,10 @@
+ 	execute_process(COMMAND ${CMAKE_COMMAND} -E copy "./libavutil/avconfig.h" "${CMAKE_BINARY_DIR}/config/libavutil"
+ 					WORKING_DIRECTORY "${FFMPEG_BINARY_DIR}")
+ 
+-	if (UNIX AND NOT APPLE)
++	if (UNIX)
+ 		find_patch()
+ 		patch_file("${FFMPEG_BINARY_DIR}" "${CMAKE_SOURCE_DIR}/cmake/patches/config.mak.diff")
+-	endif (UNIX AND NOT APPLE)
++	endif (UNIX)
+ 
+ 	message("")
+ endif (FFMPEG_PERFORM_BUILD)
+--- avidemux/CMakeLists.txt.orig	2010-09-08 08:16:50.000000000 +0200
++++ avidemux/CMakeLists.txt	2010-09-08 08:19:55.000000000 +0200
+@@ -483,12 +483,12 @@
+              ADD_CUSTOM_COMMAND(TARGET ${t}
+                       POST_BUILD
+                       COMMAND mkdir -p ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}
+-                      COMMAND find ${CMAKE_BINARY_DIR}/avidemux -name '*.so*' | xargs ln -sft ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}
++                      COMMAND find ${CMAKE_BINARY_DIR}/avidemux -name '*.so*' -o -name '*.dylib' | xargs -I{} ln -sf {} ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}
+                       WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+                       COMMENT "Creating temporary lib directory for proper plugins linking")
+        ENDFOREACH (t )
+ ENDMACRO (ADM_SYMLINK_LIBS)
+-IF (UNIX AND NOT APPLE)
++IF (UNIX)
+    # Some plugins link to ADM_coreImage (e.g., ADM_vf_addborders) and thus need the symlink in ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}
+    ADM_SYMLINK_LIBS(ffmpeg ADM_coreImage)
+-ENDIF(UNIX AND NOT APPLE)
++ENDIF(UNIX)
+--- cmake/patches/config.mak.diff.orig	2010-09-08 10:07:32.000000000 +0200
++++ cmake/patches/config.mak.diff	2010-09-08 10:06:57.000000000 +0200
+@@ -1,11 +1,15 @@
+---- config.mak.old	2009-05-01 19:26:13.808782802 +0200
+-+++ config.mak	2009-05-01 18:10:25.000085291 +0200
+-@@ -60,7 +60,7 @@
+- BUILD_SHARED=yes
+- PIC=-fPIC -DPIC
++--- config.mak.orig	2010-09-08 09:50:37.000000000 +0200
+++++ config.mak	2010-09-08 10:05:45.000000000 +0200
++@@ -59,9 +59,9 @@
++ EXTRALIBS=  -lz -lbz2 -lm
++ INSTALL=install
+  LIBTARGET=
+ -SLIBNAME=$(SLIBPREF)$(FULLNAME)$(SLIBSUF)
++-SLIBNAME_WITH_VERSION=$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)
++-SLIBNAME_WITH_MAJOR=$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)
+ +SLIBNAME=$(SLIBPREF)ADM5$(FULLNAME)$(SLIBSUF)
+- SLIBNAME_WITH_VERSION=$(SLIBNAME).$(LIBVERSION)
+- SLIBNAME_WITH_MAJOR=$(SLIBNAME).$(LIBMAJOR)
+++SLIBNAME_WITH_VERSION=$(SLIBPREF)ADM5$(FULLNAME).$(LIBVERSION)$(SLIBSUF)
+++SLIBNAME_WITH_MAJOR=$(SLIBPREF)ADM5$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)
+  SLIB_CREATE_DEF_CMD=
++ SLIB_EXTRA_CMD=
++ SLIB_INSTALL_EXTRA_CMD=

Added: trunk/dports/multimedia/avidemux/files/patch-mangle-asm.diff
===================================================================
--- trunk/dports/multimedia/avidemux/files/patch-mangle-asm.diff	                        (rev 0)
+++ trunk/dports/multimedia/avidemux/files/patch-mangle-asm.diff	2010-09-08 11:18:59 UTC (rev 71313)
@@ -0,0 +1,11 @@
+--- avidemux/ADM_core/include/ADM_mangle.h.orig	2009-02-23 19:40:36.000000000 +0100
++++ avidemux/ADM_core/include/ADM_mangle.h	2010-09-08 04:35:53.000000000 +0200
+@@ -18,7 +18,7 @@
+ // Use rip-relative addressing if compiling PIC code on x86-64.
+ #if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__DJGPP__) || \
+     defined(__OS2__) || (defined (__OpenBSD__) && !defined(__ELF__)) || \
+-	defined(__APPLE__)
++        (defined(__APPLE__) && defined(ADM_CPU_X86_32))
+ #    if defined(ADM_CPU_X86_64) && defined(PIC) && !defined(__MINGW32__)
+ #        define MANGLE(a) "_" #a"(%%rip)"
+ #        define FUNNY_MANGLE(x) x asm(MANGLE(x))

Added: trunk/dports/multimedia/avidemux/files/patch-no-bundles.diff
===================================================================
--- trunk/dports/multimedia/avidemux/files/patch-no-bundles.diff	                        (rev 0)
+++ trunk/dports/multimedia/avidemux/files/patch-no-bundles.diff	2010-09-08 11:18:59 UTC (rev 71313)
@@ -0,0 +1,24 @@
+--- avidemux/CMakeLists.txt.orig	2010-09-08 12:45:53.000000000 +0200
++++ avidemux/CMakeLists.txt	2010-09-08 12:47:33.000000000 +0200
+@@ -152,18 +152,18 @@
+ ########################################
+ SET(ADM_EXE_SRCS ${ADM_EXE_SRCS} ADM_preview.cpp  gtk_gui.cpp  GUI_jobs.cpp  gui_navigate.cpp  guiplay.cpp  gui_savenew.cpp  main.cpp  gui_action.cpp)
+ 
+-ADD_EXECUTABLE(avidemux2_cli MACOSX_BUNDLE ${ADM_EXE_SRCS} ${MO_FILES} ${WIN_RES_GTK})
++ADD_EXECUTABLE(avidemux2_cli ${ADM_EXE_SRCS} ${MO_FILES} ${WIN_RES_GTK})
+ ADD_TARGET_CFLAGS(avidemux2_cli "-I${CMAKE_BINARY_DIR}/config/cli")
+ ADD_DEPENDENCIES(avidemux2_cli mofiles  ffmpeg)
+ 
+ IF (ADM_UI_GTK)
+-	ADD_EXECUTABLE(avidemux2_gtk MACOSX_BUNDLE ${ADM_EXE_SRCS} ${MO_FILES} ${WIN_RES_GTK})
++	ADD_EXECUTABLE(avidemux2_gtk ${ADM_EXE_SRCS} ${MO_FILES} ${WIN_RES_GTK})
+ 	ADD_TARGET_CFLAGS(avidemux2_gtk "-I${CMAKE_BINARY_DIR}/config/gtk")
+ 	ADD_DEPENDENCIES(avidemux2_gtk mofiles  ffmpeg)
+ ENDIF (ADM_UI_GTK)
+ 
+ IF (ADM_UI_QT4)
+-	ADD_EXECUTABLE(avidemux2_qt4 MACOSX_BUNDLE ${ADM_EXE_SRCS} ${QM_FILES} ${WIN_RES_QT})
++	ADD_EXECUTABLE(avidemux2_qt4 ${ADM_EXE_SRCS} ${QM_FILES} ${WIN_RES_QT})
+ 	
+ 	IF (WIN32 OR APPLE)
+ 		set_property(TARGET avidemux2_qt4 PROPERTY OUTPUT_NAME avidemux2)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100908/122df9dc/attachment-0001.html>


More information about the macports-changes mailing list