aboutsummaryrefslogtreecommitdiff
path: root/multimedia/tvheadend
diff options
context:
space:
mode:
authorBernhard Froehlich <decke@FreeBSD.org>2015-10-22 10:19:42 +0000
committerBernhard Froehlich <decke@FreeBSD.org>2015-10-22 10:19:42 +0000
commitb41495be6a624fce70dd679f3535a07e519ce3f0 (patch)
tree556ced2ae2878fd549a678cfd210bb7ef7454cfd /multimedia/tvheadend
parent5115f57bea9c193a6cf7a3e40a53e0fa6ac95153 (diff)
downloadports-b41495be6a624fce70dd679f3535a07e519ce3f0.tar.gz
ports-b41495be6a624fce70dd679f3535a07e519ce3f0.zip
Notes
Diffstat (limited to 'multimedia/tvheadend')
-rw-r--r--multimedia/tvheadend/Makefile7
-rw-r--r--multimedia/tvheadend/distinfo4
-rw-r--r--multimedia/tvheadend/files/patch-Makefile.webui29
-rw-r--r--multimedia/tvheadend/files/patch-src_byteswap.h45
-rw-r--r--multimedia/tvheadend/files/patch-src_http.c10
-rw-r--r--multimedia/tvheadend/files/patch-src_satip_server.c11
-rw-r--r--multimedia/tvheadend/files/patch-src_spawn.c10
-rw-r--r--multimedia/tvheadend/files/patch-src_tcp.h11
-rw-r--r--multimedia/tvheadend/pkg-plist86
9 files changed, 200 insertions, 13 deletions
diff --git a/multimedia/tvheadend/Makefile b/multimedia/tvheadend/Makefile
index 9bd365339a0c..34fa25607288 100644
--- a/multimedia/tvheadend/Makefile
+++ b/multimedia/tvheadend/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= tvheadend
-PORTVERSION= 3.9.20140806
+PORTVERSION= 4.0.6
CATEGORIES= multimedia
MAINTAINER= decke@FreeBSD.org
@@ -18,7 +18,7 @@ LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl \
RUN_DEPENDS= dtv-scan-tables>=0:${PORTSDIR}/multimedia/dtv-scan-tables
USE_GITHUB= yes
-GH_TAGNAME= 6d19440
+GH_TAGNAME= d97d5f1
USES= execinfo gmake pkgconfig python shebangfix
GNU_CONFIGURE= yes
@@ -78,6 +78,9 @@ post-patch:
# ignore gcc warnings on FreeBSD 9.X, and clang warnings on FreeBSD 10+
@${REINPLACE_CMD} 's|-Werror||' \
${WRKSRC}/Makefile
+ # Remove -Wunused-result because gcc 4.2 on FreeBSD 9.x does not know it
+ @${REINPLACE_CMD} 's|-Wunused-result||' \
+ ${WRKSRC}/Makefile
.if ${OSVERSION} >= 1000000
# to suppress clang CC flags on FreeBSD 10+
# @${REINPLACE_CMD} 's|clang|clang-options-disabled|' \
diff --git a/multimedia/tvheadend/distinfo b/multimedia/tvheadend/distinfo
index 2bdf6582cc65..262ac4dcbb78 100644
--- a/multimedia/tvheadend/distinfo
+++ b/multimedia/tvheadend/distinfo
@@ -1,2 +1,2 @@
-SHA256 (tvheadend-tvheadend-3.9.20140806-6d19440_GH0.tar.gz) = 3d8b813c989469d0f5706b2c8a2d59159194c8e606502aa094a2fc0b73fd46b4
-SIZE (tvheadend-tvheadend-3.9.20140806-6d19440_GH0.tar.gz) = 14897631
+SHA256 (tvheadend-tvheadend-4.0.6-d97d5f1_GH0.tar.gz) = 154ad12248847e0f8a8ff91b186f2edcd4b081c40c39d467be78d14f62842bcf
+SIZE (tvheadend-tvheadend-4.0.6-d97d5f1_GH0.tar.gz) = 15825659
diff --git a/multimedia/tvheadend/files/patch-Makefile.webui b/multimedia/tvheadend/files/patch-Makefile.webui
new file mode 100644
index 000000000000..a0306169e1c0
--- /dev/null
+++ b/multimedia/tvheadend/files/patch-Makefile.webui
@@ -0,0 +1,29 @@
+--- Makefile.webui.orig 2015-09-25 13:57:59 UTC
++++ Makefile.webui
+@@ -153,22 +153,22 @@ define GO_JS
+ $(VV)$(CSS_PY) --in="$^" utf-check
+ $(VV)cat $^ > $@.tmp
+ $(VV)$(RUN_JS) < $@.tmp > $@.tmp2
+- @stat --printf="%-35n %7s\n" $@.tmp $@.tmp2
++ @stat -f "%-35N %7b" $@.tmp $@.tmp2
+ $(VV)$(GZIPCMD) -c $@.tmp2 > $@.tmp
+ @rm $@.tmp2
+ @mv $@.tmp $@
+- @stat --printf="%-35n %7s\n" $@
++ @stat -f "%-35N %7b" $@
+ endef
+
+ define GO_CSS
+ $(VV)$(CSS_PY) --in="$^" utf-check
+ $(VV)$(CSS_PY) --in="$^" > $@.tmp
+ $(VV)$(RUN_CSS) < $@.tmp > $@.tmp2
+- @stat --printf="%-35n %7s\n" $@.tmp $@.tmp2
++ @stat -f "%-35N %7b" $@.tmp $@.tmp2
+ $(VV)$(GZIPCMD) -c $@.tmp2 > $@.tmp
+ @rm $@.tmp2
+ @mv $@.tmp $@
+- @stat --printf="%-35n %7s\n" $@
++ @stat -f "%-35N %7b" $@
+ endef
+
+ all:
diff --git a/multimedia/tvheadend/files/patch-src_byteswap.h b/multimedia/tvheadend/files/patch-src_byteswap.h
new file mode 100644
index 000000000000..3bc7634b5253
--- /dev/null
+++ b/multimedia/tvheadend/files/patch-src_byteswap.h
@@ -0,0 +1,45 @@
+--- src/byteswap.h.orig 2015-10-21 17:12:45 UTC
++++ src/byteswap.h
+@@ -0,0 +1,42 @@
++/*-
++ * Copyright (c) 2010 Isilon Systems, Inc.
++ * Copyright (c) 2010 iX Systems, Inc.
++ * Copyright (c) 2010 Panasas, Inc.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice unmodified, this list of conditions, and the following
++ * disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++
++#ifndef _INFINIBAND_BYTESWAP_H_
++#define _INFINIBAND_BYTESWAP_H_
++/*
++ * This file is included for compatibility with the userland libraries
++ * accompanying the infiniband stack.
++ */
++#include <sys/types.h>
++#include <sys/endian.h>
++
++#define bswap_16 bswap16
++#define bswap_32 bswap32
++#define bswap_64 bswap64
++
++#endif /* _INFINIBAND_BYTESWAP_H_ */
diff --git a/multimedia/tvheadend/files/patch-src_http.c b/multimedia/tvheadend/files/patch-src_http.c
new file mode 100644
index 000000000000..0dd6f568c038
--- /dev/null
+++ b/multimedia/tvheadend/files/patch-src_http.c
@@ -0,0 +1,10 @@
+--- src/http.c.orig 2015-09-25 13:57:59 UTC
++++ src/http.c
+@@ -30,6 +30,7 @@
+ #include <netinet/in.h>
+ #include <netinet/tcp.h>
+ #include <arpa/inet.h>
++#include <sys/socket.h>
+
+ #include "tvheadend.h"
+ #include "tcp.h"
diff --git a/multimedia/tvheadend/files/patch-src_satip_server.c b/multimedia/tvheadend/files/patch-src_satip_server.c
new file mode 100644
index 000000000000..2fde225c1256
--- /dev/null
+++ b/multimedia/tvheadend/files/patch-src_satip_server.c
@@ -0,0 +1,11 @@
+--- src/satip/server.c.orig 2015-09-25 13:57:59 UTC
++++ src/satip/server.c
+@@ -17,6 +17,8 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include <sys/socket.h>
++
+ #include "tvheadend.h"
+ #include "upnp.h"
+ #include "settings.h"
diff --git a/multimedia/tvheadend/files/patch-src_spawn.c b/multimedia/tvheadend/files/patch-src_spawn.c
new file mode 100644
index 000000000000..53f4e59bcb65
--- /dev/null
+++ b/multimedia/tvheadend/files/patch-src_spawn.c
@@ -0,0 +1,10 @@
+--- src/spawn.c.orig 2015-09-25 13:57:59 UTC
++++ src/spawn.c
+@@ -28,6 +28,7 @@
+ #include <syslog.h>
+ #include <fcntl.h>
+ #include <dirent.h>
++#include <signal.h>
+
+ #include "tvheadend.h"
+ #include "tvhpoll.h"
diff --git a/multimedia/tvheadend/files/patch-src_tcp.h b/multimedia/tvheadend/files/patch-src_tcp.h
new file mode 100644
index 000000000000..8a60d225b66e
--- /dev/null
+++ b/multimedia/tvheadend/files/patch-src_tcp.h
@@ -0,0 +1,11 @@
+--- src/tcp.h.orig 2015-09-25 13:57:59 UTC
++++ src/tcp.h
+@@ -19,6 +19,8 @@
+ #ifndef TCP_H_
+ #define TCP_H_
+
++#include <sys/socket.h>
++
+ #include "htsbuf.h"
+ #include "htsmsg.h"
+
diff --git a/multimedia/tvheadend/pkg-plist b/multimedia/tvheadend/pkg-plist
index 5ca216eaa715..d78c9b9174ff 100644
--- a/multimedia/tvheadend/pkg-plist
+++ b/multimedia/tvheadend/pkg-plist
@@ -1,12 +1,18 @@
bin/tvheadend
man/man1/tvheadend.1.gz
-%%DATADIR%%/data/conf/charset
%%DATADIR%%/data/conf/epggrab/opentv/dict/skyeng
%%DATADIR%%/data/conf/epggrab/opentv/dict/skyit
+%%DATADIR%%/data/conf/epggrab/opentv/dict/skynz
+%%DATADIR%%/data/conf/epggrab/opentv/genre/ausat
+%%DATADIR%%/data/conf/epggrab/opentv/genre/skyit
+%%DATADIR%%/data/conf/epggrab/opentv/genre/skynz
%%DATADIR%%/data/conf/epggrab/opentv/genre/skyuk
%%DATADIR%%/data/conf/epggrab/opentv/prov/ausat
%%DATADIR%%/data/conf/epggrab/opentv/prov/skyit
+%%DATADIR%%/data/conf/epggrab/opentv/prov/skynz
%%DATADIR%%/data/conf/epggrab/opentv/prov/skyuk
+%%DATADIR%%/data/conf/fastscan
+%%DATADIR%%/data/conf/satellites
%%DATADIR%%/docs/docresources/accessconfig.png
%%DATADIR%%/docs/docresources/accessconfigexample.png
%%DATADIR%%/docs/docresources/autorec.png
@@ -19,11 +25,16 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/docs/docresources/configdvbnetwork.png
%%DATADIR%%/docs/docresources/configdvbservices.png
%%DATADIR%%/docs/docresources/configdvbtab.png
-%%DATADIR%%/docs/docresources/configdvrtab.png
-%%DATADIR%%/docs/docresources/configgeneraltab.png
+%%DATADIR%%/docs/docresources/configdvrtab1.png
+%%DATADIR%%/docs/docresources/configdvrtab2.png
+%%DATADIR%%/docs/docresources/configdvrtab3.png
+%%DATADIR%%/docs/docresources/configgeneraltab1.png
+%%DATADIR%%/docs/docresources/configgeneraltab2.png
%%DATADIR%%/docs/docresources/configtabs.png
%%DATADIR%%/docs/docresources/configtimeshifttab.png
+%%DATADIR%%/docs/docresources/configtvadapters.png
%%DATADIR%%/docs/docresources/configtvhlog.png
+%%DATADIR%%/docs/docresources/dvrautorecentries.png
%%DATADIR%%/docs/docresources/dvrlog.png
%%DATADIR%%/docs/docresources/dvrlog2.png
%%DATADIR%%/docs/docresources/dvrlog3.png
@@ -32,16 +43,23 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/docs/docresources/epg.png
%%DATADIR%%/docs/docresources/epg2.png
%%DATADIR%%/docs/docresources/epg3.png
+%%DATADIR%%/docs/docresources/failedrecordings1.png
+%%DATADIR%%/docs/docresources/failedrecordings2.png
+%%DATADIR%%/docs/docresources/finishedrecordings1.png
+%%DATADIR%%/docs/docresources/finishedrecordings2.png
%%DATADIR%%/docs/docresources/muxbylocation.png
%%DATADIR%%/docs/docresources/tagstab.png
+%%DATADIR%%/docs/docresources/timeschedules.png
%%DATADIR%%/docs/docresources/tvheadendlogo.png
+%%DATADIR%%/docs/docresources/upcomingrecordings1.png
+%%DATADIR%%/docs/docresources/upcomingrecordings2.png
%%DATADIR%%/docs/docresources/xmltvtab.png
%%DATADIR%%/docs/html/autorec.html
%%DATADIR%%/docs/html/config.html
%%DATADIR%%/docs/html/config_access.html
-%%DATADIR%%/docs/html/config_capmt.html
+%%DATADIR%%/docs/html/config_bouquet.html
+%%DATADIR%%/docs/html/config_caclient.html
%%DATADIR%%/docs/html/config_channels.html
-%%DATADIR%%/docs/html/config_cwc.html
%%DATADIR%%/docs/html/config_dvb.html
%%DATADIR%%/docs/html/config_dvr.html
%%DATADIR%%/docs/html/config_epggrab.html
@@ -52,12 +70,17 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/docs/html/config_muxsched.html
%%DATADIR%%/docs/html/config_networks.html
%%DATADIR%%/docs/html/config_services.html
+%%DATADIR%%/docs/html/config_streamprofile.html
%%DATADIR%%/docs/html/config_tags.html
%%DATADIR%%/docs/html/config_timeshift.html
%%DATADIR%%/docs/html/config_tvadapters.html
%%DATADIR%%/docs/html/config_tvhlog.html
%%DATADIR%%/docs/html/dvr.html
%%DATADIR%%/docs/html/dvr_autorec.html
+%%DATADIR%%/docs/html/dvr_failed.html
+%%DATADIR%%/docs/html/dvr_finished.html
+%%DATADIR%%/docs/html/dvr_timerec.html
+%%DATADIR%%/docs/html/dvr_upcoming.html
%%DATADIR%%/docs/html/dvrlog.html
%%DATADIR%%/docs/html/epg.html
%%DATADIR%%/docs/html/faq.html
@@ -66,12 +89,11 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/docs/html/overview.html
%%DATADIR%%/docs/html/sysreq.html
%%DATADIR%%/src/webui/static/app/acleditor.js
-%%DATADIR%%/src/webui/static/app/capmteditor.js
+%%DATADIR%%/src/webui/static/app/caclient.js
%%DATADIR%%/src/webui/static/app/chconf.js
%%DATADIR%%/src/webui/static/app/comet.js
%%DATADIR%%/src/webui/static/app/config.js
%%DATADIR%%/src/webui/static/app/cteditor.js
-%%DATADIR%%/src/webui/static/app/cwceditor.js
%%DATADIR%%/src/webui/static/app/dvr.js
%%DATADIR%%/src/webui/static/app/epg.js
%%DATADIR%%/src/webui/static/app/epggrab.js
@@ -79,8 +101,8 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/src/webui/static/app/ext.css
%%DATADIR%%/src/webui/static/app/extensions.js
%%DATADIR%%/src/webui/static/app/idnode.js
-%%DATADIR%%/src/webui/static/app/iptv.js
%%DATADIR%%/src/webui/static/app/mpegts.js
+%%DATADIR%%/src/webui/static/app/namespace.js
%%DATADIR%%/src/webui/static/app/servicemapper.js
%%DATADIR%%/src/webui/static/app/status.js
%%DATADIR%%/src/webui/static/app/tableeditor.js
@@ -88,7 +110,6 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/src/webui/static/app/tvadapters.js
%%DATADIR%%/src/webui/static/app/tvheadend.js
%%DATADIR%%/src/webui/static/app/tvhlog.js
-%%DATADIR%%/src/webui/static/app/v4l.js
%%DATADIR%%/src/webui/static/checkcolumn/CheckColumn.js
%%DATADIR%%/src/webui/static/extjs/adapter/ext/ext-base-debug.js
%%DATADIR%%/src/webui/static/extjs/adapter/ext/ext-base.js
@@ -998,42 +1019,85 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/src/webui/static/extjs/resources/images/yourtheme/window/top-bottom.png
%%DATADIR%%/src/webui/static/extjs/resources/images/yourtheme/window/top-bottom.psd
%%DATADIR%%/src/webui/static/htslogo.png
+%%DATADIR%%/src/webui/static/icons/abort.png
+%%DATADIR%%/src/webui/static/icons/accept.png
%%DATADIR%%/src/webui/static/icons/add.png
%%DATADIR%%/src/webui/static/icons/arrow_down.png
%%DATADIR%%/src/webui/static/icons/arrow_join.png
%%DATADIR%%/src/webui/static/icons/arrow_out.png
%%DATADIR%%/src/webui/static/icons/arrow_switch.png
%%DATADIR%%/src/webui/static/icons/arrow_up.png
+%%DATADIR%%/src/webui/static/icons/auto_rec.png
+%%DATADIR%%/src/webui/static/icons/bouquets.png
+%%DATADIR%%/src/webui/static/icons/broadcast_details.png
%%DATADIR%%/src/webui/static/icons/bullet_add.png
+%%DATADIR%%/src/webui/static/icons/cancel.png
+%%DATADIR%%/src/webui/static/icons/cancel_button.png
+%%DATADIR%%/src/webui/static/icons/channel_tags.png
+%%DATADIR%%/src/webui/static/icons/channels.png
+%%DATADIR%%/src/webui/static/icons/clean.png
%%DATADIR%%/src/webui/static/icons/clock.png
+%%DATADIR%%/src/webui/static/icons/connections.png
%%DATADIR%%/src/webui/static/icons/control_pause.png
%%DATADIR%%/src/webui/static/icons/control_play.png
%%DATADIR%%/src/webui/static/icons/control_stop.png
+%%DATADIR%%/src/webui/static/icons/debug.png
%%DATADIR%%/src/webui/static/icons/delete.png
+%%DATADIR%%/src/webui/static/icons/download.png
%%DATADIR%%/src/webui/static/icons/drive.png
+%%DATADIR%%/src/webui/static/icons/dvr.png
+%%DATADIR%%/src/webui/static/icons/dvrprofiles.png
%%DATADIR%%/src/webui/static/icons/edit.png
+%%DATADIR%%/src/webui/static/icons/epg.png
%%DATADIR%%/src/webui/static/icons/exclamation.png
%%DATADIR%%/src/webui/static/icons/eye.png
+%%DATADIR%%/src/webui/static/icons/film.png
%%DATADIR%%/src/webui/static/icons/film_edit.png
+%%DATADIR%%/src/webui/static/icons/film_key.png
+%%DATADIR%%/src/webui/static/icons/find.png
+%%DATADIR%%/src/webui/static/icons/full_screen.png
+%%DATADIR%%/src/webui/static/icons/general.png
%%DATADIR%%/src/webui/static/icons/group.png
+%%DATADIR%%/src/webui/static/icons/help.png
%%DATADIR%%/src/webui/static/icons/information.png
%%DATADIR%%/src/webui/static/icons/key.png
%%DATADIR%%/src/webui/static/icons/layers.png
+%%DATADIR%%/src/webui/static/icons/linked.gif
+%%DATADIR%%/src/webui/static/icons/mux_schedulers.png
+%%DATADIR%%/src/webui/static/icons/muxes.png
+%%DATADIR%%/src/webui/static/icons/networks.png
%%DATADIR%%/src/webui/static/icons/newspaper.png
+%%DATADIR%%/src/webui/static/icons/other_filters.png
%%DATADIR%%/src/webui/static/icons/pci.png
%%DATADIR%%/src/webui/static/icons/plugin.png
%%DATADIR%%/src/webui/static/icons/progress-bg-green.gif
%%DATADIR%%/src/webui/static/icons/progress-bg-orange.gif
%%DATADIR%%/src/webui/static/icons/progress-bg-red.gif
%%DATADIR%%/src/webui/static/icons/rec.png
+%%DATADIR%%/src/webui/static/icons/recordingtab.png
+%%DATADIR%%/src/webui/static/icons/reseticon.png
%%DATADIR%%/src/webui/static/icons/save.png
+%%DATADIR%%/src/webui/static/icons/scheduled.png
+%%DATADIR%%/src/webui/static/icons/service_mapper.png
+%%DATADIR%%/src/webui/static/icons/services.png
%%DATADIR%%/src/webui/static/icons/sound.png
+%%DATADIR%%/src/webui/static/icons/stop.png
+%%DATADIR%%/src/webui/static/icons/stop_rec.png
+%%DATADIR%%/src/webui/static/icons/stream.png
+%%DATADIR%%/src/webui/static/icons/subscriptions.png
+%%DATADIR%%/src/webui/static/icons/subtitle.png
%%DATADIR%%/src/webui/static/icons/tag.png
%%DATADIR%%/src/webui/static/icons/tag_blue.png
+%%DATADIR%%/src/webui/static/icons/teletext.png
%%DATADIR%%/src/webui/static/icons/television.png
%%DATADIR%%/src/webui/static/icons/tick.png
+%%DATADIR%%/src/webui/static/icons/time_schedules.png
+%%DATADIR%%/src/webui/static/icons/timeshift.png
+%%DATADIR%%/src/webui/static/icons/tv_cards.png
%%DATADIR%%/src/webui/static/icons/undo.png
+%%DATADIR%%/src/webui/static/icons/upcoming_rec.png
%%DATADIR%%/src/webui/static/icons/wand.png
+%%DATADIR%%/src/webui/static/icons/watch_tv.png
%%DATADIR%%/src/webui/static/icons/world.png
%%DATADIR%%/src/webui/static/icons/wrench.png
%%DATADIR%%/src/webui/static/img/bg-header.png
@@ -1060,5 +1124,9 @@ man/man1/tvheadend.1.gz
%%DATADIR%%/src/webui/static/smoothie.js
%%DATADIR%%/src/webui/static/tv.css
%%DATADIR%%/src/webui/static/tv.js
+%%DATADIR%%/src/webui/static/tvh-tv.css.gz
+%%DATADIR%%/src/webui/static/tvh-tv.js.gz
+%%DATADIR%%/src/webui/static/tvh.css.gz
+%%DATADIR%%/src/webui/static/tvh.js.gz
%%DATADIR%%/src/webui/static/xcheckbox/xcheckbox.css
%%DATADIR%%/src/webui/static/xcheckbox/xcheckbox.js