aboutsummaryrefslogtreecommitdiff
path: root/multimedia/mythtv
diff options
context:
space:
mode:
authorGreg Lehey <grog@FreeBSD.org>2007-04-15 09:33:30 +0000
committerGreg Lehey <grog@FreeBSD.org>2007-04-15 09:33:30 +0000
commit65effc873656f45202998919c204fa65cc323d89 (patch)
treede3f523dca6236c71c819ffdb77f19c64bfc9733 /multimedia/mythtv
parentb845a4f62ea72b27e10ea599179f3e00a7a461e8 (diff)
downloadports-65effc873656f45202998919c204fa65cc323d89.tar.gz
ports-65effc873656f45202998919c204fa65cc323d89.zip
Notes
Diffstat (limited to 'multimedia/mythtv')
-rw-r--r--multimedia/mythtv/Makefile21
-rw-r--r--multimedia/mythtv/distinfo6
-rw-r--r--multimedia/mythtv/files/patch-configure32
-rw-r--r--multimedia/mythtv/files/patch-httprequest.cpp33
-rw-r--r--multimedia/mythtv/files/patch-libs-libmythtvfreemheg-Programs.cpp18
-rw-r--r--multimedia/mythtv/pkg-descr22
-rw-r--r--multimedia/mythtv/pkg-install37
7 files changed, 118 insertions, 51 deletions
diff --git a/multimedia/mythtv/Makefile b/multimedia/mythtv/Makefile
index 0b1a25444e20..c8322ea58169 100644
--- a/multimedia/mythtv/Makefile
+++ b/multimedia/mythtv/Makefile
@@ -8,18 +8,18 @@
PORTNAME= mythtv
PORTVERSION= 0.20
+PORTREVISION= 1
CATEGORIES= multimedia
-MASTER_SITES= http://www.mythtv.org/mc/
-DISTNAME= ${PORTNAME}-${PORTVERSION}
+MASTER_SITES= http://chuggalug.clues.com/mythtv/
+DISTNAME= mythtv-fixes-0.20-13053
MAINTAINER= grog@FreeBSD.org
COMMENT= MythTV is a homebrew PVR project
-BUILD_DEPENDS= qmake:${PORTSDIR}/devel/qmake \
- ${SITE_PERL}/${PERL_ARCH}/XML/Parser/Expat.pm:${PORTSDIR}/textproc/p5-XML-SAX-Expat
LIB_DEPENDS= mp3lame.0:${PORTSDIR}/audio/lame \
freetype.9:${PORTSDIR}/print/freetype2
-
+BUILD_DEPENDS= qmake:${PORTSDIR}/devel/qmake \
+ ${SITE_PERL}/${PERL_ARCH}/XML/Parser/Expat.pm:${PORTSDIR}/textproc/p5-XML-SAX-Expat
RUN_DEPENDS= tv_check:${PORTSDIR}/textproc/p5-xmltv \
${X11BASE}/lib/plugins/sqldrivers/libqsqlmysql.so:${PORTSDIR}/databases/qt-mysql-plugin \
wget:${PORTSDIR}/ftp/wget
@@ -34,8 +34,11 @@ CONFIGURE_ENV= QMAKESPEC="${QMAKESPEC}" \
MAKE_ENV= QTDIR="${QT_PREFIX}" QMAKESPEC="${QMAKESPEC}"
USE_RC_SUBR= mythbackend
-CONFIGURE_ARGS= --with-qt-dir=${LOCALBASE}
-# CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+CONFIG= --enable-xvmc --enable-opengl-vsync \
+ --disable-xvmc-pro --disable-xvmc-vld --disable-xvmcw \
+ --prefix=${PREFIX} --extra-cflags=-g --extra-cxxflags=-g
+
+CONFIGURE_ARGS= --with-qt-dir=${LOCALBASE} ${CONFIG}
QMAKESPEC?= ${LOCALBASE}/share/qt/mkspecs/freebsd-g++
@@ -61,9 +64,7 @@ post-extract:
${ECHO_CMD} export QMAKESPEC=${QMAKESPEC}
do-configure:
- @cd ${WRKSRC} && QMAKESPEC=${QMAKESPEC} \
- ./configure --enable-memalign-hack --prefix=${PREFIX} \
- --extra-cflags=-g --extra-cxxflags=-g
+ @cd ${WRKSRC} && QMAKESPEC=${QMAKESPEC} ./configure ${CONFIG}
@${ECHO_CMD} MAKE_ENV: ${MAKE_ENV}
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} qmake \
-spec ${LOCALBASE}/share/qt/mkspecs/freebsd-g++ mythtv.pro
diff --git a/multimedia/mythtv/distinfo b/multimedia/mythtv/distinfo
index 010d6ec667d7..8df78cdff461 100644
--- a/multimedia/mythtv/distinfo
+++ b/multimedia/mythtv/distinfo
@@ -1,3 +1,3 @@
-MD5 (mythtv-0.20.tar.bz2) = 52bec1e0fadf7d24d6dcac3f773ddf74
-SHA256 (mythtv-0.20.tar.bz2) = 777ff60afa89426f0e52e49b0e7a7661ddb45b59d2ebbfdcbe07fd179e526ff3
-SIZE (mythtv-0.20.tar.bz2) = 12380677
+MD5 (mythtv-fixes-0.20-13053.tar.bz2) = 8beb8c54db79c40428f16d2c63a514b2
+SHA256 (mythtv-fixes-0.20-13053.tar.bz2) = 8f1d25cf3a8380501255465da942aba37be7b0418b2e6f24a69292f8e5d97f88
+SIZE (mythtv-fixes-0.20-13053.tar.bz2) = 12332802
diff --git a/multimedia/mythtv/files/patch-configure b/multimedia/mythtv/files/patch-configure
index 479594a17bbf..7f299b12bfd1 100644
--- a/multimedia/mythtv/files/patch-configure
+++ b/multimedia/mythtv/files/patch-configure
@@ -1,6 +1,24 @@
---- configure.orig Tue Aug 29 01:48:08 2006
-+++ configure Sun Nov 12 13:25:22 2006
-@@ -712,7 +712,7 @@
+--- configure.really-orig Fri Mar 16 18:11:46 2007
++++ configure Thu Mar 29 16:18:29 2007
+@@ -463,6 +463,17 @@
+ fi
+ fi
+
++# BSD.
++if uname -s | grep BSD > 0; then
++ dmesg=/var/run/dmesg.boot
++ if test -f $dmesg ; then
++ processor=`grep ^CPU: $dmesg`
++# processor_flags is used only to determine whether the processor
++# supports MMX. The script expexts lower-case 'mmx'. Give it to it.
++ processor_flags=`grep '^ Features=' $dmesg | tr "[:upper:]" "[:lower:]"`
++ fi
++fi
++
+ # These have to be looked up early for some types of cross-compiling to work
+ cpu_overide="no"
+ for opt do
+@@ -712,14 +723,14 @@
;;
FreeBSD)
joystick_menu="no"
@@ -9,3 +27,11 @@
bktr="yes"
audio_oss="yes"
dv1394="no"
+ make="gmake"
+ backend="yes"
+ v4l="yes"
+-CFLAGS="$CFLAGS -pthread"
++CFLAGS="$CFLAGS -pthread -I/usr/local/include"
+ CCONFIG="$CCONFIG freebsd"
+ ;;
+ GNU/kFreeBSD)
diff --git a/multimedia/mythtv/files/patch-httprequest.cpp b/multimedia/mythtv/files/patch-httprequest.cpp
index 48b2e90e4c32..1ec809934093 100644
--- a/multimedia/mythtv/files/patch-httprequest.cpp
+++ b/multimedia/mythtv/files/patch-httprequest.cpp
@@ -1,5 +1,5 @@
---- libs/libmythupnp/httprequest.cpp~ Tue Nov 14 12:29:06 2006
-+++ libs/libmythupnp/httprequest.cpp Tue Nov 14 12:59:13 2006
+--- libs/libmythupnp/httprequest.cpp~ Fri Mar 16 08:25:39 2007
++++ libs/libmythupnp/httprequest.cpp Fri Mar 16 08:40:32 2007
@@ -21,8 +21,12 @@
#ifdef CONFIG_DARWIN
#include "darwin-sendfile.h"
@@ -13,14 +13,13 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
-@@ -281,7 +285,30 @@
- {
+@@ -289,6 +293,24 @@
__off64_t offset = llStart;
int file = open( sFileName.ascii(), O_RDONLY | O_LARGEFILE );
-- sendfile64( getSocketHandle(), file, &offset, llSize );
-+ int error;
-+
+ ssize_t sent = 0;
+#ifdef __FreeBSD__
++
++ int error;
+ error = sendfile (file,
+ getSocketHandle (),
+ offset,
@@ -28,20 +27,22 @@
+ NULL,
+ NULL,
+ NULL );
-+#else
-+ error = sendfile64( getSocketHandle(), file, &offset, llSize );
-+#endif
-+
-+ /*
-+ * Yes, this isn't needed for portability, but I can't stand the sight
-+ * of a call not checked for error conditions.
-+ */
+ if (error)
+ fprintf (stderr,
+ "Can't transfer %s: %s (%d)\n",
+ sFileName.ascii(),
+ strerror (errno),
+ errno );
-
++
++#else
+
+ do
+ {
+@@ -301,6 +319,7 @@
+ llSize -= sent;
+ }
+ while (( sent >= 0 ) && ( llSize > 0 ));
++#endif
+
close( file );
}
diff --git a/multimedia/mythtv/files/patch-libs-libmythtvfreemheg-Programs.cpp b/multimedia/mythtv/files/patch-libs-libmythtvfreemheg-Programs.cpp
new file mode 100644
index 000000000000..ebc08d3a7ab4
--- /dev/null
+++ b/multimedia/mythtv/files/patch-libs-libmythtvfreemheg-Programs.cpp
@@ -0,0 +1,18 @@
+--- libs/libmythfreemheg/Programs.cpp~ Fri Mar 16 18:11:34 2007
++++ libs/libmythfreemheg/Programs.cpp Sat Apr 7 11:41:11 2007
+@@ -30,7 +30,15 @@
+ #include "freemheg.h"
+
+ #include <sys/timeb.h>
++#ifdef __FreeBSD__
++/*
++ * This file refers to the non-POSIX structure timezone, which is
++ * defined in sys/time.h.
++ */
++#include <sys/time.h>
++#else
+ #include <time.h>
++#endif
+
+ #include "../../config.h"
+
diff --git a/multimedia/mythtv/pkg-descr b/multimedia/mythtv/pkg-descr
index f1aacd9403a4..14bee271ff9b 100644
--- a/multimedia/mythtv/pkg-descr
+++ b/multimedia/mythtv/pkg-descr
@@ -1,5 +1,21 @@
-MythTV is a Personal Video Recorder, supporting pausing and rewinding live TV,
-multiple tuner cards, hardware or software video compression, onscreen program
-guides and a distributed architecture.
+MythTV is a "Personal Video Recorder", i.e. a computer-based video
+recorder. It supports pausing and rewinding live TV, multiple tuner
+cards, hardware or software video compression, onscreen program guides
+and a distributed architecture.
+
+The current distributed version of MythTV
+(http://www.mythtv.org/modules.php?name=Downloads&d_op=viewdownload&cid=1)
+is out of date for just about all platforms. It is also protocol
+incompatible with the "bug fix" version, which is maintained under
+subversion, rather like the FreeBSD -STABLE branch. This port is a
+snapshot of svn version 13053, dated 15 March 2007. Later versions of
+this tree are no longer compatible with this port.
+
+MythTV requires tuner drivers which support the V4L standard.
+Currently no official FreeBSD driver does so, but the latest version
+of a beta version of the cxm driver is available from
+http://usleepless.110mb.com/pvrxxx_port-10042007.tgz. Problems have
+been reported with this port; if you use it, you should join the
+FreeBSD-multimedia mailing list and report where appropriate.
WWW: http://www.mythtv.org
diff --git a/multimedia/mythtv/pkg-install b/multimedia/mythtv/pkg-install
index 9c40840b4f4e..4b91ed45bd9a 100644
--- a/multimedia/mythtv/pkg-install
+++ b/multimedia/mythtv/pkg-install
@@ -2,26 +2,28 @@
# $FreeBSD$
PATH=/bin:/usr/sbin:/usr/bin:/usr/local/bin
-USER=mythtv
-GROUP=${USER}
-UID=119
-GID=${UID}
-HOME=/home/mythtv
+case $2 in
+POST-INSTALL)
+ USER=mythtv
+ GROUP=${USER}
+ UID=119
+ GID=${UID}
+ HOME=/home/mythtv
-if pw group show "${GROUP}" 2>/dev/null; then
+ if pw group show "${GROUP}" 2>/dev/null; then
echo "You already have a group \"${GROUP}\", so I will use it."
-else
+ else
if pw groupadd ${GROUP} -g ${GID}; then
echo "Added group \"${GROUP}\"."
else
echo "Adding group \"${GROUP}\" failed..."
exit 1
fi
-fi
+ fi
-if pw user show "${USER}" 2>/dev/null; then
+ if pw user show "${USER}" 2>/dev/null; then
echo "You already have a user \"${USER}\", so I will use it."
-else
+ else
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-d ${HOME} -m -s /bin/sh -c "MythTV"
then
@@ -34,10 +36,10 @@ else
echo "Adding user \"${USER}\" failed..."
exit 1
fi
-fi
+ fi
# Now make the database
-if [ -f /usr/local/etc/rc.d/mysql-server ]; then
+ if [ -f /usr/local/etc/rc.d/mysql-server ]; then
pgrep mysqld > /dev/null
if [ $? -ne 0 ]; then
/usr/local/etc/rc.d/mysql-server start
@@ -65,22 +67,25 @@ EOF
else
echo Created database mythconverg.
fi
-else
+ else
cat <<EOF
No MySQL server found. If you want to run the database on this
machine, please install the latest MySQL server and then create the
database with this command:
-mysql < /usr/local/share/mythtv/database/mc.sql
+ mysql < /usr/local/share/mythtv/database/mc.sql
EOF
-fi
+ fi
cat <<EOF
To set up mythtv, first assign a password to user mythtv, then log in
as mythtv and run
-mythtv-setup
+ mythtv-setup
EOF
+ ;;
+
+esac