unitas-privacyidea/www-apps/privacyidea/privacyidea-3.8.1.ebuild

147 lines
4.7 KiB
Bash

# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..11} )
inherit distutils-r1
VRADIUS="3.4.2"
VWEBAUTHN="0.1.0"
DESCRIPTION="privacyIDEA is a modular authentication system"
HOMEPAGE="https://www.privacyidea.org/"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/${PN}/webauthn-client/archive/v${VWEBAUTHN}.tar.gz
https://github.com/${PN}/FreeRADIUS/archive/v${VRADIUS}.tar.gz -> ${PN}-FreeRADIUS-${VRADIUS}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+mysql postgres sqlite -translation"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
translation? ( net-libs/nodejs[npm]
app-i18n/poedit )"
RDEPEND="
acct-group/privacyidea
acct-user/privacyidea
mysql? ( dev-python/mysqlclient[${PYTHON_USEDEP}] )
postgres? ( dev-python/psycopg[${PYTHON_USEDEP}] )
sqlite? ( dev-python/sqlalchemy[${PYTHON_USEDEP}] )
dev-perl/Config-IniFiles
dev-perl/Crypt-SSLeay
dev-perl/Data-Dump
dev-perl/JSON
dev-perl/Net-SSLeay
virtual/perl-Time-HiRes
dev-perl/Try-Tiny
dev-perl/URI-Encode
dev-perl/libwww-perl
dev-python/argon2-cffi[${PYTHON_USEDEP}]
dev-python/argon2-cffi-bindings[${PYTHON_USEDEP}]
dev-python/bcrypt[${PYTHON_USEDEP}]
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
dev-python/cbor2[${PYTHON_USEDEP}]
dev-python/configobj[${PYTHON_USEDEP}]
dev-python/croniter[${PYTHON_USEDEP}]
dev-python/defusedxml[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
<dev-python/flask-2[${PYTHON_USEDEP}]
dev-python/flask-babel[${PYTHON_USEDEP}]
<dev-python/flask-migrate-3[${PYTHON_USEDEP}]
dev-python/flask-script[${PYTHON_USEDEP}]
dev-python/flask-versioned[${PYTHON_USEDEP}]
dev-python/funcparserlib[${PYTHON_USEDEP}]
dev-python/google-auth[${PYTHON_USEDEP}]
dev-python/grpcio[${PYTHON_USEDEP}]
dev-python/grpcio-tools[${PYTHON_USEDEP}]
dev-python/huey[${PYTHON_USEDEP}]
dev-python/importlib_metadata[${PYTHON_USEDEP}]
dev-python/itsdangerous[${PYTHON_USEDEP}]
dev-python/ldap3[${PYTHON_USEDEP}]
dev-python/netaddr[${PYTHON_USEDEP}]
dev-python/natsort[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/passlib[${PYTHON_USEDEP}]
dev-python/protobuf-python[${PYTHON_USEDEP}]
dev-python/pycparser[${PYTHON_USEDEP}]
dev-python/pydash[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
dev-python/pyrad[${PYTHON_USEDEP}]
dev-python/python-gnupg[${PYTHON_USEDEP}]
dev-python/pyusb[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/segno[${PYTHON_USEDEP}]
dev-python/smpplib[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-htmlhelp[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-httpdomain[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
dev-python/sqlsoup[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]
dev-python/werkzeug[${PYTHON_USEDEP}]
dev-python/wrapt[${PYTHON_USEDEP}]
www-apache/mod_wsgi
www-servers/gunicorn
"
REQUIRED_USE="|| ( mysql postgres sqlite )"
python_prepare_all() {
rm -rf tests
cp ${WORKDIR}/webauthn-client-${VWEBAUTHN}/pi-webauthn.js ${WORKDIR}/${P}/privacyidea/static/contrib/js/webauthn-client/
if use translation; then
npm install grunt --save-dev
npm install grunt-angular-gettext --save-dev
make translate
fi
distutils-r1_python_prepare_all
}
python_install_all() {
distutils-r1_python_install_all
mv ${D}/usr/etc ${D}/etc
insinto /etc/privacyidea
doins ${FILESDIR}/logging.yaml
doins deploy/pi.cfg
echo "PI_LOGCONFIG = '/etc/privacyidea/logging.yaml'" >> /$D/etc/privacyidea/pi.cfg
doins deploy/privacyidea/NetKnights.pem
doins deploy/privacyidea/enckey
doins deploy/privacyidea/private.pem
doins deploy/privacyidea/public.pem
doins ../FreeRADIUS-${VRADIUS}/rlm_perl.ini
doins ../FreeRADIUS-${VRADIUS}/dictionary.netknights
insinto /etc/privacyidea/freeradius2
doins ../FreeRADIUS-${VRADIUS}/config/freeradius2/mods-perl-privacyidea
doins ../FreeRADIUS-${VRADIUS}/config/freeradius2/privacyidea
insinto /etc/privacyidea/freeradius3
doins ../FreeRADIUS-${VRADIUS}/config/freeradius3/mods-perl-privacyidea
doins ../FreeRADIUS-${VRADIUS}/config/freeradius3/privacyidea
insinto /usr/share/privacyidea/freeradius
doins ../FreeRADIUS-${VRADIUS}/privacyidea_radius.pm
fowners -R ${PN}:root /etc/privacyidea
fperms 600 /etc/privacyidea/enckey \
/etc/privacyidea/private.pem
diropts -o privacyidea -g root
keepdir /var/log/privacyidea
diropts -o privacyidea -g privacyidea
keepdir /var/lib/privacyidea/home
}