freebsd-ports/multimedia/transcode/Makefile
Tijl Coosemans 3a55a118dd Remove iconv(), iconv_open() and iconv_close() symbols from libiconv.
These were FreeBSD specific aliases for libiconv(), libiconv_open() and
libiconv_close() that are now also provided by libc which complicates
writing configure tests that work correctly when both libc iconv and
libiconv are available.

Also, because the libiconv iconv.h header redefines iconv* to libiconv*
correct use of the header implies that the aliases aren't used.

The following ports needed fixes because there was something wrong with
the way they tried to detect or use iconv:

audio/deadbeef: Remove LIBICONV_PLUG from a source file.  It's a
compile-time option and should not be set in source code.
comms/hidapi: Use standard AM_ICONV configure macro to look for iconv.
deskutils/fbreader: Let ports framework deal with LIBICONV_PLUG.
deskutils/ljclive: Override configure test for iconv.
deskutils/owncloudclient: Add USES=iconv and patch test for iconv.
devel/aegis: Bump PORTREVISION because it no longer uses libiconv.
devel/libexplain: Add USES=iconv and override test for iconv.
devel/sdl20: Override configure test for iconv.
emulators/vmw: Replace OSVERSION checks with ICONV_LIB checks and include
<iconv.h> instead of <sys/iconv.h>.
irc/scrollz: Override configure test for iconv.
japanese/chasen-base: Override configure test for iconv and patch
configure so it no longer adds -liconv to linker flags just because it
happens to be installed.
japanses/eb: Patch configure test for iconv.
japanses/eblook: Override configure test for iconv.
java/jikes: Override configure test for iconv.
multimedia/transcode: Bump PORTREVISION because only one plugin links with
libiconv now.
net/c3270: Override configure test for iconv.
net/samba4*: Bump PORTREVISION because it no longer uses libiconv.  The
configure script will always add -liconv to the linker flags when it
happens to be installed which would be wrong but later on binaries are
linked with -Wl,--as-needed and the linker discards -liconv because it
finds iconv*() functions in libc now and no longer in libiconv.
net-mgmt/icinga-*: Remove dependency on iconv.
net-mgmt/netxms: Patch configure so it no longer adds -liconv to linker
flags just because it happens to be installed.
net/asterisk11: Patch configure so it no longer adds -liconv to linker
flags just because it happens to be installed.
net-p2p/transmission-*: Override configure test for iconv.
www/htmlcxx: Override configure test for iconv.
www/httrack: Override configure test for iconv.
www/xapian-omega: Override configure test for iconv.
x11/mrxvt(-devel): Add USES=iconv and override configure test for iconv.
x11/x3270: Override configure test for iconv.
x11-wm/jwm: Override configure test for iconv.

PR:		202838
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2015-10-10 14:03:00 +00:00

161 lines
5 KiB
Makefile

# Created by: Hendrik Scholz <hendrik@scholz.net>
# $FreeBSD$
PORTNAME= transcode
PORTVERSION= 1.1.7
PORTREVISION= 24
CATEGORIES= multimedia
MASTER_SITES= http://cdn.bitbucket.org/france/transcode-tcforge/downloads/
MAINTAINER= cyberbotx@cyberbotx.com
COMMENT= Text-console utility for video stream processing
LICENSE= GPLv2
LIB_DEPENDS= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
USE_LDCONFIG= yes
USES= gmake libtool pkgconfig tar:bzip2
USE_GCC= any
WANT_SDL= yes
WANT_GNOME= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-oss
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
OPTIONS_DEFINE= DOCS OPTIMIZED_CFLAGS X11 MPEG2 BKTR POSTPROC FREETYPE LAME \
XVID X264 OGG VORBIS THEORA DVDREAD DV QUICKTIME LZO A52 \
FAAC LIBXML2 MJPEGTOOLS SDL IMAGEMAGICK JPEG ICONV V4L
OPTIONS_DEFAULT= LAME DVDREAD JPEG ICONV
BKTR_DESC= Bktr capture card support
POSTPROC_DESC= Libpostproc support
DVDREAD_DESC= Libdvdread support
LZO_DESC= LZO compression support
X11_USE= xorg=xv,xaw,xpm
X11_CONFIGURE_WITH= x
MPEG2_LIB_DEPENDS= libmpeg2.so:${PORTSDIR}/multimedia/libmpeg2
MPEG2_CONFIGURE_ENABLE= libmpeg2 libmpeg2convert
BKTR_CONFIGURE_ENABLE= bktr
POSTPROC_CONFIGURE_ENABLE= libpostproc
FREETYPE_LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2
FREETYPE_CONFIGURE_ENABLE= freetype2
LAME_LIB_DEPENDS= libmp3lame.so:${PORTSDIR}/audio/lame
LAME_CONFIGURE_ENABLE= lame
LAME_CONFIGURE_ON= --with-lame-prefix=${LOCALBASE}
XVID_LIB_DEPENDS= libxvidcore.so:${PORTSDIR}/multimedia/xvid
XVID_CONFIGURE_ENABLE= xvid
XVID_CONFIGURE_ON= --with-xvid-prefix=${LOCALBASE}
X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/libx264
X264_CONFIGURE_ENABLE= x264
OGG_LIB_DEPENDS= libogg.so:${PORTSDIR}/audio/libogg
OGG_CONFIGURE_ENABLE= ogg
VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
VORBIS_CONFIGURE_ENABLE= vorbis
THEORA_LIB_DEPENDS= libtheora.so:${PORTSDIR}/multimedia/libtheora
THEORA_CONFIGURE_ENABLE= theora
DVDREAD_LIB_DEPENDS= libdvdread.so:${PORTSDIR}/multimedia/libdvdread
DVDREAD_CONFIGURE_ENABLE= libdvdread
DVDREAD_CONFIGURE_ON= --with-libdvdread-prefix=${LOCALBASE}
DV_LIB_DEPENDS= libdv.so:${PORTSDIR}/multimedia/libdv
DV_CONFIGURE_ENABLE= libdv
QUICKTIME_LIB_DEPENDS= libquicktime.so:${PORTSDIR}/multimedia/libquicktime
QUICKTIME_CONFIGURE_ENABLE= libquicktime
LZO_LIB_DEPENDS= liblzo2.so:${PORTSDIR}/archivers/lzo2
LZO_CONFIGURE_ENABLE= lzo
LZO_CONFIGURE_ON= --with-lzo-prefix=${LOCALBASE} --with-lzo-includes=${LOCALBASE}
A52_LIB_DEPENDS= liba52.so:${PORTSDIR}/audio/liba52
A52_CONFIGURE_ENABLE= a52
A52_CONFIGURE_ON= --with-a52-prefix=${LOCALBASE}
FAAC_LIB_DEPENDS= libfaac.so:${PORTSDIR}/audio/faac
FAAC_CONFIGURE_ENABLE= faac
FAAC_CONFIGURE_ON= --with-faac-prefix=${LOCALBASE}
LIBXML2_USE= GNOME=libxml2
LIBXML2_CONFIGURE_ENABLE= libxml2
MJPEGTOOLS_LIB_DEPENDS= liblavjpeg.so:${PORTSDIR}/multimedia/mjpegtools
MJPEGTOOLS_CONFIGURE_ENABLE= mjpegtools
SDL_USE= SDL=sdl
SDL_CONFIGURE_ENABLE= sdl
SDL_CONFIGURE_ENV_ON= SDL_CONFIG="${SDL_CONFIG}"
IMAGEMAGICK_LIB_DEPENDS= libMagickWand-6.so:${PORTSDIR}/graphics/ImageMagick
IMAGEMAGICK_CONFIGURE_ENABLE= imagemagick
IMAGEMAGICK_CONFIGURE_ON= --with-imagemagick-prefix=${LOCALBASE}
JPEG_USES= jpeg
JPEG_CONFIGURE_ENABLE= libjpeg
JPEG_CONFIGURE_ON= --with-libjpeg-prefix=${LOCALBASE}
ICONV_USES= iconv
ICONV_CONFIGURE_ENABLE= iconv
ICONV_CONFIGURE_ON= --with-iconv-prefix=${ICONV_PREFIX}
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
V4L_CONFIGURE_ENABLE= v4l
.include <bsd.port.pre.mk>
.if empty(ICONV_LIB)
CONFIGURE_ARGS+=ac_cv_lib_iconv_iconv_open=no \
ac_cv_lib_iconv_libiconv_open=no
.endif
post-extract:
@${RM} ${WRKSRC}/import/v4l/videodev*
post-patch:
@${REINPLACE_CMD} -E -e 's|loff_t|uint64_t|' ${WRKSRC}/avilib/avidump.c
@${REINPLACE_CMD} -E -e 's|<SDL/|<|' ${WRKSRC}/filter/preview/display.h
@${REINPLACE_CMD} -e '/^static.*lrint/s|static ||' ${WRKSRC}/filter/filter_modfps.c
@${REINPLACE_CMD} -E -e 's|(-la52)|\1 ${LIBA52_DEP_LIBS}|g ; \
s|FFMPEG_VERSION|LIBAVCODEC_IDENT|g ; \
s|-lMagick|-lMagickCore|g' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
@${REINPLACE_CMD} -E -e 's|-ldl||g' ${WRKSRC}/configure
@${REINPLACE_CMD} -E -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/configure
@${REINPLACE_CMD} -E -e 's|WRKSRC|${WRKSRC}|g' ${WRKSRC}/export/Makefile.in
@${REINPLACE_CMD} -E -e 's|<quicktime/|<lqt/|g' \
${WRKSRC}/configure \
${WRKSRC}/export/export_mov.c \
${WRKSRC}/import/decode_mov.c \
${WRKSRC}/import/import_mov.c \
${WRKSRC}/import/probe_mov.c
post-patch-LZO-on:
@${REINPLACE_CMD} -e 's|%%NUV%%|nuv|' ${WRKSRC}/import/Makefile.in
post-patch-LZO-off:
@${REINPLACE_CMD} -e 's|%%NUV%%||' ${WRKSRC}/import/Makefile.in
post-patch-OPTIMIZED_CFLAGS-off:
@${FIND} ${WRKSRC} -type f | ${XARGS} -n 10 -x ${REINPLACE_CMD} \
-e 's|-O[236]|${CFLAGS}|'
post-stage:
@(cd ${STAGEDIR}${PREFIX} && \
${FIND} -s lib/transcode -type f -or -type l >> ${TMPPLIST})
.include <bsd.port.post.mk>