forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tvheadend-9999.ebuild
141 lines (117 loc) · 3.68 KB
/
tvheadend-9999.ebuild
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit git-r3 linux-info systemd toolchain-funcs user
DESCRIPTION="Tvheadend is a TV streaming server and digital video recorder"
HOMEPAGE="https://tvheadend.org/"
EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS=""
IUSE="+capmt +constcw +cwc dbus debug dvbcsa dvben50221 +dvb +ffmpeg hdhomerun +imagecache +inotify iptv libressl opus satip systemd +timeshift uriparser vpx x264 x265 xmltv zeroconf zlib"
RDEPEND="
virtual/libiconv
dbus? ( sys-apps/dbus )
dvbcsa? ( media-libs/libdvbcsa )
dvben50221? ( media-tv/linuxtv-dvb-apps )
ffmpeg? ( media-video/ffmpeg:0/55.57.57[opus?,vpx?,x264?,x265?] )
hdhomerun? ( media-libs/libhdhomerun )
!libressl? ( dev-libs/openssl:= )
libressl? ( dev-libs/libressl:= )
uriparser? ( dev-libs/uriparser )
zeroconf? ( net-dns/avahi )
zlib? ( sys-libs/zlib )"
# ffmpeg sub-dependencies needed for headers only. Check under
# src/transcoding/codec/codecs/libs for include statements.
DEPEND="
${RDEPEND}
sys-devel/gettext
virtual/pkgconfig
dvb? ( virtual/linuxtv-dvb-headers )
ffmpeg? (
opus? ( media-libs/opus )
vpx? ( media-libs/libvpx )
x264? ( media-libs/x264 )
x265? ( media-libs/x265 )
)"
RDEPEND+="
dvb? ( media-tv/dtv-scan-tables )
xmltv? ( media-tv/xmltv )"
REQUIRED_USE="dvbcsa? ( || ( capmt constcw cwc dvben50221 ) )"
# Some patches from:
# https://github.com/rpmfusion/tvheadend
PATCHES=(
"${FILESDIR}/${PN}-4.0.9-use_system_queue.patch"
"${FILESDIR}/${PN}-4.2.1-hdhomerun.patch"
"${FILESDIR}/${PN}-4.2.2-dtv_scan_tables.patch"
)
DOCS=( README.md )
pkg_setup() {
use inotify &&
CONFIG_CHECK="~INOTIFY_USER" linux-info_pkg_setup
enewuser tvheadend -1 -1 /etc/tvheadend video
}
# We unconditionally enable codecs that do not require additional
# dependencies when building tvheadend. If support is missing from
# ffmpeg at runtime then tvheadend will simply disable these codecs.
# It is not necessary to specific all the --disable-*-static options as
# most of them only take effect when --enable-ffmpeg_static is given.
src_configure() {
CC="$(tc-getCC)" \
PKG_CONFIG="${CHOST}-pkg-config" \
econf \
--disable-bundle \
--disable-ccache \
--disable-dvbscan \
--disable-ffmpeg_static \
--disable-hdhomerun_static \
--enable-libfdkaac \
--enable-libtheora \
--enable-libvorbis \
--nowerror \
$(use_enable capmt) \
$(use_enable constcw) \
$(use_enable cwc) \
$(use_enable dbus dbus_1) \
$(use_enable debug trace) \
$(use_enable dvb linuxdvb) \
$(use_enable dvbcsa) \
$(use_enable dvben50221) \
$(use_enable ffmpeg libav) \
$(use_enable hdhomerun hdhomerun_client) \
$(use_enable imagecache) \
$(use_enable inotify) \
$(use_enable iptv) \
$(use_enable opus libopus) \
$(use_enable satip satip_server) \
$(use_enable satip satip_client) \
$(use_enable systemd libsystemd_daemon) \
$(use_enable timeshift) \
$(use_enable uriparser) \
$(use_enable vpx libvpx) \
$(use_enable x264 libx264) \
$(use_enable x265 libx265) \
$(use_enable zeroconf avahi) \
$(use_enable zlib)
}
src_compile() {
emake CC="$(tc-getCC)"
}
src_install() {
default
newinitd "${FILESDIR}"/tvheadend.initd tvheadend
newconfd "${FILESDIR}"/tvheadend.confd tvheadend
use systemd &&
systemd_dounit "${FILESDIR}"/tvheadend.service
dodir /etc/tvheadend
fperms 0700 /etc/tvheadend
fowners tvheadend:video /etc/tvheadend
}
pkg_postinst() {
elog "The Tvheadend web interface can be reached at:"
elog "http://localhost:9981/"
elog
elog "Make sure that you change the default username"
elog "and password via the Configuration / Access control"
elog "tab in the web interface."
}