summaryrefslogtreecommitdiff
path: root/media-tv/xmltv/xmltv-1.4.0-r1.ebuild
blob: 4309b17bb4708d9977b305c834c6baeb7d6a498c (plain)
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit perl-module

DESCRIPTION="Set of utilities to manage TV listings stored in the XMLTV format"
HOMEPAGE="http://wiki.xmltv.org/index.php/XMLTVProject https://github.com/XMLTV/xmltv"
SRC_URI="https://github.com/XMLTV/xmltv/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"

IUSE="ar ch-search fi huro is it-dvb"
IUSE+=" na-dd na-tvmedia pt-vodafone tv-check tv-combiner"
IUSE+=" tv-pick-cgi uk-freeview zz-sdjson zz-sdjson-sqlite"

# Check both %prereqs and %recommended in Makefile.PL
RDEPEND="
	>=dev-perl/Date-Manip-5.420.0
	dev-perl/File-Slurp
	dev-perl/JSON
	dev-perl/HTTP-Message
	>=dev-perl/libwww-perl-5.650.0
	>=dev-perl/Lingua-Preferred-0.2.4
	dev-perl/LWP-Online
	dev-perl/LWP-Protocol-https
	dev-perl/PerlIO-gzip
	>=dev-perl/Term-ProgressBar-2.30.0
	dev-perl/TermReadKey
	dev-perl/URI
	dev-perl/XML-LibXML
	>=dev-perl/XML-Parser-2.340.0
	dev-perl/XML-TreePP
	>=dev-perl/XML-Twig-3.280.0
	>=dev-perl/XML-Writer-0.600.0
	dev-perl/Unicode-String
	ar? (
		dev-perl/DateTime
		dev-perl/HTML-Parser
		dev-perl/HTML-Tree
		dev-perl/HTTP-Cookies
	)
	ch-search? (
		dev-perl/HTML-Tree
		>=dev-perl/HTML-Parser-1.270.0
		dev-perl/HTTP-Cookies
	)
	fi? (
		dev-perl/HTML-Tree
	)
	huro? (
		dev-perl/HTML-Parser
		dev-perl/HTML-Tree
	)
	is? (
		dev-perl/HTML-Parser
		dev-perl/HTML-Tree
		dev-perl/XML-DOM
		dev-perl/XML-LibXSLT
	)
	it-dvb? (
		dev-perl/Data-Dump
		dev-perl/HTML-Parser
		dev-perl/Linux-DVB
	)
	na-dd? (
		dev-perl/HTTP-Daemon
		dev-perl/SOAP-Lite
	)
	pt-vodafone? (
		dev-perl/DateTime
		dev-perl/DateTime-Format-Strptime
		dev-perl/Text-Unidecode
		dev-perl/URI-Encode
	)
	uk-freeview? (
		dev-perl/DateTime
		dev-perl/JSON
	)
	zz-sdjson? (
		dev-perl/DateTime
		dev-perl/Try-Tiny
	)
	zz-sdjson-sqlite? (
		dev-perl/DateTime
		dev-perl/DateTime-Format-ISO8601
		dev-perl/DateTime-Format-SQLite
		dev-perl/DateTime-TimeZone
		dev-perl/DBD-SQLite
		dev-perl/DBI
		dev-perl/File-HomeDir
		dev-perl/File-Which
		dev-perl/List-MoreUtils
		dev-perl/LWP-UserAgent-Determined
	)
	tv-check? (
		dev-perl/Tk
		dev-perl/Tk-TableMatrix
	)
	tv-pick-cgi? ( dev-perl/CGI )
"

pkg_setup() {
	# Uses Data::Manip in various places which can fail
	# if TZ is still set to Factory as it is in stock gentoo
	# install media
	export TZ=UTC
}

src_prepare() {
	default
	# Add revision number to version info.
	# Remove the doc/COPYING file from documentation.
	sed -i \
		-e "s:\$VERSION = '${PV}':\$VERSION = '${PVR}':" \
		-e "/^@docs/s:doc/COPYING ::" \
		Makefile.PL || die
}

src_configure() {
	# Must match the order of elements in @opt_components in Makefile.PL!
	#
	# It changes regularly on updates. If a new component is omitted,
	# it must be replaced with "no", not just ignored.
	make_config() {
		# Never accept default configuration
		echo "no"

		# Enable Switzerland Search
		usex ch-search
		# Enable Finland
		usex fi
		# Enable Swedish listings in Finland
		#usex fi-sv
		# Enable France
		#usex fr
		# Enable Hungary Romania Slovakia Czechia
		usex huro
		# Enable Israel
		#usex il
		# Enable Iceland
		usex is
		# Enable Italy
		#usex it
		# Enable Italy from DVB-S stream
		usex it-dvb
		# Enable North America - schedulesdirect.org
		usex na-dd
		# Enable North America (DirecTV)
		#usex na-dtv
		# Enable North America (TVMedia)
		usex na-tvmedia
		# Enable Portugal (MEO)
		#usex pt-meo
		# Enable Portugal (Vodafone)
		usex pt-vodafone
		# Enable UK (Freeview)
		usex uk-freeview
		# Enable UK/Ireland - TV Guide Website
		#usex uk-tvguide
		# Enable Schedules Direct JSON
		usex zz-sdjson
		# Enable Schedules Direct JSON (SQLite version)
		usex zz-sdjson-sqlite
		# rules to improve episode numbering
		usex tv-check
		# Enable combiner
		usex tv-combiner
		# Enable CGI program to filter listings (to install manually)
		usex tv-pick-cgi
	}

	pm_echovar=$(make_config)
	perl-module_src_configure
}

src_install() {
	perl-module_src_install

	if use tv-pick-cgi; then
		dobin choose/tv_pick/tv_pick_cgi
	fi
}

pkg_postinst() {
	if use tv-pick-cgi; then
		elog "To use tv_pick_cgi, please link it from ${EPREFIX}/usr/bin/tv_pick_cgi"
		elog "to where the ScriptAlias directive is configured."
	fi
}