From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Mar 12 09:10:03 2008 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92C491065672 for ; Wed, 12 Mar 2008 09:10:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 655C28FC2E for ; Wed, 12 Mar 2008 09:10:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m2C9A3DX029562 for ; Wed, 12 Mar 2008 09:10:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m2C9A3at029561; Wed, 12 Mar 2008 09:10:03 GMT (envelope-from gnats) Resent-Date: Wed, 12 Mar 2008 09:10:03 GMT Resent-Message-Id: <200803120910.m2C9A3at029561@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Martin Matuska Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5A531065675 for ; Wed, 12 Mar 2008 09:02:17 +0000 (UTC) (envelope-from mm@mail.vx.sk) Received: from mail.vx.sk (neo.vx.sk [213.239.219.9]) by mx1.freebsd.org (Postfix) with ESMTP id 042D58FC22 for ; Wed, 12 Mar 2008 09:02:13 +0000 (UTC) (envelope-from mm@mail.vx.sk) Received: from localhost (localhost [127.0.0.1]) by mail.vx.sk (Postfix) with ESMTP id CB67311465 for ; Wed, 12 Mar 2008 10:02:12 +0100 (CET) Received: from mail.vx.sk ([127.0.0.1]) by localhost (mail.vx.sk [127.0.0.1]) (amavisd-new, port 10024) with LMTP id nqmbF74O5z07 for ; Wed, 12 Mar 2008 10:02:06 +0100 (CET) Received: by mail.vx.sk (Postfix, from userid 1001) id 6A2BA11447; Wed, 12 Mar 2008 10:02:06 +0100 (CET) Message-Id: <20080312090206.6A2BA11447@mail.vx.sk> Date: Wed, 12 Mar 2008 10:02:06 +0100 (CET) From: Martin Matuska To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/121636: [PATCH] multimedia/ffmpeg add OPTIONS and improvements X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Martin Matuska List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Mar 2008 09:10:03 -0000 >Number: 121636 >Category: ports >Synopsis: [PATCH] multimedia/ffmpeg add OPTIONS and improvements >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed Mar 12 09:10:03 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Martin Matuska >Release: FreeBSD 7.0-RELEASE i386 and amd64 >Organization: >Environment: System: FreeBSD 7.0-RELEASE i386 and amd64 >Description: - move knobs into OPTIONS, make (almost) everything selectable - add option VHOOK to disable video hooks - patch configure to support enable/disable of freetype2 and imlib2 vhooks - fix imlib2 detection if no ${X11BASE}/include/X11/Xlib.h present Tested on tinderbox (i386 and amd64). >How-To-Repeat: >Fix: Index: ports/multimedia/ffmpeg/Makefile =================================================================== RCS file: /home/pcvs/ports/multimedia/ffmpeg/Makefile,v retrieving revision 1.77 diff -u -r1.77 Makefile --- ports/multimedia/ffmpeg/Makefile 11 Mar 2008 21:13:38 -0000 1.77 +++ ports/multimedia/ffmpeg/Makefile 12 Mar 2008 08:51:13 -0000 @@ -7,7 +7,7 @@ PORTNAME= ffmpeg DISTVERSION= 2007-10-04 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= multimedia audio ipv6 net MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= ahze @@ -21,6 +21,26 @@ USE_GMAKE= yes WANT_SDL= yes +OPTIONS= AMR_NB "AMR narrowband encoder" off \ + AMR_WB "AMR wideband encoder" off \ + FAAC "FAAC mp4/aac audio encoder" off \ + FAAD "FAAD mp4/aac audio decoder" on \ + GSM "gsm audio codec" off \ + IPV6 "IPV6 network support" on \ + LAME "lame MP3 codec" off \ + LIBA52 "liba52 support" on \ + OGG "OGG codec" on \ + OPTIMIZED_CFLAGS "Additional optimizations" off \ + SDL "SDL support (build ffplay)" off \ + SWSCALER "Software scaler support" off \ + THEORA "libtheora support (implies OGG)" on \ + VHOOK "video hooking" on \ + VHOOK_FREETYPE2 "drawtext support (implies VHOOK)" off \ + VHOOK_IMLIB2 "imlib2 support (implies VHOOK)" off \ + VORBIS "libvorbisenc support (implies OGG)" on \ + X264 "X.264 codec" on \ + XVID "XVID codec" off + .include CONFIGURE_ARGS+=--cc="${CC}" --prefix="${PREFIX}" \ @@ -86,29 +106,38 @@ #CONFIGURE_ARGS+= --enable-libdts #.endif ## faac -.ifdef(WITH_FAAC) || exists(${LOCALBASE}/lib/libfaac.so) -LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac +.ifdef(WITH_FAAC) +LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac CONFIGURE_ARGS+= --enable-libfaac +.else +CONFIGURE_ARGS+= --disable-libfaac .endif + ## faad -.ifndef(WITHOUT_FAAD) || exists(${LOCALBASE}/lib/libfaad.so) +.ifndef(WITHOUT_FAAD) LIB_DEPENDS+= faad.0:${PORTSDIR}/audio/faad - CONFIGURE_ARGS+= --enable-libfaad \ --enable-libfaadbin +.else +CONFIGURE_ARGS+= --disable-libfaad .endif + ## amr -.ifdef(WITH_AMR_NB) || exists($LOCALBASE}/lib/libamrnb.so) +.ifdef(WITH_AMR_NB) LIB_DEPENDS+= amrnb.3:${PORTSDIR}/audio/libamrnb - CONFIGURE_ARGS+= --enable-libamr-nb +.else +CONFIGURE_ARGS+= --disable-libamr-nb .endif -.ifdef(WITH_AMR_WB) || exists($LOCALBASE}/lib/libamrwb.so) -LIB_DEPENDS+= amrwb.3:${PORTSDIR}/audio/libamrwb +.ifdef(WITH_AMR_WB) +LIB_DEPENDS+= amrwb.3:${PORTSDIR}/audio/libamrwb CONFIGURE_ARGS+= --enable-libamr-wb +.else +CONFIGURE_ARGS+= --disable-libamr-wb .endif + USE_RC_SUBR= ffserver .if ${MACHINE_CPU:Mmmx}=="" @@ -117,28 +146,32 @@ WITHOUT_BUILTIN_VECTOR= yes .endif ## gsm -.ifdef(WITH_GSM) || exists(${LOCALBASE}/lib/libgsm.so) +.ifdef(WITH_GSM) LIB_DEPENDS+= gsm.1:${PORTSDIR}/audio/gsm CONFIGURE_ARGS+= --enable-libgsm +.else +CONFIGURE_ARGS+= --disable-libgsm .endif ## mp3 -.ifdef(WITH_LAME) || exists(${LOCALBASE}/lib/libmp3lame.so) || defined(WITH_MP3) +.ifdef(WITH_LAME) LIB_DEPENDS+= mp3lame.0:${PORTSDIR}/audio/lame - CONFIGURE_ARGS+= --enable-libmp3lame +.else +CONFIGURE_ARGS+= --disable-libmp3lame .endif + ## ogg -.ifndef(WITHOUT_OGG) || exists(${LOCALBASE}/lib/libogg.so) +.if !defined(WITHOUT_OGG) || !defined(WITHOUT_VORBIS) || !defined(WITHOUT_THEORA) LIB_DEPENDS+= ogg.5:${PORTSDIR}/audio/libogg - CONFIGURE_ARGS+= --enable-libogg +.else +CONFIGURE_ARGS+= --disable-libogg .endif ## SDL -.ifdef(WITH_SDL) || ${HAVE_SDL:Msdl} +.ifdef(WITH_SDL) USE_SDL+= sdl - PLIST_FILES+= bin/ffplay .if !defined(NOPORTDOCS) MAN1+= ffplay.1 @@ -152,24 +185,29 @@ CONFIGURE_ARGS+= --enable-swscaler PLIST_SUB+= SWSCAL="" .else +CONFIGURE_ARGS+= --disable-swscaler PLIST_SUB+= SWSCAL="@comment " .endif ## theora .if !defined(WITHOUT_THEORA) -WITH_OGG= yes LIB_DEPENDS+= theora.0:${PORTSDIR}/multimedia/libtheora CONFIGURE_ARGS+= --enable-libtheora +.else +CONFIGURE_ARGS+= --disable-libtheora .endif + ## vorbis .if !defined(WITHOUT_VORBIS) -WITH_OGG= yes LIB_DEPENDS+= vorbisenc.2:${PORTSDIR}/audio/libvorbis CONFIGURE_ARGS+= --enable-libvorbis FFMPEG_CFLAGS+= -I${LOCALBASE}/include/vorbis +.else +CONFIGURE_ARGS+= --disable-libvorbis .endif + # x264 .ifndef(WITHOUT_X264) LIB_DEPENDS+= x264.50:${PORTSDIR}/multimedia/x264 @@ -182,84 +220,46 @@ .if !defined(WITHOUT_BUILTIN_VECTOR) && defined(WITH_BUILTIN_VECTOR) FFMPEG_CFLAGS+= -msse .endif -. ifdef(WITH_FREETYPE2) || exists(${LOCALBASE}/lib/libfreetype.so) -LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2 -PLIST_FILES+= lib/vhook/drawtext.so +.if !defined(WITHOUT_VHOOK) || defined(WITH_VHOOK_FREETYPE2) || defined(WITH_VHOOK_IMLIB2) +. ifdef(WITH_VHOOK_FREETYPE2) +LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2 +PLIST_FILES+= lib/vhook/drawtext.so +CONFIGURE_ARGS+= --enable-freetype2 +. else +CONFIGURE_ARGS+= --disable-freetype2 . endif # freetype2 -. ifdef(WITH_IMLIB2) || exists(${LOCALBASE}/lib/libImlib2.so) +. ifdef(WITH_VHOOK_IMLIB2) USE_EFL+= imlib2 - -PLIST_FILES+= lib/vhook/imlib2.so +. if !exists(${LOCALBASE}/include/X11/Xlib.h) +CFLAGS+= -DX_DISPLAY_MISSING +. endif +PLIST_FILES+= lib/vhook/imlib2.so +CONFIGURE_ARGS+= --enable-imlib2 . else -WITHOUT_IMLIB2= yes +CONFIGURE_ARGS+= --disable-imlib2 . endif # imlib2 +CONFIGURE_ARGS+= --enable-vhook +PLIST_SUB+= VHOOK="" +.else +CONFIGURE_ARGS+= --disable-vhook +PLIST_SUB+= VHOOK="@comment " +. endif ## xvid -.ifdef(WITH_XVID) || exists(${LOCALBASE}/lib/libxvidcore.so) +.ifdef(WITH_XVID) LIB_DEPENDS+= xvidcore.4:${PORTSDIR}/multimedia/xvid - CONFIGURE_ARGS+= --enable-libxvid +.else +CONFIGURE_ARGS+= --disable-libxvid .endif -pre-everything:: -.ifndef(WITHOUT_A52) - @${ECHO_MSG} 'You can disable liba52 support by defining WITHOUT_LIBA52' - @${ECHO_MSG} -.endif -#.ifndef(WITH_DTS) -# @${ECHO_MSG} 'Define WITH_DTS to enable DTS codec' -# @${ECHO_MSG} -#.endif -.ifndef(WITH_FAAC) - @${ECHO_MSG} 'Define WITH_FAAC to enable FAAC mp4/aac audio encoder' - @${ECHO_MSG} -.endif -.ifndef(WITHOUT_FAAD) - @${ECHO_MSG} 'Define WITHOUT_FAAD to disable FAAD mp4/aac audio decoder' - @${ECHO_MSG} -.endif -.ifndef(WITH_FREETYPE2) - @${ECHO_MSG} 'Define WITH_FREETYPE2 to enable VHOOK drawtext FREETYPE2 codec' - @${ECHO_MSG} -.endif -.ifndef(WITHOUT_IPV6) - @${ECHO_MSG} 'Define WITHOUT_IPV6 to disable IPV6 network support' - @${ECHO_MSG} -.endif -.ifndef(WITH_LAME) - @${ECHO_MSG} 'Define WITH_LAME to enable lame MP3 codec' - @${ECHO_MSG} -.endif -.ifndef(WITH_OGG) - @${ECHO_MSG} 'Define WITH_OGG to enable OGG codec' - @${ECHO_MSG} -.endif -.ifndef(WITH_OPTIMIZED_CFLAGS) - @${ECHO_MSG} 'You can enable additional compilation optimizations' - @${ECHO_MSG} 'by defining WITH_OPTIMIZED_CFLAGS' - @${ECHO_MSG} -.endif -.ifndef(WITH_SWSCALER) - @${ECHO_MSG} 'Define WITH_SWSCALER to enable software scaler support' - @${ECHO_MSG} 'Warning: swscaler does not work with VLC!' - @${ECHO_MSG} -.endif -.ifndef(WITHOUT_THEORA) - @${ECHO_MSG} 'Define WITHOUT_THEORA to disable libtheora support' - @${ECHO_MSG} -.endif -.ifndef(WITHOUT_VORBIS) - @${ECHO_MSG} 'Define WITHOUT_VORBIS to enable libvorbisenc VORBIS codec' - @${ECHO_MSG} -.endif -.ifndef(WITHOUT_X264) - @${ECHO_MSG} 'Define WITHOUT_X264 to disable X264 codec' - @${ECHO_MSG} +pre-configure: +.if defined(WITHOUT_OGG) && (!defined(WITHOUT_VORBIS) || !defined(WITHOUT_THEORA)) + @${ECHO_MSG} WITH_VORBIS or WITH_THEORA defined, libogg will be built .endif -.ifndef(WITH_XVID) - @${ECHO_MSG} 'Define WITH_XVID to enable XVID codec' - @${ECHO_MSG} +.if defined(WITHOUT_VHOOK) && (defined(WITH_VHOOK_FREETYPE2) || defined(WITH_VHOOK_IMLIB2)) + @${ECHO_MSG} WITH_VHOOK_FREETYPE2 or WITH_VHOOK_IMLIB2 defined, video hooks will be built .endif post-patch: @@ -340,11 +340,11 @@ fi .ifndef(NOPORTDOCS) ${MKDIR} ${DOCSDIR} -.for file in ${DOC_FILES} - ${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR} +.for FILE in ${DOC_FILES} + ${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR} .endfor -.for file in ${DOC_DOCFILES} - ${INSTALL_DATA} ${WRKSRC}/doc/${file} ${DOCSDIR} +.for FILE in ${DOC_DOCFILES} + ${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${DOCSDIR} .endfor .endif Index: ports/multimedia/ffmpeg/pkg-plist =================================================================== RCS file: /home/pcvs/ports/multimedia/ffmpeg/pkg-plist,v retrieving revision 1.19 diff -u -r1.19 pkg-plist --- ports/multimedia/ffmpeg/pkg-plist 9 Oct 2007 18:19:18 -0000 1.19 +++ ports/multimedia/ffmpeg/pkg-plist 12 Mar 2008 08:51:13 -0000 @@ -47,10 +47,10 @@ %%SWSCAL%%lib/libswscale.so %%SWSCAL%%lib/libswscale.so.%%SHLIB_VER%% %%SWSCAL%%lib/libswscale.so.0.5.0 -lib/vhook/fish.so -lib/vhook/null.so -lib/vhook/ppm.so -lib/vhook/watermark.so +%%VHOOK%%lib/vhook/fish.so +%%VHOOK%%lib/vhook/null.so +%%VHOOK%%lib/vhook/ppm.so +%%VHOOK%%lib/vhook/watermark.so libdata/pkgconfig/libavcodec.pc libdata/pkgconfig/libavformat.pc libdata/pkgconfig/libavutil.pc Index: ports/multimedia/ffmpeg/files/patch-configure =================================================================== RCS file: /home/pcvs/ports/multimedia/ffmpeg/files/patch-configure,v retrieving revision 1.5 diff -u -r1.5 patch-configure --- ports/multimedia/ffmpeg/files/patch-configure 29 Jul 2007 00:46:07 -0000 1.5 +++ ports/multimedia/ffmpeg/files/patch-configure 12 Mar 2008 08:51:13 -0000 @@ -1,6 +1,6 @@ ---- configure.orig 2007-07-08 13:47:15.000000000 -0400 -+++ configure 2007-07-09 12:37:09.000000000 -0400 -@@ -210,11 +210,11 @@ +--- configure.orig 2007-09-29 22:25:06.000000000 +0200 ++++ configure 2008-03-12 08:59:27.000000000 +0100 +@@ -211,11 +211,11 @@ # "tr '[a-z]' '[A-Z]'" is a workaround for Solaris tr not grokking "tr a-z A-Z" toupper(){ @@ -14,7 +14,19 @@ } set_all(){ -@@ -992,15 +992,9 @@ +@@ -604,9 +604,11 @@ + ffmpeg + ffplay + ffserver ++ freetype2 + gpl + gprof + gray ++ imlib2 + ipv6 + liba52 + liba52bin +@@ -1033,15 +1035,9 @@ enable fast_unaligned ;; x86_64|amd64) @@ -32,7 +44,38 @@ ;; # armv4l is a subset of armv[567]*l arm|armv[4567]*l) -@@ -1734,12 +1728,6 @@ +@@ -1491,8 +1487,8 @@ + + if check_func dlopen; then + ldl= +-elif check_func dlopen -ldl; then +- ldl=-ldl ++elif check_func dlopen ; then ++ ldl= + fi + + check_func fork +@@ -1597,10 +1593,17 @@ + if enabled vhook; then + check_ldflags -rdynamic + check_ldflags -export-dynamic ++ if enabled imlib2; then ++ check_foo_config imlib2 imlib2 Imlib2.h imlib_load_font ++ fi ++ if enabled freetype2; then ++ check_foo_config freetype2 freetype ft2build.h FT_Init_FreeType ++ fi ++else ++ disable imlib2 ++ disable freetype2 + fi + +-check_foo_config imlib2 imlib2 Imlib2.h imlib_load_font +-check_foo_config freetype2 freetype ft2build.h FT_Init_FreeType + + ########################################## + # SDL check +@@ -1705,12 +1708,6 @@ check_cflags -Os # not all compilers support -Os optimize="small" elif enabled optimize; then @@ -45,7 +88,7 @@ fi # PIC flags for shared library objects where they are needed -@@ -1927,15 +1915,15 @@ +@@ -1894,15 +1891,15 @@ if enabled shared; then echo "BUILD_SHARED=yes" >> config.mak echo "PIC=-fPIC -DPIC" >> config.mak @@ -53,20 +96,29 @@ + echo "SPPMAJOR=1" >> config.mak echo "SPPVERSION=$pp_version" >> config.mak - echo "LAVCMAJOR=${lavc_version%%.*}" >> config.mak -+ echo "LAVCMAJOR=%%SHLIB_VER%%" >> config.mak ++ echo "LAVCMAJOR=1" >> config.mak echo "LAVCVERSION=$lavc_version" >> config.mak - echo "LAVFMAJOR=${lavf_version%%.*}" >> config.mak -+ echo "LAVFMAJOR=%%SHLIB_VER%%" >> config.mak ++ echo "LAVFMAJOR=1" >> config.mak echo "LAVFVERSION=$lavf_version" >> config.mak - echo "LAVUMAJOR=${lavu_version%%.*}" >> config.mak -+ echo "LAVUMAJOR=%%SHLIB_VER%%" >> config.mak ++ echo "LAVUMAJOR=1" >> config.mak echo "LAVUVERSION=$lavu_version" >> config.mak - echo "SWSMAJOR=${sws_version%%.*}" >> config.mak -+ echo "SWSMAJOR=%%SHLIB_VER%%" >> config.mak ++ echo "SWSMAJOR=1" >> config.mak echo "SWSVERSION=$sws_version" >> config.mak echo "SLIBNAME=${SLIBNAME}" >> config.mak echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak -@@ -1969,7 +1957,7 @@ +@@ -1911,7 +1908,7 @@ + echo "SLIB_INSTALL_EXTRA_CMD=${SLIB_INSTALL_EXTRA_CMD}" >> config.mak + fi + echo "LIB_INSTALL_EXTRA_CMD=${LIB_INSTALL_EXTRA_CMD}" >> config.mak +-echo "EXTRALIBS=$extralibs" >> config.mak ++echo "EXTRALIBS=-L/usr/local/lib -L/usr/local/lib $extralibs" >> config.mak + + print_config ARCH_ $TMPH config.mak $ARCH_LIST + print_config HAVE_ $TMPH config.mak $HAVE_LIST +@@ -1932,7 +1929,7 @@ echo "SRC_PATH=\"$source_path\"" >> config.mak echo "SRC_PATH_BARE=$source_path" >> config.mak @@ -74,25 +126,25 @@ +echo "BUILD_ROOT=\"$(pwd)\"" >> config.mak # Apparently it's not possible to portably echo a backslash. - if enabled asmalign_pot; then -@@ -2047,8 +2035,8 @@ + enabled asmalign_pot && +@@ -2008,8 +2005,8 @@ Version: $version Requires: $requires Conflicts: -Libs: -L\${libdir} $libs -Cflags: -I\${includedir} -I\${includedir}/$include -+Libs: -L\${libdir} $libs -L%%LOCALBASE%%/lib -+Cflags: -I\${includedir} -I\${includedir}/$include -I%%LOCALBASE%%/include ++Libs: -L\${libdir} $libs -L/usr/local/lib ++Cflags: -I\${includedir} -I\${includedir}/$include -I/usr/local/include EOF } -@@ -2071,7 +2059,8 @@ +@@ -2032,7 +2029,8 @@ Requires: $requires Conflicts: Libs: \${libdir}/${LIBPREF}${shortname}${LIBSUF} $libs -Cflags: -I\${includedir} -+Ldflags: -L%%LOCALBASE%%/lib -+Cflags: -I\${includedir} -I%%LOCALBASE%%/include ++Ldflags: -L/usr/local/lib ++Cflags: -I\${includedir} -I/usr/local/include EOF } >Release-Note: >Audit-Trail: >Unformatted: