Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Copyright 1999-2011 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- # $Header: $
- EAPI=3
- inherit base eutils python systemd
- if [[ ${PV} == *9999 ]]; then
- EHG_REPO_URI="http://bitbucket.org/spoob/pyload/"
- inherit mercurial
- fi
- PYTHON_DEPEND="2"
- PYTHON_USE_WITH="sqlite"
- DESCRIPTION=""
- HOMEPAGE="http://www.pyload.org"
- LICENSE="GPL-3"
- SLOT="0"
- if [[ ${PV} == *9999 ]]; then
- KEYWORDS="~amd64 ~x86"
- SRC_URI=""
- else
- KEYWORDS="amd64 x86"
- SRC_URI="http://get.pyload.org/static/pyload-src-v${PV}.zip"
- fi
- IUSE="captcha clicknload container curl qt4 ssl systemd"
- RDEPEND="
- dev-python/beautifulsoup
- dev-python/beaker
- dev-python/feedparser
- dev-python/simplejson
- captcha? (
- dev-python/imaging
- app-text/tesseract[linguas_en]
- )
- clicknload? (
- || (
- dev-lang/spidermonkey
- dev-java/rhino
- )
- )
- container? (
- dev-python/pycrypto
- )
- curl? (
- dev-python/pycurl
- )
- qt4? (
- dev-python/PyQt4
- )
- 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_pkg_setup
- # enewuser "pyload" -1 -1 "${PYLOAD_WORKDIR}"
- }
- src_unpack() {
- if [[ ${PV} == *9999 ]]; then
- mercurial_src_unpack
- else
- default
- #base_src_unpack
- fi
- }
- src_prepare() {
- # fix pidfile
- sed -i -e 's:self.pidfile = "pyload.pid":self.pidfile = "/var/run/pyload.pid":' ${S}/pyLoadCore.py
- # fix workdir
- echo "${PYLOAD_WORKDIR}" > ${S}/module/config/configdir
- # 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
- 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:' \
- #${S}/module/**/*.py # globbing not working -> find
- if ! use qt4; then
- rm -r ${S}/module/gui
- fi
- }
- src_configure() {
- :
- }
- src_compile() {
- :
- }
- src_install() {
- insinto "/opt/${PN}"
- doins -r ${S}/locale
- doins -r ${S}/module
- doins -r ${S}/scripts
- doins ${S}/pyLoadCore.py
- doins ${S}/pyLoadCli.py
- make_wrapper "pyloadcli" "/opt/${PN}/pyLoadCli.py"
- if use qt4; then
- doins -r ${S}/icons
- make_wrapper pyloadgui "/opt/${PN}/pyLoadGui.py"
- fi
- dodir "${PYLOAD_WORKDIR}"
- cp "${S}/module/config/default.conf" "${D}/${PYLOAD_WORKDIR}/pyload.conf"
- #fix tmpdir
- ln -sf "/tmp" "${D}/${PYLOAD_WORKDIR}/tmp"
- newinitd "${FILESDIR}/pyload" "pyload"
- if use systemd; then
- systemd_dounit "${FILESDIR}/pyload.service"
- fi
- }
- pkg_postinst() {
- if use ssl && ! test -f "${PYLOAD_WORKDIR}/ssl.key"; then
- einfo "If you want to use pyLoad's XML-RPC via SSL have to create a key in pyloads work directory"
- 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
- }
Advertisement
Add Comment
Please, Sign In to add comment