mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 14:41:31 +02:00
Merge pull request #1049 from flatcar/buildbot/weekly-portage-stable-package-updates-2023-08-07
Weekly portage-stable package updates 2023-08-07
This commit is contained in:
commit
4605b2784e
@ -122,6 +122,8 @@ app-text/docbook-xsl-stylesheets
|
||||
app-text/manpager
|
||||
app-text/sgml-common
|
||||
|
||||
sec-keys/openpgp-keys-gentoo-release
|
||||
|
||||
dev-cpp/gtest
|
||||
|
||||
dev-db/sqlite
|
||||
@ -197,7 +199,6 @@ dev-python/nspektr
|
||||
dev-python/ordered-set
|
||||
dev-python/packaging
|
||||
dev-python/platformdirs
|
||||
dev-python/pydantic
|
||||
dev-python/pydecomp
|
||||
dev-python/pygments
|
||||
dev-python/pyparsing
|
||||
|
4
changelog/security/2023-08-09-weekly-updates.md
Normal file
4
changelog/security/2023-08-09-weekly-updates.md
Normal file
@ -0,0 +1,4 @@
|
||||
- libarchive ([libarchive-20230729](https://github.com/libarchive/libarchive/releases/tag/v3.7.1))
|
||||
- vim ([CVE-2023-2609](https://nvd.nist.gov/vuln/detail/CVE-2023-2609), [CVE-2023-2610](https://nvd.nist.gov/vuln/detail/CVE-2023-2610))
|
||||
- qemu ([CVE-2023-0330](https://nvd.nist.gov/vuln/detail/CVE-2023-0330), [CVE-2023-2861](https://nvd.nist.gov/vuln/detail/CVE-2023-2861))
|
||||
- curl ([CVE-2023-32001](https://nvd.nist.gov/vuln/detail/CVE-2023-32001))
|
10
changelog/updates/2023-08-09-weekly-updates.md
Normal file
10
changelog/updates/2023-08-09-weekly-updates.md
Normal file
@ -0,0 +1,10 @@
|
||||
- libarchive ([3.7.1](https://github.com/libarchive/libarchive/releases/tag/v3.7.1) (includes [3.7.0](https://github.com/libarchive/libarchive/releases/tag/v3.7.0)))
|
||||
- libmd ([1.1.0](https://git.hadrons.org/cgit/libmd.git/log/?h=1.1.0))
|
||||
- vim ([9.0.1677](https://github.com/vim/vim/commits/v9.0.1677))
|
||||
- SDK: qemu ([8.0.3](https://wiki.qemu.org/ChangeLog/8.0))
|
||||
- libassuan ([2.5.6](https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libassuan.git;a=blob;f=NEWS;h=e52bb5dd36ac93ea227e53e89f82af9ccf38f339;hb=6b50ee6bcdd6aa81bd7cc3fb2379864c3ed479b8))
|
||||
- libksba ([1.6.4](https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libksba.git;a=blob;f=NEWS;h=f640523209c1c9ce9855040e53914a79d24d6a67;hb=557999424ebd13e70d6fc17e648a5dd2a06f440b))
|
||||
- libuv ([1.46.0](https://github.com/libuv/libuv/releases/tag/v1.46.0) (includes [1.45.0](https://github.com/libuv/libuv/releases/tag/v1.45.0)))
|
||||
- curl ([8.2.1](https://curl.se/changes.html#8_2_1) (includes [8.2.0](https://curl.se/changes.html#8_2_0)))
|
||||
- portage ([3.0.49](https://gitweb.gentoo.org/proj/portage.git/tree/NEWS?h=portage-3.0.49))
|
||||
- intel microcode ([20230613](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/tag/microcode-20230613))
|
@ -9,10 +9,15 @@
|
||||
|
||||
# Needed by arm64-native SDK.
|
||||
=app-crypt/efitools-1.9.2 ~arm64
|
||||
|
||||
# Needed to address CVE-2023-2609 and CVE-2023-2610.
|
||||
=app-editors/vim-9.0.1677 ~amd64 ~arm64
|
||||
=app-editors/vim-core-9.0.1677 ~amd64 ~arm64
|
||||
|
||||
# Needed by arm64-native SDK.
|
||||
=app-emulation/open-vmdk-1.0 *
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=app-emulation/qemu-7.2.3 ~arm64
|
||||
=app-misc/pax-utils-1.3.7 ~amd64
|
||||
|
||||
# Required for addressing CVE-2022-3715.
|
||||
@ -37,19 +42,18 @@
|
||||
=dev-libs/libgcrypt-1.10.1-r3 ~arm64
|
||||
=dev-python/lxml-4.9.2-r1 ~arm64
|
||||
=dev-util/bpftool-6.3 ~arm64
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=net-firewall/conntrack-tools-1.4.6-r1 ~arm64
|
||||
=net-firewall/ipset-7.17-r1 ~arm64
|
||||
|
||||
# Required for addressing CVE-2023-0361.
|
||||
=net-libs/gnutls-3.8.0 ~amd64 ~arm64
|
||||
=net-libs/gnutls-3.8.0 ~arm64
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=net-libs/libnetfilter_cthelper-1.0.0-r1 ~arm64
|
||||
=net-libs/libnetfilter_cttimeout-1.0.0-r1 ~arm64
|
||||
|
||||
# Required for addressing CVE-2023-28319, CVE-2023-28320, CVE-2023-28321 and CVE-2023-28322.
|
||||
=net-misc/curl-8.1.2 ~amd64 ~arm64
|
||||
# Required for addressing CVE-2023-32001.
|
||||
=net-misc/curl-8.2.1 ~amd64 ~arm64
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=sec-policy/selinux-base-2.20200818-r3 ~arm64
|
||||
@ -57,7 +61,6 @@
|
||||
=sec-policy/selinux-unconfined-2.20200818-r2 ~arm64
|
||||
=sec-policy/selinux-virt-2.20200818-r2 ~arm64
|
||||
=sys-apps/checkpolicy-3.1 ~arm64
|
||||
=sys-apps/coreutils-9.3-r2 ~arm64
|
||||
=sys-apps/kexec-tools-2.0.24 ~arm64
|
||||
=sys-apps/policycoreutils-3.1-r4 ~arm64
|
||||
=sys-apps/semodule-utils-3.1 ~arm64
|
||||
@ -66,13 +69,13 @@
|
||||
=sys-cluster/ipvsadm-1.27-r1 **
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=sys-devel/automake-1.16.5-r1 ~arm64
|
||||
=sys-firmware/edk2-aarch64-18.02 **
|
||||
|
||||
# FIPS support is still being tested.
|
||||
=sys-fs/cryptsetup-2.4.3-r1 ~amd64 ~arm64
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=sys-fs/multipath-tools-0.9.5 ~amd64
|
||||
=sys-libs/libselinux-3.1-r3 ~arm64
|
||||
=sys-libs/libsemanage-3.1-r2 ~arm64
|
||||
=sys-libs/libsepol-3.1 ~arm64
|
||||
|
@ -73,10 +73,6 @@ sys-apps/portage -xattr -rsync-verify
|
||||
# Enable -M and -Z flags; -M is used by mayday
|
||||
sys-process/lsof rpc selinux
|
||||
|
||||
# can be removed with socat-2.0.0; this is the openssl/readline license
|
||||
# incompatibility
|
||||
net-misc/socat -ssl
|
||||
|
||||
# Prevent pulling in a ton of perl dependencies
|
||||
sys-apps/man-db -nls
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Components to support Google Cloud OS Login. This contains bits that belong in USR"
|
||||
HOMEPAGE="https://github.com/GoogleCloudPlatform/guest-oslogin"
|
@ -1,2 +1,6 @@
|
||||
DIST libarchive-3.6.2.tar.xz 5213196 BLAKE2B 355b5d402e352dee802513485ce7e047af58d6de5b9bf6a49f3fd8d7b94117007598820ac979585c0da79747e8b63b70ab151131182368a11f97a047cf9029d4 SHA512 a12bb6839e13a0be1099f42c650fc90fbfe62d32ce38bcbb4794206d29b2c782ae1115124d0e5f6b9716514213af32b05e4a42eb196447674a5f9a2a32bee043
|
||||
DIST libarchive-3.6.2.tar.xz.asc 659 BLAKE2B a4b0035ab2bda4129cdf0c99266cd1e5f4772d90de6e348c75958bc803f369d6abea85d9730c6c9a216466b35697faad8d265fb2c285545887eafde27d828887 SHA512 403e5f7dec14d8b1cc01fad5a249e7b7618a7b45bcb3361ea80d67d76b591b12ce97f2c88b23d5486505dd3b34c1f1643e02235a3e5fc5150ee5735946092efe
|
||||
DIST libarchive-3.7.0.tar.xz 5243356 BLAKE2B 8fb72a0504038c71584c0416c1d747b7f5c82266518704353e7fdf794bd9f9e2dc22b8fa2538fa8d12a3b9776581077040371d25647fe72c02a4ec5f3bb8d950 SHA512 f69ff7fbec7e909b6a03dd5b01c47316f95a277907409c8fba3930bb90d02cd9a329921eada59ca1afc9a19e34de7eb34e9d535bbc8cd98fb586f723bd0fdba8
|
||||
DIST libarchive-3.7.0.tar.xz.asc 659 BLAKE2B 5bbd535ce100fbfb7ed46f8d7a6957ebb590c07124de4192ae0b777ad3b3950e6406f1ccda97dde5b6e792be00a039621de21665df9989073ebd0a905299eda1 SHA512 eda3a4347fb8d7f78c8e0a73f621a4a731d46cafc2f46ac59cebe39f3ebd29b1c3db21772c2027b30c5c507f5f732c3876e94f319e62156d2a3146e412cad84d
|
||||
DIST libarchive-3.7.1.tar.xz 5254260 BLAKE2B 1a6fa4f5027effea3df1cfcd2d99b8b126fe03d727412b0a4529d6b2157c2c29490bcce206d0f771256c5ed6dec9612608c2c54c4861647f4e2892e0f5548adb SHA512 24380b9aa24434dfe39929ec85ede33580291023b20b7cdf03990ce62578eaeb389f5ca5680245a84c7aad51574c85a1fa3fad5254ec5395eadac1cb2130a936
|
||||
DIST libarchive-3.7.1.tar.xz.asc 659 BLAKE2B 5e72732d2e5a4f5f04f3510b3d81a148f23dffa10a3ebe709e816388c5a6e68c08ee2bbe36d81141d5ffa94ed64df3e4ca05994cda651c09589fda69a6a95e90 SHA512 6f6f6e5780c609bd9c6c359c210656f26afb585bda46988687e19d1e55f4f3260ea80bf11bfba1213fb3a3e1514c5c096692b4b9e96ffbadf06f85eb1227250a
|
||||
|
@ -0,0 +1,19 @@
|
||||
From: https://github.com/libarchive/libarchive/commit/bd074c2531e867078788fe8539376c31119e4e55.patch
|
||||
From: Wong Hoi Sing Edison <hswong3i@gmail.com>
|
||||
Date: Wed, 19 Jul 2023 16:59:32 +0800
|
||||
Subject: [PATCH] Replace `svfs.f_namelen` with `svfs.f_namemax` (#1924)
|
||||
|
||||
The equivalent for `f_namelen` in struct statvfs is `f_namemax`.
|
||||
|
||||
Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
|
||||
--- a/libarchive/archive_read_disk_posix.c
|
||||
+++ b/libarchive/archive_read_disk_posix.c
|
||||
@@ -1866,7 +1866,7 @@ setup_current_filesystem(struct archive_read_disk *a)
|
||||
#if defined(USE_READDIR_R)
|
||||
/* Set maximum filename length. */
|
||||
#if defined(HAVE_STATVFS)
|
||||
- t->current_filesystem->name_max = svfs.f_namelen;
|
||||
+ t->current_filesystem->name_max = svfs.f_namemax;
|
||||
#else
|
||||
t->current_filesystem->name_max = sfs.f_namelen;
|
||||
#endif
|
149
sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.0.ebuild
vendored
Normal file
149
sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.0.ebuild
vendored
Normal file
@ -0,0 +1,149 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit multilib-minimal toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="Multi-format archive and compression library"
|
||||
HOMEPAGE="
|
||||
https://www.libarchive.org/
|
||||
https://github.com/libarchive/libarchive/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.libarchive.de/downloads/${P}.tar.xz
|
||||
verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
|
||||
"
|
||||
|
||||
LICENSE="BSD BSD-2 BSD-4 public-domain"
|
||||
SLOT="0/13"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs xattr zstd"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libarchive.org.asc
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
||||
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
|
||||
blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
|
||||
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
|
||||
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
|
||||
!expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
|
||||
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
|
||||
kernel_linux? (
|
||||
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
dev-libs/openssl:0=[${MULTILIB_USEDEP}]
|
||||
lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
|
||||
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
|
||||
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
kernel_linux? (
|
||||
virtual/os-headers
|
||||
e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
"
|
||||
|
||||
# Bug #910552 Only required for version 3.7.0
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-f_namemax-fix.patch"
|
||||
)
|
||||
|
||||
# false positives (checks for libc-defined hash functions)
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
SHA256_Init SHA256_Update SHA256_Final
|
||||
SHA384_Init SHA384_Update SHA384_Final
|
||||
SHA512_Init SHA512_Update SHA512_Final
|
||||
)
|
||||
|
||||
multilib_src_configure() {
|
||||
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
|
||||
|
||||
local myconf=(
|
||||
$(use_enable acl)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable xattr)
|
||||
$(use_with blake2 libb2)
|
||||
$(use_with bzip2 bz2lib)
|
||||
$(use_with expat)
|
||||
$(use_with !expat xml2)
|
||||
$(use_with iconv)
|
||||
$(use_with lz4)
|
||||
$(use_with lzma)
|
||||
$(use_with lzo lzo2)
|
||||
$(use_with nettle)
|
||||
--with-zlib
|
||||
$(use_with zstd)
|
||||
|
||||
# Windows-specific
|
||||
--without-cng
|
||||
)
|
||||
if multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--disable-bsdcat
|
||||
--disable-bsdcpio
|
||||
--disable-bsdtar
|
||||
--disable-bsdunzip
|
||||
)
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
# TODO: figure out why we don't get one
|
||||
mkdir -p unzip/test || die
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake
|
||||
else
|
||||
emake libarchive.la
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
mkdir -p "${T}"/bin || die
|
||||
# tests fail when lbzip2[symlink] is used in place of ref bunzip2
|
||||
ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
|
||||
local -x PATH=${T}/bin:${PATH}
|
||||
multilib-minimal_src_test
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# sandbox is breaking long symlink behavior
|
||||
local -x SANDBOX_ON=0
|
||||
local -x LD_PRELOAD=
|
||||
# some locales trigger different output that breaks tests
|
||||
local -x LC_ALL=C
|
||||
emake check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake DESTDIR="${D}" install
|
||||
else
|
||||
local install_targets=(
|
||||
install-includeHEADERS
|
||||
install-libLTLIBRARIES
|
||||
install-pkgconfigDATA
|
||||
)
|
||||
emake DESTDIR="${D}" "${install_targets[@]}"
|
||||
fi
|
||||
|
||||
# Libs.private: should be used from libarchive.pc instead
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
# https://github.com/libarchive/libarchive/issues/1766
|
||||
sed -e '/Requires\.private/s:iconv::' \
|
||||
-i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
|
||||
}
|
142
sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.1.ebuild
vendored
Normal file
142
sdk_container/src/third_party/portage-stable/app-arch/libarchive/libarchive-3.7.1.ebuild
vendored
Normal file
@ -0,0 +1,142 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit multilib-minimal toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="Multi-format archive and compression library"
|
||||
HOMEPAGE="
|
||||
https://www.libarchive.org/
|
||||
https://github.com/libarchive/libarchive/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.libarchive.de/downloads/${P}.tar.xz
|
||||
verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
|
||||
"
|
||||
|
||||
LICENSE="BSD BSD-2 BSD-4 public-domain"
|
||||
SLOT="0/13"
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle static-libs xattr zstd"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libarchive.org.asc
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
||||
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
|
||||
blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
|
||||
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
|
||||
expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
|
||||
!expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
|
||||
iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
|
||||
kernel_linux? (
|
||||
xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
dev-libs/openssl:0=[${MULTILIB_USEDEP}]
|
||||
lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
|
||||
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
|
||||
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
kernel_linux? (
|
||||
virtual/os-headers
|
||||
e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
"
|
||||
|
||||
# false positives (checks for libc-defined hash functions)
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
SHA256_Init SHA256_Update SHA256_Final
|
||||
SHA384_Init SHA384_Update SHA384_Final
|
||||
SHA512_Init SHA512_Update SHA512_Final
|
||||
)
|
||||
|
||||
multilib_src_configure() {
|
||||
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
|
||||
|
||||
local myconf=(
|
||||
$(use_enable acl)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable xattr)
|
||||
$(use_with blake2 libb2)
|
||||
$(use_with bzip2 bz2lib)
|
||||
$(use_with expat)
|
||||
$(use_with !expat xml2)
|
||||
$(use_with iconv)
|
||||
$(use_with lz4)
|
||||
$(use_with lzma)
|
||||
$(use_with lzo lzo2)
|
||||
$(use_with nettle)
|
||||
--with-zlib
|
||||
$(use_with zstd)
|
||||
|
||||
# Windows-specific
|
||||
--without-cng
|
||||
)
|
||||
if multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
|
||||
--enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--disable-bsdcat
|
||||
--disable-bsdcpio
|
||||
--disable-bsdtar
|
||||
--disable-bsdunzip
|
||||
)
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake
|
||||
else
|
||||
emake libarchive.la
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
mkdir -p "${T}"/bin || die
|
||||
# tests fail when lbzip2[symlink] is used in place of ref bunzip2
|
||||
ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
|
||||
local -x PATH=${T}/bin:${PATH}
|
||||
multilib-minimal_src_test
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# sandbox is breaking long symlink behavior
|
||||
local -x SANDBOX_ON=0
|
||||
local -x LD_PRELOAD=
|
||||
# some locales trigger different output that breaks tests
|
||||
local -x LC_ALL=C
|
||||
emake check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
if multilib_is_native_abi ; then
|
||||
emake DESTDIR="${D}" install
|
||||
else
|
||||
local install_targets=(
|
||||
install-includeHEADERS
|
||||
install-libLTLIBRARIES
|
||||
install-pkgconfigDATA
|
||||
)
|
||||
emake DESTDIR="${D}" "${install_targets[@]}"
|
||||
fi
|
||||
|
||||
# Libs.private: should be used from libarchive.pc instead
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
# https://github.com/libarchive/libarchive/issues/1766
|
||||
sed -e '/Requires\.private/s:iconv::' \
|
||||
-i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
|
||||
}
|
@ -11,7 +11,7 @@ SRC_URI="https://www.zlib.net/pigz/${P}.tar.gz"
|
||||
|
||||
LICENSE="ZLIB"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
|
||||
IUSE="static test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
|
@ -1,2 +1,4 @@
|
||||
DIST tar-1.34.tar.xz 2226068 BLAKE2B 741a662457509a6775338ffe5d2d84872fcf38b93ace70c8b748a81055b9b62f65a48c4e541955d08ae99e6f528509e89eacd7c799a65bcc3d017a259110c115 SHA512 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
|
||||
DIST tar-1.34.tar.xz.sig 181 BLAKE2B 2fae91293a9dacda0374706e1f83498042a9d5224f80f6f0e14abdb914cb5a8e980f720eb4a453485844c7fe26e0525f230c0eab11c7fa89159a1a929370795c SHA512 55297f41549deee511f5b14c6b5dc7bb3d9282dad52bcc85f9dddfad24b677f989ba86387ad9b133c3698feedbd6b6cd7e9f005e8e4c89f72c80543eeceb78f7
|
||||
DIST tar-1.35.tar.xz 2317208 BLAKE2B e1a200d21f433cd7d917dd979db16919a9167056ae62cf7d038a6118e56b2fe419cd4a396eee66f1f4dc13a8dc380e23f6ffd7ee0ca84e5dd9ad9411f60e002c SHA512 8b84ed661e6c878fa33eb5c1808d20351e6f40551ac63f96014fb0d0b9c72d5d94d8865d39e36bcb184fd250f84778a3b271bbd8bd2ceb69eece0c3568577510
|
||||
DIST tar-1.35.tar.xz.sig 95 BLAKE2B 8501b55b700bc99b81f04519db1cd8f7bc3d87dd5bfefa25a3d979b23359f02dfb770f3dd66dca275baa70a99612cb85c1019faaf3a1f0bcf50c9815b8e32eca SHA512 00e5c95bf8015f75f59556a82ed7f50bddefe89754c7ff3c19411aee2f37626a5d65c33e18b87f7f8f96388d3f175fd095917419a3ad1c0fc9d6188088bac944
|
||||
|
113
sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35.ebuild
vendored
Normal file
113
sdk_container/src/third_party/portage-stable/app-arch/tar/tar-1.35.ebuild
vendored
Normal file
@ -0,0 +1,113 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/tar.asc
|
||||
inherit verify-sig
|
||||
|
||||
DESCRIPTION="Use this to make tarballs :)"
|
||||
HOMEPAGE="https://www.gnu.org/software/tar/"
|
||||
SRC_URI="
|
||||
mirror://gnu/tar/${P}.tar.xz
|
||||
https://alpha.gnu.org/gnu/tar/${P}.tar.xz
|
||||
verify-sig? (
|
||||
mirror://gnu/tar/${P}.tar.xz.sig
|
||||
https://alpha.gnu.org/gnu/tar/${P}.tar.xz.sig
|
||||
)
|
||||
"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if [[ -z "$(ver_cut 3)" || "$(ver_cut 3)" -lt 90 ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="acl minimal nls selinux xattr"
|
||||
|
||||
RDEPEND="
|
||||
acl? ( virtual/acl )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
xattr? ( elibc_glibc? ( sys-apps/attr ) )
|
||||
"
|
||||
BDEPEND="
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-tar )
|
||||
"
|
||||
PDEPEND="
|
||||
app-alternatives/tar
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
# -fanalyzer doesn't make sense for us in ebuilds, as it's for static analysis
|
||||
export gl_cv_warn_c__fanalyzer=no
|
||||
|
||||
local myeconfargs=(
|
||||
--bindir="${EPREFIX}"/bin
|
||||
# Avoid -Werror
|
||||
--disable-gcc-warnings
|
||||
--enable-backup-scripts
|
||||
--libexecdir="${EPREFIX}"/usr/sbin
|
||||
$(use_with acl posix-acls)
|
||||
$(use_enable nls)
|
||||
$(use_with selinux)
|
||||
$(use_with xattr xattrs)
|
||||
|
||||
# autoconf looks for gtar before tar (in configure scripts), hence
|
||||
# in Prefix it is important that it is there, otherwise, a gtar from
|
||||
# the host system (FreeBSD, Solaris, Darwin) will be found instead
|
||||
# of the Prefix provided (GNU) tar
|
||||
--program-prefix=g
|
||||
)
|
||||
|
||||
# Drop CONFIG_SHELL hack after 1.35: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=7687bf4acc4dc4554538389383d7fb4c3e6521cd
|
||||
CONFIG_SHELL="${BROOT}"/bin/bash FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Drop after 1.35: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=18f90676e4695ffcf13413e9fbb24cc0ae2ae9d5
|
||||
local -x XZ_OPT= XZ_DEFAULTS=
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# A nasty yet required piece of baggage
|
||||
exeinto /etc
|
||||
doexe "${FILESDIR}"/rmt
|
||||
|
||||
mv "${ED}"/usr/sbin/{gbackup,backup-tar} || die
|
||||
mv "${ED}"/usr/sbin/{grestore,restore-tar} || die
|
||||
mv "${ED}"/usr/sbin/{g,}backup.sh || die
|
||||
mv "${ED}"/usr/sbin/{g,}dump-remind || die
|
||||
|
||||
if use minimal ; then
|
||||
find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
|
||||
-type f -a '!' -name gtar \
|
||||
-delete || die
|
||||
fi
|
||||
|
||||
if ! use minimal; then
|
||||
dosym grmt /usr/sbin/rmt
|
||||
fi
|
||||
dosym grmt.8 /usr/share/man/man8/rmt.8
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Ensure to preserve the symlink before app-alternatives/tar
|
||||
# is installed
|
||||
if [[ ! -h ${EROOT}/bin/tar ]]; then
|
||||
if [[ -e ${EROOT}/usr/bin/tar ]] ; then
|
||||
# bug #904887
|
||||
ewarn "${EROOT}/usr/bin/tar exists but is not a symlink."
|
||||
ewarn "This is expected during Prefix bootstrap and unusual otherwise."
|
||||
ewarn "Moving away unexpected ${EROOT}/usr/bin/tar to .bak."
|
||||
mv "${EROOT}/usr/bin/tar" "${EROOT}/usr/bin/tar.bak" || die
|
||||
fi
|
||||
ln -s gtar "${EROOT}/bin/tar" || die
|
||||
fi
|
||||
}
|
@ -6,3 +6,5 @@ DIST xz-5.4.2.tar.gz 2799022 BLAKE2B 3c622b0823f0cbb5fbc5eaa0372fc2f0fefe0950d13
|
||||
DIST xz-5.4.2.tar.gz.sig 566 BLAKE2B 95c9c70fdd25b92095dd9691e4d9d4306a3f982becfe7bd42ca6132a76f29be2c2bc66f4fc2bda547058c18e227292f4185799eb905084fc3ab415ae867b4b1b SHA512 30e965c228ed3a8ecb804db8eb11703a765b7ee934030ea69bb3940b630811eb71bf74fd20371ef7759761904ece4f0144a0b00be4d843cf98299fd016f161aa
|
||||
DIST xz-5.4.3.tar.gz 2869347 BLAKE2B c4192a59ca751567ebab17e08e72aa1bf0f5ca14af0b59fded1c4dff02c1b76ab30119a4138932f78f69bd4b7827071c81d6ca1c56be65491466ea061786ed78 SHA512 aff0fe166af6df4491a6f5df2372cab100b081452461a0e8c6fd65b72af3f250f16c64d9fb8fd309141e9b9ae4e41649f48687cc29e63dd82f27f2eab19b4023
|
||||
DIST xz-5.4.3.tar.gz.sig 566 BLAKE2B 1e3f86a2de532e77cae4c31928d57edeac81ca207e03c71523210605dc6bab76a50793697a242b232f74911c6e1872a0339ed977e2dd0d201504bd859fd3b4f4 SHA512 b7c7eedf4d9604ee50ec97275e5ab57e22a567402815281440ca765210c75707bd2de20e7ebfb0842725690ae19557916fc41a9fbdace5fec8190632b038292e
|
||||
DIST xz-5.4.4.tar.gz 2874706 BLAKE2B 0ade3767651a07a6bb4d53b510d7e97239e182788c42bc3388b97c54463ccaa968e27bcb88d34697df70381eea91279615f2622b5493ae2da22632e9576d8989 SHA512 2e27d864c9f346e53afc549d7046385b5d35a749af15d84f69de14612657df2f0e2ce71d3be03d57adadf8fd28549ecf4ef1c214bdcd1f061b5a47239e0104e8
|
||||
DIST xz-5.4.4.tar.gz.sig 566 BLAKE2B 9d695293fe479e07b4051f9b22af19191ec7cb5063da519769a24a08cff46819a4f29db002cea92e4af982410dd660d9b3185c8ef0908abbf13b86f89c0baa0f SHA512 6f12f0b30e4e5c78238f5d758443621d4126edf5ec8d02c51f06cc27e40822f0429c2018ec567eae20d118a81295f9d31e2f9101720d289bebab15f72590e9f2
|
||||
|
@ -35,7 +35,7 @@ else
|
||||
"
|
||||
|
||||
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
126
sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.4.ebuild
vendored
Normal file
126
sdk_container/src/third_party/portage-stable/app-arch/xz-utils/xz-utils-5.4.4.ebuild
vendored
Normal file
@ -0,0 +1,126 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Remember: we cannot leverage autotools in this ebuild in order
|
||||
# to avoid circular deps with autotools
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
# Per tukaani.org, git.tukaani.org is a mirror of github and
|
||||
# may be behind.
|
||||
EGIT_REPO_URI="
|
||||
https://github.com/tukaani-project/xz
|
||||
https://git.tukaani.org/xz.git
|
||||
"
|
||||
inherit git-r3 autotools
|
||||
|
||||
# bug #272880 and bug #286068
|
||||
BDEPEND="sys-devel/gettext >=sys-devel/libtool-2"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/jiatan.asc
|
||||
inherit verify-sig
|
||||
|
||||
MY_P="${PN/-utils}-${PV/_}"
|
||||
SRC_URI="
|
||||
https://github.com/tukaani-project/xz/releases/download/v${PV}/${MY_P}.tar.gz
|
||||
mirror://sourceforge/lzmautils/${MY_P}.tar.gz
|
||||
https://tukaani.org/xz/${MY_P}.tar.gz
|
||||
verify-sig? (
|
||||
https://github.com/tukaani-project/xz/releases/download/v${PV}/${MY_P}.tar.gz.sig
|
||||
https://tukaani.org/xz/${MY_P}.tar.gz.sig
|
||||
)
|
||||
"
|
||||
|
||||
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Utils for managing LZMA compressed files"
|
||||
HOMEPAGE="https://tukaani.org/xz/"
|
||||
|
||||
# See top-level COPYING file as it outlines the various pieces and their licenses.
|
||||
LICENSE="public-domain LGPL-2.1+ GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="doc +extra-filters nls static-libs"
|
||||
|
||||
if [[ ${PV} != 9999 ]] ; then
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautopoint
|
||||
eautoreconf
|
||||
else
|
||||
# Allow building shared libs on Solaris/x64
|
||||
elibtoolize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--enable-threads
|
||||
$(multilib_native_use_enable doc)
|
||||
$(use_enable nls)
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use extra-filters ; then
|
||||
myconf+=(
|
||||
# LZMA1 + LZMA2 for standard .lzma & .xz files
|
||||
--enable-encoders=lzma1,lzma2
|
||||
--enable-decoders=lzma1,lzma2
|
||||
|
||||
# those are used by default, depending on preset
|
||||
--enable-match-finders=hc3,hc4,bt4
|
||||
|
||||
# CRC64 is used by default, though some (old?) files use CRC32
|
||||
--enable-checks=crc32,crc64
|
||||
)
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
|
||||
|
||||
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
|
||||
myconf+=( --disable-path-for-script )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
|
||||
gen_usr_ldscript -a lzma
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
|
||||
if use doc ; then
|
||||
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
# Remember: we cannot leverage autotools in this ebuild in order
|
||||
# to avoid circular deps with autotools
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
|
@ -11,7 +11,7 @@ SRC_URI="https://archive.hadrons.org/software/libmd/${P}.tar.xz"
|
||||
|
||||
LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" econf
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST krb5-1.20.1.tar.gz 8661660 BLAKE2B ead16f8b1aec8bba3776628b74257c9aec891770c1fa6d5c5e66275db5f078ca59c9944cd2b017453b777ce080f8e5a322f735fab77691479cfad7b881b92830 SHA512 6f57479f13f107cd84f30de5c758eb6b9fc59171329c13e5da6073b806755f8d163eb7bd84767ea861ad6458ea0c9eeb00ee044d3bcad01ef136e9888564b6a2
|
||||
DIST krb5-1.21.tar.gz 8622539 BLAKE2B 0f3a899dc1758ea013ebad3aae80605c14f0f6713919d005e799162a0c50a162f33d924c74a6f87ce225e1ab3847df2c0effb25b772fe259e7401531964b696f SHA512 8ee2366888f6d553a44fc642a89c69a57dbc1ec4c89a36b9ba8b00584a9a32c73a2b0566ba5f21852ad9617046666c276dac402393bf8eb19fbe0c07a838071a
|
||||
DIST krb5-1.20.2.tar.gz 8662259 BLAKE2B 35f9e82390b5ba7227d0b5c40ab08f128ff27e7264d48585e2bfd08a443cb4b06415216190a3c35c6bc505f33483bcbe11430d9e40c3907f838798b2dc492416 SHA512 69e263ef74116a3332c632a2a243499bcc47b01b1e57d02fe35aa6c2ff655674b6cf2b815457145f788bceac4d466d3f55f8c20ec9ee4a6051128417e1e7e99e
|
||||
DIST krb5-1.21.1.tar.gz 8623049 BLAKE2B d90a994b5d39dc88573e5cfca280565b0909b2e9aa8710a6d695e2c1faec37ea0c008d05894e8952dcf72348403f76fd8a124de8d8f34c70fad6de8866a92f0e SHA512 6f04216b0a151d6a9886bf009777bc95a7d3f9bcab30427cc8bbef3357e0130748c1d42b477be0eb2d469d9e0fb65bf5ac5ff05c22d6e1046795e161fe6afbcc
|
||||
|
148
sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.20.2.ebuild
vendored
Normal file
148
sdk_container/src/third_party/portage-stable/app-crypt/mit-krb5/mit-krb5-1.20.2.ebuild
vendored
Normal file
@ -0,0 +1,148 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
inherit autotools python-any-r1 systemd toolchain-funcs multilib-minimal
|
||||
|
||||
MY_P="${P/mit-}"
|
||||
P_DIR=$(ver_cut 1-2)
|
||||
DESCRIPTION="MIT Kerberos V"
|
||||
HOMEPAGE="https://web.mit.edu/kerberos/www/"
|
||||
SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="cpu_flags_x86_aes doc +keyutils lmdb nls openldap +pkinit selinux +threads test xinetd"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
!!app-crypt/heimdal
|
||||
>=sys-fs/e2fsprogs-1.46.4-r51[${MULTILIB_USEDEP}]
|
||||
|| (
|
||||
>=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
|
||||
)
|
||||
keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
|
||||
pkinit? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
|
||||
xinetd? ( sys-apps/xinetd )
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-alternatives/yacc
|
||||
cpu_flags_x86_aes? (
|
||||
amd64? ( dev-lang/yasm )
|
||||
x86? ( dev-lang/yasm )
|
||||
)
|
||||
doc? ( virtual/latex-base )
|
||||
test? ( dev-util/cmocka )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-kerberos )"
|
||||
|
||||
S=${WORKDIR}/${MY_P}/src
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.12_warn_cflags.patch"
|
||||
"${FILESDIR}/${PN}-config_LDFLAGS-r1.patch"
|
||||
"${FILESDIR}/${PN}_dont_create_rundir.patch"
|
||||
"${FILESDIR}/${PN}-1.18.2-krb5-config.patch"
|
||||
"${FILESDIR}/${PN}-1.20-missing-time-include.patch"
|
||||
)
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/krb5-config
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# Make sure we always use the system copies.
|
||||
rm -rf util/{et,ss,verto}
|
||||
sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE=${S} \
|
||||
AR="$(tc-getAR)" \
|
||||
WARN_CFLAGS="set" \
|
||||
econf \
|
||||
$(use_with openldap ldap) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable pkinit) \
|
||||
$(use_enable threads thread-support) \
|
||||
$(use_with lmdb) \
|
||||
$(use_with keyutils) \
|
||||
--without-hesiod \
|
||||
--enable-shared \
|
||||
--with-system-et \
|
||||
--with-system-ss \
|
||||
--enable-dns-for-realm \
|
||||
--enable-kdc-lookaside-cache \
|
||||
--with-system-verto \
|
||||
--disable-rpath
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake -j1
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
multilib_is_native_abi && emake -j1 check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
|
||||
install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# default database dir
|
||||
keepdir /var/lib/krb5kdc
|
||||
|
||||
cd ..
|
||||
dodoc README
|
||||
|
||||
if use doc; then
|
||||
dodoc -r doc/html
|
||||
docinto pdf
|
||||
dodoc doc/pdf/*.pdf
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
|
||||
newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
|
||||
newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
|
||||
newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
|
||||
newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
|
||||
newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
|
||||
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
|
||||
systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
|
||||
|
||||
insinto /etc
|
||||
newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
|
||||
insinto /var/lib/krb5kdc
|
||||
newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
|
||||
|
||||
if use openldap ; then
|
||||
insinto /etc/openldap/schema
|
||||
doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}/kpropd.xinetd" kpropd
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST rhash-1.4.3-src.tar.gz 429290 BLAKE2B d225aeae0b3a8fb2e093a9aef50cd07a790c7e9734e91114deef2ca8492c85261b8ed5dea45958e35e049ea888885175608962ea72297bdef48b00c52f51eaca SHA512 d87ffcde28d8f25cf775c279fed457e52d24523ed9b695629dae694b3c22372247d18f6032f8ce13a0b70fa2953be408982e46659daaa7c4ab227ae89eaed9c7
|
||||
DIST rhash-1.4.4-src.tar.gz 435691 BLAKE2B f3d42f333ad9a82fe4a8ef5af5d8008abf526c05c06a00c7033881d5a27ba663c3cc5cefb73ea8157ac24cb10a50a4e500706d489e61a03dbaee74a4735d1722 SHA512 00a7e5e058b53ce20ae79509815452ed9cb699d1322b678220b72c61dea3ea2f8fa131acfade8bb6d9f6af913f0c3c472330841181b22314b8755166310c946f
|
||||
|
@ -9,7 +9,7 @@ DESCRIPTION="Console utility and library for computing and verifying file hash s
|
||||
HOMEPAGE="http://rhash.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}-src.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
LICENSE="0BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="debug nls ssl static-libs"
|
||||
|
89
sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4.ebuild
vendored
Normal file
89
sdk_container/src/third_party/portage-stable/app-crypt/rhash/rhash-1.4.4.ebuild
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic toolchain-funcs multilib-minimal
|
||||
|
||||
DESCRIPTION="Console utility and library for computing and verifying file hash sums"
|
||||
HOMEPAGE="http://rhash.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}-src.tar.gz"
|
||||
|
||||
LICENSE="0BSD"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="debug nls ssl static-libs"
|
||||
|
||||
RDEPEND="
|
||||
ssl? (
|
||||
dev-libs/openssl:0=[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/RHash-${PV}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
|
||||
# we lack posix_memalign
|
||||
sed -i -e '/if _POSIX_VERSION/s/if .*$/if 0/' \
|
||||
librhash/util.h || die
|
||||
fi
|
||||
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
|
||||
# https://github.com/gentoo/gentoo/pull/28355
|
||||
# mold needs this too but right now tc-ld-is-mold is also not available
|
||||
if tc-ld-is-lld; then
|
||||
append-ldflags -Wl,--undefined-version
|
||||
fi
|
||||
|
||||
set -- \
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--cc="$(tc-getCC)" \
|
||||
--ar="$(tc-getAR)" \
|
||||
--extra-cflags="${CFLAGS}" \
|
||||
--extra-ldflags="${LDFLAGS}" \
|
||||
--prefix="${EPREFIX}"/usr \
|
||||
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
||||
--sysconfdir="${EPREFIX}"/etc \
|
||||
--disable-openssl-runtime \
|
||||
--disable-static \
|
||||
--enable-lib-shared \
|
||||
$(use_enable debug) \
|
||||
$(use_enable nls gettext) \
|
||||
$(use_enable ssl openssl) \
|
||||
$(use_enable static-libs lib-static)
|
||||
|
||||
echo "${@}"
|
||||
"${@}" || die "configure failed"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake all \
|
||||
$(multilib_is_native_abi && use nls && echo compile-gmo)
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# -j1 needed due to race condition.
|
||||
emake DESTDIR="${D}" -j1 \
|
||||
install{,-lib-headers,-pkg-config} \
|
||||
$(multilib_is_native_abi && use nls && echo install-gmo) \
|
||||
install-lib-so-link
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
emake test
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
DIST vim-9.0.1403.tar.gz 16976705 BLAKE2B 9664d52de488086308fcbcda0b0a1167161afbf0efbb40dd9ce9e2393f0ada35e0a44d7f0c3f789d26ae1427604a281f689e87885fbb1557dce12a69898ec46d SHA512 bd83feba38a4aa9b3cf910a0b5a2c153abc4c6eaf9abf0ebee389879ff9ddee51c6f9dba5151aab5df3f73594cf8921d0a0e34121c50e65366cdcdd6482fd00f
|
||||
DIST vim-9.0.1503.tar.gz 17010118 BLAKE2B 4f74d52a3fcf7875031378f86fc3411c64c92e4b82bee371148b19042478d3f974793477c3fc2d9ddff9233fa1ec3c864962880840867544e92464f1a0876f51 SHA512 2f3242ec0f79cf6affc2f7fdaf689c35d8597706ac1689dbbdc01352676199605bb37f22bd901f1e8d59f312237d3fce4bee8b979b28a744ea9e40558621980e
|
||||
DIST vim-9.0.1627.tar.gz 17048824 BLAKE2B 3fa583cf676c2388641b1240ed4b90c2e42cd9f50ea44a943cce86bba4bf278adf54837bb5c4530471fd57cfcd08cd39be78b17a5e907435a02dc5874ff7f571 SHA512 d2fb863e03d4ad773fcba8917f3cd1e373f661aa8b8a20bd3e416a73788997d31c6dd106a1bf59d72475bb577bbe6d52eb079fff9c7152d96bb6e5c9aa6e2f3b
|
||||
DIST vim-9.0.1677.tar.gz 17069398 BLAKE2B c4eb4e6f8bc7367c24191a8b2a6ea992d11a9bcef27659b60e2844bfa06490fe770937d2548187a45d0fbc8d1f0be2374457a0cdba9792137e02bdd1b9cd5dfb SHA512 8c50d8a6f081673023aa0dd607810fb652d25a46c955d0fa744faf557517a465160cf01b39d5ee6d2c93dd172635500ff7315e54565f7f628ee8f0f8dab8c291
|
||||
DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a
|
||||
|
231
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1677.ebuild
vendored
Normal file
231
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1677.ebuild
vendored
Normal file
@ -0,0 +1,231 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with app-editors/vim and app-editors/gvim
|
||||
|
||||
VIM_VERSION="9.0"
|
||||
VIM_PATCHES_VERSION="9.0.1000"
|
||||
inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
S="${WORKDIR}/vim-${PV}"
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://www.vim.org https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="nls acl minimal"
|
||||
|
||||
# ncurses is only needed by ./configure, so no subslot operator required
|
||||
DEPEND=">=sys-libs/ncurses-5.2-r2:0"
|
||||
BDEPEND="sys-devel/autoconf"
|
||||
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
PATCHES=(
|
||||
"${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches"
|
||||
)
|
||||
fi
|
||||
|
||||
# platform-specific checks (bug #898406):
|
||||
# - acl() -- Solaris
|
||||
# - statacl() -- AIX
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
'acl'
|
||||
'statacl'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i \
|
||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
||||
|
||||
# See bug #77841. We remove this file after the tarball extraction.
|
||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Fix bug #18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
|
||||
# Remove src/auto/configure file.
|
||||
rm -v src/auto/configure || die "rm configure failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug 57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
||||
# things are for ppc64, see bug 86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
# Let Portage do the stripping. Some people like that.
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
local myconf=(
|
||||
--with-modified-by="Gentoo-${PVR} (RIP Bram)"
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-rubyinterp
|
||||
--disable-gpm
|
||||
--disable-selinux
|
||||
$(use_enable nls)
|
||||
$(use_enable acl)
|
||||
)
|
||||
|
||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
export vim_cv_getcwd_broken=no \
|
||||
vim_cv_memmove_handles_overlap=yes \
|
||||
vim_cv_stat_ignores_slash=yes \
|
||||
vim_cv_terminfo=yes \
|
||||
vim_cv_toupper_broken=no
|
||||
fi
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
emake tools
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
dodir /usr/{bin,share/{man/man1,vim}}
|
||||
emake -C src \
|
||||
installruntime \
|
||||
installmanlinks \
|
||||
installmacros \
|
||||
installtutor \
|
||||
installtutorbin \
|
||||
installtools \
|
||||
install-languages \
|
||||
DESTDIR="${D}" \
|
||||
BINDIR="${EPREFIX}"/usr/bin \
|
||||
MANDIR="${EPREFIX}"/usr/share/man \
|
||||
DATADIR="${EPREFIX}"/usr/share
|
||||
|
||||
keepdir ${vimfiles}/keymap
|
||||
|
||||
# default vimrc is installed by vim-core since it applies to
|
||||
# both vim and gvim
|
||||
insinto /etc/vim/
|
||||
newins "${FILESDIR}"/vimrc-r6 vimrc
|
||||
eprefixify "${ED}"/etc/vim/vimrc
|
||||
|
||||
if use minimal; then
|
||||
# To save space, install only a subset of the files.
|
||||
# Helps minimalize the livecd, bug 65144.
|
||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die
|
||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die
|
||||
rm -v "${ED}"/usr/bin/vimtutor || die
|
||||
|
||||
for f in "${ED}${vimfiles}"/colors/*.vim; do
|
||||
if [[ ${f} != */@(default).vim ]] ; then
|
||||
printf '%s\0' "${f}"
|
||||
fi
|
||||
done | xargs -0 rm -f || die
|
||||
|
||||
for f in "${ED}${vimfiles}"/syntax/*.vim; do
|
||||
if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then
|
||||
printf '%s\0' "${f}"
|
||||
fi
|
||||
done | xargs -0 rm -f || die
|
||||
fi
|
||||
|
||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
||||
|
||||
# install gvim icon since both vim/gvim desktop files reference it
|
||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# update icon cache
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
DIST vim-9.0.1403.tar.gz 16976705 BLAKE2B 9664d52de488086308fcbcda0b0a1167161afbf0efbb40dd9ce9e2393f0ada35e0a44d7f0c3f789d26ae1427604a281f689e87885fbb1557dce12a69898ec46d SHA512 bd83feba38a4aa9b3cf910a0b5a2c153abc4c6eaf9abf0ebee389879ff9ddee51c6f9dba5151aab5df3f73594cf8921d0a0e34121c50e65366cdcdd6482fd00f
|
||||
DIST vim-9.0.1503.tar.gz 17010118 BLAKE2B 4f74d52a3fcf7875031378f86fc3411c64c92e4b82bee371148b19042478d3f974793477c3fc2d9ddff9233fa1ec3c864962880840867544e92464f1a0876f51 SHA512 2f3242ec0f79cf6affc2f7fdaf689c35d8597706ac1689dbbdc01352676199605bb37f22bd901f1e8d59f312237d3fce4bee8b979b28a744ea9e40558621980e
|
||||
DIST vim-9.0.1627.tar.gz 17048824 BLAKE2B 3fa583cf676c2388641b1240ed4b90c2e42cd9f50ea44a943cce86bba4bf278adf54837bb5c4530471fd57cfcd08cd39be78b17a5e907435a02dc5874ff7f571 SHA512 d2fb863e03d4ad773fcba8917f3cd1e373f661aa8b8a20bd3e416a73788997d31c6dd106a1bf59d72475bb577bbe6d52eb079fff9c7152d96bb6e5c9aa6e2f3b
|
||||
DIST vim-9.0.1677.tar.gz 17069398 BLAKE2B c4eb4e6f8bc7367c24191a8b2a6ea992d11a9bcef27659b60e2844bfa06490fe770937d2548187a45d0fbc8d1f0be2374457a0cdba9792137e02bdd1b9cd5dfb SHA512 8c50d8a6f081673023aa0dd607810fb652d25a46c955d0fa744faf557517a465160cf01b39d5ee6d2c93dd172635500ff7315e54565f7f628ee8f0f8dab8c291
|
||||
DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a
|
||||
|
370
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1677.ebuild
vendored
Normal file
370
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1677.ebuild
vendored
Normal file
@ -0,0 +1,370 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
||||
|
||||
VIM_VERSION="9.0"
|
||||
VIM_PATCHES_VERSION="9.0.1000"
|
||||
|
||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby27 ruby30 ruby31"
|
||||
|
||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-${VIM_PATCHES_VERSION}-patches.tar.bz2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://www.vim.org https://github.com/vim/vim"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
vim-pager? ( !minimal )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=app-eselect/eselect-vi-1.1
|
||||
>=sys-libs/ncurses-5.2-r2:0=
|
||||
nls? ( virtual/libintl )
|
||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
||||
crypt? ( dev-libs/libsodium:= )
|
||||
cscope? ( dev-util/cscope )
|
||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
||||
lua? ( ${LUA_DEPS}
|
||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
||||
)
|
||||
~app-editors/vim-core-${PV}
|
||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
racket? ( dev-scheme/racket )
|
||||
ruby? ( ${RUBY_DEPS} )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
sound? ( media-libs/libcanberra )
|
||||
tcl? ( dev-lang/tcl:0= )
|
||||
X? ( x11-libs/libXt )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# configure runs the Lua interpreter
|
||||
BDEPEND="
|
||||
sys-devel/autoconf
|
||||
lua? ( ${LUA_DEPS} )
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
||||
|
||||
if [[ ${PV} != 9999* ]]; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
PATCHES=(
|
||||
"${WORKDIR}/vim-patches-vim-${VIM_PATCHES_VERSION}-patches"
|
||||
)
|
||||
fi
|
||||
|
||||
# platform-specific checks (bug #898452):
|
||||
# - acl() -- Solaris
|
||||
# - statacl() -- AIX
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
'acl'
|
||||
'statacl'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
|
||||
use lua && lua-single_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Fixup a script to use awk instead of nawk
|
||||
sed -i -e \
|
||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
||||
|
||||
# Read vimrc and gvimrc from /etc/vim
|
||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
||||
>> "${S}"/src/feature.h || die "echo failed"
|
||||
|
||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
||||
# Hopefully this pattern won't break for a while at least.
|
||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
||||
sed -i -e \
|
||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
||||
"${S}"/runtime/doc/syntax.txt \
|
||||
"${S}"/runtime/doc/tagsrch.txt \
|
||||
"${S}"/runtime/doc/usr_29.txt \
|
||||
"${S}"/runtime/menu.vim \
|
||||
"${S}"/src/configure.ac || die 'sed failed'
|
||||
|
||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
||||
# correctly. To avoid some really entertaining error messages about stuff
|
||||
# which isn't even in the source file being invalid, we'll do some trickery
|
||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
||||
find "${S}" -name '*.c' | while read c; do
|
||||
echo >> "$c" || die "echo failed"
|
||||
done
|
||||
|
||||
# conditionally make the manpager.sh script
|
||||
if use vim-pager; then
|
||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
||||
#!/bin/sh
|
||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
||||
vim \\
|
||||
-c 'let no_plugin_maps = 1' \\
|
||||
-c 'set nolist nomod ft=man ts=8' \\
|
||||
-c 'let g:showmarks_enable=0' \\
|
||||
-c 'runtime! macros/less.vim' -
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Try to avoid sandbox problems. Bug #114475.
|
||||
if [[ -d "${S}"/src/po ]]; then
|
||||
sed -i -e \
|
||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
||||
"${S}"/src/po/Makefile || die "sed failed"
|
||||
fi
|
||||
|
||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
||||
|
||||
# Fix bug 18245: Prevent "make" from the following chain:
|
||||
# (1) Notice configure.ac is newer than auto/configure
|
||||
# (2) Rebuild auto/configure
|
||||
# (3) Notice auto/configure is newer than auto/config.mk
|
||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
||||
rm src/auto/configure || die "rm failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
||||
# Bug #57859 suggests that we want to do this for all archs
|
||||
filter-flags -funroll-all-loops
|
||||
|
||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
||||
# everyone since previous flag filtering bugs have turned out to affect
|
||||
# multiple archs...
|
||||
replace-flags -O3 -O2
|
||||
|
||||
emake -j1 -C src autoconf
|
||||
|
||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
||||
# things are for ppc64, see bug #86433.
|
||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
||||
if [[ -e "${file}" ]]; then
|
||||
addwrite ${file}
|
||||
fi
|
||||
done
|
||||
|
||||
local myconf=()
|
||||
if use minimal; then
|
||||
myconf=(
|
||||
--with-features=tiny
|
||||
--disable-nls
|
||||
--disable-canberra
|
||||
--disable-acl
|
||||
--enable-gui=no
|
||||
--without-x
|
||||
--disable-darwin
|
||||
--disable-luainterp
|
||||
--disable-perlinterp
|
||||
--disable-pythoninterp
|
||||
--disable-mzschemeinterp
|
||||
--disable-rubyinterp
|
||||
--disable-selinux
|
||||
--disable-tclinterp
|
||||
--disable-gpm
|
||||
)
|
||||
else
|
||||
use debug && append-flags "-DDEBUG"
|
||||
|
||||
myconf=(
|
||||
--with-features=huge
|
||||
$(use_enable sound canberra)
|
||||
$(use_enable acl)
|
||||
$(use_enable crypt libsodium)
|
||||
$(use_enable cscope)
|
||||
$(use_enable gpm)
|
||||
$(use_enable nls)
|
||||
$(use_enable perl perlinterp)
|
||||
$(use_enable python python3interp)
|
||||
$(use_with python python3-command "${PYTHON}")
|
||||
$(use_enable racket mzschemeinterp)
|
||||
$(use_enable ruby rubyinterp)
|
||||
$(use_enable selinux)
|
||||
$(use_enable tcl tclinterp)
|
||||
$(use_enable terminal)
|
||||
)
|
||||
|
||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
||||
if ! use cscope; then
|
||||
sed -i -e \
|
||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
||||
fi
|
||||
|
||||
if use lua; then
|
||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
||||
|
||||
myconf+=(
|
||||
--enable-luainterp
|
||||
$(use_with lua_single_target_luajit luajit)
|
||||
--with-lua-prefix="${EPREFIX}/usr"
|
||||
)
|
||||
fi
|
||||
|
||||
# don't test USE=X here ... see bug #19115
|
||||
# but need to provide a way to link against X ... see bug #20093
|
||||
myconf+=(
|
||||
--enable-gui=no
|
||||
--disable-darwin
|
||||
$(use_with X x)
|
||||
)
|
||||
fi
|
||||
|
||||
# let package manager strip binaries
|
||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
||||
|
||||
# keep prefix env contained within the EPREFIX
|
||||
use prefix && myconf+=( --without-local-dir )
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
export vim_cv_getcwd_broken=no \
|
||||
vim_cv_memmove_handles_overlap=yes \
|
||||
vim_cv_stat_ignores_slash=yes \
|
||||
vim_cv_terminfo=yes \
|
||||
vim_cv_toupper_broken=no
|
||||
fi
|
||||
|
||||
econf \
|
||||
--with-modified-by="Gentoo-${PVR} (RIP Bram)" \
|
||||
"${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The following allows emake to be used
|
||||
emake -j1 -C src auto/osdef.h objects
|
||||
|
||||
emake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo
|
||||
einfo "Starting vim tests. Several error messages will be shown"
|
||||
einfo "while the tests run. This is normal behaviour and does not"
|
||||
einfo "indicate a fault."
|
||||
einfo
|
||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
||||
ewarn "state. Usually, running 'reset' will fix this."
|
||||
einfo
|
||||
|
||||
# Don't let vim talk to X
|
||||
unset DISPLAY
|
||||
|
||||
# Arch and opensuse seem to do this and at this point, I'm willing
|
||||
# to try anything to avoid random test hangs!
|
||||
export TERM=xterm
|
||||
|
||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
||||
# for more information on test variables we can use.
|
||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
||||
#
|
||||
# Skipped tests:
|
||||
# - Test_expand_star_star
|
||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
||||
# - Test_exrc
|
||||
# Looks in wrong location? (bug #742710)
|
||||
# - Test_job_tty_in_out
|
||||
# Fragile and depends on TERM(?)
|
||||
# - Test_spelldump_bang
|
||||
# Hangs.
|
||||
# - Test_fuzzy_completion_env
|
||||
# Too sensitive to leaked environment variables.
|
||||
# - Test_term_mouse_multiple_clicks_to_select_mode
|
||||
# Hangs.
|
||||
# - Test_spelldump
|
||||
# Hangs.
|
||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
||||
|
||||
emake -j1 -C src/testdir nongui
|
||||
}
|
||||
|
||||
# Call eselect vi update with --if-unset
|
||||
# to respect user's choice (bug #187449)
|
||||
eselect_vi_update() {
|
||||
ebegin "Calling eselect vi update"
|
||||
eselect vi update --if-unset
|
||||
eend $?
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
||||
|
||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
||||
# managed by eselect-vi
|
||||
dobin src/vim
|
||||
if ! use minimal ; then
|
||||
dosym vim /usr/bin/vimdiff
|
||||
fi
|
||||
dosym vim /usr/bin/rvim
|
||||
dosym vim /usr/bin/rview
|
||||
if use vim-pager ; then
|
||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
||||
insinto ${vimfiles}/macros
|
||||
doins runtime/macros/manpager.sh
|
||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
||||
fi
|
||||
|
||||
domenu runtime/vim.desktop
|
||||
|
||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
||||
|
||||
# keep in sync with 'complete ... -F' list
|
||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# Update documentation tags (from vim-doc.eclass)
|
||||
update_vim_helptags
|
||||
|
||||
# Call eselect vi update
|
||||
eselect_vi_update
|
||||
|
||||
# update desktop file mime cache
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -2,3 +2,4 @@ DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd
|
||||
DIST qemu-7.1.0.tar.xz 121833004 BLAKE2B e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf SHA512 c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f
|
||||
DIST qemu-8.0.0.tar.xz 127835148 BLAKE2B 9b54aae10fe09691a26e68374723ded5fdda6409673b4de9461a25ee060cfd03968a16ddeadc21d48b9262e53aa6d4e5eb645376969f97c65807fad19607b04f SHA512 1f31d1e653dec2d35f1b7a5468ee3f471553b48eca8c8afafffcf9243c6b2260e78a5b73da3fe567f9b85d4133573eebd397747b3aec501fb24076263eb07b27
|
||||
DIST qemu-8.0.2.tar.xz 126707132 BLAKE2B f2b1a63e10c42aabfe39722c7732d0f04818ad367b769b3deb29c5bf9adcabc3aca1706f3c40fafeeb57ac1f7a61ded5066de32134c483e2fd27bc65b4b7d30a SHA512 4e915d33a662bf55b09247fb85150be376c92270d3764e3d6470c452cb70cc558f54e84de5610dd60a9eb3ea02d5d4277b1ec75c9804967d278fa8361c7f9b9a
|
||||
DIST qemu-8.0.3.tar.xz 126710536 BLAKE2B 071cc1a35209a02e8c5dd4f43cb112f110b4655adb0f870a04fdf9a6e2c761699574e8c9426f70f60787a99acf252d7a64d94a8e837cdfeda93d89428d7866f3 SHA512 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3
|
||||
|
@ -0,0 +1,82 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit edo systemd toolchain-funcs python-any-r1 udev
|
||||
|
||||
MY_PN="qemu"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
|
||||
HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
|
||||
SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
|
||||
RDEPEND="dev-libs/glib"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${PYTHON_DEPS}
|
||||
dev-lang/perl
|
||||
dev-util/ninja"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
tc-export AR LD OBJCOPY RANLIB
|
||||
|
||||
local myconf=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir="/usr/$(get_libdir)"
|
||||
--localstatedir=/
|
||||
--disable-bsd-user
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-strip
|
||||
--enable-tools
|
||||
--disable-werror
|
||||
--without-default-features
|
||||
--enable-guest-agent
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
)
|
||||
|
||||
edo ./configure "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin build/qga/qemu-ga
|
||||
|
||||
# Normal init stuff
|
||||
newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
|
||||
newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
|
||||
|
||||
# systemd stuff
|
||||
udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
|
||||
|
||||
systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
|
||||
qemu-guest-agent.service
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You should add 'qemu-guest-agent' to the default runlevel."
|
||||
elog "e.g. rc-update add qemu-guest-agent default"
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
@ -41,7 +41,7 @@ else
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST portage-utils-0.95.tar.xz 1806140 BLAKE2B 5a468a7b4006073203ba634a5d70398e254ef5db7e9b71fbcf20bce68942f74acce1d42b5d315931f93e8698c8dd2f38f328fcc6fdaa86addba7dbcc21fce5fa SHA512 2d1f4b986a377249043259d8ada1a35a7dd55179f0ef5c2c18a4180c8f1f7064133ab2677426098e61b1355fa26cb0f8aa3c6ea06d46af4c4ba2df4eb53489a4
|
||||
DIST portage-utils-0.96.1.tar.xz 1807156 BLAKE2B 6bf334c0083e5e8b0d6206ff43d4df0e32a9576ddedbe055cb6ef903b5f11d0878512ace7f93ea37207181321ca160a8f721b3095b2bcbfcdbb353ba3f5d4873 SHA512 769e734e0738aa52408fd6c151706085148818a19b2ad1051684e2d54fe9f486f2e3a25e8fb408c83325cfb428644c6c0aa3b6d1bac0d2189680c70d9657bcbf
|
||||
DIST portage-utils-0.96.tar.xz 1806032 BLAKE2B 93ef9658a4b0bae7fb0527462bd9d0d19f396262818380d8ec2022c9fda596265c50adc262bdf296a4dd8c6b891b064316281d21444c8b903db20ca2463879e3 SHA512 cc32f53532c082544cabe505d8b90b947b6ab48742678aa98cbe9ba291625e8449ed0ecd90e01dc00b06c209b34001ad57a060918658e53d3babdc5c76ea7b02
|
||||
|
@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then
|
||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||
else
|
||||
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
@ -21,6 +21,10 @@ SLOT="0"
|
||||
IUSE="openmp +qmanifest +qtegrity static"
|
||||
|
||||
RDEPEND="
|
||||
openmp? ( || (
|
||||
sys-devel/gcc:*[openmp]
|
||||
sys-libs/libomp
|
||||
) )
|
||||
qmanifest? (
|
||||
!static? (
|
||||
app-crypt/gpgme:=
|
||||
@ -50,9 +54,8 @@ DEPEND="${RDEPEND}
|
||||
)"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
# bug #898362, gnulib check explicitly looks for MIN in some headers
|
||||
QA_CONFIG_IMPL_DECL_SKIP="MIN"
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
@ -1,75 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="Small and fast Portage helper tools written in C"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Portage-utils"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3 autotools
|
||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||
else
|
||||
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="openmp +qmanifest +qtegrity static"
|
||||
|
||||
RDEPEND="
|
||||
qmanifest? (
|
||||
!static? (
|
||||
app-crypt/gpgme:=
|
||||
app-crypt/libb2:=
|
||||
dev-libs/openssl:=
|
||||
sys-libs/zlib:=
|
||||
)
|
||||
)
|
||||
qtegrity? (
|
||||
!static? (
|
||||
dev-libs/openssl:=
|
||||
)
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
qmanifest? (
|
||||
static? (
|
||||
app-crypt/gpgme[static-libs]
|
||||
app-crypt/libb2[static-libs]
|
||||
dev-libs/openssl[static-libs]
|
||||
sys-libs/zlib[static-libs]
|
||||
)
|
||||
)
|
||||
qtegrity? (
|
||||
static? (
|
||||
dev-libs/openssl[static-libs]
|
||||
)
|
||||
)"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
[[ ${PV} == *9999 ]] && eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
|
||||
econf \
|
||||
--disable-maintainer-mode \
|
||||
--with-eprefix="${EPREFIX}" \
|
||||
$(use_enable qmanifest) \
|
||||
$(use_enable qtegrity) \
|
||||
$(use_enable openmp)
|
||||
}
|
@ -54,6 +54,9 @@ DEPEND="${RDEPEND}
|
||||
)"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
# bug #898362, gnulib check explicitly looks for MIN in some headers
|
||||
QA_CONFIG_IMPL_DECL_SKIP="MIN"
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
}
|
||||
|
@ -10,3 +10,4 @@ DIST perl-5.38.0.tar.xz 13565448 BLAKE2B 22fd334d911e8ebe16ad2a96522110ad2c14d09
|
||||
DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c
|
||||
DIST perl-cross-1.4.1.tar.gz 117688 BLAKE2B e01103fb92764213dafb1ab92954fdc4bdcf1bd71a0064279ee75fed55a1c71850eaabdf667d6ab1c15eadccf7497668e5bb5ab13de33fef707fba14bfd52912 SHA512 5f403d3a52f724383d25c23b08e8001954300fa8f07a5b49df440ef4d06ef756404a6e448093c4f4d4f9a470b1c3f2b1b8b27d3d227ac1823552f6a377edd06a
|
||||
DIST perl-cross-1.4.tar.gz 113861 BLAKE2B 7c7783afccc6a04ab122a7c60b1cff7f0a2725655b2b63325ca25d7b8acb0cf993b496e2a590db943054336337ad215550b6b2a565f1d91a5aa9cfe3a4c36db4 SHA512 bde73cac13c0b42c4c6783d7e30dea491d70b65131e1c8434ef75db1f39a8e15ef5857568b706e8456faa3822402676dd247a1f20f4bed983597fdd5a6b4faad
|
||||
DIST perl-cross-1.5.tar.gz 115073 BLAKE2B ecc2764beef5dd188e56c2e499297e09e03a48fe4cb3b1582005e5899d7a3e9f28b9e600a18e16560a9a1955fef6d0a543a601574991a3853c8c9cdee7acc5df SHA512 b358d79e10777118b97568329e11b6b72cfe4960f2f3c0e857de31b515bd588448ad224d182b083f4075b47fd3877decbb037e7d26d4ba090011e6e41946370f
|
||||
|
@ -53,7 +53,7 @@ LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||
|
@ -6,7 +6,7 @@ EAPI=7
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.4.1
|
||||
CROSS_VER=1.5
|
||||
PATCH_BASE="perl-5.38.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
|
@ -8,6 +8,8 @@ DIST Python-3.12.0b3.tar.xz 20220780 BLAKE2B 78deb1efe3642bd11265fdb810d8e40d6d8
|
||||
DIST Python-3.12.0b3.tar.xz.asc 963 BLAKE2B fad39386d4f8a6a1103e0cef431ba171fd5e6af75b097684717f68046683bf967981d1aee0e17f7dc7f97578e686565f817e39de11b309c4e8d64949fff396aa SHA512 ab0d91f3c2fc001fe924f71182526d543a3c9e65238954bb954c58d03171a6cb3640a15570d2d7b889c6251fd876790121cd36bcc29a901f53d17f5f4f8f6f4e
|
||||
DIST Python-3.12.0b4.tar.xz 20244176 BLAKE2B 6f1d199fcce07b5ca4fbf5a24b382aac2af793c6f43346708d984b20422a2f9ac4e6bc352e3c008e7815083e06c4b69e36c1a3ea94a8e3c398a1d2188595a0f5 SHA512 942a47d12c51e13939c815de908e766b818e4862c536153ae94b8032b5263b0cc23bda9a75fe60f48ee400a4ce405e2583da684847623cf552c20efcbc663469
|
||||
DIST Python-3.12.0b4.tar.xz.asc 963 BLAKE2B 3ed0c47bd892791325598f20578bca72d8ffce9421c80d35c12b2a0d23611dfc329a2016f332950910990fcd9bd55e90753f547ca8a54dde039618b43c71a6b4 SHA512 ab2684cc4044bf39c8064ec7d41dc2d04f01c9bccf5404ec1fffbce89a3a831b4d7dac3613ef892988a16839aeb13cbc03a085fae5c086ee19d3bfb925dff6c0
|
||||
DIST Python-3.12.0rc1.tar.xz 20285264 BLAKE2B 2cbf77e9405426c58714506c14281a941b4006219215d990f79672719eaa4f26c7b6356a1096400aae84d682c5a9622dfd8ea90dc635312efba6cd8c730d3f37 SHA512 67c38317e34aa1c4ced831cf50f74de21f9e40ce708397be3682d0c1012c3e0b2617d77525dc6c3246725dfc11b5448792adc0ef2e3741e818776bc5fba0c50d
|
||||
DIST Python-3.12.0rc1.tar.xz.asc 963 BLAKE2B 852298edf878c891e53e317d21a31a5fbd6876aa958aae715a77c0bd27a508844964ad69280d15d59428375a14a8f97c24ce9ef64ab101020bd541d5125e8676 SHA512 319ce9c5d935dcbb5ea12468c5127b4541c1b8af443aef210bdd26030fc3eee062639601fd72e70428cc18179fafb33ad2527a0c262650c4da678544fd06d0b9
|
||||
DIST Python-3.8.17.tar.xz 20696584 BLAKE2B 07be197f7d753775b039ca200864e6d40cbb0115538604d0b214a5404beecd38e3ef416c1941f7871e2e92913d09faba48745bb9df141cf8e5ca77c7de6f0a24 SHA512 bc7e02acfebba86e4394f02195993500fac9347a52c7b49727eb0cdda38786ae917234272872d75effaddb042810d9682ef5627b0cc199f8aa0d5d3e315ddc0e
|
||||
DIST Python-3.8.17.tar.xz.asc 833 BLAKE2B c1eb893e8005c59c918528d676f06679182cf45ae256f9929d2daf56577dd2dcb3aff264e9ca47b605ecba2a1c00fabf282c59a231e67cec2324c33c6b3ca7f6 SHA512 bb017e2b17a3ca8ed568d2589285a87365bcca6a677e06fab5184d03e251ace6276117a160f59201e6a1c597e32d79ee109ffc7083266e6e2105b7afaaac3876
|
||||
DIST Python-3.9.17.tar.xz 19647312 BLAKE2B eae9d1c0b9a6cd9ce84af75e58899bcd127163c90434d2bc879047706adb087721aa5ac9425e6906e6238296b2695ea0304a2b93288627cee3560ee85f450062 SHA512 994d92346e563a4635411808744eac8207c68e6fc9c1db1c2eb4103dad8553aaad4a8116e38c61f28cb17905a12cc46dccdde985e1c45882bf1815081b88b6be
|
||||
@ -17,5 +19,8 @@ DIST python-gentoo-patches-3.10.12.tar.xz 13980 BLAKE2B 8ca0e652b73634d9fa52fbdd
|
||||
DIST python-gentoo-patches-3.11.4.tar.xz 7108 BLAKE2B 185bc558a24bead21719d543319a47b36fcd6bdd22a5dcb11ad794a381b2bc51c28f5ea03ca1ad3359e3f96c081c10b08285e4354daf85a0535bfd2123d40d16 SHA512 19ca9fa9071cab3938008af515a65def75ed5cff7152dcab5895b29fc1ba87044a1027540a1cc63231c4e77a8b67fe931bf39adf3d642a648e7da970a0cecd3c
|
||||
DIST python-gentoo-patches-3.12.0b3.tar.xz 4656 BLAKE2B b7ae4023c1aea6f3fe9f98bc1a974cfd79769dae104fb1dd88cf778f89b6a7d30f68093abc5211e746548e46ed06044beb7458b2ed3b0d67b5a48f00bc960683 SHA512 8d7fbb6ecf65770c6900dccff34c668a79efa3a86d55be50edaa3f583b50be9b4a7e628a41fa9efc92ad61ed9be8e04f1b324e68240fcfdaaad67b7a077ef928
|
||||
DIST python-gentoo-patches-3.12.0b4.tar.xz 4660 BLAKE2B 50c8b2d80b33f26a274a80884a071568ec0c79fa9312da544d5a748a5bd38d245de4f6919d8fc482e9f81c0c6686ef7d02f0b311e861d20be32846ccc875be72 SHA512 7cddf24248ee24c06b9bd765b2445b8bcf08e2f244cd9a9e1515d7207059e27efe818e0da088dc6f3b7fa882858836443484e13cdaabbbe0afe7a7db8c2dffce
|
||||
DIST python-gentoo-patches-3.12.0b4_p1.tar.xz 7772 BLAKE2B 54bc9fa2a39d36e83b4fca11c5f1b19df96777a1abc18a1dbd894d83e1504971e52e861225af44201d0d2c1740559c6fde0a52fe4d97111a5c1acf61efc4b47d SHA512 8bc7d81255f6b8f6b7d6be84af0a778bbb51126154c0ff2f0f5bb1a5ebdaf1055a4e012bbf239a1bbd0c5ca7d98fe8257731d1cf916ba55c10fddd5e75f6f33b
|
||||
DIST python-gentoo-patches-3.12.0b4_p2.tar.xz 8132 BLAKE2B 4c1df7c8e1dda483724d8c3bb8ab7a7739fcdee16eaf1a2a5aeedb6011c13769ee9f2d0b1cf849df12aaf3230c0771b16533496539e1a0fab633e38699c8a75f SHA512 9051311d1e31163d13b8d2b1981d700ad2cf297b30f8d2867df8fe535fdb7da11efcb6fef8a201a76ff05aa8ae91c3679eeee72a729dc7249714796f6af2be9f
|
||||
DIST python-gentoo-patches-3.12.0rc1.tar.xz 5040 BLAKE2B c03e9cc0f5ef0a68ab5d74764a30b8ab336b2b0feb105124fcb6f1ba660db7c27deab412f91b0980b072dcbe6bca06b8f2f9fd11aa11e95196d936fc8ba75bbc SHA512 bc8d67ccff73e3841c9fb591f5b1b4db7156cea0bde4edc2de605d6e921b5998c6f67bf7f1be505bcd50bc55b8f844be2b011720b5a93b04e7bf60df38bd5373
|
||||
DIST python-gentoo-patches-3.8.17.tar.xz 32424 BLAKE2B d992f6b1c971583000086175d07198d367e4504dea8829b35742a3daf2279ba1fbade8c37f00018bda97fa9080d1d40087c236486bbcd369c2d1c850de47a976 SHA512 d309da6805a72742cf8d1bb170a777edd7b7aa936d6e9967e96bed4427285180cd9935f202f899f3aa54632a31a5a94c5b7c20a343b1a714d8aa5fc6f8e9f371
|
||||
DIST python-gentoo-patches-3.9.17.tar.xz 25048 BLAKE2B da19105dfa2fda7b422ac368f85c97d7541be74a6f9b9170a19ceac901e026ab39baef83c610172ecba1f70cce6e2832e956c2e4c87387b0e21c79c2c633b116 SHA512 ce9d3c62c675bceccaac21fd467c54322a55a1c8af9be3a6dcfd7a892c03b39b38dc35ba570e3dd9fc984a5f3eeabb3cc564ba2d7f935dbf6df829264cb32b2f
|
||||
|
526
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_beta4_p1.ebuild
vendored
Normal file
526
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_beta4_p1.ebuild
vendored
Normal file
@ -0,0 +1,526 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_beta/b}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build debug +ensurepip examples gdbm libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
dev-python/gentoo-common
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-pip )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
kernel_linux? ( sys-apps/util-linux:= )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? (
|
||||
app-arch/xz-utils[extra-filters(+)]
|
||||
dev-python/ensurepip-pip
|
||||
dev-python/ensurepip-setuptools
|
||||
dev-python/ensurepip-wheel
|
||||
)
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
# false positives -- functions specific to *BSD
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-u-network
|
||||
|
||||
# We use a timeout because of how often we've had hang issues
|
||||
# here. It also matches the default upstream PROFILE_TASK.
|
||||
--timeout 1200
|
||||
|
||||
-x test_gdb
|
||||
-x test_dtrace
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
|
||||
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
|
||||
# bug #900429
|
||||
-x test_tools
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with debug assertions)
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# Avoid needing to load the right libpython.so.
|
||||
--disable-shared
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__GDBM_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__SQLITE3_STATE=disabled
|
||||
MODULE__HASHLIB_STATE=disabled
|
||||
MODULE__SSL_STATE=disabled
|
||||
MODULE__CURSES_STATE=disabled
|
||||
MODULE__CURSES_PANEL_STATE=disabled
|
||||
MODULE_READLINE_STATE=disabled
|
||||
MODULE__TKINTER_STATE=disabled
|
||||
MODULE_PYEXPAT_STATE=disabled
|
||||
MODULE_ZLIB_STATE=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# force-disable modules we don't want built
|
||||
local disable_modules=( NIS )
|
||||
use gdbm || disable_modules+=( _GDBM _DBM )
|
||||
use sqlite || disable_modules+=( _SQLITE3 )
|
||||
use ssl || disable_modules+=( _HASHLIB _SSL )
|
||||
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
|
||||
use readline || disable_modules+=( READLINE )
|
||||
use tk || disable_modules+=( _TKINTER )
|
||||
|
||||
local mod
|
||||
for mod in "${disable_modules[@]}"; do
|
||||
echo "MODULE_${mod}_STATE=disabled"
|
||||
done >> Makefile || die
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# the Makefile rules are broken
|
||||
# https://github.com/python/cpython/issues/100221
|
||||
mkdir -p "${libdir}"/lib-dynload || die
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || 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 Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
526
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_beta4_p2.ebuild
vendored
Normal file
526
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_beta4_p2.ebuild
vendored
Normal file
@ -0,0 +1,526 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_beta/b}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build debug +ensurepip examples gdbm libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
dev-python/gentoo-common
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-pip )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
kernel_linux? ( sys-apps/util-linux:= )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? (
|
||||
app-arch/xz-utils[extra-filters(+)]
|
||||
dev-python/ensurepip-pip
|
||||
dev-python/ensurepip-setuptools
|
||||
dev-python/ensurepip-wheel
|
||||
)
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
# false positives -- functions specific to *BSD
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-u-network
|
||||
|
||||
# We use a timeout because of how often we've had hang issues
|
||||
# here. It also matches the default upstream PROFILE_TASK.
|
||||
--timeout 1200
|
||||
|
||||
-x test_gdb
|
||||
-x test_dtrace
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
|
||||
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
|
||||
# bug #900429
|
||||
-x test_tools
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with debug assertions)
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# Avoid needing to load the right libpython.so.
|
||||
--disable-shared
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__GDBM_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__SQLITE3_STATE=disabled
|
||||
MODULE__HASHLIB_STATE=disabled
|
||||
MODULE__SSL_STATE=disabled
|
||||
MODULE__CURSES_STATE=disabled
|
||||
MODULE__CURSES_PANEL_STATE=disabled
|
||||
MODULE_READLINE_STATE=disabled
|
||||
MODULE__TKINTER_STATE=disabled
|
||||
MODULE_PYEXPAT_STATE=disabled
|
||||
MODULE_ZLIB_STATE=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# force-disable modules we don't want built
|
||||
local disable_modules=( NIS )
|
||||
use gdbm || disable_modules+=( _GDBM _DBM )
|
||||
use sqlite || disable_modules+=( _SQLITE3 )
|
||||
use ssl || disable_modules+=( _HASHLIB _SSL )
|
||||
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
|
||||
use readline || disable_modules+=( READLINE )
|
||||
use tk || disable_modules+=( _TKINTER )
|
||||
|
||||
local mod
|
||||
for mod in "${disable_modules[@]}"; do
|
||||
echo "MODULE_${mod}_STATE=disabled"
|
||||
done >> Makefile || die
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# the Makefile rules are broken
|
||||
# https://github.com/python/cpython/issues/100221
|
||||
mkdir -p "${libdir}"/lib-dynload || die
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || 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 Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
526
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_rc1.ebuild
vendored
Normal file
526
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_rc1.ebuild
vendored
Normal file
@ -0,0 +1,526 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
|
||||
inherit python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build debug +ensurepip examples gdbm libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
dev-python/gentoo-common
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-pip )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
kernel_linux? ( sys-apps/util-linux:= )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? (
|
||||
app-arch/xz-utils[extra-filters(+)]
|
||||
dev-python/ensurepip-pip
|
||||
dev-python/ensurepip-setuptools
|
||||
dev-python/ensurepip-wheel
|
||||
)
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
# false positives -- functions specific to *BSD
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-u-network
|
||||
|
||||
# We use a timeout because of how often we've had hang issues
|
||||
# here. It also matches the default upstream PROFILE_TASK.
|
||||
--timeout 1200
|
||||
|
||||
-x test_gdb
|
||||
-x test_dtrace
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
|
||||
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
|
||||
# bug #900429
|
||||
-x test_tools
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with debug assertions)
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# Avoid needing to load the right libpython.so.
|
||||
--disable-shared
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__GDBM_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__SQLITE3_STATE=disabled
|
||||
MODULE__HASHLIB_STATE=disabled
|
||||
MODULE__SSL_STATE=disabled
|
||||
MODULE__CURSES_STATE=disabled
|
||||
MODULE__CURSES_PANEL_STATE=disabled
|
||||
MODULE_READLINE_STATE=disabled
|
||||
MODULE__TKINTER_STATE=disabled
|
||||
MODULE_PYEXPAT_STATE=disabled
|
||||
MODULE_ZLIB_STATE=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# force-disable modules we don't want built
|
||||
local disable_modules=( NIS )
|
||||
use gdbm || disable_modules+=( _GDBM _DBM )
|
||||
use sqlite || disable_modules+=( _SQLITE3 )
|
||||
use ssl || disable_modules+=( _HASHLIB _SSL )
|
||||
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
|
||||
use readline || disable_modules+=( READLINE )
|
||||
use tk || disable_modules+=( _TKINTER )
|
||||
|
||||
local mod
|
||||
for mod in "${disable_modules[@]}"; do
|
||||
echo "MODULE_${mod}_STATE=disabled"
|
||||
done >> Makefile || die
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
addpredict "/usr/lib/python${PYVER}/site-packages"
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
# workaround https://bugs.gentoo.org/775416
|
||||
addwrite "/usr/lib/python${PYVER}/site-packages"
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# the Makefile rules are broken
|
||||
# https://github.com/python/cpython/issues/100221
|
||||
mkdir -p "${libdir}"/lib-dynload || die
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || 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 Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
@ -73,10 +73,6 @@ src_configure() {
|
||||
# bug #407135
|
||||
use test && append-flags -g
|
||||
|
||||
# Symbol aliases are implemented as asm statements.
|
||||
# Will require porting: https://gcc.gnu.org/PR48200
|
||||
filter-lto
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.
|
||||
|
||||
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 lzma nls static-libs test +utils zstd"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
@ -78,10 +78,6 @@ src_configure() {
|
||||
# bug #407135
|
||||
use test && append-flags -g
|
||||
|
||||
# Symbol aliases are implemented as asm statements.
|
||||
# Will require porting: https://gcc.gnu.org/PR48200
|
||||
filter-lto
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
|
124
sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.189-r3.ebuild
vendored
Normal file
124
sdk_container/src/third_party/portage-stable/dev-libs/elfutils/elfutils-0.189-r3.ebuild
vendored
Normal file
@ -0,0 +1,124 @@
|
||||
# Copyright 2003-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/elfutils.gpg
|
||||
inherit autotools flag-o-matic multilib-minimal verify-sig
|
||||
|
||||
DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
|
||||
HOMEPAGE="https://sourceware.org/elfutils/"
|
||||
SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
|
||||
SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )"
|
||||
|
||||
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
!dev-libs/libelf
|
||||
>=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
|
||||
bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
|
||||
debuginfod? (
|
||||
app-arch/libarchive:=
|
||||
dev-db/sqlite:3=
|
||||
net-libs/libmicrohttpd:=
|
||||
|
||||
net-misc/curl[static-libs?,${MULTILIB_USEDEP}]
|
||||
)
|
||||
lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
|
||||
elibc_musl? (
|
||||
dev-libs/libbsd
|
||||
sys-libs/argp-standalone
|
||||
sys-libs/fts-standalone
|
||||
sys-libs/obstack-standalone
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
>=sys-devel/flex-2.5.4a
|
||||
sys-devel/m4
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-elfutils )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.189-PaX-support.patch
|
||||
"${FILESDIR}"/${PN}-0.189-skip-DT_RELR-failing-tests.patch
|
||||
"${FILESDIR}"/${PN}-0.189-tests-run-lfs-symbols.sh-needs-gawk.patch
|
||||
"${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
|
||||
"${FILESDIR}"/${PN}-0.189-musl-macros.patch
|
||||
"${FILESDIR}"/${P}-configure-bashisms.patch
|
||||
"${FILESDIR}"/${P}-clang16-tests.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Only here for ${P}-configure-bashisms.patch, delete on next bump!
|
||||
eautoreconf
|
||||
|
||||
if ! use static-libs; then
|
||||
sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
|
||||
fi
|
||||
|
||||
# https://sourceware.org/PR23914
|
||||
sed -i 's:-Werror::' */Makefile.in || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# bug #407135
|
||||
use test && append-flags -g
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_enable nls)
|
||||
$(multilib_native_use_enable debuginfod)
|
||||
$(use_enable debuginfod libdebuginfod)
|
||||
|
||||
# explicitly disable thread safety, it's not recommended by upstream
|
||||
# doesn't build either on musl.
|
||||
--disable-thread-safety
|
||||
|
||||
# Valgrind option is just for running tests under it; dodgy under sandbox
|
||||
# and indeed even w/ glibc with newer instructions.
|
||||
--disable-valgrind
|
||||
--program-prefix="eu-"
|
||||
--with-zlib
|
||||
$(use_with bzip2 bzlib)
|
||||
$(use_with lzma)
|
||||
$(use_with zstd)
|
||||
)
|
||||
|
||||
# Needed because sets alignment macro
|
||||
is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address )
|
||||
is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined )
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
|
||||
LC_ALL="C" \
|
||||
emake check VERBOSE=1
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
dodoc NOTES
|
||||
|
||||
# These build quick, and are needed for most tests, so don't
|
||||
# disable their building when the USE flag is disabled.
|
||||
if ! use utils; then
|
||||
rm -rf "${ED}"/usr/bin || die
|
||||
fi
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
Add support for PaX ELF markings
|
||||
|
||||
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
|
||||
|
||||
http://bugs.gentoo.org/115100
|
||||
|
||||
--- a/libelf/elf.h
|
||||
+++ b/libelf/elf.h
|
||||
@@ -722,6 +722,7 @@ typedef struct
|
||||
#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
|
||||
#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
|
||||
#define PT_GNU_PROPERTY 0x6474e553 /* GNU property */
|
||||
+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */
|
||||
#define PT_LOSUNW 0x6ffffffa
|
||||
#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
|
||||
#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
|
||||
--- a/src/elflint.c
|
||||
+++ b/src/elflint.c
|
||||
@@ -4493,6 +4493,7 @@ only executables, shared objects, and core files can have program headers\n"));
|
||||
|
||||
if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME
|
||||
&& phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO
|
||||
+ && phdr->p_type != PT_PAX_FLAGS
|
||||
&& phdr->p_type != PT_GNU_PROPERTY
|
||||
/* Check for a known machine-specific type. */
|
||||
&& ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL)
|
@ -0,0 +1,57 @@
|
||||
https://www.sourceware.org/bugzilla/show_bug.cgi?id=25832
|
||||
https://cgit.openembedded.org/openembedded-core/plain/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
|
||||
https://bugs.gentoo.org/693772
|
||||
|
||||
Other variants/links:
|
||||
https://git.alpinelinux.org/aports/tree/main/elfutils/fix-aarch64_fregs.patch
|
||||
https://github.com/gentoo/musl/blob/6450482b9b4463b57ac249c63b7ed796e9874c40/dev-libs/elfutils/files/0.178/fix-aarch64_fregs.patch
|
||||
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Tue, 15 Aug 2017 17:27:30 +0800
|
||||
Subject: [PATCH] Fix build on aarch64/musl
|
||||
|
||||
Errors
|
||||
|
||||
invalid operands to binary & (have 'long double' and 'unsigned int')
|
||||
|
||||
error: redefinition
|
||||
of 'struct iovec'
|
||||
struct iovec { void *iov_base; size_t iov_len; };
|
||||
^
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Rebase to 0.170
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
--- a/backends/aarch64_initreg.c
|
||||
+++ b/backends/aarch64_initreg.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "system.h"
|
||||
#include <assert.h>
|
||||
#if defined(__aarch64__) && defined(__linux__)
|
||||
-# include <linux/uio.h>
|
||||
+# include <sys/uio.h>
|
||||
# include <sys/user.h>
|
||||
# include <sys/ptrace.h>
|
||||
/* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
|
||||
@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
|
||||
|
||||
Dwarf_Word dwarf_fregs[32];
|
||||
for (int r = 0; r < 32; r++)
|
||||
- dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF;
|
||||
+ dwarf_fregs[r] = (unsigned int)fregs.vregs[r] & 0xFFFFFFFF;
|
||||
|
||||
if (! setfunc (64, 32, dwarf_fregs, arg))
|
||||
return false;
|
||||
--- a/backends/arm_initreg.c
|
||||
+++ b/backends/arm_initreg.c
|
||||
@@ -38,7 +38,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef __aarch64__
|
||||
-# include <linux/uio.h>
|
||||
+# include <sys/uio.h>
|
||||
# include <sys/user.h>
|
||||
# include <sys/ptrace.h>
|
||||
/* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
|
@ -0,0 +1,86 @@
|
||||
May not be required (or at least some hunks) with next release (0.186?)
|
||||
|
||||
https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch
|
||||
--- a/lib/libeu.h
|
||||
+++ b/lib/libeu.h
|
||||
@@ -31,6 +31,27 @@
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
+#include <unistd.h>
|
||||
+#include <alloca.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+#ifndef TEMP_FAILURE_RETRY
|
||||
+#define TEMP_FAILURE_RETRY(expression) \
|
||||
+ (__extension__ \
|
||||
+ ({ long int __result; \
|
||||
+ do __result = (long int) (expression); \
|
||||
+ while (__result == -1L && errno == EINTR); \
|
||||
+ __result; }))
|
||||
+#endif
|
||||
+
|
||||
+#ifndef strndupa
|
||||
+#define strndupa(s, n) \
|
||||
+ (__extension__ ({const char *__in = (s); \
|
||||
+ size_t __len = strnlen (__in, (n)) + 1; \
|
||||
+ char *__out = (char *) alloca (__len); \
|
||||
+ __out[__len-1] = '\0'; \
|
||||
+ (char *) memcpy (__out, __in, __len-1);}))
|
||||
+#endif
|
||||
|
||||
extern void *xmalloc (size_t) __attribute__ ((__malloc__));
|
||||
extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__));
|
||||
--- a/src/arlib.h
|
||||
+++ b/src/arlib.h
|
||||
@@ -29,6 +29,16 @@
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
+#if !defined(ACCESSPERMS)
|
||||
+# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
|
||||
+#endif
|
||||
+#if !defined(ALLPERMS)
|
||||
+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
|
||||
+#endif
|
||||
+#if !defined(DEFFILEMODE)
|
||||
+# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/
|
||||
+#endif
|
||||
+
|
||||
|
||||
/* State of -D/-U flags. */
|
||||
extern bool arlib_deterministic_output;
|
||||
--- a/src/elfcompress.c
|
||||
+++ b/src/elfcompress.c
|
||||
@@ -37,6 +37,14 @@
|
||||
#include "libeu.h"
|
||||
#include "printversion.h"
|
||||
|
||||
+#if !defined(FNM_EXTMATCH)
|
||||
+# define FNM_EXTMATCH 0
|
||||
+#endif
|
||||
+
|
||||
+#if !defined(ALLPERMS)
|
||||
+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
|
||||
+#endif
|
||||
+
|
||||
/* Name and version of program. */
|
||||
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
|
||||
|
||||
--- a/src/strip.c
|
||||
+++ b/src/strip.c
|
||||
@@ -45,6 +45,14 @@
|
||||
#include <system.h>
|
||||
#include <printversion.h>
|
||||
|
||||
+#if !defined(FNM_EXTMATCH)
|
||||
+# define FNM_EXTMATCH 0
|
||||
+#endif
|
||||
+
|
||||
+#if !defined(ACCESSPERMS)
|
||||
+#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
|
||||
+#endif
|
||||
+
|
||||
typedef uint8_t GElf_Byte;
|
||||
|
||||
/* Name and version of program. */
|
@ -0,0 +1,39 @@
|
||||
We know these tests fail with DT_RELR (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
|
||||
so skip for now.
|
||||
--- a/tests/run-elflint-self.sh
|
||||
+++ b/tests/run-elflint-self.sh
|
||||
@@ -18,5 +18,8 @@
|
||||
|
||||
. $srcdir/test-subr.sh
|
||||
|
||||
+# XFAIL b/c no DT_RELR support yet (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
|
||||
+exit 77
|
||||
+
|
||||
testrun_on_self ${abs_top_builddir}/src/elflint --quiet --gnu-ld
|
||||
testrun_on_self_compressed ${abs_top_builddir}/src/elflint --quiet --gnu-ld
|
||||
--- a/tests/run-strip-strmerge.sh
|
||||
+++ b/tests/run-strip-strmerge.sh
|
||||
@@ -17,6 +17,9 @@
|
||||
|
||||
. $srcdir/test-subr.sh
|
||||
|
||||
+# XFAIL b/c no DT_RELR support yet (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
|
||||
+exit 77
|
||||
+
|
||||
# Generate a file with merged .shstrtab/.strtab table.
|
||||
# strip and unstrip it. Check all files with elflint.
|
||||
|
||||
diff --git a/tests/run-reverse-sections-self.sh b/tests/run-reverse-sections-self.sh
|
||||
index 71afd6a..87de933 100755
|
||||
--- a/tests/run-reverse-sections-self.sh
|
||||
+++ b/tests/run-reverse-sections-self.sh
|
||||
@@ -17,6 +17,9 @@
|
||||
|
||||
. $srcdir/test-subr.sh
|
||||
|
||||
+# XFAIL b/c no DT_RELR support yet (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
|
||||
+exit 77
|
||||
+
|
||||
test_reverse_self ()
|
||||
{
|
||||
in_file="$1"
|
@ -0,0 +1,41 @@
|
||||
https://inbox.sourceware.org/elfutils-devel/20230719231639.1786109-1-sam@gentoo.org/T/#u
|
||||
|
||||
From 7f607f9aba5c6fccb3d94776452b1cfa421df1f7 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Thu, 20 Jul 2023 00:15:10 +0100
|
||||
Subject: [PATCH] tests: run-lfs-symbols.sh needs gawk
|
||||
|
||||
With awk=mawk, I get:
|
||||
```
|
||||
FAIL: run-lfs-symbols.sh
|
||||
|
||||
First sanity-check that LFS detection works.
|
||||
checking ./testfile-nolfs
|
||||
awk: line 3: syntax error at or near /
|
||||
FAIL run-lfs-symbols.sh (exit status: 2)
|
||||
```
|
||||
|
||||
* tests/run-lfs-symbols.sh: Call 'gawk' instead of 'awk'.
|
||||
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
--- a/tests/run-lfs-symbols.sh
|
||||
+++ b/tests/run-lfs-symbols.sh
|
||||
@@ -42,13 +42,13 @@ LFS_FORMAT='BEGIN {
|
||||
LFS=$(printf "$LFS_FORMAT" "${abs_srcdir}/lfs-symbols")
|
||||
|
||||
makeprint() {
|
||||
- make print-$1 -C $2 |& awk -F= "/^$1=/{ print \$2 }"
|
||||
+ make print-$1 -C $2 |& gawk -F= "/^$1=/{ print \$2 }"
|
||||
}
|
||||
|
||||
testrun_lfs() {
|
||||
echo "checking $1"
|
||||
if [ -e "$1" ]; then
|
||||
- bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | awk "$LFS")
|
||||
+ bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | gawk "$LFS")
|
||||
if [ -n "$bad" ]; then
|
||||
echo "$1 contains non-lfs symbols:" $bad
|
||||
exit_status=1
|
||||
--
|
||||
2.41.0
|
||||
|
@ -8,6 +8,7 @@
|
||||
<use>
|
||||
<flag name="lzma">Support automatic decompression of LZMA-compressed files and kernel images</flag>
|
||||
<flag name="utils">Install command-line utilities (all the eu-* programs)</flag>
|
||||
<flag name="debuginfod">Enable debuginfod support, both the debuginfod server and the libdebuginfod client library</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:elfutils_project:elfutils</remote-id>
|
||||
|
@ -1,3 +1,4 @@
|
||||
DIST gmp-6.2.1-arm64-darwin.patch.bz2 2520 BLAKE2B 3d4e9dbd29dc9aa81f0c9e0de4a5904c989d54148c9e3dcc5097a43b3fb1ecd17802dacfc71ee131c0805a345f5dce9009e88439758d3a0ed8b3a88526353b4a SHA512 72d49f09c3facd75036c945e076207e72e5673ba9605999c32a122e43e8b970ed646c8ca8f07acbb62bff5e7c387d4c8e1f73ca73e50ac3f574b5f6471d66d56
|
||||
DIST gmp-6.2.1.tar.xz 2027316 BLAKE2B c0d85f175392a50cfa01bc6b0a312b235946ad8b4f6f84f6dabd33d7a6f2cc75c9b0e1e33057be07750bfa0145b7c4cf3b6188a5be6ca9d7271ec2276c84ebcb SHA512 c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84
|
||||
DIST gmp-6.3.0.tar.xz 2094196 BLAKE2B a865129e2b3f634ec5bad7f97ed89532e43f5662ac47a7d8ab7f0df8c9f8d0886bd984651422e2573c2163bca69c0547c248147ec90880accbd53db97dc0ddee SHA512 e85a0dab5195889948a3462189f0e0598d331d3457612e2d3350799dba2e244316d256f8161df5219538eb003e4b5343f989aaa00f96321559063ed8c8f29fd2
|
||||
DIST gmp-man-6.2.1.pdf 827583 BLAKE2B 9aa25457a3c488e37cc7d54d825253ab749a3780919570579b319cf607001de50b212ca387b70213abcc5ab428b4525bdb9cd8ae932798a2d7928da98ce3f353 SHA512 f2d9d02e97975355ef490e921fedc94fb7687c3661eec8fa2e94a1622b6e59b17b3879eb3ec1f2df8edac100f727175144d107f4c49c602b773c43bc9e91dbcb
|
||||
|
186
sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0.ebuild
vendored
Normal file
186
sdk_container/src/third_party/portage-stable/dev-libs/gmp/gmp-6.3.0.ebuild
vendored
Normal file
@ -0,0 +1,186 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit gnuconfig libtool flag-o-matic multilib-minimal toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_p*}
|
||||
MY_PV=${MY_PV/_/-}
|
||||
|
||||
MANUAL_PV=${MY_PV}
|
||||
MANUAL_PV=6.2.1
|
||||
|
||||
MY_P=${PN}-${MY_PV}
|
||||
PLEVEL=${PV/*p}
|
||||
|
||||
DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
|
||||
HOMEPAGE="https://gmplib.org/"
|
||||
SRC_URI="
|
||||
https://gmplib.org/download/gmp/${MY_P}.tar.xz
|
||||
mirror://gnu/${PN}/${MY_P}.tar.xz
|
||||
doc? ( https://gmplib.org/${PN}-man-${MANUAL_PV}.pdf )
|
||||
"
|
||||
S="${WORKDIR}"/${MY_P%a}
|
||||
|
||||
LICENSE="|| ( LGPL-3+ GPL-2+ )"
|
||||
# The subslot reflects the C & C++ SONAMEs.
|
||||
SLOT="0/10.4"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="+asm doc +cpudetection +cxx pic static-libs"
|
||||
REQUIRED_USE="cpudetection? ( asm )"
|
||||
RESTRICT="!cpudetection? ( bindist )"
|
||||
|
||||
BDEPEND="
|
||||
app-arch/xz-utils
|
||||
sys-devel/m4
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
|
||||
HTML_DOCS=( doc )
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
|
||||
"${FILESDIR}"/${PN}-6.2.1-no-zarch.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if use cpudetection && ! use amd64 && ! use x86 ; then
|
||||
elog "Using generic C implementation on non-amd64/x86 with USE=cpudetection"
|
||||
elog "--enable-fat is a no-op on alternative arches."
|
||||
elog "To obtain an optimized build, set USE=-cpudetection, but binpkgs should not then be made."
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# We cannot run autotools here as gcc depends on this package
|
||||
elibtoolize
|
||||
|
||||
# bug #536894
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch
|
||||
fi
|
||||
|
||||
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
|
||||
# So, to avoid patching the source constantly, wrap things up.
|
||||
mv configure configure.wrapped || die
|
||||
cat <<-\EOF > configure
|
||||
#!/usr/bin/env sh
|
||||
exec env ABI="${GMPABI}" "$0.wrapped" "$@"
|
||||
EOF
|
||||
|
||||
# Patches to original configure might have lost the +x bit.
|
||||
chmod a+rx configure{,.wrapped} || die
|
||||
|
||||
# Save the upstream files named config.{guess,sub} which are
|
||||
# wrappers around the gnuconfig versions.
|
||||
mkdir "${T}"/gmp-gnuconfig || die
|
||||
mv config.guess "${T}"/gmp-gnuconfig/config.guess || die
|
||||
mv config.sub "${T}"/gmp-gnuconfig/config.sub || die
|
||||
# Grab fresh copies from gnuconfig.
|
||||
touch config.guess config.sub || die
|
||||
gnuconfig_update
|
||||
# Rename the fresh copies to the filenames the wrappers from GMP
|
||||
# expect.
|
||||
mv config.guess configfsf.guess || die
|
||||
mv config.sub configfsf.sub || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Generally a very fragile package
|
||||
strip-flags
|
||||
# Miscompiled with LTO at least on arm64, bug #889948
|
||||
# 6.3.0 says it now supports LTO, but needs retesting on a variety
|
||||
# of platforms. Fix was maybe https://gmplib.org/repo/gmp-6.3/rev/9c324044f4b5.
|
||||
filter-lto
|
||||
|
||||
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
|
||||
# https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
|
||||
if [[ ${CHOST} == hppa2.0-* ]] ; then
|
||||
GMPABI="1.0"
|
||||
fi
|
||||
|
||||
# ABI mappings (needs all architectures supported)
|
||||
case ${ABI} in
|
||||
32|x86) GMPABI=32;;
|
||||
64|amd64|n64) GMPABI=64;;
|
||||
[onx]32) GMPABI=${ABI};;
|
||||
esac
|
||||
export GMPABI
|
||||
|
||||
tc-export CC
|
||||
|
||||
# https://gmplib.org/manual/Notes-for-Package-Builds
|
||||
local myeconfargs=(
|
||||
CC_FOR_BUILD="$(tc-getBUILD_CC)"
|
||||
|
||||
--localstatedir="${EPREFIX}"/var/state/gmp
|
||||
--enable-shared
|
||||
|
||||
$(use_enable asm assembly)
|
||||
# fat is needed to avoid gmp installing either purely generic
|
||||
# or specific-to-used-CPU (which our config.guess refresh prevents at the moment).
|
||||
# Both Fedora and opensuse use this option to tackle the issue, bug #883201.
|
||||
#
|
||||
# This only works for amd64/x86, so to get accelerated performance
|
||||
# (i.e. not using the generic C), one needs USE=-cpudetection if
|
||||
# on non-amd64/x86.
|
||||
#
|
||||
# (We do not mask USE=cpudetection on !amd64/x86 because we want
|
||||
# the flag to be useful on other arches to allow opting out of the
|
||||
# config.guess logic below.)
|
||||
$(use_enable cpudetection fat)
|
||||
$(use_enable cxx)
|
||||
$(use_enable static-libs static)
|
||||
|
||||
# --with-pic forces static libraries to be built as PIC
|
||||
# and without TEXTRELs. musl does not support TEXTRELs: bug #707332
|
||||
$(use pic && echo --with-pic)
|
||||
|
||||
# XXX: In the past, we had PGO support with upstream's 'tuneup' script
|
||||
# per https://gmplib.org/manual/Performance-optimization, but we had
|
||||
# a variety of issues with it: bug #454912, bug #650558, and bug #658688.
|
||||
)
|
||||
|
||||
# Move the wrappers from GMP back into place (may have been destroyed by previous econf run)
|
||||
cp "${T}"/gmp-gnuconfig/config.guess "${S}"/config.guess || die
|
||||
cp "${T}"/gmp-gnuconfig/config.sub "${S}"/config.sub || die
|
||||
|
||||
# See bug #883201 again.
|
||||
if ! use cpudetection && ! tc-is-cross-compiler ; then
|
||||
local gmp_host=$("${S}"/config.guess || die "failed to run config.guess")
|
||||
|
||||
if [[ -z ${gmp_host} ]] ; then
|
||||
die "Empty result from GMP's custom config.guess!"
|
||||
fi
|
||||
|
||||
einfo "GMP guessed processor type: ${gmp_host}"
|
||||
ewarn "This build will only work on this machine. Enable USE=cpudetection for binary packages!"
|
||||
export ac_cv_build="${gmp_host}"
|
||||
export ac_cv_host="${gmp_host}"
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# Should be a standalone lib
|
||||
rm -f "${ED}"/usr/$(get_libdir)/libgmp.la
|
||||
|
||||
# This requires libgmp
|
||||
local la="${ED}/usr/$(get_libdir)/libgmpxx.la"
|
||||
if ! use static-libs ; then
|
||||
rm -f "${la}" || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/
|
||||
}
|
@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
|
||||
|
||||
LICENSE="GPL-3 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
# Note: On each bump, update dep bounds on each version from configure.ac!
|
||||
RDEPEND=">=dev-libs/libgpg-error-1.33"
|
||||
|
@ -19,7 +19,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
|
||||
|
||||
LICENSE="LGPL-3+ GPL-2+ GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="static-libs"
|
||||
|
||||
RDEPEND=">=dev-libs/libgpg-error-1.33"
|
||||
|
@ -0,0 +1,18 @@
|
||||
https://bugs.exim.org/show_bug.cgi?id=2173#c4
|
||||
https://bugs.gentoo.org/910188
|
||||
https://github.com/MariaDB/server/pull/2700
|
||||
--- a/pcre_exec.c
|
||||
+++ b/pcre_exec.c
|
||||
@@ -509,6 +509,12 @@
|
||||
(e.g. stopped by repeated call or recursion limit)
|
||||
*/
|
||||
|
||||
+#ifdef __GNUC__
|
||||
+static int
|
||||
+match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
|
||||
+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
|
||||
+ unsigned int rdepth) __attribute__((optnone,noinline,noclone));
|
||||
+#endif
|
||||
static int
|
||||
match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
|
||||
PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
|
106
sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r2.ebuild
vendored
Normal file
106
sdk_container/src/third_party/portage-stable/dev-libs/libpcre/libpcre-8.45-r2.ebuild
vendored
Normal file
@ -0,0 +1,106 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit libtool multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
DESCRIPTION="Perl-compatible regular expression library"
|
||||
HOMEPAGE="http://www.pcre.org/"
|
||||
MY_P="pcre-${PV/_rc/-RC}"
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
# Only the final releases are available here.
|
||||
SRC_URI="
|
||||
mirror://sourceforge/pcre/${MY_P}.tar.bz2
|
||||
https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
|
||||
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
|
||||
"
|
||||
else
|
||||
SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
|
||||
REQUIRED_USE="
|
||||
readline? ( !libedit )
|
||||
libedit? ( !readline )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
zlib? ( sys-libs/zlib )
|
||||
libedit? ( dev-libs/libedit )
|
||||
readline? ( sys-libs/readline:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/pcre-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-8.45-fix-stack-size-detection.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
$(multilib_native_use_enable bzip2 pcregrep-libbz2)
|
||||
$(use_enable cxx cpp)
|
||||
$(use_enable jit)
|
||||
$(use_enable jit pcregrep-jit)
|
||||
$(use_enable pcre16)
|
||||
$(use_enable pcre32)
|
||||
$(multilib_native_use_enable libedit pcretest-libedit)
|
||||
$(multilib_native_use_enable readline pcretest-libreadline)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable unicode utf)
|
||||
$(use_enable unicode unicode-properties)
|
||||
$(multilib_native_use_enable valgrind)
|
||||
$(multilib_native_use_enable zlib pcregrep-libz)
|
||||
|
||||
--enable-pcre8
|
||||
--enable-shared
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
$(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
|
||||
install
|
||||
|
||||
gen_usr_ldscript -a pcre
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /$(get_libdir)/libpcre.so.0
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
|
||||
}
|
@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="BSD BSD-2 ISC MIT"
|
||||
|
@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
|
||||
inherit autotools git-r3
|
||||
else
|
||||
inherit gnome.org libtool
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
SRC_URI+="
|
||||
|
@ -14,7 +14,7 @@ SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.gz.sig )"
|
||||
LICENSE="|| ( LGPL-3 LGPL-2.1 )"
|
||||
# Subslot = libnettle - libhogweed soname version
|
||||
SLOT="0/8-6"
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="+asm doc +gmp static-libs cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_sha cpu_flags_x86_pclmul"
|
||||
# The arm64 crypto option controls AES, SHA1, and SHA2 usage.
|
||||
REQUIRED_USE="
|
||||
|
@ -1,5 +1,4 @@
|
||||
DIST cython-0.29.34.gh.tar.gz 2114639 BLAKE2B c5f70fd3e6074d9030a1035bc98d71b703e0f391b61bd91f3ffba2c35a29a98b9ff8ef2047e7c75743ead280f0f06a924abe84ae8bf7696b65da662a3c58ee0c SHA512 51679d1304d0f87dfb51e60c753f1ce60027f855a91cf130a5dcf84353884a7dcf09c01701945ae2f9173f8f095890c377d5faac28c2f01d7f764609c0130411
|
||||
DIST cython-0.29.35.gh.tar.gz 2115190 BLAKE2B ac23abbd2b560ee52a79840d995a4cf36ddb3a8705b9327010f1ad6add8028185c15703efcc1d59b581d65b5de38e123c0f07c36fe6ffe54a6efee7512161344 SHA512 35d679d94e1f731e004b83fb4ae0d569703b0800c913012308146b1c54463ce12cb1cf3733e24162fb357f179444c5ca31108a37850e6c749ddebac5175119f5
|
||||
DIST cython-0.29.36.gh.tar.gz 2115333 BLAKE2B 6d43779c7222ff65d7de3a35ec18ef636480807d53480a8f94cc8c92d462fcc2f4d201a3bbf6e840a11fd33025e32c53f85626b05c131d10eed2859cdca7eb2d SHA512 a086fe1a11290cd3c870b891e61a0a0e2595bab9c26888024a758b6950c07059346d682fa9349e46c0af89805abbdd750059b3189960b8ce18007dfb5eb4391a
|
||||
DIST cython-3.0.0b3.gh.tar.gz 2688784 BLAKE2B 933bb48b2bf5169c973a36c877a36eae28b80409a7ff395b82a14ac0740247496df3c9f2d69884c823b7475069f0c75d6cbbb964b88de60b38082e6e36659bff SHA512 f1d0fdcec4bc6b0f6cb66078592424fdcb7a028b79c5b9d41280ae112235736d11c9f4f793e810007e880ae0def195ac25999db59065c7f7bdcfab84b06bf7d3
|
||||
DIST cython-3.0.0rc2.gh.tar.gz 2713358 BLAKE2B 5d1e1043e0785c4e79441e47ab6d03b7dbdff8728946707acd39452c1a20e3527e3142bbf09d140d28e233ef0ae0e870650f5f77a8d2a1d084199b5b39937463 SHA512 42ff1b3f2509c90be6007b9156454ae89c1be26a9dde6ca9c109b0cfa3de30797eeeffef38ea1bfe37a9c8e062c776c8cb755826f8c25aa7c9703fbb031bf643
|
||||
DIST cython-3.0.0.gh.tar.gz 2713478 BLAKE2B 16be50b463cf155417fee02b4529bbde8c4402bac0098ddf2cb05e33ac4c5b455bf7595b046b2bc6edcc8121f2c6be3b7af60c3c721a37bebcf4c654cd41a43f SHA512 a9bf6f0a78accd0624bc2a61329541d97d60257ae3a6b6601f73bd9122427a3d460129b317f000d3061a4dfe3e6a6de59342354862ded13e85c7eb622ee39f9a
|
||||
|
@ -11,7 +11,7 @@ PYTHON_REQ_USE="threads(+)"
|
||||
|
||||
inherit distutils-r1 multiprocessing toolchain-funcs
|
||||
|
||||
MY_P=${P/_beta/b}
|
||||
MY_P=${P/_rc/rc}
|
||||
DESCRIPTION="A Python to C compiler"
|
||||
HOMEPAGE="
|
||||
https://cython.org/
|
||||
@ -19,7 +19,7 @@ HOMEPAGE="
|
||||
https://pypi.org/project/Cython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/cython/cython/archive/${PV/_beta/b}.tar.gz
|
||||
https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
@ -43,11 +43,7 @@ PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
|
||||
"${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
|
||||
"${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
|
||||
# backport upstream fix e.g. for dev-python/pysimdjson on py3.12
|
||||
"${FILESDIR}/${P}-py312-long.patch"
|
||||
# should fix dev-python/symengine
|
||||
# https://github.com/cython/cython/pull/5483
|
||||
"${FILESDIR}/${P}-const-iter.patch"
|
||||
"${FILESDIR}/${P}-version-stderr-stdout.patch"
|
||||
)
|
||||
|
||||
distutils_enable_sphinx docs \
|
||||
@ -68,11 +64,19 @@ python_test() {
|
||||
return
|
||||
fi
|
||||
|
||||
# Needed to avoid confusing cache tests
|
||||
unset CYTHON_FORCE_REGEN
|
||||
|
||||
tc-export CC
|
||||
# https://github.com/cython/cython/issues/1911
|
||||
local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
|
||||
"${PYTHON}" runtests.py -vv -j "$(makeopts_jobs)" --work-dir "${BUILD_DIR}"/tests ||
|
||||
die "Tests fail with ${EPYTHON}"
|
||||
"${PYTHON}" runtests.py \
|
||||
-vv \
|
||||
-j "$(makeopts_jobs)" \
|
||||
--work-dir "${BUILD_DIR}"/tests \
|
||||
--no-examples \
|
||||
--no-code-style \
|
||||
|| die "Tests fail with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
@ -0,0 +1,35 @@
|
||||
https://bugs.gentoo.org/911333
|
||||
https://github.com/cython/cython/pull/5572
|
||||
https://github.com/cython/cython/commit/ca69b359b040bf6c0fc90692bbea3bdd9d7877e6
|
||||
|
||||
From ca69b359b040bf6c0fc90692bbea3bdd9d7877e6 Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz@archlinux.org>
|
||||
Date: Fri, 28 Jul 2023 06:52:03 -0400
|
||||
Subject: [PATCH] Only write the version to stderr, if it's a separate file
|
||||
descriptor from stdout (GH-5572)
|
||||
|
||||
At least one project tries to detect the Cython version by redirecting stderr to
|
||||
stdout and capturing it. This is done in pure POSIX shell, so it probably seemed
|
||||
like the simple and obvious solution for a less capable programming language
|
||||
given that no output at all was expected on stdout.
|
||||
|
||||
But the result is that the version number appears twice, and then gets misparsed
|
||||
and ends up triggering bad assumptions in the code running cython.
|
||||
|
||||
It turns out that it's pretty easy to just print once, though. Detect when
|
||||
stdout and stderr are redirected to the same location, and only print once.
|
||||
|
||||
See https://github.com/cython/cython/issues/5504
|
||||
Fixes https://bugs.gentoo.org/911333
|
||||
--- a/Cython/Compiler/Main.py
|
||||
+++ b/Cython/Compiler/Main.py
|
||||
@@ -776,7 +776,7 @@ def main(command_line = 0):
|
||||
print("Cython version %s" % __version__)
|
||||
# For legacy reasons, we also write the version to stderr.
|
||||
# New tools should expect it in stdout, but existing ones still pipe from stderr.
|
||||
- if not sys.stderr.isatty():
|
||||
+ if not sys.stderr.isatty() and os.fstat(1) != os.fstat(2):
|
||||
sys.stderr.write("Cython version %s\n" % __version__)
|
||||
if options.working_path!="":
|
||||
os.chdir(options.working_path)
|
||||
|
@ -1,207 +0,0 @@
|
||||
From 913b8fadc5fc45306764c0ede472e1bc3b606d10 Mon Sep 17 00:00:00 2001
|
||||
From: Isuru Fernando <isuruf@gmail.com>
|
||||
Date: Mon, 12 Jun 2023 13:42:09 -0500
|
||||
Subject: [PATCH 1/4] Don't remove const for reverse iteration
|
||||
|
||||
---
|
||||
Cython/Compiler/ExprNodes.py | 27 ---------------------------
|
||||
Cython/Includes/libcpp/map.pxd | 8 ++++++--
|
||||
2 files changed, 6 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py
|
||||
index ad4701b7bb6..275a6233da5 100644
|
||||
--- a/Cython/Compiler/ExprNodes.py
|
||||
+++ b/Cython/Compiler/ExprNodes.py
|
||||
@@ -3268,32 +3268,6 @@ def free_temps(self, code):
|
||||
ExprNode.free_temps(self, code)
|
||||
|
||||
|
||||
-def remove_const(item_type):
|
||||
- """
|
||||
- Removes the constness of a given type and its underlying templates
|
||||
- if any.
|
||||
-
|
||||
- This is to solve the compilation error when the temporary variable used to
|
||||
- store the result of an iterator cannot be changed due to its constness.
|
||||
- For example, the value_type of std::map, which will also be the type of
|
||||
- the temporarry variable, is std::pair<const Key, T>. This means the first
|
||||
- component of the variable cannot be reused to store the result of each
|
||||
- iteration, which leads to a compilation error.
|
||||
- """
|
||||
- if item_type.is_const:
|
||||
- item_type = item_type.cv_base_type
|
||||
- if item_type.is_typedef:
|
||||
- item_type = remove_const(item_type.typedef_base_type)
|
||||
- if item_type.is_cpp_class and item_type.templates:
|
||||
- templates = [remove_const(t) if t.is_const else t for t in item_type.templates]
|
||||
- template_type = item_type.template_type
|
||||
- item_type = PyrexTypes.CppClassType(
|
||||
- template_type.name, template_type.scope,
|
||||
- template_type.cname, template_type.base_classes,
|
||||
- templates, template_type)
|
||||
- return item_type
|
||||
-
|
||||
-
|
||||
class NextNode(AtomicExprNode):
|
||||
# Used as part of for statement implementation.
|
||||
# Implements result = next(iterator)
|
||||
@@ -3336,7 +3310,6 @@ def infer_type(self, env, iterator_type=None):
|
||||
|
||||
def analyse_types(self, env):
|
||||
self.type = self.infer_type(env, self.iterator.type)
|
||||
- self.type = remove_const(self.type)
|
||||
self.is_temp = 1
|
||||
return self
|
||||
|
||||
diff --git a/Cython/Includes/libcpp/map.pxd b/Cython/Includes/libcpp/map.pxd
|
||||
index d81af66e09a..2c2c5c82adf 100644
|
||||
--- a/Cython/Includes/libcpp/map.pxd
|
||||
+++ b/Cython/Includes/libcpp/map.pxd
|
||||
@@ -50,7 +50,9 @@ cdef extern from "<map>" namespace "std" nogil:
|
||||
cppclass reverse_iterator:
|
||||
reverse_iterator() except +
|
||||
reverse_iterator(reverse_iterator&) except +
|
||||
- value_type& operator*()
|
||||
+ # correct would be value_type& but this does not work
|
||||
+ # well with cython's code gen
|
||||
+ pair[T, U]& operator*()
|
||||
reverse_iterator operator++()
|
||||
reverse_iterator operator--()
|
||||
reverse_iterator operator++(int)
|
||||
@@ -63,7 +65,9 @@ cdef extern from "<map>" namespace "std" nogil:
|
||||
const_reverse_iterator() except +
|
||||
const_reverse_iterator(reverse_iterator&) except +
|
||||
operator=(reverse_iterator&) except +
|
||||
- const value_type& operator*()
|
||||
+ # correct would be const value_type& but this does not work
|
||||
+ # well with cython's code gen
|
||||
+ const pair[T, U]& operator*()
|
||||
const_reverse_iterator operator++()
|
||||
const_reverse_iterator operator--()
|
||||
const_reverse_iterator operator++(int)
|
||||
|
||||
From cb804f989eaa9938e72d0336d82bb7aa0003455f Mon Sep 17 00:00:00 2001
|
||||
From: Isuru Fernando <isuruf@gmail.com>
|
||||
Date: Mon, 12 Jun 2023 13:57:58 -0500
|
||||
Subject: [PATCH 2/4] Add test from gh5478
|
||||
|
||||
---
|
||||
tests/run/cpp_iterators.pyx | 22 ++++++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/tests/run/cpp_iterators.pyx b/tests/run/cpp_iterators.pyx
|
||||
index 81048d0b36b..424168fa825 100644
|
||||
--- a/tests/run/cpp_iterators.pyx
|
||||
+++ b/tests/run/cpp_iterators.pyx
|
||||
@@ -7,6 +7,7 @@ from libcpp.map cimport map as stdmap
|
||||
from libcpp.set cimport set as stdset
|
||||
from libcpp.string cimport string
|
||||
from libcpp.vector cimport vector
|
||||
+from libcpp.memory cimport shared_ptr, make_shared
|
||||
from cython.operator cimport dereference as deref
|
||||
|
||||
cdef extern from "cpp_iterators_simple.h":
|
||||
@@ -272,6 +273,27 @@ def test_iteration_over_attribute_of_call():
|
||||
for i in get_object_with_iterable_attribute().vec:
|
||||
print(i)
|
||||
|
||||
+cdef extern from *:
|
||||
+ # TODO: support make_shared[const int]
|
||||
+ shared_ptr[const int] make_shared_const_int "std::make_shared<const int>"(int)
|
||||
+
|
||||
+def test_iteration_over_shared_const_ptr_set(py_v):
|
||||
+ """
|
||||
+ >>> test_iteration_over_shared_const_ptr_set[2, 4, 6])
|
||||
+ 6
|
||||
+ 4
|
||||
+ 2
|
||||
+ """
|
||||
+ cdef stdset[shared_ptr[const int]] s
|
||||
+ cdef int i
|
||||
+ for e in py_v:
|
||||
+ i = e
|
||||
+ s.insert(make_shared_const_int(i))
|
||||
+
|
||||
+ cdef shared_ptr[const int] a
|
||||
+ for a in s:
|
||||
+ print(deref(a))
|
||||
+
|
||||
def test_iteration_over_reversed_list(py_v):
|
||||
"""
|
||||
>>> test_iteration_over_reversed_list([2, 4, 6])
|
||||
|
||||
From a9bfacdcf5358e9d5a1d3c8ab0dd2eff6f18018a Mon Sep 17 00:00:00 2001
|
||||
From: Isuru Fernando <isuruf@gmail.com>
|
||||
Date: Mon, 12 Jun 2023 14:07:37 -0500
|
||||
Subject: [PATCH 3/4] Fix multimap too
|
||||
|
||||
---
|
||||
Cython/Includes/libcpp/map.pxd | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Cython/Includes/libcpp/map.pxd b/Cython/Includes/libcpp/map.pxd
|
||||
index 2c2c5c82adf..eb739509ac1 100644
|
||||
--- a/Cython/Includes/libcpp/map.pxd
|
||||
+++ b/Cython/Includes/libcpp/map.pxd
|
||||
@@ -177,7 +177,9 @@ cdef extern from "<map>" namespace "std" nogil:
|
||||
cppclass reverse_iterator:
|
||||
reverse_iterator() except +
|
||||
reverse_iterator(reverse_iterator&) except +
|
||||
- value_type& operator*()
|
||||
+ # correct would be value_type& but this does not work
|
||||
+ # well with cython's code gen
|
||||
+ pair[T, U]& operator*()
|
||||
reverse_iterator operator++()
|
||||
reverse_iterator operator--()
|
||||
reverse_iterator operator++(int)
|
||||
@@ -190,7 +192,9 @@ cdef extern from "<map>" namespace "std" nogil:
|
||||
const_reverse_iterator() except +
|
||||
const_reverse_iterator(reverse_iterator&) except +
|
||||
operator=(reverse_iterator&) except +
|
||||
- const value_type& operator*()
|
||||
+ # correct would be const value_type& but this does not work
|
||||
+ # well with cython's code gen
|
||||
+ const pair[T, U]& operator*()
|
||||
const_reverse_iterator operator++()
|
||||
const_reverse_iterator operator--()
|
||||
const_reverse_iterator operator++(int)
|
||||
|
||||
From 0528cd937e6d4606eb0902ee8d8db672ee7f88fe Mon Sep 17 00:00:00 2001
|
||||
From: Isuru Fernando <isuruf@gmail.com>
|
||||
Date: Mon, 12 Jun 2023 17:50:41 -0500
|
||||
Subject: [PATCH 4/4] Fix test
|
||||
|
||||
---
|
||||
tests/run/cpp_iterators.pyx | 15 +++++++--------
|
||||
1 file changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tests/run/cpp_iterators.pyx b/tests/run/cpp_iterators.pyx
|
||||
index 424168fa825..57d2716bea5 100644
|
||||
--- a/tests/run/cpp_iterators.pyx
|
||||
+++ b/tests/run/cpp_iterators.pyx
|
||||
@@ -277,18 +277,17 @@ cdef extern from *:
|
||||
# TODO: support make_shared[const int]
|
||||
shared_ptr[const int] make_shared_const_int "std::make_shared<const int>"(int)
|
||||
|
||||
-def test_iteration_over_shared_const_ptr_set(py_v):
|
||||
+def test_iteration_over_shared_const_ptr_vector(py_v):
|
||||
"""
|
||||
- >>> test_iteration_over_shared_const_ptr_set[2, 4, 6])
|
||||
- 6
|
||||
- 4
|
||||
+ >>> test_iteration_over_shared_const_ptr_vector([2, 4, 6])
|
||||
2
|
||||
+ 4
|
||||
+ 6
|
||||
"""
|
||||
- cdef stdset[shared_ptr[const int]] s
|
||||
+ cdef vector[shared_ptr[const int]] s
|
||||
cdef int i
|
||||
- for e in py_v:
|
||||
- i = e
|
||||
- s.insert(make_shared_const_int(i))
|
||||
+ for i in py_v:
|
||||
+ s.push_back(make_shared_const_int(i))
|
||||
|
||||
cdef shared_ptr[const int] a
|
||||
for a in s:
|
@ -1,28 +0,0 @@
|
||||
From d82e4e34582e908d315b912a60d81d5759850df5 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Behnel <stefan_ml@behnel.de>
|
||||
Date: Mon, 29 May 2023 21:58:15 +0200
|
||||
Subject: [PATCH] Fix the argument type passed into the new
|
||||
"PyUnstable_Long_Compact*()" C-API functions in CPython 3.12.
|
||||
|
||||
---
|
||||
Cython/Utility/TypeConversion.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c
|
||||
index efc5c1373..09e87d81c 100644
|
||||
--- a/Cython/Utility/TypeConversion.c
|
||||
+++ b/Cython/Utility/TypeConversion.c
|
||||
@@ -149,8 +149,8 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
|
||||
((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
|
||||
|
||||
#if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
|
||||
- #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact(x)
|
||||
- #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue(x)
|
||||
+ #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x)
|
||||
+ #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x)
|
||||
#else
|
||||
#define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
|
||||
#define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,3 +1,2 @@
|
||||
DIST docutils-0.17.1.tar.gz 2016138 BLAKE2B aa0b6525ba2e3eaebc17010806952ed5f40919876fcb813f50cc05b628dfd22e6073a9a4b2bfe989089ae68d9b7111ae3a97dda2bde5c0536f8fb76c0942fe29 SHA512 5ec2087116bd5356fdffc54f07f6b0355aac5fa9d6caeefa77e8d201fd4706c0d419193c4d9a3964ae493da3091fe2c7dc36b74f81a1e1b9282173658b06e71b
|
||||
DIST docutils-0.19.tar.gz 2056383 BLAKE2B 9983a905642de4e81ca118578671b503ddfda4bef1afcc0524de40543e1f9617fd8d768ef467da49d2f01076683400bad6a0fe15f6b5a3a1e202c42b2e34ab1b SHA512 fb904a899f2b6f3c07c5079577bd7c52a3182cb85f6a4149391e523498df15bfa317f0c04095b890beeb3f89c2b444875a2a609d880ac4d7fbc3125e46b37ea5
|
||||
DIST docutils-0.20.1.tar.gz 2058365 BLAKE2B 73fb8302599ffe57b0840c898b0b2e3ccd39ff9ea6eec2b5d345d02c950e1a8357bd821e62733b0484e82bc30e71d30fab381390b0edaef4375b02bcd9eeeb40 SHA512 a0ddca315d03677003036d6a8052ac96fbd3fcc4508564938ea684d79bedb4d322d83449c7b26e55b19b0aadd6e46ca9ac409bb16279a20f06c70e9c15ef5eb0
|
||||
|
@ -1,76 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{9..11} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
|
||||
HOMEPAGE="
|
||||
https://docutils.sourceforge.io/
|
||||
https://pypi.org/project/docutils/
|
||||
"
|
||||
|
||||
LICENSE="BSD-2 GPL-3 public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/docutils-0.18.1-py311.patch"
|
||||
)
|
||||
|
||||
python_compile_all() {
|
||||
# Generate html docs from reStructured text sources.
|
||||
|
||||
# Place html4css1.css in base directory to ensure that the generated reference to it is correct.
|
||||
cp docutils/writers/html4css1/html4css1.css . || die
|
||||
|
||||
cd tools || die
|
||||
"${EPYTHON}" buildhtml.py --input-encoding=utf-8 \
|
||||
--stylesheet-path=../html4css1.css, --traceback ../docs || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd test || die
|
||||
distutils-r1_src_test
|
||||
}
|
||||
|
||||
python_test() {
|
||||
"${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
|
||||
# Install tools.
|
||||
python_doscript tools/{buildhtml,quicktest}.py
|
||||
}
|
||||
|
||||
install_txt_doc() {
|
||||
local doc="${1}"
|
||||
local dir="txt/$(dirname ${doc})"
|
||||
docinto "${dir}"
|
||||
dodoc "${doc}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
local DOCS=( *.txt )
|
||||
local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
local doc
|
||||
while IFS= read -r -d '' doc; do
|
||||
install_txt_doc "${doc}"
|
||||
done < <(find docs tools -name '*.txt' -print0)
|
||||
}
|
@ -1,135 +0,0 @@
|
||||
Combination of:
|
||||
http://svn.code.sf.net/p/docutils/code/trunk@8910
|
||||
http://svn.code.sf.net/p/docutils/code/trunk@8909
|
||||
|
||||
diff --git a/test/DocutilsTestSupport.py b/test/DocutilsTestSupport.py
|
||||
index 592d3f9df..e1f33aa7a 100644
|
||||
--- a/test/DocutilsTestSupport.py
|
||||
+++ b/test/DocutilsTestSupport.py
|
||||
@@ -819,6 +819,7 @@ def exception_data(func, *args, **kwds):
|
||||
except Exception as detail:
|
||||
return (detail, detail.args,
|
||||
'%s: %s' % (detail.__class__.__name__, detail))
|
||||
+ return None, [], "No exception"
|
||||
|
||||
|
||||
def _format_str(*args):
|
||||
diff --git a/test/test_parsers/test_rst/test_directives/test_tables.py b/test/test_parsers/test_rst/test_directives/test_tables.py
|
||||
index 07be0122f..73724ed7e 100755
|
||||
--- a/test/test_parsers/test_rst/test_directives/test_tables.py
|
||||
+++ b/test/test_parsers/test_rst/test_directives/test_tables.py
|
||||
@@ -65,6 +65,92 @@ def null_bytes():
|
||||
next(reader)
|
||||
|
||||
null_bytes_exception = DocutilsTestSupport.exception_data(null_bytes)[0]
|
||||
+# Null bytes are valid in Python 3.11+:
|
||||
+if null_bytes_exception is None:
|
||||
+ bad_encoding_result = """\
|
||||
+<document source="test data">
|
||||
+ <table>
|
||||
+ <title>
|
||||
+ bad encoding
|
||||
+ <tgroup cols="4">
|
||||
+ <colspec colwidth="25">
|
||||
+ <colspec colwidth="25">
|
||||
+ <colspec colwidth="25">
|
||||
+ <colspec colwidth="25">
|
||||
+ <tbody>
|
||||
+ <row>
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ \xfe\xff"Treat"
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "Quantity"
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "Description"
|
||||
+ <entry>
|
||||
+ <row>
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "Albatr\u00b0\u00df"
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ 2.99
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "\u00a1Ona\x03\xc3\x03\xc4\x03\xb9\x03\xba!"
|
||||
+ <entry>
|
||||
+ <row>
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "CrunchyFrog"
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ 1.49
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "Ifwetooktheb\u00f6nesout
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ itwouldn\x20\x19tbe
|
||||
+ <row>
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ crunchy
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ nowwouldit?"
|
||||
+ <entry>
|
||||
+ <entry>
|
||||
+ <row>
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "GannetRipple"
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ 1.99
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ "\xbfOna\x03\xc3\x03\xc4\x03\xb9\x03\xba?"
|
||||
+ <entry>
|
||||
+ <paragraph>
|
||||
+ (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
|
||||
+"""
|
||||
+else:
|
||||
+ bad_encoding_result = """\
|
||||
+<document source="test data">
|
||||
+ <system_message level="3" line="1" source="test data" type="ERROR">
|
||||
+ <paragraph>
|
||||
+ Error with CSV data in "csv-table" directive:
|
||||
+ %s
|
||||
+ <literal_block xml:space="preserve">
|
||||
+ .. csv-table:: bad encoding
|
||||
+ :file: %s
|
||||
+ :encoding: latin-1
|
||||
+ <paragraph>
|
||||
+ (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
|
||||
+""" % (null_bytes_exception, utf_16_csv)
|
||||
+
|
||||
|
||||
totest = {}
|
||||
|
||||
@@ -1031,19 +1117,8 @@ u"""\
|
||||
|
||||
(7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
|
||||
""" % utf_16_csv,
|
||||
-"""\
|
||||
-<document source="test data">
|
||||
- <system_message level="3" line="1" source="test data" type="ERROR">
|
||||
- <paragraph>
|
||||
- Error with CSV data in "csv-table" directive:
|
||||
- %s
|
||||
- <literal_block xml:space="preserve">
|
||||
- .. csv-table:: bad encoding
|
||||
- :file: %s
|
||||
- :encoding: latin-1
|
||||
- <paragraph>
|
||||
- (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
|
||||
-""" % (null_bytes_exception, utf_16_csv)],
|
||||
+bad_encoding_result
|
||||
+],
|
||||
["""\
|
||||
.. csv-table:: good encoding
|
||||
:file: %s
|
@ -1 +1,2 @@
|
||||
DIST jaraco.functools-3.8.0.tar.gz 16251 BLAKE2B 15735a053b395173de2568d13d54d0a770477f72e138998abb67f24314d13ae1a008a2b373979dfb8b3b8955754758e07eb5981459b793ba4b6839e6aefbdda8 SHA512 923e94f54c46896d89db6b4a0c5d803996dc5caddd6a3ada66f943b58afd1750f5403d10de5ab87f93e57c3eab43806401f7c6b5a8265938793d45cba93df688
|
||||
DIST jaraco.functools-3.8.1.tar.gz 16210 BLAKE2B 2e49829c4eda4ba9228c8972b1971c1a42bb972e5a7f0ef9994313b4b07cb8395c0b0ccc15c5f285a6a224ad60dec65901742c5f162156c4be96257a9ef9f67c SHA512 0ffd8fc0e973b0ee957cbc074dcae790530c6a944a54ae36e3feee954a59765663b8a734e5c1d1e56975c958b47560eb1f23b510028fee6cf682aeaf175c9460
|
||||
|
@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYPI_PN=${PN/-/.}
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..12} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Additional functions used by other projects by developer jaraco"
|
||||
HOMEPAGE="
|
||||
https://github.com/jaraco/jaraco.functools/
|
||||
https://pypi.org/project/jaraco.functools/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/jaraco-classes[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_configure() {
|
||||
grep -q 'build-backend = "setuptools' pyproject.toml ||
|
||||
die "Upstream changed build-backend, recheck"
|
||||
# write a custom pyproject.toml to ease setuptools bootstrap
|
||||
cat > pyproject.toml <<-EOF || die
|
||||
[build-system]
|
||||
requires = ["flit_core >=3.2,<4"]
|
||||
build-backend = "flit_core.buildapi"
|
||||
|
||||
[project]
|
||||
name = "jaraco.functools"
|
||||
version = "${PV}"
|
||||
description = "Functools like those found in stdlib"
|
||||
EOF
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
# rename to workaround a bug in pkg_resources
|
||||
# https://bugs.gentoo.org/834522
|
||||
mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die
|
||||
}
|
@ -25,13 +25,6 @@ RDEPEND="
|
||||
>=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pathlib2[${PYTHON_USEDEP}]
|
||||
' 3.9)
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
|
@ -44,9 +44,6 @@ PDEPEND="
|
||||
BDEPEND="
|
||||
test? (
|
||||
${PDEPEND}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pathlib2[${PYTHON_USEDEP}]
|
||||
' 3.9)
|
||||
)
|
||||
"
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST lxml-4.9.2.gh.tar.gz 957365 BLAKE2B 201b3977da90386e413f1b89a4b7ee1e44d6bbea05e622e92feb1d67c637ce46ebf746f0648f034ed3bccd609233ccf7d8a7ee456f13b8d9ca8587ddf1ebd32a SHA512 816b2fe2eef2a97a0df66cbc39850c6dc3d6470e4033cc73edb40c80c0afbbe6c084d042d7c98b29497926e76f648caa42e1ebe5d83060af08af6972316077b0
|
||||
DIST lxml-4.9.3-patches.tar.xz 10544 BLAKE2B 407938d2f701400e919110c3bfe84e94621f39f8178850c466d41549ee0eff4f23e93cdd8ea684713e8276acfaa05d6f7b7af4d375c859b9fc5b2981d60983a3 SHA512 c2d5d2ffb035aed6d846de84885b87142b2be7a09ffe6927e7c032acab343730acfcbefd75e8141cf3b41b308c532869a7878b515f3d4eeefa7526a3d2599398
|
||||
DIST lxml-4.9.3.gh.tar.gz 958628 BLAKE2B ffdf3fe781a03815f7c026229d313721c93375ebafad9b4a20c5d8a380a631401e546d8701a94d8c49615fb6a71e84940d8ca0299b47a37c1c9596db36659113 SHA512 903bd4935c7708b459aee9befcf3f6e3e3aaa9adc122591ea923b6e3d8fd288f07cab3f5f0edb08e3bf9db80414324f0a1a8e5a5089f9cda82f6c50f5df59423
|
||||
|
@ -0,0 +1,10 @@
|
||||
--- a/src/lxml/tests/test_errors.py
|
||||
+++ b/src/lxml/tests/test_errors.py
|
||||
@@ -25,6 +25,7 @@ class ErrorTestCase(HelperTestCase):
|
||||
def test_empty_parse(self):
|
||||
self.assertRaises(etree.XMLSyntaxError, etree.fromstring, '')
|
||||
|
||||
+ @unittest.skipIf(sys.version_info >= (3, 11), "Known GC failure (https://bugzilla.redhat.com/show_bug.cgi?id=2051510)")
|
||||
@unittest.skipIf(IS_PYPY, "broken on pypy")
|
||||
def test_element_cyclic_gc_none(self):
|
||||
# test if cyclic reference can crash etree
|
116
sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-4.9.3-r1.ebuild
vendored
Normal file
116
sdk_container/src/third_party/portage-stable/dev-python/lxml/lxml-4.9.3-r1.ebuild
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 optfeature toolchain-funcs
|
||||
|
||||
DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
|
||||
HOMEPAGE="
|
||||
https://lxml.de/
|
||||
https://pypi.org/project/lxml/
|
||||
https://github.com/lxml/lxml/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/lxml/lxml/archive/${P}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-4.9.3-patches.tar.xz
|
||||
"
|
||||
S=${WORKDIR}/lxml-${P}
|
||||
|
||||
LICENSE="BSD ElementTree GPL-2 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="doc examples +threads test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
|
||||
DEPEND="
|
||||
>=dev-libs/libxml2-2.10.3
|
||||
>=dev-libs/libxslt-1.1.38
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
>=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
|
||||
doc? (
|
||||
$(python_gen_any_dep '
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
test? (
|
||||
dev-python/cssselect[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.9.3-tests-pypy.patch
|
||||
"${FILESDIR}"/${PN}-4.9.3-tests-py3.11-cython3.patch
|
||||
"${WORKDIR}"/${PN}-4.9.3-patches
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
use doc || return 0
|
||||
python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
|
||||
python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
# avoid replacing PYTHONPATH in tests.
|
||||
sed -i -e '/sys\.path/d' test.py || die
|
||||
|
||||
# don't use some random SDK on Darwin
|
||||
sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
|
||||
setupinfo.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
tc-export PKG_CONFIG
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake html
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
|
||||
local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
|
||||
|
||||
cp -al "${BUILD_DIR}"/{install,test} || die
|
||||
cp -al src/lxml/tests "${dir}/" || die
|
||||
cp -al src/lxml/html/tests "${dir}/html/" || die
|
||||
ln -rs "${S}"/doc "${dir}"/../../ || die
|
||||
|
||||
"${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use doc; then
|
||||
local DOCS=( README.rst *.txt doc/*.txt )
|
||||
local HTML_DOCS=( doc/html/. )
|
||||
fi
|
||||
if use examples; then
|
||||
dodoc -r samples
|
||||
fi
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
|
||||
optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
|
||||
}
|
@ -23,7 +23,7 @@ S=${WORKDIR}/lxml-${P}
|
||||
|
||||
LICENSE="BSD ElementTree GPL-2 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="doc examples +threads test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
|
@ -1 +1,3 @@
|
||||
DIST more-itertools-10.0.0.tar.gz 109938 BLAKE2B c602bd837a89010cc2d4818751e41a81379a6376efa82b7bc399f954d0fe02cd91d2eec85d5aa2621cf7c84a1b7421ff0b2794b5a80e184dcb5d220d201b5f25 SHA512 50815ebf96e416d349774dfc4b370f731f893b1e54970ae80f1f0f08b0cd1e6a94925194051561f6ab7d216916c239ac510269b93f9316bc819bf665d9da12b2
|
||||
DIST more-itertools-10.1.0.tar.gz 111235 BLAKE2B 457eb62d735ac0d0f4a93a6a79c747ac965c1af394a1d894c4f80abfa0a94de76d804c7e68d4122fabf09b7c8e2f1d59bb1c43ff54c7cd5c2d52b5a1280b0290 SHA512 520cf4a5cfce314bb43a052962b478be27f0459735902c45384ad785cd678b493bab87f5736aa6be8d742911c4e8b02c597859428b1f459550b27f7751a53494
|
||||
DIST more-itertools-9.1.0.tar.gz 107389 BLAKE2B e2f5ba6daf5ee2dbb01a9f2c07f8595418285e8472960054681a551a42e39200e40a2799c644d37a0d8654307c9119b05364e47d590c933e6082fa5be390579c SHA512 635a97caa457ede1b7ea12fd1ee75bd8722e97a089a2d35f143dc77bcbaa2e3793338513af87408476a8a1443367b270ec0d239d652fc8f96f102308e1f3e937
|
||||
|
@ -4,29 +4,21 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
MY_P=${P/-/_}
|
||||
DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+"
|
||||
DESCRIPTION="More routines for operating on iterables, beyond itertools"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/typing-extensions/
|
||||
https://github.com/python/typing_extensions/
|
||||
https://github.com/more-itertools/more-itertools/
|
||||
https://pypi.org/project/more-itertools/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/python/typing_extensions/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="PSF-2"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
distutils_enable_sphinx docs \
|
||||
dev-python/sphinx-rtd-theme
|
||||
distutils_enable_tests unittest
|
||||
|
||||
python_test() {
|
||||
cd src || die
|
||||
eunittest
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="More routines for operating on iterables, beyond itertools"
|
||||
HOMEPAGE="
|
||||
https://github.com/more-itertools/more-itertools/
|
||||
https://pypi.org/project/more-itertools/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
distutils_enable_sphinx docs \
|
||||
dev-python/sphinx-rtd-theme
|
||||
distutils_enable_tests unittest
|
@ -1 +1,2 @@
|
||||
DIST nspektr-0.4.0.tar.gz 7734 BLAKE2B 66a52f5080c78accc75e2193dab6d07a6257330f9938ac463c160d7e1f9740294416657193e5831f564354eb0dc3112a9ab41676e1c928ac40769d2a4d218089 SHA512 c8e8dcadd3ccd49bc9b1a38d2ff9f1d8d6f85665d3830cc9d7975ec1c63b1e2f1a7a64e12457701ca658e2e0e30cac7652be6d706a4e47ba6a61ae76d9be8875
|
||||
DIST nspektr-0.5.0.tar.gz 8573 BLAKE2B a96aaaee5cd309272d5b0c78eaf9793baf1406e427a142595b67693d513d5badac064149587c02cdf02cdd7720fafeb2787fc98a9db79cc573e77d6158afd4d4 SHA512 b7293a6ccb34a5c4b87a9b28de170322296adf2d883e7671df05ac06453023190ed588eb8e1677b7c5383b6fc5962c079d363ebb214ebb9f8516cfd2039e6167
|
||||
|
@ -24,9 +24,6 @@ RDEPEND="
|
||||
>=dev-python/jaraco-functools-3.5.0-r2[${PYTHON_USEDEP}]
|
||||
>=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/importlib-metadata-4.11.2[${PYTHON_USEDEP}]
|
||||
' 3.8 3.9)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
54
sdk_container/src/third_party/portage-stable/dev-python/nspektr/nspektr-0.5.0.ebuild
vendored
Normal file
54
sdk_container/src/third_party/portage-stable/dev-python/nspektr/nspektr-0.5.0.ebuild
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..12} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Distribution package dependency inspector"
|
||||
HOMEPAGE="
|
||||
https://github.com/jaraco/nspektr/
|
||||
https://pypi.org/project/nspektr/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/jaraco-context-4.1.1-r2[${PYTHON_USEDEP}]
|
||||
>=dev-python/jaraco-functools-3.5.0-r2[${PYTHON_USEDEP}]
|
||||
>=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_configure() {
|
||||
grep -q 'build-backend = "setuptools' pyproject.toml ||
|
||||
die "Upstream changed build-backend, recheck"
|
||||
# write a custom pyproject.toml to ease setuptools bootstrap
|
||||
cat > pyproject.toml <<-EOF || die
|
||||
[build-system]
|
||||
requires = ["flit_core >=3.2,<4"]
|
||||
build-backend = "flit_core.buildapi"
|
||||
|
||||
[project]
|
||||
name = "nspektr"
|
||||
version = "${PV}"
|
||||
description = "package inspector"
|
||||
|
||||
# tests inspect itself
|
||||
[project.optional-dependencies]
|
||||
docs = [
|
||||
"fake-nonexisting",
|
||||
]
|
||||
testing = [
|
||||
"pytest",
|
||||
]
|
||||
EOF
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST packaging-21.3.gh.tar.gz 80471 BLAKE2B a16ba1e74f0c868816131a7cb07b7aa0c14760cf3ad4c3d6737ac30ef99276c33b1f018d29e710f28e8d0cfb0e3e6b91e375d1d17e2b7ec6302164377cd503d0 SHA512 8960deacda26877b73d98a3b632e760e902a16ec7a04707f84044980e4d4fb33e4f584db115c9008066aa876079f28633bafe37fbd5ce9a23830b6b89eb4ae7a
|
||||
DIST packaging-23.1.tar.gz 134240 BLAKE2B ef7ef320a98592769078581e32fcc355d05f6fbb7611e7bd83fd2ed64d5f5f5d9c1f89c2a4a91ace1221214a9047e233d8d6a339fd29066b3695137ec5a870bd SHA512 0f2246b8bfeb467623ee72e6fdb7c0416e3b4ba0e00102c1528581e0835cc8e731a812b15e2e429d3ebb0001713d95cc2675f443f4597b092e305a3ef2e9137a
|
||||
|
@ -1,50 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYTHON_COMPAT=( python3_{9..11} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Core utilities for Python packages"
|
||||
HOMEPAGE="
|
||||
https://github.com/pypa/packaging/
|
||||
https://pypi.org/project/packaging/"
|
||||
SRC_URI="
|
||||
https://github.com/pypa/packaging/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="|| ( Apache-2.0 BSD-2 )"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/pyparsing-3.0.7-r1[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-python/pretend[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_configure() {
|
||||
# write a custom pyproject.toml to ease setuptools bootstrap
|
||||
cat > pyproject.toml <<-EOF || die
|
||||
[build-system]
|
||||
requires = ["flit_core >=3.2,<4"]
|
||||
build-backend = "flit_core.buildapi"
|
||||
|
||||
[project]
|
||||
name = "packaging"
|
||||
dynamic = ["version"]
|
||||
description = "More routines for operating on iterables, beyond itertools"
|
||||
EOF
|
||||
}
|
||||
|
||||
python_test() {
|
||||
epytest --capture=no
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST platformdirs-3.10.0.tar.gz 19203 BLAKE2B 951568733e4c3324d5817b3d9451aa5cc1d08afcce690a574357551f4452192cc98d406c6fc5c7d65d0a1f1d6111cb39a0877994e52021652c8c054add54f258 SHA512 39c068dad3fe6ec85247a8957c0fcfb27207e78041686a0231d836eeb431bba82583e2fcb609903bb0f479cd04e4c7866b6126e52a708e7e71eed7631bd121b0
|
||||
DIST platformdirs-3.8.0.tar.gz 18451 BLAKE2B cac717c3968fd20b7bdac464443cedcdc50b04b732ae8a212fcb946170ad1553ffae82cbdca05c2cf01ebbc4383216cd0f0afe84cddc2ce6107f10fd40213542 SHA512 64937f3e9e03a9ec8dc2068777dfe553ec09cef62ce53a753608bd9a73e0afaa4489c98046e7b4b3fdbded237cf2813bfd306a6d5ad5788031b6857d8d4fa430
|
||||
DIST platformdirs-3.8.1.tar.gz 18533 BLAKE2B d1d669fe76e52637f59c32ddb93920988821a1f1720d6b91042f80abedafc1d6dbcd5f744f22f5502121dc0b12285001cbde63e923e8159f139342a9497459e2 SHA512 85d7781e4ef0755bf9a7a4d90b92ea06f497081ec4c5438780f12876a1006b2e591c1b182f6648cad19039d1bd7611cf0c2215015653bafbad2cc529f27d94e7
|
||||
DIST platformdirs-3.9.1.tar.gz 18836 BLAKE2B d673573005e97895e4d665e1539805be7c4355d8de166481625f76fab250779e8efa81d86374fc388b24d8cc8d892f61b6dda113cdbb9419fff3357006c9b7e6 SHA512 c41d8be17c9336b5eba9dc15beb2d6db4b53d2ac06c51439542490019e25c091351c266f11fc4998b8eef00eb91399c464ac59b318bcd1ef14ebbd8350ae2c50
|
||||
|
49
sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-3.10.0.ebuild
vendored
Normal file
49
sdk_container/src/third_party/portage-stable/dev-python/platformdirs/platformdirs-3.10.0.ebuild
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
# Copyright 2021-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/platformdirs/
|
||||
https://github.com/platformdirs/platformdirs/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/appdirs[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_configure() {
|
||||
grep -q 'build-backend = "hatchling' pyproject.toml ||
|
||||
die "Upstream changed build-backend, recheck"
|
||||
# write a custom pyproject.toml to ease setuptools bootstrap
|
||||
cat > pyproject.toml <<-EOF || die
|
||||
[build-system]
|
||||
requires = ["flit_core >=3.2,<4"]
|
||||
build-backend = "flit_core.buildapi"
|
||||
|
||||
[project]
|
||||
name = "${PN}"
|
||||
version = "${PV}"
|
||||
description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
|
||||
EOF
|
||||
# sigh
|
||||
cat > src/platformdirs/version.py <<-EOF || die
|
||||
__version__ = version = '${PV}'
|
||||
__version_tuple__ = version_tuple = (${PV//./, })
|
||||
EOF
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
DIST pydantic-1.10.11.gh.tar.gz 766203 BLAKE2B 5ab426a805a471baac409c82d5a0cdaa9eae0bc46c0c0643ab653db68ccd5bd6db2c2e6aa12113f513e35d590b291986d463e776515f495991e9818541ab2553 SHA512 494e692781dd8fe3980e06ba975fa0c86ad32e36bffead8c836e1680ff3c43de458ef5a344182950060fc3616208d82ad77fd9098811384208f25a9b72c0fe42
|
||||
DIST pydantic-1.10.9.gh.tar.gz 765868 BLAKE2B 802c542d75b41ff2926215bf4f6bd68a906d581db7b08ed85577f9021d259717f3ef8dbacfe381723aa042aab8720ad182c57fee188f2436b33d21164e24ba23 SHA512 d376a302eac3427cdc8da0ed2fab01c0b5e7a059447777a53c394a60dac5fa0066488be8553022bb5aa89367d5a2e80e5d6e3cb39d9272843718dd07f6acd11e
|
||||
DIST pydantic-2.0.1.tar.gz 578758 BLAKE2B 1f330806462cfbb60d4c7dac0a682e191fcdb8e4c75b36603ec7acd8115b625123cf2806248b41e1b9ac5395ca412801180db3cea7a64239ea91c59db19c71dd SHA512 cec0ab3fbe1120806e8821296b65e35c3b8711b4bb2b1d45bcf506964678b6087c5f463ad2332b19ab554f0b04ee7b4fc11f9caa6d292442fe40cdc19dfb4053
|
||||
DIST pydantic-2.0.2.tar.gz 580114 BLAKE2B 2e2f29c104889f1e38d229077b4d51d1c2498d61e92591a2ccec58b04a64464cfd7c018e9514117a820fe4b7403d599127a6ef1c1fbda6a5326af3773abd6ad7 SHA512 af06ecc5cc2fc26e6b251cdeb18ad90e15ed9ec11ce83f4d39b8f7f18adc29e3cec83f25227caa24920a9c54d0e5c4b744087dc5a8359540bba1bef7a95c67d5
|
||||
DIST pydantic-2.0.3.tar.gz 593215 BLAKE2B eff4de5d45e623e91df43eb89c3d350fdbb22adc1e05417cbb65c0dc3d58475d5e77bad046498d403a1663f7327ca6e5db517fd00f59d554532a53f4f1bbbbb6 SHA512 081f47e8948178a9cc5cf4aa17f0fb1f45d4fab28f5b89e2a56f5812c38a87ab97fb6758236fb64fc44553230807d51a9c7451c2bdbb8b77a9b0fc9083385391
|
||||
DIST pydantic-2.0.tar.gz 572748 BLAKE2B 611bb31065c1016d18137c0b5bfb0c7730243f727c1ffa3e3264f78fe750f31832d7388c177f59e0a676fa1eca7fc102e425fef59f97dc852c17b400723efc63 SHA512 830f5379f623e128f23f6d0672f0005a8b184b646e162be67fc08008f75dff53012c1576f0530ef9f6723ac664cfd662432de8f35cbcf98963ed8a680d697ce9
|
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
<name>Python</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:pydantic_project:pydantic</remote-id>
|
||||
<remote-id type="pypi">pydantic</remote-id>
|
||||
<remote-id type="github">pydantic/pydantic</remote-id>
|
||||
<bugs-to>https://github.com/pydantic/pydantic/issues</bugs-to>
|
||||
<doc>https://docs.pydantic.dev/</doc>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="native-extensions">Compiles native "C" extensions.</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -1,91 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..12} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_P=${P/_beta/b}
|
||||
DESCRIPTION="Data parsing and validation using Python type hints"
|
||||
HOMEPAGE="
|
||||
https://github.com/pydantic/pydantic/
|
||||
https://pypi.org/project/pydantic/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/pydantic/pydantic/archive/v${PV/_beta/b}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="native-extensions"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
native-extensions? (
|
||||
<dev-python/cython-3[${PYTHON_USEDEP}]
|
||||
)
|
||||
test? (
|
||||
>=dev-python/email-validator-1.2.1[${PYTHON_USEDEP}]
|
||||
dev-python/hypothesis[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
dev-python/python-dotenv[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/CFLAGS/d' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
|
||||
# do not build extensions on PyPy to workaround
|
||||
# https://github.com/cython/cython/issues/4763
|
||||
local -x SKIP_CYTHON=1
|
||||
fi
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
local -x PYTEST_PLUGINS=pytest_mock
|
||||
|
||||
local EPYTEST_DESELECT=(
|
||||
# flaky test, known upstream
|
||||
tests/test_hypothesis_plugin.py::test_can_construct_models_with_all_fields
|
||||
# mypy linting causes regressions with new mypy versions
|
||||
tests/mypy
|
||||
)
|
||||
case ${EPYTHON} in
|
||||
pypy3)
|
||||
EPYTEST_DESELECT+=(
|
||||
tests/test_private_attributes.py::test_private_attribute
|
||||
tests/test_private_attributes.py::test_private_attribute_annotation
|
||||
tests/test_private_attributes.py::test_private_attribute_factory
|
||||
tests/test_private_attributes.py::test_private_attribute_multiple_inheritance
|
||||
tests/test_private_attributes.py::test_underscore_attrs_are_private
|
||||
)
|
||||
;;
|
||||
python3.12)
|
||||
EPYTEST_DESELECT+=(
|
||||
tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception
|
||||
tests/test_generics.py::test_partial_specification_name
|
||||
tests/test_generics.py::test_parse_generic_json
|
||||
tests/test_types.py::test_secretfield
|
||||
)
|
||||
;;
|
||||
esac
|
||||
rm -rf pydantic || die
|
||||
epytest
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..12} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_P=${P/_beta/b}
|
||||
DESCRIPTION="Data parsing and validation using Python type hints"
|
||||
HOMEPAGE="
|
||||
https://github.com/pydantic/pydantic/
|
||||
https://pypi.org/project/pydantic/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/pydantic/pydantic/archive/v${PV/_beta/b}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="native-extensions"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
native-extensions? (
|
||||
<dev-python/cython-3[${PYTHON_USEDEP}]
|
||||
)
|
||||
test? (
|
||||
>=dev-python/email-validator-1.2.1[${PYTHON_USEDEP}]
|
||||
dev-python/hypothesis[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
dev-python/python-dotenv[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/CFLAGS/d' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
|
||||
# do not build extensions on PyPy to workaround
|
||||
# https://github.com/cython/cython/issues/4763
|
||||
local -x SKIP_CYTHON=1
|
||||
fi
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
local -x PYTEST_PLUGINS=pytest_mock
|
||||
|
||||
local EPYTEST_DESELECT=(
|
||||
# flaky test, known upstream
|
||||
tests/test_hypothesis_plugin.py::test_can_construct_models_with_all_fields
|
||||
# mypy linting causes regressions with new mypy versions
|
||||
tests/mypy
|
||||
)
|
||||
case ${EPYTHON} in
|
||||
pypy3)
|
||||
EPYTEST_DESELECT+=(
|
||||
tests/test_private_attributes.py::test_private_attribute
|
||||
tests/test_private_attributes.py::test_private_attribute_annotation
|
||||
tests/test_private_attributes.py::test_private_attribute_factory
|
||||
tests/test_private_attributes.py::test_private_attribute_multiple_inheritance
|
||||
tests/test_private_attributes.py::test_underscore_attrs_are_private
|
||||
)
|
||||
;;
|
||||
python3.12)
|
||||
EPYTEST_DESELECT+=(
|
||||
tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception
|
||||
tests/test_generics.py::test_partial_specification_name
|
||||
tests/test_generics.py::test_parse_generic_json
|
||||
tests/test_types.py::test_secretfield
|
||||
)
|
||||
;;
|
||||
esac
|
||||
rm -rf pydantic || die
|
||||
epytest
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=hatchling
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Data parsing and validation using Python type hints"
|
||||
HOMEPAGE="
|
||||
https://github.com/pydantic/pydantic/
|
||||
https://pypi.org/project/pydantic/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
|
||||
~dev-python/pydantic-core-2.0.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/dirty-equals[${PYTHON_USEDEP}]
|
||||
>=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=()
|
||||
local EPYTEST_IGNORE=(
|
||||
# require pytest-examples
|
||||
tests/test_docs.py
|
||||
)
|
||||
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
epytest -p pytest_mock
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=hatchling
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Data parsing and validation using Python type hints"
|
||||
HOMEPAGE="
|
||||
https://github.com/pydantic/pydantic/
|
||||
https://pypi.org/project/pydantic/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
|
||||
~dev-python/pydantic-core-2.1.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/dirty-equals[${PYTHON_USEDEP}]
|
||||
>=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=()
|
||||
local EPYTEST_IGNORE=(
|
||||
# require pytest-examples
|
||||
tests/test_docs.py
|
||||
)
|
||||
case ${EPYTHON} in
|
||||
python3.12)
|
||||
EPYTEST_DESELECT+=(
|
||||
tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception
|
||||
tests/test_computed_fields.py::test_abstractmethod_missing
|
||||
tests/test_edge_cases.py::test_abstractmethod_missing_for_all_decorators
|
||||
tests/test_generics.py::test_partial_specification_name
|
||||
tests/test_model_signature.py::test_annotated_field
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
epytest -p pytest_mock
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=hatchling
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Data parsing and validation using Python type hints"
|
||||
HOMEPAGE="
|
||||
https://github.com/pydantic/pydantic/
|
||||
https://pypi.org/project/pydantic/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
|
||||
~dev-python/pydantic-core-2.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/dirty-equals[${PYTHON_USEDEP}]
|
||||
>=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/benchmark/d' pyproject.toml || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=()
|
||||
local EPYTEST_IGNORE=(
|
||||
# require pytest-examples
|
||||
tests/test_docs.py
|
||||
# benchmarks
|
||||
tests/benchmarks
|
||||
)
|
||||
case ${EPYTHON} in
|
||||
python3.12)
|
||||
EPYTEST_DESELECT+=(
|
||||
tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception
|
||||
tests/test_computed_fields.py::test_abstractmethod_missing
|
||||
tests/test_edge_cases.py::test_abstractmethod_missing_for_all_decorators
|
||||
tests/test_generics.py::test_partial_specification_name
|
||||
tests/test_model_signature.py::test_annotated_field
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
epytest -p pytest_mock
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=hatchling
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Data parsing and validation using Python type hints"
|
||||
HOMEPAGE="
|
||||
https://github.com/pydantic/pydantic/
|
||||
https://pypi.org/project/pydantic/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
|
||||
~dev-python/pydantic-core-2.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/dirty-equals[${PYTHON_USEDEP}]
|
||||
>=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=()
|
||||
local EPYTEST_IGNORE=(
|
||||
# require pytest-examples
|
||||
tests/test_docs.py
|
||||
)
|
||||
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
epytest -p pytest_mock
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST Pygments-2.15.1.tar.gz 4819591 BLAKE2B f42d3342b88c5b5745fbfbd1f76913f7d17745d396311a39627aca8e968445b19983e7c633583097c495ce6f43a6a7224262a7c35645751803b6c1172062d8c0 SHA512 408f0bbbc8226ee91b82ed084d178f114657150bcf9381dd34debb704399ccdb2e78cb5578ff297797771660d7263c51c305d03b2a27ae29269110be0bca50a9
|
||||
DIST Pygments-2.16.1.tar.gz 4872980 BLAKE2B 57ec4f52f2bca3d9df993f583434d61ad0adbc2719f2d0b4ac84160672a3a57ec144509c520f2724a15f0222548abfbe0e743fa31a8dac64d54111b2d7393ae4 SHA512 9b66c79c03e7ecd36cc00efd428a0a6b372e70dbccdcaae26eff4d56c07a17e2e00d2cf0291eb6624ffd1c896b797789b973e80ccbca4240d56daad95eacfd80
|
||||
|
46
sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.16.1.ebuild
vendored
Normal file
46
sdk_container/src/third_party/portage-stable/dev-python/pygments/pygments-2.16.1.ebuild
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYPI_NO_NORMALIZE=1
|
||||
PYPI_PN=${PN^}
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 bash-completion-r1 pypi
|
||||
|
||||
DESCRIPTION="Pygments is a syntax highlighting package written in Python"
|
||||
HOMEPAGE="
|
||||
https://pygments.org/
|
||||
https://github.com/pygments/pygments/
|
||||
https://pypi.org/project/Pygments/
|
||||
"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
|
||||
virtual/ttf-fonts
|
||||
)
|
||||
"
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# fuzzing tests, very slow
|
||||
tests/test_basic_api.py::test_random_input
|
||||
# incompatibility with python-ctags3, apparently
|
||||
# https://github.com/pygments/pygments/issues/2486
|
||||
tests/test_html_formatter.py::test_ctags
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
newbashcomp external/pygments.bashcomp pygmentize
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST pyparsing-3.1.0.tar.gz 882565 BLAKE2B 8ed2e15e2422ded9a558b866a5cbbdc0fb6c7ce42962710e42cfd751aae7b48bacd3d6201084189a940d262fb7b142ea37b897bae23f97a175f6152c19adb5c9 SHA512 0ad2e8fff93708426b3675e2d41da12b3f09531bf272799db4095ee618bbaa0f4b90e527ff09dda2acbdb923d59117678fbb28b82a7cfd2b395d686f47b61850
|
||||
DIST pyparsing-3.1.1.tar.gz 884814 BLAKE2B d5a2b74181d2d93575e9be43285a7156c3b796d58993397c2ed8df10467d54ef193d1f82bbdac0cecd97fb20d1cb64d79f8502b02d8886511ca90c02ac3739bb SHA512 59ae01e13277e25cabd1a1ea41a27aac9235c09746f54c0eaac53d0aae488309fe2044b3b31e1105cb8207ad3326828ec32bdd5e904cceee8b0d032740679628
|
||||
DIST pyparsing_3.0.9.gh.tar.gz 967771 BLAKE2B c13c74661b9e0d53b4886c9949b01951d220991f916362a13ce0c32c0ab05a6b1cab4d5e5a626acb7563c0ec1716348ede205cb67bf22c0710904f07404ad82a SHA512 1158f27e31f8eced540217b7234b09005eac416fad74faf59678fdae93fe2f76e0e3b5f4adfd3ceb42c8aef19150950293e989c9a5189741175073eb7a03cd6d
|
||||
|
@ -17,7 +17,7 @@ HOMEPAGE="
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="examples"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
47
sdk_container/src/third_party/portage-stable/dev-python/pyparsing/pyparsing-3.1.1.ebuild
vendored
Normal file
47
sdk_container/src/third_party/portage-stable/dev-python/pyparsing/pyparsing-3.1.1.ebuild
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
# Copyright 2004-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Easy-to-use Python module for text parsing"
|
||||
HOMEPAGE="
|
||||
https://github.com/pyparsing/pyparsing/
|
||||
https://pypi.org/project/pyparsing/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="examples"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
EPYTEST_IGNORE=(
|
||||
# railroad-diagrams not packaged (and not suitable for packaging yet)
|
||||
tests/test_diagram.py
|
||||
)
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# also railroad-diagrams
|
||||
tests/test_examples.py::TestExamples::test_range_check
|
||||
tests/test_unit.py::Test02_WithoutPackrat::testEmptyExpressionsAreHandledProperly
|
||||
tests/test_unit.py::Test04_WithPackrat::testEmptyExpressionsAreHandledProperly
|
||||
tests/test_unit.py::Test06_WithBoundedPackrat::testEmptyExpressionsAreHandledProperly
|
||||
tests/test_unit.py::Test08_WithUnboundedPackrat::testEmptyExpressionsAreHandledProperly
|
||||
tests/test_unit.py::Test09_WithLeftRecursionParsing::testEmptyExpressionsAreHandledProperly
|
||||
tests/test_unit.py::Test10_WithLeftRecursionParsingBoundedMemo::testEmptyExpressionsAreHandledProperly
|
||||
)
|
||||
|
||||
python_install_all() {
|
||||
if use examples; then
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
dodoc -r examples
|
||||
fi
|
||||
distutils-r1_python_install_all
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user