Files @ 3d8228355825
Branch filter:

Location: portage-overlay.git/net-misc/pyload/pyload-0.4.9.ebuild - annotation

3d8228355825 3.8 KiB application/vnd.gentoo.ebuild Show Source Show as Raw Download as Raw
chain
add ebuilds from server tree
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
3d8228355825
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=3

PYTHON_DEPEND="2"
PYTHON_USE_WITH="sqlite"

inherit base eutils python systemd

if [[ ${PV} == *9999 ]]; then
	EHG_REPO_URI="http://bitbucket.org/spoob/pyload/"
	inherit mercurial
else
	SRC_URI="http://get.pyload.org/static/${PN}-src-v${PV}.zip"
	KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="A fast, lightweight and full featured download manager for many One-Click-Hosters."
HOMEPAGE="http://www.pyload.org"
#Upstreams says GPL but part of the source is not available to users
#We need a review about this and find the right license.
LICENSE="freedist"
SLOT="0"
IUSE="captcha clicknload container qt4 rar ssl systemd"

DEPEND="app-arch/unzip"

RDEPEND="${DEPEND}
	dev-python/beautifulsoup
	dev-python/beaker
	dev-python/feedparser
	dev-python/simplejson
	dev-python/pycurl
	dev-python/jinja
	captcha? (
		dev-python/imaging
		app-text/tesseract
	)
	clicknload? (
	|| (
		dev-lang/spidermonkey
		dev-java/rhino
	)
	)
	container? ( dev-python/pycrypto )
	qt4? ( dev-python/PyQt4	)
	rar? ( app-arch/unrar )
	ssl? (
		dev-python/pycrypto
		dev-python/pyopenssl
	)"
#clicknload? ( || ( ... ossp-js pyv8 ) )

S=${WORKDIR}/${PN}

PYLOAD_WORKDIR=/var/lib/pyload # (/var/lib/ in lack of a better place)

pkg_setup() {
	python_set_active_version 2
	python_pkg_setup
	#enewuser pyload -1 -1 ${PYLOAD_WORKDIR}
}

src_unpack() {
	if [[ ${PV} == *9999 ]]; then
		mercurial_src_unpack
	else
		default
		#base_src_unpack
	fi

	cd "${S}"
}

src_prepare() {
	epatch "${FILESDIR}/${P}-sanitize-config.patch"
	# replace some shipped dependencies with the system libraries
	rm -r \
		${S}/module/lib/BeautifulSoup.py \
		${S}/module/lib/beaker \
		${S}/module/lib/feedparser.py \
		${S}/module/lib/simplejson \
		${S}/module/lib/jinja2 \


	find ${S}/module/ -name "*.py" -type f -print0 | xargs -0 \
	sed -i \
		-e 's:from module.lib.BeautifulSoup:from BeautifulSoup:' \
		-e 's:from module.lib \(import feedparser.*\):\1:' \
		-e 's:from module.lib.simplejson:from simplejson:' \
		-e 's:from module:from pyload:' \
		-e 's:"module\(.*\)":"pyload\1":' \
		-e 's:import module:import pyload:' \
		#${S}/module/**/*.py # globbing not working -> find

	sed -i -e 's:from module:from pyload:' \
	       -e 's:import module:import pyload:' pyLoadCore.py

    sed -i -e 's:from module:from pyload:' \
	       -e 's:import module: import pyload:' pyLoadCli.py

	if ! use qt4; then
		rm -r ${S}/module/gui
	fi
}

src_configure() {
	:
}

src_compile() {
	:
}

src_install() {
    insinto $(python_get_sitedir)/${PN}
	doins -r ${S}/module/*
	insinto /usr/share/${PN}
	doins -r ${S}/locale
	#doins -r ${S}/module
	doins -r ${S}/scripts
	exeinto /usr/bin/
	newexe ${S}/pyLoadCore.py pyLoadCore
	newexe ${S}/pyLoadCli.py pyLoadCli


	if use qt4; then
		doins -r ${S}/icons
		make_wrapper pyloadgui /opt/${PN}/pyLoadGui.py
	fi

	dodir ${PYLOAD_WORKDIR}
	# install default config
	if ! test -f /etc/pyload/pyload.conf; then
		cp ${FILESDIR}/default.conf ${D}/etc/pyload/pyload.conf
	fi

	#fix tmpdir
	dosym /tmp ${PYLOAD_WORKDIR}/tmp

	newinitd ${FILESDIR}/pyload.init pyload
	newconfd ${FILESDIR}/pyload.confd pyload

	if use systemd; then
		systemd_dounit ${FILESDIR}/pyload.service
	fi

	python_convert_shebangs -q -r 2 "${D}"
}

pkg_postinst() {
	python_mod_optimize ${PN}
	if use ssl && ! test -f ${PYLOAD_WORKDIR}/ssl.key; then
		einfo "If you plan using pyLoad's XML-RPC via SSL, you'll have to create a key in pyloads work directory"
		echo
		einfo "For the lazy, the list of needed commands is:"
		echo 
		einfo "cd ${PYLOAD_WORKDIR}"
		einfo "openssl genrsa 1024 > ssl.key"
		einfo "openssl req -new -key ssl.key -out ssl.csr"
		einfo "openssl req -days 36500 -x509 -key ssl.key -in ssl.csr > ssl.crt"
	fi
}

pkg_postrm() {
	python_mod_cleanup ${PN}
}