freebsd-ports/multimedia/xbmc-pvr/Makefile
Juergen Lock df4439a7f0 XBMC Media Center (formerly named "XBox Media Center")
is a free and open source cross-platform media-player
and entertainment hub.

This is a tagged release of the XBMC pvr-ppa-odk branch that adds
PVR functionality using tvheadend (not ported to FreeBSD yet but
can be used over the network), MythTV (currently broken), or VDR
(via external plugins), and is located at:

https://github.com/opdenkamp/xbmc

WWW: http://xbmc.org/
2011-12-18 18:32:02 +00:00

253 lines
7.8 KiB
Makefile

# New ports collection makefile for: xbmc
# Date created: 2010-09-16
# Whom: Mickael Maillot <mickael.maillot@gmail.com>
#
# $FreeBSD$
#
PORTNAME= xbmc
PORTVERSION= 57
CATEGORIES= multimedia
MASTER_SITES= LOCAL/nox
PKGNAMESUFFIX= -pvr-ppa-odk
DISTNAME= opdenkamp-${PORTNAME}${PKGNAMESUFFIX}${PORTVERSION}-0-g${GITHASH}
MAINTAINER= nox@FreeBSD.org
COMMENT= XBMC is an award winning media center application - PVR branch
LICENSE= GPLv2
BUILD_DEPENDS= enca:${PORTSDIR}/converters/enca \
gawk:${PORTSDIR}/lang/gawk \
gperf:${PORTSDIR}/devel/gperf \
cmake:${PORTSDIR}/devel/cmake \
zip:${PORTSDIR}/archivers/zip \
unzip:${PORTSDIR}/archivers/unzip \
nasm:${PORTSDIR}/devel/nasm \
dvdread-config:${PORTSDIR}/multimedia/libdvdread
LIB_DEPENDS= asound.2:${PORTSDIR}/audio/alsa-lib \
boost_thread.4:${PORTSDIR}/devel/boost-libs \
cdio.12:${PORTSDIR}/sysutils/libcdio \
curl.6:${PORTSDIR}/ftp/curl \
dbus-1.3:${PORTSDIR}/devel/dbus \
enca.5:${PORTSDIR}/converters/enca \
GLEW.1:${PORTSDIR}/graphics/glew \
avcodec.1:${PORTSDIR}/multimedia/ffmpeg \
fontconfig.1:${PORTSDIR}/x11-fonts/fontconfig \
freetype.9:${PORTSDIR}/print/freetype2 \
fribidi.3:${PORTSDIR}/converters/fribidi \
lzo2.2:${PORTSDIR}/archivers/lzo2 \
jasper.4:${PORTSDIR}/graphics/jasper \
jpeg.11:${PORTSDIR}/graphics/jpeg \
faad.2:${PORTSDIR}/audio/faad \
mad:${PORTSDIR}/audio/libmad \
modplug:${PORTSDIR}/audio/libmodplug \
mpeg2:${PORTSDIR}/multimedia/libmpeg2 \
ogg.7:${PORTSDIR}/audio/libogg \
pcre.0:${PORTSDIR}/devel/pcre \
png.6:${PORTSDIR}/graphics/png \
samplerate.1:${PORTSDIR}/audio/libsamplerate \
smbclient.0:${PORTSDIR}/net/samba-libsmbclient \
sqlite3.8:${PORTSDIR}/databases/sqlite3 \
vorbis.4:${PORTSDIR}/audio/libvorbis \
ass.5:${PORTSDIR}/multimedia/libass \
wavpack.2:${PORTSDIR}/audio/wavpack \
yajl:${PORTSDIR}/devel/yajl \
plist:${PORTSDIR}/devel/libplist
RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins \
${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \
glxinfo:${PORTSDIR}/graphics/mesa-demos \
${PYTHON_SITELIBDIR}/PIL/__init__.py:${PORTSDIR}/graphics/py-imaging \
xdpyinfo:${PORTSDIR}/x11/xdpyinfo
GITHASH= d967ec3
WRKSRC= ${WRKDIR}/opdenkamp-${PORTNAME}-${GITHASH}
FETCH_ARGS= -Fpr
USE_GMAKE= yes
USE_GNOME= pkgconfig
USE_AUTOTOOLS= autoconf libtool automake libltdl
GNU_CONFIGURE= yes
USE_XORG= xinerama xt xmu xrandr xtst
USE_GL= glu
USE_SDL= image mixer sdl
USE_MYSQL= yes
USE_PYTHON= 2.5-2.7
MAKE_JOBS_SAFE= yes
NOPRECIOUSMAKEVARS= yes
INSTALLS_ICONS= yes
ONLY_FOR_ARCHS= i386 amd64
USE_LDCONFIG= ${PREFIX}/lib/xbmc/system \
${PREFIX}/lib/xbmc/system/players/dvdplayer \
${PREFIX}/lib/xbmc/system/players/paplayer
CONFLICTS_INSTALL= xbmc-[0-9]*
PLIST_SUB+= PYVER="${PYTHON_VERSION:S/python//:S/.//g}"
OPTIONS= AVAHI "Enable Avahi support" on \
LIBBLURAY "Enable libbluray support" on \
FAAC "Enable FAAC support" off \
HAL "Enable HAL support" on \
LIRC "Enable lirc support" off \
MMS "Enable mms:// & mmsh:// support" on \
NONFREE "Enable non-free components (rar, ccx, ffmpeg)" off \
PULSE "Enable PulseAudio support" off \
RTMP "RTMP support via librtmp" off \
VAAPI "Enable VAAPI support" off \
VDPAU "Enable VDPAU support" off \
WEBSERVER "Build Internal Webserver" off
DESKTOP_ENTRIES="XBMC" \
"${COMMENT}" \
"${DATADIR}/media/icon.png" \
"xbmc" \
"AudioVideo;Video;" \
true
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS+= --enable-external-libraries
.include <bsd.port.pre.mk>
.if defined(WITH_DEBUG)
CONFIGURE_ARGS+= --enable-debug
.else
CONFIGURE_ARGS+= --disable-debug
.endif
.if ${ARCH} == i386
PLIST_SUB+= ARCH="x86"
.else
PLIST_SUB+= ARCH="x86_64"
.endif
.if !defined(WITHOUT_AVAHI)
CONFIGURE_ARGS+= --enable-avahi
LIB_DEPENDS+= avahi-common.3:${PORTSDIR}/net/avahi-app
.else
CONFIGURE_ARGS+= --disable-avahi
.endif
.if !defined(WITHOUT_LIBBLURAY)
CONFIGURE_ARGS+= --enable-libbluray
LIB_DEPENDS+= bluray.0:${PORTSDIR}/multimedia/libbluray
.else
CONFIGURE_ARGS+= --disable-libbluray
.endif
.if defined(WITH_FAAC)
CONFIGURE_ARGS+= --enable-faac
LIB_DEPENDS+= faac.0:${PORTSDIR}/audio/faac
.else
CONFIGURE_ARGS+= --disable-faac
.endif
.if !defined(WITHOUT_HAL)
CONFIGURE_ARGS+= --enable-hal
LIB_DEPENDS+= hal.1:${PORTSDIR}/sysutils/hal
.else
CONFIGURE_ARGS+= --disable-hal
.endif
.if defined(WITH_LIRC)
RUN_DEPENDS+= lircd:${PORTSDIR}/comms/lirc
.endif
.if !defined(WITHOUT_MMS)
CONFIGURE_ARGS+= --enable-libmms
LIB_DEPENDS+= mms.0:${PORTSDIR}/net/libmms
.else
CONFIGURE_ARGS+= --disable-libmms
.endif
.if defined(WITH_NONFREE)
CONFIGURE_ARGS+= --enable-non-free
NO_CDROM= Restricted binary distribution
NO_PACKAGE= ${NO_CDROM}
.else
CONFIGURE_ARGS+= --disable-non-free
.endif
.if defined(WITH_PULSE)
CONFIGURE_ARGS+= --enable-pulse
LIB_DEPENDS+= pulse.0:${PORTSDIR}/audio/pulseaudio
.else
CONFIGURE_ARGS+= --disable-pulse
.endif
.if defined(WITH_RTMP)
CONFIGURE_ARGS+= --enable-rtmp
LIB_DEPENDS+= rtmp.0:${PORTSDIR}/multimedia/rtmpdump
.else
CONFIGURE_ARGS+= --disable-rtmp
.endif
.if defined(WITH_VAAPI)
LIB_DEPENDS+= va.1:${PORTSDIR}/multimedia/libva
CONFIGURE_ARGS+= --enable-vaapi
.else
CONFIGURE_ARGS+= --disable-vaapi
.endif
.if defined(WITH_VDPAU)
LIB_DEPENDS+= vdpau.1:${PORTSDIR}/multimedia/libvdpau
CONFIGURE_ARGS+= --enable-vdpau
.else
CONFIGURE_ARGS+= --disable-vdpau
.endif
.if defined(WITH_WEBSERVER)
CONFIGURE_ARGS+= --enable-webserver
LIB_DEPENDS+= microhttpd.23:${PORTSDIR}/www/libmicrohttpd
PLIST_SUB+= HTTPD=""
.else
CONFIGURE_ARGS+= --disable-webserver
PLIST_SUB+= HTTPD="@comment "
.endif
post-patch:
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/configure.in \
${WRKSRC}/lib/asap/Makefile.in \
${WRKSRC}/lib/libdvd/libdvdnav/configure.ac \
${WRKSRC}/lib/libdvd/libdvdnav/configure2 \
${WRKSRC}/lib/libdvd/libdvdread/configure.ac \
${WRKSRC}/lib/libdvd/libdvdread/configure2 \
${WRKSRC}/lib/libsidplay2/libsidplay/unix/my_macros.m4 \
${WRKSRC}/lib/timidity/configure.in \
${WRKSRC}/xbmc/screensavers/rsxs-0.9/acinclude.m4
${RM} ${WRKSRC}/addons/library.xbmc.addon/libXBMC_addon.h.orig
${RM} ${WRKSRC}/addons/library.xbmc.gui/libXBMC_gui.h.orig
${RM} ${WRKSRC}/addons/library.xbmc.pvr/libXBMC_pvr.h.orig
# XXX somehow there are still references to linux libraries, if you find
# where they come from please tell us!
.if ${ARCH} == "amd64"
${LN} -s libXBMC_addon-x86_64-freebsd.so ${WRKSRC}/addons/library.xbmc.addon/libXBMC_addon-x86_64-linux.so
${LN} -s libXBMC_gui-x86_64-freebsd.so ${WRKSRC}/addons/library.xbmc.gui/libXBMC_gui-x86_64-linux.so
${LN} -s libXBMC_pvr-x86_64-freebsd.so ${WRKSRC}/addons/library.xbmc.pvr/libXBMC_pvr-x86_64-linux.so
.else
${LN} -s libXBMC_addon-i386-freebsd.so ${WRKSRC}/addons/library.xbmc.addon/libXBMC_addon-i486-linux.so
${LN} -s libXBMC_gui-i386-freebsd.so ${WRKSRC}/addons/library.xbmc.gui/libXBMC_gui-i486-linux.so
${LN} -s libXBMC_pvr-i386-freebsd.so ${WRKSRC}/addons/library.xbmc.pvr/libXBMC_pvr-i486-linux.so
.endif
pre-configure:
cd ${WRKSRC} && ./bootstrap
post-install:
# XXX somehow there are still references to linux libraries, if you find
# where they come from please tell us!
.if ${ARCH} == "amd64"
${LN} -s libXBMC_addon-x86_64-freebsd.so ${PREFIX}/lib/xbmc/addons/library.xbmc.addon/libXBMC_addon-x86_64-linux.so
${LN} -s libXBMC_gui-x86_64-freebsd.so ${PREFIX}/lib/xbmc/addons/library.xbmc.gui/libXBMC_gui-x86_64-linux.so
${LN} -s libXBMC_pvr-x86_64-freebsd.so ${PREFIX}/lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-x86_64-linux.so
.else
${LN} -s libXBMC_addon-i386-freebsd.so ${PREFIX}/lib/xbmc/addons/library.xbmc.addon/libXBMC_addon-i486-linux.so
${LN} -s libXBMC_gui-i386-freebsd.so ${PREFIX}/lib/xbmc/addons/library.xbmc.gui/libXBMC_gui-i486-linux.so
${LN} -s libXBMC_pvr-i386-freebsd.so ${PREFIX}/lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-i486-linux.so
.endif
.include <bsd.port.post.mk>