Merge updates from master

This commit is contained in:
Repository mirror & CI
2023-12-08 17:17:36 +00:00
25 changed files with 765 additions and 385 deletions

View File

@@ -1,4 +1 @@
DIST agate-excel-0.2.5.tar.gz 161131 BLAKE2B ed7306dabf8b5da722aec9005da9bdba74a9cc585ea72b429eecc4b1fcbdfed698af8e582c464081867c0d4a285b9bc892efc339f0a08c657d87e61fd1174496 SHA512 5686c3faf8b817589a62d9fac558bebe7f47124685be9f8146d74c206023530d0cec2ad88fa4ba7ac049516f5bec6783ce8f0ff47f8eb8b2ed8aad7316f1771b
DIST agate-excel-0.3.0.tar.gz 164113 BLAKE2B f5d9d3c2225bd5df38b0f3028fdcaa61000f5bd6de05d5e490beb1f4b3184e82e76aa8a1d46845ff9795792a8dd58de075da74c27df3a4d4f7a3b6f8ffb7b501 SHA512 7d795f1086d38e736d594d9514dd154da31bb9c5de321ecaea0ce66525f2cb9bc2c1dc8bd51480fa8f4e506626560b1865de6db4c17f67148fa9269085ca53f0
DIST agate-excel-0.4.0.tar.gz 164270 BLAKE2B a45edd9b705ab6673ee4283fc4af7337f6d0ae4a8961b96f4917a4fe74709f5c8d94193e351a996b2d08c548ac9c232f0b1f352a7bd4d22b3f8281840900f75d SHA512 ecacba1ea75a91220e2462c44b1690d4d7ef1db3bee117ef1f4993614392137197f9fd2e4aaddf27a607179c529558fde3d4faa8d2c3fbbac86926ce860ed12c
DIST agate-excel-0.4.1.tar.gz 271433 BLAKE2B 855f60c42726d73e76cd233c607b23b2c227404dc393afa38f6bf9dc4a65708f2644a252faede3d105c440a96e51181e30f7fcf5e80f57434d47d42ca17f9ca7 SHA512 934e8c0416df2e57b617095454aca14e202df1301779814841934452faf672e27a65628efee344df2873bece3731435fa40a6831321ed59a606810bd472d23b8

View File

@@ -1,35 +0,0 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
DESCRIPTION="Adds read support for Excel files (xls and xlsx) to agate"
HOMEPAGE="
https://github.com/wireservice/agate-excel/
https://pypi.org/project/agate-excel/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
dev-python/olefile[${PYTHON_USEDEP}]
>=dev-python/openpyxl-2.3.0[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
>=dev-python/xlrd-0.9.4[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/lxml[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest

View File

@@ -1,34 +0,0 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
DESCRIPTION="Adds read support for Excel files (xls and xlsx) to agate"
HOMEPAGE="
https://github.com/wireservice/agate-excel/
https://pypi.org/project/agate-excel/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
dev-python/olefile[${PYTHON_USEDEP}]
>=dev-python/openpyxl-2.3.0[${PYTHON_USEDEP}]
>=dev-python/xlrd-0.9.4[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/lxml[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest

View File

@@ -1,34 +0,0 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
DESCRIPTION="Adds read support for Excel files (xls and xlsx) to agate"
HOMEPAGE="
https://github.com/wireservice/agate-excel/
https://pypi.org/project/agate-excel/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
dev-python/olefile[${PYTHON_USEDEP}]
>=dev-python/openpyxl-2.3.0[${PYTHON_USEDEP}]
>=dev-python/xlrd-0.9.4[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/lxml[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest

View File

@@ -20,6 +20,7 @@ SLOT="0"
IUSE="clipboard +jedi watch"
KEYWORDS="amd64 arm64 ~riscv x86"
# see https://github.com/bpython/bpython/issues/641 wrt greenlet
RDEPEND="
>=dev-python/curtsies-0.4.0[${PYTHON_USEDEP}]
dev-python/cwcwidth[${PYTHON_USEDEP}]

View File

@@ -1,3 +1 @@
DIST csvkit-1.1.1.tar.gz 3792699 BLAKE2B 730dad274fd873af6903f815a6d2a7dc70d48a845347be644e573fe2772f53786cbf20a631bd8a7c81ffeac03c92f00607be582fda4cd1b6a7efe93d30070182 SHA512 16825ba629ba39022c7537c210f0c5e51f7b03c0552a16fd57b86b0cfd9ff883937d5be21a1a7ef583cf94ea56bff37de259684c84a50d5e9c3ec10f8a5f33dd
DIST csvkit-1.2.0.tar.gz 3792364 BLAKE2B b5d26afc485fdfdd03d1b3036bb6f24dff63568333fb262bcab3086f546cfb72b6981d520d531219a01a4d99357d8067d1676779ff6be116f08724c1f6ac0faf SHA512 3b59908e5c8afa5be2a71940ef9e04f9c55ab4703ca7827bb68975a1c43584797e75edcf3a6ea4861ca5214fbe45e11fd84560bb05f314508040dcde513f6178
DIST csvkit-1.3.0.tar.gz 3795356 BLAKE2B d750464b9c39ddb1456a59741b30a63bf59146732f937129c9913af3c660c52fb73721a174b5e7b9f8446525c5e70d3f0735e20686b82b2daaeed8a5fb3a30a1 SHA512 ab78359f47177490689dd3d98ff473c4919c49ed4f603208a72ee1bc6bcdbc4aedb179a1833a15c64dbc9465bf48156813ebb5fdfc52e8c463b2a489b4f789a0

View File

@@ -1,41 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 pypi
DESCRIPTION="A suite of utilities for converting to and working with CSV"
HOMEPAGE="
https://github.com/wireservice/csvkit/
https://pypi.org/project/csvkit/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/agate-1.6.1[${PYTHON_USEDEP}]
>=dev-python/agate-excel-0.2.2[${PYTHON_USEDEP}]
>=dev-python/agate-dbf-0.2.0[${PYTHON_USEDEP}]
>=dev-python/agate-sql-0.5.3[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/lxml[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# fails depending on locale, let's not force en_US
tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
)
local -x LC_ALL=C.UTF-8
epytest
}

View File

@@ -1,44 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1 pypi
DESCRIPTION="A suite of utilities for converting to and working with CSV"
HOMEPAGE="
https://github.com/wireservice/csvkit/
https://pypi.org/project/csvkit/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/agate-1.6.1[${PYTHON_USEDEP}]
>=dev-python/agate-excel-0.2.2[${PYTHON_USEDEP}]
>=dev-python/agate-dbf-0.2.0[${PYTHON_USEDEP}]
>=dev-python/agate-sql-0.5.3[${PYTHON_USEDEP}]
dev-python/openpyxl[${PYTHON_USEDEP}]
dev-python/sqlalchemy[${PYTHON_USEDEP}]
dev-python/xlrd[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/lxml[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# fails depending on locale, let's not force en_US
tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
)
local -x LC_ALL=C.UTF-8
epytest
}

View File

@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi

View File

@@ -1,3 +1 @@
DIST flask-paginate-2022.1.8.gh.tar.gz 120847 BLAKE2B 110d6f7bb6c244378a41ab26c914898b54fb05cc00cfc6c7c3e15ed96e2163f92cc89c4ce93199091d8ed2f52301e997ebc16a71a3d802b8107249f9f832ca25 SHA512 9f2e0e50d73ac15ec2a413671a52e9dbbbb7eac8576494483441ea1287a12e2076cf649ee9df0bf3b3d2c7e13eebe4a835031ab57a2e8b2015f383d53318a0b9
DIST flask-paginate-2023.10.24.gh.tar.gz 121423 BLAKE2B 100cad03bb015fd5aba26faeaa1d9a62489b85cc0bf36176507af206bb01bdadae3c53802b53483d1482250ab4f0004c9800c61c8c210966b59b1339894d43d5 SHA512 9673698e394f9e11d56dec1a8a57310a963cd15f2fa4784d92e5a8af5d9fbe8e4b59bbd7e34e4e50a38c3ddc936222c19497ddcc233564c4a6aa61c83cd78efa
DIST flask-paginate-2023.10.8.gh.tar.gz 120855 BLAKE2B c872cb635220b92c7fab5a997d8eb90c30fd5036acab81cc72ca9f5381f370faabb8a4d641b34c73f595e8b6f4a10bedbc1650a5bd57df292fcfd6a267cfc64c SHA512 4071fefe44cf0474e9b5716976d163449145f3ba4276e5d467bb513e1be371e044096d222e3f19b228041863f4f0136a1838c4d066a890c8c21359d17e674596

View File

@@ -1,34 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="Pagination support for flask"
HOMEPAGE="
https://flask-paginate.readthedocs.io/
https://github.com/lixxu/flask-paginate/
https://pypi.org/project/flask-paginate/
"
SRC_URI="
https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/flask[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
python_test() {
epytest tests/tests.py
}

View File

@@ -1,34 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="Pagination support for flask"
HOMEPAGE="
https://flask-paginate.readthedocs.io/
https://github.com/lixxu/flask-paginate/
https://pypi.org/project/flask-paginate/
"
SRC_URI="
https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/flask[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
python_test() {
epytest tests/tests.py
}

View File

@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
<dev-python/markdown-it-py-4[${PYTHON_USEDEP}]

View File

@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
<dev-python/docutils-0.21[${PYTHON_USEDEP}]

View File

@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]

View File

@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]

View File

@@ -20,7 +20,7 @@ _FLAG_O_MATIC_ECLASS=1
inherit toolchain-funcs
[[ ${EAPI} == 6 ]] && inherit eutils
[[ ${EAPI} == 6 ]] && inherit eqawarn
# @FUNCTION: all-flag-vars
# @DESCRIPTION:

View File

@@ -8,7 +8,7 @@
# @BLURB: convenience class for extracting RPMs
case ${EAPI} in
6) inherit epatch eutils ;; # eutils for eqawarn
6) inherit epatch eqawarn ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac

View File

@@ -19,7 +19,7 @@ else
SRC_URI="https://github.com/sahlberg/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
fi
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86"
fi
DESCRIPTION="iscsi client library and utilities"

View File

@@ -1,5 +1,3 @@
DIST DropboxGlyph_Blue.svg 605 BLAKE2B 6c488bd261293b22da98035935ddfa9247bedbc6f4da2f9fc2470af802c1f4f597ac88b01b5bef9e77e1e717267f633d6a04af2ccfd3c5f9dbff22fbceaf9a91 SHA512 9202344b904dcd7955e5a355dadf537d1544140d74f8a33bdc40e18e36661e3a474d11cf17613eaebf4e76c170d8413d99abdedfb8635784bcd6892b4b259712
DIST dropbox-lnx.x86-186.4.6207.tar.gz 112963615 BLAKE2B 4fc315f224c3d198ccbc4c489f28263643be99832d0319b22c760fe7fa95e6525283870544e5a1496ce982bbcc5daffed91ba93ff15717e37eba7ecd721b45b8 SHA512 4508781d4e8a33c455b2617cccae777f0837fd0cf131b6ed0f0128f7855f99998c135a36f84abe7ea6a6641e069d0c930c31fe40d45cf50742b7cfd1f64fee83
DIST dropbox-lnx.x86-187.4.5691.tar.gz 113372020 BLAKE2B 48733ca8db7c3394de67db9b7a62f48287f79d1ca9dca6a566be6cd2d138a777598e01a286b42b9de0855e4b6c8ce323beb25aefdca0d5ae23b1766e9f68fa7c SHA512 d7e18e19784c59299eec42b07c37ce7727e683d79d63c42f659239586366f4e1492ff52b9a77e4e3b3bd264004e97e3a23a0440632b9a2a903ac1082855916a1
DIST dropbox-lnx.x86_64-186.4.6207.tar.gz 114657435 BLAKE2B 43c7eb102367143c01cdd0e1e83fdb7d5f19fff43923001aa123cf3cc90a67d9f606bda504ecde11a3dbe7c9eb31b835780738b77e207c2cf1a18a54015bd4f7 SHA512 851b902fae583e8154b77a3c2fd1b212a146e5a11aef71ab5c3231bba4d38964244f1edde4637840dfe4bdd2c4776c592c31c9e54a0d98346933784322a773fb
DIST dropbox-lnx.x86_64-187.4.5691.tar.gz 115019595 BLAKE2B 6368557a5370fc54f8ac36c365f79693ad91b2d0ce6094be7c7c7e6ec29af4c1d386947de4892b18c583caf6bc15c2c9e8b818cbcfaf3238b7f966e419525c2f SHA512 de7461dc7fe51c9f968dec06733d800842454ed2af3c9959ddadd8019d694d60b88e175982d03034030d0047f70923c304a3e0a389e58354ed4e56b8c9da6234
DIST dropbox-lnx.x86-188.4.6302.tar.gz 113574352 BLAKE2B dabae155ee38749f1b3b1482b0228a516c2180920ba470d7014a14c4d9840754071d0a3c0690672fd6158716e639713c6953ad33f875639ed1374e3637c0d5e0 SHA512 86afb1d0c33e2407dc650b7c4dcba38e80e91de1f44fc830537ff15c63918f3aedc5f65d7af69754afd25ebd1f393fd5b108b67409b04af0f6e1455a312ec0b5
DIST dropbox-lnx.x86_64-188.4.6302.tar.gz 115210655 BLAKE2B 5072c7d17c95d48e0fe37ba7402068857b59e7b2fbf5984ce28655cb0cadb84a1cdc834b4d7c17ebc4d4177cfe976e8d100fed1a8049d09211ab5bfc032d5152 SHA512 43b5a46c014e72b5c27b945ff7d28b3fb77f60dd035bc3249ba5afa624c4c1e1f0b661caeb2741190a1ad42ea0c03313ba0a276bafe23bacd0f3454e16178b61

View File

@@ -1,110 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop pax-utils systemd xdg
DESCRIPTION="Dropbox daemon (pretends to be GUI-less)"
HOMEPAGE="https://www.dropbox.com/"
SRC_URI="
amd64? ( https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.x86_64-${PV}.tar.gz )
x86? ( https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.x86-${PV}.tar.gz )
https://www.dropbox.com/sh/42f8d4kq6yt5lte/AAD69lhaw6gy46W8HfQAm0GSa/Glyph/Dropbox/SVG/DropboxGlyph_Blue.svg
"
LICENSE="BSD-2 CC-BY-ND-3.0 FTL MIT LGPL-2 openssl dropbox"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~x86-linux"
IUSE="selinux X"
RESTRICT="mirror strip"
QA_PREBUILT="opt/.*"
QA_EXECSTACK="opt/dropbox/dropbox"
BDEPEND="dev-util/patchelf"
# Be sure to have GLIBCXX_3.4.9, #393125
RDEPEND="
X? (
x11-themes/hicolor-icon-theme
)
selinux? ( sec-policy/selinux-dropbox )
app-arch/bzip2
dev-libs/glib:2
dev-libs/libffi-compat:6
media-libs/fontconfig
media-libs/freetype
net-misc/wget
sys-libs/zlib
sys-libs/ncurses-compat:5
virtual/opengl
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXrender
x11-libs/libxcb
"
src_unpack() {
unpack ${A}
mkdir -p "${S}" || die
mv "${WORKDIR}"/.dropbox-dist/* "${S}" || die
mv "${S}"/dropbox-lnx.*-${PV}/* "${S}" || die
rmdir "${S}"/dropbox-lnx.*-${PV}/ || die
rmdir .dropbox-dist || die
}
src_prepare() {
default
# we supply all of these in RDEPEND
rm -vf libGL.so.1 libX11* libffi.so.6 || die
# some of these do not appear to be used
rm -vf libQt5{OpenGL,PrintSupport,Qml,Quick,Sql,WebKit,WebKitWidgets}.so.5 \
PyQt5.QtPrintSupport.* PyQt5.QtQml.* PyQt5.QtQuick.* \
wmctrl libdrm.so.2 libpopt.so.0 || die
if use X ; then
mv images/hicolor/16x16/status "${T}" || die
else
rm -vrf images || die
fi
patchelf --set-rpath '$ORIGIN' \
apex._apex.*.so \
nucleus_python.*.so \
tprt.*.so \
|| die
pax-mark cm dropbox
mv README ACKNOWLEDGEMENTS "${T}" || die
}
src_install() {
local targetdir="/opt/dropbox"
insinto "${targetdir}"
doins -r *
fperms a+x "${targetdir}"/{dropbox,dropboxd}
dosym "${targetdir}/dropboxd" "/opt/bin/dropbox"
if use X; then
doicon -s 16 -c status "${T}"/status
newicon -s scalable "${DISTDIR}/DropboxGlyph_Blue.svg" dropbox.svg
fi
make_desktop_entry "${PN}" "Dropbox" "dropbox"
newinitd "${FILESDIR}"/dropbox.initd dropbox
newconfd "${FILESDIR}"/dropbox.conf dropbox
systemd_newunit "${FILESDIR}"/dropbox_at.service-r2 "dropbox@.service"
dodoc "${T}"/{README,ACKNOWLEDGEMENTS}
}
pkg_postinst() {
einfo "Warning: while running, dropbox may attempt to autoupdate itself in"
einfo " your user's home directory. To prevent this, run the following as"
einfo " each user who will run dropbox:"
einfo ""
einfo "install -dm0 ~/.dropbox-dist"
}

View File

@@ -1 +1,2 @@
DIST uwsgi-2.0.21.tar.gz 808494 BLAKE2B 3c5fc3ce3a6a7f8f915bb302c0b775a75227f859dd2b141034e8b1aa5cb867b447ed532b3e8b537db80acc908fc26121b752e35ebc0bf9a542678843fd02ff54 SHA512 36a9c1b87a4c3d08482b9045d2227f56b006acb53f38ddf1b510880ae5fc24c0177a077338ec8af3ef0b8f8e220bc4fc7f8311dab8066e13cbcbb616f736c795
DIST uwsgi-2.0.23.tar.gz 810116 BLAKE2B be4353ac71a5282233b0a996e74e49bff66f4c460eb2640058c7028cfeae41214661785de78cdd4aa35415bcc4595e1e340ba48db87bee413754b13d8b24a7d8 SHA512 4060dd66f8c6309497b52a961c36a58fe2b3b3afc7e11b97cfa464757c614d1d44ccc561b18500a394b5d95e5660eae48759003a30ec07379a6f079f63f3899b

View File

@@ -0,0 +1,378 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# Check the upstream uwsgi-2.0 branch, not master, for backports
LUA_COMPAT=( lua5-1 )
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="threads(+)"
RUBY_OPTIONAL="yes"
USE_RUBY="ruby27 ruby30 ruby31 ruby32"
PHP_EXT_INI="no"
PHP_EXT_NAME="dummy"
PHP_EXT_OPTIONAL_USE="php"
USE_PHP="php8-0 php8-1 php8-2" # deps must be registered separately below
POSTGRES_COMPAT=( 13 14 15 )
MY_P="${P/_/-}"
inherit lua-single multiprocessing pax-utils php-ext-source-r3 postgres python-r1 ruby-ng
DESCRIPTION="uWSGI server for Python web applications"
HOMEPAGE="https://uwsgi-docs.readthedocs.io/en/latest/"
SRC_URI="https://github.com/unbit/uwsgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux"
UWSGI_PLUGINS_STD=(
ping cache carbon nagios rpc rrdtool
http ugreen signal syslog rsyslog
router_{uwsgi,redirect,basicauth,rewrite,http,cache,static,memcached,redis,hash,expires,metrics}
{core,fast,raw,ssl}router
redislog mongodblog log{file,socket}
spooler cheaper_busyness symcall
transformation_{chunked,gzip,offload,tofile}
zergpool
)
UWSGI_PLUGINS_OPT=(
alarm_{curl,xmpp} clock_{monotonic,realtime} curl_cron
dumbloop echo emperor_{amqp,pg,zeromq} forkptyrouter
geoip graylog2 legion_cache_fetch ldap log{crypto,pipe} notfound pam
rados router_{access,radius,spnego,xmldir}
sqlite ssi stats_pusher_statsd
systemd_logger transformation_toupper tuntap webdav xattr xslt zabbix
)
LANG_SUPPORT_SIMPLE=( cgi mono perl ) # plugins which can be built in the main build process
LANG_SUPPORT_EXTENDED=( go lua php python ruby )
# plugins to be ignored (for now):
# cheaper_backlog2: example plugin
# coroae: TODO
# cplusplus: partially example code, needs explicit class
# dummy: no idea
# example: example plugin
# exception_log: example plugin
# *java*: TODO
# v8: TODO
# matheval: TODO
IUSE="apache2 +caps debug +embedded expat jemalloc json +pcre +routing selinux +ssl +xml yajl yaml zeromq"
for plugin in ${UWSGI_PLUGINS_STD[@]}; do IUSE="${IUSE} +uwsgi_plugins_${plugin}"; done
for plugin in ${UWSGI_PLUGINS_OPT[@]}; do IUSE="${IUSE} uwsgi_plugins_${plugin}"; done
IUSE="${IUSE} ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]}"
REQUIRED_USE="
|| ( ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]} )
uwsgi_plugins_logcrypto? ( ssl )
uwsgi_plugins_sslrouter? ( ssl )
routing? ( pcre )
uwsgi_plugins_emperor_pg? ( ${POSTGRES_REQ_USE} )
uwsgi_plugins_emperor_zeromq? ( zeromq )
uwsgi_plugins_forkptyrouter? ( uwsgi_plugins_corerouter )
uwsgi_plugins_router_xmldir? ( xml !expat )
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
expat? ( xml )
"
# Dependency notes:
# - util-linux is required for libuuid when requesting zeromq support
# - sys-devel/gcc[go] is needed for libgo.so
#
# Order:
# 1. Unconditional
# 2. General features
# 3. Plugins
# 4. Language/app support
CDEPEND="
sys-libs/zlib
virtual/libcrypt:=
caps? ( sys-libs/libcap )
json? (
!yajl? ( dev-libs/jansson:= )
yajl? ( dev-libs/yajl )
)
pcre? ( dev-libs/libpcre:3 )
ssl? ( dev-libs/openssl:= )
xml? (
!expat? ( dev-libs/libxml2 )
expat? ( dev-libs/expat )
)
yaml? ( dev-libs/libyaml )
zeromq? (
net-libs/zeromq
sys-apps/util-linux
)
uwsgi_plugins_alarm_curl? ( net-misc/curl )
uwsgi_plugins_alarm_xmpp? ( net-libs/gloox )
uwsgi_plugins_curl_cron? ( net-misc/curl )
uwsgi_plugins_emperor_pg? ( ${POSTGRES_DEP} )
uwsgi_plugins_geoip? ( dev-libs/geoip )
uwsgi_plugins_ldap? ( net-nds/openldap:= )
uwsgi_plugins_pam? ( sys-libs/pam )
uwsgi_plugins_sqlite? ( dev-db/sqlite:3 )
uwsgi_plugins_rados? ( sys-cluster/ceph )
uwsgi_plugins_router_access? ( sys-apps/tcp-wrappers )
uwsgi_plugins_router_spnego? ( virtual/krb5 )
uwsgi_plugins_systemd_logger? ( sys-apps/systemd )
uwsgi_plugins_webdav? ( dev-libs/libxml2 )
uwsgi_plugins_xslt? ( dev-libs/libxslt )
go? ( sys-devel/gcc:=[go] )
lua? ( ${LUA_DEPS} )
mono? ( dev-lang/mono:= )
perl? ( dev-lang/perl:= )
php? (
php_targets_php8-0? ( dev-lang/php:8.0[embed] )
php_targets_php8-1? ( dev-lang/php:8.1[embed] )
php_targets_php8-2? ( dev-lang/php:8.2[embed] )
)
python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementations_depend) )
"
DEPEND="${CDEPEND}"
RDEPEND="
${CDEPEND}
selinux? ( sec-policy/selinux-uwsgi )
uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )
"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${P}-php82.patch
"${FILESDIR}"/${P}-python-unicode.patch
"${FILESDIR}"/${P}-libphp-version.patch
)
pkg_setup() {
python_setup
use lua && lua-single_pkg_setup
use ruby && ruby-ng_pkg_setup
use uwsgi_plugins_emperor_pg && postgres_pkg_setup
}
src_unpack() {
default
}
src_prepare() {
default
sed -i \
-e "s|'-O2', ||" \
-e "s|'-Werror', ||" \
-e "s|uc.get('plugin_dir')|uc.get('plugin_build_dir')|" \
uwsgiconfig.py || die "sed failed"
sed -i \
-e "s|/lib|/$(get_libdir)|" \
plugins/php/uwsgiplugin.py || die "sed failed"
}
src_configure() {
local embedded_plugins=()
local plugins=()
local malloc_impl="libc"
local json="false"
local xml="false"
local p
for p in ${UWSGI_PLUGINS_STD[@]} ${UWSGI_PLUGINS_OPT[@]} ; do
use uwsgi_plugins_${p} && embedded_plugins+=("${p}")
done
for p in ${LANG_SUPPORT_SIMPLE[@]} ; do
use ${p} && plugins+=("${p}")
done
# do not embed any plugins
if ! use embedded; then
plugins=( ${plugins[@]} ${embedded_plugins[@]} )
embedded_plugins=()
fi
# flatten the arrays
plugins=${plugins[@]}
embedded_plugins=${embedded_plugins[@]}
# rename some of the use flags, language plugins are always real plugins
plugins="${plugins/perl/psgi}"
plugins="${plugins/sqlite/sqlite3}"
embedded_plugins="${embedded_plugins/sqlite/sqlite3}"
# override defaults as requested by the user
if use xml; then
use expat && xml="expat" || xml="libxml2"
fi
if use json; then
use yajl && json="yajl" || json="jansson"
fi
use jemalloc && malloc_impl="jemalloc"
# prepare the buildconf for gentoo
cp "${FILESDIR}"/gentoo.buildconf buildconf/gentoo.ini || die
sed -i \
-e "s|VAR_XML|${xml}|" \
-e "s|VAR_YAML|$(usex yaml libyaml true)|" \
-e "s|VAR_JSON|${json}|" \
-e "s|VAR_SSL|$(usex ssl true false)|" \
-e "s|VAR_PCRE|$(usex pcre true false)|" \
-e "s|VAR_ZMQ|$(usex zeromq true false)|" \
-e "s|VAR_ROUTING|$(usex routing true false)|" \
-e "s|VAR_DEBUG|$(usex debug true false)|" \
-e "s|VAR_MALLOC|${malloc_impl}|" \
-e "s|VAR_PLUGINS|${plugins// /, }|" \
-e "s|VAR_PLUGIN_DIR|${EPREFIX}/usr/$(get_libdir)/uwsgi|" \
-e "s|VAR_BUILD_DIR|${T}/plugins|" \
-e "s|VAR_EMBEDDED|${embedded_plugins// /, }|" \
buildconf/gentoo.ini || die "sed failed"
if ! use caps; then
sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed"
fi
if ! use zeromq; then
sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed"
fi
if use uwsgi_plugins_emperor_pg ; then
sed -i \
-e "s|pg_config|${PG_CONFIG}|" \
plugins/emperor_pg/uwsgiplugin.py || die "sed failed"
fi
}
each_ruby_compile() {
cd "${WORKDIR}/${MY_P}" || die "sed failed"
UWSGICONFIG_RUBYPATH="${RUBY}" ${EPYTHON} uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed"
UWSGICONFIG_RUBYPATH="${RUBY}" ${EPYTHON} uwsgiconfig.py --plugin plugins/fiber gentoo fiber_${RUBY##*/}|| die "building fiber plugin for ${RUBY} failed"
UWSGICONFIG_RUBYPATH="${RUBY}" ${EPYTHON} uwsgiconfig.py --plugin plugins/rbthreads gentoo rbthreads_${RUBY##*/}|| die "building rbthreads plugin for ${RUBY} failed"
}
python_compile_plugins() {
local EPYV
local PYV
EPYV=${EPYTHON/.}
PYV=${EPYV/python}
${EPYTHON} uwsgiconfig.py --plugin plugins/python gentoo ${EPYV} || die "building plugin for ${EPYTHON} failed"
${EPYTHON} uwsgiconfig.py --plugin plugins/asyncio gentoo asyncio${PYV} || die "building plugin for asyncio-support in ${EPYTHON} failed"
}
python_install_symlinks() {
dosym uwsgi /usr/bin/uwsgi_${EPYTHON/.}
}
src_compile() {
mkdir -p "${T}/plugins" || die
export CPUCOUNT="$(makeopts_jobs)"
${EPYTHON} uwsgiconfig.py --build gentoo || die "building uwsgi failed"
if use go ; then
${EPYTHON} uwsgiconfig.py --plugin plugins/gccgo gentoo || die "building plugin for go failed"
fi
if use lua ; then
# setting the name for the pkg-config file to lua, since that is the name
# provided by the wrapper from Lua eclasses
UWSGICONFIG_LUAPC="lua" ${EPYTHON} uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed"
fi
if use php ; then
for s in $(php_get_slots); do
UWSGICONFIG_PHPDIR="/usr/$(get_libdir)/${s}" ${EPYTHON} uwsgiconfig.py --plugin plugins/php gentoo ${s/.} || die "building plugin for ${s} failed"
done
fi
if use python ; then
python_foreach_impl python_compile_plugins
fi
if use ruby ; then
ruby-ng_src_compile
fi
}
src_install() {
dobin uwsgi
pax-mark m "${D}"/usr/bin/uwsgi
insinto /usr/$(get_libdir)/uwsgi
doins "${T}/plugins"/*.so
use cgi && dosym uwsgi /usr/bin/uwsgi_cgi
use go && dosym uwsgi /usr/bin/uwsgi_go
use lua && dosym uwsgi /usr/bin/uwsgi_lua
use mono && dosym uwsgi /usr/bin/uwsgi_mono
use perl && dosym uwsgi /usr/bin/uwsgi_psgi
if use php ; then
local s
for s in $(php_get_slots); do
dosym uwsgi /usr/bin/uwsgi_${s/.}
done
fi
if use python ; then
python_foreach_impl python_install_symlinks
python_foreach_impl python_domodule uwsgidecorators.py
fi
newinitd "${FILESDIR}"/uwsgi.initd-r7 uwsgi
newconfd "${FILESDIR}"/uwsgi.confd-r4 uwsgi
keepdir /etc/"${PN}".d
use uwsgi_plugins_spooler && keepdir /var/spool/"${PN}"
}
pkg_postinst() {
if use apache2 ; then
ewarn "As reported on bug #650776 [1], Apache module mod_proxy_uwsgi"
ewarn "is being transferred to upstream Apache since 2.4.30, see [2]."
ewarn "We therefore do not build them any more."
ewarn " [1] https://bugs.gentoo.org/650776"
ewarn " [2] https://github.com/unbit/uwsgi/issues/1636"
fi
elog "Append the following options to the uwsgi call to load the respective language plugin:"
use cgi && elog " '--plugins cgi' for cgi"
use lua && elog " '--plugins lua' for lua"
use mono && elog " '--plugins mono' for mono"
use perl && elog " '--plugins psgi' for perl"
if use php ; then
for s in $(php_get_slots); do
elog " '--plugins ${s/.}' for ${s}"
done
fi
python_pkg_postinst() {
local EPYV
local PYV
EPYV=${EPYTHON/.}
PYV=${EPYV/python}
elog " "
elog " '--plugins ${EPYV}' for ${EPYTHON}"
elog " '--plugins ${EPYV},asyncio${PYV}' for asyncio support in ${EPYTHON}"
}
use python && python_foreach_impl python_pkg_postinst
if use ruby ; then
for ruby in $(ruby_get_use_implementations) ; do
elog " '--plugins rack_${ruby/.}' for ${ruby}"
elog " '--plugins fiber_${ruby/.}' for ${ruby} fibers"
elog " '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads"
done
fi
}

View File

@@ -0,0 +1,375 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Check the upstream uwsgi-2.0 branch, not master, for backports
LUA_COMPAT=( lua5-1 )
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
RUBY_OPTIONAL="yes"
USE_RUBY="ruby31 ruby32"
PHP_EXT_INI="no"
PHP_EXT_NAME="dummy"
PHP_EXT_OPTIONAL_USE="php"
USE_PHP="php8-1 php8-2" # deps must be registered separately below
POSTGRES_COMPAT=( 13 14 15 )
MY_P="${P/_/-}"
inherit lua-single multiprocessing pax-utils php-ext-source-r3 postgres python-r1 ruby-ng
DESCRIPTION="uWSGI server for Python web applications"
HOMEPAGE="https://uwsgi-docs.readthedocs.io/en/latest/"
SRC_URI="https://github.com/unbit/uwsgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux"
UWSGI_PLUGINS_STD=(
ping cache carbon nagios rpc rrdtool
http ugreen signal syslog rsyslog
router_{uwsgi,redirect,basicauth,rewrite,http,cache,static,memcached,redis,hash,expires,metrics}
{core,fast,raw,ssl}router
redislog mongodblog log{file,socket}
spooler cheaper_busyness symcall
transformation_{chunked,gzip,offload,tofile}
zergpool
)
UWSGI_PLUGINS_OPT=(
alarm_{curl,xmpp} clock_{monotonic,realtime} curl_cron
dumbloop echo emperor_{amqp,pg,zeromq} forkptyrouter
geoip graylog2 legion_cache_fetch ldap log{crypto,pipe} notfound pam
rados router_{access,radius,spnego,xmldir}
sqlite ssi stats_pusher_statsd
systemd_logger transformation_toupper tuntap webdav xattr xslt zabbix
)
LANG_SUPPORT_SIMPLE=( cgi mono perl ) # plugins which can be built in the main build process
LANG_SUPPORT_EXTENDED=( go lua php python ruby )
# plugins to be ignored (for now):
# cheaper_backlog2: example plugin
# coroae: TODO
# cplusplus: partially example code, needs explicit class
# dummy: no idea
# example: example plugin
# exception_log: example plugin
# *java*: TODO
# v8: TODO
# matheval: TODO
IUSE="apache2 +caps debug +embedded expat jemalloc json +pcre +routing selinux +ssl +xml yajl yaml zeromq"
for plugin in ${UWSGI_PLUGINS_STD[@]}; do IUSE="${IUSE} +uwsgi_plugins_${plugin}"; done
for plugin in ${UWSGI_PLUGINS_OPT[@]}; do IUSE="${IUSE} uwsgi_plugins_${plugin}"; done
IUSE="${IUSE} ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]}"
REQUIRED_USE="
|| ( ${LANG_SUPPORT_SIMPLE[@]} ${LANG_SUPPORT_EXTENDED[@]} )
uwsgi_plugins_logcrypto? ( ssl )
uwsgi_plugins_sslrouter? ( ssl )
routing? ( pcre )
uwsgi_plugins_emperor_pg? ( ${POSTGRES_REQ_USE} )
uwsgi_plugins_emperor_zeromq? ( zeromq )
uwsgi_plugins_forkptyrouter? ( uwsgi_plugins_corerouter )
uwsgi_plugins_router_xmldir? ( xml !expat )
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
expat? ( xml )
"
# Dependency notes:
# - util-linux is required for libuuid when requesting zeromq support
# - sys-devel/gcc[go] is needed for libgo.so
#
# Order:
# 1. Unconditional
# 2. General features
# 3. Plugins
# 4. Language/app support
CDEPEND="
sys-libs/zlib
virtual/libcrypt:=
caps? ( sys-libs/libcap )
json? (
!yajl? ( dev-libs/jansson:= )
yajl? ( dev-libs/yajl )
)
pcre? ( dev-libs/libpcre:3 )
ssl? ( dev-libs/openssl:= )
xml? (
!expat? ( dev-libs/libxml2 )
expat? ( dev-libs/expat )
)
yaml? ( dev-libs/libyaml )
zeromq? (
net-libs/zeromq
sys-apps/util-linux
)
uwsgi_plugins_alarm_curl? ( net-misc/curl )
uwsgi_plugins_alarm_xmpp? ( net-libs/gloox )
uwsgi_plugins_curl_cron? ( net-misc/curl )
uwsgi_plugins_emperor_pg? ( ${POSTGRES_DEP} )
uwsgi_plugins_geoip? ( dev-libs/geoip )
uwsgi_plugins_ldap? ( net-nds/openldap:= )
uwsgi_plugins_pam? ( sys-libs/pam )
uwsgi_plugins_sqlite? ( dev-db/sqlite:3 )
uwsgi_plugins_rados? ( sys-cluster/ceph )
uwsgi_plugins_router_access? ( sys-apps/tcp-wrappers )
uwsgi_plugins_router_spnego? ( virtual/krb5 )
uwsgi_plugins_systemd_logger? ( sys-apps/systemd )
uwsgi_plugins_webdav? ( dev-libs/libxml2 )
uwsgi_plugins_xslt? ( dev-libs/libxslt )
go? ( sys-devel/gcc:=[go] )
lua? ( ${LUA_DEPS} )
mono? ( dev-lang/mono:= )
perl? ( dev-lang/perl:= )
php? (
php_targets_php8-1? ( dev-lang/php:8.1[embed] )
php_targets_php8-2? ( dev-lang/php:8.2[embed] )
)
python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementations_depend) )
"
DEPEND="${CDEPEND}"
RDEPEND="
${CDEPEND}
selinux? ( sec-policy/selinux-uwsgi )
uwsgi_plugins_rrdtool? ( net-analyzer/rrdtool )
"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-2.0.21-libphp-version.patch
)
pkg_setup() {
python_setup
use lua && lua-single_pkg_setup
use ruby && ruby-ng_pkg_setup
use uwsgi_plugins_emperor_pg && postgres_pkg_setup
}
src_unpack() {
default
}
src_prepare() {
default
sed -i \
-e "s|'-O2', ||" \
-e "s|'-Werror', ||" \
-e "s|uc.get('plugin_dir')|uc.get('plugin_build_dir')|" \
uwsgiconfig.py || die "sed failed"
sed -i \
-e "s|/lib|/$(get_libdir)|" \
plugins/php/uwsgiplugin.py || die "sed failed"
}
src_configure() {
local embedded_plugins=()
local plugins=()
local malloc_impl="libc"
local json="false"
local xml="false"
local p
for p in ${UWSGI_PLUGINS_STD[@]} ${UWSGI_PLUGINS_OPT[@]} ; do
use uwsgi_plugins_${p} && embedded_plugins+=("${p}")
done
for p in ${LANG_SUPPORT_SIMPLE[@]} ; do
use ${p} && plugins+=("${p}")
done
# do not embed any plugins
if ! use embedded; then
plugins=( ${plugins[@]} ${embedded_plugins[@]} )
embedded_plugins=()
fi
# flatten the arrays
plugins=${plugins[@]}
embedded_plugins=${embedded_plugins[@]}
# rename some of the use flags, language plugins are always real plugins
plugins="${plugins/perl/psgi}"
plugins="${plugins/sqlite/sqlite3}"
embedded_plugins="${embedded_plugins/sqlite/sqlite3}"
# override defaults as requested by the user
if use xml; then
use expat && xml="expat" || xml="libxml2"
fi
if use json; then
use yajl && json="yajl" || json="jansson"
fi
use jemalloc && malloc_impl="jemalloc"
# prepare the buildconf for gentoo
cp "${FILESDIR}"/gentoo.buildconf buildconf/gentoo.ini || die
sed -i \
-e "s|VAR_XML|${xml}|" \
-e "s|VAR_YAML|$(usex yaml libyaml true)|" \
-e "s|VAR_JSON|${json}|" \
-e "s|VAR_SSL|$(usex ssl true false)|" \
-e "s|VAR_PCRE|$(usex pcre true false)|" \
-e "s|VAR_ZMQ|$(usex zeromq true false)|" \
-e "s|VAR_ROUTING|$(usex routing true false)|" \
-e "s|VAR_DEBUG|$(usex debug true false)|" \
-e "s|VAR_MALLOC|${malloc_impl}|" \
-e "s|VAR_PLUGINS|${plugins// /, }|" \
-e "s|VAR_PLUGIN_DIR|${EPREFIX}/usr/$(get_libdir)/uwsgi|" \
-e "s|VAR_BUILD_DIR|${T}/plugins|" \
-e "s|VAR_EMBEDDED|${embedded_plugins// /, }|" \
buildconf/gentoo.ini || die "sed failed"
if ! use caps; then
sed -i -e 's|sys/capability.h|DISABLED|' uwsgiconfig.py || die "sed failed"
fi
if ! use zeromq; then
sed -i -e 's|uuid/uuid.h|DISABLED|' uwsgiconfig.py || die "sed failed"
fi
if use uwsgi_plugins_emperor_pg ; then
sed -i \
-e "s|pg_config|${PG_CONFIG}|" \
plugins/emperor_pg/uwsgiplugin.py || die "sed failed"
fi
}
each_ruby_compile() {
cd "${WORKDIR}/${MY_P}" || die "sed failed"
UWSGICONFIG_RUBYPATH="${RUBY}" ${EPYTHON} uwsgiconfig.py --plugin plugins/rack gentoo rack_${RUBY##*/} || die "building plugin for ${RUBY} failed"
UWSGICONFIG_RUBYPATH="${RUBY}" ${EPYTHON} uwsgiconfig.py --plugin plugins/fiber gentoo fiber_${RUBY##*/}|| die "building fiber plugin for ${RUBY} failed"
UWSGICONFIG_RUBYPATH="${RUBY}" ${EPYTHON} uwsgiconfig.py --plugin plugins/rbthreads gentoo rbthreads_${RUBY##*/}|| die "building rbthreads plugin for ${RUBY} failed"
}
python_compile_plugins() {
local EPYV
local PYV
EPYV=${EPYTHON/.}
PYV=${EPYV/python}
${EPYTHON} uwsgiconfig.py --plugin plugins/python gentoo ${EPYV} || die "building plugin for ${EPYTHON} failed"
${EPYTHON} uwsgiconfig.py --plugin plugins/asyncio gentoo asyncio${PYV} || die "building plugin for asyncio-support in ${EPYTHON} failed"
}
python_install_symlinks() {
dosym uwsgi /usr/bin/uwsgi_${EPYTHON/.}
}
src_compile() {
mkdir -p "${T}/plugins" || die
export CPUCOUNT="$(makeopts_jobs)"
${EPYTHON} uwsgiconfig.py --build gentoo || die "building uwsgi failed"
if use go ; then
${EPYTHON} uwsgiconfig.py --plugin plugins/gccgo gentoo || die "building plugin for go failed"
fi
if use lua ; then
# setting the name for the pkg-config file to lua, since that is the name
# provided by the wrapper from Lua eclasses
UWSGICONFIG_LUAPC="lua" ${EPYTHON} uwsgiconfig.py --plugin plugins/lua gentoo || die "building plugin for lua failed"
fi
if use php ; then
for s in $(php_get_slots); do
UWSGICONFIG_PHPDIR="/usr/$(get_libdir)/${s}" ${EPYTHON} uwsgiconfig.py --plugin plugins/php gentoo ${s/.} || die "building plugin for ${s} failed"
done
fi
if use python ; then
python_foreach_impl python_compile_plugins
fi
if use ruby ; then
ruby-ng_src_compile
fi
}
src_install() {
dobin uwsgi
pax-mark m "${D}"/usr/bin/uwsgi
insinto /usr/$(get_libdir)/uwsgi
doins "${T}/plugins"/*.so
use cgi && dosym uwsgi /usr/bin/uwsgi_cgi
use go && dosym uwsgi /usr/bin/uwsgi_go
use lua && dosym uwsgi /usr/bin/uwsgi_lua
use mono && dosym uwsgi /usr/bin/uwsgi_mono
use perl && dosym uwsgi /usr/bin/uwsgi_psgi
if use php ; then
local s
for s in $(php_get_slots); do
dosym uwsgi /usr/bin/uwsgi_${s/.}
done
fi
if use python ; then
python_foreach_impl python_install_symlinks
python_foreach_impl python_domodule uwsgidecorators.py
fi
newinitd "${FILESDIR}"/uwsgi.initd-r7 uwsgi
newconfd "${FILESDIR}"/uwsgi.confd-r4 uwsgi
keepdir /etc/"${PN}".d
use uwsgi_plugins_spooler && keepdir /var/spool/"${PN}"
}
pkg_postinst() {
if use apache2 ; then
ewarn "As reported on bug #650776 [1], Apache module mod_proxy_uwsgi"
ewarn "is being transferred to upstream Apache since 2.4.30, see [2]."
ewarn "We therefore do not build them any more."
ewarn " [1] https://bugs.gentoo.org/650776"
ewarn " [2] https://github.com/unbit/uwsgi/issues/1636"
fi
elog "Append the following options to the uwsgi call to load the respective language plugin:"
use cgi && elog " '--plugins cgi' for cgi"
use lua && elog " '--plugins lua' for lua"
use mono && elog " '--plugins mono' for mono"
use perl && elog " '--plugins psgi' for perl"
if use php ; then
for s in $(php_get_slots); do
elog " '--plugins ${s/.}' for ${s}"
done
fi
python_pkg_postinst() {
local EPYV
local PYV
EPYV=${EPYTHON/.}
PYV=${EPYV/python}
elog " "
elog " '--plugins ${EPYV}' for ${EPYTHON}"
elog " '--plugins ${EPYV},asyncio${PYV}' for asyncio support in ${EPYTHON}"
}
use python && python_foreach_impl python_pkg_postinst
if use ruby ; then
for ruby in $(ruby_get_use_implementations) ; do
elog " '--plugins rack_${ruby/.}' for ${ruby}"
elog " '--plugins fiber_${ruby/.}' for ${ruby} fibers"
elog " '--plugins rbthreads_${ruby/.}' for ${ruby} rbthreads"
done
fi
}