mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-04 19:56:32 +02:00
Merge pull request #409 from flatcar/buildbot/weekly-package-updates-2023-01-23
Weekly package updates 2023-01-23
This commit is contained in:
commit
da93011ea9
@ -1,10 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>zlogene@gentoo.org</email>
|
||||
<name>Mikle Kolyada</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>sam@gentoo.org</email>
|
||||
<name>Sam James</name>
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>zlogene@gentoo.org</email>
|
||||
<name>Mikle Kolyada</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>sam@gentoo.org</email>
|
||||
<name>Sam James</name>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -24,6 +24,7 @@ PATCHES=(
|
||||
"${WORKDIR}"/${P}-CVE-2021-38185.patch
|
||||
"${FILESDIR}"/${PN}-2.13-sysmacros-glibc-2.26.patch
|
||||
"${FILESDIR}"/${PN}-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch
|
||||
"${FILESDIR}"/${PN}-2.13-wincompatible-function-pointer-types.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
@ -0,0 +1,23 @@
|
||||
https://bugs.gentoo.org/880373
|
||||
https://savannah.gnu.org/bugs/index.php?63349
|
||||
https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=0cc39712803ade7b2d4b89c36b143dad72404063
|
||||
|
||||
From 0cc39712803ade7b2d4b89c36b143dad72404063 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Haible <bruno@clisp.org>
|
||||
Date: Sun, 18 Oct 2020 14:37:13 +0200
|
||||
Subject: obstack: Fix a clang warning.
|
||||
|
||||
* lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
|
||||
--- a/gnu/obstack.c
|
||||
+++ b/gnu/obstack.c
|
||||
@@ -326,7 +326,7 @@ int obstack_exit_failure = EXIT_FAILURE;
|
||||
# include <libio/iolibio.h>
|
||||
# endif
|
||||
|
||||
-static _Noreturn void
|
||||
+static __attribute_noreturn__ void
|
||||
print_and_abort (void)
|
||||
{
|
||||
/* Don't change any of these strings. Yes, it would be possible to add
|
||||
--
|
||||
cgit v1.1
|
||||
@ -56,8 +56,6 @@ src_install() {
|
||||
for x in gunzip gzip zcat; do
|
||||
mv "${ED}/usr/bin/${x}" "${ED}/bin/${x}-reference" || die
|
||||
done
|
||||
sed -i -e 's:exec gzip:&-reference:' \
|
||||
"${ED}"/bin/{gunzip,zcat}-reference || die
|
||||
mv "${ED}"/usr/share/man/man1/gzip{,-reference}.1 || die
|
||||
rm "${ED}"/usr/share/man/man1/{gunzip,zcat}.1 || die
|
||||
}
|
||||
@ -71,8 +71,6 @@ src_install() {
|
||||
for x in gunzip gzip zcat; do
|
||||
mv "${ED}/usr/bin/${x}" "${ED}/bin/${x}-reference" || die
|
||||
done
|
||||
sed -i -e 's:exec gzip:&-reference:' \
|
||||
"${ED}"/bin/{gunzip,zcat}-reference || die
|
||||
mv "${ED}"/usr/share/man/man1/gzip{,-reference}.1 || die
|
||||
rm "${ED}"/usr/share/man/man1/{gunzip,zcat}.1 || die
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
https://github.com/kjn/lbzip2/pull/33
|
||||
|
||||
From 32b5167940ec817e454431956040734af405a9de Mon Sep 17 00:00:00 2001
|
||||
From: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Thu, 5 Jan 2023 18:02:26 +0100
|
||||
Subject: [PATCH] Define the GNULIB_XALLOC_DIE macro
|
||||
|
||||
This avoids an implicit function declaration when building gnulib's
|
||||
xmalloc.c, addressing a build failure with future compiler version.
|
||||
|
||||
Solution proposed by Bruno Haible here:
|
||||
|
||||
Re: xmalloc calling undeclared xalloc_die function
|
||||
<https://lists.gnu.org/archive/html/bug-gnulib/2022-12/msg00038.html>
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -31,6 +31,9 @@ AC_PROG_LN_S
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_CC_C89
|
||||
|
||||
+AC_DEFINE(GNULIB_XALLOC_DIE, 1,
|
||||
+ [This package is providing its own definition of the xalloc_die function.])
|
||||
+
|
||||
gl_ASSERT_NO_GNULIB_TESTS
|
||||
gl_ASSERT_NO_GNULIB_POSIXCHECK
|
||||
gl_EARLY
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic
|
||||
|
||||
@ -17,6 +17,7 @@ IUSE="debug static"
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.3-s_isreg.patch
|
||||
"${FILESDIR}"/${P}-fix-unaligned.patch
|
||||
"${FILESDIR}"/${P}-clang16.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
37
sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r1.ebuild
vendored
Normal file
37
sdk_container/src/third_party/portage-stable/app-arch/ncompress/ncompress-5.0-r1.ebuild
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Classic compress & uncompress programs for .Z (LZW) files"
|
||||
HOMEPAGE="https://vapier.github.io/ncompress/"
|
||||
SRC_URI="https://github.com/vapier/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="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 ~sparc-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# First sed expression replaces hardlinking with
|
||||
# symlinking. Second sed expression fixes the symlink target
|
||||
# to use relative path to a file in the same directory as the
|
||||
# symlink (so point to compress instead of
|
||||
# $(DESTDIR)$(BINDIR)/compress).
|
||||
sed -i \
|
||||
-e 's:\bln :ln -s :' \
|
||||
-e 's:\(\bln [^$]*\)\$(DESTDIR)\$(BINDIR)/:\1:' \
|
||||
Makefile.def || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake install_core DESTDIR="${ED}" PREFIX="/usr"
|
||||
dodoc Acknowleds Changes LZW.INFO README.md
|
||||
}
|
||||
26
sdk_container/src/third_party/portage-stable/app-arch/pigz/files/pigz-2.7-memcpy-ub.patch
vendored
Normal file
26
sdk_container/src/third_party/portage-stable/app-arch/pigz/files/pigz-2.7-memcpy-ub.patch
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
https://github.com/madler/pigz/commit/e1ed230a1599a3cb64c8f5c003cced60e10e3314
|
||||
https://github.com/madler/pigz/issues/107
|
||||
|
||||
From e1ed230a1599a3cb64c8f5c003cced60e10e3314 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Adler <madler@alumni.caltech.edu>
|
||||
Date: Sat, 31 Dec 2022 21:28:26 -0800
|
||||
Subject: [PATCH] Avoid calling memcpy() with a NULL pointer.
|
||||
|
||||
This is not permitted by the C99 standard even when the length is
|
||||
zero. Go figure.
|
||||
--- a/pigz.c
|
||||
+++ b/pigz.c
|
||||
@@ -3414,8 +3414,10 @@ local int outb(void *desc, unsigned char *buf, unsigned len) {
|
||||
|
||||
// copy the output and alert the worker bees
|
||||
out_len = len;
|
||||
- g.out_tot += len;
|
||||
- memcpy(out_copy, buf, len);
|
||||
+ if (len) {
|
||||
+ g.out_tot += len;
|
||||
+ memcpy(out_copy, buf, len);
|
||||
+ }
|
||||
twist(outb_write_more, TO, 1);
|
||||
twist(outb_check_more, TO, 1);
|
||||
|
||||
|
||||
38
sdk_container/src/third_party/portage-stable/app-arch/pigz/pigz-2.7-r1.ebuild
vendored
Normal file
38
sdk_container/src/third_party/portage-stable/app-arch/pigz/pigz-2.7-r1.ebuild
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit toolchain-funcs flag-o-matic
|
||||
|
||||
DESCRIPTION="A parallel implementation of gzip"
|
||||
HOMEPAGE="https://www.zlib.net/pigz/"
|
||||
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 ~sparc64-solaris"
|
||||
IUSE="static test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
LIB_DEPEND="sys-libs/zlib[static-libs(+)]"
|
||||
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
|
||||
DEPEND="${RDEPEND}
|
||||
static? ( ${LIB_DEPEND} )
|
||||
test? ( app-arch/ncompress )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-memcpy-ub.patch
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
use static && append-ldflags -static
|
||||
emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
dosym ${PN} /usr/bin/un${PN}
|
||||
dodoc README
|
||||
doman ${PN}.1
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
DIST xz-5.2.10.tar.gz 2123206 BLAKE2B fdd9e77e21ee65482401e0e43e0b291093a227d452991a9182562989b7a4388ceed30d5d54cd7f86320dcc073eb792032a49741880338a29043a8380507c4215 SHA512 c3814680fcad421efa71cf977217a62c34e3223900302a6fd7d505f310a7b338815feee2c8225b1232bd22b9e29c7dda3664e54dae2d80f816daec6adf560ca1
|
||||
DIST xz-5.2.10.tar.gz.sig 566 BLAKE2B ce72730816d03084dc0d1559d6f2890b3ebe25a5e6b0720d4775ba2364762b5d1934a3a53f2255f6e68a1cdf42778d85d8b02ab30396b2addab619e95855f733 SHA512 48a0864abee6639116678afab6e8319eb2de903b381362c611fb77f9b6fc21df5f7d9783a250810f7ecc08380fb371a3a791ab55f5a343b68b9d4f9e414da403
|
||||
DIST xz-5.4.0.tar.gz 2332619 BLAKE2B 7bcf2e48470b885ae48b1fd0d46ab504961e7c5b1358d8c57a6fe1ba32311f5ca837740cff7ba77767f0a25ef80ec68c3d43029f87af035131526cb71f961d0f SHA512 29b2cd25bb5b234b329ffe9547692d2c29be393db9d8d4ce70a66dfdaebd54433e79a89d80c57e58cd4559c3c68b9845507d5fedf3eec1c528a81e3d9ddbd811
|
||||
DIST xz-5.4.0.tar.gz.sig 566 BLAKE2B 6f8a6c81c0d91cea08b218e8f8ed74cea3b471a0adb0b5aac114f85d103977052b735ce5582e4fe5354dde17a7072d776f2fd64844531c3f67e60c770ccdc10e SHA512 9bebc2ad25ff63036e6cb07e9ea6767441138fd91ef59e6f068c370296a594135479477a18f086dbf06b7dda5188fa0da09c24a6b7b3e7222e4bca70104d20d2
|
||||
DIST xz-5.4.1.tar.gz 2528617 BLAKE2B f4dc8698fb97002aa0548107b448ab0dd8659cce506a83775930f95fd775601f7de1df44866310ac617853410a1915cd4e90ad4088b2fd56418e67b6f0fc4e98 SHA512 5cff8383a68fb88ecbb3770ec48af0ad5582e08de9dccd339e0b685aaa53447e59d6425caa3f63b54a674e5d78c20520876db547d156e6658ad4841660cba85b
|
||||
DIST xz-5.4.1.tar.gz.sig 566 BLAKE2B f384bcf7ea6bd7d3af65b6b17b379b48826257f403bca0bed1b42697f88edbc38f38eaac03c5564fc466df670f40e2e7ee49974232da4eb849718e89234c224b SHA512 2e6c3bf04ceb29c1bac8fdde7aa09c4d0f96442515d797e06ea860f365fd94777630b0034b98006cf844083efea8642a0bf87b1ff56de6a58446a644b1fd3c1c
|
||||
|
||||
@ -13,5 +13,6 @@
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:tukaani:xz</remote-id>
|
||||
<remote-id type="sourceforge">lzmautils</remote-id>
|
||||
<remote-id type="github">tukaani-project/xz</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# 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
|
||||
@ -9,7 +9,12 @@ EAPI=7
|
||||
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.tukaani.org/xz.git"
|
||||
# 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
|
||||
@ -20,15 +25,17 @@ else
|
||||
|
||||
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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# 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
|
||||
@ -9,7 +9,12 @@ EAPI=7
|
||||
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.tukaani.org/xz.git"
|
||||
# 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
|
||||
@ -20,9 +25,11 @@ else
|
||||
|
||||
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
|
||||
)
|
||||
"
|
||||
|
||||
@ -1,2 +1 @@
|
||||
DIST adcli-0.9.1.tar.bz2 89684 BLAKE2B deaf6d3a13ad29c77a35b9f9c195dd646f384ad7c9782c15b50b26efceabae268bbb287d488ec7ed8d783d92ce7d8399f05898d30201d0d7fab7c0369c22fce1 SHA512 7e41fb51bfcb8837f9e5f6fd1fceacece0762c237dbc0f58dd581e2be8841d7a613d57507aea4534a66a2bd10ef4d01c4e04885437038c71238739db6e357d6e
|
||||
DIST adcli-0.9.2.tar.bz2 93680 BLAKE2B b5958b276ee43a0ee54aa922f27ed266d4e9fbd1c86e0c007dac9fcf9cc022e1b3ba043b782fceb00066be2577390773dc99fb8d476a6b5e6523d44d008fb667 SHA512 ae8414a0af389b6845dd92d41446a80a9dc1734b874175323c0e491d99944eab442b95ae6d3a29fc69638d2e73bf8d2c369f6fa50e9ed3968527444b78606286
|
||||
|
||||
@ -1,40 +0,0 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Tool for performing actions on an Active Directory domain"
|
||||
HOMEPAGE="https://www.freedesktop.org/software/realmd/adcli/adcli.html"
|
||||
SRC_URI="https://gitlab.freedesktop.org/realmd/adcli/-/archive/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
DEPEND="
|
||||
app-crypt/mit-krb5
|
||||
net-nds/openldap:=[sasl]"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="
|
||||
doc? (
|
||||
app-text/docbook-xml-dtd:4.3
|
||||
app-text/xmlto
|
||||
dev-libs/libxslt
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-glibc-2.34-resolv.patch
|
||||
"${FILESDIR}"/${P}-library-include-endian.h-for-le32toh.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf $(use_enable doc)
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
https://gitlab.freedesktop.org/realmd/adcli/-/commit/e841ba7513f3f8b6393183d2dea9adcbf7ba2e44
|
||||
https://bugs.gentoo.org/820224
|
||||
|
||||
From: Sumit Bose <sbose@redhat.com>
|
||||
Date: Wed, 28 Jul 2021 12:55:16 +0200
|
||||
Subject: [PATCH] configure: check for ns_get16 and ns_get32 as well
|
||||
|
||||
With newer versions of glibc res_query() might ba already available in
|
||||
glibc with ns_get16() and ns_get32() still requires libresolv.
|
||||
|
||||
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1984891
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -98,13 +98,15 @@ AC_SUBST(LDAP_CFLAGS)
|
||||
# -------------------------------------------------------------------
|
||||
# resolv
|
||||
|
||||
-AC_MSG_CHECKING(for which library has res_query)
|
||||
+AC_MSG_CHECKING([for which library has res_query, ns_get16 and ns_get32])
|
||||
for lib in "" "-lresolv"; do
|
||||
saved_LIBS="$LIBS"
|
||||
LIBS="$LIBS $lib"
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([#include <resolv.h>],
|
||||
- [res_query (0, 0, 0, 0, 0)])
|
||||
+ [res_query (0, 0, 0, 0, 0);
|
||||
+ ns_get32 (NULL);
|
||||
+ ns_get16 (NULL);])
|
||||
],
|
||||
[ AC_MSG_RESULT(${lib:-libc}); have_res_query="yes"; break; ],
|
||||
[ LIBS="$saved_LIBS" ])
|
||||
GitLab
|
||||
@ -1,21 +0,0 @@
|
||||
https://bugs.gentoo.org/830325
|
||||
https://gitlab.freedesktop.org/realmd/adcli/-/merge_requests/47
|
||||
|
||||
From: Henning Schild <henning@hennsch.de>
|
||||
Date: Tue, 11 Jan 2022 08:22:55 +0100
|
||||
Subject: [PATCH] library: include endian.h for le32toh
|
||||
|
||||
upstream commit 938065a751c0876eb837a27f8c1443fc7d0d2551
|
||||
|
||||
linking against musl libc we need to include that specifically, actually
|
||||
also according to "man 3 endian".
|
||||
--- a/library/adutil.c
|
||||
+++ b/library/adutil.c
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
+#include <endian.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit autotools python-any-r1 systemd toolchain-funcs multilib-minimal
|
||||
|
||||
MY_P="${P/mit-}"
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
DIST vim-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
||||
DIST vim-9.0.0828.tar.gz 16782339 BLAKE2B 6b997c1c828338d64a8b204a1e232676ec075834b1b7e74c2fc671e315f9bf6026b0c419ebb3c31e7ce58dbca23828ca11d866b2bfcb73f8a86fb31fa0d51b00 SHA512 03f93515039a2f275a8fe6b84bbac5875ffff17768ab3201e111eba4897a2485fe4ccfe238151f393334c7a6ea77eddd8898f0b816e26dbdb884f4e6bcbd2943
|
||||
DIST vim-9.0.1000.tar.gz 16842747 BLAKE2B 85edab7d13daa3e84ef0aeb50e3e9bfd31f0634d8e480c105727b0c34318e0adf7f1276dcdac53df8fc416fd8dfb70377cd74ed570752a3e77f07a083fa6c113 SHA512 9d2b914a112948d77b92c8dcafc2f711a83c3fdaf35a28f7f606e77007b9320e2260a0f6b24fc875a817c33c012f077f89730b34e9f12d6f00795c5c806704c8
|
||||
DIST vim-9.0.1157.tar.gz 16924574 BLAKE2B 0cdc6cf61f5abdaff0762b98550bfa5bae8f0485ddd0e9947a5fe52390f9da54fc8f5fdae767fb8f5d3ac2b441253917a80ae7f6092f67b69bdc9b6a630df8e2 SHA512 19240a9bcf5900766db42e2894b1bf7b849274711f17dc267671aacd867b334c3d30f39947dde7dd0245f289e9ad801eeb272f34a2ab15d01fac40bf71a54271
|
||||
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942
|
||||
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.1157.ebuild
vendored
Normal file
231
sdk_container/src/third_party/portage-stable/app-editors/vim-core/vim-core-9.0.1157.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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}/vim-${PV}"
|
||||
|
||||
DESCRIPTION="vim and gvim shared files"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ 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"
|
||||
|
||||
pkg_setup() {
|
||||
# people with broken alphabets run into trouble. bug #82186.
|
||||
unset LANG LC_ALL
|
||||
export LC_COLLATE="C"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/vim-patches-vim-${VIM_PATCHES_VERSION}-patches
|
||||
fi
|
||||
|
||||
# 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'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i 's/ libc\.h / /' "${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"
|
||||
|
||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS 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"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
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}
|
||||
--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,5 +1,6 @@
|
||||
DIST vim-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
||||
DIST vim-9.0.0828.tar.gz 16782339 BLAKE2B 6b997c1c828338d64a8b204a1e232676ec075834b1b7e74c2fc671e315f9bf6026b0c419ebb3c31e7ce58dbca23828ca11d866b2bfcb73f8a86fb31fa0d51b00 SHA512 03f93515039a2f275a8fe6b84bbac5875ffff17768ab3201e111eba4897a2485fe4ccfe238151f393334c7a6ea77eddd8898f0b816e26dbdb884f4e6bcbd2943
|
||||
DIST vim-9.0.1000.tar.gz 16842747 BLAKE2B 85edab7d13daa3e84ef0aeb50e3e9bfd31f0634d8e480c105727b0c34318e0adf7f1276dcdac53df8fc416fd8dfb70377cd74ed570752a3e77f07a083fa6c113 SHA512 9d2b914a112948d77b92c8dcafc2f711a83c3fdaf35a28f7f606e77007b9320e2260a0f6b24fc875a817c33c012f077f89730b34e9f12d6f00795c5c806704c8
|
||||
DIST vim-9.0.1157.tar.gz 16924574 BLAKE2B 0cdc6cf61f5abdaff0762b98550bfa5bae8f0485ddd0e9947a5fe52390f9da54fc8f5fdae767fb8f5d3ac2b441253917a80ae7f6092f67b69bdc9b6a630df8e2 SHA512 19240a9bcf5900766db42e2894b1bf7b849274711f17dc267671aacd867b334c3d30f39947dde7dd0245f289e9ad801eeb272f34a2ab15d01fac40bf71a54271
|
||||
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942
|
||||
DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -7,7 +7,7 @@ EAPI=8
|
||||
|
||||
VIM_VERSION="9.0"
|
||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby27 ruby30 ruby31"
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -7,7 +7,7 @@ EAPI=8
|
||||
|
||||
VIM_VERSION="9.0"
|
||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby27 ruby30 ruby31"
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -9,7 +9,7 @@ VIM_VERSION="9.0"
|
||||
VIM_PATCHES_VERSION="9.0.1000"
|
||||
|
||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby27 ruby30 ruby31"
|
||||
|
||||
|
||||
372
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1157.ebuild
vendored
Normal file
372
sdk_container/src/third_party/portage-stable/app-editors/vim/vim-9.0.1157.ebuild
vendored
Normal file
@ -0,0 +1,372 @@
|
||||
# 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
||||
HOMEPAGE="https://vim.sourceforge.io/ 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}
|
||||
!<app-editors/vim-core-8.2.4328-r1
|
||||
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 )"
|
||||
|
||||
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() {
|
||||
if [[ ${PV} != 9999* ]] ; then
|
||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
||||
eapply "${WORKDIR}"/vim-patches-vim-${VIM_PATCHES_VERSION}-patches
|
||||
fi
|
||||
|
||||
# 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'
|
||||
|
||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
||||
sed -i -e \
|
||||
's/ libc\.h / /' \
|
||||
"${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"
|
||||
|
||||
sed -i -e \
|
||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS 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"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
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} \
|
||||
"${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
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -9,7 +9,7 @@ VIM_VERSION="9.0"
|
||||
VIM_PATCHES_VERSION="9.0.1000"
|
||||
|
||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
USE_RUBY="ruby27 ruby30 ruby31"
|
||||
|
||||
|
||||
@ -13,10 +13,6 @@
|
||||
<email>tamiko@gentoo.org</email>
|
||||
<name>Matthias Maier</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>zlogene@gentoo.org</email>
|
||||
<name>Mikle Kolyada</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>virtualization@gentoo.org</email>
|
||||
<name>Gentoo Virtualization Project</name>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit systemd toolchain-funcs udev python-any-r1
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit edo systemd toolchain-funcs python-any-r1 udev
|
||||
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
commit 433c2acd1b9c3f7f5903273e85fed9a7f9157b23
|
||||
Author: John Helmert III <ajak@gentoo.org>
|
||||
Date: Wed Jan 4 12:25:08 2023 -0600
|
||||
|
||||
meson.build: disable gmp
|
||||
|
||||
gmp isn't required, and we want to avoid linking to it automatigcally
|
||||
in Gentoo.
|
||||
|
||||
Bug: https://bugs.gentoo.org/886207
|
||||
Signed-off-by: John Helmert III <ajak@gentoo.org>
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 5c6b5a1c75..2f9550362d 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1234,15 +1234,6 @@ if not gnutls_crypto.found()
|
||||
endif
|
||||
endif
|
||||
|
||||
-gmp = dependency('gmp', required: false, method: 'pkg-config', kwargs: static_kwargs)
|
||||
-if nettle.found() and gmp.found()
|
||||
- hogweed = dependency('hogweed', version: '>=3.4',
|
||||
- method: 'pkg-config',
|
||||
- required: get_option('nettle'),
|
||||
- kwargs: static_kwargs)
|
||||
-endif
|
||||
-
|
||||
-
|
||||
gtk = not_found
|
||||
gtkx11 = not_found
|
||||
vte = not_found
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 4b749ca549..e06b274960 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -277,6 +277,8 @@ option('vduse_blk_export', type: 'feature', value: 'auto',
|
||||
|
||||
option('capstone', type: 'feature', value: 'auto',
|
||||
description: 'Whether and how to find the capstone library')
|
||||
+option('gmp', type: 'feature', value: 'auto',
|
||||
+ description: 'Whether or not to find the gmp library')
|
||||
option('fdt', type: 'combo', value: 'auto',
|
||||
choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
|
||||
description: 'Whether and how to find the libfdt library')
|
||||
@ -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"
|
||||
@ -151,7 +151,7 @@ done
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the external library.
|
||||
ALL_DEPEND="
|
||||
>=dev-libs/glib-2.0[static-libs(+)]
|
||||
dev-libs/glib:2[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
@ -176,11 +176,14 @@ SOFTMMU_TOOLS_DEPEND="
|
||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||
@ -205,7 +208,7 @@ SOFTMMU_TOOLS_DEPEND="
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
@ -223,7 +226,7 @@ SOFTMMU_TOOLS_DEPEND="
|
||||
)
|
||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||
udev? ( virtual/libudev:= )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
@ -311,6 +314,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
)
|
||||
|
||||
QA_PREBUILT="
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -205,7 +205,7 @@ SOFTMMU_TOOLS_DEPEND="
|
||||
media-libs/mesa[egl(+),gbm(+)]
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
@ -219,8 +219,8 @@ SOFTMMU_TOOLS_DEPEND="
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:= )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
>=app-emulation/spice-protocol-0.14.0
|
||||
>=app-emulation/spice-0.14.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||
udev? ( virtual/libudev:= )
|
||||
|
||||
@ -11,5 +11,7 @@
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:gentoo:portage</remote-id>
|
||||
<remote-id type="gentoo">proj/portage-utils</remote-id>
|
||||
<remote-id type="github">gentoo/portage-utils</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
3
sdk_container/src/third_party/portage-stable/changelog/security/2023-02-06-weekly-updates.md
vendored
Normal file
3
sdk_container/src/third_party/portage-stable/changelog/security/2023-02-06-weekly-updates.md
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
- vim ([CVE-2023-0049](https://nvd.nist.gov/vuln/detail/CVE-2023-0049), [CVE-2023-0051](https://nvd.nist.gov/vuln/detail/CVE-2023-0051), [CVE-2023-0054](https://nvd.nist.gov/vuln/detail/CVE-2023-0054))
|
||||
- SDK: qemu ([CVE-2022-4172](https://nvd.nist.gov/vuln/detail/CVE-2022-4172))
|
||||
- curl ([CVE-2022-43551](https://nvd.nist.gov/vuln/detail/CVE-2022-43551), [CVE-2022-43552](https://nvd.nist.gov/vuln/detail/CVE-2022-43552))
|
||||
10
sdk_container/src/third_party/portage-stable/changelog/updates/2023-02-06-weekly-updated.md
vendored
Normal file
10
sdk_container/src/third_party/portage-stable/changelog/updates/2023-02-06-weekly-updated.md
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
- XZ utils ([5.4.1](https://github.com/tukaani-project/xz/releases/tag/v5.4.1) (includes [5.4.0](https://github.com/tukaani-project/xz/releases/tag/v5.4.0)))
|
||||
- vim ([9.0.1157](https://github.com/vim/vim/releases/tag/v9.0.1157))
|
||||
- SDK: qemu ([7.2.0](https://wiki.qemu.org/ChangeLog/7.2))
|
||||
- SDK: boost ([1.81.0](https://www.boost.org/users/history/version_1_81_0.html))
|
||||
- bpftool ([5.19.12](https://lwn.net/Articles/909678/))
|
||||
- git ([2.39.1](https://github.com/git/git/blob/v2.39.1/Documentation/RelNotes/2.39.1.txt) (includes [2.39.0](https://github.com/git/git/blob/v2.39.0/Documentation/RelNotes/2.39.0.txt)))
|
||||
- bind tools ([9.16.36](https://bind9.readthedocs.io/en/v9_16_36/notes.html#notes-for-bind-9-16-36) (includes [9.16.34](https://bind9.readthedocs.io/en/v9_16_35/notes.html#notes-for-bind-9-16-34) and [9.16.35](https://bind9.readthedocs.io/en/v9_16_34/notes.html#notes-for-bind-9-16-35)))
|
||||
- curl ([7.87.0](https://curl.se/changes.html#7_87_0))
|
||||
- SDK: file ([5.44](https://github.com/file/file/blob/FILE5_44/ChangeLog))
|
||||
- SDK: portage ([3.0.43](https://github.com/gentoo/portage/blob/portage-3.0.43/NEWS) (includes [3.0.42](https://github.com/gentoo/portage/blob/portage-3.0.42/NEWS)))
|
||||
@ -1,6 +1,2 @@
|
||||
DIST sqlite-doc-3390400.zip 10853153 BLAKE2B 617927351809e5ec7489011f963337e92b539a83b135daa7ccd48f840d35716d08e8adc08a67e17d674a6bc64ca24fa92b56573c0065105386fc9c75f1f7f9ef SHA512 75d97b0f2f0d530b2e0ad505574af3bf657d82f0859bb5de7ee45c40a80351e933944845cedca56b579925a3d07505c6f4721f756f27862ffafdfc2caff539fb
|
||||
DIST sqlite-doc-3400000.zip 10921883 BLAKE2B 786bba5f4eec32114b0e12d0a42eb763c3be999506edb65e72a1ea32499c9972be9e546b4773a96165273e3eac4da9c2e3c2c696e07494d8af8f273da72e44fd SHA512 3557fe49e08fd24890da584f3fa7fb93d1e3317787f98a8ce1062dcac07733782026e50dfef7db72582739ddf0a77095cc4d3a81f3df097a69e85c672591bf7e
|
||||
DIST sqlite-doc-3400100.zip 10934836 BLAKE2B 52adbfa911a5d8556e4e071bf14ad83145023fbd426f285d9724d7f06e41257df53d3c28224581f12b4ca8f699bf3d3ec829ee161374ce0208783e5da72639dc SHA512 1131b0a6304a4dd6287c85d38d1450fd2dd0e3377d88a263e3c4716415e0587750357f25486727b9433797da0331229682565e7a8a3986eba89cfcab550a2d41
|
||||
DIST sqlite-src-3390400.zip 13405169 BLAKE2B aa0e0abbdcafced086a604ec910dbfd1e4df28e83e0edb6056019391e96367050e59478ee8847d930191a65b21cf0bf9957c35ef056abd9be4947a3838d78eb2 SHA512 0acb8afc87f911c91ec555cc97af5b77b6b0e80cc8672711ddd87c651d9e11b697c9669ff9ba2b58da12b972bb46acdf8b8fe35993950f10735b4036501b73bb
|
||||
DIST sqlite-src-3400000.zip 13723231 BLAKE2B 4b4d3119f3210497e4e41f1305558e7ed49505b635fed18f466b5fb8dcc60712d0c053a0e569f9af4b2b37803d2670528244bdcf6ef580fd3f85510e8d4dba78 SHA512 c3bb3829f99c663f3381f4c610e401173f133fe944558b70da7521cc44116d048e4e1651993feb128b0f3814381aa4fa93f48ba3e277abca3442af805159287d
|
||||
DIST sqlite-src-3400100.zip 13725560 BLAKE2B 24d2efbbf7f8f35888b1e53c98f9c7fece9b1cf0b175bf49b78869253aa753ce47e2db67247183c07368e69d6eb63a6e39c06b212c8fd5ca36c892ff535bedca SHA512 78f8c6396bf8da090671c6f4c41255e60788324fccdaad906c53610eb6e37705f4d25c7f84da3be00b511ddf9f2e0545901f33f5ae4b6e00b1ea9413af095299
|
||||
|
||||
@ -1,440 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
|
||||
|
||||
if [[ "${PV}" != "9999" ]]; then
|
||||
SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
|
||||
DOC_PV="${SRC_PV}"
|
||||
# DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
|
||||
fi
|
||||
|
||||
DESCRIPTION="SQL database engine"
|
||||
HOMEPAGE="https://sqlite.org/"
|
||||
|
||||
# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
|
||||
# for hints regarding test failures, backports, etc.
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://sqlite.org/2022/${PN}-src-${SRC_PV}.zip
|
||||
doc? ( https://sqlite.org/2022/${PN}-doc-${DOC_PV}.zip )"
|
||||
fi
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
PROPERTIES="live"
|
||||
fi
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
BDEPEND=">=dev-lang/tcl-8.6:0
|
||||
dev-vcs/fossil"
|
||||
else
|
||||
BDEPEND="app-arch/unzip
|
||||
>=dev-lang/tcl-8.6:0"
|
||||
fi
|
||||
RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]
|
||||
icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
|
||||
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
|
||||
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
|
||||
tools? ( dev-lang/tcl:0= )"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )"
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
S="${WORKDIR}/${PN}"
|
||||
else
|
||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.39.4-icu-72-test.patch
|
||||
)
|
||||
|
||||
_fossil_fetch() {
|
||||
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
|
||||
local repo_id="${1}"
|
||||
local repo_uri="${2}"
|
||||
|
||||
local -x FOSSIL_HOME="${HOME}"
|
||||
|
||||
mkdir -p "${T}/fossil/${repo_id}" || die
|
||||
pushd "${T}/fossil/${repo_id}" > /dev/null || die
|
||||
|
||||
if [[ -n "${EVCS_OFFLINE}" ]]; then
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
|
||||
fi
|
||||
else
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
|
||||
fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
|
||||
echo
|
||||
else
|
||||
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
|
||||
einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
|
||||
fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
|
||||
echo
|
||||
fi
|
||||
|
||||
(
|
||||
addwrite "${distdir}"
|
||||
mkdir -p "${distdir}/fossil-src/${repo_id}" || die
|
||||
cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
|
||||
)
|
||||
fi
|
||||
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
_fossil_checkout() {
|
||||
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
|
||||
local repo_id="${1}"
|
||||
local branch_or_commit="${2}"
|
||||
local target_directory="${3}"
|
||||
|
||||
local -x FOSSIL_HOME="${HOME}"
|
||||
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
|
||||
fi
|
||||
|
||||
if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
mkdir -p "${T}/fossil/${repo_id}" || die
|
||||
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
|
||||
fi
|
||||
|
||||
mkdir "${target_directory}" || die
|
||||
pushd "${target_directory}" > /dev/null || die
|
||||
|
||||
einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
|
||||
fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
|
||||
echo
|
||||
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
fossil_fetch() {
|
||||
local repo_id="${1}"
|
||||
local repo_uri="${2}"
|
||||
local target_directory="${3}"
|
||||
|
||||
local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
|
||||
|
||||
_fossil_fetch "${repo_id}" "${repo_uri}"
|
||||
_fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
|
||||
if use doc; then
|
||||
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
|
||||
fi
|
||||
else
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
|
||||
local options=()
|
||||
|
||||
options+=(
|
||||
--enable-load-extension
|
||||
--enable-threadsafe
|
||||
)
|
||||
|
||||
# Support detection of misuse of SQLite API.
|
||||
# https://sqlite.org/compile.html#enable_api_armor
|
||||
append-cppflags -DSQLITE_ENABLE_API_ARMOR
|
||||
|
||||
# Support bytecode and tables_used virtual tables.
|
||||
# https://sqlite.org/compile.html#enable_bytecode_vtab
|
||||
# https://sqlite.org/bytecodevtab.html
|
||||
append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
|
||||
|
||||
# Support column metadata functions.
|
||||
# https://sqlite.org/compile.html#enable_column_metadata
|
||||
# https://sqlite.org/c3ref/column_database_name.html
|
||||
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
|
||||
|
||||
# Support sqlite_dbpage virtual table.
|
||||
# https://sqlite.org/compile.html#enable_dbpage_vtab
|
||||
# https://sqlite.org/dbpage.html
|
||||
append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
|
||||
|
||||
# Support dbstat virtual table.
|
||||
# https://sqlite.org/compile.html#enable_dbstat_vtab
|
||||
# https://sqlite.org/dbstat.html
|
||||
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
|
||||
|
||||
# Support sqlite3_serialize() and sqlite3_deserialize() functions.
|
||||
# https://sqlite.org/compile.html#enable_deserialize
|
||||
# https://sqlite.org/c3ref/serialize.html
|
||||
# https://sqlite.org/c3ref/deserialize.html
|
||||
append-cppflags -DSQLITE_ENABLE_DESERIALIZE
|
||||
|
||||
# Support comments in output of EXPLAIN.
|
||||
# https://sqlite.org/compile.html#enable_explain_comments
|
||||
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
|
||||
|
||||
# Support Full-Text Search versions 3, 4 and 5.
|
||||
# https://sqlite.org/compile.html#enable_fts3
|
||||
# https://sqlite.org/compile.html#enable_fts3_parenthesis
|
||||
# https://sqlite.org/compile.html#enable_fts4
|
||||
# https://sqlite.org/compile.html#enable_fts5
|
||||
# https://sqlite.org/fts3.html
|
||||
# https://sqlite.org/fts5.html
|
||||
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
|
||||
options+=(--enable-fts5)
|
||||
|
||||
# Support hidden columns.
|
||||
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
|
||||
|
||||
# Support memsys5 memory allocator.
|
||||
# https://sqlite.org/compile.html#enable_memsys5
|
||||
# https://sqlite.org/malloc.html#memsys5
|
||||
append-cppflags -DSQLITE_ENABLE_MEMSYS5
|
||||
|
||||
# Support sqlite3_normalized_sql() function.
|
||||
# https://sqlite.org/c3ref/expanded_sql.html
|
||||
append-cppflags -DSQLITE_ENABLE_NORMALIZE
|
||||
|
||||
# Support sqlite_offset() function.
|
||||
# https://sqlite.org/compile.html#enable_offset_sql_func
|
||||
# https://sqlite.org/lang_corefunc.html#sqlite_offset
|
||||
append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
|
||||
|
||||
# Support pre-update hook functions.
|
||||
# https://sqlite.org/compile.html#enable_preupdate_hook
|
||||
# https://sqlite.org/c3ref/preupdate_count.html
|
||||
append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
|
||||
|
||||
# Support Resumable Bulk Update extension.
|
||||
# https://sqlite.org/compile.html#enable_rbu
|
||||
# https://sqlite.org/rbu.html
|
||||
append-cppflags -DSQLITE_ENABLE_RBU
|
||||
|
||||
# Support R*Trees.
|
||||
# https://sqlite.org/compile.html#enable_rtree
|
||||
# https://sqlite.org/compile.html#enable_geopoly
|
||||
# https://sqlite.org/rtree.html
|
||||
# https://sqlite.org/geopoly.html
|
||||
append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
|
||||
|
||||
# Support Session extension.
|
||||
# https://sqlite.org/compile.html#enable_session
|
||||
# https://sqlite.org/sessionintro.html
|
||||
append-cppflags -DSQLITE_ENABLE_SESSION
|
||||
|
||||
# Support scan status functions.
|
||||
# https://sqlite.org/compile.html#enable_stmt_scanstatus
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus.html
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
|
||||
|
||||
# Support sqlite_stmt virtual table.
|
||||
# https://sqlite.org/compile.html#enable_stmtvtab
|
||||
# https://sqlite.org/stmt.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMTVTAB
|
||||
|
||||
# Support unknown() function.
|
||||
# https://sqlite.org/compile.html#enable_unknown_sql_function
|
||||
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
|
||||
|
||||
# Support unlock notification.
|
||||
# https://sqlite.org/compile.html#enable_unlock_notify
|
||||
# https://sqlite.org/c3ref/unlock_notify.html
|
||||
# https://sqlite.org/unlock_notify.html
|
||||
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
|
||||
|
||||
# Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
|
||||
# https://sqlite.org/compile.html#enable_update_delete_limit
|
||||
# https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
|
||||
# https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
|
||||
append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
||||
|
||||
# Support soundex() function.
|
||||
# https://sqlite.org/compile.html#soundex
|
||||
# https://sqlite.org/lang_corefunc.html#soundex
|
||||
append-cppflags -DSQLITE_SOUNDEX
|
||||
|
||||
# Support URI filenames.
|
||||
# https://sqlite.org/compile.html#use_uri
|
||||
# https://sqlite.org/uri.html
|
||||
append-cppflags -DSQLITE_USE_URI
|
||||
|
||||
# debug USE flag.
|
||||
options+=($(use_enable debug))
|
||||
|
||||
# icu USE flag.
|
||||
if use icu; then
|
||||
# Support ICU extension.
|
||||
# https://sqlite.org/compile.html#enable_icu
|
||||
append-cppflags -DSQLITE_ENABLE_ICU
|
||||
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
|
||||
fi
|
||||
|
||||
# readline USE flag.
|
||||
options+=(
|
||||
--disable-editline
|
||||
$(use_enable readline)
|
||||
)
|
||||
if use readline; then
|
||||
options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline")
|
||||
fi
|
||||
|
||||
# secure-delete USE flag.
|
||||
if use secure-delete; then
|
||||
# Enable secure_delete pragma by default.
|
||||
# https://sqlite.org/compile.html#secure_delete
|
||||
# https://sqlite.org/pragma.html#pragma_secure_delete
|
||||
append-cppflags -DSQLITE_SECURE_DELETE
|
||||
fi
|
||||
|
||||
# static-libs USE flag.
|
||||
options+=($(use_enable static-libs static))
|
||||
|
||||
# tcl, test, tools USE flags.
|
||||
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
|
||||
options+=(
|
||||
--enable-tcl
|
||||
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
|
||||
)
|
||||
else
|
||||
options+=(--disable-tcl)
|
||||
fi
|
||||
|
||||
if [[ "${ABI}" == "x86" ]]; then
|
||||
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
|
||||
append-cflags -mfpmath=sse
|
||||
else
|
||||
append-cflags -ffloat-store
|
||||
fi
|
||||
|
||||
# Skip known-broken test for now
|
||||
# https://sqlite.org/forum/forumpost/d97caf168f
|
||||
# https://sqlite.org/forum/forumpost/50f136d91d
|
||||
if use test ; then
|
||||
rm test/atof1.test || die
|
||||
fi
|
||||
fi
|
||||
|
||||
econf "${options[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
|
||||
fi
|
||||
|
||||
if [[ "${PV}" == "9999" ]] && use doc && multilib_is_native_abi; then
|
||||
emake tclsqlite3.c
|
||||
|
||||
local build_directory="$(pwd)"
|
||||
build_directory="${build_directory##*/}"
|
||||
|
||||
mkdir "${WORKDIR}/${PN}-doc-build" || die
|
||||
pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
|
||||
|
||||
emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
|
||||
rmdir doc/matrix{/*,} || die
|
||||
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
ewarn "Skipping tests due to root permissions"
|
||||
return
|
||||
fi
|
||||
|
||||
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
|
||||
|
||||
# e_uri.test tries to open files in /.
|
||||
# https://bugs.gentoo.org/839798
|
||||
local SANDBOX_PREDICT=${SANDBOX_PREDICT}
|
||||
addpredict "/test.db:/ÿ.db"
|
||||
|
||||
emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test)
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
install_tool() {
|
||||
if [[ -f ".libs/${1}" ]]; then
|
||||
newbin ".libs/${1}" "${2}"
|
||||
else
|
||||
newbin "${1}" "${2}"
|
||||
fi
|
||||
}
|
||||
|
||||
install_tool changeset sqlite3-changeset
|
||||
install_tool dbdump sqlite3-db-dump
|
||||
install_tool dbhash sqlite3-db-hash
|
||||
install_tool dbtotxt sqlite3-db-to-txt
|
||||
install_tool index_usage sqlite3-index-usage
|
||||
install_tool rbu sqlite3-rbu
|
||||
install_tool scrub sqlite3-scrub
|
||||
install_tool showdb sqlite3-show-db
|
||||
install_tool showjournal sqlite3-show-journal
|
||||
install_tool showshm sqlite3-show-shm
|
||||
install_tool showstat4 sqlite3-show-stat4
|
||||
install_tool showwal sqlite3-show-wal
|
||||
install_tool sqldiff sqlite3-diff
|
||||
install_tool sqlite3_analyzer sqlite3-analyzer
|
||||
install_tool sqlite3_checker sqlite3-checker
|
||||
install_tool sqlite3_expert sqlite3-expert
|
||||
install_tool sqltclsh sqlite3-tclsh
|
||||
|
||||
unset -f install_tool
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
|
||||
doman sqlite3.1
|
||||
|
||||
if use doc; then
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
|
||||
else
|
||||
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
|
||||
fi
|
||||
|
||||
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
|
||||
if [[ "${PV}" != "9999" ]]; then
|
||||
rm search search.d/admin || die
|
||||
rmdir search.d || die
|
||||
find -name "*~" -delete || die
|
||||
fi
|
||||
|
||||
(
|
||||
docinto html
|
||||
dodoc -r *
|
||||
)
|
||||
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
@ -1,432 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
|
||||
|
||||
DESCRIPTION="SQL database engine"
|
||||
HOMEPAGE="https://sqlite.org/"
|
||||
|
||||
# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
|
||||
# for hints regarding test failures, backports, etc.
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
S="${WORKDIR}"/${PN}
|
||||
PROPERTIES="live"
|
||||
else
|
||||
SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))"
|
||||
DOC_PV="${SRC_PV}"
|
||||
#DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))"
|
||||
|
||||
SRC_URI="
|
||||
https://sqlite.org/2022/${PN}-src-${SRC_PV}.zip
|
||||
doc? ( https://sqlite.org/2022/${PN}-doc-${DOC_PV}.zip )
|
||||
"
|
||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="3"
|
||||
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
||||
icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
|
||||
readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
|
||||
tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
|
||||
tools? ( dev-lang/tcl:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
BDEPEND=">=dev-lang/tcl-8.6:0"
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
BDEPEND+=" dev-vcs/fossil"
|
||||
else
|
||||
BDEPEND+=" app-arch/unzip"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.39.4-icu-72-test.patch
|
||||
)
|
||||
|
||||
_fossil_fetch() {
|
||||
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
|
||||
local repo_id="${1}"
|
||||
local repo_uri="${2}"
|
||||
|
||||
local -x FOSSIL_HOME="${HOME}"
|
||||
|
||||
mkdir -p "${T}/fossil/${repo_id}" || die
|
||||
pushd "${T}/fossil/${repo_id}" > /dev/null || die
|
||||
|
||||
if [[ -n "${EVCS_OFFLINE}" ]]; then
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
|
||||
fi
|
||||
else
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
|
||||
fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
|
||||
echo
|
||||
else
|
||||
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
|
||||
einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
|
||||
fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
|
||||
echo
|
||||
fi
|
||||
|
||||
(
|
||||
addwrite "${distdir}"
|
||||
mkdir -p "${distdir}/fossil-src/${repo_id}" || die
|
||||
cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
|
||||
)
|
||||
fi
|
||||
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
_fossil_checkout() {
|
||||
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
|
||||
local repo_id="${1}"
|
||||
local branch_or_commit="${2}"
|
||||
local target_directory="${3}"
|
||||
|
||||
local -x FOSSIL_HOME="${HOME}"
|
||||
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
|
||||
fi
|
||||
|
||||
if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
mkdir -p "${T}/fossil/${repo_id}" || die
|
||||
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
|
||||
fi
|
||||
|
||||
mkdir "${target_directory}" || die
|
||||
pushd "${target_directory}" > /dev/null || die
|
||||
|
||||
einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
|
||||
fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
|
||||
echo
|
||||
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
fossil_fetch() {
|
||||
local repo_id="${1}"
|
||||
local repo_uri="${2}"
|
||||
local target_directory="${3}"
|
||||
|
||||
local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
|
||||
|
||||
_fossil_fetch "${repo_id}" "${repo_uri}"
|
||||
_fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
|
||||
if use doc; then
|
||||
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
|
||||
fi
|
||||
else
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
|
||||
local options=()
|
||||
|
||||
options+=(
|
||||
--enable-load-extension
|
||||
--enable-threadsafe
|
||||
)
|
||||
|
||||
# Support detection of misuse of SQLite API.
|
||||
# https://sqlite.org/compile.html#enable_api_armor
|
||||
append-cppflags -DSQLITE_ENABLE_API_ARMOR
|
||||
|
||||
# Support bytecode and tables_used virtual tables.
|
||||
# https://sqlite.org/compile.html#enable_bytecode_vtab
|
||||
# https://sqlite.org/bytecodevtab.html
|
||||
append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
|
||||
|
||||
# Support column metadata functions.
|
||||
# https://sqlite.org/compile.html#enable_column_metadata
|
||||
# https://sqlite.org/c3ref/column_database_name.html
|
||||
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
|
||||
|
||||
# Support sqlite_dbpage virtual table.
|
||||
# https://sqlite.org/compile.html#enable_dbpage_vtab
|
||||
# https://sqlite.org/dbpage.html
|
||||
append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
|
||||
|
||||
# Support dbstat virtual table.
|
||||
# https://sqlite.org/compile.html#enable_dbstat_vtab
|
||||
# https://sqlite.org/dbstat.html
|
||||
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
|
||||
|
||||
# Support sqlite3_serialize() and sqlite3_deserialize() functions.
|
||||
# https://sqlite.org/compile.html#enable_deserialize
|
||||
# https://sqlite.org/c3ref/serialize.html
|
||||
# https://sqlite.org/c3ref/deserialize.html
|
||||
append-cppflags -DSQLITE_ENABLE_DESERIALIZE
|
||||
|
||||
# Support comments in output of EXPLAIN.
|
||||
# https://sqlite.org/compile.html#enable_explain_comments
|
||||
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
|
||||
|
||||
# Support Full-Text Search versions 3, 4 and 5.
|
||||
# https://sqlite.org/compile.html#enable_fts3
|
||||
# https://sqlite.org/compile.html#enable_fts3_parenthesis
|
||||
# https://sqlite.org/compile.html#enable_fts4
|
||||
# https://sqlite.org/compile.html#enable_fts5
|
||||
# https://sqlite.org/fts3.html
|
||||
# https://sqlite.org/fts5.html
|
||||
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
|
||||
options+=( --enable-fts5 )
|
||||
|
||||
# Support hidden columns.
|
||||
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
|
||||
|
||||
# Support memsys5 memory allocator.
|
||||
# https://sqlite.org/compile.html#enable_memsys5
|
||||
# https://sqlite.org/malloc.html#memsys5
|
||||
append-cppflags -DSQLITE_ENABLE_MEMSYS5
|
||||
|
||||
# Support sqlite3_normalized_sql() function.
|
||||
# https://sqlite.org/c3ref/expanded_sql.html
|
||||
append-cppflags -DSQLITE_ENABLE_NORMALIZE
|
||||
|
||||
# Support sqlite_offset() function.
|
||||
# https://sqlite.org/compile.html#enable_offset_sql_func
|
||||
# https://sqlite.org/lang_corefunc.html#sqlite_offset
|
||||
append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
|
||||
|
||||
# Support pre-update hook functions.
|
||||
# https://sqlite.org/compile.html#enable_preupdate_hook
|
||||
# https://sqlite.org/c3ref/preupdate_count.html
|
||||
append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
|
||||
|
||||
# Support Resumable Bulk Update extension.
|
||||
# https://sqlite.org/compile.html#enable_rbu
|
||||
# https://sqlite.org/rbu.html
|
||||
append-cppflags -DSQLITE_ENABLE_RBU
|
||||
|
||||
# Support R*Trees.
|
||||
# https://sqlite.org/compile.html#enable_rtree
|
||||
# https://sqlite.org/compile.html#enable_geopoly
|
||||
# https://sqlite.org/rtree.html
|
||||
# https://sqlite.org/geopoly.html
|
||||
append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
|
||||
|
||||
# Support Session extension.
|
||||
# https://sqlite.org/compile.html#enable_session
|
||||
# https://sqlite.org/sessionintro.html
|
||||
append-cppflags -DSQLITE_ENABLE_SESSION
|
||||
|
||||
# Support scan status functions.
|
||||
# https://sqlite.org/compile.html#enable_stmt_scanstatus
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus.html
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
|
||||
|
||||
# Support sqlite_stmt virtual table.
|
||||
# https://sqlite.org/compile.html#enable_stmtvtab
|
||||
# https://sqlite.org/stmt.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMTVTAB
|
||||
|
||||
# Support unknown() function.
|
||||
# https://sqlite.org/compile.html#enable_unknown_sql_function
|
||||
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
|
||||
|
||||
# Support unlock notification.
|
||||
# https://sqlite.org/compile.html#enable_unlock_notify
|
||||
# https://sqlite.org/c3ref/unlock_notify.html
|
||||
# https://sqlite.org/unlock_notify.html
|
||||
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
|
||||
|
||||
# Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
|
||||
# https://sqlite.org/compile.html#enable_update_delete_limit
|
||||
# https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
|
||||
# https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
|
||||
append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
||||
|
||||
# Support soundex() function.
|
||||
# https://sqlite.org/compile.html#soundex
|
||||
# https://sqlite.org/lang_corefunc.html#soundex
|
||||
append-cppflags -DSQLITE_SOUNDEX
|
||||
|
||||
# Support URI filenames.
|
||||
# https://sqlite.org/compile.html#use_uri
|
||||
# https://sqlite.org/uri.html
|
||||
append-cppflags -DSQLITE_USE_URI
|
||||
|
||||
options+=( $(use_enable debug) )
|
||||
|
||||
if use icu; then
|
||||
# Support ICU extension.
|
||||
# https://sqlite.org/compile.html#enable_icu
|
||||
append-cppflags -DSQLITE_ENABLE_ICU
|
||||
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
|
||||
fi
|
||||
|
||||
options+=(
|
||||
--disable-editline
|
||||
$(use_enable readline)
|
||||
)
|
||||
|
||||
if use readline; then
|
||||
options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
|
||||
fi
|
||||
|
||||
if use secure-delete; then
|
||||
# Enable secure_delete pragma by default.
|
||||
# https://sqlite.org/compile.html#secure_delete
|
||||
# https://sqlite.org/pragma.html#pragma_secure_delete
|
||||
append-cppflags -DSQLITE_SECURE_DELETE
|
||||
fi
|
||||
|
||||
options+=( $(use_enable static-libs static) )
|
||||
|
||||
# tcl, test, tools USE flags.
|
||||
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
|
||||
options+=(
|
||||
--enable-tcl
|
||||
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
|
||||
)
|
||||
else
|
||||
options+=( --disable-tcl )
|
||||
fi
|
||||
|
||||
if [[ "${ABI}" == "x86" ]]; then
|
||||
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
|
||||
append-cflags -mfpmath=sse
|
||||
else
|
||||
append-cflags -ffloat-store
|
||||
fi
|
||||
|
||||
# Skip known-broken test for now
|
||||
# https://sqlite.org/forum/forumpost/d97caf168f
|
||||
# https://sqlite.org/forum/forumpost/50f136d91d
|
||||
if use test ; then
|
||||
rm test/atof1.test || die
|
||||
fi
|
||||
fi
|
||||
|
||||
econf "${options[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
|
||||
fi
|
||||
|
||||
if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
|
||||
emake tclsqlite3.c
|
||||
|
||||
local build_directory="$(pwd)"
|
||||
build_directory="${build_directory##*/}"
|
||||
|
||||
mkdir "${WORKDIR}/${PN}-doc-build" || die
|
||||
pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
|
||||
|
||||
emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
|
||||
rmdir doc/matrix{/*,} || die
|
||||
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
ewarn "Skipping tests due to root permissions"
|
||||
return
|
||||
fi
|
||||
|
||||
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
|
||||
|
||||
# e_uri.test tries to open files in /.
|
||||
# bug #839798
|
||||
local SANDBOX_PREDICT=${SANDBOX_PREDICT}
|
||||
addpredict "/test.db:/ÿ.db"
|
||||
|
||||
emake HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
install_tool() {
|
||||
if [[ -f ".libs/${1}" ]]; then
|
||||
newbin ".libs/${1}" "${2}"
|
||||
else
|
||||
newbin "${1}" "${2}"
|
||||
fi
|
||||
}
|
||||
|
||||
install_tool changeset sqlite3-changeset
|
||||
install_tool dbdump sqlite3-db-dump
|
||||
install_tool dbhash sqlite3-db-hash
|
||||
install_tool dbtotxt sqlite3-db-to-txt
|
||||
install_tool index_usage sqlite3-index-usage
|
||||
install_tool rbu sqlite3-rbu
|
||||
install_tool scrub sqlite3-scrub
|
||||
install_tool showdb sqlite3-show-db
|
||||
install_tool showjournal sqlite3-show-journal
|
||||
install_tool showshm sqlite3-show-shm
|
||||
install_tool showstat4 sqlite3-show-stat4
|
||||
install_tool showwal sqlite3-show-wal
|
||||
install_tool sqldiff sqlite3-diff
|
||||
install_tool sqlite3_analyzer sqlite3-analyzer
|
||||
install_tool sqlite3_checker sqlite3-checker
|
||||
install_tool sqlite3_expert sqlite3-expert
|
||||
install_tool sqltclsh sqlite3-tclsh
|
||||
|
||||
unset -f install_tool
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
|
||||
doman sqlite3.1
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
|
||||
else
|
||||
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
|
||||
fi
|
||||
|
||||
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
rm search search.d/admin || die
|
||||
rmdir search.d || die
|
||||
find -name "*~" -delete || die
|
||||
fi
|
||||
|
||||
(
|
||||
docinto html
|
||||
dodoc -r *
|
||||
)
|
||||
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
@ -24,7 +24,7 @@ else
|
||||
"
|
||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="public-domain"
|
||||
|
||||
129
sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.36.0-clang16.patch
vendored
Normal file
129
sdk_container/src/third_party/portage-stable/dev-lang/perl/files/perl-5.36.0-clang16.patch
vendored
Normal file
@ -0,0 +1,129 @@
|
||||
https://bugs.gentoo.org/879857
|
||||
https://github.com/Perl/perl5/commit/e1ca9a418fa6b7d26fbb1931c9164141035262c3
|
||||
https://github.com/Perl/perl5/commit/fc35cee89c1a42558f50a37a6b4d5186b77f058b
|
||||
|
||||
From e1ca9a418fa6b7d26fbb1931c9164141035262c3 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Levine <plevine457@gmail.com>
|
||||
Date: Tue, 17 Jan 2023 02:47:12 -0500
|
||||
Subject: [PATCH] Add parameter types to declarations for clang-16
|
||||
|
||||
ANSI C style function declarations without parameter types are errors with clang-16.
|
||||
--- a/Configure
|
||||
+++ b/Configure
|
||||
@@ -7927,10 +7927,10 @@ $cat >malloc.c <<END
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef TRY_MALLOC
|
||||
-void *malloc();
|
||||
+void *malloc(size_t);
|
||||
#endif
|
||||
#ifdef TRY_FREE
|
||||
-void free();
|
||||
+void free(void *);
|
||||
#endif
|
||||
END
|
||||
case "$malloctype" in
|
||||
|
||||
From fc35cee89c1a42558f50a37a6b4d5186b77f058b Mon Sep 17 00:00:00 2001
|
||||
From: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Tue, 17 Jan 2023 19:07:54 +0100
|
||||
Subject: [PATCH] Configure: Add various C99 compatibility improvements
|
||||
|
||||
Two C99 compatibility issues are fixed by these changes: Return
|
||||
types are made explicit where they previously defaulted to int,
|
||||
and all called functions are now declared explicitly (either by
|
||||
including additional headers, or by adding prototypes manually).
|
||||
|
||||
This avoids implict ints and implicit function declarations,
|
||||
both legacy C language features removed in the 1999 revision
|
||||
of the language.
|
||||
|
||||
Verified with an instrumented GCC compiler on GNU/Linux.
|
||||
--- a/Configure
|
||||
+++ b/Configure
|
||||
@@ -4655,7 +4655,7 @@ esac
|
||||
# so we will take those off from locincpth.
|
||||
case "$gccversion" in
|
||||
3.*)
|
||||
- echo "main(){}">try.c
|
||||
+ echo "int main(){}">try.c
|
||||
for incdir in $locincpth; do
|
||||
warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \
|
||||
grep '^c[cp]p*[01]: warning: changing search order '`
|
||||
@@ -5798,6 +5798,7 @@ case "$intsize" in
|
||||
#ifdef I_STDLIB
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
+#include <stdio.h>
|
||||
int main()
|
||||
{
|
||||
printf("intsize=%d;\n", (int)sizeof(int));
|
||||
@@ -6871,6 +6872,7 @@ case "$doublesize" in
|
||||
#ifdef I_STDLIB
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
+#include <stdio.h>
|
||||
int main()
|
||||
{
|
||||
printf("%d\n", (int)sizeof(double));
|
||||
@@ -12660,7 +12662,7 @@ case "$dlsrc" in
|
||||
dl_dlopen.xs)
|
||||
echo "Checking whether your dlsym() needs a leading underscore ..." >&4
|
||||
$cat >dyna.c <<'EOM'
|
||||
-fred () { }
|
||||
+void fred (void) { }
|
||||
EOM
|
||||
|
||||
$cat >fred.c<<EOM
|
||||
@@ -12679,7 +12681,7 @@ $cat >fred.c<<EOM
|
||||
#include <link.h>
|
||||
#endif
|
||||
|
||||
-extern int fred() ;
|
||||
+extern void fred(void) ;
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -13713,6 +13715,7 @@ $cat >try.c <<EOP
|
||||
#ifdef I_STDLIB
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
+#include <string.h>
|
||||
#define FILE_ptr(fp) $stdio_ptr
|
||||
#define FILE_cnt(fp) $stdio_cnt
|
||||
int main() {
|
||||
@@ -16220,6 +16223,7 @@ echo "Checking to see if your libm supports _LIB_VERSION..." >&4
|
||||
$cat >try.c <<EOCP
|
||||
#include <unistd.h>
|
||||
#include <math.h>
|
||||
+#include <stdio.h>
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
printf ("%d\n", _LIB_VERSION);
|
||||
@@ -22168,13 +22172,15 @@ pager="$ans"
|
||||
: see if ar generates random libraries by itself
|
||||
echo " "
|
||||
echo "Checking how to generate random libraries on your machine..." >&4
|
||||
-echo 'int bar1() { return bar2(); }' > bar1.c
|
||||
+echo 'extern int bar2(); int bar1() { return bar2(); }' > bar1.c
|
||||
echo 'int bar2() { return 2; }' > bar2.c
|
||||
$cat > foo.c <<EOP
|
||||
#$i_stdlib I_STDLIB
|
||||
#ifdef I_STDLIB
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
+#include <stdio.h>
|
||||
+extern int bar1();
|
||||
int main() { printf("%d\n", bar1()); exit(0); }
|
||||
EOP
|
||||
$cc $ccflags -c bar1.c >/dev/null 2>&1
|
||||
@@ -22400,7 +22406,7 @@ EOM
|
||||
for nfd in 'int' 'size_t' 'unsigned long' 'unsigned' ; do
|
||||
for tmo in 'struct timeval *' 'const struct timeval *'; do
|
||||
case "$val" in
|
||||
- '') try="$extern_C select _(($nfd, $xxx, $xxx, $xxx, $tmo));"
|
||||
+ '') try="$extern_C int select _(($nfd, $xxx, $xxx, $xxx, $tmo));"
|
||||
if ./protochk "$try" $hdrs; then
|
||||
echo "Your system accepts $xxx."
|
||||
val="$xxx"
|
||||
|
||||
825
sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.36.0-r2.ebuild
vendored
Normal file
825
sdk_container/src/third_party/portage-stable/dev-lang/perl/perl-5.36.0-r2.ebuild
vendored
Normal file
@ -0,0 +1,825 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.4
|
||||
PATCH_BASE="perl-5.36.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=RJBS
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN=""
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
>=sys-libs/zlib-1.2.12
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PDEPEND="
|
||||
!minimal? (
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-CPAN-2.290.0
|
||||
>=virtual/perl-Encode-3.120.0
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
)
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.400.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.330.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.170.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.640.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.450.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.106.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.70.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.205.200 corelist
|
||||
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||
src_remove_dual perl-core/Test-Harness 3.440.0 prove
|
||||
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif
|
||||
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use quadmath ; then
|
||||
myarch+="-quadmath"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
|
||||
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 794463, needs further analysis what is exactly wrong here
|
||||
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
# Copy a patch into the patch series
|
||||
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||
# - description is optional, but recommended
|
||||
# - all arguments after descriptions are bug URLs
|
||||
add_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local src_name dest_name desc
|
||||
src_name="$1"
|
||||
dest_name="$2"
|
||||
desc="$3"
|
||||
shift; shift; shift;
|
||||
einfo "Adding ${dest_name} to patch bundle"
|
||||
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||
if [[ -n "${desc}" ]]; then
|
||||
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||
fi
|
||||
if [[ $# -gt 0 ]]; then
|
||||
# Note: when $@ is more than one element, this emits a
|
||||
# line for each element
|
||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove a patch using a glob expr
|
||||
# eg:
|
||||
# rm_patch *-darwin-Use-CC*
|
||||
#
|
||||
rm_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local expr="$1"
|
||||
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||
einfo "Removing $patch ($expr) from patch bundle"
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||
else
|
||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||
fi
|
||||
}
|
||||
|
||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||
# but this is far easier to debug when things go wrong, and things went wrong
|
||||
# multiple times while I was getting the exact number of slashes right, which
|
||||
# requires circumnavigating both bash and sed escape mechanisms.
|
||||
c_escape_string() {
|
||||
local slash dquote
|
||||
slash='\'
|
||||
dquote='"'
|
||||
re_slash="${slash}${slash}"
|
||||
re_dquote="${slash}${dquote}"
|
||||
|
||||
# Convert \ to \\,
|
||||
# " to \"
|
||||
echo "$1" |\
|
||||
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||
}
|
||||
c_escape_file() {
|
||||
c_escape_string "$(cat "$1")"
|
||||
}
|
||||
|
||||
apply_patchdir() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
# Inject Patch-Level info into description for patchlevel.h patch
|
||||
# to show in -V
|
||||
local patch_expr="*List-packaged-patches*"
|
||||
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||
else
|
||||
eerror "No $patch_expr found in ${patchdir}"
|
||||
fi
|
||||
|
||||
# Compute patch list to apply
|
||||
# different name other than PATCHES to stop default
|
||||
# reapplying it
|
||||
# Single depth is currently only supported, as artifacts can reside
|
||||
# from the old layout being multiple-directories, as well as it grossly
|
||||
# simplifying the patchlevel_gentoo.h generation.
|
||||
local PERL_PATCHES=($(
|
||||
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||
grep -E '[.](diff|patch)$' |\
|
||||
sort -n
|
||||
))
|
||||
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
eapply "${WORKDIR}"/patches/${patch}
|
||||
done
|
||||
|
||||
einfo "Generating $patchoutput"
|
||||
|
||||
# This code creates a header file, each iteration
|
||||
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||
# and STDOUT is redirected to the .h file
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
local desc_f="${infodir}/${patch}.desc"
|
||||
local bugs_f="${infodir}/${patch}.bugs"
|
||||
|
||||
printf ',"%s"\n' "${patch}"
|
||||
if [[ ! -e "${desc_f}" ]]; then
|
||||
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||
else
|
||||
local desc="$(c_escape_file "${desc_f}")"
|
||||
printf ',"- %s"\n' "${desc}"
|
||||
fi
|
||||
if [[ -e "${bugs_f}" ]]; then
|
||||
while read -d $'\n' -r line; do
|
||||
local esc_line="$(c_escape_string "${line}")"
|
||||
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||
done <"${bugs_f}"
|
||||
fi
|
||||
done > "${S}/${patchoutput}"
|
||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
|
||||
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||
# Inject bug/desc entries for perl -V
|
||||
# Old example:
|
||||
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||
# "Fix broken miniperl on hppa"\
|
||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||
add_patch "${FILESDIR}/${PN}-5.36.0-clang16.patch" "100-5.36.0-clang16.patch" \
|
||||
"Fix Clang 16 / modern C issues in configure" \
|
||||
"https://bugs.gentoo.org/879857" "https://github.com/Perl/perl5/issues/20715"
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
rm_patch "*-nsl-and-cl*"
|
||||
fi
|
||||
|
||||
apply_patchdir
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
|
||||
# fix environ linkage absence (only a real issue on Darwin9)
|
||||
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||
Makefile.SH || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
# Outputs a list of versions which have been seen in any of the
|
||||
# primary perl @INC prefix paths, such as:
|
||||
# /usr/lib64/perl5/<NUMBER>
|
||||
# /usr/local/lib64/perl5/<NUMBER>
|
||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||
#
|
||||
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||
#
|
||||
find_candidate_inc_versions() {
|
||||
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||
local dirs=(
|
||||
"${EROOT}${PRIV_BASE}"
|
||||
"${EROOT}${SITE_BASE}"
|
||||
"${EROOT}${VENDOR_BASE}"
|
||||
)
|
||||
for dir in "${dirs[@]}"; do
|
||||
if [[ ! -e "${dir}" ]]; then
|
||||
continue
|
||||
fi
|
||||
# Without access to readdir() on these dirs, find will not be able
|
||||
# to reveal any @INC directories inside them, and will subsequently prune
|
||||
# them from the built perl's @INC support, breaking our compatiblity options
|
||||
# entirely.
|
||||
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||
eerror "Recommended permission is +rx for all"
|
||||
eerror "> chmod o+rx ${dir}"
|
||||
fi
|
||||
done
|
||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||
}
|
||||
|
||||
# Sort versions passed versiony-ly, remove self-version if present
|
||||
# dedup. Takes each version as an argument
|
||||
sanitize_inc_versions() {
|
||||
local vexclude="${SUBSLOT}"
|
||||
einfo "Normalizing/Sorting candidate list: $*"
|
||||
einfo " to remove '${vexclude}'"
|
||||
# Note, general numeric sort has to be used
|
||||
# for the last component, or unique will convert
|
||||
# 5.30.0 + 5.30 into just 5.30
|
||||
printf "%s\n" "$@" |\
|
||||
grep -vxF "${vexclude}" |\
|
||||
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||
}
|
||||
|
||||
versions_to_inclist() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
|
||||
for v; do
|
||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||
echo -n "${v}/ ";
|
||||
done
|
||||
}
|
||||
|
||||
versions_to_gentoolibdirs() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
local root
|
||||
local v
|
||||
for v; do
|
||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||
local fullpath="${EROOT}${root}/${v}"
|
||||
if [[ -e "${fullpath}" ]]; then
|
||||
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||
printf "%s:" "${fullpath}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
use quadmath && myconf -Dusequadmath
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv"
|
||||
fi
|
||||
|
||||
# bug #877659, bug #821577
|
||||
append-cflags -fno-strict-aliasing
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||
fi
|
||||
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
# myconf -Dinc_version_list="${inclist}"
|
||||
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||
# apparently on more recent macOS releases is no longer necessary
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||
|
||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||
myconf -Ud_flock
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Dar="$(tc-getAR)" \
|
||||
-Dnm="$(tc-getNM)" \
|
||||
-Dcpp="$(tc-getCPP)" \
|
||||
-Dranlib="$(tc-getRANLIB)" \
|
||||
-Accflags="${CFLAGS}" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ -z "${ROOT}" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
||||
@ -6,6 +6,8 @@ DIST Python-3.11.1.tar.xz 19856648 BLAKE2B 2a8942e7a145cfcc5b6932865ff9a1afd300b
|
||||
DIST Python-3.11.1.tar.xz.asc 833 BLAKE2B 27c6101b2022cb7bea3e6082f1554b31cceb8cabe720e4b19391f550e870588c4defd1552c580a7e063638b80e8b8f415e54a11cf40ae3b0f449500c2e9babc6 SHA512 81ed05c2adf38552bdc5ac761704f2720a646d56681a919a6bfa51f1a4b42cd14edb9c84d58664dbc8e7b561cd78d82ae6b10dda423e1fae543bc7fa4bf3f78e
|
||||
DIST Python-3.12.0a3.tar.xz 19695444 BLAKE2B c869e68612b7b32a3a9cdb5accd1fec3453abbea68ca6993e7ce6d5f8deead50902ee6026c3bf2a3faf92e5a571b6b71fbcfc85d49fa03b4ac12ab5dba3f486a SHA512 82d88adda53a1e5c16fc7165ac0d55f3828bae9249d361fbf7237d8826bd5acd941befb9b2c74f815a251b216d377f416831fbd233f1bfef31c2cab73b6554d1
|
||||
DIST Python-3.12.0a3.tar.xz.asc 963 BLAKE2B ff0a4eb7a3e27281494450dca7f23f4e1816e18d0487e09b6a9f58d441b766f32e8653b7e01753c8353bb34a235b8296cbe975ee7a917ae4a24e5b8875b4ff5f SHA512 e25a42982f3cab6e38ef7a4f5bfd71ad25811f52dffeffbb827ee9f48bf45003edad14ffdd3289bfda113a34b7ef818d04a413d0da7e8ca52d0c47f9b4475dbb
|
||||
DIST Python-3.12.0a4.tar.xz 19690792 BLAKE2B f4da53e856afca1acd8ba56dc37d78ef4cfee0007a3a66c9276b7a93dbd4c9e7ddb39aaea344bc55219e33ad09a9b34bf0e8b89273bba8e99643eeafc7e76d42 SHA512 19a98939077004259868cc5e6901d8fbf0ae90ad579700d6993f6b82990b1b4eb92efa5c8b5b7b50cfc46e311cb5c45f83251223a623fe1ade5da45ef2ca5dce
|
||||
DIST Python-3.12.0a4.tar.xz.asc 963 BLAKE2B da2279932786fad5cb3def5e34f9f113b9203233f70edc805ac1f7c3ddb584883655bb3da7fac1651017269a0dd8ce9a88fcca609ab2072bc6285190c487a566 SHA512 b74a1bf0d5e4f402b6e5164cd140457ed0b172b2bfe61be1642fe053b71092b8bae1f5281e03516a6fba24319c78cd2505494cfada2416b766f4c602c1284d2a
|
||||
DIST Python-3.8.16.tar.xz 19046724 BLAKE2B cbdeec7961d39cb9ab4960760b5d4c7ae71675c174156aa9f6fca55ee92a93a937ef39defe86e423237a25e0e24703233ce4b91dc97005b6ffc1f342ddd9e22c SHA512 d206e80806409410c00ef8acd8c3d90e3cc9553f996d0a57faa63802f2415e9d7591542b2e84b5e8e79245f40f6478790b5ba2acf1da98ebbc9495999183f7fd
|
||||
DIST Python-3.8.16.tar.xz.asc 833 BLAKE2B 678dabc558d013b104bf9e65d4319076c4730a67093a66fefc073b429c640d4facb31a0d6b7238deb08b265586a0cfb2c345051fe4df7bf5001d7317e6c06c9b SHA512 e93c394c0c5afcaaab625a3bd540dcc8e0ab946803d212343b8d1d6d5e6b89b09b6a20607bab0d858b30389a03305d57e14548605a65277d053c7817f32f4546
|
||||
DIST Python-3.9.16.tar.xz 19738796 BLAKE2B 70dedeb70d9d8f27e4f6db5106623e087c61d451c7a04639cf8d3503ad02d4d43f1b36d0cdf1131aefc9bf6e677e561227dd4baef2c2c3d2dbf6d3e7dc36bd94 SHA512 b5fd0afe131c82bbce6ddf887c59eef6945910d6a9a2bc87c0927f4e4a096bf9ca4d25bcb729c40f6ebb8a65fbe8bf7b0b97a7c4a8c9e551240eb4f34b878653
|
||||
@ -14,5 +16,6 @@ DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f
|
||||
DIST python-gentoo-patches-3.10.9.tar.xz 12216 BLAKE2B ced4f951089c51ddaab6c62ade9d2c84f69e7e1baf2acf5247559534c7d0fb0e88dca1222f5bd2209b4e61f5aca17279b8054f269535dbc10de0786c2c5779f5 SHA512 2d01f0f3831beeba004517bb82f7d616f25f08e5c755409ecff79cd68e0a619b5bf6802fffd0e5f7f39f1d9d93e65b018b91cdeb337a5e47f1651f36bea0e96e
|
||||
DIST python-gentoo-patches-3.11.1.tar.xz 7076 BLAKE2B 3ec45f7529d34eabc9d9ba7fa7f8dd51d8754d9758a605b61857a9fd80386a0357837c925263ad7b0e207ff916944b94cc0e03c0f59921f839d5e51d92f0e47e SHA512 4253dbfa057a91db584b92550e2d39d87986f33041233bc400dd0254cbd95415b33fc47b0fe997bb84192c755bc16d3d31941bba4c216ee4d65facf0b48c7862
|
||||
DIST python-gentoo-patches-3.12.0a3.tar.xz 6152 BLAKE2B 6c8c88100d184440cf27a4b9baf4f192310f62960b2061adca8dd423745836048f3f8489c434c51ab7572320356bc889498d68f3635f174194d6009e1b9277e4 SHA512 7b0dbcbefeafbdb2a822bb06950844ff21336ba1685a2af6bf2bd32b1ecde7c17591d01b2a018105b8c094149a9804d709c3ca17af67378644ad40fd5e02c012
|
||||
DIST python-gentoo-patches-3.12.0a4.tar.xz 8504 BLAKE2B 1257c1fe428fc967ef7d3107f99e4fcef0758a2bfa5b345bf69bb47bc0af1644b449f2b11b61148a8f79ed583a80365432d78ec4bade3d92070f08ad2ff568c2 SHA512 142f5d2ee8c1beeb6084bb6b48a0bbdcde907f48f514ac7743f0e6898a761696bb7788861fcb5c938cc36f212d444ddcfe874880ac8b4d0d54bc8ec04b166ca0
|
||||
DIST python-gentoo-patches-3.8.16.tar.xz 28716 BLAKE2B 28ccad9d77a89f80f72dd12eb89d657825e80061eaa069d4c491736bffd87b235f483b9d079b9f383377ea4bc6c19471bb6a4869a37fc0401abe28e2444fd9d2 SHA512 fe94ee2851af5c87c64ea3af5c1a744a53dcb03743f824a7726803daf454f38511894e24fe68be9de4ab59d1798161a3c320748309d04afd1e77906df353a246
|
||||
DIST python-gentoo-patches-3.9.16.tar.xz 23348 BLAKE2B 26b66e57530d167776d2aee60fd4620fc8e6c229f371616fdaa74aa2f03fd5a50b61653a5f34e0f2659901ba167af7c2aadbb0d2db773ab08bac8b3125c84b77 SHA512 8260369d96a6328ad8498359ecc56f48cb02015547065cdaec28a6bb2293bef420cb12764fae9fdd13f4a6faa60c4c402e804a22cbed7dca031ac1679032f9f6
|
||||
|
||||
317
sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r1.ebuild
vendored
Normal file
317
sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r1.ebuild
vendored
Normal file
@ -0,0 +1,317 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools flag-o-matic pax-utils toolchain-funcs verify-sig
|
||||
|
||||
MY_P="Python-${PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
https://gitweb.gentoo.org/fork/cpython.git/
|
||||
"
|
||||
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="
|
||||
berkdb bluetooth build examples gdbm hardened +ncurses +readline
|
||||
+sqlite +ssl tk valgrind wininst +xml
|
||||
"
|
||||
RESTRICT="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:=
|
||||
dev-libs/libffi:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
berkdb? ( || (
|
||||
sys-libs/db:5.3
|
||||
sys-libs/db:4.8
|
||||
) )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
BDEPEND="
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-python )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
pkg_setup() {
|
||||
if use berkdb; then
|
||||
ewarn "'bsddb' module is out-of-date and no longer maintained inside"
|
||||
ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
|
||||
ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
|
||||
ewarn "is provided by dev-python/bsddb3."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat, libffi and zlib are not used.
|
||||
rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
rm -r Modules/zlib || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
|
||||
Lib/distutils/command/install.py \
|
||||
Lib/distutils/sysconfig.py \
|
||||
Lib/site.py \
|
||||
Lib/sysconfig.py \
|
||||
Lib/test/test_site.py \
|
||||
Makefile.pre.in \
|
||||
Modules/Setup.dist \
|
||||
Modules/getpath.c \
|
||||
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
|
||||
|
||||
if ! use wininst; then
|
||||
rm Lib/distutils/command/wininst*.exe || die
|
||||
fi
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# dbm module can be linked against berkdb or gdbm.
|
||||
# Defaults to gdbm when both are enabled, #204343.
|
||||
local disable
|
||||
use berkdb || use gdbm || disable+=" dbm"
|
||||
use berkdb || disable+=" _bsddb"
|
||||
# disable automagic bluetooth headers detection
|
||||
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
# Force some tests that try to poke fs paths.
|
||||
export ac_cv_file__dev_ptc=no
|
||||
export ac_cv_file__dev_ptmx=yes
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
|
||||
tc-export CXX
|
||||
# The configure script fails to use pkg-config correctly.
|
||||
# http://bugs.python.org/issue15506
|
||||
export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
if use berkdb; then
|
||||
dbmliborder+="${dbmliborder:+:}bdb"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# The check is broken on clang, and gives false positive:
|
||||
# https://bugs.gentoo.org/596798
|
||||
# (upstream dropped this flag in 3.2a4 anyway)
|
||||
ac_cv_opt_olimit_ok=no
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--with-fpectl
|
||||
--enable-shared
|
||||
--enable-ipv6
|
||||
--with-threads
|
||||
--enable-unicode=ucs4
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# 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
|
||||
|
||||
# Avoid invoking pgen for cross-compiles.
|
||||
touch Include/graminit.h Python/graminit.c || die
|
||||
|
||||
emake
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# Skip failing tests.
|
||||
local skipped_tests=( distutils gdb )
|
||||
|
||||
for test in "${skipped_tests[@]}"; do
|
||||
mv Lib/test/test_${test}.py "${T}"/ || die
|
||||
done
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
|
||||
# Daylight saving time problem
|
||||
# https://bugs.python.org/issue22067
|
||||
# https://bugs.gentoo.org/610628
|
||||
local -x TZ=UTC
|
||||
|
||||
# Rerun failed tests in verbose mode (regrtest -w).
|
||||
emake test EXTRATESTOPTS="-w" < /dev/tty
|
||||
|
||||
for test in "${skipped_tests[@]}"; do
|
||||
mv "${T}/test_${test}.py" Lib/test/ || die
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die
|
||||
mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die
|
||||
mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm "${ED}/usr/bin/smtpd.py" || die
|
||||
|
||||
if ! use berkdb; then
|
||||
rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,lib-tk} || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc -r Tools
|
||||
fi
|
||||
|
||||
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"
|
||||
|
||||
# python2* is no longer wrapped, so just symlink it
|
||||
local pymajor=${PYVER%.*}
|
||||
dosym "python${PYVER}" "/usr/bin/python${pymajor}"
|
||||
dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config"
|
||||
}
|
||||
504
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_alpha4.ebuild
vendored
Normal file
504
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.0_alpha4.ebuild
vendored
Normal file
@ -0,0 +1,504 @@
|
||||
# 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 prefix python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_alpha/a}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build +ensurepip examples gdbm hardened libedit lto
|
||||
+ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
!!<sys-apps/sandbox-2.21
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local disable
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
-x test_gdb
|
||||
-u-network
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
)
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with lto)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__GDBM_STATE=disabled
|
||||
MODULE__DBM_STATE=disabled
|
||||
MODULE__SQLITE3_STATE=disabled
|
||||
MODULE__HASHLIB_STATE=disabled
|
||||
MODULE__SSL_STATE=disabled
|
||||
MODULE__CURSES_STATE=disabled
|
||||
MODULE__CURSES_PANEL_STATE=disabled
|
||||
MODULE_READLINE_STATE=disabled
|
||||
MODULE__TKINTER_STATE=disabled
|
||||
MODULE_PYEXPAT_STATE=disabled
|
||||
MODULE_ZLIB_STATE=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
hprefixify setup.py
|
||||
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
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
|
||||
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.11 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
@ -43,7 +43,6 @@ RESTRICT="!test? ( test )"
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-lang/python-exec[python_targets_python3_8(-)]
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
422
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.16-r3.ebuild
vendored
Normal file
422
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.16-r3.ebuild
vendored
Normal file
@ -0,0 +1,422 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing pax-utils
|
||||
inherit prefix 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 +ensurepip examples gdbm hardened lto +ncurses pgo
|
||||
+readline +sqlite +ssl test tk valgrind wininst +xml
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
dev-libs/libffi:=
|
||||
sys-apps/util-linux:=
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-wheels )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? ( >=sys-libs/readline-4.1:= )
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
xml? ( >=dev-libs/expat-2.1:= )
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? ( app-arch/xz-utils[extra-filters(+)] )
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-python )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
rm -r Modules/expat || die
|
||||
rm -r Modules/_ctypes/libffi* || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# https://bugs.gentoo.org/850151
|
||||
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
local jobs=$(makeopts_jobs)
|
||||
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
|
||||
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
|
||||
|
||||
if ! use wininst; then
|
||||
rm Lib/distutils/command/wininst*.exe || die
|
||||
fi
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
local disable
|
||||
use gdbm || disable+=" gdbm"
|
||||
use ncurses || disable+=" _curses _curses_panel"
|
||||
use readline || disable+=" readline"
|
||||
use sqlite || disable+=" _sqlite3"
|
||||
use ssl || export PYTHON_DISABLE_SSL="1"
|
||||
use tk || disable+=" _tkinter"
|
||||
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
|
||||
export PYTHON_DISABLE_MODULES="${disable}"
|
||||
|
||||
if ! use xml; then
|
||||
ewarn "You have configured Python without XML support."
|
||||
ewarn "This is NOT a recommended configuration as you"
|
||||
ewarn "may face problems parsing any XML documents."
|
||||
fi
|
||||
|
||||
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
|
||||
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
|
||||
filter-flags -malign-double
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if is-flagq -flto || is-flagq '-flto=*'; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
fi
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--with-system-expat
|
||||
--with-system-ffi
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS_FOR_BUILD}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS_FOR_BUILD}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910 and bug #864911.
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross.
|
||||
--without-lto
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}"
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
cat >> Makefile <<-EOF || die
|
||||
MODULE_NIS=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__GDBM=disabled
|
||||
MODULE__DBM=disabled
|
||||
MODULE__SQLITE3=disabled
|
||||
MODULE__HASHLIB=disabled
|
||||
MODULE__SSL=disabled
|
||||
MODULE__CURSES=disabled
|
||||
MODULE__CURSES_PANEL=disabled
|
||||
MODULE_READLINE=disabled
|
||||
MODULE__TKINTER=disabled
|
||||
MODULE_PYEXPAT=disabled
|
||||
MODULE_ZLIB=disabled
|
||||
EOF
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the Python it was pointed to
|
||||
# immediately.
|
||||
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
|
||||
popd &> /dev/null || die
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
hprefixify setup.py
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
# Prevent using distutils bundled by setuptools.
|
||||
# https://bugs.gentoo.org/823728
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
local test_opts=(
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
|
||||
# fails
|
||||
-x test_gdb
|
||||
)
|
||||
|
||||
if use sparc ; then
|
||||
# bug #788022
|
||||
test_opts+=(
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround docutils breaking tests
|
||||
cat > Lib/docutils.py <<-EOF || die
|
||||
raise ImportError("Thou shalt not import!")
|
||||
EOF
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
rm Lib/docutils.py || die
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
emake DESTDIR="${D}" altinstall
|
||||
|
||||
# Remove static library
|
||||
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# 2to3, pydoc
|
||||
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
|
||||
|
||||
@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}_${MY_PV}"
|
||||
|
||||
LICENSE="Boost-1.0"
|
||||
SLOT="0/${PV}" # ${PV} instead of the major version due to bug 486122
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python tools zlib zstd"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
# the tests will never fail because these are not intended as sanity
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 2003-2022 Gentoo Authors
|
||||
# Copyright 2003-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -101,6 +101,10 @@ multilib_src_configure() {
|
||||
$(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[@]}"
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
DIST glib-2.74.1.tar.xz 5189452 BLAKE2B 58d977a5d2a100aa9125f2009ae66c6f27232dff70159433076552bdb64f9a6a93d7cb705feba890ee43d6f16d4766f6f1d5502c2e01eeb7e88d5ed0dd205d5c SHA512 21176cb95fcab49a781d02789bf21191a96a34a6391f066699b3c20b414b3169c958bd86623deb34ca55912083862885f7a7d12b67cc041467da2ba94d9e83c3
|
||||
DIST glib-2.74.3-patches-2.tar.xz 23576 BLAKE2B f3746bdf961890d9f4e7ad20b107b83b7ceb8dcc36e288c1d526bac31a0e1dd9d1f13323f512355085c77d186ad66c3f52c1154f34c1d6fd6a5e64a074b2920c SHA512 945c131c27f02044db6154f0a63f458d6317c8a4e841fb392947b16756e25d92adeb2b34d793c9e19441b825d1aee71ae9b08fdcbefa1bc9de1d5af9e903e82c
|
||||
DIST glib-2.74.3.tar.xz 5181732 BLAKE2B 46c37be9519866af040b2aaf35129a9cfae6e2c74636c01755b901002fa77f4e2305025691d7a8279acfbae1298a4b5b1e095b333bed3b067e9820547b6eca97 SHA512 a9aa7e84187abb57aeeff9c7f4c4125be742a510ae5d39b6b62696ad1a715c36b353c6c14222caeb1e87bed930fb54184dba77118b991c42f1857a292c6aa77b
|
||||
DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
|
||||
DIST glib-2.74.5.tar.xz 5211852 BLAKE2B 5bf0069cbf949a946357127682e4f687c7e7b8565037024a232b3e905e65bebb86d016832b6274f743005ec8fe5fcd31eaf99ccece82d9d7c3f924d17502c409 SHA512 2716e0fe984cc5d0714e91fe0de47ee71a8bd0b4c85caee337ddb7e02ac2fb3c8c007ccc1207b29cf901c30a7ec8e3bcca75d69c6fab2a32a8cf14bff974e614
|
||||
|
||||
@ -1,131 +0,0 @@
|
||||
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3029
|
||||
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3039 (backport PR we've used)
|
||||
https://bugs.gentoo.org/878995
|
||||
https://bugs.gentoo.org/878351
|
||||
|
||||
From e2f283d7c8c5ab3aeb2f281a27ec7c0f24b86868 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 28 Oct 2022 11:21:04 -0400
|
||||
Subject: [PATCH 1/2] Revert "Handling collision between standard i/o file
|
||||
descriptors and newly created ones"
|
||||
|
||||
g_unix_open_pipe tries to avoid the standard io fd range
|
||||
when getting pipe fds. This turns out to be a bad idea because
|
||||
certain buggy programs rely on it using that range.
|
||||
|
||||
This reverts commit d9ba6150909818beb05573f54f26232063492c5b
|
||||
--- a/glib/glib-unix.c
|
||||
+++ b/glib/glib-unix.c
|
||||
@@ -108,17 +108,6 @@ g_unix_open_pipe (int *fds,
|
||||
ecode = pipe2 (fds, pipe2_flags);
|
||||
if (ecode == -1 && errno != ENOSYS)
|
||||
return g_unix_set_error_from_errno (error, errno);
|
||||
- /* Don't reassign pipes to stdin, stdout, stderr if closed meanwhile */
|
||||
- else if (fds[0] < 3 || fds[1] < 3)
|
||||
- {
|
||||
- int old_fds[2] = { fds[0], fds[1] };
|
||||
- gboolean result = g_unix_open_pipe (fds, flags, error);
|
||||
- close (old_fds[0]);
|
||||
- close (old_fds[1]);
|
||||
-
|
||||
- if (!result)
|
||||
- g_unix_set_error_from_errno (error, errno);
|
||||
- }
|
||||
else if (ecode == 0)
|
||||
return TRUE;
|
||||
/* Fall through on -ENOSYS, we must be running on an old kernel */
|
||||
@@ -127,19 +116,6 @@ g_unix_open_pipe (int *fds,
|
||||
ecode = pipe (fds);
|
||||
if (ecode == -1)
|
||||
return g_unix_set_error_from_errno (error, errno);
|
||||
- /* Don't reassign pipes to stdin, stdout, stderr if closed meanwhile */
|
||||
- else if (fds[0] < 3 || fds[1] < 3)
|
||||
- {
|
||||
- int old_fds[2] = { fds[0], fds[1] };
|
||||
- gboolean result = g_unix_open_pipe (fds, flags, error);
|
||||
- close (old_fds[0]);
|
||||
- close (old_fds[1]);
|
||||
-
|
||||
- if (!result)
|
||||
- g_unix_set_error_from_errno (error, errno);
|
||||
-
|
||||
- return result;
|
||||
- }
|
||||
|
||||
if (flags == 0)
|
||||
return TRUE;
|
||||
GitLab
|
||||
From 4526620d8c485f5dfba6ddca33f91670982f82eb Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 31 Oct 2022 09:17:55 -0400
|
||||
Subject: [PATCH 2/2] glib-unix: Add test to make sure g_unix_open_pipe will
|
||||
intrude standard range
|
||||
|
||||
Now that we know it's a bad idea to avoid the standard io fd range
|
||||
when getting pipe fds for g_unix_open_pipe, we should test to make sure
|
||||
we don't inadvertently try to do it again.
|
||||
|
||||
This commit adds that test.
|
||||
--- a/glib/tests/unix.c
|
||||
+++ b/glib/tests/unix.c
|
||||
@@ -24,8 +24,11 @@
|
||||
#include "config.h"
|
||||
|
||||
#include "glib-unix.h"
|
||||
+#include "gstdio.h"
|
||||
+
|
||||
#include <string.h>
|
||||
#include <pwd.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
static void
|
||||
test_pipe (void)
|
||||
@@ -52,6 +55,39 @@ test_pipe (void)
|
||||
g_assert (g_str_has_prefix (buf, "hello"));
|
||||
}
|
||||
|
||||
+static void
|
||||
+test_pipe_stdio_overwrite (void)
|
||||
+{
|
||||
+ GError *error = NULL;
|
||||
+ int pipefd[2], ret;
|
||||
+ gboolean res;
|
||||
+ int stdin_fd;
|
||||
+
|
||||
+ stdin_fd = dup (STDIN_FILENO);
|
||||
+ g_assert_cmpint (stdin_fd, >, 0);
|
||||
+
|
||||
+ g_close (STDIN_FILENO, &error);
|
||||
+ g_assert_no_error (error);
|
||||
+
|
||||
+ res = g_unix_open_pipe (pipefd, FD_CLOEXEC, &error);
|
||||
+ g_assert_no_error (error);
|
||||
+ g_assert_true (res);
|
||||
+
|
||||
+ g_assert_cmpint (pipefd[0], ==, STDIN_FILENO);
|
||||
+
|
||||
+ g_close (pipefd[0], &error);
|
||||
+ g_assert_no_error (error);
|
||||
+
|
||||
+ g_close (pipefd[1], &error);
|
||||
+ g_assert_no_error (error);
|
||||
+
|
||||
+ ret = dup2 (stdin_fd, STDIN_FILENO);
|
||||
+ g_assert_cmpint (ret, >=, 0);
|
||||
+
|
||||
+ g_close (stdin_fd, &error);
|
||||
+ g_assert_no_error (error);
|
||||
+}
|
||||
+
|
||||
static void
|
||||
test_error (void)
|
||||
{
|
||||
@@ -337,6 +373,7 @@ main (int argc,
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
g_test_add_func ("/glib-unix/pipe", test_pipe);
|
||||
+ g_test_add_func ("/glib-unix/pipe-stdio-overwrite", test_pipe_stdio_overwrite);
|
||||
g_test_add_func ("/glib-unix/error", test_error);
|
||||
g_test_add_func ("/glib-unix/nonblocking", test_nonblocking);
|
||||
g_test_add_func ("/glib-unix/sighup", test_sighup);
|
||||
GitLab
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||
|
||||
@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
|
||||
RESTRICT="!test? ( test )"
|
||||
#REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
||||
|
||||
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"
|
||||
|
||||
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||
@ -30,7 +30,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
|
||||
RDEPEND="
|
||||
!<dev-util/gdbus-codegen-${PV}
|
||||
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},static-libs?]
|
||||
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
|
||||
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
|
||||
@ -68,7 +68,7 @@ MULTILIB_CHOST_TOOLS=(
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-gnome-keyring-cpu.patch
|
||||
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
inherit gnome.org meson python-single-r1 xdg
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -21,8 +21,7 @@ else
|
||||
fi
|
||||
|
||||
if [[ -n "${PATCH_SET}" ]] ; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
|
||||
https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PATCH_SET}"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Note: Please bump in sync with dev-libs/libxslt
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
inherit flag-o-matic python-r1 multilib-minimal
|
||||
inherit flag-o-matic python-r1 multilib-minimal toolchain-funcs
|
||||
|
||||
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
||||
XSTS_NAME_1="xmlschema2002-01-16"
|
||||
@ -102,6 +102,13 @@ multilib_src_configure() {
|
||||
# Filter seemingly problematic CFLAGS (bug #26320)
|
||||
filter-flags -fprefetch-loop-arrays -funroll-loops
|
||||
|
||||
# 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
|
||||
|
||||
# Notes:
|
||||
# The meaning of the 'debug' USE flag does not apply to the --with-debug
|
||||
# switch (enabling the libxml2 debug module). See bug #100898.
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Note: Please bump in sync with dev-libs/libxslt
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
inherit flag-o-matic python-r1 multilib-minimal
|
||||
inherit flag-o-matic python-r1 multilib-minimal toolchain-funcs
|
||||
|
||||
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
||||
XSTS_NAME_1="xmlschema2002-01-16"
|
||||
@ -100,6 +100,13 @@ multilib_src_configure() {
|
||||
# Filter seemingly problematic CFLAGS (bug #26320)
|
||||
filter-flags -fprefetch-loop-arrays -funroll-loops
|
||||
|
||||
# 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
|
||||
|
||||
# Notes:
|
||||
# The meaning of the 'debug' USE flag does not apply to the --with-debug
|
||||
# switch (enabling the libxml2 debug module). See bug #100898.
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit flag-o-matic python-r1 multilib-minimal
|
||||
|
||||
DESCRIPTION="XSLT libraries and tools"
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit python-r1 multilib-minimal
|
||||
|
||||
DESCRIPTION="XSLT libraries and tools"
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# 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_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python package that provides useful locks"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -14,7 +14,7 @@ S="${WORKDIR}/${P}/src"
|
||||
|
||||
LICENSE="Boost-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="examples"
|
||||
RESTRICT="test"
|
||||
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623
|
||||
DIST linux-6.0.tar.xz 133886176 BLAKE2B c09a9c877ac0fac83dc31d2d04d96f0a3331d4ed78e3ad4edfd4dc077e1c11d0c49f419fdac4008b5c93d1b09c2b724e12ef0b38371ad0962908abf85dfa95fa SHA512 bac41a7aeb6e809616cee2f13dcd1c45e829dfd1ccf60aee1dc4c46b1e28532f4485c7d819a32940de84fdfbf89db80a4e919bce8a74b2948c5a01551771b714
|
||||
DIST patch-5.19.12.xz 828424 BLAKE2B fa5c2a42443179dd36ee62b6b14415b261ff528296d8cf6c335012baf1408ab8b981236b247da2f8d0a68ecef5e8bc65b6e77bd8800ef1962b258fdf3f692ac1 SHA512 40ec4228cfac91607a645971ebd85e8b85d20c4d93d5fbe3fbecf87d51958c44ff218f931a1bd8f80157e66d3c956a5391cd9aef027098003b6724a6bc49b8bc
|
||||
DIST patch-5.19.8.xz 695676 BLAKE2B 3b661fec35c883a97f2f2b489e43cb276eb7cfe6818d37cc3482c880d8c52d3f4ce740b9791d30095d21146ae842988f684c2f7bd153359ba8d2adaaef71221c SHA512 16ee25c1a215a9a14e6bcc4ce6b1a7a83cb99c2ea7754974e247e7a84b21cab8d9f56f174fb49fc682f6a79507c0d7dc3c1162226680364eaa2e632bfb52b161
|
||||
DIST patch-6.0.12.xz 635356 BLAKE2B f7407d0f95ee70e7cbb80139e61b68d2da5467a95a3d4a3c9c434616f2c6420beea483b115c60ce645d4ba586188d8beb8a82ddb32de09816d6773ba89bc21aa SHA512 d604975d02735d6ba8f98268d418397d78bf49d129aabd326599196708bf05795b17d22398ddd0229bc2944f7b152902e9638ff9aa04977c46a229566894dd00
|
||||
DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Copyright 2021-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit estack linux-info optfeature python-any-r1 toolchain-funcs
|
||||
PYTHON_COMPAT=( python3_{9..10} )
|
||||
inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs
|
||||
|
||||
MY_PV="${PV/_/-}"
|
||||
MY_PV="${MY_PV/-pre/-git}"
|
||||
@ -27,7 +27,7 @@ S="${S_K}/tools/bpf/bpftool"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
KEYWORDS="amd64 ~riscv ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
@ -43,6 +43,7 @@ DEPEND="
|
||||
BDEPEND="
|
||||
${LINUX_PATCH+dev-util/patchutils}
|
||||
${PYTHON_DEPS}
|
||||
app-arch/tar
|
||||
dev-python/docutils
|
||||
"
|
||||
|
||||
@ -56,10 +57,9 @@ src_unpack() {
|
||||
tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib"
|
||||
)
|
||||
|
||||
# We expect the tar implementation to support the -j option (both
|
||||
# GNU tar and libarchive's tar support that).
|
||||
# We expect the tar implementation to support the -j and --wildcards option
|
||||
echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
|
||||
tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||
gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||
"${paths[@]/#/linux-${LINUX_VER}/}" || die
|
||||
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
@ -92,6 +92,7 @@ src_prepare() {
|
||||
# Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00`
|
||||
# bug #868123
|
||||
eapply "${WORKDIR}"/perf-5.19-binutils-2.39-patches
|
||||
eapply "${FILESDIR}"/${PV}-no-stack-protector.patch
|
||||
popd || die
|
||||
|
||||
# dev-python/docutils installs rst2man.py, not rst2man
|
||||
@ -106,6 +107,7 @@ bpftool_make() {
|
||||
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
|
||||
EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
bash_compdir="$(get_bashcompdir)" \
|
||||
feature-libcap="$(usex caps 1 0)" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit estack linux-info optfeature python-any-r1 toolchain-funcs
|
||||
|
||||
MY_PV="${PV/_/-}"
|
||||
MY_PV="${MY_PV/-pre/-git}"
|
||||
|
||||
DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps"
|
||||
HOMEPAGE="https://kernel.org/"
|
||||
|
||||
LINUX_V="${PV:0:1}.x"
|
||||
LINUX_VER=$(ver_cut 1-2)
|
||||
LINUX_PATCH=patch-${PV}.xz
|
||||
SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
|
||||
|
||||
LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
|
||||
SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-util/perf/perf-5.19-binutils-2.39-patches.tar.xz"
|
||||
|
||||
S_K="${WORKDIR}/linux-${LINUX_VER}"
|
||||
S="${S_K}/tools/bpf/bpftool"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~riscv ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/binutils-libs:=
|
||||
sys-libs/zlib:=
|
||||
virtual/libelf:=
|
||||
caps? ( sys-libs/libcap:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=sys-kernel/linux-headers-5.8
|
||||
"
|
||||
BDEPEND="
|
||||
${LINUX_PATCH+dev-util/patchutils}
|
||||
${PYTHON_DEPS}
|
||||
dev-python/docutils
|
||||
"
|
||||
|
||||
CONFIG_CHECK="~DEBUG_INFO_BTF"
|
||||
|
||||
# src_unpack and src_prepare are copied from dev-util/perf since
|
||||
# it's building from the same tarball, please keep it in sync with perf
|
||||
src_unpack() {
|
||||
local paths=(
|
||||
tools/bpf kernel/bpf
|
||||
tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib"
|
||||
)
|
||||
|
||||
# We expect the tar implementation to support the -j option (both
|
||||
# GNU tar and libarchive's tar support that).
|
||||
echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
|
||||
tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||
"${paths[@]/#/linux-${LINUX_VER}/}" || die
|
||||
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
eshopts_push -o noglob
|
||||
ebegin "Filtering partial source patch"
|
||||
filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
|
||||
> ${P}.patch
|
||||
eend $? || die "filterdiff failed"
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
local a
|
||||
for a in ${A}; do
|
||||
[[ ${a} == ${LINUX_SOURCES} ]] && continue
|
||||
[[ ${a} == ${LINUX_PATCH} ]] && continue
|
||||
unpack ${a}
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
eapply "${WORKDIR}"/${P}.patch
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
# Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00`
|
||||
# bug #868123
|
||||
eapply "${WORKDIR}"/perf-5.19-binutils-2.39-patches
|
||||
popd || die
|
||||
|
||||
# dev-python/docutils installs rst2man.py, not rst2man
|
||||
sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
|
||||
}
|
||||
|
||||
bpftool_make() {
|
||||
local arch=$(tc-arch-kernel)
|
||||
tc-export AR CC LD
|
||||
|
||||
emake V=1 VF=1 \
|
||||
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
|
||||
EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
feature-libcap="$(usex caps 1 0)" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
bpftool_make
|
||||
bpftool_make -C Documentation
|
||||
}
|
||||
|
||||
src_install() {
|
||||
bpftool_make DESTDIR="${D}" install
|
||||
bpftool_make mandir="${ED}"/usr/share/man -C Documentation install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "clang-bpf-co-re support" sys-devel/clang[llvm_targets_BPF]
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Copyright 2021-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit estack linux-info optfeature python-any-r1 toolchain-funcs
|
||||
PYTHON_COMPAT=( python3_{9..10} )
|
||||
inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs
|
||||
|
||||
MY_PV="${PV/_/-}"
|
||||
MY_PV="${MY_PV/-pre/-git}"
|
||||
@ -41,6 +41,7 @@ DEPEND="
|
||||
BDEPEND="
|
||||
${LINUX_PATCH+dev-util/patchutils}
|
||||
${PYTHON_DEPS}
|
||||
app-arch/tar
|
||||
dev-python/docutils
|
||||
"
|
||||
|
||||
@ -54,10 +55,9 @@ src_unpack() {
|
||||
tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib"
|
||||
)
|
||||
|
||||
# We expect the tar implementation to support the -j option (both
|
||||
# GNU tar and libarchive's tar support that).
|
||||
# We expect the tar implementation to support the -j and --wildcards option
|
||||
echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
|
||||
tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||
gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||
"${paths[@]/#/linux-${LINUX_VER}/}" || die
|
||||
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
@ -86,6 +86,11 @@ src_prepare() {
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
# bug #890638
|
||||
eapply "${FILESDIR}"/5.19.12-no-stack-protector.patch
|
||||
popd || die
|
||||
|
||||
# dev-python/docutils installs rst2man.py, not rst2man
|
||||
sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
|
||||
}
|
||||
@ -98,6 +103,7 @@ bpftool_make() {
|
||||
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
|
||||
EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
bash_compdir="$(get_bashcompdir)" \
|
||||
feature-libcap="$(usex caps 1 0)" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
|
||||
https://bugs.gentoo.org/890638
|
||||
|
||||
--- a/tools/bpf/bpftool/Makefile 2022-12-11 23:15:18.000000000 +0100
|
||||
+++ b/tools/bpf/bpftool/Makefile 2023-01-13 10:32:09.615048492 +0100
|
||||
@@ -187,7 +187,7 @@ $(OUTPUT)%.bpf.o: skeleton/%.bpf.c $(OUT
|
||||
-I$(or $(OUTPUT),.) \
|
||||
-I$(srctree)/tools/include/uapi/ \
|
||||
-I$(LIBBPF_BOOTSTRAP_INCLUDE) \
|
||||
- -g -O2 -Wall -target bpf -c $< -o $@
|
||||
+ -g -O2 -Wall -fno-stack-protector -target bpf -c $< -o $@
|
||||
$(Q)$(LLVM_STRIP) -g $@
|
||||
|
||||
$(OUTPUT)%.skel.h: $(OUTPUT)%.bpf.o $(BPFTOOL_BOOTSTRAP)
|
||||
@ -9,4 +9,8 @@
|
||||
<flag name="iso">Pulls in the depends for building iso images</flag>
|
||||
<flag name="system-bootloader">Pulls in the depends needed to setup livecd bootloader from the host system rather than using a cdtar</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="gentoo">proj/catalyst</remote-id>
|
||||
<remote-id type="github">gentoo/catalyst</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
@ -9,3 +9,7 @@ DIST cmake-3.25.1-SHA-256.txt 1646 BLAKE2B b5ebf93e481b2bf63c5448875983f0b4d13f4
|
||||
DIST cmake-3.25.1-SHA-256.txt.asc 833 BLAKE2B 3dce05d9ad5852165418726fc16de4fcc6c66aa379ce926a68c10515dcd87ed40b60ce345952fc2c83f342b5ebb0f02134af6c07b58e9dcf7e1757ad6294d8b5 SHA512 70ec7f1cef52d76ab6732556b663509de780648a2009608632a7df0de86c1d8b91fab874233413216a486fa97648d95de1556f89f48cea936408b609380c5aa4
|
||||
DIST cmake-3.25.1-docs.tar.xz 499680 BLAKE2B 0baac457fbde68046080a906093be96c6fe3d7a4b592125237258768eeb0f9c80d3e1e867e2850fe3ebd27a1284d2f47245ca73b8f5b6eb4c046f2afdab78e56 SHA512 02e1bf84be15a7c796a9a7535ee286ca3cddc478707daa1be076be44285f762a0c5eb620b34815e6713b7262a534d7c7fb48e53896c4706645792397f8da83e3
|
||||
DIST cmake-3.25.1.tar.gz 10561054 BLAKE2B 3aaf546ebc935caaaf6d15c61f99184964902a50004222ba29e17714488b219f8d8754008f2b2d701dd7befe8c0f4cd0edad92fcabb8ad37b981f31b2d1e37a2 SHA512 ec4203cac569e3c340bf6535d193d9ccff9c4e4d59a7a7ae5b9156172f647d9f9212bdc37b3c12cbd676b1351b9a64364c563aaa968a2f41e0f402410ed78d57
|
||||
DIST cmake-3.25.2-SHA-256.txt 1646 BLAKE2B 10289acf1a74e45ad1109bb0759ce82024553947ff60c8358854f26d276e89155df9b44561adee4b838d95fb2fcb54b4d2ca1e957b35a90ee80ea56dc63d94be SHA512 75d6a0c4c9350ad466559f44f56f2d18308cdfbaba24da3c86950c9bfb4861f9486f031b41206de83019850944081f304953dbd04b55501ea7b3912aabfb1e00
|
||||
DIST cmake-3.25.2-SHA-256.txt.asc 833 BLAKE2B 823c1132836529c3ca1c9060f504ad9904169621e3284c489b92f6334454ffa82791d336c78a27e705eca686e63131aed249c44e61b5f7fb915e80cca0155edc SHA512 16d5f8e0071db7f29b2f502b8a26e71e73519980555f64a548f1b3d5e917ec377cdfa49a4750dffde952e6b818dd37d000992bf67b553902b2117809f02b9486
|
||||
DIST cmake-3.25.2-docs.tar.xz 500144 BLAKE2B 9f45daf51c3acddce8e273649cd7445d00324883f2feccc98632a35d2ba72e7f6fd286f65bc362969f41d13cd5f34881aac8a229c9f6533caf0d86e1092075a8 SHA512 191daffb9a244fac79700bb0d21b3d65c7b94685dafd589122d37017660d13768e3e3257170bbfe46871efc59da6e7e2fcad0ce860cf87f1dc149c80df73cf91
|
||||
DIST cmake-3.25.2.tar.gz 10561266 BLAKE2B ca093cf0b2a0254494965c8b46ab188024b6d745cd56461451f4fa023fbb4f2cca7077877f1698c082d8a3b52c898d6f793657d8da3879f19f7b24139cbab7f0 SHA512 20146d06a1722c36249192944a58e4780aad334d2bc5ce2a3d8c4f24656630c5b71ca0ae7ed53587e3d46f488bd773452fa60c3fc7045fe54db2dbc6ffd86390
|
||||
|
||||
293
sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.25.2.ebuild
vendored
Normal file
293
sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.25.2.ebuild
vendored
Normal file
@ -0,0 +1,293 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# See bug #784815
|
||||
CMAKE_DOCS_USEFLAG="+doc"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
|
||||
toolchain-funcs virtualx xdg-utils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="CMake"
|
||||
SLOT="0"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} emacs ncurses qt5 test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=app-arch/libarchive-3.3.3:=
|
||||
app-crypt/rhash
|
||||
>=dev-libs/expat-2.0.1
|
||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
||||
>=dev-libs/libuv-1.10.0:=
|
||||
>=net-misc/curl-7.21.5[ssl]
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
emacs? ( >=app-editors/emacs-23.1:* )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
)
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch
|
||||
"${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch
|
||||
"${FILESDIR}"/${PN}-3.19.1-darwin-gcc.patch
|
||||
|
||||
# Handle gentoo packaging in find modules
|
||||
"${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch
|
||||
# Next patch needs to be reworked
|
||||
#"${FILESDIR}"/${PN}-3.17.0_rc1-FindLAPACK.patch
|
||||
"${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
|
||||
|
||||
# Respect python eclasses
|
||||
"${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
|
||||
"${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
|
||||
|
||||
"${FILESDIR}"/${PN}-3.18.0-filter_distcc_warning.patch # bug 691544
|
||||
|
||||
# upstream fixes (can usually be removed with a version bump)
|
||||
)
|
||||
|
||||
cmake_src_bootstrap() {
|
||||
# disable running of cmake in bootstrap command
|
||||
sed -i \
|
||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
||||
bootstrap || die "sed failed"
|
||||
|
||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
||||
Source/kwsys/CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# bootstrap script isn't exactly /bin/sh compatible
|
||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
||||
--prefix="${T}/cmakestrap/" \
|
||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif ! use verify-sig || [[ ${PV} == *_rc* ]] ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
Source/cmSystemTools.cxx \
|
||||
Source/cmTimestamp.cxx
|
||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmStandardLexer.h
|
||||
fi
|
||||
|
||||
# Add gcc libs to the default link paths
|
||||
sed -i \
|
||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
-DCMAKE_MAN_DIR=/share/man
|
||||
-DCMAKE_DATA_DIR=/share/${PN}
|
||||
-DSPHINX_MAN=$(usex doc)
|
||||
-DSPHINX_HTML=$(usex doc)
|
||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
)
|
||||
use qt5 && mycmakeargs+=( -DBUILD_QtDialog=ON )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
use emacs && elisp-compile Auxiliary/cmake-mode.el
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: which fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
virtx cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
if use emacs; then
|
||||
elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
insinto /usr/share/vim/vimfiles/syntax
|
||||
doins Auxiliary/vim/syntax/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/indent
|
||||
doins Auxiliary/vim/indent/cmake.vim
|
||||
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${FILESDIR}/${PN}.vim"
|
||||
|
||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
if use qt5; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
if use qt5; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
fi
|
||||
}
|
||||
@ -1,3 +1,3 @@
|
||||
DIST glib-2.74.1.tar.xz 5189452 BLAKE2B 58d977a5d2a100aa9125f2009ae66c6f27232dff70159433076552bdb64f9a6a93d7cb705feba890ee43d6f16d4766f6f1d5502c2e01eeb7e88d5ed0dd205d5c SHA512 21176cb95fcab49a781d02789bf21191a96a34a6391f066699b3c20b414b3169c958bd86623deb34ca55912083862885f7a7d12b67cc041467da2ba94d9e83c3
|
||||
DIST glib-2.74.3.tar.xz 5181732 BLAKE2B 46c37be9519866af040b2aaf35129a9cfae6e2c74636c01755b901002fa77f4e2305025691d7a8279acfbae1298a4b5b1e095b333bed3b067e9820547b6eca97 SHA512 a9aa7e84187abb57aeeff9c7f4c4125be742a510ae5d39b6b62696ad1a715c36b353c6c14222caeb1e87bed930fb54184dba77118b991c42f1857a292c6aa77b
|
||||
DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
|
||||
DIST glib-2.74.5.tar.xz 5211852 BLAKE2B 5bf0069cbf949a946357127682e4f687c7e7b8565037024a232b3e905e65bebb86d016832b6274f743005ec8fe5fcd31eaf99ccece82d9d7c3f924d17502c409 SHA512 2716e0fe984cc5d0714e91fe0de47ee71a8bd0b4c85caee337ddb7e02ac2fb3c8c007ccc1207b29cf901c30a7ec8e3bcca75d69c6fab2a32a8cf14bff974e614
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
GNOME_ORG_MODULE="glib"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
GNOME_ORG_MODULE="glib"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
GNOME_ORG_MODULE="glib"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
@ -15,7 +15,7 @@ HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
DEPEND="${RDEPEND}"
|
||||
@ -1,3 +1,3 @@
|
||||
DIST glib-2.74.1.tar.xz 5189452 BLAKE2B 58d977a5d2a100aa9125f2009ae66c6f27232dff70159433076552bdb64f9a6a93d7cb705feba890ee43d6f16d4766f6f1d5502c2e01eeb7e88d5ed0dd205d5c SHA512 21176cb95fcab49a781d02789bf21191a96a34a6391f066699b3c20b414b3169c958bd86623deb34ca55912083862885f7a7d12b67cc041467da2ba94d9e83c3
|
||||
DIST glib-2.74.3.tar.xz 5181732 BLAKE2B 46c37be9519866af040b2aaf35129a9cfae6e2c74636c01755b901002fa77f4e2305025691d7a8279acfbae1298a4b5b1e095b333bed3b067e9820547b6eca97 SHA512 a9aa7e84187abb57aeeff9c7f4c4125be742a510ae5d39b6b62696ad1a715c36b353c6c14222caeb1e87bed930fb54184dba77118b991c42f1857a292c6aa77b
|
||||
DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
|
||||
DIST glib-2.74.5.tar.xz 5211852 BLAKE2B 5bf0069cbf949a946357127682e4f687c7e7b8565037024a232b3e905e65bebb86d016832b6274f743005ec8fe5fcd31eaf99ccece82d9d7c3f924d17502c409 SHA512 2716e0fe984cc5d0714e91fe0de47ee71a8bd0b4c85caee337ddb7e02ac2fb3c8c007ccc1207b29cf901c30a7ec8e3bcca75d69c6fab2a32a8cf14bff974e614
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
GNOME_ORG_MODULE="glib"
|
||||
|
||||
inherit gnome.org python-single-r1
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
GNOME_ORG_MODULE="glib"
|
||||
|
||||
inherit gnome.org python-single-r1
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
GNOME_ORG_MODULE="glib"
|
||||
|
||||
inherit gnome.org python-single-r1
|
||||
@ -14,7 +14,7 @@ LICENSE="LGPL-2.1+"
|
||||
SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
DEPEND="${RDEPEND}"
|
||||
@ -1,8 +1,8 @@
|
||||
# Copyright 2020-2022 Gentoo Authors
|
||||
# Copyright 2020-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit python-r1
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Copyright 2016-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Copyright 2016-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
@ -15,7 +15,7 @@ else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Copyright 2016-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Copyright 2016-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 2012-2022 Gentoo Authors
|
||||
# Copyright 2012-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit edo bash-completion-r1 elisp-common flag-o-matic python-any-r1 toolchain-funcs
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 2012-2022 Gentoo Authors
|
||||
# Copyright 2012-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit edo bash-completion-r1 elisp-common flag-o-matic python-any-r1 toolchain-funcs
|
||||
|
||||
|
||||
@ -1,2 +1,3 @@
|
||||
DIST dwarves-1.23.tar.xz 815076 BLAKE2B 2d89ac2d8cacb70a322b1c946356c0b18a2276f7a549efc2cf530c087dd718c7d01f5bcf8b9208965e066770064b6d8db7a9f6ab9a3f3a4612f6fcc8d146c1e8 SHA512 5255930d6898ce35a41e3e553363964663d2b686d12732ff6140fa1d06fcc3806adf28e24ec35ab0712eec0562c52c3943afe9ecce468b0053b852ffeb04c3dc
|
||||
DIST dwarves-1.24.tar.xz 875744 BLAKE2B 6766b5a5ecbf64013227e7cd459af662fc213f230b5b1279354fcaaccebfa3d74f9a2254542dc4f3f1bb4a5def1d4c77e2445fa8b531fa8b9e331cdfc23155fe SHA512 3cdca183cf68ec46fd9a0301ae4a8a30b23a8139c65ffba64ae11f85f9e942f7341dca6f88a4a3b49f32bfd880927193a80fa011726e4a33d3e5a1a146326c06
|
||||
DIST pahole-1.24_p20221024-patches.tar.xz 22088 BLAKE2B b39458400411dd7da0f568257f42164952e170b952e4893a92d769e17ce4cf0de88b727808a38195438fe10e5537f245bf101f647f383b6df7642c5446fa5d45 SHA512 93f160f01023c5402535a34d59005f0a3e056662a2764722480d71b6e522f3bfef0d642084467d1fbea96e23386b4cbb708243713d59eb84f4f767c1ac5ab3f5
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit multilib cmake python-single-r1
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit cmake python-single-r1
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
|
||||
65
sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.24_p20221024.ebuild
vendored
Normal file
65
sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.24_p20221024.ebuild
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit cmake python-single-r1
|
||||
|
||||
MY_PN=dwarves
|
||||
MY_P=${MY_PN}-${PV}
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.kernel.org/pub/scm/devel/pahole/pahole.git"
|
||||
inherit git-r3
|
||||
elif [[ ${PV} == *_p* ]] ; then
|
||||
# Snapshots
|
||||
#SRC_URI="https://dev.gentoo.org/~zzam/${PN}/${P}.tar.xz"
|
||||
|
||||
# Patch rollups from git format-patch. Sometimes there are important
|
||||
# fixes in git which haven't been released (and no release in sight).
|
||||
# Patch rollups are a bit better for understanding where changes have
|
||||
# come from for users.
|
||||
SRC_URI="
|
||||
http://fedorapeople.org/~acme/${MY_PN}/${MY_P%%_p*}.tar.xz
|
||||
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz
|
||||
"
|
||||
S="${WORKDIR}"/${MY_P%%_p*}
|
||||
else
|
||||
SRC_URI="http://fedorapeople.org/~acme/${MY_PN}/${MY_P}.tar.xz"
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2" # only
|
||||
SLOT="0"
|
||||
IUSE="debug"
|
||||
if [[ ${PV} != 9999 ]] ; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
>=dev-libs/elfutils-0.178
|
||||
sys-libs/zlib"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( README README.ctracer NEWS )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.10-python-import.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
[[ -d "${WORKDIR}"/${P}-patches ]] && PATCHES+=( "${WORKDIR}"/${P}-patches )
|
||||
|
||||
cmake_src_prepare
|
||||
python_fix_shebang ostra/ostra-cg ostra/python/ostra.py
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=( "-D__LIB=$(get_libdir)" )
|
||||
cmake_src_configure
|
||||
}
|
||||
@ -1,19 +1,44 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit cmake python-single-r1 git-r3
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit cmake python-single-r1
|
||||
|
||||
MY_PN=dwarves
|
||||
MY_P=${MY_PN}-${PV}
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/devel/pahole/pahole.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.kernel.org/pub/scm/devel/pahole/pahole.git"
|
||||
inherit git-r3
|
||||
elif [[ ${PV} == *_p* ]] ; then
|
||||
# Snapshots
|
||||
#SRC_URI="https://dev.gentoo.org/~zzam/${PN}/${P}.tar.xz"
|
||||
|
||||
# Patch rollups from git format-patch. Sometimes there are important
|
||||
# fixes in git which haven't been released (and no release in sight).
|
||||
# Patch rollups are a bit better for understanding where changes have
|
||||
# come from for users.
|
||||
SRC_URI="
|
||||
http://fedorapeople.org/~acme/${MY_PN}/${MY_P%%_p*}.tar.xz
|
||||
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz
|
||||
"
|
||||
S="${WORKDIR}"/${MY_P%%_p*}
|
||||
else
|
||||
SRC_URI="http://fedorapeople.org/~acme/${MY_PN}/${MY_P}.tar.xz"
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2" # only
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug"
|
||||
if [[ ${PV} != 9999 ]] ; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
@ -28,6 +53,8 @@ PATCHES=(
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
[[ -d "${WORKDIR}"/${P}-patches ]] && PATCHES+=( "${WORKDIR}"/${P}-patches )
|
||||
|
||||
cmake_src_prepare
|
||||
python_fix_shebang ostra/ostra-cg ostra/python/ostra.py
|
||||
}
|
||||
@ -36,9 +63,3 @@ src_configure() {
|
||||
local mycmakeargs=( "-D__LIB=$(get_libdir)" )
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
}
|
||||
|
||||
@ -1 +1,2 @@
|
||||
DIST patchelf-0.17.0.tar.gz 143684 BLAKE2B ef32baae1d1e07c77442878977693849e2dd3d5c1c1b8d53eb54ee7b1b78eb77ebcf87cbd7caa683f0043e6d7b90ca2593968e9c95b0902e45c4634823be196b SHA512 0db2294cc16a919a84a1bb71194b3ed7a87bb669f684e4cc0943b33899d69690097c59d5c9f8e631bc1b4136db7f10f7cb0fbb1c96912aee567a0fd7dc9c9588
|
||||
DIST patchelf-0.17.2.tar.gz 143954 BLAKE2B 7ed684c63955a0b9cfe293fb966f7f08a90c76e8efb2b493eaf3705c57767b31b31e48ab59f39ff1d91b7a4501e6d203e32a40040625a44a7d44113b1320530c SHA512 e5545416d32248d023759457d0a5cd4841d69f39366eb0aa9cfd8a43d2ce372c6e05995bf60ba62bd85c6d98fdece2dbd1e20872e338ef5ac75f11b82ae091b3
|
||||
|
||||
24
sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2.ebuild
vendored
Normal file
24
sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.17.2.ebuild
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executables"
|
||||
HOMEPAGE="https://github.com/NixOS/patchelf"
|
||||
SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux"
|
||||
LICENSE="GPL-3"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
rm src/elf.h || die
|
||||
|
||||
sed -i \
|
||||
-e 's:-Werror::g' \
|
||||
configure.ac || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
@ -13,10 +13,6 @@
|
||||
<email>amadio@gentoo.org</email>
|
||||
<name>Guilherme Amadio</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>zlogene@gentoo.org</email>
|
||||
<name>Mikle Kolyada</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="babeltrace">Enable <pkg>dev-util/babeltrace</pkg> support</flag>
|
||||
<flag name="clang">Enable builtin clang and LLVM support</flag>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
PYTHON_COMPAT=( python3_{9..10} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info
|
||||
|
||||
DESCRIPTION="Userland tools for Linux Performance Counters"
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info
|
||||
|
||||
DESCRIPTION="Userland tools for Linux Performance Counters"
|
||||
@ -152,7 +152,8 @@ src_prepare() {
|
||||
"${S}"/Makefile.perf || die
|
||||
# A few places still use -Werror w/out $(WERROR) protection.
|
||||
sed -i -e 's@-Werror@@' \
|
||||
"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
|
||||
"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile \
|
||||
"${S_K}"/tools/lib/perf/Makefile || die
|
||||
|
||||
# Avoid the call to make kernelversion
|
||||
sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
|
||||
|
||||
@ -1,2 +1,3 @@
|
||||
DIST pkgconf-1.8.0.tar.xz 296304 BLAKE2B 6585a855a313406f77d26fba3cc3cef798b27c4b7ece81738bdba12f36ee93fbcaf838e1065406c28adc20852e34e2de14bc5f4837982f9cc35360d9a3ac83a5 SHA512 58204006408ad5ce91222ed3c93c2e0b61c04fa83c0a8ad337b747b583744578dbebd4ad5ccbc577689637caa1c5dc246b7795ac46e39c6666b1aa78199b7c28
|
||||
DIST pkgconf-1.9.3.tar.xz 308612 BLAKE2B 90d48171e24235906c41e97f7a2fa53825724c7500e90e502e5e2e4d668d3be863119e39b83a8e02adcef83a7def42e1c5e3641e77f6194bd81f653776bc95b4 SHA512 f65583f78571e4da161201d6387091562b38893adc31df421b0e6d560a060deb306a0b7ad8b28266253244c935d0a8169f35e04825a7857f21a09527d36f921e
|
||||
DIST pkgconf-1.8.1.tar.xz 302372 BLAKE2B 591961f0b1fd185834fd8e2a672199cffc035139599817b1d56d571300d2aa800a719c9477aac4023dfade597ad3cc3b45360babe57498977568ee57077c7bbe SHA512 7a7d5204c1c9bfb6578bda56f299d1fa0300e69a133a65730b10ad77aefbf26fceb74ae77cecda326b3ed5db5736f27fcce94764b3a56d40f4bb99fecdc80bba
|
||||
DIST pkgconf-1.9.4.tar.xz 309164 BLAKE2B f0a99f9c7aaf571b14aa24b6dae441fb041d794294e560601232c03254e521a49a5724e41c5ada537f7933bb4831b63482896c8569a9502c8c5d841190e1d091 SHA512 079436244f3942161f91c961c96d382a85082079c9843fec5ddd7fb245ba7500a9f7a201b5ef2c70a7a079fe1aacf3a52b73de5402a6f061df87bcdcf0a90755
|
||||
|
||||
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