1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00
freebsd-ports/multimedia/libxine/Makefile
Juergen Lock d613b75b1d - Update multimedia/libxine to 1.2.1 with a commit merged from hg
to fix DVB support.  (which still is broken for tuners using
  hardware pid filtering, like when running webcamd with
  "-m dvb-usb-init.force_pid_filter_usage=1".)

- Add patches to fix build of ports depending on libxine to:
  audio/amarok,
  graphics/gimageview [1], graphics/pornview [1],
  graphics/osg [2], graphics/osg-devel [2],
  multimedia/emotion,
  x11/kdelibs4 [3],
  multimedia/kmplayer,
  multimedia/konverter,
  multimedia/qdvdauthor [4],
  multimedia/vdr-plugin-xineliboutput,
  multimedia/xfce4-media [5],
  multimedia/xine_artsplugin,
  multimedia/k9copy-kde4 [6]

- Fix RUN_DEPENDS= xine... which should be LIB_DEPENDS for audio/atunes . [7]

- Mark multimedia/phonon-xine BROKEN which refuses to build with
  libxine 1.2.x and is deprecated upstream. [3]

- Disable XINE knob for x11/eaglemode for which I don't have a fix. [2]

- Note: multimedia/kaffeine runs after rakuco's x11/kdelibs4 fix,
  but it only shows a green window at least with mp4 or ts files.
  (avi files and audio still work.)  It seems the kaffeine developers
  have found this too and are now switching away from libxine in
  their git repo - so I guess we'll have a broken kaffeine at least
  until they release a new version.

- Bump PORTREVISIONs for ports depending on libxine by default.

- Add optional libbluray support to multimedia/libxine and
  multimedia/vdr-plugin-xineliboutput.

PR:		ports/165057 [6]
Submitted by:	nox (self) [6], rakuco [3]
Approved by:	dinoex (maintainer, via irc) [1],
		amdmi3 (maintainer, via private email) [2],
		kde@ (rakuco, via irc) [3],
		Phil Oleson <oz@nixil.net> (maintainer, via private email) [4],
		xfce@ (rene, via irc) [5],
		Eduardo Gielamo Oliveira <egoliveira@gmail.com> (maintainer) [6],
		lme (maintainer, via irc) [7]
Thanx to:	Darren Salt (upstream libxine maintainer) for a few
		hints on irc to help with patching ports depending
		on deprecated libxine features
2012-02-26 15:22:37 +00:00

277 lines
7.5 KiB
Makefile

# New ports collection makefile for: libxine
# Date created: 14 Oct 2000
# Whom: alex
#
# $FreeBSD$
#
PORTNAME= xine
PORTVERSION= 1.2.1
CATEGORIES= multimedia ipv6
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-lib/${PORTVERSION}
PKGNAMEPREFIX= lib
DISTNAME= ${PORTNAME}-lib-${PORTVERSION}
MAINTAINER= nox@FreeBSD.org
COMMENT= Libraries for xine multimedia player
LIB_DEPENDS= FLAC.10:${PORTSDIR}/audio/flac \
vorbis.4:${PORTSDIR}/audio/libvorbis \
speex.1:${PORTSDIR}/audio/speex \
mng.1:${PORTSDIR}/graphics/libmng \
png.6:${PORTSDIR}/graphics/png \
dvdread.4:${PORTSDIR}/multimedia/libdvdread \
freetype.9:${PORTSDIR}/print/freetype2 \
fame-0.9.1:${PORTSDIR}/multimedia/libfame \
cdio.13:${PORTSDIR}/sysutils/libcdio \
modplug.1:${PORTSDIR}/audio/libmodplug \
vcdinfo.2:${PORTSDIR}/multimedia/vcdimager \
theora.0:${PORTSDIR}/multimedia/libtheora \
mad.2:${PORTSDIR}/audio/libmad \
dca.0:${PORTSDIR}/multimedia/libdca \
avcodec.1:${PORTSDIR}/multimedia/ffmpeg \
faad.2:${PORTSDIR}/audio/faad \
vdpau.1:${PORTSDIR}/multimedia/libvdpau
BUILD_DEPENDS+= v4l_compat>=1.0.20100321:${PORTSDIR}/multimedia/v4l_compat
.if !defined(PACKAGE_BUILDING)
LIB_DEPENDS+= dvdcss.${DVDCSS_LIBVERSION}:${PORTSDIR}/multimedia/libdvdcss
.endif
USE_XZ= yes
USE_ICONV= yes
GNU_CONFIGURE= yes
WANT_GNOME= yes
USE_GNOME= gnomehack
USE_GMAKE= yes
USE_XORG= x11 xv xinerama
USE_GL= gl glu
USE_PERL5_BUILD=yes
USE_SDL= sdl
USE_LDCONFIG= yes
CONFIGURE_ENV= THREAD_CFLAGS="${PTHREAD_CFLAGS}" \
THREAD_LIBS="${PTHREAD_LIBS}" \
EXTRA_X_LIBS="-lGL -lGLU -lXext -lX11 -lm"
CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/ffmpeg
LDFLAGS+= -L${LOCALBASE}/lib
CFLAGS+= -fno-force-addr -I${LOCALBASE}/include -I${LOCALBASE}/include/dvdread -I${LOCALBASE}/include/ffmeg
CONFIGURE_ARGS= --with-w32-path=${LOCALBASE}/lib/win32 \
--enable-ipv6 \
--with-external-libmad \
--with-external-libdts \
--with-libflac \
--with-external-ffmpeg \
--with-external-libfaad \
--disable-v4l \
--without-alsa \
--disable-musepack \
--enable-dvb
MAKE_JOBS_SAFE= yes
OPTIONS= CACA "Enable libcaca support" off \
ESOUND "Enable EsounD support" off \
JACK "Enable JACK support" off \
GNOMEVFS2 "Enable GnomeVFS2 support" off \
PULSEAUDIO "Enable PulseAudio support" off \
XVMC "Enable XvMC support" off \
SMB "Enable SMB protocol support" off \
AALIB "Enable aalib support" off \
IMAGEMAGICK "Enable ImageMagick support" off \
GTK2 "Enable gdkpixbuf support" off \
WAVPACK "Enable WavPack support" off \
VAAPI "Enable VAAPI support" off \
LIBBLURAY "Enable libbluray support" off
MAN1= xine-config.1 xine-list-1.2.1
MAN5= xine.5
DOCSDIR= ${PREFIX}/share/doc/xine-lib
PLIST_SUB= PLUGINSDIR="lib/xine/plugins/2.1"
# DVDCSS version hardcoded in src/input/input_dvd.c misc/cdda_server.c
# and src/input/libdvdnav/dvd_input.c (dlopen'ed)
DVDCSS_LIBVERSION= 3
PATCH_DIST_ARGS= -d ${WRKSRC} -p1 --forward --quiet
.include <bsd.port.options.mk>
# Fix build WITH_DEBUG
.if defined(WITH_DEBUG)
DEBUG_FLAGS= -g -O1
.endif
# Check for forced -O0 (or no -O)
.if ${CFLAGS:M-O0} == "-O0" || (${CFLAGS:M-O} == "" && \
${CFLAGS:M-O[1-9a-z]*} == "")
IGNORE= only builds with -O1 or higher, check CFLAGS
.endif
.if !defined(WITHOUT_NLS)
USE_GETTEXT= yes
PLIST_SUB+= NLS=""
.else
PLIST_SUB+= NLS="@comment "
CONFIGURE_ARGS+= --disable-nls
.endif
.if defined(WITH_CACA)
LIB_DEPENDS+= caca.0:${PORTSDIR}/graphics/libcaca
PLIST_SUB+= WITH_CACA=""
.else
PLIST_SUB+= WITH_CACA="@comment "
CONFIGURE_ARGS+= --without-caca --disable-cacatest
.endif
.if defined(WITH_ESOUND)
USE_GNOME+= esound
PLIST_SUB+= WITH_ESOUND=""
.else
PLIST_SUB+= WITH_ESOUND="@comment "
CONFIGURE_ARGS+= --without-esound
.endif
.if defined(WITH_JACK)
LIB_DEPENDS+= jack:${PORTSDIR}/audio/jack
PLIST_SUB+= WITH_JACK=""
.else
PLIST_SUB+= WITH_JACK="@comment "
CONFIGURE_ARGS+= --without-jack
.endif
.if defined(WITH_GNOMEVFS2)
USE_GNOME+= gnomevfs2
PLIST_SUB+= WITH_GNOMEVFS2=""
.else
PLIST_SUB+= WITH_GNOMEVFS2="@comment "
CONFIGURE_ARGS+= --disable-gnomevfs
.endif
.if defined(WITH_PULSEAUDIO)
LIB_DEPENDS+= pulse.0:${PORTSDIR}/audio/pulseaudio
PLIST_SUB+= WITH_PULSEAUDIO=""
.else
PLIST_SUB+= WITH_PULSEAUDIO="@comment "
CONFIGURE_ARGS+= --without-pulseaudio
.endif
.if defined(WITH_XVMC)
.if defined(WITH_NVIDIA_GL) || exists(${LOCALBASE}/lib/libXvMCNVIDIA.so.1)
CONFIGURE_ARGS+= --with-xvmc-lib=XvMCNVIDIA
LIB_DEPENDS+= XvMCNVIDIA.1:${PORTSDIR}/x11/nvidia-driver
.else
CONFIGURE_ARGS+= --with-xvmc-lib=XvMCW
LIB_DEPENDS+= XvMC.1:${PORTSDIR}/x11/libXvMC
.endif
PLIST_SUB+= WITH_XVMC=""
.else
CONFIGURE_ARGS+= --disable-xvmc
PLIST_SUB+= WITH_XVMC="@comment "
.endif
.if defined(WITH_SMB)
LIB_DEPENDS+= smbclient.0:${PORTSDIR}/net/samba-libsmbclient
PLIST_SUB+= WITH_SMB=""
.else
PLIST_SUB+= WITH_SMB="@comment "
CONFIGURE_ARGS+= --disable-samba
.endif
.if defined(WITH_AALIB)
LIB_DEPENDS+= aa.1:${PORTSDIR}/graphics/aalib
PLIST_SUB+= WITH_AALIB=""
.else
PLIST_SUB+= WITH_AALIB="@comment "
CONFIGURE_ARGS+= --disable-aalib --disable-aalibtest
.endif
.if defined(WITH_IMAGEMAGICK)
LIB_DEPENDS+= MagickWand.5:${PORTSDIR}/graphics/ImageMagick
PLIST_SUB+= WITH_IMAGEMAGICK=""
.else
PLIST_SUB+= WITH_IMAGEMAGICK="@comment "
CONFIGURE_ARGS+= --without-imagemagick
.endif
.if defined(WITH_GTK2)
USE_GNOME+= gtk20
PLIST_SUB+= WITH_GTK2=""
.else
PLIST_SUB+= WITH_GTK2="@comment "
CONFIGURE_ARGS+= --disable-gdkpixbuf
.endif
.if defined(WITH_WAVPACK)
LIB_DEPENDS+= wavpack.2:${PORTSDIR}/audio/wavpack
PLIST_SUB+= WITH_WAVPACK=""
CONFIGURE_ARGS+= --with-wavpack
.else
PLIST_SUB+= WITH_WAVPACK="@comment "
CONFIGURE_ARGS+= --without-wavpack
.endif
.if defined(WITH_VAAPI)
LIB_DEPENDS+= va.1:${PORTSDIR}/multimedia/libva
.endif
.if defined(WITH_LIBBLURAY)
CONFIGURE_OPTS+= --enable-bluray
LIB_DEPENDS+= bluray.1:${PORTSDIR}/multimedia/libbluray
PLIST_SUB+= LIBBLURAY=""
.else
CONFIGURE_OPTS+= --disable-bluray
PLIST_SUB+= LIBBLURAY="@comment "
.endif
.if ${CONFIGURE_ARGS:M*--without-imagemagick*} == "" || ${CONFIGURE_ARGS:M*-disable-gdkpixbuf*} == ""
PLIST_SUB+= WITH_DMX_IMAGE=""
.else
PLIST_SUB+= WITH_DMX_IMAGE="@comment "
.endif
.if ${ARCH} == "i386"
PLIST_SUB+= WITH_VIDIX=""
.else
PLIST_SUB+= WITH_VIDIX="@comment "
CONFIGURE_ARGS+= --disable-vidix
.endif
post-patch:
.if defined(WITH_VAAPI)
${PATCH} ${PATCH_DIST_ARGS} <${FILESDIR}/ffmpeg-vaapi_xine-lib-1.2.1-defaultoff.diff
.endif
.for f in libtool ltmain.sh
@${REINPLACE_CMD} -e \
'/freebsd-elf)/,/;;/ s|major="\.$$current"|major=.`expr $$current - $$age`|; \
/freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
${WRKSRC}/${f}
.endfor
@${REINPLACE_CMD} -E -e 's|(libdvdcss.so)\.2|\1.${DVDCSS_LIBVERSION}|' \
${WRKSRC}/src/input/input_dvd.c
@${REINPLACE_CMD} -E -e 's|(libdvdcss.so)\.2|\1.${DVDCSS_LIBVERSION}|' \
${WRKSRC}/misc/cdda_server.c
@${REINPLACE_CMD} -E -e 's|(libdvdcss.so)\.2|\1.${DVDCSS_LIBVERSION}|' \
${WRKSRC}/src/input/libdvdnav/dvd_input.c
@${REINPLACE_CMD} -e "s|#define _ATOM QT_ATOM('', '', '', '')||" \
${WRKSRC}/src/demuxers/demux_qt.c
pre-configure:
@${REINPLACE_CMD} -e \
's|THREAD_LIBS=".*"|THREAD_LIBS="\$$THREAD_LIBS"|g ; \
s|THREAD_CFLAGS=".*"|THREAD_CFLAGS="\$$THREAD_CFLAGS"|g ; \
s|-L/usr/local/lib||g ; \
s|-I/usr/local/include||g ; \
s|-lgiconv|-liconv|g ; \
s|-funroll-loops||g ; \
s|LIBFFMPEG_CFLAGS|LIBFFMPEG_CPPFLAGS|g ; \
s|echo aout|echo elf|g' ${WRKSRC}/configure
@${REINPLACE_CMD} -e \
's|-malign-loops|-falign-loops|g ; \
s|-malign-jumps|-falign-jumps|g ; \
s|-malign-functions|-falign-functions|g ; \
s|{libdir}/pkgconfig|{prefix}/libdata/pkgconfig|g' \
${WRKSRC}/configure
.include <bsd.port.mk>