You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

245 lines
5.0 KiB

# Copyright 1999-2021 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 ~x86-linux"
IUSE="ar ch-search eu-epgdata eu-xmltvse fi fi-sv fr
huro is it it-dvb na-dd na-dtv na-tvmedia pt-vodafone tr
tv-check tv-combiner tv-pick-cgi uk-tvguide zz-sdjson zz-sdjson-sqlite"
RDEPEND="
dev-perl/Date-Manip
dev-perl/File-Slurp
dev-perl/JSON
dev-perl/Lingua-Preferred
dev-perl/LWP-Online
dev-perl/PerlIO-gzip
dev-perl/Term-ProgressBar
dev-perl/TermReadKey
dev-perl/XML-LibXML
dev-perl/XML-Parser
dev-perl/XML-TreePP
dev-perl/XML-Twig
dev-perl/XML-Writer
dev-perl/Unicode-String
virtual/perl-Memoize
virtual/perl-Storable
virtual/perl-IO-Compress
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
dev-perl/HTTP-Cookies
dev-perl/URI
)
eu-epgdata? (
dev-perl/Archive-Zip
dev-perl/DateTime
dev-perl/DateTime-Format-Strptime
dev-perl/HTML-Parser
dev-perl/HTTP-Message
)
eu-xmltvse? (
dev-perl/HTTP-Cache-Transparent
dev-perl/IO-stringy
)
fi? (
dev-perl/HTML-Tree
dev-perl/LWP-Protocol-https
dev-perl/URI
)
fi-sv? (
dev-perl/DateTime
dev-perl/HTML-Tree
dev-perl/IO-stringy
)
fr? (
dev-perl/DateTime
dev-perl/DateTime-TimeZone
dev-perl/HTML-Parser
dev-perl/HTML-Tree
)
huro? (
dev-perl/HTML-Parser
dev-perl/HTML-Tree
)
is? (
dev-perl/HTML-Parser
dev-perl/HTML-Tree
dev-perl/URI
dev-perl/XML-DOM
dev-perl/XML-LibXSLT
)
it? (
dev-perl/HTML-Parser
dev-perl/HTML-Tree
dev-perl/URI
)
it-dvb? (
virtual/perl-Data-Dumper
)
na-dd? (
dev-perl/HTTP-Daemon
dev-perl/SOAP-Lite
)
na-dtv? (
dev-perl/DateTime
dev-perl/HTTP-Cookies
dev-perl/URI
)
pt-vodafone? (
dev-perl/DateTime
dev-perl/URI
)
tr? (
dev-perl/DateTime
dev-perl/HTTP-Cache-Transparent
dev-perl/HTTP-Cookies
dev-perl/URI
)
uk-tvguide? (
dev-perl/DateTime
dev-perl/HTML-Tree
dev-perl/HTTP-Cache-Transparent
dev-perl/HTTP-Cookies
dev-perl/URI
)
zz-sdjson? (
dev-lang/perl
dev-perl/DateTime
virtual/perl-Digest-SHA
dev-perl/HTTP-Message
dev-perl/LWP-Protocol-https
dev-perl/Try-Tiny
)
zz-sdjson-sqlite? (
dev-lang/perl
dev-perl/DateTime
dev-perl/DateTime-Format-ISO8601
dev-perl/DateTime-Format-SQLite
dev-perl/DateTime-TimeZone
dev-perl/DBD-SQLite
dev-perl/DBI
virtual/perl-Digest-SHA
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 )
"
PREFIX="/usr"
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
make_config() {
# Never accept default configuration
echo "no"
# Enable Agentina
usex ar
# Enable Switzerland Search
usex ch-search
# Enable EU epgdata.com including fanart
usex eu-epgdata
# Enable Europe (xmltv.se / xmltvse)
usex eu-xmltvse
# Enable Finland
usex fi
# Enable Swedish listings in Finland
usex fi-sv
# Enable France
usex fr
# Enable Hungary Romania Slovakia Czechia
usex huro
# 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 (Vodafone)
usex pt-vodafone
# Enable Turkey (Digiturk)
usex tr
# 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 /usr/bin/tv_pick_cgi"
elog "to where the ScriptAlias directive is configured."
fi
if use it-dvb; then
elog "The perl module Linux::DVB must be manually installed."
elog "A slightly out of date Linux::DVB is in CPAN, but not in portage."
fi
}