| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="4" |
| |
| # Require python-2 with sqlite USE flag |
| PYTHON_DEPEND="2:2.6" |
| PYTHON_USE_WITH="sqlite" |
| |
| inherit eutils python user |
| |
| MY_P="${P/sab/SAB}" |
| |
| DESCRIPTION="Binary newsgrabber with web-interface" |
| HOMEPAGE="http://www.sabnzbd.org/" |
| SRC_URI="mirror://sourceforge/sabnzbdplus/${MY_P}-src.tar.gz" |
| |
| # Sabnzbd is GPL-2 but bundles software with the following licenses. |
| LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1" |
| SLOT="0" |
| KEYWORDS="~amd64" |
| IUSE="+rar +ssl unzip +yenc" |
| |
| # Sabnzbd is installed to /usr/share/ as upstream makes it clear they should not |
| # be in python's sitedir. See: http://wiki.sabnzbd.org/unix-packaging |
| |
| # TODO: still bundled but not in protage: |
| # kronos, rarfile, rsslib, ssmtplib, listquote, json-py, msgfmt |
| # pynewsleecher |
| # |
| # Also note that cherrypy is still bundled. It's near impossible to find |
| # out where the bundled and heavily patched version came from (pulled from |
| # cherrypy subversion, patched somewhere, then imported to sabnzbd and patched |
| # further. Upstream is planning on making this easier with 0.8.0. |
| # https://github.com/sabnzbd/sabnzbd/issues/47 |
| |
| RDEPEND=" |
| >=app-arch/par2cmdline-0.4 |
| >=dev-python/cheetah-2.0.1 |
| dev-python/configobj |
| dev-python/feedparser |
| dev-python/gntp |
| dev-python/pythonutils |
| net-misc/wget |
| rar? ( || ( app-arch/unrar app-arch/rar ) ) |
| ssl? ( dev-python/pyopenssl ) |
| unzip? ( >=app-arch/unzip-5.5.2 ) |
| yenc? ( dev-python/yenc ) |
| " |
| |
| S="${WORKDIR}/${MY_P}" |
| |
| pkg_setup() { |
| HOMEDIR="/var/lib/${PN}" |
| python_set_active_version 2 |
| python_pkg_setup |
| |
| # Create sabnzbd group |
| enewgroup ${PN} |
| # Create sabnzbd user, put in sabnzbd group |
| enewuser "${PN}" -1 -1 "${HOMEDIR}" "${PN}" |
| } |
| |
| src_prepare() { |
| epatch "${FILESDIR}"/use-system-configobj-and-feedparser.patch |
| epatch "${FILESDIR}"/growler-support-gntp-1.0.patch |
| epatch "${FILESDIR}"/par2cmdline.patch |
| |
| # remove bundled modules |
| rm -r sabnzbd/utils/{feedparser,configobj}.py || die |
| rm -r gntp || die |
| rm licenses/License-{feedparser,configobj,gntp}.txt || die |
| } |
| |
| src_install() { |
| local d |
| |
| dodir /usr/share/${PN}/sabnzbd |
| insinto /usr/share/${PN}/ |
| doins SABnzbd.py |
| fperms +x /usr/share/${PN}/SABnzbd.py |
| dobin "${FILESDIR}"/sabnzbd |
| |
| for d in cherrypy email icons interfaces locale po sabnzbd tools util; do |
| insinto /usr/share/${PN}/${d} |
| doins -r ${d}/* |
| done |
| |
| newinitd "${FILESDIR}/${PN}.initd" "${PN}" |
| newconfd "${FILESDIR}/${PN}.confd" "${PN}" |
| |
| diropts -o ${PN} -g ${PN} |
| dodir /etc/${PN} |
| dodir /var/log/${PN} |
| |
| insinto "/etc/${PN}" |
| insopts -m 0600 -o ${PN} -g ${PN} |
| doins "${FILESDIR}/${PN}.ini" |
| |
| dodoc {ABOUT,CHANGELOG,ISSUES,README}.txt Sample-PostProc.sh licenses/* |
| } |
| |
| pkg_postinst() { |
| python_mod_optimize /usr/share/${PN} |
| |
| einfo "Default directory: ${HOMEDIR}" |
| einfo "" |
| einfo "Run: gpasswd -a <user> sabnzbd" |
| einfo "to add a user to the sabnzbd group so it can edit sabnzbd files" |
| einfo "" |
| einfo "By default sabnzbd will listen on 127.0.0.1:8080" |
| } |
| |
| pkg_postrm() { |
| python_mod_cleanup /usr/share/${PN} |
| } |