parent
42a8e8aa19
commit
04445315ff
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST gpgkey-5C1D1AA44BE649DE760A.gpg 5236 BLAKE2B 7ee5acba54608f450d7081cfc9411ad6e0d965e607143750cb491306eef8943c10b5e52ead9cba1e55a212f94c7e2d13ea4e18d7aff212fc4e455493a8dde091 SHA512 dc44ed3e38f54c3e57a4d83fa8b48ce2a8694802dd6bbf057cf432958f88ace9b585ee36a59ba98444e76c9aef0e998b9108a3807f97ebd6ba62303b41ab4690
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,22 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="OpenPGP key used to sign debugedit releases"
|
||||
HOMEPAGE="https://sourceware.org/debugedit/"
|
||||
SRC_URI="
|
||||
https://sourceware.org/ftp/debugedit/gpgkey-5C1D1AA44BE649DE760A.gpg
|
||||
"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_install() {
|
||||
local files=( ${A} )
|
||||
insinto /usr/share/openpgp-keys
|
||||
newins - debugedit.gpg < <(cat "${files[@]/#/${DISTDIR}/}")
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST featherpad-0.18.0.tar.gz 967643 BLAKE2B a8a84fa71232bdd9448ec4a9c921f8f452212dfb52ec518c3f340e9b600858a9cfca2d7729a0f58c9d1465b77bd28c836de78026c58ff94297de704e7bf670d8 SHA512 3e0d008792dd55bc5e57654f9b032f0a66a60c682499c684cfc3b182fdc57a654bb5fb195b458af66ddd8db929b31e7bfa789bd9bdf33d32454fbbcb090bcd91
|
||||
DIST featherpad-1.0.0.tar.gz 1010200 BLAKE2B 22a11a0655ed57f7a7d53949e59c3b989a304b7c3db1f7308af0a52cc00a151cee505b02c19ece286da1be37e76c8874cee4102db3d881ef2c4ad48ecbb2f20a SHA512 9f7e24fa5e89e269693bc0a37f79d987e4914dde2d2b46bd0385886383dab8b35556fbc0f5c5b7b9a2c3a41694174ffa8532c48def87d2972fbc73c1e9c38bf3
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit xdg cmake
|
||||
|
||||
DESCRIPTION="Lightweight Qt5 Plain-Text Editor for Linux"
|
||||
HOMEPAGE="https://github.com/tsujan/FeatherPad"
|
||||
SRC_URI="https://github.com/tsujan/FeatherPad/archive/V${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/FeatherPad-${PV}"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+X"
|
||||
|
||||
RDEPEND="app-text/hunspell:=
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
X? (
|
||||
dev-qt/qtx11extras:5
|
||||
x11-libs/libX11
|
||||
)"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="dev-qt/linguist-tools:5"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DWITHOUT_X11=$(usex !X)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
@ -1 +1 @@
|
||||
DIST kakoune-2020.09.01.tar.gz 612970 BLAKE2B 64084c2a4ff1ccf348caad8db04df9425828378bda28d163ffa6d198b3bd80d6d078ac0095dfc5adbae505e4d4259cd86185718a8012740417056db531ea72ec SHA512 acd9edd6b2a68219a4b5f68aaf4d785aa8c430abfdf5ccc994764f5ece8acb655adf64334027525115d3cbe819591de8496c3e54e2d806ce40c494443789e126
|
||||
DIST kakoune-2021.08.28.tar.gz 654429 BLAKE2B 8cf769d2dea74fd8bab8261e4d79276af089d73753052fdd3776bff0adc72bc20c43f840350076e675c633de2175ad83960fa2ccf85fc852c7c81bd4888ced2b SHA512 1f4f0648959e94e45eb00f2398aa6897595457ef3ee4d1c6e18d494f3e68f8d3a0c4d0dbed88b6588fda61137a060c648ff635972731c0f29faef4cdc03c829f
|
||||
|
@ -1,10 +0,0 @@
|
||||
diff --git a/rc/filetype/gentoo-linux.kak b/rc/filetype/gentoo-linux.kak
|
||||
new file mode 100644
|
||||
index 00000000..251dad16
|
||||
--- /dev/null
|
||||
+++ b/rc/filetype/gentoo-linux.kak
|
||||
@@ -0,0 +1,4 @@
|
||||
+# portage ebuild file
|
||||
+hook global BufCreate .*\.ebuild %{
|
||||
+ set-option buffer filetype sh
|
||||
+}
|
@ -1,11 +0,0 @@
|
||||
https://bugs.gentoo.org/787029
|
||||
--- a/src/regex_impl.cc
|
||||
+++ b/src/regex_impl.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
+#include <limits>
|
||||
|
||||
namespace Kakoune
|
||||
{
|
@ -0,0 +1,13 @@
|
||||
diff --git a/rc/filetype/php.kak b/rc/filetype/php.kak
|
||||
index be03de9e..97bdbfe3 100644
|
||||
--- a/rc/filetype/php.kak
|
||||
+++ b/rc/filetype/php.kak
|
||||
@@ -85,7 +85,7 @@ define-command -hidden php-indent-on-char %<
|
||||
define-command -hidden php-insert-on-new-line %<
|
||||
evaluate-commands -draft -itersel %<
|
||||
# copy // comments or docblock * prefix and following white spaces
|
||||
- try %{ execute-keys -draft s [^/] <ret> k <a-x> s ^\h*\K(?://|[*][^/])\h* <ret> y gh j P
|
||||
+ try %{ execute-keys -draft s [^/] <ret> k <a-x> s ^\h*\K(?://|[*][^/])\h* <ret> y gh j P }
|
||||
# append " * " on lines starting a multiline /** or /* comment
|
||||
try %{ execute-keys -draft k <a-x> s ^\h*/[*][* ]? <ret> j gi i <space>*<space> }
|
||||
>
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST pdfpc-4.4.1.tar.gz 7733986 BLAKE2B 4232dedbda6423e95259169348a36196a539ed966e50a230390a6f99dbff6c9710d0c41be11436005454858a213ff5f07d1b1f26fd67973f20812111eea81d79 SHA512 61db48eae75f0e55f7d7b728bc107827b9f141826c3c55be4fb90faf95eaac2dbef1858eb1b7a3e5980130ee09c4096812a3403451f2a52052c29e4fb7be458f
|
||||
DIST pdfpc-4.5.0.tar.gz 7754665 BLAKE2B 952a1694811ff80ab6b2e46b440182407ce16a727ebc1f1492cf1f86c25fe1827e926eb5baf59376f46b8e7bea6e00e4f1343930cd043445f7d2966a958b4a6c SHA512 142a276dc410bd1aac90b27d1b10d165de225d5cec73ab39d7f7061e5d8ac7526e3f537b61f15e904bba8d135a72c5567dfa350e454006435ad3647d22c58221
|
||||
|
@ -0,0 +1,75 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
VALA_MIN_API_VERSION="0.44"
|
||||
VALA_MAX_API_VERSION="0.50" # append versions in sed line if increased
|
||||
|
||||
COMMIT_ID=""
|
||||
|
||||
inherit cmake vala
|
||||
|
||||
DESCRIPTION="Presenter console with multi-monitor support for PDF files"
|
||||
HOMEPAGE="https://pdfpc.github.io https://github.com/pdfpc/pdfpc"
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
IUSE="+gstreamer"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/${PN}/${PN}/.git"
|
||||
inherit git-r3
|
||||
else
|
||||
if [[ ${PV} == *_p* ]]; then
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${COMMIT_ID}"
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
fi
|
||||
fi
|
||||
|
||||
RDEPEND="
|
||||
app-text/discount
|
||||
app-text/poppler:=[cairo]
|
||||
dev-libs/glib:2
|
||||
dev-libs/json-glib
|
||||
dev-libs/libgee:0.8=
|
||||
gnome-base/librsvg
|
||||
net-libs/webkit-gtk:4=
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
x11-libs/pango
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-plugins/gst-plugins-gtk:1.0=
|
||||
media-plugins/gst-plugins-cairo:1.0=
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="$(vala_depend)"
|
||||
|
||||
DOCS=(
|
||||
CHANGELOG.rst
|
||||
FAQ.rst
|
||||
README.rst
|
||||
SUPPORT.rst
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
sed -i -e "s/valac/valac valac-0.50 valac-0.48 valac-0.46 valac-0.44/" cmake/vala/FindVala.cmake || die
|
||||
vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DMOVIES=$(usex gstreamer on off)
|
||||
-DCMAKE_VERBOSE_MAKEFILE=TRUE
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST sigil-1.5.1.tar.gz 20020962 BLAKE2B ac70c117d69c4062d66151372fc8cbede48be6f38ceae7d1dd1bd49fd8a0a4a352c885a120e00ba729e64ebfa928103d07f7bb85d69cbb3385f640f4fcf42985 SHA512 281c8327f7a05b9c9f805b02ef4c21f50d340a2f9e09dcae74be30aad107b0f2605801f0239e9a503db70afa2b37b7931dfec0efa5662dde906ce6c014da8849
|
||||
DIST sigil-1.7.0.tar.gz 21315598 BLAKE2B 29f7c682925d1e1bbff082e96b747ce32df82d78406ccd984b4f8de1f01944c35aa86587ce47a18687d5fe281b8cb656085b52d3a1e72ed17862501121d9d134 SHA512 9918bb0bfbe3d068c95bb31cd84a37a0fac6dd6be9e94cb382e8c0140cdb375f47384f33c62fdff7f27aed379037a4a64e8d4a1065ae297bb389e2be78597c16
|
||||
|
@ -1,82 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_REQ_USE="tk"
|
||||
|
||||
inherit cmake python-single-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="Multi-platform WYSIWYG ebook editor for ePub format"
|
||||
HOMEPAGE="https://sigil-ebook.com/ https://github.com/Sigil-Ebook/Sigil"
|
||||
SRC_URI="https://github.com/Sigil-Ebook/Sigil/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+ Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+plugins system-mathjax"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-text/hunspell:=
|
||||
dev-libs/libpcre:3=[pcre16]
|
||||
$(python_gen_cond_dep \
|
||||
'dev-python/css-parser[${PYTHON_USEDEP}]
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]')
|
||||
>=dev-qt/qtconcurrent-5.12:5
|
||||
>=dev-qt/qtcore-5.12:5
|
||||
>=dev-qt/qtgui-5.12:5
|
||||
>=dev-qt/qtprintsupport-5.12:5
|
||||
>=dev-qt/qtwebengine-5.12:5[widgets]
|
||||
>=dev-qt/qtwidgets-5.12:5
|
||||
sys-libs/zlib[minizip]
|
||||
plugins? ( $(python_gen_cond_dep \
|
||||
'dev-python/chardet[${PYTHON_USEDEP}]
|
||||
dev-python/cssselect[${PYTHON_USEDEP}]
|
||||
dev-python/dulwich[${PYTHON_USEDEP}]
|
||||
dev-python/html5lib[${PYTHON_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]') )
|
||||
system-mathjax? ( dev-libs/mathjax )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools:5
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/Sigil-${PV}"
|
||||
|
||||
DOCS=( ChangeLog.txt README.md )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DINSTALL_BUNDLED_DICTS=0
|
||||
-DUSE_SYSTEM_LIBS=1
|
||||
-DSYSTEM_LIBS_REQUIRED=1
|
||||
-DPYTHON_EXECUTABLE="${PYTHON}"
|
||||
-DPYTHON_LIBRARY="$(python_get_library_path)"
|
||||
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
|
||||
)
|
||||
use system-mathjax && mycmakeargs+=( -DMATHJAX_DIR="${EPREFIX}"/usr/share/mathjax )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
python_fix_shebang "${ED}"/usr/share/sigil/
|
||||
python_optimize "${ED}"/usr/share/sigil/
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
--- a/src/oset/pyoset.py
|
||||
+++ b/src/oset/pyoset.py
|
||||
@@ -13,7 +13,10 @@
|
||||
def next(it):
|
||||
return it.next()
|
||||
else:
|
||||
- from collections import MutableSet
|
||||
+ try:
|
||||
+ from collections.abc import MutableSet
|
||||
+ except ImportError:
|
||||
+ from collections import MutableSet
|
||||
|
||||
KEY, PREV, NEXT = range(3)
|
||||
|
@ -1,4 +1,2 @@
|
||||
DIST pypy-exe-7.3.4-1.amd64.xpak 13659131 BLAKE2B f8dc0875bec1027fd86499d13e435f97bd015882260b449de279ef41f8b8e9b89fc6e9f197539314ada54e2435a2cb7e7baf3da6e47b872d6717c847c3b7ddcf SHA512 e14312457c1fed4d815c7dee0487b5d77e781b3139381a142156e6fc524df7e7f4f613799a570716d89c95fd704ecad3c095f839296d7c1e63bd675aaac2c92e
|
||||
DIST pypy-exe-7.3.4-1.x86.xpak 10291603 BLAKE2B 62e83aa57b176a02a64a1826515763c24d008a02733ef32040ba2c908dffaca371cda3f55eddecfe93f45c1ba52aa7d0ccb898d84f0dbf8ab004f8a79a3814bb SHA512 73c6481530f4c4305a16d12995b11860023f7516737f892df7911d1effd01142c22f2318fb3b392e2483b976fa2609dbff37b61ad8847e395cbaaccbac0301dd
|
||||
DIST pypy-exe-7.3.5-1.amd64.xpak 13646862 BLAKE2B ac2aecdb15d5b73cbd27b8a295ef5f11895ed7f897cda93cdff96c72ad727ab7998332231a1166100126ec2252b7c5b69e6b5bbfcb3e7fcb7738f5967809f5d8 SHA512 346f7b47d0e48799edd0e00b6bf683053ccaf20e6663ddd01e5753703082035cb4079a3539981813fc54abd7f83456353c38bd733dacf782e59a6548f861d1a7
|
||||
DIST pypy-exe-7.3.5-1.x86.xpak 10297092 BLAKE2B 149672f5714959deeb790b575e7980c1281b1cf37c0853e3ddf8c150104b2da0b8d32736eacc31f67d4d522902599e64bec7427727e560d8d54bbe7c5bd9a06e SHA512 48e4858489e928d44dd8570b783623eb33ce7a1fb62b2a054cd2841ca2be8ab7dd3bbd00c3aff770c1f8dc42ef52f52da3d18c5c27ebd08d19e78bdf56081e96
|
||||
|
@ -1,51 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils
|
||||
|
||||
MY_P=pypy-exe-${PV}-1
|
||||
DESCRIPTION="PyPy executable (pre-built version)"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.xpak
|
||||
-> ${MY_P}.amd64.xpak
|
||||
)
|
||||
x86? (
|
||||
https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.xpak
|
||||
-> ${MY_P}.x86.xpak
|
||||
)"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${PV%_p*}"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.1.3:0/1
|
||||
|| (
|
||||
dev-libs/libffi-compat:7
|
||||
dev-libs/libffi:0/7
|
||||
)
|
||||
virtual/libintl:0/0
|
||||
dev-libs/expat:0/0
|
||||
app-arch/bzip2:0/1
|
||||
sys-libs/ncurses:0/6
|
||||
!dev-python/pypy-exe:${SLOT}"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/lib/pypy2.7/pypy-c-${SLOT}"
|
||||
|
||||
src_unpack() {
|
||||
ebegin "Unpacking ${MY_P}.${ARCH}.xpak"
|
||||
tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak")
|
||||
eend ${?} || die "Unpacking ${MY_P} failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /
|
||||
doins -r usr
|
||||
fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
|
||||
pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
|
||||
}
|
@ -1,178 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit check-reqs pax-utils python-any-r1 toolchain-funcs
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy2.7-v${PYPY_PV}
|
||||
PATCHSET="pypy2.7-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="PyPy executable (build from source)"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${PYPY_PV}"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.1.3:0=
|
||||
dev-libs/libffi:0=
|
||||
virtual/libintl:0=
|
||||
dev-libs/expat:0=
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
!dev-python/pypy-exe-bin:${PYPY_PV}"
|
||||
# don't enforce the dep on pypy with USE=low-memory since it's going
|
||||
# to cause either collisions or circular dep on itself
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
!low-memory? (
|
||||
|| (
|
||||
dev-python/pypy
|
||||
dev-lang/python:2.7
|
||||
)
|
||||
)"
|
||||
|
||||
check_env() {
|
||||
if use low-memory; then
|
||||
if ! has_version -b dev-python/pypy &&
|
||||
! has_version -b dev-python/pypy-bin
|
||||
then
|
||||
eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
|
||||
eerror "being installed. Please install it using e.g.:"
|
||||
eerror
|
||||
eerror " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
|
||||
eerror
|
||||
eerror "before attempting to build dev-python/pypy-exe[low-memory]."
|
||||
die "dev-python/pypy needs to be installed for USE=low-memory"
|
||||
fi
|
||||
|
||||
CHECKREQS_MEMORY="1750M"
|
||||
use amd64 && CHECKREQS_MEMORY="3500M"
|
||||
else
|
||||
CHECKREQS_MEMORY="3G"
|
||||
use amd64 && CHECKREQS_MEMORY="6G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && check_env
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
check_env
|
||||
|
||||
use low-memory && EPYTHON=
|
||||
if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
|
||||
{ has_version -b dev-python/pypy ||
|
||||
has_version -b dev-python/pypy-bin; }
|
||||
then
|
||||
einfo "Using already-installed PyPy to perform the translation."
|
||||
EPYTHON=pypy
|
||||
else
|
||||
einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
|
||||
einfo "recommends using PyPy for that. If you wish to do so, please unset"
|
||||
einfo "the EPYTHON variable."
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
|
||||
local jit_backend
|
||||
if use jit; then
|
||||
jit_backend='--jit-backend='
|
||||
|
||||
# We only need the explicit sse2 switch for x86.
|
||||
# On other arches we can rely on autodetection which uses
|
||||
# compiler macros. Plus, --jit-backend= doesn't accept all
|
||||
# the modern values...
|
||||
|
||||
if use x86; then
|
||||
if use cpu_flags_x86_sse2; then
|
||||
jit_backend+=x86
|
||||
else
|
||||
jit_backend+=x86-without-sse2
|
||||
fi
|
||||
else
|
||||
jit_backend+=auto
|
||||
fi
|
||||
fi
|
||||
|
||||
local args=(
|
||||
--no-shared
|
||||
$(usex jit -Ojit -O2)
|
||||
|
||||
${jit_backend}
|
||||
|
||||
pypy/goal/targetpypystandalone
|
||||
)
|
||||
|
||||
# Avoid linking against libraries disabled by use flags
|
||||
local opts=(
|
||||
bzip2:bz2
|
||||
ncurses:_minimal_curses
|
||||
)
|
||||
|
||||
local opt
|
||||
for opt in "${opts[@]}"; do
|
||||
local flag=${opt%:*}
|
||||
local mod=${opt#*:}
|
||||
|
||||
args+=(
|
||||
$(usex ${flag} --withmod --withoutmod)-${mod}
|
||||
)
|
||||
done
|
||||
|
||||
local interp=( "${EPYTHON}" )
|
||||
if use low-memory; then
|
||||
interp=( env PYPY_GC_MAX_DELTA=200MB
|
||||
"${EPYTHON}" --jit loop_longevity=300 )
|
||||
fi
|
||||
|
||||
if [[ ${EPYTHON} != pypy ]]; then
|
||||
# reuse bundled pycparser to avoid external dep
|
||||
mkdir -p "${T}"/pymod/cffi || die
|
||||
: > "${T}"/pymod/cffi/__init__.py || die
|
||||
cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
|
||||
local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
|
||||
fi
|
||||
|
||||
# translate into the C sources
|
||||
# we're going to build them ourselves since otherwise pypy does not
|
||||
# free up the unneeded memory before spawning the compiler
|
||||
set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
|
||||
echo -e "\033[1m${@}\033[0m"
|
||||
"${@}" || die "translation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -C "${T}"/usession*-0/testing_1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
exeinto "${dest}"
|
||||
newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
|
||||
insinto "${dest}"/include/${PYPY_PV}
|
||||
doins include/pypy_*
|
||||
pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
|
||||
}
|
@ -1,178 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit check-reqs pax-utils python-any-r1 toolchain-funcs
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy2.7-v${PYPY_PV/_}
|
||||
PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
|
||||
|
||||
DESCRIPTION="PyPy executable (build from source)"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${PYPY_PV}"
|
||||
KEYWORDS=""
|
||||
IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.1.3:0=
|
||||
dev-libs/libffi:0=
|
||||
virtual/libintl:0=
|
||||
dev-libs/expat:0=
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
!dev-python/pypy-exe-bin:${PYPY_PV}"
|
||||
# don't enforce the dep on pypy with USE=low-memory since it's going
|
||||
# to cause either collisions or circular dep on itself
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
!low-memory? (
|
||||
|| (
|
||||
dev-python/pypy
|
||||
dev-lang/python:2.7
|
||||
)
|
||||
)"
|
||||
|
||||
check_env() {
|
||||
if use low-memory; then
|
||||
if ! has_version -b dev-python/pypy &&
|
||||
! has_version -b dev-python/pypy-bin
|
||||
then
|
||||
eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
|
||||
eerror "being installed. Please install it using e.g.:"
|
||||
eerror
|
||||
eerror " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
|
||||
eerror
|
||||
eerror "before attempting to build dev-python/pypy-exe[low-memory]."
|
||||
die "dev-python/pypy needs to be installed for USE=low-memory"
|
||||
fi
|
||||
|
||||
CHECKREQS_MEMORY="1750M"
|
||||
use amd64 && CHECKREQS_MEMORY="3500M"
|
||||
else
|
||||
CHECKREQS_MEMORY="3G"
|
||||
use amd64 && CHECKREQS_MEMORY="6G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && check_env
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
check_env
|
||||
|
||||
use low-memory && EPYTHON=
|
||||
if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
|
||||
{ has_version -b dev-python/pypy ||
|
||||
has_version -b dev-python/pypy-bin; }
|
||||
then
|
||||
einfo "Using already-installed PyPy to perform the translation."
|
||||
EPYTHON=pypy
|
||||
else
|
||||
einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
|
||||
einfo "recommends using PyPy for that. If you wish to do so, please unset"
|
||||
einfo "the EPYTHON variable."
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
|
||||
local jit_backend
|
||||
if use jit; then
|
||||
jit_backend='--jit-backend='
|
||||
|
||||
# We only need the explicit sse2 switch for x86.
|
||||
# On other arches we can rely on autodetection which uses
|
||||
# compiler macros. Plus, --jit-backend= doesn't accept all
|
||||
# the modern values...
|
||||
|
||||
if use x86; then
|
||||
if use cpu_flags_x86_sse2; then
|
||||
jit_backend+=x86
|
||||
else
|
||||
jit_backend+=x86-without-sse2
|
||||
fi
|
||||
else
|
||||
jit_backend+=auto
|
||||
fi
|
||||
fi
|
||||
|
||||
local args=(
|
||||
--no-shared
|
||||
$(usex jit -Ojit -O2)
|
||||
|
||||
${jit_backend}
|
||||
|
||||
pypy/goal/targetpypystandalone
|
||||
)
|
||||
|
||||
# Avoid linking against libraries disabled by use flags
|
||||
local opts=(
|
||||
bzip2:bz2
|
||||
ncurses:_minimal_curses
|
||||
)
|
||||
|
||||
local opt
|
||||
for opt in "${opts[@]}"; do
|
||||
local flag=${opt%:*}
|
||||
local mod=${opt#*:}
|
||||
|
||||
args+=(
|
||||
$(usex ${flag} --withmod --withoutmod)-${mod}
|
||||
)
|
||||
done
|
||||
|
||||
local interp=( "${EPYTHON}" )
|
||||
if use low-memory; then
|
||||
interp=( env PYPY_GC_MAX_DELTA=200MB
|
||||
"${EPYTHON}" --jit loop_longevity=300 )
|
||||
fi
|
||||
|
||||
if [[ ${EPYTHON} != pypy ]]; then
|
||||
# reuse bundled pycparser to avoid external dep
|
||||
mkdir -p "${T}"/pymod/cffi || die
|
||||
: > "${T}"/pymod/cffi/__init__.py || die
|
||||
cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
|
||||
local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
|
||||
fi
|
||||
|
||||
# translate into the C sources
|
||||
# we're going to build them ourselves since otherwise pypy does not
|
||||
# free up the unneeded memory before spawning the compiler
|
||||
set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
|
||||
echo -e "\033[1m${@}\033[0m"
|
||||
"${@}" || die "translation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -C "${T}"/usession*-0/testing_1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
exeinto "${dest}"
|
||||
newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
|
||||
insinto "${dest}"/include/${PYPY_PV}
|
||||
doins include/pypy_*
|
||||
pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils python-utils-r1
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy2.7-v${PYPY_PV}
|
||||
PATCHSET="pypy2.7-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
|
||||
SLOT="0/73"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite tk"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy-exe-${PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy-exe-bin-${PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
cffi_targets=( ssl audioop syslog pwdgrp resource )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
local ignored_tests=(
|
||||
# network
|
||||
--ignore=lib-python/2.7/test/test_urllibnet.py
|
||||
--ignore=lib-python/2.7/test/test_urllib2net.py
|
||||
# lots of free space
|
||||
--ignore=lib-python/2.7/test/test_zipfile64.py
|
||||
)
|
||||
|
||||
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
|
||||
"${ignored_tests[@]}" lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy
|
||||
local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy2.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils python-utils-r1
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy2.7-v${PYPY_PV}
|
||||
PATCHSET="pypy2.7-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
|
||||
SLOT="0/73"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite tk"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
cffi_targets=( ssl audioop syslog pwdgrp resource )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
local ignored_tests=(
|
||||
# network
|
||||
--ignore=lib-python/2.7/test/test_urllibnet.py
|
||||
--ignore=lib-python/2.7/test/test_urllib2net.py
|
||||
# lots of free space
|
||||
--ignore=lib-python/2.7/test/test_zipfile64.py
|
||||
)
|
||||
|
||||
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
|
||||
"${ignored_tests[@]}" lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy
|
||||
local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy2.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils python-utils-r1
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy2.7-v${PYPY_PV/_}
|
||||
PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
|
||||
SLOT="0/73"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite tk"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
cffi_targets=( ssl audioop syslog pwdgrp resource )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
local ignored_tests=(
|
||||
# network
|
||||
--ignore=lib-python/2.7/test/test_urllibnet.py
|
||||
--ignore=lib-python/2.7/test/test_urllib2net.py
|
||||
# lots of free space
|
||||
--ignore=lib-python/2.7/test/test_zipfile64.py
|
||||
)
|
||||
|
||||
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
|
||||
"${ignored_tests[@]}" lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy
|
||||
local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy2.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils python-utils-r1
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy2.7-v${PYPY_PV/_}
|
||||
PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
|
||||
SLOT="0/73"
|
||||
KEYWORDS=""
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite tk"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy-exe-${PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy-exe-bin-${PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
cffi_targets=( ssl audioop syslog pwdgrp resource )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
local ignored_tests=(
|
||||
# network
|
||||
--ignore=lib-python/2.7/test/test_urllibnet.py
|
||||
--ignore=lib-python/2.7/test/test_urllib2net.py
|
||||
# lots of free space
|
||||
--ignore=lib-python/2.7/test/test_zipfile64.py
|
||||
)
|
||||
|
||||
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
|
||||
"${ignored_tests[@]}" lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy
|
||||
local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy2.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils python-utils-r1
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy2.7-v${PYPY_PV/_}
|
||||
PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
|
||||
SLOT="0/73"
|
||||
KEYWORDS=""
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite tk"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/2.7/distutils/command/install.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
cffi_targets=( ssl audioop syslog pwdgrp resource )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
local ignored_tests=(
|
||||
# network
|
||||
--ignore=lib-python/2.7/test/test_urllibnet.py
|
||||
--ignore=lib-python/2.7/test/test_urllib2net.py
|
||||
# lots of free space
|
||||
--ignore=lib-python/2.7/test/test_zipfile64.py
|
||||
)
|
||||
|
||||
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
|
||||
"${ignored_tests[@]}" lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy2.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3.py \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy
|
||||
local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy2.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
DIST pypy3-exe-7.3.4-1.amd64.xpak 12038379 BLAKE2B 6f51ec285cedef0703a9e145e5ac0ada1d19585be97997a8156a3964949490fd0c874b8c355433d3cd04df4df5c11be7f5badefe2e9c69129052fe51de627a72 SHA512 f1badabde936f5dc5700fda01941be249f4a056f1d61a685bb8c168a5cca6eac4c7e6cd660a5a5d2695307a3b7f4ef1941e5ea63a57816b669d54f497a1a5b91
|
||||
DIST pypy3-exe-7.3.4-1.x86.xpak 9159557 BLAKE2B 754fd401084c480a5a2a20c6e9a533fa5f691cbca06b0516d3d44fdf9529541c43f84fccdfdd70422231ddb887a9f5a9e38789b6fc3dce81d9f0fafade587bec SHA512 ff05c3ae252b0a5eeb403a18782707ea8884126763a83bcebe1e60934ad7cd6070db24ebeeffb15397b6c02fc68766011438b2064b484ae6d24991311e2a012a
|
||||
DIST pypy3-exe-7.3.5-1.amd64.xpak 12030139 BLAKE2B f9a76a2304b3a29985209910b2082aeb07f08a22fce771aa7d548af6e662b88563f61b66582fe0ded21a00463725d4b21cb943c6dedba090cdcfcbf2754433f6 SHA512 d223095cc28f5fceb10196a172ddc2e363dd7e0c5e55b79c959d2ff3f84cb96c652e44bf8c2f7b4555d90289fa0768b18cc26a9212264ab397dd7308a14a93df
|
||||
DIST pypy3-exe-7.3.5-1.x86.xpak 9156096 BLAKE2B c3a3a329c2f8bd843fc4c882bbddc1ad124dc797d4915818769e79663e53e787b991b04b8006e8b8548249e4e76d8b68545b9d7470d8cf41bece2cd8e085066c SHA512 b58d48e1fde3ec12b497a30035b719a64a16de1292fb34df6a8e3ecddc277a477641d7781a3440ef2b73dfb1b50ca34cbdca702f27d6a5e00ad25e88bd8ebf34
|
||||
|
@ -1,52 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pax-utils
|
||||
|
||||
MY_P=pypy3-exe-${PV}-1
|
||||
DESCRIPTION="PyPy3 executable (pre-built version)"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/${MY_P}.xpak
|
||||
-> ${MY_P}.amd64.xpak
|
||||
)
|
||||
x86? (
|
||||
https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/${MY_P}.xpak
|
||||
-> ${MY_P}.x86.xpak
|
||||
)"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${PV%_p*}"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.1.3:0/1
|
||||
|| (
|
||||
dev-libs/libffi-compat:7
|
||||
dev-libs/libffi:0/7
|
||||
)
|
||||
virtual/libintl:0/0
|
||||
dev-libs/expat:0/0
|
||||
app-arch/bzip2:0/1
|
||||
sys-libs/ncurses:0/6
|
||||
!dev-python/pypy-exe:${SLOT}"
|
||||
|
||||
PYPY_PV=${SLOT%_p*}
|
||||
QA_PREBUILT="
|
||||
usr/lib/pypy3.7/pypy3-c-${PYPY_PV}"
|
||||
|
||||
src_unpack() {
|
||||
ebegin "Unpacking ${MY_P}.${ARCH}.xpak"
|
||||
tar -x < <(xz -c -d --single-stream "${DISTDIR}/${MY_P}.${ARCH}.xpak")
|
||||
eend ${?} || die "Unpacking ${MY_P} failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /
|
||||
doins -r usr
|
||||
fperms +x "/usr/lib/pypy3.7/pypy3-c-${PYPY_PV}"
|
||||
pax-mark m "${ED}/usr/lib/pypy3.7/pypy3-c-${PYPY_PV}"
|
||||
}
|
@ -1,167 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# pypy3 needs to be built using python 2
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit check-reqs pax-utils python-any-r1 toolchain-funcs
|
||||
|
||||
PYPY_PV=${PV%_p37*}
|
||||
MY_P=pypy3.7-v${PYPY_PV/_/}
|
||||
PATCHSET="pypy3.7-gentoo-patches-${PV/_p37}"
|
||||
|
||||
DESCRIPTION="PyPy3 executable (build from source)"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${PV%_p*}"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.1.3:0=
|
||||
dev-libs/libffi:0=
|
||||
virtual/libintl:0=
|
||||
dev-libs/expat:0=
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
!dev-python/pypy3-exe-bin:${PV%_p*}"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
low-memory? ( dev-python/pypy )
|
||||
!low-memory? (
|
||||
|| (
|
||||
dev-python/pypy
|
||||
dev-lang/python:2.7
|
||||
)
|
||||
)"
|
||||
|
||||
check_env() {
|
||||
if use low-memory; then
|
||||
CHECKREQS_MEMORY="1750M"
|
||||
use amd64 && CHECKREQS_MEMORY="3500M"
|
||||
else
|
||||
CHECKREQS_MEMORY="3G"
|
||||
use amd64 && CHECKREQS_MEMORY="6G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && check_env
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
check_env
|
||||
|
||||
# unset to allow forcing pypy below :)
|
||||
use low-memory && EPYTHON=
|
||||
if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
|
||||
{ has_version -b dev-python/pypy ||
|
||||
has_version -b dev-python/pypy-bin; }
|
||||
then
|
||||
einfo "Using PyPy to perform the translation."
|
||||
EPYTHON=pypy
|
||||
else
|
||||
einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
|
||||
einfo "recommends using PyPy for that. If you wish to do so, please install"
|
||||
einfo "dev-python/pypy and ensure that EPYTHON variable is unset."
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
|
||||
local jit_backend
|
||||
if use jit; then
|
||||
jit_backend='--jit-backend='
|
||||
|
||||
# We only need the explicit sse2 switch for x86.
|
||||
# On other arches we can rely on autodetection which uses
|
||||
# compiler macros. Plus, --jit-backend= doesn't accept all
|
||||
# the modern values...
|
||||
|
||||
if use x86; then
|
||||
if use cpu_flags_x86_sse2; then
|
||||
jit_backend+=x86
|
||||
else
|
||||
jit_backend+=x86-without-sse2
|
||||
fi
|
||||
else
|
||||
jit_backend+=auto
|
||||
fi
|
||||
fi
|
||||
|
||||
local args=(
|
||||
--no-shared
|
||||
$(usex jit -Ojit -O2)
|
||||
|
||||
${jit_backend}
|
||||
|
||||
pypy/goal/targetpypystandalone
|
||||
)
|
||||
|
||||
# Avoid linking against libraries disabled by use flags
|
||||
local opts=(
|
||||
bzip2:bz2
|
||||
ncurses:_minimal_curses
|
||||
)
|
||||
|
||||
local opt
|
||||
for opt in "${opts[@]}"; do
|
||||
local flag=${opt%:*}
|
||||
local mod=${opt#*:}
|
||||
|
||||
args+=(
|
||||
$(usex ${flag} --withmod --withoutmod)-${mod}
|
||||
)
|
||||
done
|
||||
|
||||
local interp=( "${EPYTHON}" )
|
||||
if use low-memory; then
|
||||
interp=( env PYPY_GC_MAX_DELTA=200MB
|
||||
"${EPYTHON}" --jit loop_longevity=300 )
|
||||
fi
|
||||
|
||||
if [[ ${EPYTHON} != pypy ]]; then
|
||||
# reuse bundled pycparser to avoid external dep
|
||||
mkdir -p "${T}"/pymod/cffi || die
|
||||
: > "${T}"/pymod/cffi/__init__.py || die
|
||||
cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
|
||||
local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
|
||||
fi
|
||||
|
||||
# translate into the C sources
|
||||
# we're going to build them ourselves since otherwise pypy does not
|
||||
# free up the unneeded memory before spawning the compiler
|
||||
set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
|
||||
echo -e "\033[1m${@}\033[0m"
|
||||
"${@}" || die "translation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -C "${T}"/usession*-0/testing_1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy3.7
|
||||
exeinto "${dest}"
|
||||
newexe "${T}"/usession*-0/testing_1/pypy3-c pypy3-c-${PYPY_PV}
|
||||
insinto "${dest}"/include/${PYPY_PV}
|
||||
doins include/pypy_*
|
||||
pax-mark m "${ED}${dest}/pypy3-c-${PYPY_PV}"
|
||||
}
|
@ -1,167 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# pypy3 needs to be built using python 2
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit check-reqs pax-utils python-any-r1 toolchain-funcs
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy3.7-v${PYPY_PV/_}
|
||||
PATCHSET="pypy3.7-gentoo-patches-${PV/_}"
|
||||
|
||||
DESCRIPTION="PyPy3 executable (build from source)"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${PYPY_PV}"
|
||||
KEYWORDS=""
|
||||
IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.1.3:0=
|
||||
dev-libs/libffi:0=
|
||||
virtual/libintl:0=
|
||||
dev-libs/expat:0=
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
!dev-python/pypy3-exe-bin:${PYPY_PV}"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
low-memory? ( dev-python/pypy )
|
||||
!low-memory? (
|
||||
|| (
|
||||
dev-python/pypy
|
||||
dev-lang/python:2.7
|
||||
)
|
||||
)"
|
||||
|
||||
check_env() {
|
||||
if use low-memory; then
|
||||
CHECKREQS_MEMORY="1750M"
|
||||
use amd64 && CHECKREQS_MEMORY="3500M"
|
||||
else
|
||||
CHECKREQS_MEMORY="3G"
|
||||
use amd64 && CHECKREQS_MEMORY="6G"
|
||||
fi
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && check_env
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
check_env
|
||||
|
||||
# unset to allow forcing pypy below :)
|
||||
use low-memory && EPYTHON=
|
||||
if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] &&
|
||||
{ has_version -b dev-python/pypy ||
|
||||
has_version -b dev-python/pypy-bin; }
|
||||
then
|
||||
einfo "Using PyPy to perform the translation."
|
||||
EPYTHON=pypy
|
||||
else
|
||||
einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
|
||||
einfo "recommends using PyPy for that. If you wish to do so, please install"
|
||||
einfo "dev-python/pypy and ensure that EPYTHON variable is unset."
|
||||
python-any-r1_pkg_setup
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
|
||||
local jit_backend
|
||||
if use jit; then
|
||||
jit_backend='--jit-backend='
|
||||
|
||||
# We only need the explicit sse2 switch for x86.
|
||||
# On other arches we can rely on autodetection which uses
|
||||
# compiler macros. Plus, --jit-backend= doesn't accept all
|
||||
# the modern values...
|
||||
|
||||
if use x86; then
|
||||
if use cpu_flags_x86_sse2; then
|
||||
jit_backend+=x86
|
||||
else
|
||||
jit_backend+=x86-without-sse2
|
||||
fi
|
||||
else
|
||||
jit_backend+=auto
|
||||
fi
|
||||
fi
|
||||
|
||||
local args=(
|
||||
--no-shared
|
||||
$(usex jit -Ojit -O2)
|
||||
|
||||
${jit_backend}
|
||||
|
||||
pypy/goal/targetpypystandalone
|
||||
)
|
||||
|
||||
# Avoid linking against libraries disabled by use flags
|
||||
local opts=(
|
||||
bzip2:bz2
|
||||
ncurses:_minimal_curses
|
||||
)
|
||||
|
||||
local opt
|
||||
for opt in "${opts[@]}"; do
|
||||
local flag=${opt%:*}
|
||||
local mod=${opt#*:}
|
||||
|
||||
args+=(
|
||||
$(usex ${flag} --withmod --withoutmod)-${mod}
|
||||
)
|
||||
done
|
||||
|
||||
local interp=( "${EPYTHON}" )
|
||||
if use low-memory; then
|
||||
interp=( env PYPY_GC_MAX_DELTA=200MB
|
||||
"${EPYTHON}" --jit loop_longevity=300 )
|
||||
fi
|
||||
|
||||
if [[ ${EPYTHON} != pypy ]]; then
|
||||
# reuse bundled pycparser to avoid external dep
|
||||
mkdir -p "${T}"/pymod/cffi || die
|
||||
: > "${T}"/pymod/cffi/__init__.py || die
|
||||
cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
|
||||
local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
|
||||
fi
|
||||
|
||||
# translate into the C sources
|
||||
# we're going to build them ourselves since otherwise pypy does not
|
||||
# free up the unneeded memory before spawning the compiler
|
||||
set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
|
||||
echo -e "\033[1m${@}\033[0m"
|
||||
"${@}" || die "translation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -C "${T}"/usession*-0/testing_1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy3.7
|
||||
exeinto "${dest}"
|
||||
newexe "${T}"/usession*-0/testing_1/pypy3-c pypy3-c-${PYPY_PV}
|
||||
insinto "${dest}"/include/${PYPY_PV}
|
||||
doins include/pypy_*
|
||||
pax-mark m "${ED}${dest}/pypy3-c-${PYPY_PV}"
|
||||
}
|
@ -1,176 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit pax-utils python-any-r1 toolchain-funcs
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy3.7-v${PYPY_PV/_/}
|
||||
PATCHSET="pypy3.7-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python (3.7) language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
|
||||
# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
|
||||
SLOT="0/pypy37-pp73"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite test tk"
|
||||
# pypy3.7 is in alpha state and a lot of tests are failing
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy3-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy3-exe-bin-${PYPY_PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy3-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
${PYTHON_DEPS}
|
||||
!!dev-python/pytest-forked
|
||||
)"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/3/distutils/command/install.py || die
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy3.7/pypy3-c-${PYPY_PV} pypy3-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy3-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy3-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_blake2": "_blake2/_blake2_build.py",
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
# "lzma": "_lzma_build.py",
|
||||
# "_decimal": "_decimal_build.py",
|
||||
# "_sha3": "_sha3/_sha3_build.py",
|
||||
cffi_targets=( blake2/_blake2 sha3/_sha3 ssl
|
||||
audioop syslog pwdgrp resource lzma decimal )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy3-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
# Test runner requires Python 2 too. However, it spawns PyPy3
|
||||
# internally so that we end up testing the correct interpreter.
|
||||
# (--deselect for failing doctests)
|
||||
"${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3-c -vv lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy3.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy3-c-${PYPY_PV} "${dest}/pypy3-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy3.7/pypy3-c /usr/bin/pypy3
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/_gdbm* || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*3/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3* \
|
||||
"${ED}${dest}"/lib-python/*3/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*3/{idlelib,tkinter} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy3
|
||||
local -x PYTHON=${ED}${dest}/pypy3-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy3-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy3.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1,176 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit pax-utils python-any-r1 toolchain-funcs
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy3.7-v${PYPY_PV/_}
|
||||
PATCHSET="pypy3.7-gentoo-patches-${PV/_}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python (3.7) language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
|
||||
# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
|
||||
SLOT="0/pypy37-pp73"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite test tk"
|
||||
# pypy3.7 is in alpha state and a lot of tests are failing
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy3-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy3-exe-bin-${PYPY_PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy3-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
${PYTHON_DEPS}
|
||||
!!dev-python/pytest-forked
|
||||
)"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/3/distutils/command/install.py || die
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy3.7/pypy3-c-${PYPY_PV} pypy3-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy3-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy3-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_blake2": "_blake2/_blake2_build.py",
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
# "lzma": "_lzma_build.py",
|
||||
# "_decimal": "_decimal_build.py",
|
||||
# "_sha3": "_sha3/_sha3_build.py",
|
||||
cffi_targets=( blake2/_blake2 sha3/_sha3 ssl
|
||||
audioop syslog pwdgrp resource lzma decimal )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy3-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
# Test runner requires Python 2 too. However, it spawns PyPy3
|
||||
# internally so that we end up testing the correct interpreter.
|
||||
# (--deselect for failing doctests)
|
||||
"${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3-c -vv lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy3.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy3-c-${PYPY_PV} "${dest}/pypy3-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy3.7/pypy3-c /usr/bin/pypy3
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/_gdbm* || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*3/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3* \
|
||||
"${ED}${dest}"/lib-python/*3/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*3/{idlelib,tkinter} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy3
|
||||
local -x PYTHON=${ED}${dest}/pypy3-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy3-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy3.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1,176 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit pax-utils python-any-r1 toolchain-funcs
|
||||
|
||||
PYPY_PV=${PV%_p*}
|
||||
MY_P=pypy3.7-v${PYPY_PV/_}
|
||||
PATCHSET="pypy3.7-gentoo-patches-${PV/_}"
|
||||
|
||||
DESCRIPTION="A fast, compliant alternative implementation of the Python (3.7) language"
|
||||
HOMEPAGE="https://www.pypy.org/"
|
||||
SRC_URI="https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
LICENSE="MIT"
|
||||
# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
|
||||
# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
|
||||
SLOT="0/pypy37-pp73"
|
||||
KEYWORDS=""
|
||||
IUSE="bzip2 gdbm +jit ncurses sqlite test tk"
|
||||
# pypy3.7 is in alpha state and a lot of tests are failing
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
|| (
|
||||
>=dev-python/pypy3-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
|
||||
>=dev-python/pypy3-exe-bin-${PYPY_PV}:${PYPY_PV}
|
||||
)
|
||||
dev-libs/openssl:0=
|
||||
gdbm? ( sys-libs/gdbm:0= )
|
||||
sqlite? ( dev-db/sqlite:3= )
|
||||
tk? (
|
||||
dev-lang/tk:0=
|
||||
dev-tcltk/tix:0=
|
||||
)
|
||||
!<dev-python/pypy3-bin-7.3.0:0"
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
${PYTHON_DEPS}
|
||||
!!dev-python/pytest-forked
|
||||
)"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
default
|
||||
|
||||
sed -e "s^@EPREFIX@^${EPREFIX}^" \
|
||||
-i lib-python/3/distutils/command/install.py || die
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# copy over to make sys.prefix happy
|
||||
cp -p "${BROOT}"/usr/lib/pypy3.7/pypy3-c-${PYPY_PV} pypy3-c || die
|
||||
cp -p "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/* include/ || die
|
||||
# (not installed by pypy)
|
||||
rm pypy/module/cpyext/include/_numpypy/numpy/README || die
|
||||
mv pypy/module/cpyext/include/* include/ || die
|
||||
mv pypy/module/cpyext/parse/*.h include/ || die
|
||||
pax-mark m pypy3-c
|
||||
|
||||
einfo "Generating caches and CFFI modules ..."
|
||||
|
||||
# Generate Grammar and PatternGrammar pickles.
|
||||
./pypy3-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
|
||||
|| die "Generation of Grammar and PatternGrammar pickles failed"
|
||||
|
||||
# Generate cffi modules
|
||||
# Please keep in sync with pypy/tool/build_cffi_imports.py!
|
||||
#cffi_build_scripts = {
|
||||
# "_blake2": "_blake2/_blake2_build.py",
|
||||
# "_ssl": "_ssl_build.py",
|
||||
# "sqlite3": "_sqlite3_build.py",
|
||||
# "audioop": "_audioop_build.py",
|
||||
# "tk": "_tkinter/tklib_build.py",
|
||||
# "curses": "_curses_build.py" if sys.platform != "win32" else None,
|
||||
# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
|
||||
# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
|
||||
# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
|
||||
# "resource": "_resource_build.py" if sys.platform != "win32" else None,
|
||||
# "lzma": "_lzma_build.py",
|
||||
# "_decimal": "_decimal_build.py",
|
||||
# "_sha3": "_sha3/_sha3_build.py",
|
||||
cffi_targets=( blake2/_blake2 sha3/_sha3 ssl
|
||||
audioop syslog pwdgrp resource lzma decimal )
|
||||
use gdbm && cffi_targets+=( gdbm )
|
||||
use ncurses && cffi_targets+=( curses )
|
||||
use sqlite && cffi_targets+=( sqlite3 )
|
||||
use tk && cffi_targets+=( tkinter/tklib )
|
||||
|
||||
local t
|
||||
# all modules except tkinter output to .
|
||||
# tkinter outputs to the correct dir ...
|
||||
cd lib_pypy || die
|
||||
for t in "${cffi_targets[@]}"; do
|
||||
# tkinter doesn't work via -m
|
||||
../pypy3-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
|
||||
done
|
||||
|
||||
# Cleanup temporary objects
|
||||
find -name "_cffi_*.[co]" -delete || die
|
||||
find -type d -empty -delete || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# (unset)
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
local -x COLUMNS=80
|
||||
|
||||
# Test runner requires Python 2 too. However, it spawns PyPy3
|
||||
# internally so that we end up testing the correct interpreter.
|
||||
# (--deselect for failing doctests)
|
||||
"${EPYTHON}" ./pypy/test_all.py --pypy=./pypy3-c -vv lib-python || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest=/usr/lib/pypy3.7
|
||||
einfo "Installing PyPy ..."
|
||||
dosym pypy3-c-${PYPY_PV} "${dest}/pypy3-c"
|
||||
insinto "${dest}"
|
||||
# preserve mtimes to avoid obsoleting caches
|
||||
insopts -p
|
||||
doins -r include lib_pypy lib-python
|
||||
|
||||
# replace copied headers with symlinks
|
||||
for x in "${BROOT}"/usr/lib/pypy3.7/include/${PYPY_PV}/*; do
|
||||
dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
|
||||
done
|
||||
|
||||
dosym ../lib/pypy3.7/pypy3-c /usr/bin/pypy3
|
||||
dodoc README.rst
|
||||
|
||||
if ! use gdbm; then
|
||||
rm -r "${ED}${dest}"/lib_pypy/_gdbm* || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${ED}${dest}"/lib-python/*3/sqlite3 \
|
||||
"${ED}${dest}"/lib_pypy/_sqlite3* \
|
||||
"${ED}${dest}"/lib-python/*3/test/test_sqlite.py || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}${dest}"/lib-python/*3/{idlelib,tkinter} \
|
||||
"${ED}${dest}"/lib_pypy/_tkinter \
|
||||
"${ED}${dest}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
|
||||
fi
|
||||
|
||||
local -x EPYTHON=pypy3
|
||||
local -x PYTHON=${ED}${dest}/pypy3-c-${PYPY_PV}
|
||||
# temporarily copy to build tree to facilitate module builds
|
||||
cp -p "${BROOT}${dest}/pypy3-c-${PYPY_PV}" "${PYTHON}" || die
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_moduleinto /usr/lib/pypy3.7/site-packages
|
||||
python_domodule epython.py
|
||||
|
||||
einfo "Byte-compiling Python standard library..."
|
||||
python_optimize "${ED}${dest}"
|
||||
|
||||
# remove to avoid collisions
|
||||
rm "${PYTHON}" || die
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST sphinx-jinja-0.3.0.tar.gz 7035 BLAKE2B a43c2ab6c1f0178987ccf9f69acbf0b50974573b83d0503e7888a56bf024e519ad69e3ac6ec9b8d27d7e01e9482008b6579c6892ce114124c0ef12ef456c887c SHA512 b39211a0013db020112c865335811317699e7ade734bfd9bb24f51934df4652f0560b81f5e253fc663fbd8a269fd962ef2bfd6dc96eab12a397a538e758cddfd
|
||||
DIST sphinx-jinja-1.1.0.tar.gz 7306 BLAKE2B 17b8df65f32e0b39eeed406b9bd71974a2b4399154b6d3bf13d9011c0d415b856345ec2fffff8fed39f893b7adb5fa1c012ebf80319ac6af74739e7fe9372229 SHA512 acbe1c2f2044b8e202db60a9964c509a33206c113ca2833dc43bb4849bc91e26b0c84959d8c8f2e5331c33c2e9de73c0348a3841740a5b7d260a43bf4876949f
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A sphinx extension to include jinja based templates into a sphinx doc"
|
||||
HOMEPAGE="https://github.com/tardyp/sphinx-jinja https://pypi.org/project/sphinx-jinja/"
|
||||
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
|
||||
|
||||
BDEPEND="
|
||||
dev-python/pbr[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/sphinx-testing[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests nose
|
||||
|
||||
src_prepare() {
|
||||
sed -e "s/import urllib/import urllib.request as urllib/" \
|
||||
-i sphinxcontrib/jinja.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
find "${D}" -name '*.pth' -delete || die
|
||||
}
|
@ -1,3 +1 @@
|
||||
DIST sphinxcontrib-bibtex-2.2.0.tar.gz 96027 BLAKE2B 77ca45e36f1730fa6992cfe41763a34e2a0bcdc99c520412591be3c219dcb7a8af240cc74d08c260548475b88b6cfba24b82e7bad2ab21b24c0e9cb62590792a SHA512 fa78d35f04825f841f757e2708d0ebbd3617a7bf20a893249eaee7e435ff2880ffc8bd23608356904ce41fc11d7fd49bab20f3da501d4a217593c52d99caebaa
|
||||
DIST sphinxcontrib-bibtex-2.2.1.tar.gz 96251 BLAKE2B 3ff2ad5b7a37535177c19ba82cf53bd3a57e9f143f9157a7c5be6fd72b5c402893c172e9d902b2e12ac527833c742c3ffed81ee3407eb48fcf2937eadc3aab3b SHA512 c34199cc5180dbd8b804daf4ca1bcd830605b9620a44312c632fd9313ad87ab495b6e134f5042167daefa36c5295f61c03ee90b69396f746bc6ec7bfa182a69b
|
||||
DIST sphinxcontrib-bibtex-2.3.0.tar.gz 100159 BLAKE2B 96c9ebf48f11354ea3978a053828f9290457aff4fa1f0bb3d9f94bfe6fb5d5463f83bb12004f22bf8e34a517393848482a27d6754c682d25a0de64c3c7d06ecc SHA512 84652cfc7ad19ad5cdc1dba9a8aa7f835c5c95850a8e941067fd79b6b271733a63a1ba457a59e18156737888c2f42350b7fe0cf2d55ea478629b74b00d14f908
|
||||
|
@ -1,35 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Sphinx extensions for BibTeX style citations"
|
||||
HOMEPAGE="https://github.com/mcmtroffaes/sphinxcontrib-bibtex"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/oset[${PYTHON_USEDEP}]
|
||||
dev-python/pybtex[${PYTHON_USEDEP}]
|
||||
dev-python/pybtex-docutils[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx doc
|
||||
|
||||
python_test() {
|
||||
pytest -vv test || die "Tests failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
find "${D}" -name '*.pth' -delete || die
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Sphinx extensions for BibTeX style citations"
|
||||
HOMEPAGE="https://github.com/mcmtroffaes/sphinxcontrib-bibtex"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/oset[${PYTHON_USEDEP}]
|
||||
dev-python/pybtex[${PYTHON_USEDEP}]
|
||||
dev-python/pybtex-docutils[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx doc
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
find "${D}" -name '*.pth' -delete || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST xdoctest-0.15.4.gh.tar.gz 179295 BLAKE2B 0b44276a219119196543671d8ac24469ecd73b040bbd03ca416320d407f0dd34361dbb2778121621f6efb65835ea421107883277b6e712f03e4c06ea2b03dd6a SHA512 a0a35d5c73a8696266d9be44d11e9dbf05c9ac1165a05e681f7b70ef07ae7d56f4bd179e863b6675e2366f1627015e92092e8250ca592f004680db5ad886ad49
|
||||
DIST xdoctest-0.15.6.gh.tar.gz 182717 BLAKE2B 39af1bdc381e6b6044321ca1dae8ae893d4af9ba8d595ce5dad0fea7e805420635bc9f9a2c04726cb03a7fa0311eb1df1f93aa59e682790e15a3e119356d7b9a SHA512 5c7a7cfea9a7b37e8e5a383b59896730420dbf737a4217bd19ebe083b48a6d410b0e6713b0e5b9749527ff3992f3d24b83d49622bcde0a68722ecab8337d7040
|
||||
DIST xdoctest-0.15.8.gh.tar.gz 185463 BLAKE2B a16578e6d50398ac80d950bcc9a05131880816e2ff3a15bd1489474e532f9b495d099dcea204d8375c884c6957aaaba9b276fbcb65b5717b2850314453f787f7 SHA512 ab4f991ba6e312bf6cf675c3bbeeae87c0666b96c911ee7727f64b8e4c13420bb91e0a7a955ebce73b3fb15625b52bbf1b67c6edfe91234655501060b17723d5
|
||||
|
@ -0,0 +1,28 @@
|
||||
From ec14218904fdd1c06597277deb11c8d3bb33c675 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Fri, 3 Sep 2021 07:27:22 +0200
|
||||
Subject: [PATCH] Fix test failure if pytest's flaky plugin is installed
|
||||
|
||||
Disable pytest's flaky plugin in test_simple_pytest_import_error_cli
|
||||
in order to fix a test failure due to it mangling pytest's return code
|
||||
on import error.
|
||||
---
|
||||
testing/test_pytest_cli.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/testing/test_pytest_cli.py b/testing/test_pytest_cli.py
|
||||
index 25c8363..8ef9251 100644
|
||||
--- a/testing/test_pytest_cli.py
|
||||
+++ b/testing/test_pytest_cli.py
|
||||
@@ -67,7 +67,7 @@ def test_simple_pytest_import_error_cli():
|
||||
"""
|
||||
''')
|
||||
temp_module = util_misc.TempModule(module_text, modname='imperr_test_mod')
|
||||
- command = sys.executable + ' -m pytest -v -s --xdoctest-verbose=3 --xdoctest ' + temp_module.dpath
|
||||
+ command = sys.executable + ' -m pytest -p no:flaky -v -s --xdoctest-verbose=3 --xdoctest ' + temp_module.dpath
|
||||
print(command)
|
||||
info = cmd(command)
|
||||
print(info['out'])
|
||||
--
|
||||
2.33.0
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A rewrite of Python's builtin doctest module but without all the weirdness"
|
||||
HOMEPAGE="https://github.com/Erotemic/xdoctest/"
|
||||
SRC_URI="
|
||||
https://github.com/Erotemic/xdoctest/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="Apache-2.0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
|
||||
# dev-python/nbformat-5.1.{0..2} did not install package data
|
||||
BDEPEND="
|
||||
test? (
|
||||
>=dev-python/nbformat-5.1.2-r1[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests --install pytest
|
||||
#distutils_enable_sphinx docs/source \
|
||||
# dev-python/autoapi \
|
||||
# dev-python/sphinx_rtd_theme
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-pytest-flaky.patch
|
||||
)
|
Binary file not shown.
@ -1,4 +1,3 @@
|
||||
DIST aws-sigv4-1.1.2.gem 11776 BLAKE2B 120446bb7ba1faf4236952b7dc53e0e88cad35476b2a56d188b73c1b3e4a4a93e835597eda5ebde02c0d65395045e9400e41b9d291f076cf73803286ea3151a3 SHA512 2d1f016e5a093a167d4bb6ae8774e5073c6c3c182a4ab64edfcc3cb93cdb827bdf2dd6731eddd096b8940db4cd751dd451bd4cf445c5b15ac5349e6d150281c8
|
||||
DIST aws-sigv4-1.1.4.gem 11776 BLAKE2B 3b365817f3228bea3fbc4903ab59b3949eeee6570dc68f12bf20f2edce1f2910b54d983389bca11950bc06d37c1c0cf9038bf0b301096cd02747fba97f8fe71c SHA512 58a0f94846edacff7a6037ee0fd2f77636241b1ad4de9882a4afbd9785879c371f2d6137c99e9232141bfd1d235aeb70422b2a4affd867b073db1b50c607ddf9
|
||||
DIST aws-sigv4-1.2.3.gem 16384 BLAKE2B 55da04b54005107075e3e4ef6a16de03e25ee355938bb1846f2c1ab79f1d9c72b0d272acb8b8c58eb7803710f3ad9be7e2d137b0c387d84d4841f7dcb0fb82aa SHA512 5d3aa9256f5e0fec5841ca5c9ca5aeb9a32cb4cf69f30221476d380c22e8f1863d2fbb4c826b89634c65f8080b83debdd84efe6e14e31f0a01bcf18b9fd71750
|
||||
DIST aws-sigv4-1.2.4.gem 16384 BLAKE2B 31aee1c3c028b9ccd6b20e967af97394e3800d27cfec2f19a4f12b0a7f0ed2ed931b720beb7d3e3ae737ca33eb7c4271f565053f201a3e233625c5d1faf33fab SHA512 1c03bf59899c7e7f6b01a786e75985c73459f0aacd3f01df70bac562db452e369317f8cb749f30d30629f058845687d9e2f614547f6f3ca1a4378db724170e4f
|
||||
DIST aws-sigv4-1.4.0.gem 16896 BLAKE2B 42a619d5037e6974a64ba329d50b83b221177d50abe89f8cc3dd38cb8c91eb7d049fc2e93b1c3c29910778ab5254b7a65936257fb1809ca92535841a3b58b77b SHA512 250dfd5755fa5163c65c122ff33c4e3b700359281a2b7c0640fb25ad8fbd2f01afa6034413345eb395d0219dc7c4cd6f4ab899c21321b76a336fa49a7ff298de
|
||||
|
@ -1,21 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="none"
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Amazon Web Services Signature Version 4 signing library"
|
||||
HOMEPAGE="https://aws.amazon.com/sdk-for-ruby/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="1"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
ruby_add_rdepend ">=dev-ruby/aws-eventstream-1.0.2:1"
|
@ -1,12 +1,13 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
USE_RUBY="ruby24 ruby25 ruby26 ruby27"
|
||||
USE_RUBY="ruby26 ruby27 ruby30"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="none"
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
Binary file not shown.
@ -1 +1,3 @@
|
||||
DIST debugedit-5.0.tar.xz 164820 BLAKE2B 8e79f930a7e5c91709b1646794412836fff0b08da17a4b54beac4752a3f62c7418e3e8b8f7f3c3111ba375d6c672fee0f4279632bab3fb406a2fdd75a9e81a64 SHA512 7e7f529eafe41b53f0b5bfc58282fdbfa0dfa93ed7908b70e81942d6d2b6f80fc9c6bff2ed9674fd98947e5750b615f4c8b222544989e2900c5f8ff5ae0efb92
|
||||
DIST debugedit-5.0.tar.xz.sig 310 BLAKE2B bd8b092e400575fa62f759e4fd2e6bbfc9dbd77da2a363bd13c98b32794d515fbe7987824874b9c4be048e458c334bccb74082a78d845f07429b150083f2bcbf SHA512 2223841eb6c63616dc24028e8076ab9d82579e8d6efa4bba45e5dbd0eb181c947feae6f944136f3504a78678569ae96dc6c4a0dd4e7012bd9aa522b0f7525dc9
|
||||
DIST rpm-4.16.1.3.tar.bz2 4354652 BLAKE2B 10013014bdeaf908b64c90f8e76f1d4b0cd0e8cb926f0cd979d7b1e1963b9a25c5b98531deea7e74e00168e2e6349f443fa4578c69c717ca1ab5e6b79d801f3a SHA512 54e503b32dffaa73d6168f26a00220d9d9124082d8a1eb1ddf34ce32a482f07cb06ec654cf065fca1607cc37b13fa7d4fa9895553541d7cfddecf68c9eb96f2e
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools verify-sig
|
||||
|
||||
DESCRIPTION="Create debuginfo and source file distributions"
|
||||
HOMEPAGE="https://sourceware.org/debugedit/"
|
||||
SRC_URI="
|
||||
https://sourceware.org/ftp/debugedit/${PV}/${P}.tar.xz
|
||||
https://sourceware.org/ftp/debugedit/${PV}/${P}.tar.xz.sig
|
||||
"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/elfutils-0.176-r1
|
||||
"
|
||||
DEPEND=${RDEPEND}
|
||||
BDEPEND="
|
||||
sys-apps/help2man
|
||||
virtual/pkgconfig
|
||||
verify-sig? (
|
||||
app-crypt/openpgp-keys-debugedit
|
||||
)
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/debugedit.gpg
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-readelf.patch
|
||||
"${FILESDIR}"/${P}-zero-dir-entry.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
@ -0,0 +1,330 @@
|
||||
From 56e41d7c716a3657bdcce05146f7509d8a4e4a74 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Date: Sun, 1 Aug 2021 21:15:35 +0100
|
||||
Subject: [PATCH] use $READELF, not readelf
|
||||
|
||||
Allow user to specify own readelf. Use detected readelf,
|
||||
not 'readelf'.
|
||||
|
||||
Noticed as a set of test failures on system with only
|
||||
$host-prefixed tools:
|
||||
|
||||
debugedit/tests/testsuite.dir/at-groups/4/test-source:
|
||||
line 40: readelf: command not found
|
||||
|
||||
* configure.ac: Add READELF user override.
|
||||
* scripts/find-debuginfo.in: Use @READELF@ instead of 'readelf'.
|
||||
* tests/atlocal.in: Populate READELF variable detected by configure.
|
||||
* tests/debugedit.at: Use $READELF instad of 'readelf' in tests.
|
||||
* Makefile.am (do_subst): Add READELF substitution.
|
||||
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
---
|
||||
Makefile.am | 3 ++-
|
||||
configure.ac | 1 +
|
||||
scripts/find-debuginfo.in | 2 +-
|
||||
tests/atlocal.in | 1 +
|
||||
tests/debugedit.at | 54 +++++++++++++++++++--------------------
|
||||
5 files changed, 32 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 98b2f20..2060b96 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -32,7 +32,8 @@ CLEANFILES = $(bin_SCRIPTS)
|
||||
|
||||
# Some standard substitutions for scripts
|
||||
do_subst = ($(SED) -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
|
||||
- -e 's,[@]VERSION[@],$(VERSION),g')
|
||||
+ -e 's,[@]VERSION[@],$(VERSION),g' \
|
||||
+ -e 's,[@]READELF[@],$(READELF),g')
|
||||
|
||||
find-debuginfo: $(top_srcdir)/scripts/find-debuginfo.in Makefile
|
||||
$(do_subst) < "$(top_srcdir)/scripts/$@.in" > "$@"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 85f2c4f..e5c9230 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -44,6 +44,7 @@ AC_PROG_SED
|
||||
AC_PROG_CC_C99
|
||||
AC_PROG_LN_S
|
||||
AC_CHECK_TOOL([LD], [ld])
|
||||
+AC_CHECK_TOOL([READELF], [readelf])
|
||||
AM_MISSING_PROG(HELP2MAN, help2man)
|
||||
|
||||
# Only really an issue on 32bit platforms. Makes sure we'll get large off_t.
|
||||
diff --git a/scripts/find-debuginfo.in b/scripts/find-debuginfo.in
|
||||
index 8b9ce77..9c0a735 100755
|
||||
--- a/scripts/find-debuginfo.in
|
||||
+++ b/scripts/find-debuginfo.in
|
||||
@@ -338,7 +338,7 @@ add_minidebug()
|
||||
# symbol and NOBITS sections so cannot use --keep-only because that is
|
||||
# too aggressive. Field $2 is the section name, $3 is the section type
|
||||
# and $8 are the section flags.
|
||||
- local remove_sections=`readelf -W -S "$debuginfo" \
|
||||
+ local remove_sections=`@READELF@ -W -S "$debuginfo" \
|
||||
| awk '{ if (index($2,".debug_") != 1 \
|
||||
&& ($3 == "PROGBITS" || $3 == "NOTE" || $3 == "NOBITS") \
|
||||
&& index($8,"A") == 0) \
|
||||
diff --git a/tests/atlocal.in b/tests/atlocal.in
|
||||
index 0eec351..8399f8d 100644
|
||||
--- a/tests/atlocal.in
|
||||
+++ b/tests/atlocal.in
|
||||
@@ -9,6 +9,7 @@ CC="@CC@"
|
||||
CFLAGS=""
|
||||
LD="@LD@"
|
||||
LDFLAGS=""
|
||||
+READELF="@READELF@"
|
||||
|
||||
GDWARF_5_FLAG=@GDWARF_5_FLAG@
|
||||
GZ_NONE_FLAG=@GZ_NONE_FLAG@
|
||||
diff --git a/tests/debugedit.at b/tests/debugedit.at
|
||||
index 608b1d0..0311d26 100644
|
||||
--- a/tests/debugedit.at
|
||||
+++ b/tests/debugedit.at
|
||||
@@ -93,7 +93,7 @@ DEBUGEDIT_SETUP([-gdwarf-4])
|
||||
|
||||
# Capture strings that start with the testdir (pwd) directory path
|
||||
# (and replace that textually with /foo/bar/baz)
|
||||
-readelf -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
|
||||
+$READELF -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
|
||||
| grep ^$(pwd) | sort \
|
||||
| sed -e "s@$(pwd)@/foo/bar/baz@" > expout
|
||||
|
||||
@@ -108,7 +108,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
-readelf -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
|
||||
+$READELF -p.debug_str foo.o subdir_bar/bar.o baz.o | cut -c13- \
|
||||
| grep ^/foo/bar/baz | sort
|
||||
]],[0],[expout])
|
||||
|
||||
@@ -125,7 +125,7 @@ DEBUGEDIT_SETUP([-gdwarf-5])
|
||||
|
||||
# Capture strings that start with the testdir (pwd) directory path
|
||||
# (and replace that textually with /foo/bar/baz)
|
||||
-readelf -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
|
||||
+$READELF -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
|
||||
| cut -c13- \
|
||||
| grep ^$(pwd) | sort | uniq \
|
||||
| sed -e "s@$(pwd)@/foo/bar/baz@" > expout
|
||||
@@ -141,7 +141,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
-readelf -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
|
||||
+$READELF -p.debug_str -p.debug_line_str foo.o subdir_bar/bar.o baz.o \
|
||||
| cut -c13- \
|
||||
| grep ^/foo/bar/baz | sort | uniq
|
||||
]],[0],[expout],[ignore])
|
||||
@@ -160,7 +160,7 @@ DEBUGEDIT_SETUP([-gdwarf-4])
|
||||
# (and replace that textually with /foo/bar/baz)
|
||||
# Note that partially linked files, might have multiple duplicate
|
||||
# strings, but debugedit will merge them. So use sort -u.
|
||||
-readelf -p.debug_str ./foobarbaz.part.o | cut -c13- \
|
||||
+$READELF -p.debug_str ./foobarbaz.part.o | cut -c13- \
|
||||
| grep ^$(pwd) | sort -u \
|
||||
| sed -e "s@$(pwd)@/foo/bar/baz@" > expout
|
||||
|
||||
@@ -173,7 +173,7 @@ fi
|
||||
# Check the replaced strings are all there.
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
-readelf -p.debug_str ./foobarbaz.part.o | cut -c13- \
|
||||
+$READELF -p.debug_str ./foobarbaz.part.o | cut -c13- \
|
||||
| grep ^/foo/bar/baz | sort
|
||||
]],[0],[expout])
|
||||
|
||||
@@ -192,7 +192,7 @@ DEBUGEDIT_SETUP([-gdwarf-5])
|
||||
# (and replace that textually with /foo/bar/baz)
|
||||
# Note that partially linked files, might have multiple duplicate
|
||||
# strings, but debugedit will merge them. So use sort -u.
|
||||
-readelf -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
|
||||
+$READELF -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
|
||||
| grep ^$(pwd) | sort -u | uniq \
|
||||
| sed -e "s@$(pwd)@/foo/bar/baz@" > expout
|
||||
|
||||
@@ -205,7 +205,7 @@ fi
|
||||
# Check the replaced strings are all there.
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
-readelf -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
|
||||
+$READELF -p.debug_str -p.debug_line_str ./foobarbaz.part.o | cut -c13- \
|
||||
| grep ^/foo/bar/baz | sort | uniq
|
||||
]],[0],[expout],[ignore])
|
||||
|
||||
@@ -221,7 +221,7 @@ DEBUGEDIT_SETUP([-gdwarf-4])
|
||||
|
||||
# Capture strings that start with the testdir (pwd) directory path
|
||||
# (and replace that textually with /foo/bar/baz)
|
||||
-readelf -p.debug_str foobarbaz.exe | cut -c13- \
|
||||
+$READELF -p.debug_str foobarbaz.exe | cut -c13- \
|
||||
| grep ^$(pwd) | sort \
|
||||
| sed -e "s@$(pwd)@/foo/bar/baz@" > expout
|
||||
|
||||
@@ -235,7 +235,7 @@ fi
|
||||
# Check the replaced strings are all there.
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
-readelf -p.debug_str foobarbaz.exe | cut -c13- \
|
||||
+$READELF -p.debug_str foobarbaz.exe | cut -c13- \
|
||||
| grep ^/foo/bar/baz | sort
|
||||
]],[0],[expout])
|
||||
|
||||
@@ -252,7 +252,7 @@ DEBUGEDIT_SETUP([-gdwarf-5])
|
||||
|
||||
# Capture strings that start with the testdir (pwd) directory path
|
||||
# (and replace that textually with /foo/bar/baz)
|
||||
-readelf -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
|
||||
+$READELF -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
|
||||
| grep ^$(pwd) | sort | uniq \
|
||||
| sed -e "s@$(pwd)@/foo/bar/baz@" > expout
|
||||
|
||||
@@ -266,7 +266,7 @@ fi
|
||||
# Check the replaced strings are all there.
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
-readelf -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
|
||||
+$READELF -p.debug_str -p.debug_line_str foobarbaz.exe | cut -c13- \
|
||||
| grep ^/foo/bar/baz | sort | uniq
|
||||
]],[0],[expout],[ignore])
|
||||
|
||||
@@ -305,7 +305,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=info foo.o subdir_bar/bar.o baz.o \
|
||||
+$READELF --debug-dump=info foo.o subdir_bar/bar.o baz.o \
|
||||
| grep -E 'DW_AT_(name|comp_dir)' \
|
||||
| rev | cut -d: -f1 | rev | cut -c2- | grep ^/foo/bar/baz | sort -u
|
||||
]],[0],[expout])
|
||||
@@ -328,7 +328,7 @@ AT_DATA([expout],
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=info ./foobarbaz.part.o \
|
||||
+$READELF --debug-dump=info ./foobarbaz.part.o \
|
||||
| grep -E 'DW_AT_(name|comp_dir)' \
|
||||
| rev | cut -d: -f1 | rev | cut -c2- | grep ^/foo/bar/baz | sort -u
|
||||
]],[0],[expout])
|
||||
@@ -351,7 +351,7 @@ AT_DATA([expout],
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=info ./foobarbaz.exe | grep -E 'DW_AT_(name|comp_dir)' \
|
||||
+$READELF --debug-dump=info ./foobarbaz.exe | grep -E 'DW_AT_(name|comp_dir)' \
|
||||
| rev | cut -d: -f1 | rev | cut -c2- | grep ^/foo/bar/baz | sort -u
|
||||
]],[0],[expout])
|
||||
|
||||
@@ -385,7 +385,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
for i in ./foo.o ./subdir_bar/bar.o ./baz.o;do \
|
||||
- readelf --debug-dump=info $i \
|
||||
+ $READELF --debug-dump=info $i \
|
||||
| awk '/Abbrev Number:.*DW_TAG_type_unit/{p=1}{if(p)print}/^$/{p=0}' \
|
||||
| sed -n 's/^.*> *DW_AT_name *:.* \(stringp[^ ]*\|st.\)$/\1/p' \
|
||||
| sort;
|
||||
@@ -415,7 +415,7 @@ stz
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=info ./foobarbaz.part.o \
|
||||
+$READELF --debug-dump=info ./foobarbaz.part.o \
|
||||
| awk '/Abbrev Number:.*DW_TAG_type_unit/{p=1}{if(p)print}/^$/{p=0}' \
|
||||
| sed -n 's/^.*> *DW_AT_name *:.* \(stringp[^ ]*\|st.\)$/\1/p' \
|
||||
| sort
|
||||
@@ -444,7 +444,7 @@ stz
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=info ./foobarbaz.exe \
|
||||
+$READELF --debug-dump=info ./foobarbaz.exe \
|
||||
| awk '/Abbrev Number:.*DW_TAG_type_unit/{p=1}{if(p)print}/^$/{p=0}' \
|
||||
| sed -n 's/^.*> *DW_AT_name *:.* \(stringp[^ ]*\|st.\)$/\1/p' \
|
||||
| sort
|
||||
@@ -474,7 +474,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=line foo.o subdir_bar/bar.o baz.o \
|
||||
+$READELF --debug-dump=line foo.o subdir_bar/bar.o baz.o \
|
||||
| grep -A3 "The Directory Table" | grep "^ [123]" \
|
||||
| grep /foo/ | cut -c5- | sort
|
||||
]],[0],[expout])
|
||||
@@ -499,7 +499,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=line foo.o subdir_bar/bar.o baz.o \
|
||||
+$READELF --debug-dump=line foo.o subdir_bar/bar.o baz.o \
|
||||
| grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||
| cut -f2- -d/ | grep ^foo/ | sort
|
||||
]],[0],[expout])
|
||||
@@ -521,7 +521,7 @@ AT_DATA([expout],
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=line ./foobarbaz.part.o \
|
||||
+$READELF --debug-dump=line ./foobarbaz.part.o \
|
||||
| grep -A3 "The Directory Table" | grep "^ [123]" \
|
||||
| grep /foo/ | cut -c5- | sort
|
||||
]],[0],[expout])
|
||||
@@ -544,7 +544,7 @@ foo/bar/baz/subdir_headers
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=line ./foobarbaz.part.o \
|
||||
+$READELF --debug-dump=line ./foobarbaz.part.o \
|
||||
| grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||
| cut -f2- -d/ | grep ^foo/ | sort
|
||||
]],[0],[expout])
|
||||
@@ -566,7 +566,7 @@ AT_DATA([expout],
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=line ./foobarbaz.exe \
|
||||
+$READELF --debug-dump=line ./foobarbaz.exe \
|
||||
| grep -A3 "The Directory Table" | grep "^ [123]" \
|
||||
| grep /foo/ | cut -c5- | sort
|
||||
]],[0],[expout])
|
||||
@@ -589,7 +589,7 @@ foo/bar/baz/subdir_headers
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=line ./foobarbaz.exe \
|
||||
+$READELF --debug-dump=line ./foobarbaz.exe \
|
||||
| grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||
| cut -f2- -d/ | grep ^foo/ | sort
|
||||
]],[0],[expout])
|
||||
@@ -615,7 +615,7 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foo.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=macro foo.o subdir_bar/bar.o baz.o \
|
||||
+$READELF --debug-dump=macro foo.o subdir_bar/bar.o baz.o \
|
||||
| grep NUMBER | rev | cut -d: -f1 | rev | cut -c2-
|
||||
]],[0],[expout])
|
||||
|
||||
@@ -638,7 +638,7 @@ NUMBER 42
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=macro ./foobarbaz.part.o \
|
||||
+$READELF --debug-dump=macro ./foobarbaz.part.o \
|
||||
| grep NUMBER | rev | cut -d: -f1 | rev | cut -c2-
|
||||
]],[0],[expout])
|
||||
|
||||
@@ -661,7 +661,7 @@ NUMBER 42
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
-readelf --debug-dump=macro ./foobarbaz.exe \
|
||||
+$READELF --debug-dump=macro ./foobarbaz.exe \
|
||||
| grep NUMBER | rev | cut -d: -f1 | rev | cut -c2-
|
||||
]],[0],[expout])
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
@ -0,0 +1,130 @@
|
||||
From ae27211cbbfb63a0ad3c141cd1310d7f583ec40e Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Fri, 30 Jul 2021 18:09:46 +0200
|
||||
Subject: [PATCH] tests: Handle zero directory entry in .debug_line DWARF5
|
||||
debugedit.at
|
||||
|
||||
We were skipping the zero directory entry, because it was always
|
||||
the same as the directory entry at position one. But that isn't
|
||||
true anymore with gcc 11.2.1. There the zero dir entry is unique.
|
||||
Fix the debugedit.at .debug_line testcases using DWARF5 to also
|
||||
include dir entry zero.
|
||||
|
||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||
---
|
||||
configure.ac | 14 ++++++++++++++
|
||||
tests/atlocal.in | 1 +
|
||||
tests/debugedit.at | 18 ++++++++++++------
|
||||
3 files changed, 27 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index e5c9230..6a53365 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -87,6 +87,20 @@ CFLAGS="$save_CFLAGS"
|
||||
GDWARF_5_FLAG=$ac_cv_gdwarf_5
|
||||
AC_SUBST([GDWARF_5_FLAG])
|
||||
|
||||
+AC_CACHE_CHECK([whether -gdwarf-5 produced DWARF5 .debug_line], ac_cv_dwarf_5_debugline, [dnl
|
||||
+save_CFLAGS="$CFLAGS"
|
||||
+CFLAGS="-gdwarf-5"
|
||||
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i=0;]],[[/* empty main */]])],
|
||||
+ [if $READELF --debug-dump=line conftest.o 2>&1 | \
|
||||
+ grep "DWARF Version:" 2>&1 | grep "5" > /dev/null 2>&1; \
|
||||
+ then ac_cv_dwarf_5_debugline=yes; \
|
||||
+ else ac_cv_dwarf_5_debugline=no; fi],
|
||||
+ ac_cv_dwarf_5_debugline=no)
|
||||
+CFLAGS="$save_CFLAGS"
|
||||
+])
|
||||
+DWARF_5_DEBUGLINE=$ac_cv_dwarf_5_debugline
|
||||
+AC_SUBST([DWARF_5_DEBUGLINE])
|
||||
+
|
||||
AC_CACHE_CHECK([whether gcc supports -gz=none], ac_cv_gz_none, [dnl
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="-gz=none"
|
||||
diff --git a/tests/atlocal.in b/tests/atlocal.in
|
||||
index 8399f8d..d916301 100644
|
||||
--- a/tests/atlocal.in
|
||||
+++ b/tests/atlocal.in
|
||||
@@ -13,3 +13,4 @@ READELF="@READELF@"
|
||||
|
||||
GDWARF_5_FLAG=@GDWARF_5_FLAG@
|
||||
GZ_NONE_FLAG=@GZ_NONE_FLAG@
|
||||
+DWARF_5_DEBUGLINE=@DWARF_5_DEBUGLINE@
|
||||
diff --git a/tests/debugedit.at b/tests/debugedit.at
|
||||
index 0311d26..725e68e 100644
|
||||
--- a/tests/debugedit.at
|
||||
+++ b/tests/debugedit.at
|
||||
@@ -488,10 +488,12 @@ AT_CLEANUP
|
||||
AT_SETUP([debugedit .debug_line objects DWARF5])
|
||||
AT_KEYWORDS([debuginfo] [debugedit])
|
||||
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
|
||||
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
|
||||
DEBUGEDIT_SETUP([-gdwarf-5])
|
||||
|
||||
AT_DATA([expout],
|
||||
[foo/bar/baz
|
||||
+foo/bar/baz/subdir_bar
|
||||
foo/bar/baz/subdir_headers
|
||||
])
|
||||
|
||||
@@ -500,8 +502,8 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||
AT_CHECK([[
|
||||
$READELF --debug-dump=line foo.o subdir_bar/bar.o baz.o \
|
||||
- | grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||
- | cut -f2- -d/ | grep ^foo/ | sort
|
||||
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
|
||||
+ | cut -f2- -d/ | grep ^foo/ | sort -u
|
||||
]],[0],[expout])
|
||||
|
||||
AT_CLEANUP
|
||||
@@ -535,18 +537,20 @@ AT_CLEANUP
|
||||
AT_SETUP([debugedit .debug_line partial DWARF5])
|
||||
AT_KEYWORDS([debuginfo] [debugedit])
|
||||
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
|
||||
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
|
||||
DEBUGEDIT_SETUP([-gdwarf-5])
|
||||
|
||||
AT_DATA([expout],
|
||||
[foo/bar/baz
|
||||
+foo/bar/baz/subdir_bar
|
||||
foo/bar/baz/subdir_headers
|
||||
])
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||
AT_CHECK([[
|
||||
$READELF --debug-dump=line ./foobarbaz.part.o \
|
||||
- | grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||
- | cut -f2- -d/ | grep ^foo/ | sort
|
||||
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
|
||||
+ | cut -f2- -d/ | grep ^foo/ | sort -u
|
||||
]],[0],[expout])
|
||||
|
||||
AT_CLEANUP
|
||||
@@ -580,18 +584,20 @@ AT_CLEANUP
|
||||
AT_SETUP([debugedit .debug_line exe DWARF5])
|
||||
AT_KEYWORDS([debuginfo] [debugedit])
|
||||
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
|
||||
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
|
||||
DEBUGEDIT_SETUP([-gdwarf-5])
|
||||
|
||||
AT_DATA([expout],
|
||||
[foo/bar/baz
|
||||
+foo/bar/baz/subdir_bar
|
||||
foo/bar/baz/subdir_headers
|
||||
])
|
||||
|
||||
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||
AT_CHECK([[
|
||||
$READELF --debug-dump=line ./foobarbaz.exe \
|
||||
- | grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||
- | cut -f2- -d/ | grep ^foo/ | sort
|
||||
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
|
||||
+ | cut -f2- -d/ | grep ^foo/ | sort -u
|
||||
]],[0],[expout])
|
||||
|
||||
AT_CLEANUP
|
||||
--
|
||||
2.27.0
|
||||
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST exiv2-0.27.3-Source.tar.gz 26447901 BLAKE2B ac13e6d8fce83923278cfeb628f143310a3c62b42936c8ed8b302a2c3df4c36f5666fa749adfb1d745e42da8f519762532e6fc281993aa55bcd7ce56e08c6e3e SHA512 3f5758ee862b811eeb89cc75fc2bbd8bf10329efa2ce1e68555cdc7729faa6cfd1603e0cc859fbdbe6d8fd5e53bd9b9e6d869d8a20ed17497bf87ce78c005de9
|
||||
DIST exiv2-0.27.4-Source.tar.gz 32055837 BLAKE2B 9c31c08fafb38895fa7812a8c7a195335e80a6b9c15f7b5f3750f5ab30903c4c3bbf9aee5a7293a7d437d15a49a9cb7b45a3133cbb36ee62081efae0dd67b61a SHA512 f6798baafb36a54ba5bc65c2d28d4f4469e298582c90b417eb437b5dbda8e11963fb3314e8419717b3815ee8c3a68955cddc79e45351d9f2c165a0b73eb7b7be
|
||||
|
@ -1,102 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
if [[ ${PV} = *9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://exiv2.org/builds/${P}-Source.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
|
||||
S="${WORKDIR}/${P}-Source"
|
||||
fi
|
||||
|
||||
CMAKE_ECLASS=cmake
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
inherit cmake-multilib python-any-r1
|
||||
|
||||
DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
|
||||
HOMEPAGE="https://www.exiv2.org/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/27"
|
||||
IUSE="doc examples nls +png webready +xmp"
|
||||
|
||||
BDEPEND="
|
||||
doc? (
|
||||
${PYTHON_DEPS}
|
||||
app-doc/doxygen
|
||||
dev-libs/libxslt
|
||||
media-gfx/graphviz
|
||||
virtual/pkgconfig
|
||||
)
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
DEPEND="
|
||||
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||
nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
|
||||
png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||
webready? (
|
||||
>net-libs/libssh-0.9.1[${MULTILIB_USEDEP}]
|
||||
net-misc/curl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( README.md doc/ChangeLog doc/cmd.txt )
|
||||
|
||||
pkg_setup() {
|
||||
use doc && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# FIXME @upstream:
|
||||
einfo "Converting doc/cmd.txt to UTF-8"
|
||||
iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
|
||||
mv -f doc/cmd.txt.tmp doc/cmd.txt || die
|
||||
|
||||
cmake_src_prepare
|
||||
|
||||
sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_CXX_STANDARD=14
|
||||
-DEXIV2_BUILD_SAMPLES=NO
|
||||
-DEXIV2_BUILD_PO=$(usex nls)
|
||||
-DEXIV2_ENABLE_NLS=$(usex nls)
|
||||
-DEXIV2_ENABLE_PNG=$(usex png)
|
||||
-DEXIV2_ENABLE_CURL=$(usex webready)
|
||||
-DEXIV2_ENABLE_SSH=$(usex webready)
|
||||
-DEXIV2_ENABLE_WEBREADY=$(usex webready)
|
||||
-DEXIV2_ENABLE_XMP=$(usex xmp)
|
||||
$(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
|
||||
$(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
|
||||
-DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
cmake_src_compile
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
use doc && eninja doc
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
|
||||
|
||||
einstalldocs
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc samples/*.cpp
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
Fri, 03 Sep 2021 05:08:58 +0000
|
||||
Fri, 03 Sep 2021 10:08:57 +0000
|
||||
|
@ -1 +1 @@
|
||||
Fri, 03 Sep 2021 05:08:59 +0000
|
||||
Fri, 03 Sep 2021 10:08:57 +0000
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
DEFINED_PHASES=install
|
||||
DESCRIPTION=OpenPGP key used to sign debugedit releases
|
||||
EAPI=7
|
||||
HOMEPAGE=https://sourceware.org/debugedit/
|
||||
KEYWORDS=~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86
|
||||
LICENSE=public-domain
|
||||
SLOT=0
|
||||
SRC_URI=https://sourceware.org/ftp/debugedit/gpgkey-5C1D1AA44BE649DE760A.gpg
|
||||
_md5_=819979f21d52b2b263eda26db9783173
|
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
BDEPEND=dev-qt/linguist-tools:5 dev-util/ninja >=dev-util/cmake-3.20.5
|
||||
DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
|
||||
DEPEND=app-text/hunspell:= dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtprintsupport:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 X? ( dev-qt/qtx11extras:5 x11-libs/libX11 ) dev-util/desktop-file-utils x11-misc/shared-mime-info
|
||||
DESCRIPTION=Lightweight Qt5 Plain-Text Editor for Linux
|
||||
EAPI=7
|
||||
HOMEPAGE=https://github.com/tsujan/FeatherPad
|
||||
IUSE=+X
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=GPL-3+
|
||||
RDEPEND=app-text/hunspell:= dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 dev-qt/qtprintsupport:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 X? ( dev-qt/qtx11extras:5 x11-libs/libX11 )
|
||||
SLOT=0
|
||||
SRC_URI=https://github.com/tsujan/FeatherPad/archive/V1.0.0.tar.gz -> featherpad-1.0.0.tar.gz
|
||||
_eclasses_=cmake 11fee991ab428a3370e5c20fa8231fb6 edos2unix 33e347e171066657f91f8b0c72ec8773 eutils dab5d8ec471d025b79c9e6906bcf3bff flag-o-matic 4134b5c0fb719b9161d10bdaba9e09e5 multilib 97566c1a256d07b00848aa767e38a352 multiprocessing 61c959fc55c15c00bbb1079d6a71370b ninja-utils a4dab848a4490e8e48cf0baab3e61bc2 strip-linguas ac3ee41ee2d31d8c41a77c0838320cc7 toolchain-funcs 9ea1c67b6f8315fdc2568abb674519aa wrapper 4251d4c84c25f59094fd557e0063a974 xdg 6024fbc93167fad782e2032933654857 xdg-utils 27f9a2f19502b925ac117bd657aa2979
|
||||
_md5_=2687a583e429bab6d15d7cc1c4ed99aa
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue