Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
- # Maintainer: Jerome Leclanche <jerome@leclan.ch>
- pkgname=pgadmin4
- pkgver=3.2
- pkgrel=1
- pkgdesc='Comprehensive design and management interface for PostgreSQL'
- url='https://www.pgadmin.org/'
- arch=('x86_64')
- license=('custom')
- depends=('qt5-base' 'python' 'python-psycopg2' 'postgresql-libs' 'hicolor-icon-theme')
- makedepends=('python-setuptools' 'imagemagick')
- # TODO: ADD SIGNATURE
- source=(https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${pkgver}/source/${pkgname}-${pkgver}.tar.gz
- pgAdmin4.desktop
- config_distro.py
- config_local.py)
- validpgpkeys=('E0C4CEEB826B1FDA4FB468E024ADFAAF698F1519')
- sha512sums=('b8d6a60a367ce36b74312753c377ce6c1717638e8e48457a3415000578a891d336bf0a43cabbe62b08eaa3ebddf95081a9a915c04fe8708c7cea9ce1e4bd3b00'
- '25e6ae6658dd25aa9ebaccaef89ab15c19d513da3641fecaf9100d1139b0cc32c027f60a688f5fdff3b26e7be7897e33e9a7b4dddbf68599e583bd5b2e7946e9'
- '16d00dc2095904a6b12da7039458f632873829ad98d4d7653eac5804032ba92097ccae4488d56467d0ea9bd64e2654a3dead73eb7924c947ff1737ff6e3b4745'
- 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e')
- prepare() {
- cd "${pkgname}-${pkgver}"
- local PYTHONVERSION="$(python -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')"
- sed 's|value("PythonPath")|value("PythonPath", "/usr/lib/pgadmin4/venv/lib/python'${PYTHONVERSION}'/site-packages:/usr/lib/python'${PYTHONVERSION}'/site-packages:/usr/lib/python'${PYTHONVERSION}'")|g' -i runtime/{pgAdmin4.cpp,Server.cpp,TrayIcon.cpp}
- sed -r 's|(venv/lib/python)|\1'${PYTHONVERSION}'|g' runtime/Server.cpp
- }
- build() {
- export LANG=en_US.UTF-8
- export LC_ALL=en_US.UTF-8
- cd ${pkgname}-${pkgver}
- convert runtime/pgAdmin4.{ico,png}
- python -m venv "${srcdir}/${pkgname}-${pkgver}/venv"
- "${srcdir}/${pkgname}-${pkgver}/venv/bin/python" -m pip install -r "${srcdir}/${pkgname}-${pkgver}/requirements.txt"
- python -m venv "${srcdir}/${pkgname}-${pkgver}/venv-docs"
- "${srcdir}/${pkgname}-${pkgver}/venv-docs/bin/python" -m pip install -r "${srcdir}/${pkgname}-${pkgver}/requirements.txt"
- "${srcdir}/${pkgname}-${pkgver}/venv-docs/bin/python" -m pip install sphinx
- PATH="${srcdir}/${pkgname}-${pkgver}/venv-docs/bin:${PATH}" make docs
- cd runtime
- qmake CONFIG+=release
- make
- }
- package() {
- cd "${pkgname}-${pkgver}"
- install -D runtime/pgAdmin4 "${pkgdir}/usr/lib/pgadmin4/runtime/pgAdmin4"
- cp -a docs web "${pkgdir}/usr/lib/pgadmin4"
- cp -a venv "${pkgdir}/usr/lib/pgadmin4/venv"
- install -Dm 644 "${srcdir}"/config_{distro,local}.py -t "${pkgdir}/usr/lib/pgadmin4/web"
- ### fixup some python wonkyness
- local PYTHONVERSION="$(python -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')"
- rm -r "${pkgdir}/usr/lib/pgadmin4/venv/lib/python${PYTHONVERSION}/site-packages/psycopg2"
- ln -s /usr/lib/python3.7/lib-dynload "${pkgdir}/usr/lib/pgadmin4/venv/lib/python${PYTHONVERSION}/lib-dynload"
- ### Launcher
- install -Dm 644 runtime/pgAdmin4-0.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/pgAdmin4.png"
- install -Dm 644 runtime/pgAdmin4-1.png "${pkgdir}/usr/share/icons/hicolor/48x48/apps/pgAdmin4.png"
- install -Dm 644 runtime/pgAdmin4-2.png "${pkgdir}/usr/share/icons/hicolor/32x32/apps/pgAdmin4.png"
- install -Dm 644 runtime/pgAdmin4-3.png "${pkgdir}/usr/share/icons/hicolor/16x16/apps/pgAdmin4.png"
- install -Dm 644 "${srcdir}/pgAdmin4.desktop" -t "${pkgdir}/usr/share/applications"
- install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4" <<END
- #!/bin/sh
- cd /usr/lib/pgadmin4
- exec runtime/pgAdmin4 "\$@"
- END
- install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4-server" <<END
- #!/bin/sh
- cd /usr/lib/pgadmin4
- PYTHONPATH="/usr/lib/pgadmin4/venv/lib/python${PYTHONVERSION}/site-packages" python web/pgAdmin4.py "\$@"
- END
- install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
- }
- # vim: ts=2 sw=2 et:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement