Changeset View
Changeset View
Standalone View
Standalone View
head/multimedia/mythtv/Makefile
# Created by: Stacey Son <mythdev@son.org>, Ari Maniatis <ari@ish.com.au> | # Created by: Stacey Son <mythdev@son.org>, Ari Maniatis <ari@ish.com.au> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= mythtv | PORTNAME= mythtv | ||||
DISTVERSIONPREFIX= v | DISTVERSIONPREFIX= v | ||||
DISTVERSION= 0.27.5 | DISTVERSION= 29.1 | ||||
PORTREVISION?= 0 | |||||
PORTEPOCH= 1 | PORTEPOCH= 1 | ||||
CATEGORIES= multimedia | CATEGORIES= multimedia | ||||
MAINTAINER= ports@FreeBSD.org | MAINTAINER?= ports@FreeBSD.org | ||||
COMMENT= MythTV is a homebrew PVR project | COMMENT?= MythTV is a homebrew PVR project | ||||
LICENSE= GPLv2 | LICENSE= GPLv2+ | ||||
LICENSE_FILE= ${WRKSRC}/COPYING | LICENSE_FILE= ${WRKSRC}/COPYING | ||||
ONLY_FOR_ARCHS= amd64 i386 | |||||
LIB_DEPENDS= libmp3lame.so:audio/lame \ | LIB_DEPENDS= libmp3lame.so:audio/lame \ | ||||
libfreetype.so:print/freetype2 \ | |||||
libtag.so:audio/taglib \ | libtag.so:audio/taglib \ | ||||
libxml2.so:textproc/libxml2 \ | libexiv2.so:graphics/exiv2 \ | ||||
libudf.so:sysutils/libcdio \ | |||||
libva.so:multimedia/libva \ | libva.so:multimedia/libva \ | ||||
libass.so:multimedia/libass \ | libass.so:multimedia/libass \ | ||||
libfftw3f.so:math/fftw3-float \ | |||||
libfftw3_threads.so:math/fftw3 \ | libfftw3_threads.so:math/fftw3 \ | ||||
libjack.so:audio/jack | libfftw3f.so:math/fftw3-float \ | ||||
BUILD_DEPENDS= v4l_compat>=1.0.20100321:multimedia/v4l_compat \ | libfreetype.so:print/freetype2 \ | ||||
yasm:devel/yasm | libxml2.so:textproc/libxml2 | ||||
RUN_DEPENDS= tv_check:textproc/p5-xmltv \ | BUILD_DEPENDS= yasm:devel/yasm | ||||
wget:ftp/wget | |||||
CONFLICTS= mythtv-frontend-[0-9]* | USES= gmake iconv libtool pkgconfig pathfix ssl | ||||
USE_GITHUB= yes | USE_GITHUB= yes | ||||
GH_ACCOUNT= MythTV | GH_ACCOUNT= MythTV | ||||
WRKSRC_SUBDIR= ${PORTNAME} | |||||
ONLY_FOR_ARCHS= i386 amd64 | |||||
USE_PERL5= run build | |||||
NOPRECIOUSMAKEVARS= # don't override $(ARCH) in ffmpeg makefiles | |||||
USES= gmake iconv libtool perl5 pkgconfig pathfix shebangfix ssl | |||||
SHEBANG_FILES= programs/scripts/database/mythconverg_backup.pl \ | |||||
programs/scripts/database/mythconverg_restore.pl | |||||
USE_QT4= corelib dbus gui sql network script linguist_build l10n sql-mysql_run \ | |||||
moc_build qmake_build rcc_build uic_build imageformats webkit xml | |||||
USE_GL= gl | USE_GL= gl | ||||
USE_XORG= x11 xv xrandr xxf86vm xinerama xext | USE_LDCONFIG= yes | ||||
USE_QT5= buildtools_build core dbus gui imageformats_run \ | |||||
linguist_build network opengl qmake_build script sql \ | |||||
sql-mysql_run webkit widgets xml | |||||
QT_NONSTANDARD= yes | QT_NONSTANDARD= yes | ||||
HAS_CONFIGURE= yes | USE_XORG= x11 xv xrandr xxf86vm xinerama xext xcb | ||||
USE_LDCONFIG= ${PREFIX}/lib/mythtv/filters | |||||
REINPLACE_ARGS= -i "" | |||||
USE_RC_SUBR= mythbackend | |||||
DESTDIRNAME= INSTALL_ROOT | |||||
USERS= mythtv | HAS_CONFIGURE= yes | ||||
GROUPS= mythtv | CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" \ | ||||
--libxml2-path="${LOCALBASE}/include/libxml2" \ | |||||
--enable-opengl-video \ | |||||
--disable-audio-alsa --disable-indev=alsa --disable-outdev=alsa \ | |||||
--disable-mythlogserver | |||||
CONFIGURE_ENV= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \ | |||||
QTDIR="${PREFIX}" PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig" | |||||
MAKE_ENV= QTDIR="${PREFIX}" \ | MAKE_ENV= QTDIR="${PREFIX}" \ | ||||
QMAKESPEC="${QMAKESPEC}" | QMAKESPEC="${QMAKESPEC}" | ||||
NOPRECIOUSMAKEVARS= # don't override ARCH in ffmpeg makefiles | |||||
DESTDIRNAME= INSTALL_ROOT | |||||
CPPFLAGS+= ${QTCPPFLAGS} | CPPFLAGS+= ${QTCPPFLAGS} | ||||
CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \ | |||||
QTDIR="${PREFIX}" | |||||
CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig" | |||||
LDFLAGS+= -L${LOCALBASE}/lib | LDFLAGS+= -L${LOCALBASE}/lib | ||||
CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" --dvb-path="${LOCALBASE}/include/libdvbv5" \ | REINPLACE_ARGS= -i "" | ||||
--libxml2-path="${LOCALBASE}/include/libxml2" --enable-v4l2 --enable-ivtv --enable-xv \ | WRKSRC_SUBDIR= ${PORTNAME} | ||||
--disable-audio-alsa --disable-indev=alsa --disable-outdev=alsa --disable-mythlogserver | |||||
QMAKESPEC?= ${LOCALBASE}/share/qt4/mkspecs/freebsd-g++ | DESKTOP_ENTRIES="MythTV Frontend" "MythTV is a homebrew PVR project" "" \ | ||||
"mythfrontend" "AudioVideo;Video;" false | |||||
OPTIONS_DEFINE= BINDINGS LIRC MYSQL OPENGL VDPAU | .if defined(SLAVEPORT) && ${SLAVEPORT} == "frontend" | ||||
OPTIONS_DEFAULT= BINDINGS OPENGL VDPAU | CONFLICTS_INSTALL= mythtv | ||||
OPTIONS_SUB= yes | |||||
BINDINGS_DESC= Perl and Python bindings | |||||
LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc | CONFIGURE_ARGS+=--disable-dvb --disable-firewire --disable-hdhomerun \ | ||||
MYSQL_USES= mysql:client,server | --disable-hdpvr --disable-ivtv --disable-v4l2 \ | ||||
MYSQL_USES_OFF= mysql | --without-bindings=perl,python,php | ||||
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau | EXTRA_PATCHES= ${FILESDIR}/extrapatch-programs_programs.pro | ||||
VDPAU_CONFIGURE_ENABLE= vdpau | |||||
OPENGL_CONFIGURE_ENABLE= opengl-video | OPTIONS_EXCLUDE+= BINDINGS LIRC MYSQL | ||||
OPENGL_USE= QT4=opengl | .else | ||||
CONFLICTS_INSTALL= mythtv-frontend | |||||
.include <bsd.port.options.mk> | BUILD_DEPENDS+= v4l_compat>=1.0.20100321:multimedia/v4l_compat | ||||
RUN_DEPENDS+= tv_check:textproc/p5-xmltv \ | |||||
wget:ftp/wget | |||||
USES+= perl5 python:2.7 shebangfix | |||||
USE_PERL5= run build | |||||
USE_RC_SUBR= mythbackend | |||||
SHEBANG_FILES= programs/scripts/database/*.pl \ | |||||
programs/scripts/internetcontent/*.py \ | |||||
programs/scripts/internetcontent/*.pl \ | |||||
programs/scripts/internetcontent/nv_python_libs/*.py \ | |||||
programs/scripts/hardwareprofile/*.py \ | |||||
programs/scripts/metadata/Television/ttvdb.py \ | |||||
programs/scripts/metadata/Movie/tmdb3.py | |||||
CONFIGURE_ARGS+=--dvb-path="${LOCALBASE}/include" \ | |||||
--enable-ivtv --enable-v4l2 --enable-xv | |||||
USERS= mythtv | |||||
GROUPS= mythtv | |||||
DATADIR= ${PREFIX}/share/mythtv | |||||
SUB_FILES= pkg-message | SUB_FILES= pkg-message | ||||
.endif | |||||
.if ${PORT_OPTIONS:MBINDINGS} | OPTIONS_DEFINE= BINDINGS JACK LIRC MYSQL PULSEAUDIO VDPAU | ||||
CONFIGURE_ARGS+= --python=${PYTHON_CMD} | OPTIONS_DEFAULT= BINDINGS VDPAU | ||||
USES+= python:2.7 | OPTIONS_SUB= yes | ||||
PYDISTUTILS_PKGNAME=MythTV | |||||
PYDISTUTILS_PKGVERSION=0.27._1 | |||||
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ | BINDINGS_DESC= Perl and Python bindings | ||||
${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \ | BINDINGS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \ | ||||
${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \ | ${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \ | ||||
p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \ | p5-DBI>=0:databases/p5-DBI \ | ||||
p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined \ | p5-DBD-mysql>0:databases/p5-DBD-mysql \ | ||||
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ | p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ | ||||
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ | p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ | ||||
p5-DBI>=0:databases/p5-DBI \ | |||||
p5-DBD-mysql>0:databases/p5-DBD-mysql | |||||
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \ | |||||
p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \ | p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \ | ||||
p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined \ | p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined | ||||
BINDINGS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:databases/py-MySQLdb@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}futures>0:devel/py-futures@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}requests-cache>0:www/py-requests-cache@${PY_FLAVOR} \ | |||||
${PYTHON_PKGNAMEPREFIX}urlgrabber>=3.1.0_1:www/py-urlgrabber@${PY_FLAVOR} \ | |||||
p5-DBI>=0:databases/p5-DBI \ | |||||
p5-DBD-mysql>0:databases/p5-DBD-mysql \ | |||||
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ | p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \ | ||||
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ | p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \ | ||||
p5-DBI>=0:databases/p5-DBI \ | p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \ | ||||
p5-DBD-mysql>0:databases/p5-DBD-mysql | p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined | ||||
.else | BINDINGS_CONFIGURE_ON= --python=${PYTHON_CMD} | ||||
CONFIGURE_ARGS+=--without-bindings=perl,python | BINDINGS_CONFIGURE_OFF= --without-bindings=perl,python | ||||
.endif | |||||
JACK_LIB_DEPENDS= libjack.so:audio/jack | |||||
JACK_CONFIGURE_ON= --enable-audio-jack --enable-indev=jack | |||||
JACK_CONFIGURE_OFF= --disable-audio-jack --disable-indev=jack | |||||
LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc | |||||
LIRC_CONFIGURE_ENABLE= lirc | |||||
MYSQL_DESC= Install MySQL server in addition to client | |||||
MYSQL_USES= mysql:client,server | |||||
MYSQL_USES_OFF= mysql | |||||
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio | |||||
PULSEAUDIO_CONFIGURE_ENABLE= audio-pulse audio-pulseoutput | |||||
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau | |||||
VDPAU_CONFIGURE_ENABLE= vdpau | |||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ | @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ | ||||
${WRKSRC}/configure \ | ${WRKSRC}/configure \ | ||||
${WRKSRC}/libs/libmythtv/libmythtv.pro \ | ${WRKSRC}/libs/libmythtv/libmythtv.pro \ | ||||
${WRKSRC}/bindings/perl/MythTV/Recording.pm \ | ${WRKSRC}/bindings/perl/MythTV/Recording.pm \ | ||||
${WRKSRC}/programs/mythtranscode/replex/Makefile.standalone \ | ${WRKSRC}/programs/mythtranscode/external/replex/Makefile.standalone \ | ||||
${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \ | ${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \ | ||||
${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \ | ${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \ | ||||
${WRKSRC}/programs/mythcommflag/mythcommflag-analyze | ${WRKSRC}/programs/mythcommflag/mythcommflag-analyze | ||||
post-install: | post-install: | ||||
.if !defined(SLAVEPORT) | |||||
@${MKDIR} ${STAGEDIR}${PREFIX}/share/mythtv/database | @${MKDIR} ${STAGEDIR}${PREFIX}/share/mythtv/database | ||||
@${CP} ${WRKSRC}/database/mc.sql ${STAGEDIR}${PREFIX}/share/mythtv/database | ${INSTALL_DATA} ${WRKSRC}/database/mc.sql ${STAGEDIR}${PREFIX}/share/mythtv/database | ||||
.endif | |||||
@${FIND} ${STAGEDIR}${PREFIX}/bin -type f -exec ${SH} -c "${FILE} -i '{}' | \ | |||||
${GREP} -q 'x-executable; charset=binary'" \; -print | ${XARGS} ${STRIP_CMD} | |||||
@(cd ${STAGEDIR}${PREFIX} && ${STRIP_CMD} lib/libmyth*.so lib/mythtv/filters/lib*.so) | |||||
# Apply additional substitutions to pkg-plist generated by the 'makeplist' target | |||||
create-plist: stage | |||||
@(cd ${.CURDIR} && ${MAKE} makeplist > pkg-plist && \ | |||||
${REINPLACE_CMD} -E \ | |||||
-e '1d' -e '/etc\/rc.d\/mythbackend/d' -e '/packlist/d' \ | |||||
-e '/mythfrontend.desktop/d' \ | |||||
-e '/(^%%PYTHON_SITELIBDIR%%|^%%SITE_PERL%%|mythpython|mythwikiscripts)/s|^|%%BINDINGS%%|g' \ | |||||
pkg-plist) | |||||
.include <bsd.port.mk> | .include <bsd.port.mk> |