diff options
author | nox <nox@FreeBSD.org> | 2011-06-26 03:02:08 +0800 |
---|---|---|
committer | nox <nox@FreeBSD.org> | 2011-06-26 03:02:08 +0800 |
commit | 403751ec8426d32839f8248a68a4f3a4ed40dc25 (patch) | |
tree | 9090f128be2f55def72c055badd45a48a36dc4b2 | |
parent | 7592245272f44fa4e40cadebad98c5cd8d13a4ca (diff) | |
download | freebsd-ports-gnome-403751ec8426d32839f8248a68a4f3a4ed40dc25.tar.gz freebsd-ports-gnome-403751ec8426d32839f8248a68a4f3a4ed40dc25.tar.zst freebsd-ports-gnome-403751ec8426d32839f8248a68a4f3a4ed40dc25.zip |
- Update multimedia/vdr to 1.7.19 (with parts of the update reverted
to avoid a known bug.)
- Fix build with clang for vdr and plugins, and also fix a few bugs it
uncovered.
- Bump PORTREVISION for all plugins.
49 files changed, 745 insertions, 79 deletions
diff --git a/multimedia/vdr-plugin-control/Makefile b/multimedia/vdr-plugin-control/Makefile index 9098bb22d478..9d7d89b44c42 100644 --- a/multimedia/vdr-plugin-control/Makefile +++ b/multimedia/vdr-plugin-control/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-control PORTVERSION= 0.0.2a45 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= multimedia MASTER_SITES= http://ricomp.de/vdr/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION:S/a45/a/}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-control/pkg-plist b/multimedia/vdr-plugin-control/pkg-plist index 0967063b99d8..8134895fff80 100644 --- a/multimedia/vdr-plugin-control/pkg-plist +++ b/multimedia/vdr-plugin-control/pkg-plist @@ -1 +1 @@ -lib/vdr/libvdr-control.so.1.7.18 +lib/vdr/libvdr-control.so.1.7.19 diff --git a/multimedia/vdr-plugin-epgsearch/Makefile b/multimedia/vdr-plugin-epgsearch/Makefile index 726a882cdcce..e33a301d5fb9 100644 --- a/multimedia/vdr-plugin-epgsearch/Makefile +++ b/multimedia/vdr-plugin-epgsearch/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-epgsearch PORTVERSION= 0.9.25b20s20110221 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= multimedia MASTER_SITES= http://winni.vdr-developer.org/epgsearch/downloads/beta/:beta \ LOCAL/nox/:snapshot diff --git a/multimedia/vdr-plugin-epgsearch/pkg-plist b/multimedia/vdr-plugin-epgsearch/pkg-plist index a7393e8bbfb4..52012e28429d 100644 --- a/multimedia/vdr-plugin-epgsearch/pkg-plist +++ b/multimedia/vdr-plugin-epgsearch/pkg-plist @@ -1,7 +1,7 @@ -lib/vdr/libvdr-epgsearch.so.1.7.18 -lib/vdr/libvdr-epgsearchonly.so.1.7.18 -lib/vdr/libvdr-conflictcheckonly.so.1.7.18 -lib/vdr/libvdr-quickepgsearch.so.1.7.18 +lib/vdr/libvdr-epgsearch.so.1.7.19 +lib/vdr/libvdr-epgsearchonly.so.1.7.19 +lib/vdr/libvdr-conflictcheckonly.so.1.7.19 +lib/vdr/libvdr-quickepgsearch.so.1.7.19 %%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-epgsearch.mo %%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-epgsearch.mo %%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-epgsearch.mo diff --git a/multimedia/vdr-plugin-femon/Makefile b/multimedia/vdr-plugin-femon/Makefile index 74eaab1bd86a..bcb1ff22ee62 100644 --- a/multimedia/vdr-plugin-femon/Makefile +++ b/multimedia/vdr-plugin-femon/Makefile @@ -7,6 +7,7 @@ PORTNAME= vdr-plugin-femon PORTVERSION= 1.7.10 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-femon/pkg-plist b/multimedia/vdr-plugin-femon/pkg-plist index 4e5653a2d9c6..c1eea779e6ed 100644 --- a/multimedia/vdr-plugin-femon/pkg-plist +++ b/multimedia/vdr-plugin-femon/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-femon.so.1.7.18 +lib/vdr/libvdr-femon.so.1.7.19 %%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-femon.mo %%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-femon.mo %%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-femon.mo diff --git a/multimedia/vdr-plugin-infosatepg/Makefile b/multimedia/vdr-plugin-infosatepg/Makefile index ace434f3584c..5339651fb959 100644 --- a/multimedia/vdr-plugin-infosatepg/Makefile +++ b/multimedia/vdr-plugin-infosatepg/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-infosatepg PORTVERSION= 0.0.11 -PORTREVISION= 9 +PORTREVISION= 10 CATEGORIES= multimedia MASTER_SITES= http://projects.vdr-developer.org/attachments/download/342/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-infosatepg/pkg-plist b/multimedia/vdr-plugin-infosatepg/pkg-plist index d406e213ce12..87c682b867bb 100644 --- a/multimedia/vdr-plugin-infosatepg/pkg-plist +++ b/multimedia/vdr-plugin-infosatepg/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-infosatepg.so.1.7.18 +lib/vdr/libvdr-infosatepg.so.1.7.19 @exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d /var/cache/vdr/infosatepg %%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-infosatepg.mo %%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-infosatepg.mo diff --git a/multimedia/vdr-plugin-iptv/Makefile b/multimedia/vdr-plugin-iptv/Makefile index ede17f5da3f8..18a9aab3d1ac 100644 --- a/multimedia/vdr-plugin-iptv/Makefile +++ b/multimedia/vdr-plugin-iptv/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-iptv PORTVERSION= 0.4.2 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= multimedia MASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-iptv/pkg-plist b/multimedia/vdr-plugin-iptv/pkg-plist index b0c587a9701c..550b800bd4fa 100644 --- a/multimedia/vdr-plugin-iptv/pkg-plist +++ b/multimedia/vdr-plugin-iptv/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-iptv.so.1.7.18 +lib/vdr/libvdr-iptv.so.1.7.19 @unexec if cmp -s %D/etc/vdr/plugins/iptv/image.sh.sample %D/etc/vdr/plugins/iptv/image.sh; then rm -f %D/etc/vdr/plugins/iptv/image.sh; fi etc/vdr/plugins/iptv/image.sh.sample @exec if [ ! -f %D/etc/vdr/plugins/iptv/image.sh ] ; then cp -p %D/%F %B/image.sh; fi diff --git a/multimedia/vdr-plugin-markad/pkg-plist b/multimedia/vdr-plugin-markad/pkg-plist index e32a9621a9c5..d6c9024be753 100644 --- a/multimedia/vdr-plugin-markad/pkg-plist +++ b/multimedia/vdr-plugin-markad/pkg-plist @@ -1,5 +1,5 @@ bin/markad -lib/vdr/libvdr-markad.so.1.7.18 +lib/vdr/libvdr-markad.so.1.7.19 %%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-markad.mo %%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-markad.mo %%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-markad.mo diff --git a/multimedia/vdr-plugin-osdpip/files/patch-osd.c b/multimedia/vdr-plugin-osdpip/files/patch-osd.c new file mode 100644 index 000000000000..e06997503fa5 --- /dev/null +++ b/multimedia/vdr-plugin-osdpip/files/patch-osd.c @@ -0,0 +1,11 @@ +--- osd.c.orig ++++ osd.c +@@ -788,7 +788,7 @@ eOSState cOsdPipObject::ProcessKey(eKeys + if (cControl::Control()) + { + cControl::Control()->GetIndex(pos, end); +- if (pPos == "") ++ if (*pPos == '\0') + { + pPos = IndexToHMSF(pos); + } diff --git a/multimedia/vdr-plugin-osdpip/pkg-plist b/multimedia/vdr-plugin-osdpip/pkg-plist index b0fb8007de5a..bbedcfe171e9 100644 --- a/multimedia/vdr-plugin-osdpip/pkg-plist +++ b/multimedia/vdr-plugin-osdpip/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-osdpip.so.1.7.18 +lib/vdr/libvdr-osdpip.so.1.7.19 %%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdpip.mo %%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-osdpip.mo %%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-osdpip.mo diff --git a/multimedia/vdr-plugin-osdteletext/Makefile b/multimedia/vdr-plugin-osdteletext/Makefile index 7a9bbb32a932..0e8af81befc3 100644 --- a/multimedia/vdr-plugin-osdteletext/Makefile +++ b/multimedia/vdr-plugin-osdteletext/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-osdteletext PORTVERSION= 0.9.0 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= multimedia MASTER_SITES= http://projects.vdr-developer.org/attachments/download/416/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-osdteletext/pkg-plist b/multimedia/vdr-plugin-osdteletext/pkg-plist index 0627c3a281da..46e4b5ce8abf 100644 --- a/multimedia/vdr-plugin-osdteletext/pkg-plist +++ b/multimedia/vdr-plugin-osdteletext/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-osdteletext.so.1.7.18 +lib/vdr/libvdr-osdteletext.so.1.7.19 @exec /usr/bin/install -o %%VDR_USER%% -g %%VDR_GROUP%% -d /var/cache/vdr/vtx %%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdteletext.mo %%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-osdteletext.mo diff --git a/multimedia/vdr-plugin-reelchannelscan/Makefile b/multimedia/vdr-plugin-reelchannelscan/Makefile index 03f85323303c..c4065db91975 100644 --- a/multimedia/vdr-plugin-reelchannelscan/Makefile +++ b/multimedia/vdr-plugin-reelchannelscan/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-reelchannelscan PORTVERSION= 0.6.1b1.7.15 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= multimedia MASTER_SITES= LOCAL/nox \ http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu/pool/main/v/vdr-plugin-reelchannelscan/ diff --git a/multimedia/vdr-plugin-reelchannelscan/pkg-plist b/multimedia/vdr-plugin-reelchannelscan/pkg-plist index 0b4915996582..106a833cbb47 100644 --- a/multimedia/vdr-plugin-reelchannelscan/pkg-plist +++ b/multimedia/vdr-plugin-reelchannelscan/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-reelchannelscan.so.1.7.18 +lib/vdr/libvdr-reelchannelscan.so.1.7.19 etc/vdr/plugins/transponders/S0.8W.tpl etc/vdr/plugins/transponders/S10.0E.tpl etc/vdr/plugins/transponders/S100.5E.tpl diff --git a/multimedia/vdr-plugin-remote/Makefile b/multimedia/vdr-plugin-remote/Makefile index 2d9054531513..de0d9e8276b4 100644 --- a/multimedia/vdr-plugin-remote/Makefile +++ b/multimedia/vdr-plugin-remote/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-remote PORTVERSION= 0.4.0 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= multimedia MASTER_SITES= http://www.escape-edv.de/endriss/vdr/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-remote/pkg-plist b/multimedia/vdr-plugin-remote/pkg-plist index 04567b582ba1..3390b4e4cb43 100644 --- a/multimedia/vdr-plugin-remote/pkg-plist +++ b/multimedia/vdr-plugin-remote/pkg-plist @@ -1 +1 @@ -lib/vdr/libvdr-remote.so.1.7.18 +lib/vdr/libvdr-remote.so.1.7.19 diff --git a/multimedia/vdr-plugin-skinenigmang/Makefile b/multimedia/vdr-plugin-skinenigmang/Makefile index f53851c62010..fddb7f81a0d4 100644 --- a/multimedia/vdr-plugin-skinenigmang/Makefile +++ b/multimedia/vdr-plugin-skinenigmang/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-skinenigmang PORTVERSION= 0.1.1 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= multimedia MASTER_SITES= http://andreas.vdr-developer.org/enigmang/download/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-skinenigmang/pkg-plist b/multimedia/vdr-plugin-skinenigmang/pkg-plist index 9a465de9f925..70becd701a26 100644 --- a/multimedia/vdr-plugin-skinenigmang/pkg-plist +++ b/multimedia/vdr-plugin-skinenigmang/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-skinenigmang.so.1.7.18 +lib/vdr/libvdr-skinenigmang.so.1.7.19 etc/vdr/plugins/skinenigmang/HISTORY etc/vdr/plugins/skinenigmang/README etc/vdr/plugins/skinenigmang/flags/deu.xpm diff --git a/multimedia/vdr-plugin-softdevice/pkg-plist b/multimedia/vdr-plugin-softdevice/pkg-plist index 47bbadc55811..a54ac12b2947 100644 --- a/multimedia/vdr-plugin-softdevice/pkg-plist +++ b/multimedia/vdr-plugin-softdevice/pkg-plist @@ -1,7 +1,7 @@ bin/ShmClient -lib/vdr/libvdr-softdevice.so.1.7.18 -lib/vdr/libsoftdevice-xv.so.1.7.18 -lib/vdr/libsoftdevice-shm.so.1.7.18 +lib/vdr/libvdr-softdevice.so.1.7.19 +lib/vdr/libsoftdevice-xv.so.1.7.19 +lib/vdr/libsoftdevice-shm.so.1.7.19 %%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-softdevice.mo %%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-softdevice.mo %%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-softdevice.mo diff --git a/multimedia/vdr-plugin-streamdev/Makefile b/multimedia/vdr-plugin-streamdev/Makefile index ae9eb04f4fd3..1cc4000e3445 100644 --- a/multimedia/vdr-plugin-streamdev/Makefile +++ b/multimedia/vdr-plugin-streamdev/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-streamdev PORTVERSION= 0.5.1 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= multimedia MASTER_SITES= http://projects.vdr-developer.org/attachments/download/497/:release \ LOCAL:snapshot diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c b/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c new file mode 100644 index 000000000000..393216aa4e1d --- /dev/null +++ b/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c @@ -0,0 +1,28 @@ +--- server/connectionVTP.c.orig ++++ server/connectionVTP.c +@@ -245,12 +245,14 @@ bool cLSTEHandler::Next(bool &Last) + if (m_Event != NULL) { + m_State = Title; + #ifdef __FreeBSD__ +- return m_Client->Respond(-215, "E %u %d %d %X", m_Event->EventID(), ++ return m_Client->Respond(-215, "E %u " PRId64 " %d %X", m_Event->EventID(), ++ (int64_t)m_Event->StartTime(), m_Event->Duration(), ++ m_Event->TableID()); + #else + return m_Client->Respond(-215, "E %u %ld %d %X", m_Event->EventID(), +-#endif + m_Event->StartTime(), m_Event->Duration(), + m_Event->TableID()); ++#endif + } else { + m_State = EndChannel; + return Next(Last); +@@ -292,7 +294,7 @@ bool cLSTEHandler::Next(bool &Last) + #endif /* PARENTALRATING */ + if (m_Event->Vps()) + #ifdef __FreeBSD__ +- return m_Client->Respond(-215, "V %d", m_Event->Vps()); ++ return m_Client->Respond(-215, "V " PRId64, (int64_t)m_Event->Vps()); + #else + return m_Client->Respond(-215, "V %ld", m_Event->Vps()); + #endif diff --git a/multimedia/vdr-plugin-streamdev/pkg-plist b/multimedia/vdr-plugin-streamdev/pkg-plist index 28e5d12ec26d..2eb750f792b1 100644 --- a/multimedia/vdr-plugin-streamdev/pkg-plist +++ b/multimedia/vdr-plugin-streamdev/pkg-plist @@ -1,5 +1,5 @@ -lib/vdr/libvdr-streamdev-client.so.1.7.18 -lib/vdr/libvdr-streamdev-server.so.1.7.18 +lib/vdr/libvdr-streamdev-client.so.1.7.19 +lib/vdr/libvdr-streamdev-server.so.1.7.19 @unexec if cmp -s %D/etc/vdr/plugins/streamdev-server/externremux.sh.sample %D/etc/vdr/plugins/streamdev-server/externremux.sh; then rm -f %D/etc/vdr/plugins/streamdev-server/externremux.sh; fi etc/vdr/plugins/streamdev-server/externremux.sh.sample @exec if [ ! -f %D/etc/vdr/plugins/streamdev-server/externremux.sh ] ; then cp -p %D/%F %B/externremux.sh; fi diff --git a/multimedia/vdr-plugin-ttxtsubs/Makefile b/multimedia/vdr-plugin-ttxtsubs/Makefile index caebb82b9710..1999f13bfdb3 100644 --- a/multimedia/vdr-plugin-ttxtsubs/Makefile +++ b/multimedia/vdr-plugin-ttxtsubs/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-ttxtsubs PORTVERSION= 0.2.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= multimedia MASTER_SITES= http://projects.vdr-developer.org/attachments/download/309/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-ttxtsubs/pkg-plist b/multimedia/vdr-plugin-ttxtsubs/pkg-plist index c24ff0cdeaca..bc2ec4d2473a 100644 --- a/multimedia/vdr-plugin-ttxtsubs/pkg-plist +++ b/multimedia/vdr-plugin-ttxtsubs/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-ttxtsubs.so.1.7.18 +lib/vdr/libvdr-ttxtsubs.so.1.7.19 %%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-ttxtsubs.mo %%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-ttxtsubs.mo %%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-ttxtsubs.mo diff --git a/multimedia/vdr-plugin-upnp/files/patch-clang b/multimedia/vdr-plugin-upnp/files/patch-clang new file mode 100644 index 000000000000..27a47a1d1684 --- /dev/null +++ b/multimedia/vdr-plugin-upnp/files/patch-clang @@ -0,0 +1,207 @@ +--- a/misc/util.cpp ++++ b/misc/util.cpp +@@ -331,105 +331,105 @@ const char* escapeXMLCharacters(const ch + for(unsigned int i = 0; i < strlen(Data); i++){ + Char = Data[i]; + switch(Char){ +- case L'€': NewData += "€"; break; +- case L'"': NewData += """; break; +- case L'&': NewData += "&"; break; +- case L'<': NewData += "<"; break; +- case L'>': NewData += ">"; break; +- case L'¡': NewData += "¡"; break; +- case L'¢': NewData += "¢"; break; +- case L'£': NewData += "£"; break; +- case L'¤': NewData += "¤"; break; +- case L'¥': NewData += "¥"; break; +- case L'¦': NewData += "¦"; break; +- case L'§': NewData += "§"; break; +- case L'¨': NewData += "¨"; break; +- case L'©': NewData += "©"; break; +- case L'ª': NewData += "ª"; break; +- case L'¬': NewData += "¬"; break; +- case L'': NewData += "­"; break; +- case L'®': NewData += "®"; break; +- case L'¯': NewData += "¯"; break; +- case L'°': NewData += "°"; break; +- case L'±': NewData += "±"; break; +- case L'²': NewData += "²"; break; +- case L'³': NewData += "³"; break; +- case L'´': NewData += "´"; break; +- case L'µ': NewData += "µ"; break; +- case L'¶': NewData += "¶"; break; +- case L'·': NewData += "·"; break; +- case L'¸': NewData += "¸"; break; +- case L'¹': NewData += "¹"; break; +- case L'º': NewData += "º"; break; +- case L'»': NewData += "»"; break; +- case L'«': NewData += "«"; break; +- case L'¼': NewData += "¼"; break; +- case L'½': NewData += "½"; break; +- case L'¾': NewData += "¾"; break; +- case L'¿': NewData += "¿"; break; +- case L'À': NewData += "À"; break; +- case L'Á': NewData += "Á"; break; +- case L'Â': NewData += "Â"; break; +- case L'Ã': NewData += "Ã"; break; +- case L'Ä': NewData += "Ä"; break; +- case L'Å': NewData += "Å"; break; +- case L'Æ': NewData += "Æ"; break; +- case L'Ç': NewData += "Ç"; break; +- case L'È': NewData += "È"; break; +- case L'É': NewData += "É"; break; +- case L'Ê': NewData += "Ê"; break; +- case L'Ë': NewData += "Ë"; break; +- case L'Ì': NewData += "Ì"; break; +- case L'Í': NewData += "Í"; break; +- case L'Î': NewData += "Î"; break; +- case L'Ï': NewData += "Ï"; break; +- case L'Ð': NewData += "Ð"; break; +- case L'Ñ': NewData += "Ñ"; break; +- case L'Ò': NewData += "Ò"; break; +- case L'Ó': NewData += "Ó"; break; +- case L'Ô': NewData += "Ô"; break; +- case L'Õ': NewData += "Õ"; break; +- case L'Ö': NewData += "Ö"; break; +- case L'×': NewData += "×"; break; +- case L'Ø': NewData += "Ø"; break; +- case L'Ù': NewData += "Ù"; break; +- case L'Ú': NewData += "Ú"; break; +- case L'Û': NewData += "Û"; break; +- case L'Ü': NewData += "Ü"; break; +- case L'Ý': NewData += "Ý"; break; +- case L'Þ': NewData += "Þ"; break; +- case L'ß': NewData += "ß"; break; +- case L'à': NewData += "à"; break; +- case L'á': NewData += "á"; break; +- case L'â': NewData += "â"; break; +- case L'ã': NewData += "ã"; break; +- case L'ä': NewData += "ä"; break; +- case L'å': NewData += "å"; break; +- case L'æ': NewData += "æ"; break; +- case L'ç': NewData += "ç"; break; +- case L'è': NewData += "è"; break; +- case L'é': NewData += "é"; break; +- case L'ê': NewData += "ê"; break; +- case L'ë': NewData += "ë"; break; +- case L'ì': NewData += "ì"; break; +- case L'í': NewData += "í"; break; +- case L'î': NewData += "î"; break; +- case L'ï': NewData += "ï"; break; +- case L'ð': NewData += "ð"; break; +- case L'ñ': NewData += "ñ"; break; +- case L'ò': NewData += "ò"; break; +- case L'ó': NewData += "ó"; break; +- case L'ô': NewData += "ô"; break; +- case L'õ': NewData += "õ"; break; +- case L'ö': NewData += "ö"; break; +- case L'÷': NewData += "÷"; break; +- case L'ø': NewData += "ø"; break; +- case L'ù': NewData += "ù"; break; +- case L'ú': NewData += "ú"; break; +- case L'û': NewData += "û"; break; +- case L'ü': NewData += "ü"; break; +- case L'ý': NewData += "ý"; break; +- case L'þ': NewData += "þ"; break; ++ case /* L'€' */ 0x20ac: NewData += "€"; break; ++ case /* L'"' */ 0x22: NewData += """; break; ++ case /* L'&' */ 0x26: NewData += "&"; break; ++ case /* L'<' */ 0x3c: NewData += "<"; break; ++ case /* L'>' */ 0x3e: NewData += ">"; break; ++ case /* L'¡' */ 0xa1: NewData += "¡"; break; ++ case /* L'¢' */ 0xa2: NewData += "¢"; break; ++ case /* L'£' */ 0xa3: NewData += "£"; break; ++ case /* L'¤' */ 0xa4: NewData += "¤"; break; ++ case /* L'¥' */ 0xa5: NewData += "¥"; break; ++ case /* L'¦' */ 0xa6: NewData += "¦"; break; ++ case /* L'§' */ 0xa7: NewData += "§"; break; ++ case /* L'¨' */ 0xa8: NewData += "¨"; break; ++ case /* L'©' */ 0xa9: NewData += "©"; break; ++ case /* L'ª' */ 0xaa: NewData += "ª"; break; ++ case /* L'¬' */ 0xac: NewData += "¬"; break; ++ case /* L'' */ 0xad: NewData += "­"; break; ++ case /* L'®' */ 0xae: NewData += "®"; break; ++ case /* L'¯' */ 0xaf: NewData += "¯"; break; ++ case /* L'°' */ 0xb0: NewData += "°"; break; ++ case /* L'±' */ 0xb1: NewData += "±"; break; ++ case /* L'²' */ 0xb2: NewData += "²"; break; ++ case /* L'³' */ 0xb3: NewData += "³"; break; ++ case /* L'´' */ 0xb4: NewData += "´"; break; ++ case /* L'µ' */ 0xb5: NewData += "µ"; break; ++ case /* L'¶' */ 0xb6: NewData += "¶"; break; ++ case /* L'·' */ 0xb7: NewData += "·"; break; ++ case /* L'¸' */ 0xb8: NewData += "¸"; break; ++ case /* L'¹' */ 0xb9: NewData += "¹"; break; ++ case /* L'º' */ 0xba: NewData += "º"; break; ++ case /* L'»' */ 0xbb: NewData += "»"; break; ++ case /* L'«' */ 0xab: NewData += "«"; break; ++ case /* L'¼' */ 0xbc: NewData += "¼"; break; ++ case /* L'½' */ 0xbd: NewData += "½"; break; ++ case /* L'¾' */ 0xbe: NewData += "¾"; break; ++ case /* L'¿' */ 0xbf: NewData += "¿"; break; ++ case /* L'À' */ 0xc0: NewData += "À"; break; ++ case /* L'Á' */ 0xc1: NewData += "Á"; break; ++ case /* L'Â' */ 0xc2: NewData += "Â"; break; ++ case /* L'Ã' */ 0xc3: NewData += "Ã"; break; ++ case /* L'Ä' */ 0xc4: NewData += "Ä"; break; ++ case /* L'Å' */ 0xc5: NewData += "Å"; break; ++ case /* L'Æ' */ 0xc6: NewData += "Æ"; break; ++ case /* L'Ç' */ 0xc7: NewData += "Ç"; break; ++ case /* L'È' */ 0xc8: NewData += "È"; break; ++ case /* L'É' */ 0xc9: NewData += "É"; break; ++ case /* L'Ê' */ 0xca: NewData += "Ê"; break; ++ case /* L'Ë' */ 0xcb: NewData += "Ë"; break; ++ case /* L'Ì' */ 0xcc: NewData += "Ì"; break; ++ case /* L'Í' */ 0xcd: NewData += "Í"; break; ++ case /* L'Î' */ 0xce: NewData += "Î"; break; ++ case /* L'Ï' */ 0xcf: NewData += "Ï"; break; ++ case /* L'Ð' */ 0xd0: NewData += "Ð"; break; ++ case /* L'Ñ' */ 0xd1: NewData += "Ñ"; break; ++ case /* L'Ò' */ 0xd2: NewData += "Ò"; break; ++ case /* L'Ó' */ 0xd3: NewData += "Ó"; break; ++ case /* L'Ô' */ 0xd4: NewData += "Ô"; break; ++ case /* L'Õ' */ 0xd5: NewData += "Õ"; break; ++ case /* L'Ö' */ 0xd6: NewData += "Ö"; break; ++ case /* L'×' */ 0xd7: NewData += "×"; break; ++ case /* L'Ø' */ 0xd8: NewData += "Ø"; break; ++ case /* L'Ù' */ 0xd9: NewData += "Ù"; break; ++ case /* L'Ú' */ 0xda: NewData += "Ú"; break; ++ case /* L'Û' */ 0xdb: NewData += "Û"; break; ++ case /* L'Ü' */ 0xdc: NewData += "Ü"; break; ++ case /* L'Ý' */ 0xdd: NewData += "Ý"; break; ++ case /* L'Þ' */ 0xde: NewData += "Þ"; break; ++ case /* L'ß' */ 0xdf: NewData += "ß"; break; ++ case /* L'à' */ 0xe0: NewData += "à"; break; ++ case /* L'á' */ 0xe1: NewData += "á"; break; ++ case /* L'â' */ 0xe2: NewData += "â"; break; ++ case /* L'ã' */ 0xe3: NewData += "ã"; break; ++ case /* L'ä' */ 0xe4: NewData += "ä"; break; ++ case /* L'å' */ 0xe5: NewData += "å"; break; ++ case /* L'æ' */ 0xe6: NewData += "æ"; break; ++ case /* L'ç' */ 0xe7: NewData += "ç"; break; ++ case /* L'è' */ 0xe8: NewData += "è"; break; ++ case /* L'é' */ 0xe9: NewData += "é"; break; ++ case /* L'ê' */ 0xea: NewData += "ê"; break; ++ case /* L'ë' */ 0xeb: NewData += "ë"; break; ++ case /* L'ì' */ 0xec: NewData += "ì"; break; ++ case /* L'í' */ 0xed: NewData += "í"; break; ++ case /* L'î' */ 0xee: NewData += "î"; break; ++ case /* L'ï' */ 0xef: NewData += "ï"; break; ++ case /* L'ð' */ 0xf0: NewData += "ð"; break; ++ case /* L'ñ' */ 0xf1: NewData += "ñ"; break; ++ case /* L'ò' */ 0xf2: NewData += "ò"; break; ++ case /* L'ó' */ 0xf3: NewData += "ó"; break; ++ case /* L'ô' */ 0xf4: NewData += "ô"; break; ++ case /* L'õ' */ 0xf5: NewData += "õ"; break; ++ case /* L'ö' */ 0xf6: NewData += "ö"; break; ++ case /* L'÷' */ 0xf7: NewData += "÷"; break; ++ case /* L'ø' */ 0xf8: NewData += "ø"; break; ++ case /* L'ù' */ 0xf9: NewData += "ù"; break; ++ case /* L'ú' */ 0xfa: NewData += "ú"; break; ++ case /* L'û' */ 0xfb: NewData += "û"; break; ++ case /* L'ü' */ 0xfc: NewData += "ü"; break; ++ case /* L'ý' */ 0xfd: NewData += "ý"; break; ++ case /* L'þ' */ 0xfe: NewData += "þ"; break; + default: NewData += Data[i]; break; + } + } diff --git a/multimedia/vdr-plugin-upnp/pkg-plist b/multimedia/vdr-plugin-upnp/pkg-plist index 9e378db464a0..25a9439d5d34 100644 --- a/multimedia/vdr-plugin-upnp/pkg-plist +++ b/multimedia/vdr-plugin-upnp/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-upnp.so.1.7.18 +lib/vdr/libvdr-upnp.so.1.7.19 etc/vdr/plugins/upnp/http/icons/upnpIconLrg.jpeg etc/vdr/plugins/upnp/http/icons/upnpIconLrg.png etc/vdr/plugins/upnp/http/icons/upnpIconSm.jpeg diff --git a/multimedia/vdr-plugin-vnsiserver/Makefile b/multimedia/vdr-plugin-vnsiserver/Makefile index 1ab359f66952..307af30a7d7b 100644 --- a/multimedia/vdr-plugin-vnsiserver/Makefile +++ b/multimedia/vdr-plugin-vnsiserver/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-vnsiserver PORTVERSION= 0.0.2s20100808.0952 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= multimedia MASTER_SITES= http://ppa.launchpad.net/yavdr/testing-vdr/ubuntu/pool/main/v/vdr-plugin-vnsiserver/ \ LOCAL/nox/ diff --git a/multimedia/vdr-plugin-vnsiserver/files/patch-cmdcontrol.c b/multimedia/vdr-plugin-vnsiserver/files/patch-cmdcontrol.c new file mode 100644 index 000000000000..11bd62546019 --- /dev/null +++ b/multimedia/vdr-plugin-vnsiserver/files/patch-cmdcontrol.c @@ -0,0 +1,11 @@ +--- a/cmdcontrol.c ++++ b/cmdcontrol.c +@@ -1232,7 +1232,7 @@ bool cCmdControl::processRECORDINGS_Move + return true; + } + } +- else if ((statret == 0) && (! (dstat.st_mode && S_IFDIR))) // Something exists but it's not a dir ++ else if ((statret == 0) && (! (dstat.st_mode & S_IFDIR))) // Something exists but it's not a dir + { + delete[] dateDirName; + delete[] titleDirName; diff --git a/multimedia/vdr-plugin-vnsiserver/pkg-plist b/multimedia/vdr-plugin-vnsiserver/pkg-plist index dafe2143dc41..ab01169af776 100644 --- a/multimedia/vdr-plugin-vnsiserver/pkg-plist +++ b/multimedia/vdr-plugin-vnsiserver/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-vnsiserver.so.1.7.18 +lib/vdr/libvdr-vnsiserver.so.1.7.19 @unexec if cmp -s %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf.sample %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf; then rm -f %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf; fi etc/vdr/plugins/vnsiserver/allowed_hosts.conf.sample @exec if [ ! -f %D/etc/vdr/plugins/vnsiserver/allowed_hosts.conf ] ; then cp -p %D/%F %B/allowed_hosts.conf; fi diff --git a/multimedia/vdr-plugin-wirbelscan/Makefile b/multimedia/vdr-plugin-wirbelscan/Makefile index 55c2129341fe..c6ae676c5f1c 100644 --- a/multimedia/vdr-plugin-wirbelscan/Makefile +++ b/multimedia/vdr-plugin-wirbelscan/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-wirbelscan PORTVERSION= 0.0.7 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= multimedia MASTER_SITES= http://wirbel.htpc-forum.de/wirbelscan/ DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} diff --git a/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c b/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c new file mode 100644 index 000000000000..fc4ce34c9b74 --- /dev/null +++ b/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c @@ -0,0 +1,11 @@ +--- a/scanner.c ++++ b/scanner.c +@@ -633,7 +633,7 @@ void cScanner::Action(void) {
+ else
+ continue;
+ cCondWait::SleepMs(2000);
+- vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE || V4L2_CAP_SLICED_VBI_CAPTURE);
++ vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_CAPTURE);
+ if (vbiSupport)
+ dlog(1, "device can capture vbi");
+ }
diff --git a/multimedia/vdr-plugin-wirbelscan/pkg-plist b/multimedia/vdr-plugin-wirbelscan/pkg-plist index 66539983a8d4..eb1d1cc52f62 100644 --- a/multimedia/vdr-plugin-wirbelscan/pkg-plist +++ b/multimedia/vdr-plugin-wirbelscan/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-wirbelscan.so.1.7.18 +lib/vdr/libvdr-wirbelscan.so.1.7.19 %%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-wirbelscan.mo %%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-wirbelscan.mo %%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-wirbelscan.mo diff --git a/multimedia/vdr-plugin-xineliboutput/Makefile b/multimedia/vdr-plugin-xineliboutput/Makefile index 9ba011a27856..47d60364067d 100644 --- a/multimedia/vdr-plugin-xineliboutput/Makefile +++ b/multimedia/vdr-plugin-xineliboutput/Makefile @@ -41,6 +41,9 @@ MAKE_ARGS+= CONFIGURE_OPTS="${CONFIGURE_OPTS}" .include <bsd.port.pre.mk> post-patch: post-patch-plugin +# clang doesn't know -MG + ${TOUCH} -t 200001010000 ${WRKSRC}/nosignal_720x576.c \ + ${WRKSRC}/black_720x576.c ${WRKSRC}/vdrlogo_720x576.c post-install: post-install-pluginlocales @${INSTALL} -o ${VDR_USER} -g ${VDR_GROUP} -d ${PREFIX}/etc/vdr/plugins/${PLUGIN} diff --git a/multimedia/vdr-plugin-xineliboutput/pkg-plist b/multimedia/vdr-plugin-xineliboutput/pkg-plist index 73dccaa85556..9efad9299631 100644 --- a/multimedia/vdr-plugin-xineliboutput/pkg-plist +++ b/multimedia/vdr-plugin-xineliboutput/pkg-plist @@ -4,7 +4,7 @@ lib/xine/plugins/1.29/xineplug_inp_xvdr.so lib/xine/plugins/1.29/post/xineplug_post_autocrop.so lib/xine/plugins/1.29/post/xineplug_post_swscale.so lib/xine/plugins/1.29/post/xineplug_post_audiochannel.so -lib/vdr/libvdr-xineliboutput.so.1.7.18 +lib/vdr/libvdr-xineliboutput.so.1.7.19 lib/vdr/libxineliboutput-sxfe.so.1.0.90-cvs @unexec if cmp -s %D/etc/vdr/plugins/xineliboutput/allowed_hosts.conf.sample %D/etc/vdr/plugins/xineliboutput/allowed_hosts.conf; then rm -f %D/etc/vdr/plugins/xineliboutput/allowed_hosts.conf; fi etc/vdr/plugins/xineliboutput/allowed_hosts.conf.sample diff --git a/multimedia/vdr-plugins/Makefile b/multimedia/vdr-plugins/Makefile index 34b9611141b8..3b272bef8875 100644 --- a/multimedia/vdr-plugins/Makefile +++ b/multimedia/vdr-plugins/Makefile @@ -6,8 +6,7 @@ # PORTNAME= vdr-plugins -PORTVERSION= 1.7.18 -PORTREVISION= 3 +PORTVERSION= 1.7.19 CATEGORIES= multimedia MASTER_SITES= # none DISTFILES= # none diff --git a/multimedia/vdr/Makefile b/multimedia/vdr/Makefile index 5e08686308b8..599a46ed7d28 100644 --- a/multimedia/vdr/Makefile +++ b/multimedia/vdr/Makefile @@ -6,8 +6,7 @@ # PORTNAME= vdr -PORTVERSION= 1.7.18 -PORTREVISION= 3 +PORTVERSION= 1.7.19 CATEGORIES= multimedia MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/ @@ -32,8 +31,10 @@ MAKE_JOBS_SAFE= yes MAN1= vdr.1 MAN5= vdr.5 MANCOMPRESSED= yes -MAKE_JOBS_SAFE= yes CONFDIR= $(ETCDIR) +USE_CSTD= gnu89 +MAKE_ARGS+= CC=${CC} +MAKE_ARGS+= CXX=${CXX} MAKE_ARGS+= DVBDIR=${LOCALBASE}/include MAKE_ARGS+= VDR_USER=${VDR_USER} MAKE_ARGS+= CONFDIR=$(CONFDIR) @@ -72,9 +73,18 @@ ALL_TARGET= vdr plugins .endif post-patch: +# avoid a bug found post-release by reverting parts of the 1.7.19 update +# thread: +# http://thread.gmane.org/gmane.linux.vdr/44724/focus=44729 + @${PATCH} -d ${WRKSRC} --quiet -p1 -R <${FILESDIR}/vdr-1.7.18-1.7.19-tspacketbug.diff +# clang doesn't know -MG: + @${REINPLACE_CMD} '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \ + ${WRKSRC}/Makefile ${WRKSRC}/libsi/Makefile \ + ${WRKSRC}/PLUGINS/src/*/Makefile .if defined(WITH_TTXPATCH) @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.15-ttxtsubs.patch-1 @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.15-ttxtsubs.patch-2 + @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.19-ttxtsubs.patch-3 .endif @${SED} 's|^\(VIDEODIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${VIDEODIR}|' \ ${WRKSRC}/Make.config.template >${WRKSRC}/Make.config diff --git a/multimedia/vdr/Makefile.plugins b/multimedia/vdr/Makefile.plugins index d16bf05e33a8..50ce7bc76f6b 100644 --- a/multimedia/vdr/Makefile.plugins +++ b/multimedia/vdr/Makefile.plugins @@ -1,6 +1,6 @@ # this is to be included by vdr plugin ports # -# $FreeBSD: /tmp/pcvs/ports/multimedia/vdr/Makefile.plugins,v 1.1 2011-03-26 19:13:49 nox Exp $ +# $FreeBSD: /tmp/pcvs/ports/multimedia/vdr/Makefile.plugins,v 1.2 2011-06-25 19:02:04 nox Exp $ BUILD_DEPENDS+= ${LOCALBASE}/include/linux/dvb/frontend.h:${PORTSDIR}/multimedia/v4l_compat @@ -13,6 +13,9 @@ USE_GMAKE= yes USE_GETTEXT= yes VDRDIR= ${LOCALBASE}/include/vdr VDRINCDIR= ${LOCALBASE}/include +USE_CSTD?= gnu89 +MAKE_ARGS+= CC=${CC} +MAKE_ARGS+= CXX=${CXX} MAKE_ARGS+= DVBDIR=${LOCALBASE}/include MAKE_ARGS+= VDRDIR=${VDRDIR} MAKE_ARGS+= VDR_USER=${VDR_USER} @@ -41,7 +44,8 @@ post-patch-plugin: 's/^\(LOCALEDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2..\/locale/;'\\ 's/^\(VDRDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRDIR:S-/-\\\\/-g}/;"\\ 's/^\(VDRINCDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRINCDIR:S-/-\\\\/-g}/;"\\ - 's/^\(BINDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${PREFIX:S-/-\\\\/-g}\/bin/;" \ + 's/^\(BINDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${PREFIX:S-/-\\\\/-g}\/bin/;"\\ + '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \ ${WRKSRC}/Makefile ${VDR_PLUGIN_MAKEFILES} post-install-pluginlocales: diff --git a/multimedia/vdr/distinfo b/multimedia/vdr/distinfo index 7a5a420d8c52..0033b061d918 100644 --- a/multimedia/vdr/distinfo +++ b/multimedia/vdr/distinfo @@ -1,2 +1,2 @@ -SHA256 (vdr/vdr-1.7.18.tar.bz2) = 503168921cbcae21687fc4d686c56c2f0b1cbdc578fb053b4a18eee8e5002705 -SIZE (vdr/vdr-1.7.18.tar.bz2) = 712601 +SHA256 (vdr/vdr-1.7.19.tar.bz2) = 25481ac1fdc01fbed4e8bde6436346bb919c966aff4da0d67b5cc13318e6039e +SIZE (vdr/vdr-1.7.19.tar.bz2) = 717625 diff --git a/multimedia/vdr/files/patch-clang b/multimedia/vdr/files/patch-clang new file mode 100644 index 000000000000..1691aedbdcd6 --- /dev/null +++ b/multimedia/vdr/files/patch-clang @@ -0,0 +1,11 @@ +--- config.h.orig ++++ config.h +@@ -103,7 +103,7 @@ public: + if (!isempty(s)) { + T *l = new T; + if (l->Parse(s)) +- Add(l); ++ this->Add(l); + else { + esyslog("ERROR: error in %s, line %d", fileName, line); + delete l; diff --git a/multimedia/vdr/files/patch-receiver.c b/multimedia/vdr/files/patch-receiver.c new file mode 100644 index 000000000000..c37c79d10f67 --- /dev/null +++ b/multimedia/vdr/files/patch-receiver.c @@ -0,0 +1,15 @@ +--- receiver.c.orig ++++ receiver.c +@@ -36,10 +36,10 @@ cReceiver::cReceiver(const cChannel *Cha + cReceiver::~cReceiver() + { + if (device) { +- const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will segfault now!"; ++ const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will abort now!"; + esyslog("%s", msg); + fprintf(stderr, "%s\n", msg); +- *(char *)0 = 0; // cause a segfault ++ abort(); + } + } + diff --git a/multimedia/vdr/files/vdr-1.7.15-ttxtsubs.patch-1 b/multimedia/vdr/files/vdr-1.7.15-ttxtsubs.patch-1 index acd3b283d8f8..45e8def1bd8e 100644 --- a/multimedia/vdr/files/vdr-1.7.15-ttxtsubs.patch-1 +++ b/multimedia/vdr/files/vdr-1.7.15-ttxtsubs.patch-1 @@ -81,29 +81,6 @@ index b867297..63c8b9c 100644 void SetCaIds(const int *CaIds); // list must be zero-terminated void SetCaDescriptors(int Level); void SetLinkChannels(cLinkChannels *LinkChannels); -diff --git a/ci.c b/ci.c -index 6c7b031..22fda9f 100644 ---- a/ci.c -+++ b/ci.c -@@ -1911,6 +1911,8 @@ void cCamSlot::AddChannel(const cChannel *Channel) - AddPid(Channel->Sid(), *Apid, STREAM_TYPE_AUDIO); - for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++) - AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_DOLBY); -+ if (Channel->Tpid() && Setup.SupportTeletext) -+ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_DOLBY); - } - } - -@@ -1932,6 +1934,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel) - CaPmt.AddPid(*Apid, STREAM_TYPE_AUDIO); - for (const int *Dpid = Channel->Dpids(); *Dpid; Dpid++) - CaPmt.AddPid(*Dpid, STREAM_TYPE_DOLBY); -+ if (Channel->Tpid() && Setup.SupportTeletext) { -+ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_DOLBY); // FIXME: STREAM_TYPE_DOLBY should probably be renamed STREAM_TYPE_PRIVATE -+ } - cas->SendPMT(&CaPmt); - cTimeMs Timeout(QUERY_REPLY_TIMEOUT); - do { diff --git a/config.c b/config.c index 73b11b1..f2eebe6 100644 --- a/config.c diff --git a/multimedia/vdr/files/vdr-1.7.18-1.7.19-tspacketbug.diff b/multimedia/vdr/files/vdr-1.7.18-1.7.19-tspacketbug.diff new file mode 100644 index 000000000000..a58f4d879995 --- /dev/null +++ b/multimedia/vdr/files/vdr-1.7.18-1.7.19-tspacketbug.diff @@ -0,0 +1,356 @@ +diff -ruN vdr-1.7.18/recorder.c vdr-1.7.19/recorder.c +--- vdr-1.7.18/recorder.c 2010-12-27 12:35:46.000000000 +0100 ++++ vdr-1.7.19/recorder.c 2011-06-12 16:16:45.000000000 +0200 +@@ -4,7 +4,7 @@ + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * +- * $Id: recorder.c 2.9 2010/12/27 11:35:46 kls Exp $ ++ * $Id: recorder.c 2.11 2011/06/12 14:16:45 kls Exp $ + */ + + #include "recorder.h" +@@ -31,7 +31,7 @@ + + SpinUpDisk(FileName); + +- ringBuffer = new cRingBufferLinear(RECORDERBUFSIZE, MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE, true, "Recorder"); ++ ringBuffer = new cRingBufferLinear(RECORDERBUFSIZE, TS_SIZE, true, "Recorder"); + ringBuffer->SetTimeouts(0, 100); + + int Pid = Channel->Vpid(); +@@ -119,6 +119,8 @@ + time_t t = time(NULL); + bool InfoWritten = false; + bool FirstIframeSeen = false; ++ int FileNumber = 0; ++ off_t FrameOffset = -1; + while (Running()) { + int r; + uchar *b = ringBuffer->Get(r); +@@ -131,7 +133,7 @@ + if (!InfoWritten) { + cRecordingInfo RecordingInfo(recordingName); + if (RecordingInfo.Read()) { +- if (frameDetector->FramesPerSecond() > 0 && !DoubleEqual(RecordingInfo.FramesPerSecond(), frameDetector->FramesPerSecond())) { ++ if (frameDetector->FramesPerSecond() > 0 && DoubleEqual(RecordingInfo.FramesPerSecond(), DEFAULTFRAMESPERSECOND) && !DoubleEqual(RecordingInfo.FramesPerSecond(), frameDetector->FramesPerSecond())) { + RecordingInfo.SetFramesPerSecond(frameDetector->FramesPerSecond()); + RecordingInfo.Write(); + Recordings.UpdateByName(recordingName); +@@ -139,12 +141,16 @@ + } + InfoWritten = true; + } ++ if (frameDetector->NewPayload()) { ++ FileNumber = fileName->Number(); ++ FrameOffset = fileSize; ++ } + if (FirstIframeSeen || frameDetector->IndependentFrame()) { + FirstIframeSeen = true; // start recording with the first I-frame + if (!NextFile()) + break; + if (index && frameDetector->NewFrame()) +- index->Write(frameDetector->IndependentFrame(), fileName->Number(), fileSize); ++ index->Write(frameDetector->IndependentFrame(), FileNumber, FrameOffset); + if (frameDetector->IndependentFrame()) { + recordFile->Write(patPmtGenerator.GetPat(), TS_SIZE); + fileSize += TS_SIZE; +diff -ruN vdr-1.7.18/recording.c vdr-1.7.19/recording.c +--- vdr-1.7.18/recording.c 2011-04-17 15:53:11.000000000 +0200 ++++ vdr-1.7.19/recording.c 2011-06-12 15:04:28.000000000 +0200 +@@ -4,7 +4,7 @@ + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * +- * $Id: recording.c 2.30 2011/04/17 13:53:11 kls Exp $ ++ * $Id: recording.c 2.31 2011/06/12 13:04:28 kls Exp $ + */ + + #include "recording.h" +@@ -1403,11 +1403,12 @@ + bool Rewind = false; + cFileName FileName(recordingName, false); + cUnbufferedFile *ReplayFile = FileName.Open(); +- cRingBufferLinear Buffer(IFG_BUFFER_SIZE, MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE); ++ cRingBufferLinear Buffer(IFG_BUFFER_SIZE, TS_SIZE); + cPatPmtParser PatPmtParser; + cFrameDetector FrameDetector; + cIndexFile IndexFile(recordingName, true); + int BufferChunks = KILOBYTE(1); // no need to read a lot at the beginning when parsing PAT/PMT ++ int FileNumber = 0; + off_t FileSize = 0; + off_t FrameOffset = -1; + Skins.QueueMessage(mtInfo, tr("Regenerating index file")); +@@ -1424,12 +1425,18 @@ + if (Data) { + if (FrameDetector.Synced()) { + // Step 3 - generate the index: +- if (TsPid(Data) == PATPID) ++ if (FrameOffset < 0 && TsPid(Data) == PATPID) { ++ FileNumber = FileName.Number(); + FrameOffset = FileSize; // the PAT/PMT is at the beginning of an I-frame ++ } + int Processed = FrameDetector.Analyze(Data, Length); + if (Processed > 0) { ++ if (FrameDetector.NewPayload() && FrameOffset < 0) { ++ FileNumber = FileName.Number(); ++ FrameOffset = FileSize; ++ } + if (FrameDetector.NewFrame()) { +- IndexFile.Write(FrameDetector.IndependentFrame(), FileName.Number(), FrameOffset >= 0 ? FrameOffset : FileSize); ++ IndexFile.Write(FrameDetector.IndependentFrame(), FileNumber, FrameOffset); + FrameOffset = -1; + } + FileSize += Processed; +diff -ruN vdr-1.7.18/remux.c vdr-1.7.19/remux.c +--- vdr-1.7.18/remux.c 2011-03-20 11:21:14.000000000 +0100 ++++ vdr-1.7.19/remux.c 2011-06-12 16:24:09.000000000 +0200 +@@ -4,7 +4,7 @@ + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * +- * $Id: remux.c 2.53 2011/03/20 10:21:14 kls Exp $ ++ * $Id: remux.c 2.57 2011/06/12 14:24:09 kls Exp $ + */ + + #include "remux.h" +@@ -12,6 +12,7 @@ + #include "libsi/si.h" + #include "libsi/section.h" + #include "libsi/descriptor.h" ++#include "recording.h" + #include "shutdown.h" + #include "tools.h" + +@@ -781,7 +782,8 @@ + { + SetPid(Pid, Type); + synced = false; +- newFrame = independentFrame = false; ++ newPayload = newFrame = independentFrame = false; ++ frameTypeOffset = -1; + numPtsValues = 0; + numFrames = 0; + numIFrames = 0; +@@ -808,7 +810,8 @@ + + void cFrameDetector::Reset(void) + { +- newFrame = independentFrame = false; ++ newPayload = newFrame = independentFrame = false; ++ frameTypeOffset = -1; + payloadUnitOfFrame = 0; + scanning = false; + scanner = EMPTY_SCANNER; +@@ -816,9 +819,8 @@ + + int cFrameDetector::Analyze(const uchar *Data, int Length) + { +- int SeenPayloadStart = false; + int Processed = 0; +- newFrame = independentFrame = false; ++ newPayload = newFrame = independentFrame = false; + while (Length >= TS_SIZE) { + if (Data[0] != TS_SYNC_BYTE) { + int Skipped = 1; +@@ -831,16 +833,13 @@ + int Pid = TsPid(Data); + if (Pid == pid) { + if (TsPayloadStart(Data)) { +- SeenPayloadStart = true; + if (synced && Processed) +- return Processed; +- if (Length < MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE) +- return Processed; // need more data, in case the frame type is not stored in the first TS packet ++ return Processed; // flush everything before this new payload + if (framesPerSecond <= 0.0) { + // frame rate unknown, so collect a sequence of PTS values: + if (numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames + const uchar *Pes = Data + TsPayloadOffset(Data); +- if (PesHasPts(Pes)) { ++ if (numIFrames && PesHasPts(Pes)) { + ptsValues[numPtsValues] = PesGetPts(Pes); + // check for rollover: + if (numPtsValues && ptsValues[numPtsValues - 1] > 0xF0000000 && ptsValues[numPtsValues] < 0x10000000) { +@@ -885,8 +884,8 @@ + else + framesPerSecond = 60.0 / 1.001; + else { +- framesPerSecond = 25.0; +- dsyslog("unknown frame delta (%d), assuming 25 fps", Delta); ++ framesPerSecond = DEFAULTFRAMESPERSECOND; ++ dsyslog("unknown frame delta (%d), assuming %5.2f fps", Delta, DEFAULTFRAMESPERSECOND); + } + } + else // audio +@@ -900,6 +899,10 @@ + if (scanning) { + int PayloadOffset = TsPayloadOffset(Data); + if (TsPayloadStart(Data)) { ++ if (synced && Processed) ++ return Processed; // flush everything before this new payload ++ newPayload = true; ++ scanner = EMPTY_SCANNER; + PayloadOffset += PesPayloadOffset(Data + PayloadOffset); + if (!framesPerPayloadUnit) + framesPerPayloadUnit = framesInPayloadUnit; +@@ -907,17 +910,30 @@ + dbgframes("/"); + } + for (int i = PayloadOffset; scanning && i < TS_SIZE; i++) { +- scanner <<= 8; +- scanner |= Data[i]; ++ if (frameTypeOffset < 0) { ++ scanner <<= 8; ++ scanner |= Data[i]; ++ } ++ else ++ frameTypeOffset += PayloadOffset; + switch (type) { + case 0x01: // MPEG 1 video + case 0x02: // MPEG 2 video + if (scanner == 0x00000100) { // Picture Start Code ++ if (frameTypeOffset < 0) { ++ frameTypeOffset = i + 2; ++ if (frameTypeOffset >= TS_SIZE) { // the byte to check is in the next TS packet ++ frameTypeOffset -= TS_SIZE; ++ if (!synced) ++ dbgframes("%d>", frameTypeOffset); ++ break; ++ } ++ } + scanner = EMPTY_SCANNER; +- if (synced && !SeenPayloadStart && Processed) +- return Processed; // flush everything before this new frame + newFrame = true; +- independentFrame = ((Data[i + 2] >> 3) & 0x07) == 1; // I-Frame ++ uchar FrameType = (Data[frameTypeOffset] >> 3) & 0x07; ++ frameTypeOffset = -1; ++ independentFrame = FrameType == 1; // I-Frame + if (synced) { + if (framesPerPayloadUnit <= 1) + scanning = false; +@@ -928,7 +944,7 @@ + numIFrames++; + if (numIFrames == 1) + numFrames++; +- dbgframes("%d ", (Data[i + 2] >> 3) & 0x07); ++ dbgframes("%u ", FrameType); + } + if (synced) + return Processed + TS_SIZE; // flag this new frame +@@ -936,11 +952,20 @@ + break; + case 0x1B: // MPEG 4 video + if (scanner == 0x00000109) { // Access Unit Delimiter ++ if (frameTypeOffset < 0) { ++ frameTypeOffset = i + 1; ++ if (frameTypeOffset >= TS_SIZE) { // the byte to check is in the next TS packet ++ frameTypeOffset -= TS_SIZE; ++ if (!synced) ++ dbgframes("%d>", frameTypeOffset); ++ break; ++ } ++ } + scanner = EMPTY_SCANNER; +- if (synced && !SeenPayloadStart && Processed) +- return Processed; // flush everything before this new frame + newFrame = true; +- independentFrame = Data[i + 1] == 0x10; ++ uchar FrameType = Data[frameTypeOffset]; ++ frameTypeOffset = -1; ++ independentFrame = FrameType == 0x10; + if (synced) { + if (framesPerPayloadUnit < 0) { + payloadUnitOfFrame = (payloadUnitOfFrame + 1) % -framesPerPayloadUnit; +@@ -958,7 +983,7 @@ + numIFrames++; + if (numIFrames == 1) + numFrames++; +- dbgframes("%02X ", Data[i + 1]); ++ dbgframes("%02X ", FrameType); + } + if (synced) + return Processed + TS_SIZE; // flag this new frame +diff -ruN vdr-1.7.18/remux.h vdr-1.7.19/remux.h +--- vdr-1.7.18/remux.h 2011-03-19 17:52:46.000000000 +0100 ++++ vdr-1.7.19/remux.h 2011-06-12 14:49:17.000000000 +0200 +@@ -4,7 +4,7 @@ + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * +- * $Id: remux.h 2.28 2011/03/19 16:52:46 kls Exp $ ++ * $Id: remux.h 2.30 2011/06/12 12:49:17 kls Exp $ + */ + + #ifndef __REMUX_H +@@ -84,15 +84,18 @@ + + inline int TsPayloadOffset(const uchar *p) + { +- int o = (p[3] & TS_ADAPT_FIELD_EXISTS) ? p[4] + 5 : 4; ++ int o = TsHasAdaptationField(p) ? p[4] + 5 : 4; + return o <= TS_SIZE ? o : TS_SIZE; + } + + inline int TsGetPayload(const uchar **p) + { +- int o = TsPayloadOffset(*p); +- *p += o; +- return TS_SIZE - o; ++ if (TsHasPayload(*p)) { ++ int o = TsPayloadOffset(*p); ++ *p += o; ++ return TS_SIZE - o; ++ } ++ return 0; + } + + inline int TsContinuityCounter(const uchar *p) +@@ -294,7 +297,7 @@ + ~cTsToPes(); + void PutTs(const uchar *Data, int Length); + ///< Puts the payload data of the single TS packet at Data into the converter. +- ///< Length is always 188. ++ ///< Length is always TS_SIZE. + ///< If the given TS packet starts a new PES payload packet, the converter + ///< will be automatically reset. Any packets before the first one that starts + ///< a new PES payload packet will be ignored. +@@ -333,16 +336,16 @@ + + // Frame detector: + +-#define MIN_TS_PACKETS_FOR_FRAME_DETECTOR 2 +- + class cFrameDetector { + private: + enum { MaxPtsValues = 150 }; + int pid; + int type; + bool synced; ++ bool newPayload; + bool newFrame; + bool independentFrame; ++ int frameTypeOffset; + uint32_t ptsValues[MaxPtsValues]; // 32 bit is enough - we only need the delta + int numPtsValues; + int numFrames; +@@ -368,12 +371,17 @@ + ///< the frame detector for actual work. + int Analyze(const uchar *Data, int Length); + ///< Analyzes the TS packets pointed to by Data. Length is the number of +- ///< bytes Data points to, and must be a multiple of 188. ++ ///< bytes Data points to, and must be a multiple of TS_SIZE. + ///< Returns the number of bytes that have been analyzed. + ///< If the return value is 0, the data was not sufficient for analyzing and + ///< Analyze() needs to be called again with more actual data. + bool Synced(void) { return synced; } + ///< Returns true if the frame detector has synced on the data stream. ++ bool NewPayload(void) { return newPayload; } ++ ///< Returns true if the data given to the last call to Analyze() started a ++ ///< new payload. The caller should remember the current file offset in ++ ///< order to be able to generate an index entry later, when NewFrame() ++ ///< returns true. + bool NewFrame(void) { return newFrame; } + ///< Returns true if the data given to the last call to Analyze() started a + ///< new frame. diff --git a/multimedia/vdr/files/vdr-1.7.19-ttxtsubs.patch-3 b/multimedia/vdr/files/vdr-1.7.19-ttxtsubs.patch-3 new file mode 100644 index 000000000000..4f5f1bb830df --- /dev/null +++ b/multimedia/vdr/files/vdr-1.7.19-ttxtsubs.patch-3 @@ -0,0 +1,21 @@ +--- a/ci.c ++++ b/ci.c +@@ -1917,6 +1917,8 @@ void cCamSlot::AddChannel(const cChannel + AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE); + for (const int *Spid = Channel->Spids(); *Spid; Spid++) + AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE); ++ if (Channel->Tpid() && Setup.SupportTeletext) ++ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_PRIVATE); + } + } + +@@ -1940,6 +1942,9 @@ bool cCamSlot::CanDecrypt(const cChannel + CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE); + for (const int *Spid = Channel->Spids(); *Spid; Spid++) + CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE); ++ if (Channel->Tpid() && Setup.SupportTeletext) { ++ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_PRIVATE); ++ } + cas->SendPMT(&CaPmt); + cTimeMs Timeout(QUERY_REPLY_TIMEOUT); + do { diff --git a/multimedia/vdr/pkg-plist b/multimedia/vdr/pkg-plist index abcd9493d40a..18f386f0000e 100644 --- a/multimedia/vdr/pkg-plist +++ b/multimedia/vdr/pkg-plist @@ -1,14 +1,14 @@ bin/svdrpsend.pl bin/vdr -lib/vdr/libvdr-dvbsddevice.so.1.7.18 -lib/vdr/libvdr-svcsvr.so.1.7.18 -lib/vdr/libvdr-svccli.so.1.7.18 -lib/vdr/libvdr-status.so.1.7.18 -lib/vdr/libvdr-skincurses.so.1.7.18 -lib/vdr/libvdr-pictures.so.1.7.18 -lib/vdr/libvdr-osddemo.so.1.7.18 -lib/vdr/libvdr-hello.so.1.7.18 -lib/vdr/libvdr-svdrpdemo.so.1.7.18 +lib/vdr/libvdr-dvbsddevice.so.1.7.19 +lib/vdr/libvdr-svcsvr.so.1.7.19 +lib/vdr/libvdr-svccli.so.1.7.19 +lib/vdr/libvdr-status.so.1.7.19 +lib/vdr/libvdr-skincurses.so.1.7.19 +lib/vdr/libvdr-pictures.so.1.7.19 +lib/vdr/libvdr-osddemo.so.1.7.19 +lib/vdr/libvdr-hello.so.1.7.19 +lib/vdr/libvdr-svdrpdemo.so.1.7.19 %%NLS%%share/locale/ar/LC_MESSAGES/vdr.mo %%NLS%%share/locale/es_ES/LC_MESSAGES/vdr.mo %%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-hello.mo diff --git a/www/vdr-plugin-live/Makefile b/www/vdr-plugin-live/Makefile index 9029879e747c..607b1de41656 100644 --- a/www/vdr-plugin-live/Makefile +++ b/www/vdr-plugin-live/Makefile @@ -7,7 +7,7 @@ PORTNAME= vdr-plugin-live PORTVERSION= 0.2.0s20110303 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= www multimedia MASTER_SITES= http://live.vdr-developer.org/downloads/:release \ LOCAL/nox/:snapshot @@ -25,6 +25,7 @@ PATCH_STRIP= -p1 PORTDOCS= COPYING README MAKE_JOBS_SAFE= yes WRKSRC= ${WRKDIR}/vdr-plugin-${PLUGIN} +VDR_PLUGIN_MAKEFILES= ${WRKSRC}/httpd/Makefile ${WRKSRC}/pages/Makefile MAKE_ARGS+= INCLUDES="-I$(LOCALBASE)/include -I${WRKSRC}" .include "${.CURDIR}/../../multimedia/vdr/Makefile.plugins" diff --git a/www/vdr-plugin-live/pkg-plist b/www/vdr-plugin-live/pkg-plist index 727f7bf2bf89..0f9716af8920 100644 --- a/www/vdr-plugin-live/pkg-plist +++ b/www/vdr-plugin-live/pkg-plist @@ -1,4 +1,4 @@ -lib/vdr/libvdr-live.so.1.7.18 +lib/vdr/libvdr-live.so.1.7.19 etc/vdr/plugins/live/css/DatePicker.css etc/vdr/plugins/live/css/siteprefs.css etc/vdr/plugins/live/img/active.png |