parent
1c55323fe2
commit
83df050a78
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST kontrast-21.04.3.tar.xz 123764 BLAKE2B 8788b3b0e479b39a2065be61ae2e4fdc34c393a12be6547b596be1dd60fce8d3c8a98b2d7bb8ac7626c75570c92b52cd13cbfec1c61470c09abba931e5c7d7ab SHA512 fc966e28e790d49e2c87d45c506a7cf5170115f6528821f8634ab2e767ba725b9c6934cdfec5a308c751ff1b83fc59bea31dc50a462a81d71f47652a8b974e2a
|
||||
DIST kontrast-21.08.3.tar.xz 125632 BLAKE2B 8734de15fcfd542d037cde92e6a80060e9c6628cd69d3cfee1f1f4c9b8938647d83924381966600ac9978acfa14723e0920c98f3ce2e666ddfdb624b8cc5f010 SHA512 193d372cdcecb3b90a352fb2deb24528d004c44e50c834e02a63c562eb97bd1f528fd81254bfc3ab7152edcc9894129eae7c6e1826a9ae42bc5ab22bf9a660c9
|
||||
DIST kontrast-21.11.90.tar.xz 124972 BLAKE2B 375ee104551ff79afdd8cd6cf0aea0b951cc5db360eba0c168146988062fe0c3f1849806b8f1e760081b83134368e1161680f9cb70c3d0d092d912586ffad63e SHA512 ad19a7a38df6420d60d34d933dc0ca7c4d4be283572fe276ff0d4715f73417ffa76f1083078d7d635509d524091e03618a02779ba9784323fbdcf1bc1af0990a
|
||||
|
Binary file not shown.
@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="https://pypi.org/project/awscli/"
|
||||
#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
|
||||
SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/aws-cli-${PV}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
|
||||
# botocore is x.(y+1).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests --install pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
distutils_install_for_testing
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit}
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST mkosi-11.tar.gz 165064 BLAKE2B 19a140fa355dff946dfd46369ccdcce369d97e5ef5c8a0917f21d1f5876c302e54b1e8e509d3cfa54d72a2b4d5b1d97abe74ff2232e3a8ca84005358ed6a99fa SHA512 c07b092e38e663100cfa00ce58c2b61d306292f69429835915310f9736e11ea1431ae2667e8fca02c2a145aa4f21bd199f956d2882913474c4cee394bb15a8f2
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>darwinskernel@gmail.com</email>
|
||||
<name>Paymon MARANDI</name>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,27 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1 optfeature
|
||||
|
||||
DESCRIPTION="Build Bespoke OS Images"
|
||||
HOMEPAGE="https://github.com/systemd/mkosi"
|
||||
SRC_URI="https://github.com/systemd/mkosi/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
RDEPEND="
|
||||
sys-apps/portage
|
||||
sys-apps/systemd
|
||||
dev-vcs/git
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "For debian support: " dev-util/debootstrap
|
||||
}
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST dolphin-plugins-21.04.3.tar.xz 253244 BLAKE2B c5c0e302dfc4eb82e2de1a635824bf8fd2c70bcac65c261253f0e52e7d9242fa339fe2dc619b927b0379477b2c80a22ec210080af8f2370e0a0182af3347df6a SHA512 e4beba0d596782951b149d42e930d76b12a36bea83f35eb0cff9e49b3e02d4b2aa55f4245d4b8708044a49770d477badc964752828eef4caeaefd4f16e5f9dad
|
||||
DIST dolphin-plugins-21.08.3.tar.xz 254604 BLAKE2B 9a7a9c7a1cf82d458c1fd0bbce6b47c233b8a7a20bd1d1696bc75d6b04c8e4a9d6464025d8ad39b3bb96b8dd428fb880a5d318f7c0d13ef3bc8bf24a42c24169 SHA512 2fb7fbd6490d768f3eb7d756429d858337b8088a7c87836ed4a54fc3f863f50c4973bbe2ae149d53d2769d7ce3c31fbd737bc4afc74fd14260a158da83992076
|
||||
DIST dolphin-plugins-21.11.90.tar.xz 254640 BLAKE2B c6755fc407b523759c0ac6c362311ee12322efd47e7a5ea4765ee08bc948e532b8e476d35ad2a16390be5150e2f94a5ce6d8cb185718160856bedc081cb4abca SHA512 7e2877666b41cf69dca6c4544a6bf9b6f0d6a09fbcc26c44ca0a3a4521caeda257af41a112ae6e26feb02d1ef7f63f7cd0f417b5b0f04367a65c83391f29dd64
|
||||
|
Binary file not shown.
@ -1,8 +1,3 @@
|
||||
DIST gnupg-2.2.16-scdaemon_shared-access.patch 2586 BLAKE2B 42fd5482c4e86751ce62836125997c2295c44bc5db0671a06460fd306b2ed93f290fb898fc1b1e463a863eddf9ab5f99ea3c90a55499ef45ca1ed6edf2854663 SHA512 38abaa4200114ae6b6f220fabc0a84a056761949c97bd0564557f4411a299b9a1939893555c27e26da2d8e8da4bc97a298fa7e68f1e80fe99c3f88cc329eaa84
|
||||
DIST gnupg-2.2.27.tar.bz2 7191555 BLAKE2B d652aad382cf07cc458b29ff82718edd47457d8236dcbeee51f22d88503be141f009e9ea45b6dafe614115d9558fe371509579e58ce17a5f04540a31aa406ea3 SHA512 cf336962116c9c08ac80b1299654b94948033ef51d6d5e7f54c2f07bbf7d92c7b0bddb606ceee2cdd837063f519b8d59af5a82816b840a0fc47d90c07b0e95ab
|
||||
DIST gnupg-2.2.29.tar.bz2 7215986 BLAKE2B 04b777730b8fcbe8d93dfc8985aadd6bc7385ac2ac9684e6248cb3ae6d008daae5aa976ffa3bae27fe9e89bc2c4c1d4ae81dcaa259fb08d13f894f00f12072e9 SHA512 12645e230fc6aa4811420ef33def6baa590e847ecdf7e5f8b96eb49122e6406cbdba4595d0b52fa26700d5d5def67acb4ed7dfe7f778e496d4d21ccbef3c476b
|
||||
DIST gnupg-2.2.31.tar.bz2 7212188 BLAKE2B 57a2b6c6ea491137a708e18a0119502621b7bdf0591818d19beb8b08a521a7dbf60472243e1723f53acbfb9a5de612b8e5040c45dc847bdda26012244edb11be SHA512 2f6fa200e08d6b8993b482e5825bea6083afc8686c4e1ae80386b36ae49e1c2d73066c508edaa359a7794cb26ba7a00f81555a906fa422d1117e41415cfa2fea
|
||||
DIST gnupg-2.2.32.tar.bz2 7212625 BLAKE2B 8e1feba83a0d8fa1c154c814e26b41aa252cef4af53937e4e8954860249c180c1d6910356b0c46dfefde094846b02bd5375f17c8b6fdcc9138281d0daa292d42 SHA512 76b75d3688561ce65a8014812656aa87c9722c898d7e186fdb1331dee6af32f886a6b0a4806975c348a22ad6dda60f956ece56076d00153b9706aad4c934c6a1
|
||||
DIST gnupg-2.2.33.tar.bz2 7238439 BLAKE2B 9655ab8733f79c56c706502ddeeb41a2841467146753965898528d53a95ba77c51bcaf7fb93c51fb1c36953253ef993e67ce3c9ec756c9eece1042dcd17aa455 SHA512 0e6382ebb78425dc81b280a3b453111fb4a764b3fb0565ac09ac24cec2ecd571079617e263d9fce077ba6ce8d202fb43425b51c26f9ec6e8c61706a1ca5f8c78
|
||||
DIST gnupg-2.3.2.tar.bz2 7589445 BLAKE2B f7e35ed553ea89cdb073abb1432f67fa00bb625f6e686e534f96bca11d88f09ea272b3cb0d6706e4bce2c023f8c5b8d628742aa2f60752a2e605132cd32f62ed SHA512 2747cbe38546f500d165f024ebb2dc5be70fa68d20702af3f61e97db685eba94caf65307293137c76ea6cfcc189ed24aaee025c80cd33f26609e5fe512bdda73
|
||||
DIST gnupg-2.3.3.tar.bz2 7590874 BLAKE2B a80a84b4f6691815550de6125f4f24aa9c901b8ca8eeb6bc91c90ccd3d285a5ddb15688c7ab870aa6a6c418eb98b969e7b958120c3976b5aaea55188f39b67b0 SHA512 12d500e6b45910d5f7bfd4916bcee37ac988a58a35563fcf425a65b88c0cf92c2af2e94d3e31e9e5e19094c8beb5ec3779cf90bfe43d1555c4196f69eee2f102
|
||||
|
@ -1,160 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic systemd toolchain-funcs
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="https://gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2
|
||||
scd-shared-access? ( https://raw.githubusercontent.com/GPGTools/MacGPG2/5ca182f54b7b6cd635d1c0a4713953834489fdd9/patches/gnupg/scdaemon_shared-access.patch -> ${PN}-2.2.16-scdaemon_shared-access.patch )"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="bzip2 doc ldap nls readline scd-shared-access selinux +smartcard ssl tofu tools usb user-socket wks-server"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
DEPEND=">=dev-libs/libassuan-2.5.0
|
||||
>=dev-libs/libgcrypt-1.8.0
|
||||
>=dev-libs/libgpg-error-1.29
|
||||
>=dev-libs/libksba-1.3.4
|
||||
>=dev-libs/npth-1.2
|
||||
>=net-misc/curl-7.10
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
ldap? ( net-nds/openldap )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
smartcard? ( usb? ( virtual/libusb:1 ) )
|
||||
ssl? ( >=net-libs/gnutls-3.0:0= )
|
||||
sys-libs/zlib
|
||||
tofu? ( >=dev-db/sqlite-3.7 )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
app-crypt/pinentry
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
wks-server? ( virtual/mta )"
|
||||
|
||||
BDEPEND="virtual/pkgconfig
|
||||
doc? ( sys-apps/texinfo )
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DOCS=(
|
||||
ChangeLog NEWS README THANKS TODO VERSION
|
||||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Made optional because it's a non-official patch
|
||||
if use scd-shared-access ; then
|
||||
# Patch taken from
|
||||
# https://github.com/GPGTools/MacGPG2/tree/dev/patches/gnupg
|
||||
eapply "${DISTDIR}/${PN}-2.2.16-scdaemon_shared-access.patch"
|
||||
fi
|
||||
|
||||
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
|
||||
# idea borrowed from libdbus, see
|
||||
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
|
||||
#
|
||||
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i doc/examples/systemd-user/gpg-agent-ssh.socket || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_enable bzip2)
|
||||
$(use_enable nls)
|
||||
$(use_enable smartcard scdaemon)
|
||||
$(use_enable ssl gnutls)
|
||||
$(use_enable tofu)
|
||||
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
|
||||
$(use_enable wks-server wks-tools)
|
||||
$(use_with ldap)
|
||||
$(use_with readline)
|
||||
--with-mailprog=/usr/libexec/sendmail
|
||||
--disable-ntbtls
|
||||
--enable-all-tests
|
||||
--enable-gpg
|
||||
--enable-gpgsm
|
||||
--enable-large-secmem
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
|
||||
KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
|
||||
LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
|
||||
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
|
||||
NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
|
||||
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
|
||||
)
|
||||
|
||||
if use prefix && use usb; then
|
||||
# bug #649598
|
||||
append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0"
|
||||
fi
|
||||
|
||||
#bug 663142
|
||||
if use user-socket; then
|
||||
myconf+=( --enable-run-gnupg-user-socket )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
[[ ${CC} == *clang ]] && \
|
||||
export gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
|
||||
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
|
||||
# by wks-client & wks-server; and if it's autodetected but not not exist at
|
||||
# build time, then then 'gpg-wks-client --send' functionality will not
|
||||
# work. This has an unwanted side-effect in stage3 builds: there was a
|
||||
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
|
||||
# the build where the install guide previously make the user chose the
|
||||
# logger & mta early in the install.
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
#Bug: 638574
|
||||
use tofu && export TESTFLAGS=--parallel
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
use tools &&
|
||||
dobin \
|
||||
tools/{convert-from-106,gpg-check-pattern} \
|
||||
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
|
||||
tools/make-dns-cert
|
||||
|
||||
dosym gpg /usr/bin/gpg2
|
||||
dosym gpgv /usr/bin/gpgv2
|
||||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
|
||||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
|
||||
|
||||
use doc && dodoc doc/gnupg.html/* doc/*.png
|
||||
|
||||
systemd_douserunit doc/examples/systemd-user/*.{service,socket}
|
||||
}
|
@ -1,152 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic systemd toolchain-funcs
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="https://gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb user-socket wks-server"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
DEPEND=">=dev-libs/libassuan-2.5.0
|
||||
>=dev-libs/libgcrypt-1.8.0
|
||||
>=dev-libs/libgpg-error-1.29
|
||||
>=dev-libs/libksba-1.3.4
|
||||
>=dev-libs/npth-1.2
|
||||
>=net-misc/curl-7.10
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
ldap? ( net-nds/openldap )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
smartcard? ( usb? ( virtual/libusb:1 ) )
|
||||
ssl? ( >=net-libs/gnutls-3.0:0= )
|
||||
sys-libs/zlib
|
||||
tofu? ( >=dev-db/sqlite-3.7 )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
app-crypt/pinentry
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
wks-server? ( virtual/mta )"
|
||||
|
||||
BDEPEND="virtual/pkgconfig
|
||||
doc? ( sys-apps/texinfo )
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DOCS=(
|
||||
ChangeLog NEWS README THANKS TODO VERSION
|
||||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
|
||||
# idea borrowed from libdbus, see
|
||||
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
|
||||
#
|
||||
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i doc/examples/systemd-user/gpg-agent-ssh.socket || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_enable bzip2)
|
||||
$(use_enable nls)
|
||||
$(use_enable smartcard scdaemon)
|
||||
$(use_enable ssl gnutls)
|
||||
$(use_enable tofu)
|
||||
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
|
||||
$(use_enable wks-server wks-tools)
|
||||
$(use_with ldap)
|
||||
$(use_with readline)
|
||||
--with-mailprog=/usr/libexec/sendmail
|
||||
--disable-ntbtls
|
||||
--enable-all-tests
|
||||
--enable-gpg
|
||||
--enable-gpgsm
|
||||
--enable-large-secmem
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
|
||||
KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
|
||||
LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
|
||||
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
|
||||
NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
|
||||
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
|
||||
)
|
||||
|
||||
if use prefix && use usb; then
|
||||
# bug #649598
|
||||
append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0"
|
||||
fi
|
||||
|
||||
#bug 663142
|
||||
if use user-socket; then
|
||||
myconf+=( --enable-run-gnupg-user-socket )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
[[ ${CC} == *clang ]] && \
|
||||
export gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
|
||||
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
|
||||
# by wks-client & wks-server; and if it's autodetected but not not exist at
|
||||
# build time, then then 'gpg-wks-client --send' functionality will not
|
||||
# work. This has an unwanted side-effect in stage3 builds: there was a
|
||||
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
|
||||
# the build where the install guide previously make the user chose the
|
||||
# logger & mta early in the install.
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
#Bug: 638574
|
||||
use tofu && export TESTFLAGS=--parallel
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
use tools &&
|
||||
dobin \
|
||||
tools/{convert-from-106,gpg-check-pattern} \
|
||||
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
|
||||
tools/make-dns-cert
|
||||
|
||||
dosym gpg /usr/bin/gpg2
|
||||
dosym gpgv /usr/bin/gpgv2
|
||||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
|
||||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
|
||||
|
||||
use doc && dodoc doc/gnupg.html/* doc/*.png
|
||||
|
||||
systemd_douserunit doc/examples/systemd-user/*.{service,socket}
|
||||
}
|
@ -1,152 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic systemd toolchain-funcs
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="https://gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb user-socket wks-server"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
DEPEND=">=dev-libs/libassuan-2.5.0
|
||||
>=dev-libs/libgcrypt-1.8.0
|
||||
>=dev-libs/libgpg-error-1.29
|
||||
>=dev-libs/libksba-1.3.4
|
||||
>=dev-libs/npth-1.2
|
||||
>=net-misc/curl-7.10
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
ldap? ( net-nds/openldap )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
smartcard? ( usb? ( virtual/libusb:1 ) )
|
||||
ssl? ( >=net-libs/gnutls-3.0:0= )
|
||||
sys-libs/zlib
|
||||
tofu? ( >=dev-db/sqlite-3.7 )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
app-crypt/pinentry
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
wks-server? ( virtual/mta )"
|
||||
|
||||
BDEPEND="virtual/pkgconfig
|
||||
doc? ( sys-apps/texinfo )
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DOCS=(
|
||||
ChangeLog NEWS README THANKS TODO VERSION
|
||||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
|
||||
# idea borrowed from libdbus, see
|
||||
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
|
||||
#
|
||||
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i doc/examples/systemd-user/gpg-agent-ssh.socket || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_enable bzip2)
|
||||
$(use_enable nls)
|
||||
$(use_enable smartcard scdaemon)
|
||||
$(use_enable ssl gnutls)
|
||||
$(use_enable tofu)
|
||||
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
|
||||
$(use_enable wks-server wks-tools)
|
||||
$(use_with ldap)
|
||||
$(use_with readline)
|
||||
--with-mailprog=/usr/libexec/sendmail
|
||||
--disable-ntbtls
|
||||
--enable-all-tests
|
||||
--enable-gpg
|
||||
--enable-gpgsm
|
||||
--enable-large-secmem
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
|
||||
KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
|
||||
LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
|
||||
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
|
||||
NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
|
||||
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
|
||||
)
|
||||
|
||||
if use prefix && use usb; then
|
||||
# bug #649598
|
||||
append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0"
|
||||
fi
|
||||
|
||||
#bug 663142
|
||||
if use user-socket; then
|
||||
myconf+=( --enable-run-gnupg-user-socket )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
[[ ${CC} == *clang ]] && \
|
||||
export gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
|
||||
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
|
||||
# by wks-client & wks-server; and if it's autodetected but not not exist at
|
||||
# build time, then then 'gpg-wks-client --send' functionality will not
|
||||
# work. This has an unwanted side-effect in stage3 builds: there was a
|
||||
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
|
||||
# the build where the install guide previously make the user chose the
|
||||
# logger & mta early in the install.
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
#Bug: 638574
|
||||
use tofu && export TESTFLAGS=--parallel
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
use tools &&
|
||||
dobin \
|
||||
tools/{convert-from-106,gpg-check-pattern} \
|
||||
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
|
||||
tools/make-dns-cert
|
||||
|
||||
dosym gpg /usr/bin/gpg2
|
||||
dosym gpgv /usr/bin/gpgv2
|
||||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
|
||||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
|
||||
|
||||
use doc && dodoc doc/gnupg.html/* doc/*.png
|
||||
|
||||
systemd_douserunit doc/examples/systemd-user/*.{service,socket}
|
||||
}
|
@ -1,153 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic systemd toolchain-funcs
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
|
||||
HOMEPAGE="https://gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="bzip2 doc ldap nls readline selinux +smartcard ssl tofu tools usb user-socket wks-server"
|
||||
|
||||
# Existence of executables is checked during configuration.
|
||||
DEPEND=">=dev-libs/libassuan-2.5.0
|
||||
>=dev-libs/libgcrypt-1.9.1
|
||||
>=dev-libs/libgpg-error-1.29
|
||||
>=dev-libs/libksba-1.3.4
|
||||
>=dev-libs/npth-1.2
|
||||
>=net-misc/curl-7.10
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
ldap? ( net-nds/openldap )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
smartcard? ( usb? ( virtual/libusb:1 ) )
|
||||
tofu? ( >=dev-db/sqlite-3.27 )
|
||||
ssl? ( >=net-libs/gnutls-3.0:0= )
|
||||
sys-libs/zlib
|
||||
"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
app-crypt/pinentry
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
wks-server? ( virtual/mta )"
|
||||
|
||||
BDEPEND="virtual/pkgconfig
|
||||
doc? ( sys-apps/texinfo )
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
DOCS=(
|
||||
ChangeLog NEWS README THANKS TODO VERSION
|
||||
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
|
||||
# idea borrowed from libdbus, see
|
||||
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
|
||||
#
|
||||
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
|
||||
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
|
||||
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
|
||||
-i doc/examples/systemd-user/gpg-agent-ssh.socket || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_enable bzip2)
|
||||
$(use_enable nls)
|
||||
$(use_enable smartcard scdaemon)
|
||||
$(use_enable ssl gnutls)
|
||||
$(use_enable tofu)
|
||||
$(use_enable tofu keyboxd)
|
||||
$(use_enable tofu sqlite)
|
||||
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
|
||||
$(use_enable wks-server wks-tools)
|
||||
$(use_with ldap)
|
||||
$(use_with readline)
|
||||
--with-mailprog=/usr/libexec/sendmail
|
||||
--disable-ntbtls
|
||||
--enable-all-tests
|
||||
--enable-gpgsm
|
||||
--enable-large-secmem
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
|
||||
KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
|
||||
LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
|
||||
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
|
||||
NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
|
||||
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
|
||||
)
|
||||
|
||||
if use prefix && use usb; then
|
||||
# bug #649598
|
||||
append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0"
|
||||
fi
|
||||
|
||||
#bug 663142
|
||||
if use user-socket; then
|
||||
myconf+=( --enable-run-gnupg-user-socket )
|
||||
fi
|
||||
|
||||
# glib fails and picks up clang's internal stdint.h causing weird errors
|
||||
[[ ${CC} == *clang ]] && \
|
||||
export gl_cv_absolute_stdint_h=/usr/include/stdint.h
|
||||
|
||||
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
|
||||
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
|
||||
# by wks-client & wks-server; and if it's autodetected but not not exist at
|
||||
# build time, then then 'gpg-wks-client --send' functionality will not
|
||||
# work. This has an unwanted side-effect in stage3 builds: there was a
|
||||
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
|
||||
# the build where the install guide previously make the user chose the
|
||||
# logger & mta early in the install.
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
#Bug: 638574
|
||||
use tofu && export TESTFLAGS=--parallel
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
use tools &&
|
||||
dobin \
|
||||
tools/{convert-from-106,gpg-check-pattern} \
|
||||
tools/{gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
|
||||
tools/make-dns-cert
|
||||
|
||||
dosym gpg /usr/bin/gpg2
|
||||
dosym gpgv /usr/bin/gpgv2
|
||||
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
|
||||
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
|
||||
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
|
||||
|
||||
use doc && dodoc doc/gnupg.html/* doc/*.png
|
||||
|
||||
systemd_douserunit doc/examples/systemd-user/*.{service,socket}
|
||||
}
|
Binary file not shown.
@ -1,7 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>hattya@gentoo.org</email>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>hattya@gentoo.org</email>
|
||||
<name>Akinori Hattori</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,81 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit linux-info
|
||||
|
||||
DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
|
||||
HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
|
||||
)
|
||||
arm64? (
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
|
||||
)"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
|
||||
RESTRICT="test strip"
|
||||
|
||||
RDEPEND="!app-emulation/firecracker
|
||||
acct-group/kvm"
|
||||
|
||||
QA_PREBUILT="usr/bin/firecracker
|
||||
usr/bin/jailer
|
||||
usr/bin/seccompiler-bin"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 4 14; then
|
||||
eerror "Firecracker requires a host kernel of 4.14 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use"
|
||||
ERROR_TUN+=" virtual network devices."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
|
||||
if use amd64 || use amd64-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
if use amd64; then
|
||||
my_arch=x86_64
|
||||
elif use arm64; then
|
||||
my_arch=aarch64
|
||||
fi
|
||||
|
||||
dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
|
||||
dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
|
||||
|
||||
newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
|
||||
newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
|
||||
newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,45 @@
|
||||
From 29864795b194481dd0446326cda89b9802f4fe51 Mon Sep 17 00:00:00 2001
|
||||
From: David Carlier <devnexen@gmail.com>
|
||||
Date: Sat, 8 May 2021 11:23:32 +0100
|
||||
Subject: [PATCH] musl build fix proposal
|
||||
|
||||
--- a/linux/arch.c
|
||||
+++ b/linux/arch.c
|
||||
@@ -34,7 +34,9 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#if defined(__GLIBC__)
|
||||
#include <sys/cdefs.h>
|
||||
+#endif
|
||||
#include <sys/personality.h>
|
||||
#include <sys/prctl.h>
|
||||
#include <sys/syscall.h>
|
||||
--- a/linux/perf.c
|
||||
+++ b/linux/perf.c
|
||||
@@ -30,12 +30,12 @@
|
||||
#include <linux/hw_breakpoint.h>
|
||||
#include <linux/perf_event.h>
|
||||
#include <linux/sysctl.h>
|
||||
+#include <poll.h>
|
||||
#include <signal.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mman.h>
|
||||
-#include <sys/poll.h>
|
||||
#include <sys/ptrace.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <unistd.h>
|
||||
--- a/linux/trace.c
|
||||
+++ b/linux/trace.c
|
||||
@@ -34,7 +34,9 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#if defined(__GLIBC__)
|
||||
#include <sys/cdefs.h>
|
||||
+#endif
|
||||
#include <sys/personality.h>
|
||||
#include <sys/ptrace.h>
|
||||
#include <sys/resource.h>
|
@ -0,0 +1,24 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
+AC_USE_SYSTEM_EXTENSIONS
|
||||
+
|
||||
AM_PROG_CC_C_O
|
||||
AC_PROG_CPP
|
||||
AC_PROG_LIBTOOL
|
||||
@@ -172,6 +174,12 @@
|
||||
AC_TRY_COMPILE(
|
||||
[#define _LARGEFILE64_SOURCE
|
||||
#define _LARGEFILE_SOURCE
|
||||
+ #include <stdio.h>],
|
||||
+ [fpos64_t x; long long int y = x.__lldata;],
|
||||
+ [ac_v_fpos64_t="(x).__lldata"])
|
||||
+AC_TRY_COMPILE(
|
||||
+ [#define _LARGEFILE64_SOURCE
|
||||
+ #define _LARGEFILE_SOURCE
|
||||
#include <stdio.h>],
|
||||
[fpos64_t x; long long int y = (long long int)x;],
|
||||
[ac_v_fpos64_t="(x)"])
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST ibus-anthy-1.5.12.tar.gz 825323 BLAKE2B 4d81a5885e4ad6cfc7a10ecb61bf998a76c24049e58841f84ed31f45a8ab5e91cfd2c60be3a66008f97317047487bedcf956b9126fa17602c6f8a29950687b84 SHA512 6950a2865e4753831f8918f4a5926571bc8304454b6368662ef56a6fb11a60f0675e3d589108ebfd38cb5d193f7b61053a10baa6dad23adad67b3b3fc58760e8
|
||||
DIST ibus-anthy-1.5.13.tar.gz 265252 BLAKE2B d35299dba3260b85f80f259e0a40ea1ec061ed8082b6e5c872eab6398b6242342b2ee4da0c3b191aa428ae2d8dc652b0e414fd0c9f7b93ca8dcd6303c0586b4d SHA512 058feb49b2fe50ae3ca959f4754b8070f3ebc1e6727fef4bca791aa45a23c95018000e2a8bca496d6592b052298a6fb2869a07c2cc56cc473c81cc437efa175b
|
||||
|
@ -1,71 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
PYTHON_COMPAT=( python3_{8,9} )
|
||||
|
||||
inherit gnome2-utils python-single-r1 xdg
|
||||
|
||||
DESCRIPTION="Japanese Anthy engine for IBus"
|
||||
HOMEPAGE="https://github.com/ibus/ibus/wiki"
|
||||
SRC_URI="https://github.com/ibus/${PN}/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~ppc x86"
|
||||
IUSE="nls"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
app-i18n/anthy
|
||||
$(python_gen_cond_dep '
|
||||
app-i18n/ibus[python(+),${PYTHON_USEDEP}]
|
||||
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
||||
')
|
||||
nls? ( virtual/libintl )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig
|
||||
sys-devel/gettext"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
gnome2_environment_reset
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable nls) \
|
||||
--enable-private-png \
|
||||
--with-layout=default \
|
||||
--with-python=${EPYTHON}
|
||||
}
|
||||
|
||||
src_test() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
|
||||
python_optimize
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
gnome2_schemas_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
|
||||
if ! has_version app-dicts/kasumi; then
|
||||
elog "app-dicts/kasumi is not required but probably useful for you."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST fmawk-1.2.tar.gz 23399 BLAKE2B f4c20c8f1569a6715710a5cef02a767152694ef7e216c9fe707c7ac57c20dd012189db14777d47a980008255c7f51b5c165cdf086c41835a7ce550b758a8f350 SHA512 86d56e1cc893c385a0bb338957a9ef698c0edef4587e6d3a21aa316fd996fa3b1416220e5c235d613876a3d19650e8e7a20bf991a4ce67ce9759a362d2aaac30
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit optfeature
|
||||
|
||||
DESCRIPTION="File manager written in awk"
|
||||
HOMEPAGE="https://github.com/huijunchen9260/fm.awk/"
|
||||
|
||||
if [[ "${PV}" == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/huijunchen9260/fm.awk.git"
|
||||
else
|
||||
SRC_URI="https://github.com/huijunchen9260/fm.awk/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/fm.awk-${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="virtual/awk"
|
||||
|
||||
src_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local bin
|
||||
for bin in fm.awk fmawk fmawk-previewer; do
|
||||
dobin ${bin}
|
||||
done
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "PDFs preview" app-text/poppler
|
||||
optfeature "images preview" media-gfx/chafa
|
||||
optfeature "videos preview" media-video/ffmpegthumbnailer
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit optfeature
|
||||
|
||||
DESCRIPTION="File manager written in awk"
|
||||
HOMEPAGE="https://github.com/huijunchen9260/fm.awk/"
|
||||
|
||||
if [[ "${PV}" == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/huijunchen9260/fm.awk.git"
|
||||
else
|
||||
SRC_URI="https://github.com/huijunchen9260/fm.awk/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/fm.awk-${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="virtual/awk"
|
||||
|
||||
src_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "PDFs preview" app-text/poppler
|
||||
optfeature "images preview" media-gfx/chafa
|
||||
optfeature "videos preview" media-video/ffmpegthumbnailer
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>xgqt@gentoo.org</email>
|
||||
<name>Maciej Barć</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
FMAWK is a experimental file manager written almost entirely in the awk
|
||||
programming language. Though written in awk, in terms of features it is
|
||||
comparable to other terminal file managers such as fff, nnn or ranger.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/huijunchen9260/fm.awk/issues</bugs-to>
|
||||
<remote-id type="github">huijunchen9260/fm.awk</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST master-pdf-editor-5.7.90-qt5.x86_64.tar.gz 15962243 BLAKE2B 4331a5d17ed9a0ff7a70c353907a4c0d5e99db447760f6103d412eabe0064b1e4ac59ca85bb0cab2bffc5867c8ccde96f68e7ceee227b7b319d93b70482f233d SHA512 823c7212cd3d469bb972e7da66e6eada31149c0bab2a6c577e537ca203862d0fe862e8c9b0cbb479eca0557da4b69a91a88ae0c9215d3b5f105288a9c6c1f2bf
|
||||
DIST master-pdf-editor-5.8.06-qt5.x86_64.tar.gz 15975595 BLAKE2B 627a4a1f551ffe13917f44768dc6b990d3582a5c2c7d6b7670c94fd880882dcec93c8ccca69240ecb568a7ab20d752180c2981870e5d5671d69c404a7b99c791 SHA512 dd079d11d570909faaf1129342d075550dca3095c5a76748f6f77e2e7df50ec4b46646c5edf40fd2d2f783baaa602fee292dd2fd54ac94fa723e3a40c454e7ad
|
||||
DIST master-pdf-editor-5.8.20-qt5.x86_64.tar.gz 16755926 BLAKE2B 7694b825ca846767a0bf776fdd637595d4bd9fe8a9525c2212be7cd186aa230fe6446e157dabdf0a6c2314b49f2a987d2a0b62ac377bec1e3f3e58302668c05d SHA512 006478e65f55e2e24afd9f9581cd3f3ea8cc38c156a7e5c62410fa5bbb94482b627ca4645cbb91d3fdcdda1a779ccda6825107ba65b60b8d50d034b409eabd61
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop xdg
|
||||
|
||||
DESCRIPTION="A complete solution for viewing and editing PDF files"
|
||||
HOMEPAGE="https://code-industry.net/free-pdf-editor/"
|
||||
SRC_URI="https://code-industry.net/public/${P}-qt5.x86_64.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${PV%%.*}"
|
||||
|
||||
LICENSE="master-pdf-editor"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
RESTRICT="mirror"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-qt/qtcore-5.12.9:5
|
||||
>=dev-qt/qtgui-5.12.9:5
|
||||
>=dev-qt/qtnetwork-5.12.9:5
|
||||
>=dev-qt/qtprintsupport-5.12.9:5
|
||||
>=dev-qt/qtsvg-5.12.9:5
|
||||
dev-qt/qtwidgets:5
|
||||
media-libs/libglvnd
|
||||
>=media-gfx/sane-backends-1.0
|
||||
"
|
||||
|
||||
QA_PREBUILT="opt/${PN}/masterpdfeditor5"
|
||||
|
||||
src_install() {
|
||||
insinto /opt/${PN}
|
||||
doins -r fonts lang stamps templates masterpdfeditor5.png
|
||||
|
||||
exeinto /opt/${PN}
|
||||
doexe masterpdfeditor5
|
||||
dosym ../${PN}/masterpdfeditor5 /opt/bin/masterpdfeditor5
|
||||
|
||||
make_desktop_entry "masterpdfeditor5 %f" \
|
||||
"Master PDF Editor ${PV}" /opt/${PN}/masterpdfeditor5.png \
|
||||
"Office;Graphics;Viewer" \
|
||||
"MimeType=application/pdf;application/x-bzpdf;application/x-gzpdf;\nTerminal=false"
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST jnr-ffi-2.0.2.tar.gz 170707 BLAKE2B fc4f1dcea51939b6098b980b4962380e58ba590ea9d4cdba7823c1372bd645d985ae25d8ebf1f0b575a0e4b5c192e5595094076d3cd44e4bb3c077dd838c170f SHA512 80a932408f5ceaf19fd7a399b786aa0d7b9251ea144bc2755bcf3cdc3aea85615a1faa001bbcd3072bc0eead2aaa30d0bbead5f96c82c4b9e455c1ed1379b4c0
|
||||
DIST jnr-ffi-2.2.8-sources.tar.gz 261959 BLAKE2B 16f7b89c88a61fa07da65d4e5287258f96550b93898bb7313ddd62d1f002276da86aca2c79874eccb466eaebcad5181ff33539996a6558b6d79ce9280cf9c0a9 SHA512 15187d90f15ad82cb6cac0617806ab7d0322bfcb4f44523f2272f93f19ec115625806c9d450bffaa57db32c70906328c8edc905046465b0ec3eb6ff52e500b42
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- a/src/test/java/jnr/ffi/ObjectReferenceManagerTest.java
|
||||
+++ b/src/test/java/jnr/ffi/ObjectReferenceManagerTest.java
|
||||
@@ -35,7 +35,7 @@
|
||||
Pointer ptr = referenceManager.add(bar);
|
||||
Pointer ptr2 = referenceManager.add(bar2);
|
||||
assertNotSame(ptr, ptr2);
|
||||
- assertNotEquals(ptr, ptr2);
|
||||
+ assertTrue(!ptr.equals(ptr2));
|
||||
assertSame(bar, referenceManager.get(ptr));
|
||||
assertSame(bar2, referenceManager.get(ptr2));
|
||||
}
|
@ -0,0 +1,250 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- ===================== - DO NOT EDIT THIS FILE! - ===================== -->
|
||||
<!-- ====================================================================== -->
|
||||
<!-- -->
|
||||
<!-- Any modifications will be overwritten. -->
|
||||
<!-- -->
|
||||
<!-- Generated by Maven Ant Plugin on 1/9/12 11:18 AM -->
|
||||
<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ -->
|
||||
<!-- -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<project name="jnr-ffi-from-maven" default="package" basedir=".">
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Build environment properties -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<property file="${user.home}/.m2/maven.properties"/>
|
||||
<property file="maven-build.properties"/>
|
||||
|
||||
<property name="maven.build.finalName" value="jnr-ffi-0.6.0"/>
|
||||
<property name="maven.build.dir" value="target"/>
|
||||
<property name="maven.build.outputDir" value="${maven.build.dir}/classes"/>
|
||||
<property name="maven.build.srcDir.0" value="src/main/java"/>
|
||||
<property name="maven.build.resourceDir.0" value="src/main/resources"/>
|
||||
<property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes"/>
|
||||
<property name="maven.build.testDir.0" value="src/test/java"/>
|
||||
<property name="maven.build.testResourceDir.0" value="src/test/resources"/>
|
||||
<property name="maven.test.reports" value="${maven.build.dir}/test-reports"/>
|
||||
<property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site"/>
|
||||
|
||||
<property name="maven.repo.local" value="${user.home}/.m2/repository"/>
|
||||
<property name="maven.settings.offline" value="false"/>
|
||||
<property name="maven.settings.interactiveMode" value="true"/>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Defining classpaths -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<path id="build.classpath">
|
||||
<pathelement location="${maven.repo.local}/com/github/jnr/jffi/1.0.11/jffi-1.0.11.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm/3.2/asm-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-commons/3.2/asm-commons-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-analysis/3.2/asm-analysis-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-tree/3.2/asm-tree-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-util/3.2/asm-util-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/com/github/jnr/jnr-x86asm/1.0.1/jnr-x86asm-1.0.1.jar"/>
|
||||
</path>
|
||||
<path id="build.test.classpath">
|
||||
<pathelement location="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/com/github/jnr/jffi/1.0.11/jffi-1.0.11.jar"/>
|
||||
<pathelement location="${maven.repo.local}/com/github/jnr/jffi/1.0.11/jffi-1.0.11-native.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm/3.2/asm-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-commons/3.2/asm-commons-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-analysis/3.2/asm-analysis-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-tree/3.2/asm-tree-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/asm/asm-util/3.2/asm-util-3.2.jar"/>
|
||||
<pathelement location="${maven.repo.local}/com/github/jnr/jnr-x86asm/1.0.1/jnr-x86asm-1.0.1.jar"/>
|
||||
</path>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Cleaning up target -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="clean" description="Clean the output directory">
|
||||
<delete dir="${maven.build.dir}"/>
|
||||
</target>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Compilation target -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="compile" depends="get-deps" description="Compile the code">
|
||||
<mkdir dir="${maven.build.outputDir}"/>
|
||||
<javac destdir="${maven.build.outputDir}"
|
||||
nowarn="false"
|
||||
debug="true"
|
||||
optimize="false"
|
||||
deprecation="true"
|
||||
target="1.1"
|
||||
verbose="false"
|
||||
fork="false"
|
||||
source="1.3">
|
||||
<src>
|
||||
<pathelement location="${maven.build.srcDir.0}"/>
|
||||
</src>
|
||||
<classpath refid="build.classpath"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Test-compilation target -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="compile-tests"
|
||||
depends="compile"
|
||||
description="Compile the test code"
|
||||
unless="maven.test.skip">
|
||||
<mkdir dir="${maven.build.testOutputDir}"/>
|
||||
<javac destdir="${maven.build.testOutputDir}"
|
||||
nowarn="false"
|
||||
debug="true"
|
||||
optimize="false"
|
||||
deprecation="true"
|
||||
target="1.1"
|
||||
verbose="false"
|
||||
fork="false"
|
||||
source="1.3">
|
||||
<src>
|
||||
<pathelement location="${maven.build.testDir.0}"/>
|
||||
</src>
|
||||
<classpath>
|
||||
<path refid="build.test.classpath"/>
|
||||
<pathelement location="${maven.build.outputDir}"/>
|
||||
</classpath>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Run all tests -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="test"
|
||||
depends="compile-tests, junit-missing"
|
||||
unless="junit.skipped"
|
||||
description="Run the test cases">
|
||||
<mkdir dir="${maven.test.reports}"/>
|
||||
<junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
|
||||
<sysproperty key="basedir" value="."/>
|
||||
<formatter type="xml"/>
|
||||
<formatter type="plain" usefile="false"/>
|
||||
<classpath>
|
||||
<path refid="build.test.classpath"/>
|
||||
<pathelement location="${maven.build.outputDir}"/>
|
||||
<pathelement location="${maven.build.testOutputDir}"/>
|
||||
</classpath>
|
||||
<batchtest todir="${maven.test.reports}" unless="test">
|
||||
<fileset dir="${maven.build.testDir.0}">
|
||||
<include name="**/Test*.java"/>
|
||||
<include name="**/*Test.java"/>
|
||||
<include name="**/*TestCase.java"/>
|
||||
<exclude name="**/*Abstract*Test.java"/>
|
||||
</fileset>
|
||||
</batchtest>
|
||||
<batchtest todir="${maven.test.reports}" if="test">
|
||||
<fileset dir="${maven.build.testDir.0}">
|
||||
<include name="**/${test}.java"/>
|
||||
<exclude name="**/*Abstract*Test.java"/>
|
||||
</fileset>
|
||||
</batchtest>
|
||||
</junit>
|
||||
</target>
|
||||
|
||||
<target name="test-junit-present">
|
||||
<available classname="junit.framework.Test" property="junit.present"/>
|
||||
</target>
|
||||
|
||||
<target name="test-junit-status"
|
||||
depends="test-junit-present">
|
||||
<condition property="junit.missing">
|
||||
<and>
|
||||
<isfalse value="${junit.present}"/>
|
||||
<isfalse value="${maven.test.skip}"/>
|
||||
</and>
|
||||
</condition>
|
||||
<condition property="junit.skipped">
|
||||
<or>
|
||||
<isfalse value="${junit.present}"/>
|
||||
<istrue value="${maven.test.skip}"/>
|
||||
</or>
|
||||
</condition>
|
||||
</target>
|
||||
|
||||
<target name="junit-missing"
|
||||
depends="test-junit-status"
|
||||
if="junit.missing">
|
||||
<echo>=================================== WARNING ===================================</echo>
|
||||
<echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo>
|
||||
<echo>===============================================================================</echo>
|
||||
</target>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Javadoc target -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="javadoc" description="Generates the Javadoc of the application">
|
||||
<javadoc sourcepath="${maven.build.srcDir.0}"
|
||||
packagenames="*"
|
||||
destdir="${maven.reporting.outputDirectory}/apidocs"
|
||||
access="protected"
|
||||
old="false"
|
||||
verbose="false"
|
||||
version="true"
|
||||
use="true"
|
||||
author="true"
|
||||
splitindex="false"
|
||||
nodeprecated="false"
|
||||
nodeprecatedlist="false"
|
||||
notree="false"
|
||||
noindex="false"
|
||||
nohelp="false"
|
||||
nonavbar="false"
|
||||
serialwarn="false"
|
||||
charset="ISO-8859-1"
|
||||
linksource="false"
|
||||
breakiterator="false"/>
|
||||
</target>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Package target -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="package" depends="compile,test" description="Package the application">
|
||||
<jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar"
|
||||
compress="true"
|
||||
index="false"
|
||||
basedir="${maven.build.outputDir}"
|
||||
excludes="**/package.html"/>
|
||||
</target>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- A dummy target for the package named after the type it creates -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="jar" depends="package" description="Builds the jar for the application"/>
|
||||
|
||||
<!-- ====================================================================== -->
|
||||
<!-- Download dependencies target -->
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<target name="test-offline">
|
||||
<condition property="maven.mode.offline">
|
||||
<equals arg1="${maven.settings.offline}" arg2="true"/>
|
||||
</condition>
|
||||
</target>
|
||||
|
||||
<target name="get-deps"
|
||||
depends="test-offline"
|
||||
description="Download all dependencies"
|
||||
unless="maven.mode.offline">
|
||||
<!-- removed -->
|
||||
</target>
|
||||
|
||||
</project>
|
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
JAVA_PKG_IUSE="doc source test"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="An abstracted interface to invoking native functions from java"
|
||||
HOMEPAGE="https://github.com/jnr/jnr-ffi"
|
||||
SRC_URI="https://github.com/jnr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 LGPL-3 )"
|
||||
SLOT="2"
|
||||
KEYWORDS="~ppc64"
|
||||
|
||||
COMMON_DEP="
|
||||
~dev-java/jffi-1.2.9:1.2
|
||||
dev-java/jnr-x86asm:1.0
|
||||
dev-java/asm:4"
|
||||
|
||||
RDEPEND="${COMMON_DEP}
|
||||
>=virtual/jre-1.8:*"
|
||||
|
||||
DEPEND="${COMMON_DEP}
|
||||
>=virtual/jdk-1.8:*
|
||||
test? (
|
||||
dev-java/ant-junit:0
|
||||
>=dev-java/junit-4.8:4
|
||||
)"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die
|
||||
eapply "${FILESDIR}"/${P}-junit48.patch
|
||||
}
|
||||
|
||||
JAVA_ANT_REWRITE_CLASSPATH="yes"
|
||||
JAVA_ANT_CLASSPATH_TAGS="${JAVA_ANT_CLASSPATH_TAGS} javadoc"
|
||||
JAVA_ANT_ENCODING="UTF-8"
|
||||
|
||||
EANT_GENTOO_CLASSPATH="asm-4,jffi-1.2,jnr-x86asm-1.0"
|
||||
EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}"
|
||||
|
||||
EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4"
|
||||
|
||||
src_test() {
|
||||
# build native test library
|
||||
emake BUILD_DIR=build -f libtest/GNUmakefile
|
||||
|
||||
_JAVA_OPTIONS="-Djnr.ffi.library.path=build" \
|
||||
java-pkg-2_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar target/${PN}.jar
|
||||
|
||||
use doc && java-pkg_dojavadoc target/site/apidocs
|
||||
use source && java-pkg_dosrc src/main/java/*
|
||||
}
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST fennel-0.9.1.tar.gz 203441 BLAKE2B 74f461b3e7a24cdae0c8dde590814cb9753a12ab62e797746cc8753d178007a09084037e443d8309fa11ff309a5c6bf6c2e369942ef357aa0402883cef278542 SHA512 87e7ffbef0b49499a93255f50e77f53b9be4faa6d4609d8d65e3a64470bbf07b49a55e7dd547fda4b0e5fe0f4f1e6ece18282cc89955a57ed0a50be8dc01261c
|
@ -0,0 +1,32 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
LUA_COMPAT=( lua5-{1,3,4} luajit )
|
||||
|
||||
inherit lua-single
|
||||
|
||||
DESCRIPTION="Lisp-like language that compiles to Lua"
|
||||
HOMEPAGE="https://fennel-lang.org/"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://git.sr.ht/~technomancy/fennel"
|
||||
else
|
||||
SRC_URI="https://git.sr.ht/~technomancy/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${LUA_DEPS}"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_install() {
|
||||
emake LUA_LIB_DIR="${ED}/$(lua_get_lmod_dir)" PREFIX="${ED}/usr" install
|
||||
doman ${PN}.1
|
||||
dodoc *.md
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>xgqt@gentoo.org</email>
|
||||
<name>Maciej Barć</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Fennel is a lisp that compiles to Lua. It aims to be easy to use,
|
||||
expressive, and has almost zero overhead compared to handwritten Lua.
|
||||
|
||||
- Full Lua compatibility - You can use any function or library from Lua.
|
||||
- Zero overhead - Compiled code should be just as or more efficient
|
||||
than hand-written Lua.
|
||||
- Compile-time macros - Ship compiled code with no runtime dependency
|
||||
on Fennel.
|
||||
- Embeddable - Fennel is a one-file library as well as an executable.
|
||||
Embed it in other programs to support runtime extensibility and
|
||||
interactive development.
|
||||
|
||||
At https://fennel-lang.org there's a live in-browser REPL you can use
|
||||
without installing anything.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/bakpakin/Fennel/issues</bugs-to>
|
||||
<remote-id type="github">bakpakin/Fennel</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1 +1,2 @@
|
||||
DIST go1.17.2.src.tar.gz 22182111 BLAKE2B 83b665af212f3e20dc9c9f4bd80ac0e1e4acb8ba6653835f6a8b990a5d6074a25ba78b783f7a4f9402b3f1916a65ddba4ad9780e4eae871719cff13f7bb9c980 SHA512 167220293e02d6994b5cdee5909cbdbe66f692619baeb6ff9ee0d56660eb39cfd9eac2ac510f113d5222dadd5858fd6276bd961365ca42b42c07af5d24d48107
|
||||
DIST go1.17.3.src.tar.gz 22183309 BLAKE2B 1cb2960f67335f0022900cdab5dd70bcb52f15c2d311ea2dd99a0205af518741d9642741ea1bb5fea870239d6c971e6c69053a195e6a72e7440c8bdd3a0c085c SHA512 a2793efefe3f7e89054453cada03c25a900a4a6b71b2dfa0f5f33c1d8946711c983067dd54021faa5605074708db8e4225d104be703d307f3dbcc6035410acbd
|
||||
|
@ -0,0 +1,197 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
export CBUILD=${CBUILD:-${CHOST}}
|
||||
export CTARGET=${CTARGET:-${CHOST}}
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
case ${PV} in
|
||||
*9999*)
|
||||
EGIT_REPO_URI="https://github.com/golang/go.git"
|
||||
inherit git-r3
|
||||
;;
|
||||
*)
|
||||
SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
|
||||
S="${WORKDIR}"/go
|
||||
case ${PV} in
|
||||
*_beta*|*_rc*) ;;
|
||||
*)
|
||||
KEYWORDS="-* amd64 arm arm64 ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
|
||||
HOMEPAGE="https://golang.org"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="cpu_flags_x86_sse2"
|
||||
|
||||
BDEPEND="|| (
|
||||
dev-lang/go
|
||||
dev-lang/go-bootstrap )"
|
||||
RDEPEND="!<dev-go/go-tools-0_pre20150902"
|
||||
|
||||
# the *.syso files have writable/executable stacks
|
||||
QA_EXECSTACK='*.syso'
|
||||
|
||||
# Do not complain about CFLAGS, etc, since Go doesn't use them.
|
||||
QA_FLAGS_IGNORED='.*'
|
||||
|
||||
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
|
||||
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
|
||||
|
||||
# This package triggers "unrecognized elf file(s)" notices on riscv.
|
||||
# https://bugs.gentoo.org/794046
|
||||
QA_PREBUILT='.*'
|
||||
|
||||
# Do not strip this package. Stripping is unsupported upstream and may
|
||||
# fail.
|
||||
RESTRICT+=" strip"
|
||||
|
||||
DOCS=(
|
||||
AUTHORS
|
||||
CONTRIBUTING.md
|
||||
CONTRIBUTORS
|
||||
PATENTS
|
||||
README.md
|
||||
)
|
||||
|
||||
go_arch() {
|
||||
# By chance most portage arch names match Go
|
||||
local portage_arch=$(tc-arch $@)
|
||||
case "${portage_arch}" in
|
||||
x86) echo 386;;
|
||||
x64-*) echo amd64;;
|
||||
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
|
||||
riscv) echo riscv64 ;;
|
||||
s390) echo s390x ;;
|
||||
*) echo "${portage_arch}";;
|
||||
esac
|
||||
}
|
||||
|
||||
go_arm() {
|
||||
case "${1:-${CHOST}}" in
|
||||
armv5*) echo 5;;
|
||||
armv6*) echo 6;;
|
||||
armv7*) echo 7;;
|
||||
*)
|
||||
die "unknown GOARM for ${1:-${CHOST}}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
go_os() {
|
||||
case "${1:-${CHOST}}" in
|
||||
*-linux*) echo linux;;
|
||||
*-darwin*) echo darwin;;
|
||||
*-freebsd*) echo freebsd;;
|
||||
*-netbsd*) echo netbsd;;
|
||||
*-openbsd*) echo openbsd;;
|
||||
*-solaris*) echo solaris;;
|
||||
*-cygwin*|*-interix*|*-winnt*)
|
||||
echo windows
|
||||
;;
|
||||
*)
|
||||
die "unknown GOOS for ${1:-${CHOST}}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
go_tuple() {
|
||||
echo "$(go_os $@)_$(go_arch $@)"
|
||||
}
|
||||
|
||||
go_cross_compile() {
|
||||
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if has_version -b dev-lang/go; then
|
||||
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
|
||||
elif has_version -b dev-lang/go-bootstrap; then
|
||||
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
|
||||
else
|
||||
eerror "Go cannot be built without go or go-bootstrap installed"
|
||||
die "Should not be here, please report a bug"
|
||||
fi
|
||||
|
||||
export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
|
||||
export GOROOT="${PWD}"
|
||||
export GOBIN="${GOROOT}/bin"
|
||||
|
||||
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
|
||||
export GOHOSTARCH=$(go_arch ${CBUILD})
|
||||
export GOHOSTOS=$(go_os ${CBUILD})
|
||||
export CC=$(tc-getBUILD_CC)
|
||||
|
||||
export GOARCH=$(go_arch)
|
||||
export GOOS=$(go_os)
|
||||
export CC_FOR_TARGET=$(tc-getCC)
|
||||
export CXX_FOR_TARGET=$(tc-getCXX)
|
||||
use arm && export GOARM=$(go_arm)
|
||||
use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
|
||||
|
||||
cd src
|
||||
bash -x ./make.bash || die "build failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
go_cross_compile && return 0
|
||||
|
||||
cd src
|
||||
PATH="${GOBIN}:${PATH}" \
|
||||
./run.bash -no-rebuild || die "tests failed"
|
||||
cd ..
|
||||
rm -fr pkg/*_race || die
|
||||
rm -fr pkg/obj/go-build || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# There is a known issue which requires the source tree to be installed [1].
|
||||
# Once this is fixed, we can consider using the doc use flag to control
|
||||
# installing the doc and src directories.
|
||||
# The use of cp is deliberate in order to retain permissions
|
||||
# [1] https://golang.org/issue/2775
|
||||
dodir /usr/lib/go
|
||||
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
|
||||
einstalldocs
|
||||
|
||||
# testdata directories are not needed on the installed system
|
||||
rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
|
||||
|
||||
local bin_path
|
||||
if go_cross_compile; then
|
||||
bin_path="bin/$(go_tuple)"
|
||||
else
|
||||
bin_path=bin
|
||||
fi
|
||||
local f x
|
||||
for x in ${bin_path}/*; do
|
||||
f=${x##*/}
|
||||
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
|
||||
done
|
||||
|
||||
# install the @golang-rebuild set for Portage
|
||||
insinto /usr/share/portage/config/sets
|
||||
newins "${FILESDIR}"/go-sets.conf go.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
[[ -z ${REPLACING_VERSIONS} ]] && return
|
||||
elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
|
||||
elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
|
||||
elog "due to the static linking nature of go."
|
||||
elog "If this is not done, the packages compiled with the older"
|
||||
elog "version of the compiler will not be updated until they are"
|
||||
elog "updated individually, which could mean they will have"
|
||||
elog "vulnerabilities."
|
||||
elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
|
||||
elog "See https://bugs.gentoo.org/752153 for more info"
|
||||
}
|
@ -1,349 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_alpha/a}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="https://www.python.org/"
|
||||
SRC_URI="https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )
|
||||
!!<sys-apps/sandbox-2.21"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
virtual/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
tc-export CXX
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
)
|
||||
|
||||
OPT="" econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
addpredict /usr/lib/python3.11/site-packages
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
|
||||
emake --no-print-directory -s -f - 2>/dev/null)
|
||||
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" \
|
||||
"${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" \
|
||||
"${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" \
|
||||
"${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" \
|
||||
"${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" \
|
||||
"${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -1,337 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_P="Python-${PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="https://www.python.org/"
|
||||
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
|
||||
)"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}/${PYVER}m"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
|
||||
IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
BDEPEND="
|
||||
virtual/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
Lib/distutils/command/install.py \
|
||||
Lib/distutils/sysconfig.py \
|
||||
Lib/site.py \
|
||||
Lib/sysconfig.py \
|
||||
Lib/test/test_site.py \
|
||||
Makefile.pre.in \
|
||||
Modules/Setup.dist \
|
||||
Modules/getpath.c \
|
||||
configure.ac \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
tc-export CXX
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--with-fpectl
|
||||
--enable-shared
|
||||
--enable-ipv6
|
||||
--with-threads
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
)
|
||||
|
||||
OPT="" econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb faulthandler"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
|
||||
use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
|
||||
emake --no-print-directory -s -f - 2>/dev/null)
|
||||
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" \
|
||||
"${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" \
|
||||
"${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc, pyvenv
|
||||
ln -s "../../../bin/2to3-${PYVER}" \
|
||||
"${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" \
|
||||
"${scriptdir}/pydoc" || die
|
||||
ln -s "../../../bin/pyvenv-${PYVER}" \
|
||||
"${scriptdir}/pyvenv" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" \
|
||||
"${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -1,348 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
|
||||
python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="https://www.python.org/"
|
||||
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~floppym/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
|
||||
)"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )"
|
||||
BDEPEND="
|
||||
virtual/awk
|
||||
virtual/pkgconfig
|
||||
sys-devel/autoconf-archive
|
||||
verify-sig? ( app-crypt/openpgp-keys-python )
|
||||
!sys-devel/gcc[libffi(-)]"
|
||||
RDEPEND+=" !build? ( app-misc/mime-types )"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -fr Modules/expat || die
|
||||
rm -fr Modules/_ctypes/libffi* || die
|
||||
rm -fr Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
# force correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
if [[ "$(gcc-major-version)" -ge 4 ]]; then
|
||||
append-flags -fwrapv
|
||||
fi
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=50309
|
||||
if is-flagq -O3; then
|
||||
is-flagq -fstack-protector-all && replace-flags -O3 -O2
|
||||
use hardened && replace-flags -O3 -O2
|
||||
fi
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
tc-export CXX
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
|
||||
local dbmliborder
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
)
|
||||
|
||||
OPT="" econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests="gdb"
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${S}"/Lib/test/test_${test}.py "${T}"
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
|
||||
|
||||
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local result=$?
|
||||
|
||||
for test in ${skipped_tests}; do
|
||||
mv "${T}/test_${test}.py" "${S}"/Lib/test
|
||||
done
|
||||
|
||||
elog "The following tests have been skipped:"
|
||||
for test in ${skipped_tests}; do
|
||||
elog "test_${test}.py"
|
||||
done
|
||||
|
||||
elog "If you would like to run them, you may:"
|
||||
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
|
||||
elog "and run the tests separately."
|
||||
|
||||
if [[ ${result} -ne 0 ]]; then
|
||||
die "emake test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
sed \
|
||||
-e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
|
||||
-e "s/\(PY_LDFLAGS=\).*/\1/" \
|
||||
-i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
|
||||
emake --no-print-directory -s -f - 2>/dev/null)
|
||||
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
local -x EPYTHON=python${PYVER}
|
||||
# if not using a cross-compiler, use the fresh binary
|
||||
if ! tc-is-cross-compiler; then
|
||||
local -x PYTHON=./python
|
||||
local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
|
||||
else
|
||||
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
fi
|
||||
|
||||
echo "EPYTHON='${EPYTHON}'" > epython.py || die
|
||||
python_domodule epython.py
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" \
|
||||
"${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" \
|
||||
"${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" \
|
||||
"${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" \
|
||||
"${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" \
|
||||
"${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- a/unix/configure.in
|
||||
+++ b/unix/configure.in
|
||||
@@ -645,7 +645,7 @@
|
||||
|
||||
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
|
||||
|
||||
-TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
|
||||
+TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
|
||||
PRIVATE_INCLUDE_DIR='$(includedir)'
|
||||
HTML_DIR='$(DISTDIR)/html'
|
||||
|
@ -1,15 +0,0 @@
|
||||
--- a/unix/tcl.m4
|
||||
+++ b/unix/tcl.m4
|
||||
@@ -2470,12 +2470,9 @@
|
||||
#--------------------------------------------------------------------
|
||||
# On a few very rare systems, all of the libm.a stuff is
|
||||
# already in libc.a. Set compiler flags accordingly.
|
||||
- # Also, Linux requires the "ieee" library for math to work
|
||||
- # right (and it must appear before "-lm").
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm")
|
||||
- AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"])
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Interactive UNIX requires -linet instead of -lsocket, plus it
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue