parent
9670cf5179
commit
5c25bf474d
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29787 BLAKE2B 5b117b50b5a9a8dcf70bf96bdf2f870e72b5150dd0396be1ffa823d2de71f58e4d66427fcdbf8660bdc4d2434b33b8ba6c3ad402fa6bd1805dd9c129c648a00b SHA512 3b39524d9f27537ee7289a1ffba515dbce61acab1f08ff21b58acfad8236cee2cd2301698125e583334a9c9830a4e708cbe4ea360e0009642f09280bc03fc24d
|
||||
TIMESTAMP 2022-12-09T08:39:52Z
|
||||
MANIFEST Manifest.files.gz 29757 BLAKE2B 6b54d5880350a179897933a797b2e6a9fe410445bf1450cc466e2b7266af12b1a73e65b78f7955c193d8d6d0389596b7d5656d7626b22154ce043f6ad1d33c27 SHA512 b3e52ec7da2776e4745653a5b10bac9326344cef8785a18622d9a891a46f00757af5a781d68458407767594b9dc617a8f332d33da838a54703b7b2d3426df354
|
||||
TIMESTAMP 2022-12-10T08:39:53Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmOS9FhfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmOURdlfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klDuyxAAjuvert98BDJKyhUGLq5tE3dpxvrUOGs2wnWdFNaf3jACP7QWdg6NbcpN
|
||||
eNGL5qFzoZDIE7NCplcziihKRlhnLIqoJerKq8q7+sOA/t4ynFcFQ6LzX0MIte6u
|
||||
SrACwl33epBA+UxDxcWNlDKigrUEKfcb2/lDOyTy4d2vWdXzlKcoklHaOoSbmZep
|
||||
r0o4aw+Tx5KcI0wHQwMvTMxuOxXtkfHrOzo9eW4wt/GMr2vL9EGvF2wVLD0RhgGz
|
||||
W9eOMzIiYTS6yqPNSXD3XiD4g0lqsXrNKjfcERkcAI/jU0xXRKFQW8w0A1Q2975E
|
||||
BdgfHMHYZvkuRlIshbUt7wnvY1hMvCA/8HJx1x9oDxIwcU3fup7QvaO0oSPnuLF4
|
||||
k/Veb+PtUga9sorUo6DlX/M84N97RF/L/H8Uaky1ADU3W1LoMnF8YQs+ajDioGrH
|
||||
oaEi2xh31IERxSc0xMhzdJEGtp72ikmhrgmQ9hIehwEPYA57FtyFrNN5P1f73MXp
|
||||
Kmahj/SIqXklTR68seEDW/oWO/EEPydBS8a4SAgyXWs3fC+0aEfWgtBEDjXGZTzj
|
||||
xgpXRK/99t/SwsQF7uqA4NniF9fPgSCQ5AFvQ12WF7FJwo+n1e3EXHvUi+Wa18ZW
|
||||
mWftMuzqczXqjKKcJKB7sNYAFT7ZzrPZllpI31dN74OOzDpuIow=
|
||||
=V9lN
|
||||
klBrww//V8mkBik7l0WU9WrJ9paPDU28ll8Zo17uWfnCl8Gr08hZ7imiKOXfKckN
|
||||
7mYiQbRsUtMtlWw0TETK/Fds/ky7pqviibSenv4Gz48EIB/N+e6M9AAcWtIuSOAB
|
||||
dbHMKXeRksV6ePjQJy3xKA6UVl5QTkYUYNWf38iLf0pBq3O4lvW+ZvnCPX35dkWf
|
||||
rXPBjV93jsop4lyRw5OQl9G0OQsosRv9X6wCLrjIDAybPZE9RlKJrXyDWtuiPH5j
|
||||
zmv+8Do/CmAeZGYDDNa6SU0YXPtJkLxOV5xfXoJkVw2VreoPosT4pPJHgRa1/gjY
|
||||
r+SzJYQb+OmOBPIsP3p2YVUmREUxmcXZT4BCPKJ6idEQKEF+zTy6LXtTVtx33IQb
|
||||
JG0AMPgR/JV1sUnK2buUhOENT47cgbSsgsdGzBj2QoWUUfQhw0zpxCYdNyfmxoMB
|
||||
Uxrz6ZrBAs6IyNplO3qoBdhxpsV9VrcpddKqwyKdIDgicM1LLKGryz6KvJSCeOJK
|
||||
6pIMEj/RoyTFa64DJmw0+2pfn8ekpuyUtcxpPKgQKns0WeKRECI3SDoN/IeZ+lsZ
|
||||
A2cjWXHLRpOI96N2dTRI5oA9LdndYwcuklkIEHdQfZRddzsHub3yGOomFqQ8ZCos
|
||||
rarMqtOSIFlF21WCAWXNCrsDx0DFF++SVpKZl+qDXCup3Y2uV8k=
|
||||
=G0xq
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST kontrast-22.08.3.tar.xz 128100 BLAKE2B c30380c716ace5f9d1987a9244350fb58592babc963d3b0bf312ca75e966fd9abe254898bd80b4f7bfdeb1d7bccc7424781ccdb0cd1b28784add6bf4edafe764 SHA512 18a1df4c888457f42c9a7273d6462479b8c44d87529b54868ea80c8fd8d9a8a20a96c25b9508a8cb4e93e94d6dd23d7251af1ca908d81a588002d1a29410d843
|
||||
DIST kontrast-22.12.0.tar.xz 200580 BLAKE2B f2f82686e8f20dec92e4f43e5d64cf95aa39f54715a77c705ca6a07dd58287452be42fe4532c9ff14df80b161a4013402ddef9d062dcf26beea9dbc8692d6e38 SHA512 d8d47caea797900d83d51a759bde836670e3380003f964ac2a805f4b1a1ad508ae9fe18e22797330411fdce8556cbe0f87ba1f05f7d2c6a878f0677eb70c6309
|
||||
EBUILD kontrast-22.08.3.ebuild 759 BLAKE2B b27f7e0da34001918842d1fcc208ce15e576d676231e39c082612e9530f335410eb453f65aff39d5a39e9801a4b7192718b61851c60fb9753747409a37928773 SHA512 2f6ab079e9fe1062046d497cbec5a09b0de0d00fd6affb8ca9a97090d34836497cd389dcf123ba8a4291b9cbfffdb82b4489313c1d39785d1cdfd44e14f67d8c
|
||||
EBUILD kontrast-22.12.0.ebuild 762 BLAKE2B 672a3426dad3e2942a2b155e61e42e954e462c999ec8df9dc0326e006b42bd66f6c9167077629b7211eb30f957939ec9bb23ca21a8deb30fc05bd4b3556f7552 SHA512 3fe03ceadf258440d8e2029356af238b7295f2c23832f988b38de25b6b0adc6c2307f132ed4a3659016c0115348b690a0bcba8311fe7ea962b432a0c672ed9fb
|
||||
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
|
||||
|
@ -0,0 +1,32 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
KFMIN=5.99.0
|
||||
QTMIN=5.15.5
|
||||
inherit ecm gear.kde.org
|
||||
|
||||
DESCRIPTION="Tool to check contrast for colors to verify they are correctly accessible"
|
||||
HOMEPAGE="https://apps.kde.org/kontrast/"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
>=dev-qt/qtdbus-${QTMIN}:5
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtquickcontrols2-${QTMIN}:5
|
||||
>=dev-qt/qtsql-${QTMIN}:5
|
||||
>=dev-qt/qtsvg-${QTMIN}:5
|
||||
>=dev-qt/qtwidgets-${QTMIN}:5
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
>=kde-frameworks/kirigami-${KFMIN}:5
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
kde-plasma/xdg-desktop-portal-kde
|
||||
"
|
@ -1,11 +1,8 @@
|
||||
AUX speech-dispatcher-0.11.1-include-pthread_h.patch 367 BLAKE2B 54e4cb3556f066c7291c6c601a0a9cf13c75dc14bfc2ef493d5fd6e38226d10b119612ed57ea4a44d65819653e76a2e74e54e286214f3fd353b8149c00de1ed2 SHA512 d7afc36cd26052576e0fb3af44ba438b5184d32b1d80c98409e227cc86858dfcfcb9287cf44f986042e2733004f30d30a9431e00653779e312543cf43e108537
|
||||
AUX speech-dispatcher-0.11.3-fix-dlopen.patch 2518 BLAKE2B 99490232eb3ea43451caf942ff605ca4f94a3917c525a4a67fd21183a0e7c8a99a2bc883c5a22c47ad3c3712a5560278105a5f35439c8d18215b8d5cf8d4e6af SHA512 2b6970624c3f7f88e80266760bc801c0b895c0e5730767ac66adf0cbc147fdd2ad2eaae7662e4939938555e30e0de57a6caa0e783dafaeeee1d04d10126fe2cc
|
||||
AUX speech-dispatcher-0.11.4-GNU_SOURCE.patch 3680 BLAKE2B 671b55d0418b92d299427fd2d457e3279f1ae9d97548dd1ff89b52a2487cd700c134e7bb042ae6b621883933d1b3c96765f6fc2ed040c0de4c7d97f017ad965f SHA512 d07edc73370fdb8d9c71f8cc9c9db15da8fe3b7d83ca42bd05a09fc4795899786e54436d7dbc8407ab08eb0384997126322352ed9d4c4250d41a11d0d68dd4b4
|
||||
DIST speech-dispatcher-0.11.2.tar.gz 7147526 BLAKE2B 6b11949736275d900e5e1d3909fab51fc04fbb45baf470a4c98aed19f61b7adb8cedf6b11f1a1aa69d9625383627beab4122c74ec78d9c07a5d0ddf4646669d6 SHA512 038ecaa5b9d56e3f915ec49fe7768cb4eebe1c8be79b95635f09fb3f6067e4c0ade13d2dd355e0b326579dcdf509dd180889b27282410b6bb252a2f642f028d4
|
||||
DIST speech-dispatcher-0.11.3.tar.gz 7150632 BLAKE2B 92bad589e453a243362a9e0142d2897b9651fa648012f2bd7ef00bc1ded389fd2c01b6f38f19002289357f7aa6361a6e7fa3ee35ec2ad7c044f34d87e7f2c409 SHA512 e9f5b862066c0292230fda32f16782f9a2d66e8d0c0e3aa0ccdb4628c1182661d2f40894f480ae5206af7fbbc49338189312afe02092f5d472095b053afd75c7
|
||||
DIST speech-dispatcher-0.11.4.tar.gz 7127323 BLAKE2B 651a20ec403c6158756ab6ff7fbedb38ce1cec413be49367128274c8d20ccc7080a2dccd68cb7ebbec6bab05599f06a4aafc561e4e5e53cf52d19fa1b94fa286 SHA512 d0ebe832e2586abdb1284be36f8427cfbbd94f1a2dead1b74526b151e9529f9e61679339274b73afab5f829d184337372ba0aad93d880c42d2a6a1bcb2b7afef
|
||||
EBUILD speech-dispatcher-0.11.2.ebuild 2868 BLAKE2B 343ddf0cbd7f970e93175e60385aa3869ab173ac51db10ee3f12b38dce0c68724e36b3da03682fe6b850b07a996e2f10d3921eba73c10d8b50bf3954869f7c23 SHA512 42539976ba09a7dfc6853201a23ca60bc6abb0e957bf1e69bd10b14f674c8724aa092ec487fbe5eb5551fa4336adf113a5b62b8445f55f3ad138ffb23867a162
|
||||
EBUILD speech-dispatcher-0.11.3-r1.ebuild 2905 BLAKE2B f122ead63396f070a9cdbbf8d9fb7eaa225c09a0317ea06352261cdffa276551634bfc0310fe2561b71b4c5cb5584160785747ae372ecda4c5556bb28c091e0d SHA512 5e126acdd39699e1630759fd9e191798bd9c5b4e734db8e0cd01fc1f8aac39cc037010b6f639939cf7b0753223ab1c41d937da1c49b7bc86a63ee19677a62509
|
||||
EBUILD speech-dispatcher-0.11.3.ebuild 2875 BLAKE2B 7e43633fa593175d1bf889e1f11004c5d95973a0eaa25b9005dc7abc116e9cf393d2a708b92849a2d1581c3d5adf5da4cad711d2cefc7e53e91129a3095dab06 SHA512 e0180013b2599505b0bbcae9dc4dfaf1621af0b699bae5c88f81f7b550791371139113cef98ffcbc3de4a7bd689bf068c5e1e300ddc96cbd00b4dd28ca99a91c
|
||||
EBUILD speech-dispatcher-0.11.4.ebuild 2970 BLAKE2B 053b7a75196d8142e79d2271628d68b3b06cad231cc563cbd90c74fa7ff18dc73eb6dbc9de95640ebbffbd0bee55c631ab9c9c17d5ab4ef5b353d5405f6d9c3f SHA512 0ef225e30c1b231e84eee07b64fe7ca02fc7735dfd7687c46dd8ff6d2f467a1654242172b5cd03b23c25701ed92b60241bf7f6553a25056dc7103899e029bbb6
|
||||
EBUILD speech-dispatcher-0.11.4.ebuild 2965 BLAKE2B 4bd6da1676799ebf7f665f71e0a73160a466556b750cef8623c8a9802bba577a8052b07b0f11b0a9e98ec2236fdefffc99ab8e83dbc95b642fcb909315a2252b SHA512 bb08b4c8118a3da234fcbf8b4846da43a4910be8fbaa51d76b7309d0bd8ede53361e09e7d60714ee73145b1e17d61beb17ae522dfa6b6fa82bc4f3fb50064e4c
|
||||
MISC metadata.xml 793 BLAKE2B bbb768aefee6e8685fc109b1c03a1b33436cbda492ac2d0657983cd5dbcefdeb7f70ea1022047a44548d9db380e499ea572f9a005d5ff7312bff3cdb377d5e77 SHA512 2f122e8cad49728e27539d6e39114cba61a178ec1944d386d63a34e9c203f0d4360257226251ce21b5acad626d802af597cef5db726017f8b4600c484a13c401
|
||||
|
@ -1,122 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit python-r1 systemd
|
||||
|
||||
DESCRIPTION="Speech synthesis interface"
|
||||
HOMEPAGE="https://freebsoft.org/speechd"
|
||||
SRC_URI="https://github.com/brailcom/speechd/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
|
||||
IUSE="alsa ao espeak +espeak-ng flite nas pulseaudio python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
DEPEND="python? ( ${PYTHON_DEPS} )
|
||||
>=dev-libs/dotconf-1.3
|
||||
>=dev-libs/glib-2.36:2
|
||||
>=media-libs/libsndfile-1.0.2
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
ao? ( media-libs/libao )
|
||||
espeak? ( app-accessibility/espeak )
|
||||
espeak-ng? ( app-accessibility/espeak-ng )
|
||||
flite? ( app-accessibility/flite )
|
||||
nas? ( media-libs/nas )
|
||||
pulseaudio? ( media-sound/pulseaudio )"
|
||||
RDEPEND="${DEPEND}
|
||||
python? ( dev-python/pyxdg[${PYTHON_USEDEP}] )"
|
||||
BDEPEND="
|
||||
sys-apps/help2man
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.11.1-include-pthread_h.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# bug 573732
|
||||
export GIT_CEILING_DIRECTORIES="${WORKDIR}"
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-ltdl
|
||||
--disable-python
|
||||
--disable-static
|
||||
--with-baratinoo=no
|
||||
--with-ibmtts=no
|
||||
--with-kali=no
|
||||
--with-pico=no
|
||||
--with-voxin=no
|
||||
$(use_with alsa)
|
||||
$(use_with ao libao)
|
||||
$(use_with espeak)
|
||||
$(use_with espeak-ng)
|
||||
$(use_with flite)
|
||||
$(use_with nas)
|
||||
$(use_with pulseaudio pulse)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use python && python_copy_sources
|
||||
|
||||
emake
|
||||
|
||||
if use python; then
|
||||
building() {
|
||||
cd src/api/python || die
|
||||
emake \
|
||||
pyexecdir="$(python_get_sitedir)" \
|
||||
pythondir="$(python_get_sitedir)"
|
||||
}
|
||||
python_foreach_impl run_in_build_dir building
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use python; then
|
||||
installation() {
|
||||
cd src/api/python || die
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
pyexecdir="$(python_get_sitedir)" \
|
||||
pythondir="$(python_get_sitedir)" \
|
||||
install
|
||||
}
|
||||
python_foreach_impl run_in_build_dir installation
|
||||
python_replicate_script "${ED}"/usr/bin/spd-conf
|
||||
python_foreach_impl python_optimize
|
||||
fi
|
||||
|
||||
find "${D}" -name '*.la' -type f -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local editconfig="n"
|
||||
if ! use espeak-ng; then
|
||||
ewarn "You have disabled espeak-ng, which is speech-dispatcher's"
|
||||
ewarn "default speech synthesizer."
|
||||
ewarn
|
||||
editconfig="y"
|
||||
fi
|
||||
if ! use pulseaudio; then
|
||||
ewarn "You have disabled pulseaudio support."
|
||||
ewarn "pulseaudio is speech-dispatcher's default audio subsystem."
|
||||
ewarn
|
||||
editconfig="y"
|
||||
fi
|
||||
if [[ "${editconfig}" == "y" ]]; then
|
||||
ewarn "You must edit ${EROOT}/etc/speech-dispatcher/speechd.conf"
|
||||
ewarn "and make sure the settings there match your system."
|
||||
ewarn
|
||||
fi
|
||||
}
|
@ -1,122 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit python-r1 systemd
|
||||
|
||||
DESCRIPTION="Speech synthesis interface"
|
||||
HOMEPAGE="https://freebsoft.org/speechd"
|
||||
SRC_URI="https://github.com/brailcom/speechd/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
IUSE="alsa ao espeak +espeak-ng flite nas pulseaudio python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
DEPEND="python? ( ${PYTHON_DEPS} )
|
||||
>=dev-libs/dotconf-1.3
|
||||
>=dev-libs/glib-2.36:2
|
||||
>=media-libs/libsndfile-1.0.2
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
ao? ( media-libs/libao )
|
||||
espeak? ( app-accessibility/espeak )
|
||||
espeak-ng? ( app-accessibility/espeak-ng )
|
||||
flite? ( app-accessibility/flite )
|
||||
nas? ( media-libs/nas )
|
||||
pulseaudio? ( media-sound/pulseaudio )"
|
||||
RDEPEND="${DEPEND}
|
||||
python? ( dev-python/pyxdg[${PYTHON_USEDEP}] )"
|
||||
BDEPEND="
|
||||
sys-apps/help2man
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.11.1-include-pthread_h.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# bug 573732
|
||||
export GIT_CEILING_DIRECTORIES="${WORKDIR}"
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-ltdl
|
||||
--disable-python
|
||||
--disable-static
|
||||
--with-baratinoo=no
|
||||
--with-ibmtts=no
|
||||
--with-kali=no
|
||||
--with-pico=no
|
||||
--with-voxin=no
|
||||
$(use_with alsa)
|
||||
$(use_with ao libao)
|
||||
$(use_with espeak)
|
||||
$(use_with espeak-ng)
|
||||
$(use_with flite)
|
||||
$(use_with nas)
|
||||
$(use_with pulseaudio pulse)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use python && python_copy_sources
|
||||
|
||||
emake
|
||||
|
||||
if use python; then
|
||||
building() {
|
||||
cd src/api/python || die
|
||||
emake \
|
||||
pyexecdir="$(python_get_sitedir)" \
|
||||
pythondir="$(python_get_sitedir)"
|
||||
}
|
||||
python_foreach_impl run_in_build_dir building
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use python; then
|
||||
installation() {
|
||||
cd src/api/python || die
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
pyexecdir="$(python_get_sitedir)" \
|
||||
pythondir="$(python_get_sitedir)" \
|
||||
install
|
||||
}
|
||||
python_foreach_impl run_in_build_dir installation
|
||||
python_replicate_script "${ED}"/usr/bin/spd-conf
|
||||
python_foreach_impl python_optimize
|
||||
fi
|
||||
|
||||
find "${D}" -name '*.la' -type f -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local editconfig="n"
|
||||
if ! use espeak-ng; then
|
||||
ewarn "You have disabled espeak-ng, which is speech-dispatcher's"
|
||||
ewarn "default speech synthesizer."
|
||||
ewarn
|
||||
editconfig="y"
|
||||
fi
|
||||
if ! use pulseaudio; then
|
||||
ewarn "You have disabled pulseaudio support."
|
||||
ewarn "pulseaudio is speech-dispatcher's default audio subsystem."
|
||||
ewarn
|
||||
editconfig="y"
|
||||
fi
|
||||
if [[ "${editconfig}" == "y" ]]; then
|
||||
ewarn "You must edit ${EROOT}/etc/speech-dispatcher/speechd.conf"
|
||||
ewarn "and make sure the settings there match your system."
|
||||
ewarn
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -0,0 +1,80 @@
|
||||
# Copyright 1999-2022 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 bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
# Copyright 1999-2022 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 bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
Binary file not shown.
@ -0,0 +1,126 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit multilib-minimal toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="Multi-format archive and compression library"
|
||||
HOMEPAGE="https://www.libarchive.org/"
|
||||
SRC_URI="
|
||||
https://www.libarchive.de/downloads/${P}.tar.xz
|
||||
verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
|
||||
"
|
||||
|
||||
LICENSE="BSD BSD-2 BSD-4 public-domain"
|
||||
SLOT="0/13"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs xattr zstd"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libarchive.org.asc
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
||||
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
|
||||
blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
|
||||
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
|
||||
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
|
||||
!expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
|
||||
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
|
||||
kernel_linux? (
|
||||
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
dev-libs/openssl:0=[${MULTILIB_USEDEP}]
|
||||
lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
|
||||
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
|
||||
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
kernel_linux? (
|
||||
virtual/os-headers
|
||||
e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
|
||||
"
|
||||
|
||||
multilib_src_configure() {
|
||||
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
|
||||
|
||||
local myconf=(
|
||||
$(use_enable acl)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable xattr)
|
||||
$(use_with blake2 libb2)
|
||||
$(use_with bzip2 bz2lib)
|
||||
$(use_with expat)
|
||||
$(use_with !expat xml2)
|
||||
$(use_with iconv)
|
||||
$(use_with lz4)
|
||||
$(use_with lzma)
|
||||
$(use_with lzo lzo2)
|
||||
$(use_with nettle)
|
||||
--with-zlib
|
||||
$(use_with zstd)
|
||||
|
||||
# Windows-specific
|
||||
--without-cng
|
||||
)
|
||||
if multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--disable-bsdcat
|
||||
--disable-bsdcpio
|
||||
--disable-bsdtar
|
||||
)
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake
|
||||
else
|
||||
emake libarchive.la
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
mkdir -p "${T}"/bin || die
|
||||
# tests fail when lbzip2[symlink] is used in place of ref bunzip2
|
||||
ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
|
||||
local -x PATH=${T}/bin:${PATH}
|
||||
multilib-minimal_src_test
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# sandbox is breaking long symlink behavior
|
||||
local -x SANDBOX_ON=0
|
||||
local -x LD_PRELOAD=
|
||||
# some locales trigger different output that breaks tests
|
||||
local -x LC_ALL=C
|
||||
emake check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake DESTDIR="${D}" install
|
||||
else
|
||||
local install_targets=(
|
||||
install-includeHEADERS
|
||||
install-libLTLIBRARIES
|
||||
install-pkgconfigDATA
|
||||
)
|
||||
emake DESTDIR="${D}" "${install_targets[@]}"
|
||||
fi
|
||||
|
||||
# Libs.private: should be used from libarchive.pc instead
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
DIST pxz-5.0_pre20151029.tar.gz 12271 BLAKE2B 6ba2cb7629b0475761b59620375a2d0de7c6a3a61f7af20140e214383f737e046c45f0c602830c0331794fe1d38332d8d309ed0b8451e3a780ef1a2835de85e6 SHA512 d26bfdf9b70baf91c575e21824920cb42d0a9bd171254b99147a6e5e322ed3d1f7351a570358213431bdacdcbe6e7b22646a2dd2d7a127e167c8237bc4f3038a
|
||||
DIST pxz-5.0_pre20220509.tar.gz 12375 BLAKE2B 5d954d4cd1b139dc94a9ecc5aa99c19a1484812eb62fce089b8f33bfc0ce3ed3ad8053cdc58843c429a365439cd13b3a4b14ebc34de7f2a99deae7cd995cd4e6 SHA512 b1de877d2b8ee9ea5190af4c1a0dc97f7777c35a084137db6d86e23de99b332ea361a82ed995ac2ea12b7bf0670ae92a822235be3b19a1145b6cf5604074f960
|
||||
EBUILD pxz-5.0_pre20151029-r1.ebuild 954 BLAKE2B f830dab90a2ce0a18b3fc7b1af707b0d944505bd11da195b2f6114dc804c7687942647ad285f63484c223ebb89a2ea2e26646c3c7d7c8ed6ef68ea83b66773e5 SHA512 41b4fd0e84164bc59b654cbe090d2166ac38ec885cf0b8f8e07ede110d23520f907ece6bc98a1a9deba6b40d17815f66b2837210392b3a7c56c1734f3893d7a6
|
||||
EBUILD pxz-5.0_pre20220509.ebuild 983 BLAKE2B 6fe668306af9fd67e552b19f4d822342802095f949213a337d19d1a8060036afb16218a75439c05d52862ee18e9181e2ec4fb9f902dc0e40b71de5d2390628a1 SHA512 89b141c3648962243be2ae3a0d22b7eedc165d388d946f0a8866de50b13002c86e394e9b97539caa1bc38b822689233fd590cb3dfa3d951954319247d038753c
|
||||
EBUILD pxz-5.0_pre20220509.ebuild 981 BLAKE2B c26364f09afd4d6dfe9a9e2394353a127804cb75a2230819c5eda46690ac1790ff26bd042e1e0ce8ccb530cc8bbfac945fb364dc708d275d2b5b2b6e464c3015 SHA512 8e64fab91e2d8769347de0c7c3e8d6d7476086898be7e910d332f7a42c7ff57f791185da8839ce3659b5d6f3cb493ebe347a574e19b04d69c2e49a14b0cf62e4
|
||||
EBUILD pxz-9999.ebuild 1121 BLAKE2B bcfbf07cee491d39415249a3bbc71a2f6b6916bdfd770f35e6f6b97ae5615f11972590322873a51d94990b7d7c4f7a3f1f2f20b0a77b92989189fc5a481e9800 SHA512 c56047b53c3ff5dfc60ed6145e7094feaedb9ec2b33922a034b3282216c9d9cb80b4ae4b5339a88324c87e76143f2dfbab7d8497bc3eb26f030d9e473bc74b7c
|
||||
MISC metadata.xml 677 BLAKE2B 970357f7a9fbc5bbfefe6d2a8d8c72a27d3d62f37987a578811f056df9452efb7417c8a3cdd446f54ea0ffd1f12c4217a6ea8c8df9e699e88975c2e2b1afa183 SHA512 35091887bb484b965b915e280a4233f20fca36b19e893a1cc8eeae983f92a7afaf6ad67df87cf337083611e7805db6f80dcf184cab79ce4f0c2d877f28b01d6d
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST dolphin-plugins-22.08.3.tar.xz 260088 BLAKE2B 2927d42a603776cc3b600606ff2f27a77c8bbbe6b089d3e691571c7594d0e4d53023064afbf07e02f546073823a873fd45f200ea13b9e2765b61046602d8239b SHA512 2201858d9d349c28cced78dcfd9a31c3fde05b3ab107a28615af4cc5c32d4315074881f78dfb255638a13269de16ab68b7c53b68d013cf46ded091f8b059173e
|
||||
DIST dolphin-plugins-22.12.0.tar.xz 268876 BLAKE2B 8a21afe22227fdea29a63b09a6adcb5e6f263f9a0b11adad7466c72c3c145c4ce906b4acf77ced9c6a51d68d19f991e0c2933029d5848e10afa1eb7a3cd8da3a SHA512 be257382b493c2f318cfba7c594a1ef89c358ba5ccb3ff7478313040923f319106a1f94fcf9699695d3d17b59031bcdc88352fc6c58f779475b41a5080dc2126
|
||||
EBUILD dolphin-plugins-mountiso-22.08.3.ebuild 1495 BLAKE2B d9404609de4af8bd17be37c309851e1d5cc32af3346cd73d699762af73a32b71b46666f3a7fe8c2f659f8dd730007a8275959f9623b6a1312fe8784b135aa988 SHA512 964fa75a38b57b835b11abc6774f4e81f803c7b8f57a60b4f8184555ecd1c49ae5417b5613816d5c3c952a3796253fe5cbe2dbba5d9226e838f7b526862c31b5
|
||||
EBUILD dolphin-plugins-mountiso-22.12.0.ebuild 1449 BLAKE2B 545011280101d5c780bc3f78dc49ef03ad0cc1e174bea21c537015f873b5b3477e214bad9c8f10a90300b1066074575080251f3eff5e6ea66b48e381b7324141 SHA512 06065216b0130b8d93c5140863e5fee98a82b31fcdcb17cce63666c04bd73839a883eab83d6aac7a581900f07418abc8f7d0383f9822cd9d139c9b86a73dcf11
|
||||
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
|
||||
|
@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
ECM_HANDBOOK="false"
|
||||
KDE_ORG_CATEGORY="sdk"
|
||||
KDE_ORG_NAME="dolphin-plugins"
|
||||
MY_PLUGIN_NAME="mountiso"
|
||||
KFMIN=5.99.0
|
||||
PVCUT=$(ver_cut 1-3)
|
||||
QTMIN=5.15.5
|
||||
inherit ecm gear.kde.org
|
||||
|
||||
DESCRIPTION="Dolphin plugin for ISO loopback device mounting"
|
||||
HOMEPAGE="https://apps.kde.org/dolphin_plugins/"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
>=dev-qt/qtdbus-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtwidgets-${QTMIN}:5
|
||||
>=kde-apps/dolphin-${PVCUT}:5
|
||||
>=kde-frameworks/kcompletion-${KFMIN}:5
|
||||
>=kde-frameworks/kconfig-${KFMIN}:5
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
>=kde-frameworks/kio-${KFMIN}:5
|
||||
>=kde-frameworks/ktextwidgets-${KFMIN}:5
|
||||
>=kde-frameworks/solid-${KFMIN}:5
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
ecm_src_prepare
|
||||
# kxmlgui, qtnetwork only required by dropbox
|
||||
ecm_punt_qt_module Network
|
||||
ecm_punt_kf_module XmlGui
|
||||
# delete non-${PN} translations
|
||||
find po -type f -name "*po" -and -not -name "*${MY_PLUGIN_NAME}plugin" -delete || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_${MY_PLUGIN_NAME}=ON
|
||||
-DBUILD_bazaar=OFF
|
||||
-DBUILD_dropbox=OFF
|
||||
-DBUILD_git=OFF
|
||||
-DBUILD_hg=OFF
|
||||
-DBUILD_svn=OFF
|
||||
)
|
||||
ecm_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
ecm_src_install
|
||||
rm "${D}"/usr/share/metainfo/org.kde.dolphin-plugins.metainfo.xml || die
|
||||
}
|
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
AUX 50org-modern-gentoo.el 268 BLAKE2B 1c60242a6d203e31583ee774e87f200637b1ca71540b65cae68ea0f9255f5eaa4655345bbf21a3e992a087c7dc5abff49a039dc6d36cec59d1a7d8d973da518c SHA512 0b0fac73188c85d3447e34730fab7431eeeeba56f623e38858aae7a73aeae3160b1c272ee9565899375319194b7817578351ad578bc9123b903c8f169ebcec9b
|
||||
DIST org-modern-0.6.tar.gz 23023 BLAKE2B caddb13de8bb5de6d042535ea092d4f681e444cc99095baa2394545d7e78c55860b8aa0581e49c1f95321e4bf42cfa3e898e57f85db0726361173aded80ff162 SHA512 46fd0b37b199916383ec831cb98bcf0c0ab8f3cd2cbb2f93884cbf1919c774d666fc1e83213a51849fa5ddfa5b15917c6f4541af94768cee8bfc787dd30bf5fc
|
||||
EBUILD org-modern-0.6.ebuild 424 BLAKE2B 62c9e784e15e65b65b300aae0ba719b167e1b59579df30eca6fc4c0b9eaefc4b4ed339806240e459c308c1ffb5da8bc9439374e1426b3042c5407d417cad8cbc SHA512 3c7909b75cc544928f1ac019d88362bf00c154c410bbdab887f57aebc5780c3ade8cd2dfe545a2852ca4a614801efca62cdf06650bbba458928188abc515b400
|
||||
MISC metadata.xml 803 BLAKE2B 76b689a9bee8d6d86128fb80844c575294e9e91812161e735c47eb4fc7c9192539f2109ebbcbdc143abee07426faf6b7cf0bc86c48d411738a8329b14c7b56a1 SHA512 cc417a871bdf3534187e566c197007c848f0974b2b4b58eff473087ef09702a929a9df5f4f1df019a4ca632884e7657db055d0ab58ed2ec328506ff0a4a7fcb6
|
@ -0,0 +1,7 @@
|
||||
(add-to-list 'load-path "@SITELISP@")
|
||||
(autoload 'global-org-modern-mode "org-modern"
|
||||
"Global org-modern-mode." t)
|
||||
(autoload 'org-modern-agenda "org-modern"
|
||||
"Finalize Org agenda highlighting." t)
|
||||
(autoload 'org-modern-mode "org-modern"
|
||||
"Modern looks for Org." t)
|
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>gnu-emacs@gentoo.org</email>
|
||||
<name>Gentoo GNU Emacs project</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
This package implements a “modern” style for your Org buffers using font
|
||||
locking and text properties. The package styles headlines, keywords, tables
|
||||
and source blocks. The styling is configurable, you can enable, disable or
|
||||
modify the style of each syntax element individually via the org-modern
|
||||
customization group.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/minad/org-modern/issues/</bugs-to>
|
||||
<remote-id type="github">minad/org-modern</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,18 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Modern style for your GNU Emacs Org buffers"
|
||||
HOMEPAGE="https://github.com/minad/org-modern/"
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DOCS=( README.org example.org )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST ibus-m17n-1.4.17.tar.gz 646856 BLAKE2B e2a1c93afa5adf76689a6883b5b2a08a8ebc4f122ae484797df9ae9fd220023c188a894789069f83ba598a321e3d6c89045f278f1b1f51988c34728e005ba5cd SHA512 794dfce969f447354a092758d20999637e3d0a1006f8e078845ae3e79b63b7a467f9f28a7bdeeac4f4709d6750e7156efbc3d341bfa574ac7002266d0dce2b95
|
||||
DIST ibus-m17n-1.4.18.tar.gz 639501 BLAKE2B 73881d77f08433052ef1c9dd6706febae6f351287ab0ea9beb47078292224ccaab51d930ca178db245870d0a3639a54cca0dc15bf59fd320f3ac9c39d433f2a5 SHA512 4960301ee2a4b10a8ca3c618df1a9f5acabce89da662c80bc39520d1b4b2a6e0b487f85c6e513ba174addc7b8ae349b3cb799f4925abfc20c8ac1ef1b8678540
|
||||
EBUILD ibus-m17n-1.4.17.ebuild 801 BLAKE2B efcc1d3eada14d85fa8c81cbeb1c94b38b626c53bd7e94749b481c21f3a9fcfcbbfdadc52fbaa594ab542f2eee34ad9629e19672c222f83fd69cd69db1dd3cd8 SHA512 3af87daa9a79b2bc0a9475a45aef9011d5c2ede82f6878ca9cce8b6bd4471e1dd3da316cec4d1e603b8d14c98208115aac7bb504c00fa29df9ad4c8a826baff6
|
||||
EBUILD ibus-m17n-1.4.18.ebuild 803 BLAKE2B 6bdd0fe9346a907b2291c3df2a4289d826fd1417db6c6419bcab2eb459b0b860e5e9921d428b400637029f3a7bca914032f6aa428bba4926bcf14fc5e9fdebf3 SHA512 a953de9583a6e475518297e665efc9fe3afb9314f96f85b21a91c6e9560f1a1eb7194b51d0a02b6a6b9ec57ed0edc3d17430b83235333135d6cec4178ef686fb
|
||||
MISC metadata.xml 555 BLAKE2B b9dd5e7d4f230dde589a7e73333d14d52dae05d0e549dbde75332807434fc7c73ee7fe468dd919762527ac65f16c7a484b8d8b5c629c24dbe695c19c96b9abba SHA512 311891667bea4f2d4797440920ba2779a7f54766d3967edb25cb65b30800164a33192babdf7aadaa9adfeade385852d7d8d2a9a039b7c4ecbd2e9ed0a553fe89
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
inherit gnome2-utils xdg
|
||||
|
||||
DESCRIPTION="M17N engine for IBus"
|
||||
HOMEPAGE="https://github.com/ibus/ibus/wiki"
|
||||
SRC_URI="https://github.com/ibus/${PN}/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gtk nls"
|
||||
|
||||
DEPEND="app-i18n/ibus
|
||||
dev-libs/m17n-lib
|
||||
gtk? ( x11-libs/gtk+:3 )
|
||||
nls? ( virtual/libintl )"
|
||||
RDEPEND="${DEPEND}
|
||||
>=dev-db/m17n-db-1.7"
|
||||
BDEPEND="sys-devel/gettext
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable nls) \
|
||||
$(use_with gtk gtk 3.0)
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
gnome2_schemas_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
DIST ibus-table-others-1.3.13.tar.gz 676883 BLAKE2B 2486565f51781fc4d0a270f84c97d2525478392f165e4ebeda8c4b0d64405aa91e4568ebea1ec946fe57bcd9e1ddf08178ce1d46c3bf20571c71f94035df2f9c SHA512 1276139f3ce9e1d7a8e117be804e5ff0f4fba3f1d80600a10fb0fa25327a5c368e315bc87b68219091cdaa5927e536306111df0a4819503b2ec7002374cb2534
|
||||
DIST ibus-table-others-1.3.14.tar.gz 674955 BLAKE2B 77f94ae3f83e95eb53aaf3d78a28682261bfa63031dc74b1399b57194d68e2405df070f41af6a00d69dd9f9c9a106ffa730302847e01b2fc97988fe9bd42a1e2 SHA512 9c91db95ebbee3b6951cc179a46bbc3ee29409afa1e3229a6213447b90ebff288dc738046b0ea4f979c2241cf9563ca77a8b97b651a56e940563e9f25e0e238b
|
||||
EBUILD ibus-table-others-1.3.13.ebuild 550 BLAKE2B 86a4c2743928127466fa5a62aad3be1297e3989071765940175cf1a41c3bb849445d4e27916867158c721f9af1379324a75c10724d271b46ef92487084c448dc SHA512 3918132b79d2879b4f2a3d196937026a7ec7bba887e522535fef8fce36fef028d4612419723d59f7ab7d9f7e558f33d2c4d529abf5f72dcd0fd62fe52c670a96
|
||||
EBUILD ibus-table-others-1.3.14.ebuild 552 BLAKE2B 3f5230d2bd157114f40ae8152868eb8d3c6d341a3effd76903cf81bb019237807d54a3e85e859eeb5e36bb8cee16b5ced67107a52f8470642309bab234009348 SHA512 ef449363f6731ea50736115d999cf3ef6f3450e7e51669443c3312c6a2238f80ace2536eaf5f740a7fe1dff015d6461ccc327e782406754cb4ccb6f60104f059
|
||||
MISC metadata.xml 642 BLAKE2B 0eb23a3102a282b9ff6e77a623f119ed41d1aff2afada1a32e4124de6b97ad4239bcba7738b9f3663f1277e70972314047a25c6da3a61d04ff7b0f6aa6caa896 SHA512 51b6e52fa107591db67c5ddddee30653475882125228c04ad37729eb7cf09fe9a39e016816177a2793a3bbb51a3001422b3f958c95832055867bfd98ea0367ba
|
||||
|
@ -0,0 +1,21 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
DESCRIPTION="Various tables for IBus-Table"
|
||||
HOMEPAGE="https://github.com/moebiuscurve/ibus-table-others"
|
||||
SRC_URI="https://github.com/moebiuscurve/${PN}/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="app-i18n/ibus-table
|
||||
!app-i18n/ibus-table-code
|
||||
!app-i18n/ibus-table-cyrillic
|
||||
!app-i18n/ibus-table-latin
|
||||
!app-i18n/ibus-table-tv"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
@ -1,7 +1,5 @@
|
||||
DIST ibus-table-1.16.12.tar.gz 1519559 BLAKE2B c0e236ae58cbcc7c52bc29f30f2be5ed02590bab96fb9866bb829986fef9e01964b3f4b55caa1d417840372b0c3c230a93713aa774272375b5cd21a2a851bba8 SHA512 edbbb4842a6b49cdf8a830187422b7042c47b9ddf4876eb114acdb1e449024a6f4f48d46cb97d4420d65dffc14b3e3e9400d31b92ac68ccd2e9a327151dcaa3f
|
||||
DIST ibus-table-1.16.13.tar.gz 1532633 BLAKE2B c47b7c1b523554993a007e6b4701d7ee92a000503004bdbc3832a8b3540bb440e9c51eee61f83fd04eb921cd84fedac84cb6b77effd305531aa8d43f980f275a SHA512 d060619c81ff3d610140593a47fed6b430f32f0e5927d824d36bd082d394e473f6d534f7b9b0d0100f878001b7e8b4384e1770c5e1887976cfe248bba5bb6318
|
||||
DIST ibus-table-1.16.14.tar.gz 1534056 BLAKE2B 512c1610e4e7096d25c5ff8678e0e91a4cae96ca7036dae0b33ef8f3461e0e6c89cddb35bcd0bf50c48d308d1b0831c02957863419ccbfba64182290a9567acb SHA512 a865c8913bee5e462ed8f3ba74a720b3eb37062ae762e3909827b660dc62d3055e6b90fd3c583487fb23edd2d9572d9eae201d7fbde889ec5cd8e5848b83291f
|
||||
EBUILD ibus-table-1.16.12.ebuild 1037 BLAKE2B 6c6f34f6b9424d05e7af4e9c872f9a80bef1d3262b8d3355d66242ae296452b1f0787f29728e4c63137b58fff27b160de8c628d72750af4ed99120b26c1fa40d SHA512 05f427e142b4898a42f294045ebc56010651e143c9296bcbc2dea0b2c0de277df663a17017513f4079764e1f84ce4762976cf3d46fb89ea0a19c392eea63a707
|
||||
EBUILD ibus-table-1.16.13.ebuild 1039 BLAKE2B bfa60c06635c734fc91125a997f134541fd481f37b81ab94b89c12f1262839a98e1ebdf67f340e1d59879bacc4db500444bd40c440216c31ac41e1cd5468f670 SHA512 67bcb9a5a1bd5730dc9de788f34566c27ef22167658e0510b80082a9740ab4cefb02c53d73a60bb3acfe5339e89dbd1362fede169d3e6b9fc6926551b39ea637
|
||||
EBUILD ibus-table-1.16.13.ebuild 1037 BLAKE2B 6c6f34f6b9424d05e7af4e9c872f9a80bef1d3262b8d3355d66242ae296452b1f0787f29728e4c63137b58fff27b160de8c628d72750af4ed99120b26c1fa40d SHA512 05f427e142b4898a42f294045ebc56010651e143c9296bcbc2dea0b2c0de277df663a17017513f4079764e1f84ce4762976cf3d46fb89ea0a19c392eea63a707
|
||||
EBUILD ibus-table-1.16.14.ebuild 1039 BLAKE2B bfa60c06635c734fc91125a997f134541fd481f37b81ab94b89c12f1262839a98e1ebdf67f340e1d59879bacc4db500444bd40c440216c31ac41e1cd5468f670 SHA512 67bcb9a5a1bd5730dc9de788f34566c27ef22167658e0510b80082a9740ab4cefb02c53d73a60bb3acfe5339e89dbd1362fede169d3e6b9fc6926551b39ea637
|
||||
MISC metadata.xml 315 BLAKE2B eeff056ce020201cb6e59f0f160232486fd94cc9de7cc90980155f9ef97988199d592b01190b13b013433853fbc25d9c4e5e29fe33fb74aa4239318cfac312fd SHA512 3329cc73468815ecf7f122ee8e8b81ca7295abcfeab95082841ae460c7ca76fdf2cb3d01b1548795bb525ce855052f512b8b2d77fa3afd302f41c156edf35de0
|
||||
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
PYTHON_REQ_USE="sqlite(+)"
|
||||
|
||||
inherit gnome2-utils python-single-r1 xdg
|
||||
|
||||
DESCRIPTION="Tables engines for IBus"
|
||||
HOMEPAGE="https://github.com/ibus/ibus/wiki"
|
||||
SRC_URI="https://github.com/kaio/${PN}/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="nls"
|
||||
RESTRICT="test"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
app-i18n/ibus[python(+),${PYTHON_USEDEP}]
|
||||
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/libiconv
|
||||
nls? ( virtual/libintl )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
src_prepare() {
|
||||
python_fix_shebang .
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf $(use_enable nls)
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
gnome2_schemas_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
DIST ibus-typing-booster-2.19.6.tar.gz 11053584 BLAKE2B 3cab4a044fd8ba9593c336e4fa578f9a476f8b28921923f974fa9805918fdd2542c8cc706316f91bebddedf43c0ae35b418ea554e52f018afe24ad4802601deb SHA512 261b438a07d1621e8f81d362137a1b2f4022cc090488917dfe56129aaf811e607d56e58aca6cf8808c164049ebb3f9c246e8076ff69d24a474685fe1c277d1b1
|
||||
DIST ibus-typing-booster-2.19.10.tar.gz 11174125 BLAKE2B e180a72dc59d89838696291e767e994a17794a7565cf08cbe547aafa75dc73c5e58b046b2312fe70cc682bd9fcc93db23679e62af5ecfe3bd391dee38b73a697 SHA512 af9952aac45906400fdbb8421165c91cc8ade898a20331cb7ba6f85d18a73a8a872f38c00e6ec35c4c6048541f56d4d3f43e8c222fda975efa28c1d6b86d99ee
|
||||
DIST ibus-typing-booster-2.19.7.tar.gz 11055420 BLAKE2B 7e303905d6417dcff67968311b287218d68ff94932f64b82fe224131f8c8f70254e679254bda2c372aeecab15042f51046d62de4887d197d30cb2478136a7cf8 SHA512 0dd7a5aeeed0791a7c5053f6a09abf04590664fc691b0ca11dea1a11ea4109f7cfe907995219b5974b72c21df58670bd1b7ee893acb7b72fd56b3ee23df4fcc4
|
||||
DIST ibus-typing-booster-2.19.8.tar.gz 11170176 BLAKE2B 0670aa4ed88c9e4807814e77b031197bccb84ad9d7cb036b96d22f84221f41731bdadf2632eb4c6726728d3491dd579a84f9beb5ec1b58ab752470c2b4f61910 SHA512 5e24ad5498fb91bbe2c669d85a38a1fc78dbde8a31e07aaa0506896b8e5c0ce78c4b961ac8953582bdbb808116e272a52c8eb721f7723a3f7afc743df9bb7d82
|
||||
EBUILD ibus-typing-booster-2.19.6.ebuild 1150 BLAKE2B 7dbb9179f77c4a6d5dc619a9a33488c048bf4caee8dae5d58781c2210cff7b063f9b1192dd865e3820f38168e5559284783c97e16b7774e6c7a87f6e872b7b62 SHA512 6887d95b52245276feced655d8e0fe407c618fbe60eb48fc5abb44402498aaeab25b6639f0f460d67fe546476ab36cd2c381e127f03ac63a35a0e8f11f3d81d5
|
||||
EBUILD ibus-typing-booster-2.19.7.ebuild 1152 BLAKE2B 02705b507534b72948c798a9f6d714574b90a7f46d8722f75f95216d5866f0fdbd4acb77b1c8a18470c594445c6ba585b344bf0e0719ecd6fb181ad5a3a49b71 SHA512 55892d6d65034d285589b718ae2512cf3de0a85ab0560ed8189bd8dd80de08f6a385c28b6a5aa5adb3e6fc1662daa965257f4eb3cfa1032dbf371b8c902142bc
|
||||
EBUILD ibus-typing-booster-2.19.10.ebuild 1152 BLAKE2B 02705b507534b72948c798a9f6d714574b90a7f46d8722f75f95216d5866f0fdbd4acb77b1c8a18470c594445c6ba585b344bf0e0719ecd6fb181ad5a3a49b71 SHA512 55892d6d65034d285589b718ae2512cf3de0a85ab0560ed8189bd8dd80de08f6a385c28b6a5aa5adb3e6fc1662daa965257f4eb3cfa1032dbf371b8c902142bc
|
||||
EBUILD ibus-typing-booster-2.19.7.ebuild 1150 BLAKE2B 7dbb9179f77c4a6d5dc619a9a33488c048bf4caee8dae5d58781c2210cff7b063f9b1192dd865e3820f38168e5559284783c97e16b7774e6c7a87f6e872b7b62 SHA512 6887d95b52245276feced655d8e0fe407c618fbe60eb48fc5abb44402498aaeab25b6639f0f460d67fe546476ab36cd2c381e127f03ac63a35a0e8f11f3d81d5
|
||||
EBUILD ibus-typing-booster-2.19.8.ebuild 1152 BLAKE2B 02705b507534b72948c798a9f6d714574b90a7f46d8722f75f95216d5866f0fdbd4acb77b1c8a18470c594445c6ba585b344bf0e0719ecd6fb181ad5a3a49b71 SHA512 55892d6d65034d285589b718ae2512cf3de0a85ab0560ed8189bd8dd80de08f6a385c28b6a5aa5adb3e6fc1662daa965257f4eb3cfa1032dbf371b8c902142bc
|
||||
MISC metadata.xml 331 BLAKE2B e076fda3780cbfebae0a799bcc320de0417dfc2a726320c014d253163625da4fd629b180442449368e316e134bf2024f7e03373f2ca0342c4b63a11c63475697 SHA512 f79eaa01a0ad3005064928ef7fbaed4bc98f8850ca36b23309096647b6158c7500e0075f149e4e764a89af99a8fe342eb6a1d9b83a347557300545ecf870e4d8
|
||||
|
Binary file not shown.
@ -0,0 +1,203 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# The Debian ca-certificates package merely takes the CA database as it exists
|
||||
# in the nss package and repackages it for use by openssl.
|
||||
#
|
||||
# The issue with using the compiled debs directly is two fold:
|
||||
# - they do not update frequently enough for us to rely on them
|
||||
# - they pull the CA database from nss tip of tree rather than the release
|
||||
#
|
||||
# So we take the Debian source tools and combine them with the latest nss
|
||||
# release to produce (largely) the same end result. The difference is that
|
||||
# now we know our cert database is kept in sync with nss and, if need be,
|
||||
# can be sync with nss tip of tree more frequently to respond to bugs.
|
||||
|
||||
# Where possible, bump to stable/LTS releases of NSS for the last part
|
||||
# of the version (when not using a pure Debian release).
|
||||
|
||||
# When triaging user reports, refer to our wiki for tips:
|
||||
# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit python-any-r1
|
||||
|
||||
if [[ ${PV} == *.* ]] ; then
|
||||
# Compile from source ourselves.
|
||||
PRECOMPILED=false
|
||||
|
||||
DEB_VER=$(ver_cut 1)
|
||||
NSS_VER=$(ver_cut 2-)
|
||||
RTM_NAME="NSS_${NSS_VER//./_}_RTM"
|
||||
else
|
||||
# Debian precompiled version.
|
||||
PRECOMPILED=true
|
||||
inherit unpacker
|
||||
fi
|
||||
|
||||
DESCRIPTION="Common CA Certificates PEM files"
|
||||
HOMEPAGE="https://packages.debian.org/sid/ca-certificates"
|
||||
NMU_PR=""
|
||||
if ${PRECOMPILED} ; then
|
||||
SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb"
|
||||
else
|
||||
SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz
|
||||
https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz
|
||||
cacert? (
|
||||
https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch
|
||||
)"
|
||||
fi
|
||||
|
||||
LICENSE="MPL-1.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
IUSE=""
|
||||
${PRECOMPILED} || IUSE+=" cacert"
|
||||
|
||||
# c_rehash: we run `c_rehash`
|
||||
# debianutils: we run `run-parts`
|
||||
CDEPEND="app-misc/c_rehash
|
||||
sys-apps/debianutils"
|
||||
|
||||
BDEPEND="${CDEPEND}"
|
||||
if ! ${PRECOMPILED} ; then
|
||||
BDEPEND+=" ${PYTHON_DEPS}"
|
||||
fi
|
||||
|
||||
DEPEND=""
|
||||
if ${PRECOMPILED} ; then
|
||||
DEPEND+=" !<sys-apps/portage-2.1.10.41"
|
||||
fi
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
${DEPEND}"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
pkg_setup() {
|
||||
# For the conversion to having it in CONFIG_PROTECT_MASK,
|
||||
# we need to tell users about it once manually first.
|
||||
[[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \
|
||||
|| ewarn "You should run update-ca-certificates manually after etc-update"
|
||||
|
||||
if ! ${PRECOMPILED} ; then
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if ! ${PRECOMPILED} ; then
|
||||
default
|
||||
# Initial 20200601 deb release had bad naming inside the debian source tarball.
|
||||
DEB_S="${WORKDIR}/${PN}-${DEB_VER}"
|
||||
DEB_BAD_S="${WORKDIR}/work"
|
||||
if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then
|
||||
mv "${DEB_BAD_S}" "${DEB_S}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Do all the work in the image subdir to avoid conflicting with source
|
||||
# dirs in ${WORKDIR}. Need to perform everything in the offset #381937
|
||||
mkdir -p "image/${EPREFIX}" || die
|
||||
cd "image/${EPREFIX}" || die
|
||||
|
||||
${PRECOMPILED} && unpacker_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cd "image/${EPREFIX}" || die
|
||||
|
||||
if ! ${PRECOMPILED} ; then
|
||||
mkdir -p usr/sbin || die
|
||||
cp -p "${S}"/${PN}-${DEB_VER}/sbin/update-ca-certificates \
|
||||
usr/sbin/ || die
|
||||
|
||||
if use cacert ; then
|
||||
pushd "${S}"/nss-${NSS_VER} >/dev/null || die
|
||||
eapply "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch
|
||||
|
||||
pushd "${S}/${PN}-${DEB_VER}" >/dev/null || die
|
||||
eapply "${FILESDIR}"/${PN}-20211016.3.72-no-cryptography.patch
|
||||
popd >/dev/null || die
|
||||
|
||||
local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g')
|
||||
sed -i \
|
||||
-e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \
|
||||
-e '/RELPATH="\.\./s:"$:'"${relp}"'":' \
|
||||
-e 's/openssl rehash/c_rehash/' \
|
||||
usr/sbin/update-ca-certificates || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "image/${EPREFIX}" || die
|
||||
|
||||
if ! ${PRECOMPILED} ; then
|
||||
local d="${S}/${PN}-${DEB_VER}/mozilla" c="usr/share/${PN}"
|
||||
|
||||
# Grab the database from the nss sources.
|
||||
cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die
|
||||
emake -C "${d}"
|
||||
|
||||
# Now move the files to the same places that the precompiled would.
|
||||
mkdir -p etc/ssl/certs \
|
||||
etc/ca-certificates/update.d \
|
||||
"${c}"/mozilla \
|
||||
|| die
|
||||
if use cacert ; then
|
||||
mkdir -p "${c}"/cacert.org || die
|
||||
mv "${d}"/CA_Cert_Signing_Authority.crt \
|
||||
"${c}"/cacert.org/cacert.org_class1.crt || die
|
||||
mv "${d}"/CAcert_Class_3_Root.crt \
|
||||
"${c}"/cacert.org/cacert.org_class3.crt || die
|
||||
fi
|
||||
mv "${d}"/*.crt "${c}"/mozilla/ || die
|
||||
else
|
||||
mv usr/share/doc/{ca-certificates,${PF}} || die
|
||||
fi
|
||||
|
||||
(
|
||||
echo "# Automatically generated by ${CATEGORY}/${PF}"
|
||||
echo "# $(date -u)"
|
||||
echo "# Do not edit."
|
||||
cd "${c}" || die
|
||||
find * -name '*.crt' | LC_ALL=C sort
|
||||
) > etc/ca-certificates.conf
|
||||
|
||||
sh usr/sbin/update-ca-certificates --root "${S}/image" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cp -pPR image/* "${D}"/ || die
|
||||
if ! ${PRECOMPILED} ; then
|
||||
cd ${PN}-${DEB_VER} || die
|
||||
doman sbin/*.8
|
||||
dodoc debian/README.* examples/ca-certificates-local/README
|
||||
fi
|
||||
|
||||
echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates || die
|
||||
doenvd 98ca-certificates
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then
|
||||
# If the user has local certs, we need to rebuild again
|
||||
# to include their stuff in the db.
|
||||
# However it's too overzealous when the user has custom certs in place.
|
||||
# --fresh is to clean up dangling symlinks
|
||||
"${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}"
|
||||
fi
|
||||
|
||||
if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then
|
||||
ewarn "Removing the following broken symlinks:"
|
||||
ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)"
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST kalendar-22.08.3.tar.xz 469052 BLAKE2B 95cd2084226b9c000f293fe1cd567a2da5405ae5af88718a43ad74bbaef789c4cc4d102866ad3077faca51e139f5aef519942a5c4872603912a5d47f62ffbe3f SHA512 021ea8928773af8c6eceb1522931fe620fb5ff72ca9b9a502911d7dfda9e1f65aa385c94c2e1d2dd40ef422cd299289d909d6f9424b1f2a9b26d86fdeb7b0a2b
|
||||
DIST kalendar-22.12.0.tar.xz 800204 BLAKE2B cbae49ca7850f789b2c64c833e1da91a05924a0916cc16520f6eeb35f830a92d07043638e9a70ddbd9ed99f33fd860cdc8b1f3d99cfceeb0b65d1f428ee667cb SHA512 54065522767c1798715788c81f2c7a4a9aea9962b2dbdc5ba81986658abe2c0570dc08ab898a8ffeff2050dbf94df0b08f3fff2fe900f10c83186853e4ddd50c
|
||||
EBUILD kalendar-22.08.3.ebuild 1457 BLAKE2B 754a6e3469b440ff73269ffcdc1c6e2360d3528414e94e805eee4e1bae3af3011fe31ab2dd182ddc0adf2930768196e74d7b967dcfb5ae90990112081b61596a SHA512 34697a38dde5e0b9b6639c871d4bfd97aa58a5716359d7e215c5057512d4f24facbed96f2e6d386dfcac51df2b32bd1fb34df28bb9222e1ff4185b95d38442d8
|
||||
EBUILD kalendar-22.12.0.ebuild 1697 BLAKE2B b11beb25863b7d634fcb40e7245e410fcc1a16b1ac2be70d708f88df17f49db76e1594c3c2bf954d1e5ddadd963e5598ed9683f1ec06914dfc84f6a48dd898be SHA512 2f5ae42ad169999778cfa87af7bfa9d675d420e128d5f140c680e765e8d8038c8861473fe926df3ac3c4bfaa528f8f265c3db9ad6458e2a8d9e836f818c1c570
|
||||
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
|
||||
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
KDE_ORG_CATEGORY="pim"
|
||||
ECM_TEST="forceoptional"
|
||||
PVCUT=$(ver_cut 1-3)
|
||||
KFMIN=5.99.0
|
||||
QTMIN=5.15.5
|
||||
inherit ecm gear.kde.org
|
||||
|
||||
DESCRIPTION="Calendar application using Akonadi"
|
||||
HOMEPAGE="https://apps.kde.org/kalendar/"
|
||||
|
||||
LICENSE="|| ( GPL-2 GPL-3 ) CC0-1.0"
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
# All of the tests involve interacting with akonadi right now (as of 22.04)
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND="
|
||||
app-crypt/gpgme:=[cxx]
|
||||
>=dev-qt/qtdbus-${QTMIN}:5
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtquickcontrols2-${QTMIN}:5
|
||||
>=dev-qt/qtsvg-${QTMIN}:5
|
||||
>=kde-apps/akonadi-${PVCUT}:5
|
||||
>=kde-apps/akonadi-calendar-${PVCUT}:5
|
||||
>=kde-apps/akonadi-contacts-${PVCUT}:5
|
||||
>=kde-apps/calendarsupport-${PVCUT}:5
|
||||
>=kde-apps/eventviews-${PVCUT}:5
|
||||
>=kde-apps/mailcommon-${PVCUT}:5
|
||||
>=kde-apps/pimcommon-${PVCUT}:5
|
||||
>=kde-frameworks/kcalendarcore-${KFMIN}:5
|
||||
>=kde-frameworks/kconfigwidgets-${KFMIN}:5
|
||||
>=kde-frameworks/kcontacts-${KFMIN}:5
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kdbusaddons-${KFMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
>=kde-frameworks/kiconthemes-${KFMIN}:5
|
||||
>=kde-frameworks/kio-${KFMIN}:5
|
||||
>=kde-frameworks/kirigami-${KFMIN}:5
|
||||
>=kde-frameworks/kitemmodels-${KFMIN}:5
|
||||
>=kde-frameworks/kwindowsystem-${KFMIN}:5
|
||||
>=kde-frameworks/kxmlgui-${KFMIN}:5
|
||||
"
|
||||
# qtlocation is needed at runtime only or fails to start
|
||||
RDEPEND="${DEPEND}
|
||||
>=dev-qt/qtgraphicaleffects-${QTMIN}:5
|
||||
>=dev-qt/qtlocation-${QTMIN}:5
|
||||
>=dev-qt/qtwebengine-${QTMIN}:5
|
||||
>=kde-apps/kdepim-runtime-${PVCUT}:5
|
||||
>=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
|
||||
"
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST elt-patches-20211104.tar.xz 41608 BLAKE2B 971ec0f6753267d49a64ab65645ac547322fa4cfe64b3102bbaa4419c0ed0973c0ee44e40c15b2d34e94979cbe9c64b027f4bb7c5adf3d3acee07f3f98bd7704 SHA512 c583bfa45eb16835f83a881eb587c81f0fb2cfd3eff5239e794efb83c046f5cecceeee3f5387585b9d7f68efe5f439344d2cdfc83c9fad5b207e82dff3d8cc67
|
||||
DIST elt-patches-20220831.tar.xz 41696 BLAKE2B c328faac2bc837fff5b9ec7dd2a891d3ab08ee30fb38d838fa6aeebbb832eb30db1f3d3b05e64c14f9cef27a21516cb6d960d7afe2314f37e25a0f77ef5d2862 SHA512 3cced1f515533ce65cef42a3c697ad0686a6c41a1b734c4558690cbdee4ebe60214b3d7f8dbb81974fc100a6882d83599f2dc77c206d9beea2449b2614319d1c
|
||||
EBUILD elt-patches-20211104.ebuild 902 BLAKE2B 28456c3949d47fe6ff34d1e7bee519ef99116455b1c65ec07c2b8d08effc1fa6f76b1afdec5da52a00c8d19778da6ae01c2b241553c36c4f3aeb0ba973eca270 SHA512 2bf0e90c142ecaa196db4574c9797a6ed4bc56b7abf3fc09d33a734dac959e20f3b81aca3814276b4f9ccc907760a62b21f6148505e5c9a9693b692ec5ca9a14
|
||||
DIST elt-patches-20221210.tar.xz 42080 BLAKE2B abcdae6dedac89bd913d6809d335c13cd59b675c4b68198925bf758013e988a9bf82e9f6ccc3a70ac1c49775bb7579addda6c0bb7ea4ceea3c4b8e4acf0d65ea SHA512 3dad3c0be8d69de731bb10d5a6007539c2966f8a370a3dee27faf9655a38e39f272a9059cd98c8b6f32c2495143667f8b28a6a3425f22c0c5421f3969b417cf7
|
||||
EBUILD elt-patches-20220831.ebuild 900 BLAKE2B 72345d2885b75c3a266d417592c4f5250ef9fc58bafd833c2833039e624d7d91bf8ff33110e97c8037b95583fef51016b8ec2ec3215263256201d9178e474021 SHA512 d39b8ce4733254b01c8a00814e4bd802710b145bd2d72bf48ec28fbd5f7c490fee6109b40c7eba13329452ee56b56b21c9e5345a36b98e152814fbc59ad7e9bd
|
||||
EBUILD elt-patches-20221210.ebuild 908 BLAKE2B 97ee412c2c918029b588f1a29bc9e50f7a81123fe9c9fa8375f715a5efaa812a6e3bf494467af0a746b3a5f23b0b383c0033261b186e3ca14a705fd0e1804cdd SHA512 83966a41d5c859051e8fc13d85697ae470aa243596bd22d1857e8b96a445ba4fb0ec8509be2ab5237f4e1e4805943e3bdcc082547db05d27d8357aa8b89ab932
|
||||
MISC metadata.xml 224 BLAKE2B c45ace8978f3aa10354a0e478d1a80fd14c3087658eadaf6416466352c86edf88364681414e4da48f1ec1ee43c260133e682d1658f780e3b9d5ad216d18c5354 SHA512 60d0518e98897d48c04d19ec8ce9b0612560d4899f94ee1b5ee8a48de297f9a7c8fc3cc58112a1a495cd6f4d74580a8c76cf23eeb1312490d247a6aea3be8aa5
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,6 +1,4 @@
|
||||
AUX elfio-3.11-system-gtest.patch 1024 BLAKE2B 96aa3b8c38cf5159c69e4ff74388faf27f2192466e609ae6ccd04209abf7811387b5648922daf9660bc948bfde5c8681b605ac187e7b9757b742729a91e3def5 SHA512 9d75db5c673c375e64a9335e03b0fd3e2f301050388419d4032e6985ac2af8db46dcd9e7e61490e48c3fe90b2a09035a88305027577f9f0f8b1bd99cd9977e22
|
||||
DIST elfio-3.10.tar.gz 4243841 BLAKE2B a4cd5e7cb8b2f13cd7341adacb623b996e07e8ac761cd0f1e8eb20a87770fa936bf97ad79a0ff8d700ac41278bae7c5dd00d277f4c2d47e73340aaf607b7ee49 SHA512 f609fe5162d1609d1d65f441dbf01011ca5ae36195d8b3a74dec2b72891e9f8f90d3fdbc9bf893f7186494071606e898e5519fda18665fc88ae9781c504cd4a9
|
||||
DIST elfio-3.11.tar.gz 4150700 BLAKE2B 2e0270384f1fdbc8f8374c1a42b5bd0c6ba6faa8c8a7125063b682cd9808fbb3f330e2a0fa4646c8828f6d276ad8f92e36b69ab7916c3bd2b1b2ecad6708fcc1 SHA512 3a254aad62e707f2809e2997998aab6a9794d70791dc535a6de90bad3e9de3cbcc4f8e7787067ca7cd47ce2dc71cf52809747267bc36cfb08369b49a6b92cf5e
|
||||
EBUILD elfio-3.10.ebuild 570 BLAKE2B 211ec77a13d0d94845564a2a9124300aaaf707c8e42d7d7cf3fb22c2d7147e4f9275acc53d54e24e32fc9bff35fe6aa026770ddb7ddd021b66d10bad7464e3d2 SHA512 05ac2316053f66abd5f2bafbd45ef74a4a2efab094c59b99636b94f2d2f9f4981ae2139c75231a2907e2dde70a4e23b7d83cf29d893c6f0fadbc4ab018af8ce4
|
||||
EBUILD elfio-3.11.ebuild 666 BLAKE2B d0869322ea72892a19556fdee149bd0fe22624242e51d3447b6771da1b34e295a81ba0e337bc8ee63b5a5254330829de928d54b1a8347f2a322bfc4ed20dfee9 SHA512 c492ef4e16e45b506cb7e0295c6fb74c49aebcea6a3714784986279d9e9c18debb3a6162967c024e5b636cc8a9400e609e1f2f13440902857d4037ed1594482c
|
||||
MISC metadata.xml 317 BLAKE2B 4b62079a213f05ca0fce72e62582010a9c82e11e714347c6753a1919bb8586896cef8afa5c378ffb00a5427aea6219fe7d78cc3572e214c3b2e8b09507ca685d SHA512 d550d765b42e68da41164297145ed8534b6bfb8f7976e6df57f76fb0fc8558262f010d988b66ea368d45e7c4bbbc879f6b91abba21c3f14871605e39589e5047
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Copyright 2020-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="ELF reader/producer header-only C++ library"
|
||||
HOMEPAGE="https://github.com/serge1/ELFIO"
|
||||
SRC_URI="https://github.com/serge1/${PN}/archive/Release_${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}"/${PN^^}-Release_${PV}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="test? ( dev-libs/boost )"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DELFIO_BUILD_TESTS=$(usex test)
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,8 +1,8 @@
|
||||
DIST asm-ASM_4_0.tar.gz 14789505 BLAKE2B 62b49d904f1ef2d32379f4f5d644cdc274b30f292ee4f64ad02be7d2226a90965f7b12421700e79dcd1e67a46e6a8543d5e353486a1577313616688ddc57f3b3 SHA512 e654623a882d9fe414e71861183f64840f7b6629231864872497d4bf9274e8ac05e05496593fa54a90d8c6a2e6d701b9a6f3876df611637f7d2079c5519def1e
|
||||
DIST asm-ASM_5_1.tar.gz 16258842 BLAKE2B bd7d717cdfa6ff652c96b88d7b7d33fae614acba390c256ea72ecfbb3edc48382621a076dedf9b8728fdb1d0961cda943f165f99de840824b766c9af45a49339 SHA512 4bb32ce6eba267928261238f8f13cd2365ab374780039ad1df31698cd791645a370aca58c44270ec05f8377d6aa0a0d00f9f3890961cbd32a10cbd2e79e2d518
|
||||
DIST asm-ASM_4_0.tar.bz2 14706135 BLAKE2B 20bed2b10b6107e9af74dafd8f7c9db93be1c26e073a8f7d8b25a94b99a1e89659dd03ed9094c4a56fe8a9b8d206b00e3db35eb4074e16396292d2fe75c2bb41 SHA512 046b36fe664a58e65daca2e3820f431436f27242fb548723ec02e829637f4d27d3329edd5014d3c84855d827a2fb2a87107043951a83f4fee2e83d89bb0ba74d
|
||||
DIST asm-ASM_5_1.tar.bz2 16191369 BLAKE2B 30e0f97fe200f09c78b3ba743ad70f25715b411d5e0be330234d97dec98b997db78736b5e005fdac8ed5339c553783a4e12386c34cb2c5a45bd8d8b42d7e8465 SHA512 6e73fe0787cfa974c598be44b5d735bbd6cba88f64db24169ec481281aea2169bce65fb08a677aa99f0d71f876a204c86432d2a4a79e85cc5286eb2ccf7617d7
|
||||
DIST asm-ASM_9_3.tar.gz 1666740 BLAKE2B 6905233f666159f861dda68a855e8f5632817b0627c2006d3a8e61340cd4afca9310860dd1eff46173ca7356583e6c44027e674f7e17eacaaf0dbcc24b92198e SHA512 401a4dd7c2638bbad940ca92c42b7ec6f44e1d19c407bba3cd6a081e0b51969cf62a0fbcc407ef4889d3c7d6c7b9893e77642c058f812e9d10b9d67c5215be42
|
||||
DIST asm-ASM_9_4.tar.gz 1678751 BLAKE2B 6054d9ae58144a5928560ccbae9695163f031fc95e40ad93724a0d2cf84cf221939d127c5e961b1f87534a083d2bbbeff16af0cb046f9485f65cb648342d7cdb SHA512 585ff091dad8b4b08b180da57ed770de3a77dae6d221defdf0ff731a181ffcdc8b3ac56a6d7c3b9662d7bc85d2a1d47ea0d14c1ca4439e7d7e43f3fbea91c1ca
|
||||
EBUILD asm-5.1-r1.ebuild 1280 BLAKE2B 9b4395b97760514e0f54c72ab1df3a0751991d13caf567a0441fb16c05f4a89559b1347b19a820ea79871123895a4f86431230fd41bd4735aa1e0d4e57c7d128 SHA512 78fa99694b9a1156a85067bab400bfb99f83f4908cd0e6f03eb64e067b15fe757f3cf4cd6b8b109227d6c42b1e3bc2900fc798d3e35d7323cf18a6dde9605c69
|
||||
EBUILD asm-9.3.ebuild 1580 BLAKE2B 13b2f9d3b02654e705ada53d6b25e0d8696f744adbe43cd3e75d0cd6e60f312538d79b381071920fb6707d2a84c7fc737728966076504d0b052950df628fa5e7 SHA512 87abca9f037edb1a196610ddb88f603d652919662f55baf3bbb84438b8511fce9690175ef493c4afce2227bcb3af928e6dca50ab53ba6752d77715db85cf270b
|
||||
EBUILD asm-9.4.ebuild 2265 BLAKE2B 4a6569086fad0c4c95ef73675ac33a2297f2a07cdf925dde74c5552a54b528f849f2fad407a544dcad053a73f50d2a1124b0841f626be266acdf395649a4dab9 SHA512 dabfc885d122e1928de2a471edb623afc140b3cd24738d59ac919bda7bbe799a54095f4807fd8fc01bebf120b8981d94cd887910dcc0b77ab16c48f7b64c6265
|
||||
DIST asm-ASM_9_4.tar.bz2 1380417 BLAKE2B 612fc6669294f2926ec77522f642f2878a96a9c977579ceda9feb955041ff53fa698c75b26c27bae478a41dca59357d9cf824263df39d60ea5c6722e5f0efc75 SHA512 a59268808ac54a238bd6e117eb0164d28c5c3572c12d7ad42c2f3dbd32714c03056f330255756511db4f1ede8d66bf32c7347128b8ec179beba11cca27927687
|
||||
EBUILD asm-5.1-r1.ebuild 1291 BLAKE2B 725d3131119c130036a1d9ba211731c75700c62dfca02b9fca40125dabb8b6cc8233d3df6f29edaa4341d5412d695e8ebd7c70f3e0bd84a0b2091f3d7375fb51 SHA512 ccceba8cf7a50559aa3a505cf8450d695da2a927e0044fcead1878c156c17eae7ff25cbe25d84b4ed780f930b4b669b30d0ab65289bd141272eaf4febd4ee002
|
||||
EBUILD asm-9.3.ebuild 1596 BLAKE2B c14991f2292a3c005e176f714c5f75798824284aac7563902c876ae38bf738d548b999d30b6ac21be9c3512de1e56736dcb3d0a30155cdcedcef6750d9bd9372 SHA512 787f4c1949ace552c29dd4a739c51d02814e8500c42c8108f6bcc5b88c48f67b21afd091928806e69713600bb56ab627e6b3accc793300c5cffcedb9369fdd22
|
||||
EBUILD asm-9.4.ebuild 2367 BLAKE2B 1703a204f3acda73637408d224886f71458abba801cbc04809cd9cf24e35837cdc268fb6307e5aef0ea497664deb025dbf304691b0c5c0ac329ec36f5c5334f5 SHA512 31f2468a2958eb4760f29242be8fb2c5dda12621908be79028951cae5e7a9319177b0cecc57b8c2616b2838eeb79cb6f0e5be9ccea34b3786e6b56d6361bcc98
|
||||
MISC metadata.xml 1233 BLAKE2B 13faf251d3d40ed558c83262972ea106892cc3be0f7a1b95a0b484123d93473bd867b2f7b53c3e5ccc2f1fe249ebe66cb9e757e19ad36c8d3e3eac6a7a981d98 SHA512 59a292291ac757818e41d009e2cdbb73b6d914c1f552c34e9360635cb468f1ebfdf9c58d6642710d5218689d08797320102c8ccb6d5f4bc9478883feb9b9b397
|
||||
|
Binary file not shown.
@ -1,759 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
WANT_AUTOMAKE="none"
|
||||
|
||||
inherit flag-o-matic systemd autotools
|
||||
|
||||
MY_PV=${PV/_rc/RC}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://www.php.net/"
|
||||
#SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
|
||||
SRC_URI="https://downloads.php.net/~pierrick/php-${MY_PV}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(ver_cut 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage +ctype curl debug
|
||||
enchant exif ffi +fileinfo +filter firebird
|
||||
+flatfile ftp gd gdbm gmp +iconv imap inifile
|
||||
intl iodbc +jit kerberos ldap ldap-sasl libedit lmdb
|
||||
mhash mssql mysql mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline selinux +session session-mm sharedmem
|
||||
+simplexml snmp soap sockets sodium spell sqlite ssl
|
||||
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
|
||||
+xml xmlreader xmlwriter xpm xslt zip zlib"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
# The Oracle instant client provides its own incompatible ldap library.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
!cli? ( ?? ( readline libedit ) )
|
||||
truetype? ( gd zlib )
|
||||
webp? ( gd zlib )
|
||||
cjk? ( gd zlib )
|
||||
exif? ( gd zlib )
|
||||
xpm? ( gd zlib )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
xmlreader? ( xml )
|
||||
xmlwriter? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
oci8-instant-client? ( !ldap )
|
||||
qdbm? ( !gdbm )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
firebird? ( pdo )
|
||||
mssql? ( pdo )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.7[apache2?,fpm?]
|
||||
>=dev-libs/libpcre2-10.30[jit?,unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) selinux? ( sys-libs/libselinux ) )
|
||||
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
|
||||
argon2? ( app-crypt/argon2:= )
|
||||
berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) )
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
curl? ( >=net-misc/curl-7.29.0 )
|
||||
enchant? ( app-text/enchant:2 )
|
||||
ffi? ( >=dev-libs/libffi-3.0.11:= )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( net-libs/c-client[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11:= )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl )
|
||||
libedit? ( dev-libs/libedit )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
|
||||
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
|
||||
postgres? ( >=dev-db/postgresql-9.1:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
session-mm? ( dev-libs/mm )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
sodium? ( dev-libs/libsodium:=[-minimal] )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? ( >=dev-libs/openssl-1.0.2:0= )
|
||||
tidy? ( app-text/htmltidy )
|
||||
tokyocabinet? ( dev-db/tokyocabinet )
|
||||
truetype? ( =media-libs/freetype-2* )
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
xml? ( >=dev-libs/libxml2-2.9.0 )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
xslt? ( dev-libs/libxslt )
|
||||
zip? ( >=dev-libs/libzip-1.2.0:= )
|
||||
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
"
|
||||
|
||||
IDEPEND=">=app-eselect/eselect-php-0.9.7[apache2?,fpm?]"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
# Bison isn't actually needed when building from a release tarball
|
||||
# However, the configure script will warn if it's absent or if you
|
||||
# have an incompatible version installed. See bug 593278.
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PHP_MV="$(ver_cut 1)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/php-iodbc-header-location.patch"
|
||||
)
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "../ext/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
|
||||
# Emulate buildconf to support cross-compilation
|
||||
rm -fr aclocal.m4 autom4te.cache config.cache \
|
||||
configure main/php_config.h.in || die
|
||||
eautoconf --force
|
||||
eautoheader
|
||||
|
||||
# Remove false positive test failures
|
||||
# stream_isatty fails due to portage redirects
|
||||
# curl tests here fail for network sandbox issues
|
||||
# session tests here fail because we set the session directory to $T
|
||||
rm tests/output/stream_isatty_err.phpt \
|
||||
tests/output/stream_isatty_out-err.phpt \
|
||||
tests/output/stream_isatty_out.phpt \
|
||||
ext/curl/tests/bug76675.phpt \
|
||||
ext/curl/tests/bug77535.phpt \
|
||||
ext/curl/tests/curl_error_basic.phpt \
|
||||
ext/session/tests/bug74514.phpt \
|
||||
ext/session/tests/bug74936.phpt || die
|
||||
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
--without-valgrind
|
||||
--enable-ipv6
|
||||
$(use_enable threads zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with apparmor fpm-apparmor)
|
||||
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
|
||||
$(use_enable bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype)
|
||||
$(use_with curl)
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant)
|
||||
$(use_enable exif)
|
||||
$(use_with ffi)
|
||||
$(use_enable fileinfo)
|
||||
$(use_enable filter)
|
||||
$(use_enable ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl)
|
||||
$(use_with kerberos)
|
||||
$(use_with xml libxml)
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with ssl openssl)
|
||||
$(use_enable pcntl)
|
||||
$(use_enable phar)
|
||||
$(use_enable pdo)
|
||||
$(use_enable opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix)
|
||||
$(use_with selinux fpm-selinux)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_enable simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap)
|
||||
$(use_enable sockets)
|
||||
$(use_with sodium)
|
||||
$(use_with sqlite sqlite3)
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer)
|
||||
$(use_enable xml)
|
||||
$(use_enable xmlreader)
|
||||
$(use_enable xmlwriter)
|
||||
$(use_with xslt xsl)
|
||||
$(use_with zip)
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm || use lmdb || use tokyocabinet ; then
|
||||
our_conf+=( "--enable-dba" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
|
||||
$(use_with lmdb lmdb "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype)
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg)
|
||||
$(use_with xpm)
|
||||
$(use_with webp)
|
||||
)
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_enable gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl)
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
our_conf+=( $(use_with mysqli) )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
if use odbc && use iodbc ; then
|
||||
our_conf+=(
|
||||
--without-unixODBC
|
||||
--with-iodbc
|
||||
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
|
||||
)
|
||||
elif use odbc ; then
|
||||
our_conf+=(
|
||||
--with-unixODBC="${EPREFIX}/usr"
|
||||
--without-iodbc
|
||||
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
)
|
||||
else
|
||||
our_conf+=(
|
||||
--without-unixODBC
|
||||
--without-iodbc
|
||||
--without-pdo-odbc
|
||||
)
|
||||
fi
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "mysqlnd")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite)
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit)
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-external-pcre affects ext/pcre
|
||||
our_conf+=(
|
||||
--with-external-pcre
|
||||
$(use_with jit pcre-jit)
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
local one_sapi
|
||||
local sapi
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
local sapi
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi="", sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
# Install the "phar" archive utility.
|
||||
if use phar ; then
|
||||
emake INSTALL_ROOT="${D}" install-pharcmd
|
||||
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
|
||||
fi
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp$(get_libname)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
local m
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -1,479 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}-r1"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
IUSE="
|
||||
bluetooth build +ensurepip examples gdbm hardened libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind +xml
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-lang/python-exec[python_targets_python3_10(-)]
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )
|
||||
!!<sys-apps/sandbox-2.21
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-python )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# https://bugs.gentoo.org/850151
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs)
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
local disable
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-x test_gdb
|
||||
-u-network
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910 and bug #864911.
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross.
|
||||
--without-lto
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}"
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__GDBM=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__SQLITE3=disabled
|
||||
MODULE__HASHLIB=disabled
|
||||
MODULE__SSL=disabled
|
||||
MODULE__CURSES=disabled
|
||||
MODULE__CURSES_PANEL=disabled
|
||||
MODULE_READLINE=disabled
|
||||
MODULE__TKINTER=disabled
|
||||
MODULE_PYEXPAT=disabled
|
||||
MODULE_ZLIB=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the Python it was pointed to
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -1,508 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}-r1"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
IUSE="
|
||||
bluetooth build +ensurepip examples gdbm hardened libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
!!<sys-apps/sandbox-2.21
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-python )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# https://bugs.gentoo.org/850151
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs)
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-x test_gdb
|
||||
-u-network
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__GDBM_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__SQLITE3_STATE=disabled
|
||||
MODULE__HASHLIB_STATE=disabled
|
||||
MODULE__SSL_STATE=disabled
|
||||
MODULE__CURSES_STATE=disabled
|
||||
MODULE__CURSES_PANEL_STATE=disabled
|
||||
MODULE_READLINE_STATE=disabled
|
||||
MODULE__TKINTER_STATE=disabled
|
||||
MODULE_PYEXPAT_STATE=disabled
|
||||
MODULE_ZLIB_STATE=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# force-disable modules we don't want built
|
||||
local disable_modules=( NIS )
|
||||
use gdbm || disable_modules+=( _GDBM _DBM )
|
||||
use sqlite || disable_modules+=( _SQLITE3 )
|
||||
use ssl || disable_modules+=( _HASHLIB _SSL )
|
||||
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
|
||||
use readline || disable_modules+=( READLINE )
|
||||
use tk || disable_modules+=( _TKINTER )
|
||||
|
||||
local mod
|
||||
for mod in "${disable_modules[@]}"; do
|
||||
echo "MODULE_${mod}_STATE=disabled"
|
||||
done >> Makefile || die
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,494 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_alpha/a}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}-r1"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build +ensurepip examples gdbm hardened libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
!!<sys-apps/sandbox-2.21
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-x test_gdb
|
||||
-u-network
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__GDBM_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__SQLITE3_STATE=disabled
|
||||
MODULE__HASHLIB_STATE=disabled
|
||||
MODULE__SSL_STATE=disabled
|
||||
MODULE__CURSES_STATE=disabled
|
||||
MODULE__CURSES_PANEL_STATE=disabled
|
||||
MODULE_READLINE_STATE=disabled
|
||||
MODULE__TKINTER_STATE=disabled
|
||||
MODULE_PYEXPAT_STATE=disabled
|
||||
MODULE_ZLIB_STATE=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# force-disable modules we don't want built
|
||||
local disable_modules=( NIS )
|
||||
use gdbm || disable_modules+=( _GDBM _DBM )
|
||||
use sqlite || disable_modules+=( _SQLITE3 )
|
||||
use ssl || disable_modules+=( _HASHLIB _SSL )
|
||||
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
|
||||
use readline || disable_modules+=( READLINE )
|
||||
use tk || disable_modules+=( _TKINTER )
|
||||
|
||||
local mod
|
||||
for mod in "${disable_modules[@]}"; do
|
||||
echo "MODULE_${mod}_STATE=disabled"
|
||||
done >> Makefile || die
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,501 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_alpha/a}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build +ensurepip examples gdbm hardened libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
!!<sys-apps/sandbox-2.21
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-x test_gdb
|
||||
-u-network
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__GDBM_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__SQLITE3_STATE=disabled
|
||||
MODULE__HASHLIB_STATE=disabled
|
||||
MODULE__SSL_STATE=disabled
|
||||
MODULE__CURSES_STATE=disabled
|
||||
MODULE__CURSES_PANEL_STATE=disabled
|
||||
MODULE_READLINE_STATE=disabled
|
||||
MODULE__TKINTER_STATE=disabled
|
||||
MODULE_PYEXPAT_STATE=disabled
|
||||
MODULE_ZLIB_STATE=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# force-disable modules we don't want built
|
||||
local disable_modules=( NIS )
|
||||
use gdbm || disable_modules+=( _GDBM _DBM )
|
||||
use sqlite || disable_modules+=( _SQLITE3 )
|
||||
use ssl || disable_modules+=( _HASHLIB _SSL )
|
||||
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
|
||||
use readline || disable_modules+=( READLINE )
|
||||
use tk || disable_modules+=( _TKINTER )
|
||||
|
||||
local mod
|
||||
for mod in "${disable_modules[@]}"; do
|
||||
echo "MODULE_${mod}_STATE=disabled"
|
||||
done >> Makefile || die
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,421 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}-r1"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
IUSE="
|
||||
bluetooth build +ensurepip examples gdbm hardened lto +ncurses pgo
|
||||
+readline +sqlite +ssl test tk valgrind wininst +xml
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-lang/python-exec[python_targets_python3_8(-)]
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-python )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# https://bugs.gentoo.org/850151
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs)
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
local disable
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910 and bug #864911.
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross.
|
||||
--without-lto
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}"
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__GDBM=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__SQLITE3=disabled
|
||||
MODULE__HASHLIB=disabled
|
||||
MODULE__SSL=disabled
|
||||
MODULE__CURSES=disabled
|
||||
MODULE__CURSES_PANEL=disabled
|
||||
MODULE_READLINE=disabled
|
||||
MODULE__TKINTER=disabled
|
||||
MODULE_PYEXPAT=disabled
|
||||
MODULE_ZLIB=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the Python it was pointed to
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
if ! use wininst; then
|
||||
rm "${libdir}/distutils/command/"wininst-*.exe || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -1,474 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}-r1"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
IUSE="
|
||||
bluetooth build +ensurepip examples gdbm hardened lto +ncurses pgo
|
||||
+readline +sqlite +ssl test tk valgrind +xml
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-lang/python-exec[python_targets_python3_9(-)]
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-python )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# https://bugs.gentoo.org/850151
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs)
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
local disable
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-x test_gdb
|
||||
-u-network
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910 and bug #864911.
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross.
|
||||
--without-lto
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}"
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__GDBM=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__SQLITE3=disabled
|
||||
MODULE__HASHLIB=disabled
|
||||
MODULE__SSL=disabled
|
||||
MODULE__CURSES=disabled
|
||||
MODULE__CURSES_PANEL=disabled
|
||||
MODULE_READLINE=disabled
|
||||
MODULE__TKINTER=disabled
|
||||
MODULE_PYEXPAT=disabled
|
||||
MODULE_ZLIB=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the Python it was pointed to
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,4 +1,6 @@
|
||||
AUX kopeninghours-22.04.0-boostpython.patch 3555 BLAKE2B 1d22b48e5574ffada0b89a0828bf5258321b57161061534939e95256ab3501a887a026231568e09b1d20499238284107c34c6835d33853096be62e1345356cde SHA512 562b30fe66a9e8904e79c95496c4b06e50dbbb8d328db93a655ffa7f8829ff70bc8a6b0ee7beb7840e7046b74d4d858265ec67703c6317c3fe4c87b54b40a349
|
||||
DIST kopeninghours-22.08.3.tar.xz 70540 BLAKE2B 76ac44a67b29133e0b499f0f11808f61e6c05b820eaaa7d0ef2656d1340e17b7663df1d4474f0735880f448c1fc0b6ee41cb86f3366afe458697edec8e269bbb SHA512 1874e61716f2e02e0df6e34e8ff451541e2e34649426ca610a5d7947df8f42dea1dc3067fb07221150fcb6dd3d942727e3e3c135a8ec76ed16ff1acd2ceebf6b
|
||||
DIST kopeninghours-22.12.0.tar.xz 71064 BLAKE2B 2440c0b318177cabfbf1f18706663194fe6d35b41398ddc49069e76087e6310a211b4f4bf72ed936e4e0f3f035347b3b4d133fe08576d44306a8a602fda2f3ed SHA512 661039b785920b0f5cd58c57c7a05989ca7d71f176c2fc2a6b6eaaa02f8fda5052fa1f80832746da3927dc770db28754b3852514f741efd38579621afd5d5c4f
|
||||
EBUILD kopeninghours-22.08.3.ebuild 1265 BLAKE2B 224878ca397dfd1792f8bd20aaad1e3ab26b18e765faf61041a57c9823faab3566144433105cdedd3dce5379c3b8698b275acc54b10171ad87903dd4abc56a9e SHA512 797a23909435628e6aee67ea9d96a9b120010a4af6284c2eaa6beb3816d0f4adc6b5f22e3e3525d0afa60e04e473539d975d4ca0e1621d663ba98054b2a0e0b9
|
||||
EBUILD kopeninghours-22.12.0.ebuild 1272 BLAKE2B 3bf47606189fb3c10281bd92c9207bb07c555511824a667d8efb8c779a4c956e4cc22d1ebf69ac383d8e492e0379cbb6c3a610b8c10bb11578a6fe91ce593c2a SHA512 df3208a9622b162885a7fd293972743ecb5b79e1d6e2f56f4d889134e03af2748c3c67fea158f22449a85e15a666ca0aa20181026c8be30724564f995d875fe3
|
||||
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
|
||||
|
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
ECM_QTHELP="true"
|
||||
ECM_TEST="true"
|
||||
PVCUT=$(ver_cut 1-3)
|
||||
KFMIN=5.99.0
|
||||
QTMIN=5.15.5
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit ecm gear.kde.org python-single-r1
|
||||
|
||||
DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
|
||||
HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
|
||||
https://invent.kde.org/libraries/kopeninghours"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
DEPEND="
|
||||
>=dev-libs/kpublictransport-${PVCUT}:5
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=kde-frameworks/kholidays-${KFMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
sys-libs/zlib
|
||||
python? (
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
>=dev-qt/qtquickcontrols2-${QTMIN}:5
|
||||
"
|
||||
BDEPEND="
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
|
||||
|
||||
pkg_setup() {
|
||||
ecm_pkg_setup
|
||||
python_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
|
||||
$(cmake_use_find_package python Boost)
|
||||
)
|
||||
ecm_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
ecm_src_install
|
||||
python_optimize
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
DIST kosmindoormap-22.08.3.tar.xz 358936 BLAKE2B 947e915db5df274aa6f1ea5126d5cb43a5ef1530803774f67fbf10dbeb3e1efe1b6bffa8814533cf6c09a2d5e4869320b19ad39b6b1dbd3434399845a21ed319 SHA512 925376ddea2b950bf435045193acbf2dca77601af16a3656acd9bb20d62a98c807b658cf6f5e85dcff56b749985e88537b194e03c619f70acc017761c2482ed8
|
||||
DIST kosmindoormap-22.12.0.tar.xz 363272 BLAKE2B 019dbcb4e3684b11a482fec7664c17107f60c7098d23f4dadafa7d39552f5bc1cb80992eff8f80699dc46f81c0723524d1f36d679542032854208835e370eb21 SHA512 82da803630f1852fc1801b5b0aa170d886003d7020e8e4eb5a648f368c05e7a74132f9a61eacdc5e09738078a5ec52d3b2a3e54ff0756faa7c99dd23df1b0593
|
||||
EBUILD kosmindoormap-22.08.3.ebuild 1052 BLAKE2B ae32385e6df11b2d4121088babdc0b42f4dba96bee29a38b5ceb0b1cc16e5483e5642372524744869660c67301018e565587865ee0450544c8352c4107c6e985 SHA512 8870c6e4cf45641383d36460c530d488eb64b350c5d194f461628cf2c6f6f2f9b152332fad96b154722207a9efa25df5481e02a41ca57aaddddb44271e71ba16
|
||||
EBUILD kosmindoormap-22.12.0.ebuild 1052 BLAKE2B 0e17a2709ef0644abafcff8e281984b9917bfbec09a81d26a5e544b6db2d2cc2e9aad500e0d365c050e5272dc62eb6cf0be59f46789c86f7a41a29ae6c1361b2 SHA512 1fe2b3dfeb0e84bed7f2adc72f4df252435b28834826f6bfecbe88f8280770da7a8ce08d3cef2fc8f9b58196a539b82f2c5174a0ad2c349d6e1f6f84d5d8cb22
|
||||
MISC metadata.xml 436 BLAKE2B 7b97cad83675445e816a4f92d2e9c2c4167457df244fd166b6388be7c9336b4852c3873fff4e9d18bf1cccaaeaec849a1b340fa92a15e54180652e53cb023859 SHA512 312c58bb9ef49585287db38ff0f4e6cb6486477f4c84246610c443fb07ced2129017462ef91fab147dde7d69b0923605dc5b68fe71f6cd80f0ed1115b4a9ca6b
|
||||
|
@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
ECM_TEST="true"
|
||||
PVCUT=$(ver_cut 1-3)
|
||||
KFMIN=5.99.0
|
||||
QTMIN=5.15.5
|
||||
inherit ecm gear.kde.org
|
||||
|
||||
DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
|
||||
HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+openinghours"
|
||||
|
||||
COMMON_DEPEND="
|
||||
>=dev-libs/kpublictransport-${PVCUT}:5
|
||||
dev-libs/protobuf:=
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtnetwork-${QTMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
sys-libs/zlib
|
||||
openinghours? ( >=dev-libs/kopeninghours-${PVCUT}:5 )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
>=dev-qt/qtquickcontrols2-${QTMIN}:5
|
||||
"
|
||||
BDEPEND="
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
|
||||
$(cmake_use_find_package openinghours KOpeningHours)
|
||||
)
|
||||
ecm_src_configure
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
DIST kpublictransport-22.08.3.tar.xz 489620 BLAKE2B 01aa9a92ba13a1060c08a5e2b6a1f2671c468c52587fded5f70dcda90977ecead2b3bcf8a333746400ac4b4a11061bbd56894bc335972f15fd29755f0ae23e15 SHA512 9b6c18395a0d8b9033a2b38d5912e3fcc649138a7ceb594d6d5d01534087bf01b6d4d51d2284f1212ae5574487c1c2acfd0d0b76deef0c181d64a56fed686b19
|
||||
DIST kpublictransport-22.12.0.tar.xz 489720 BLAKE2B 0a3c05a3f281139eb1db3c0d6da02cbde5d1d08fd296758fa8f4eaadffc4bd80f569af9351200cb7db6ce0deb4358815679eeefba0d00f40644ce970042c0fc2 SHA512 570346ee94c24d1ba88af9f3595e89bf18931f020f0265d8f0e32c329d23b4b6d2c7ef91b210ebf702245f80c4252001e1651744d38d7e1ed32b39053f425f6c
|
||||
EBUILD kpublictransport-22.08.3.ebuild 815 BLAKE2B 67534fe92dc24fe5caf5b5a355e8c1fb5ca0b63ef2339a098d3236575f804f64a0f0114995d0b792383861663d34435b455139eec338ab60b4b9334e2838fe85 SHA512 9026230c033864c8bba243b26fc65b0dcb09c18cbf7ec9501a041dd222537664fa6d02e147834429f4249f821ece11cf6e086201c020464debbee5e3e4b19391
|
||||
EBUILD kpublictransport-22.12.0.ebuild 815 BLAKE2B 889803f99ab5a66ec36e9a3d44d8aa3987dd0b18bd76bebe88a1bcbcb00168f7a9742e7eddcf6e525aa9e99a353c016dc89af37e3fbab2566de7947e5f9504b8 SHA512 0eb994f1d8b6d12a2a7416d3bfaf4a93e5d60e38a34983b9abacede85cc37a527d4c89cb52fcdcbb7f2e107b4ccc4ab021987eeb9d070fe47c4e7f4373a507cc
|
||||
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
ECM_QTHELP="true"
|
||||
ECM_TEST="true"
|
||||
KFMIN=5.99.0
|
||||
QTMIN=5.15.5
|
||||
inherit ecm gear.kde.org
|
||||
|
||||
DESCRIPTION="Library for accessing public transport timetables and other information"
|
||||
HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
|
||||
https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/protobuf:=
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtnetwork-${QTMIN}:5[ssl]
|
||||
sys-libs/zlib
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
|
||||
)
|
||||
ecm_src_configure
|
||||
}
|
@ -1,5 +1,3 @@
|
||||
DIST libtool-2.4.6.tar.xz 973080 BLAKE2B 0865af9f8701ca9dc62eec8294a088d24f4a3ff541bc76acfe7b69f70637d7e8261a17d69f7d54a4177f974c429be68467883a1560edb539061966cbf7d4a356 SHA512 a6eef35f3cbccf2c9e2667f44a476ebc80ab888725eb768e91a3a6c33b8c931afc46eb23efaee76c8696d3e4eed74ab1c71157bcb924f38ee912c8a90a6521a4
|
||||
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
|
||||
EBUILD libltdl-2.4.6.ebuild 1089 BLAKE2B 0adab6d846d7b0582778434cab8efe131a930dd35ffca24e0ba208e2e1eb2f7f5daaaf8ef9cada8b39d0735e50ff0de2364273965812e7caa98d5e8f62540572 SHA512 834278fbd9e8c5579f90d5e652a0c588d1f2e7cb12a42b5308f8dfb97b5496bb4da611f10d370177416684154f4c016a718f7cdc3a4da88d10e29351d710dc99
|
||||
EBUILD libltdl-2.4.7.ebuild 1082 BLAKE2B 4f991df80e2e7d6071b62c2b196b38ba11d498c4dedfb0722b714e62b49453848d8c4efa81ebe89108ebfa6f39a0271274f5b09099107b7df29c8ebda8e78ea1 SHA512 6bfa85783dfb6ed8535261a4777c50e86532535a80636fe74b1c48f9bdace2fa24d593cb7cdb855aa25be606decd18b8cc79d85b65f87aa7154aa96d89576934
|
||||
MISC metadata.xml 331 BLAKE2B 4a4cfaad20b2f1c22b0b5ab23b4557e1bef50dbc49d0b7d821d4099e06bf488fdc6c7cb4a29431910d0e1b8cfb7c8b565cd3296afb30925a08389e023c777150 SHA512 9ca8e937181de31beb06558475dc8c10e61765d5280a882576a2d1e4e87fb750bc1c2e99aafdfffe343343797e0565814c0a5f8c18c7fba5b7fe9275100f2609
|
||||
|
@ -1,39 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit multilib-minimal
|
||||
|
||||
MY_P="libtool-${PV}"
|
||||
|
||||
DESCRIPTION="A shared library tool for developers"
|
||||
HOMEPAGE="https://www.gnu.org/software/libtool/"
|
||||
SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="static-libs"
|
||||
# libltdl doesn't have a testsuite.
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="!<sys-devel/libtool-2.4.3-r2:2"
|
||||
BDEPEND="app-arch/xz-utils"
|
||||
|
||||
S="${WORKDIR}/${MY_P}/libltdl"
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE=${S} \
|
||||
econf \
|
||||
--enable-ltdl-install \
|
||||
$(use_enable static-libs static)
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# While the libltdl.la file is not used directly, the m4 ltdl logic
|
||||
# keys off of its existence when searching for ltdl support. #293921
|
||||
#use static-libs || find "${D}" -name libltdl.la -delete
|
||||
}
|
@ -1,10 +1,11 @@
|
||||
AUX libpcre2-10.10-000-Fix-multilib.patch 726 BLAKE2B 4f4c0db0f6a8a10851fa80ac6066f0b85031cbb5a55c29003cd9dd98364f32c679e66a5f905dc7713e15c85807da55fef5d1143d725c0aaf8d897a0b86d31e27 SHA512 aa3dc3148808d0e856e7d8c608342bd91b515e9924fefcfe1eec14af98ec4d6d194c0aedd559b2617145985376ca7496362a4e04c0bc35fe40983e8122c961d6
|
||||
AUX libpcre2-10.41-pcre2posix-header.patch 2719 BLAKE2B 38b47ebc780ba24ab8a5bbe8a51d4e39872407c29a4577f1b7d6c38ff9c06af6ad93733ff48533e83fe974e4fd0953d2e8bb9fb420198b02617f8cc23c1cb1e1 SHA512 9ae27f24e0282ec88101ef516a5d8e708d821c67d6e9b5ed4986dfc269ea45bce51c8edd5dfd01c1207884228253e1674d6305204d675c3fb1a255f36a1e4a29
|
||||
DIST libpcre2-10.36-patchset-01.tar.xz 1364 BLAKE2B bfef3c876a092e06972107b44794c23b758a030181f3040c8b722db166789eac794783169b468fc71334fd660bc2f1c31422a8cb8e5bdc18a69b72654b1b59b2 SHA512 04324d1efa6d155fa3ffbc328638e4674bea305fef7f57d4369ab4a6399a0f489b4c0ecfb49643feff310d91872e1673e965c48a5c60f1bf54a319f0d275c306
|
||||
DIST pcre2-10.40.tar.bz2 1765440 BLAKE2B 627a204585b92238eda81b4befc88757a81d75b0d9fa26ea6d51afcdd93f7e2d102a2245bf3c8e1f5f9ddf69a316c419c948b741a64442bb567480015543e49b SHA512 00e7b48a6554b9127cb6fe24c5cacf72783416a9754ec88f62f73c52f46ed72c86c1869e62c91a31b2ff2cbafbbedabca44b3f1eb7670bc92f49d8401c7374e8
|
||||
DIST pcre2-10.40.tar.bz2.sig 310 BLAKE2B 9609111a64b66893b12e36d1cbc77b64d6a0cc30b9288e52753785ddcab37cc3e169d0f117d94e4ad7d7ff897a6ba0a574c9a2e529c3c7e171f5a1bc6f64fe23 SHA512 faa4b47fdac1543cd323651f251b8abb94b31b5966b42d445b8cbb38c441df4742e3c3517c2bc6c0a4464e9fb5feab5d5beda1250a03d56bec2d8383be2f63ab
|
||||
DIST pcre2-10.41.tar.bz2 1799126 BLAKE2B 4335eae8e8a327c32092a1a9f8214fa86a2d016deb7450938c4ddc38214b72dfa8c6f9c85a03bb36b3686390d378d74fdd991563f92611c42a54915310604559 SHA512 328f331a56f152424f6021b37f8dcf660842c55d43ff39f1b49115f0d05ed651d0bbb66b43c0ed61d65022030615768b92ce5e6218a54e4e17152ec473cca68d
|
||||
DIST pcre2-10.41.tar.bz2.sig 310 BLAKE2B 4ee3f9327bf568e38d1c072a4be93cdab4209e7b0cc0d183b978553cd7413ba9f292318ddf815cf44bc24872f685ee4ff9bceddd7d0e915b7be67c43fd8bf8f7 SHA512 4127258f17011be7c82d9412728863a9121c5b780514ec836769ab64ccd4cd5349a84fc85b8fdc4abb2e6fe08f4610b2a3e926116e7f1451d90d9afaa888661c
|
||||
EBUILD libpcre2-10.40-r1.ebuild 3018 BLAKE2B a665bd650956f6fc81932f9cda52796832db7fead4fd1ff1c0be900898af573a1eaa7b8305600e2aa27d019c4c13b34b6c306e47d63136f55d53b9ed206bcf89 SHA512 43c58d18ab5e4762ca0124acf45a70a8d04b2ad9d57259043950915cdef04e21568c5b32c167c63cf6a808d4b1b15ff72263e5d89c80d3e5fef7b704a1915789
|
||||
EBUILD libpcre2-10.40-r1.ebuild 3012 BLAKE2B cedcec02bc2d394fa14c63eb6bf3b68b2d17c89e531e13b82906231b49bc73c535481a63c89fb21be8354a907ebf6659c262d989599d40ffa8b47abddf86d675 SHA512 27a27635e531543a8e532c7d4a609eb449c86aa886af8dea7693ec7c9ad09511e608f9a7781867d707c3861eebe8b69ed72a7a16b8147ad0ce9148c003b8aff0
|
||||
EBUILD libpcre2-10.40.ebuild 2978 BLAKE2B 689d60aabd0b0278816571add95ddfe47b914d1bf7d55736ae8d0db8a46d7db788c3c61df5eae827f1eaec54389cb5d6dd0ff6e0bd2941f4a2405cb76b422cc4 SHA512 375fca4b0b11d8aba628e0ce86d87c3f7bb3b99faf63b63364eb9efc6a04910db2f11b216368456aaeb0143f0fbd64ea1e59f8061e12dfd53260172f9f6b169d
|
||||
EBUILD libpcre2-10.41.ebuild 2519 BLAKE2B ac1d2b94be05e75900ada4cf0699bc337c088b0c957f73a3153d8981d07845d42c980dedd667b690ab98d8337c4d96d4242df113f2aab32040255cef59cf39ca SHA512 ba0a5b627e13952de6eb996e7b56057b48d89403c25488af841cf8aa61760ede3a3f91428fb72a2c6dde89cabfea8cc930564675121376f07c59d36edc6ae553
|
||||
EBUILD libpcre2-10.41-r1.ebuild 2563 BLAKE2B b1722855587ab47629c620afd00ebd6b694193326885f8c26000a563080976957bc4e4f201ac3cebb60025bf54333b52128afe4ab4fee4fe7d197c971d51d777 SHA512 5d150ef1a6d8b6ea74c936d89972456e191df80c5d6645548c2a11ff7ff64a0ec3a5e46ce73565249ffa611754bd64d77cd3f2287f8b5811474f59bd491a486e
|
||||
MISC metadata.xml 1087 BLAKE2B 693e7f9a4d9cac7b2aa5f24804826f79135a0475770b8ef5058b09542c3b19d30ddef438029dc0358b997ebc032ab103432b1274723c81882f1b5359455c765a SHA512 74dcb822827b8cc3e86c525ab3e2ee302d39ee00d5b4515f9fd6f4a157ae1522a2edbd08b97c2950d9370878f41eb59e414a145d6beae430dab57ea10df68460
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue