diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/Manifest b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/Manifest index 5d9d7b481f..4d0f6ffb4e 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/Manifest @@ -1,2 +1 @@ -DIST perl-cleaner-2.25.tar.bz2 7435 BLAKE2B 348f5429874bf7b1db5c9ba5b1479c3d5fbce68fc9ef91aa44dad3325ab2287d4bfda9221063dd643ec3b6df465443bb9a024705ec46f15c50ccd618ef193ce6 SHA512 5ef5682872ce840c0df98de82a6cf622120435f542206a00bb8fe0f9d5e46fb9898a89ab576b08a74b0d69d57a90a930d9f8d7d0b527fa3a928a6e4ddbad6ee9 -DIST perl-cleaner-2.27.tar.bz2 7493 BLAKE2B 03d8bc336fd0a42bce16c4bf8b2272a7ff24d605b483af777ef7ab3d59accd0082709200705638ab116934f675b17c5cf109c40a3ab739654ff64abebd8c0558 SHA512 097d68dff30da198636f73fc44600f1863c7f69f87110315bb83297c96d826f2f101f56ab546fde94ff60ca00da0aaa569fefea3c2599155f3bd69c66fb42ed6 +DIST perl-cleaner-2.30.tar.bz2 6963 BLAKE2B 8983060c7a904266ac82a67eba7b5d2184803b59c077f947a35d07e9af3046953705d31840b9508116578b8f3e8a8b97d77cf21eeac3b70f1c3fb5c1d71ae64e SHA512 436d26727bbb598bcd3c4f31e6b81e415a797cdba82dccfd55e54ee179bd2d6c1dc443e865f6f0a05b59f47ffd231dd10e55d5ea97a9a6875235ea1b49b68898 diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/files/perl-cleaner-2.20-prefix.patch b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/files/perl-cleaner-2.20-prefix.patch deleted file mode 100644 index 27d5b1dd73..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/files/perl-cleaner-2.20-prefix.patch +++ /dev/null @@ -1,111 +0,0 @@ -add Prefix and Darwin support - ---- perl-cleaner -+++ perl-cleaner -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!@GENTOO_PORTAGE_EPREFIX@/bin/bash - # vim: set et sw=4 sts=4 tw=80: - # Copyright 2005-2014 Gentoo Foundation - # Distributed under the terms of the GNU General Public License v2 -@@ -22,13 +22,13 @@ - PKGS_EXCEPTIONS="dev-lang/perl sys-devel/libperl app-emulation/emul-linux-x86-baselibs" - PKGS_MANUAL="" - --PKG_DBDIR=/var/db/pkg -+PKG_DBDIR="@GENTOO_PORTAGE_EPREFIX@/var/db/pkg" - - # See bug 504116 for details --if [ -e /lib/gentoo/functions.sh ]; then -- . /lib/gentoo/functions.sh --elif [ -e /etc/init.d/functions.sh ]; then -- . /etc/init.d/functions.sh -+if [ -e "@GENTOO_PORTAGE_EPREFIX@/lib/gentoo/functions.sh" ]; then -+ . "@GENTOO_PORTAGE_EPREFIX@/lib/gentoo/functions.sh" -+elif [ -e "@GENTOO_PORTAGE_EPREFIX@/etc/init.d/functions.sh" ]; then -+ . "@GENTOO_PORTAGE_EPREFIX@/etc/init.d/functions.sh" - else - echo "$0: Unable to find functions.sh" - exit 1 -@@ -157,7 +157,7 @@ - - veinfo 1 "Locating ph files for removal" - eindent "" -- for i in /usr/lib{,64,x32}/perl5 ; do -+ for i in "@GENTOO_PORTAGE_EPREFIX@"/usr/lib{,64,x32}/perl5 ; do - [[ ! -d ${i} ]] && continue - veinfo 4 "...in ${i}" - while IFS= read -r -d $'\0' file ; do -@@ -183,13 +183,13 @@ - veinfo 1 "Pretend. Nothing to do." - return - fi -- pushd /usr/include > /dev/null -+ pushd "@GENTOO_PORTAGE_EPREFIX@"/usr/include > /dev/null - if [[ ${version} =~ ^5.(8|10) ]] ; then - eindent -- veinfo 2 "...in /usr/include" -+ veinfo 2 "...in @GENTOO_PORTAGE_EPREFIX@/usr/include" - h2ph ${option} * 2>/dev/null - for dir in sys arpa netinet bits security asm gnu linux ; do -- veinfo 2 "...in /usr/include/$dir/" -+ veinfo 2 "...in @GENTOO_PORTAGE_EPREFIX@/usr/include/$dir/" - h2ph ${option} -r $dir/* - done - eoutdent -@@ -220,13 +220,16 @@ - veinfo 1 "Locating ebuilds linked against libperl" - fi - -+ local scanelf=scanelf -+ [[ -e "@GENTOO_PORTAGE_EPREFIX@"/usr/lib/libperl.dylib ]] \ -+ && scanelf=scanmacho - if ${LIBPERL} ; then -- if ! type -P scanelf >/dev/null 2>&1; then -- ewarn "scanelf not found! Install app-misc/pax-utils." -+ if ! type -P ${scanelf} >/dev/null 2>&1; then -+ ewarn "${scanelf} not found! Install app-misc/pax-utils." - ewarn "--libperl is disbled." - LIBPERL=false - else -- SONAME="$(scanelf -qBS "$(realpath /usr/lib/libperl.so 2>/dev/null )" | awk '{ print $1 }')" -+ SONAME="$(${scanelf} -qBS "$(realpath "@GENTOO_PORTAGE_EPREFIX@"/usr/lib/libperl.{so,dylib} 2>/dev/null )" | awk '{ print $1 }')" - veinfo 4 SONAME="${SONAME}" - fi - fi -@@ -268,7 +271,7 @@ - while read -r type file ; do - shopt -s extglob - [[ ${type} == obj ]] || [[ ${type} == sym ]] || continue -- [[ ${file} =~ ^/usr/(share|lib(32|64|x32)?)/perl5 ]] || continue -+ [[ ${file} =~ ^"@GENTOO_PORTAGE_EPREFIX@"/usr/(share|lib(32|64|x32)?)/perl5 ]] || continue - file=${file% +(!([[:space:]])) +([[:digit:]])} - shopt -u extglob - if ${FORCE} || outdated_path "${file}" ; then -@@ -302,7 +305,7 @@ - - if ${LIBPERL} ; then - # We assume the broken libs have all bin or lib in their path -- broken_libs="$(scanelf -qBn < <(awk '/^(obj|sym) [^ ]*\/(s?bin|lib(32|64|x32)?)\// && ! /^obj [^ ]*\/usr\/lib\/debug\//{ print $2 }' ${content} ) | grep -o 'libperl\.so\.[0-9.]*' | sort -u )" -+ broken_libs="$(${scanelf} -qBn < <(awk '/^(obj|sym) [^ ]*\/(s?bin|lib(32|64|x32)?)\// && ! /^obj [^ ]*\/usr\/lib\/debug\//{ print $2 }' ${content} ) | grep -o 'libperl\.\(so\|dylib\)\.[0-9.]*' | sort -u )" - if [[ -n "${broken_libs}" ]] ; then - if ${FORCE} || [[ ${broken_libs} != ${SONAME} ]] ; then - PKGS_TO_REMERGE+=" ${CATPKGVER}" -@@ -327,7 +330,7 @@ - exit $? - fi - -- if [[ ${PMS_COMMAND[${PMS_INDEX}]} == emerge && -x /usr/bin/portageq ]] ; then -+ if [[ ${PMS_COMMAND[${PMS_INDEX}]} == emerge && -x "@GENTOO_PORTAGE_EPREFIX@"/usr/bin/portageq ]] ; then - # Filter out --getbinpkg, --getbinpkgonly, --usepkg and --usepkgonly options in EMERGE_DEFAULT_OPTS - emerge_default_opts="" - for option in $(portageq envvar EMERGE_DEFAULT_OPTS ) ; do -@@ -383,7 +386,7 @@ - veinfo 1 "or edited. This script cannot deal with them." - vecho 1 - -- for i in /usr/{share,lib{,32,64,x32}}/perl5 ; do -+ for i in "@GENTOO_PORTAGE_EPREFIX@"/usr/{share,lib{,32,64,x32}}/perl5 ; do - [[ -d $i ]] && perlpath[${#perlpath[*]}]="$(realpath $i 2>/dev/null )" - done - [[ ${#perlpath[*]} == 0 ]] && return diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/metadata.xml b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/metadata.xml index 408ad0201f..d1aa590a84 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/metadata.xml @@ -1,9 +1,8 @@ - + perl@gentoo.org Gentoo Perl Project - diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.27.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.27.ebuild deleted file mode 100644 index 66ce92577d..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.27.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit prefix - -DESCRIPTION="User land tool for cleaning up old perl installs" -HOMEPAGE="https://www.gentoo.org/proj/en/perl/" - -if [[ "${PV}" == "9999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git" -else - SRC_URI="mirror://gentoo/${P}.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2" - KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="" - -[[ "${PV}" == "9999" ]] && DEPEND="sys-apps/help2man" - -RDEPEND="app-shells/bash - dev-lang/perl - || ( - ( sys-apps/portage app-portage/portage-utils ) - ( sys-apps/portage-mgorny app-portage/portage-utils ) - sys-apps/pkgcore - ) -" - -src_prepare() { - default - eprefixify ${PN} -} - -src_install() { - dosbin perl-cleaner - doman perl-cleaner.1 -} diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.25.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.30.ebuild similarity index 71% rename from sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.25.ebuild rename to sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.30.ebuild index a824c70301..26172c5340 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.25.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-2.30.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit prefix @@ -13,7 +13,7 @@ if [[ "${PV}" == "9999" ]] ; then EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git" else SRC_URI="mirror://gentoo/${P}.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2" - KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi LICENSE="GPL-2" diff --git a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild index d2a96ef087..a7624afba0 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/perl-cleaner/perl-cleaner-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit prefix @@ -13,7 +13,7 @@ if [[ "${PV}" == "9999" ]] ; then EGIT_REPO_URI="https://github.com/gentoo-perl/perl-cleaner.git" else SRC_URI="mirror://gentoo/${P}.tar.bz2 https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi LICENSE="GPL-2" @@ -26,7 +26,6 @@ RDEPEND="app-shells/bash dev-lang/perl || ( ( sys-apps/portage app-portage/portage-utils ) - ( sys-apps/portage-mgorny app-portage/portage-utils ) sys-apps/pkgcore ) " diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/Manifest b/sdk_container/src/third_party/portage-stable/app-arch/gzip/Manifest index 81f9c56bf5..25b7f1c633 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/gzip/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/Manifest @@ -1,2 +1,2 @@ DIST gzip-1.10.tar.xz 775144 BLAKE2B 431dc0fd11061eabd9db86594777b86510b124b124fd74799eacd67334631af60f638be2638413bee0153a9da35528d0aecc5b5083152c395223705400c9103b SHA512 e6ba9e3906cdb6a6235b213515093d02afa1722686f73eddacbacae628542b586b449829783b6a1701e9b9e0c4d4dfa6845904d3b6b010f5cf21aec4997c9299 -DIST gzip-1.9.tar.xz 762516 BLAKE2B 4001fc7a770634916d52b026dab1b621fc96275bfb61ec2df2d0e7d7ec1c81414270d3c866034e6ef758870f38e9d4396a25832abe558915a7ded1f1511eb4b0 SHA512 c0852e7f7662141e79d14bc36e50f1940dba3e804feff3b0b8fa084ffec720ac245352282d2f1db117fadc95758424dd418d192b94621dac4367834ccf101fad +DIST gzip-1.11.tar.xz 804096 BLAKE2B c251066f0bded6a6557a5cbfe5d20090c6446051c31fad610af4f9f7b2537c28fed1cfab424a459452db73b7d1df1361e5aeba163a9e980fc611faf408cac128 SHA512 af297c173297d588722f4d0f140a2ae4d3ea3861464191772fb2e11e47be43644b5ae01ed63f0051d6eb4751666284de53e14c4dd9f0c1d25f61cf676fbf11f3 diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch b/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch deleted file mode 100644 index 20039b9f0d..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-arch/gzip/files/gzip-1.9-gnulib-glibc-2.28.patch +++ /dev/null @@ -1,134 +0,0 @@ -fix build failure against glibc-2.28 - -https://bugs.gentoo.org/663928 - -Adopted gnulib's upstream patch: - -From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Mon, 5 Mar 2018 10:56:29 -0800 -Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Problem reported by Daniel P. Berrangé in: -https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html -* lib/fflush.c (clear_ungetc_buffer_preserving_position) -(disable_seek_optimization, rpl_fflush): -* lib/fpurge.c (fpurge): -* lib/freadahead.c (freadahead): -* lib/freading.c (freading): -* lib/fseeko.c (fseeko): -* lib/fseterr.c (fseterr): -Check _IO_EOF_SEEN instead of _IO_ftrylockfile. -* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: -Define if not already defined. ---- - lib/fflush.c | 6 +++--- - lib/fpurge.c | 2 +- - lib/freading.c | 2 +- - lib/fseeko.c | 4 ++-- - lib/fseterr.c | 2 +- - lib/stdio-impl.h | 6 ++++++ - ---- a/lib/fflush.c -+++ b/lib/fflush.c -@@ -33,7 +33,7 @@ - #undef fflush - - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ - static void -@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) - - #endif - --#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) - - # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ -@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - clear_ungetc_buffer_preserving_position (stream); - ---- a/lib/fpurge.c -+++ b/lib/fpurge.c -@@ -62,7 +62,7 @@ fpurge (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_IO_read_end = fp->_IO_read_ptr; - fp->_IO_write_ptr = fp->_IO_write_base; - /* Avoid memory leak when there is an active ungetc buffer. */ ---- a/lib/freading.c -+++ b/lib/freading.c -@@ -31,7 +31,7 @@ freading (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return ((fp->_flags & _IO_NO_WRITES) != 0 - || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 - && fp->_IO_read_base != NULL)); ---- a/lib/fseeko.c -+++ b/lib/fseeko.c -@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence) - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence) - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ ---- a/lib/fseterr.c -+++ b/lib/fseterr.c -@@ -29,7 +29,7 @@ fseterr (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags |= _IO_ERR_SEEN; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ ---- a/lib/stdio-impl.h -+++ b/lib/stdio-impl.h -@@ -18,6 +18,12 @@ - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this -+ problem by defining it ourselves. FIXME: Do not rely on glibc -+ internals. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif - - /* BSD stdio derived implementations. */ - --- -2.19.1 - diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.10.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.10.ebuild index ce3be1be3d..c7101f9155 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.10.ebuild @@ -1,19 +1,19 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit flag-o-matic DESCRIPTION="Standard GNU compressor" HOMEPAGE="https://www.gnu.org/software/gzip/" SRC_URI="mirror://gnu/gzip/${P}.tar.xz - mirror://gnu-alpha/gzip/${P}.tar.xz + https://alpha.gnu.org/gnu/gzip/${P}.tar.xz mirror://gentoo/${P}.tar.xz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="pic static" PATCHES=( @@ -34,6 +34,6 @@ src_install() { # keep most things in /usr, just the fun stuff in / dodir /bin - mv "${ED%/}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED%/}"/bin/ || die - sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED%/}"/bin/gunzip || die + mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die + sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die } diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.9.ebuild b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.11.ebuild similarity index 55% rename from sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.9.ebuild rename to sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.11.ebuild index de6e71841b..0d00a0f7aa 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/gzip-1.11.ebuild @@ -1,24 +1,23 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit flag-o-matic DESCRIPTION="Standard GNU compressor" HOMEPAGE="https://www.gnu.org/software/gzip/" SRC_URI="mirror://gnu/gzip/${P}.tar.xz - mirror://gnu-alpha/gzip/${P}.tar.xz + https://alpha.gnu.org/gnu/gzip/${P}.tar.xz mirror://gentoo/${P}.tar.xz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="pic static" PATCHES=( "${FILESDIR}/${PN}-1.3.8-install-symlinks.patch" - "${FILESDIR}/${PN}-1.9-gnulib-glibc-2.28.patch" ) src_configure() { @@ -35,6 +34,6 @@ src_install() { # keep most things in /usr, just the fun stuff in / dodir /bin - mv "${ED%/}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED%/}"/bin/ || die - sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED%/}"/bin/gunzip || die + mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die + sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die } diff --git a/sdk_container/src/third_party/portage-stable/app-arch/gzip/metadata.xml b/sdk_container/src/third_party/portage-stable/app-arch/gzip/metadata.xml index bbcfb3d82a..32eb6dd3de 100644 --- a/sdk_container/src/third_party/portage-stable/app-arch/gzip/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-arch/gzip/metadata.xml @@ -1,5 +1,5 @@ - + base-system@gentoo.org diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest index 8c89ddd5bd..af9cb96ff5 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/Manifest @@ -1 +1,2 @@ -DIST eclass-manpages-20190329.tar.xz 428068 BLAKE2B 630f6ba06bef6e4aed7713776b8a0ce737dcba4441309ed326b6eb87a5515f5fbd2f95db4a12385788a1dbf1ff6bc3c09620f4564c0bba201f48f6aa31520b41 SHA512 8088078334c2b7f35301bd75dc2505a366d030cb1d28bf47c387ba0c727cf5a58e1f279708d4a32ecf47ceec543c287ea5ad8c76ce4bbd9c45f039be2924d7ee +DIST eclass-manpages-20210712.tar.xz 410588 BLAKE2B 776da6b26db95791401d562d3d550e1ab71dc19f54124fa37e78ab2595835fb05e7382b98007e58131698710b978dd87cbc10df1ea98c6ef01ec866418d6f9a6 SHA512 fb2bdc790d96f0662d84eddd01f291b4a3cac638c1e3df8975755e81d2d64dda14b0f60a77387da8544672080711d5047dda777d27a8cf2ded2634c47ecfee4b +DIST eclass-manpages-20211002.tar.xz 410056 BLAKE2B 6ac900aaa2718d838af7f069766e2e818276c80d1819f38ca0bc09d3815487083dfe64781331d9b0049c474fc6cec9381daea9c7961f14b208cd3372c79b7564 SHA512 bcea1bcae107df73c72c37dd65c5414833ad59e9d6088f806cb06512b53cdbcad10fb50fe23ede02ccfcda17ae86c70879f496929ef0f54aa799179f9ef0d869 diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20190329.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20190329.ebuild deleted file mode 100644 index c567d7c5fc..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20190329.ebuild +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -DESCRIPTION="Collection of Gentoo eclass manpages" -HOMEPAGE="https://github.com/mgorny/eclass-to-manpage" -SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -# Keep the keywords stable. No need to change to ~arch. -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris" - -DEPEND="app-arch/xz-utils - sys-apps/gawk" - -src_install() { - emake install DESTDIR="${D}" PREFIX=/usr -} diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20210712.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20210712.ebuild new file mode 100644 index 0000000000..d28b3ad532 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20210712.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Collection of Gentoo eclass manpages" +HOMEPAGE="https://github.com/mgorny/eclass-to-manpage" +SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +# Keep the keywords stable. No need to change to ~arch. +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris" + +BDEPEND="app-arch/xz-utils + sys-apps/gawk" + +src_install() { + emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" +} diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20211002.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20211002.ebuild new file mode 100644 index 0000000000..117b609c71 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-20211002.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Collection of Gentoo eclass manpages" +HOMEPAGE="https://github.com/mgorny/eclass-to-manpage" +SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +# Keep the keywords stable. No need to change to ~arch. +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris" + +BDEPEND="app-arch/xz-utils + sys-apps/gawk + sys-apps/groff" + +src_install() { + emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr" +} diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild index 7ca1b88d64..2339dc038f 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/eclass-manpages-99999999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 inherit git-r3 @@ -14,9 +14,9 @@ EGIT_REPO_URI="https://anongit.gentoo.org/git/repo/gentoo.git LICENSE="GPL-2" SLOT="0" KEYWORDS="" -IUSE="" -DEPEND="sys-apps/gawk" +BDEPEND="sys-apps/gawk + sys-apps/groff" src_unpack() { git-r3_fetch @@ -31,5 +31,5 @@ src_compile() { } src_install() { - emake install ECLASSDIR=eclass DESTDIR="${D}" PREFIX=/usr + emake install ECLASSDIR=eclass DESTDIR="${D}" PREFIX="${EPREFIX}/usr" } diff --git a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/metadata.xml b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/metadata.xml index adfe3aaf03..e4aa80f1e0 100644 --- a/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-doc/eclass-manpages/metadata.xml @@ -1,5 +1,5 @@ - + mgorny@gentoo.org diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest b/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest index a96abba550..160ab21536 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/Manifest @@ -1 +1,2 @@ DIST jq-1.6.tar.gz 1750584 BLAKE2B c9be1314e9d027247de63492ee362e996ef85faf45a47ee421cad95ebde9188bff8d3fc7db64e717ab922e1052f3b1c1500f5589fc5b2199ab66effb000e442d SHA512 5da71f53c325257f1f546a2520fe47828b495c953270df25ea0e37741463fdda72f0ba4d5b05b25114ec30f27a559344c2b024bacabf610759f4e3e9efadb480 +DIST jq-1.7_pre20201109.tar.gz 1181867 BLAKE2B 9db187ab927b635c43fbc6191aeffa00451b12253ae023bbabe6fba5fdf8fb393f8450ee2011ef58cb93e2f27994d454fac967984a721439aaac93259c02f7f1 SHA512 f2997d70edb36d0a23b71a7d933a763cedd7c74ffa3129c2a6cb7189aaff1c5095cdc51062b7cd119324ec2c83ebae6ff0b7da3941315303b7a31146b9eb285a diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-runpath.patch b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-runpath.patch new file mode 100644 index 0000000000..a8f76f7c90 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-runpath.patch @@ -0,0 +1,17 @@ +diff --git a/configure.ac b/configure.ac +index 0441d4a..8f1aa23 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -283,4 +283,11 @@ AC_SUBST([BUNDLER], ["$bundle_cmd"]) + AC_CONFIG_MACRO_DIR([config/m4]) + AC_CONFIG_FILES([Makefile libjq.pc]) + AC_OUTPUT +- ++AC_ARG_ENABLE([rpathhack], ++ [AC_HELP_STRING([--enable-rpathhack], [patch libtool to remove RPATH])], ++ [ ++AC_MSG_RESULT([patching libtool to fix rpath]) ++sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool ++sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool ++ ], ++ []) diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-visible-null.patch b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-visible-null.patch new file mode 100644 index 0000000000..41e55df721 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-visible-null.patch @@ -0,0 +1,41 @@ +diff --git a/src/jv_print.c b/src/jv_print.c +index 2e781bb..e621b31 100644 +--- a/src/jv_print.c ++++ b/src/jv_print.c +@@ -32,7 +32,7 @@ static const jv_kind color_kinds[] = + static char color_bufs[sizeof(color_kinds)/sizeof(color_kinds[0])][16]; + static const char *color_bufps[8]; + static const char* def_colors[] = +- {COL("1;30"), COL("0;37"), COL("0;37"), COL("0;37"), ++ {COL("1;90"), COL("0;37"), COL("0;37"), COL("0;37"), + COL("0;32"), COL("1;37"), COL("1;37")}; + #define FIELD_COLOR COL("34;1") + +diff --git a/tests/shtest b/tests/shtest +index 8ed62b2..2d3f0da 100755 +--- a/tests/shtest ++++ b/tests/shtest +@@ -280,12 +280,12 @@ fi + + # Check $JQ_COLORS + $JQ -Ccn . > $d/color +-printf '\033[1;30mnull\033[0m\n' > $d/expect ++printf '\033[1;90mnull\033[0m\n' > $d/expect + cmp $d/color $d/expect + JQ_COLORS='4;31' $JQ -Ccn . > $d/color + printf '\033[4;31mnull\033[0m\n' > $d/expect + cmp $d/color $d/expect +-JQ_COLORS='1;30:0;31:0;32:0;33:0;34:1;35:1;36' \ ++JQ_COLORS='1;90:0;31:0;32:0;33:0;34:1;35:1;36' \ + $JQ -Ccn '[{"a":true,"b":false},123,null]' > $d/color + ( + printf '\033[1;35m[\033[1;36m{' +@@ -298,7 +298,7 @@ printf '[0m\033[0;31mfalse\033' + printf '[0m\033[1;36m\033[1;36' + printf 'm}\033[0m\033[1;35m,\033[' + printf '0;33m123\033[0m\033[1;' +-printf '35m,\033[1;30mnull\033' ++printf '35m,\033[1;90mnull\033' + printf '[0m\033[1;35m\033[1;35' + printf 'm]\033[0m\n' + ) > $d/expect diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-warnings.patch b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-warnings.patch new file mode 100644 index 0000000000..0047ca391c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7-warnings.patch @@ -0,0 +1,44 @@ +diff --git a/src/builtin.c b/src/builtin.c +index bf80c7b..12db573 100644 +--- a/src/builtin.c ++++ b/src/builtin.c +@@ -1,5 +1,6 @@ + #define _BSD_SOURCE + #define _GNU_SOURCE ++#define _DEFAULT_SOURCE + #ifndef __sun__ + # define _XOPEN_SOURCE + # define _XOPEN_SOURCE_EXTENDED 1 +diff --git a/src/jv_dtoa.c b/src/jv_dtoa.c +index 33feb99..fcbd902 100644 +--- a/src/jv_dtoa.c ++++ b/src/jv_dtoa.c +@@ -2327,7 +2327,7 @@ retlow1: + jvp_strtod + (struct dtoa_context* C, const char *s00, char **se) + { +- int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, e, e1, test_scale; ++ int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, e, e1; + int esign, i, j, k, nd, nd0, nf, nz, nz0, nz1, sign; + CONST char *s, *s0, *s1; + double aadj, aadj1; +diff --git a/src/jv_dtoa_tsd.c b/src/jv_dtoa_tsd.c +index 0f95df4..e5209dd 100644 +--- a/src/jv_dtoa_tsd.c ++++ b/src/jv_dtoa_tsd.c +@@ -24,7 +24,7 @@ static void tsd_dtoa_ctx_fini() { + } + + static void tsd_dtoa_ctx_init() { +- if (pthread_key_create(&dtoa_ctx_key, tsd_dtoa_ctx_dtor) != 0) { ++ if (pthread_key_create(&dtoa_ctx_key, (void (*)(void *))tsd_dtoa_ctx_dtor) != 0) { + fprintf(stderr, "error: cannot create thread specific key"); + abort(); + } +@@ -43,4 +43,4 @@ inline struct dtoa_context *tsd_dtoa_context_get() { + } + } + return ctx; +-} +\ No newline at end of file ++} diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7_pre20201109-no-git-bdep.patch b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7_pre20201109-no-git-bdep.patch new file mode 100644 index 0000000000..726624df13 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/files/jq-1.7_pre20201109-no-git-bdep.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index 0441d4a..592ceb9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,8 +1,3 @@ +-m4_define([jq_version], +- m4_esyscmd_s([(git rev-parse --verify -q jq-1.0 > /dev/null && +- (git describe --tags --dirty --match 'jq-*'|sed 's/^jq-//')) || +- echo `git rev-parse --abbrev-ref HEAD`-`git describe --always --dirty`]))) +- + AC_INIT([jq], [jq_version], [https://github.com/stedolan/jq/issues], + [jq], [https://stedolan.github.io/jq]) + diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7_pre20201109.ebuild b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7_pre20201109.ebuild new file mode 100644 index 0000000000..62a69454eb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/jq-1.7_pre20201109.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +COMMIT_HASH="a17dd3248a666d01be75f6b16be37e80e20b0954" + +DESCRIPTION="A lightweight and flexible command-line JSON processor" +HOMEPAGE="https://stedolan.github.io/jq/" +#SRC_URI="https://github.com/stedolan/jq/releases/download/${P}/${P}.tar.gz" +SRC_URI="https://github.com/stedolan/jq/archive/${COMMIT_HASH}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${COMMIT_HASH}" + +LICENSE="MIT CC-BY-3.0" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos" +IUSE="+oniguruma static-libs test" + +ONIGURUMA_MINPV='>=dev-libs/oniguruma-6.1.3' # Keep this in sync with bundled modules/oniguruma/ +DEPEND=" + >=sys-devel/bison-3.0 + sys-devel/flex + oniguruma? ( ${ONIGURUMA_MINPV}:=[static-libs?] ) +" +RDEPEND=" + !static-libs? ( + oniguruma? ( ${ONIGURUMA_MINPV}[static-libs?] ) + ) +" +PATCHES=( + "${FILESDIR}"/jq-1.6-r3-never-bundle-oniguruma.patch + "${FILESDIR}"/jq-1.7-runpath.patch + "${FILESDIR}"/jq-1.7-warnings.patch + "${FILESDIR}"/jq-1.7-visible-null.patch + # https://bugs.gentoo.org/776385 + "${FILESDIR}"/jq-1.7_pre20201109-no-git-bdep.patch +) + +RESTRICT="!test? ( test )" +REQUIRED_USE="test? ( oniguruma )" + +src_prepare() { + sed -e '/^dist_doc_DATA/d; s:-Wextra ::' -i Makefile.am || die + sed -r -e "s:(m4_define\(\[jq_version\],) .+\):\1 \[${PV}\]):" \ + -i configure.ac || die + + # jq-1.6-r3-never-bundle-oniguruma makes sure we build with the system oniguruma, + # but the bundled copy of oniguruma still gets eautoreconf'd since it + # exists; save the cycles by nuking it. + sed -e '/modules\/oniguruma/d' -i Makefile.am || die + rm -rf "${S}"/modules/oniguruma || die + + default + eautoreconf +} + +src_configure() { + local econfargs=( + # don't try to rebuild docs + --disable-docs + --disable-valgrind + --disable-maintainer-mode + --enable-rpathhack + $(use_enable static-libs static) + $(use_with oniguruma oniguruma yes) + ) + econf "${econfargs[@]}" +} + +src_test() { + if ! LD_LIBRARY_PATH="${S}/.libs" nonfatal emake check; then + if [[ -r "${S}/test-suite.log" ]]; then + eerror "Tests failed, outputting testsuite log" + cat "${S}/test-suite.log" + fi + die "Tests failed" + fi +} + +src_install() { + local DOCS=( AUTHORS NEWS README.md ) + default + + use static-libs || { find "${D}" -name '*.la' -delete || die; } +} diff --git a/sdk_container/src/third_party/portage-stable/app-misc/jq/metadata.xml b/sdk_container/src/third_party/portage-stable/app-misc/jq/metadata.xml index 65a87c9344..e0cbe69287 100644 --- a/sdk_container/src/third_party/portage-stable/app-misc/jq/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/app-misc/jq/metadata.xml @@ -1,7 +1,7 @@ - - + + - + vpayno+gentoo@gmail.com Victor Payno diff --git a/sdk_container/src/third_party/portage-stable/changelog/updates/2022-03-03-update-pkgs-2019.md b/sdk_container/src/third_party/portage-stable/changelog/updates/2022-03-03-update-pkgs-2019.md new file mode 100644 index 0000000000..035ae31b53 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/changelog/updates/2022-03-03-update-pkgs-2019.md @@ -0,0 +1 @@ +- gzip ([1.11](https://lists.gnu.org/archive/html/info-gnu/2021-09/msg00002.html)) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest index 6f0a396d5b..43b1e8d6ce 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/Manifest @@ -1 +1 @@ -DIST nasm-2.14.02.tar.xz 827620 BLAKE2B deb1f3c806ffbe48eefe4163271c68f02a782f75f21980331cb03e64de20da61c118621536c1c869c1629e558cab45ce98fed8443d29c1126fb4255cd6a36ce4 SHA512 c7a228095f37321d57f2813d04f58ee66949e8f81fc49ef6c4ecd391301e308217583ce1a265d4fe8c13d54b5b9c72aeb132caa3caee36e31b6555fbfff34c81 +DIST nasm-2.15.05.tar.xz 995732 BLAKE2B a41434965c2125577b762d907a0a3c251c75d9f9beac230fba4099182c7f7beb08c6d2c05c2432b0dc8ba829f24077f44c3096faea9bd0a533250e6dbbfaef35 SHA512 512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7 diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.13.03-bsd-cp-doc.patch b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.15-bsd-cp-doc.patch similarity index 68% rename from sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.13.03-bsd-cp-doc.patch rename to sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.15-bsd-cp-doc.patch index 76c1790da2..5c7f6cfafe 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.13.03-bsd-cp-doc.patch +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/files/nasm-2.15-bsd-cp-doc.patch @@ -4,12 +4,10 @@ In this case we can unconditionally copy files. Reported-by: Michał Górny Bug: https://bugs.gentoo.org/655444 -diff --git a/doc/Makefile.in b/doc/Makefile.in -index 261a791..bc9da1e 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -28,3 +28,3 @@ RM_RF = rm -rf CP_F = cp -f --CP_UF = cp -ufv -+CP_UF = cp -fv +-CP_UF = cp -uf ++CP_UF = cp -f diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/metadata.xml index f7462a193d..af856ea306 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/metadata.xml @@ -1,9 +1,9 @@ - + - slyfox@gentoo.org - Sergei Trofimovich + matthew@gentoo.org + Matthew Smith The Netwide Assembler, NASM, is an 80x86 assembler designed for portability @@ -14,7 +14,7 @@ and easy to understand, similar to Intel's but less complex. It supports Pentium, P6, MMX, 3DNow!, SSE and SSE2 opcodes, and has macro capability. - nasm + netwide-assembler/nasm https://bugzilla.nasm.us/ diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.14.02.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.15.05.ebuild similarity index 73% rename from sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.14.02.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.15.05.ebuild index ebe185b58e..0e5a4eeeb3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.14.02.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/nasm/nasm-2.15.05.ebuild @@ -1,21 +1,18 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit flag-o-matic - DESCRIPTION="groovy little assembler" HOMEPAGE="https://www.nasm.us/" SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz" +S="${WORKDIR}"/${P/_} LICENSE="BSD-2" SLOT="0" -KEYWORDS="amd64 ~ia64 x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="amd64 ~arm64 ~ia64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" IUSE="doc" -RDEPEND="" -DEPEND="" # [fonts note] doc/psfonts.ph defines ordered list of font preference. # Currently 'media-fonts/source-pro' is most preferred and is able to # satisfy all 6 font flavours: tilt, chapter, head, etc. @@ -30,17 +27,10 @@ BDEPEND=" ) " -S=${WORKDIR}/${P/_} - PATCHES=( - "${FILESDIR}"/${PN}-2.13.03-bsd-cp-doc.patch + "${FILESDIR}"/${PN}-2.15-bsd-cp-doc.patch ) -src_configure() { - strip-flags - default -} - src_compile() { default use doc && emake doc diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest index 4cfebedfef..dc9a220687 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/Manifest @@ -1 +1,2 @@ DIST libunistring-0.9.10.tar.gz 3744814 BLAKE2B 3ddc55b8021c0f4822beb83b807bb21dbbf10bbb866747f64e060df3ab822a4143528855e1ce6a13144630bc8daa14f1fa830db77fb605e57cae21d46de804d6 SHA512 690082732fbbd47ab4ffbd6f21d85afece0f8e2ded24982f949f4ae52bf0a981b75ea9bc14ab289e0954cde07f31a7a4c2bb65615a8eb5b2bfa65720310b6fc9 +DIST libunistring-1.0.tar.gz 4214306 BLAKE2B 177f21d9fb6d81ea6bb2fd05f9ca31cd6cecb5a16be273de8817a8fb6ffac997421ebf108acebcb3392b8df423b7e3e150f24a731e0909e2ba171b4bae2fb53d SHA512 6125e3911d15bea8fea5c0b97864f928eab8c8476f1a24c7349b0552e2d11d9b73c1fa0fcb354917e42407d4e5adea55d0c8012121fa0a53c60faa7b0911aef3 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/files/libunistring-test.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/files/libunistring-test.patch new file mode 100644 index 0000000000..c87befbd98 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/files/libunistring-test.patch @@ -0,0 +1,15 @@ +https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=cca32830b57e91f837c01d15b8732f23ff97fc36 + +Author: Bruno Haible + +--- a/tests/glthread/thread.h ++++ b/tests/glthread/thread.h +@@ -133,8 +133,6 @@ extern int glthread_in_use (void); + call to foo(...) in the same function. To avoid this, we test the + address of a function in libpthread that we don't use. */ + +-# pragma weak pthread_create +- + # ifndef pthread_sigmask /* Do not declare rpl_pthread_sigmask weak. */ + # pragma weak pthread_sigmask + # endif diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-0.9.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild similarity index 56% rename from sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-0.9.10.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild index 2532ee5578..d1ebd58075 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-0.9.10.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild @@ -1,21 +1,22 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -inherit eutils multilib-minimal libtool +inherit multilib-minimal libtool DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard" HOMEPAGE="https://www.gnu.org/software/libunistring/" SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" -LICENSE="LGPL-3 GPL-3" +LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )" SLOT="0/2" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="doc static-libs" PATCHES=( "${FILESDIR}"/${PN}-nodocs.patch + "${FILESDIR}"/${PN}-test.patch ) src_prepare() { @@ -28,17 +29,14 @@ multilib_src_configure() { econf $(use_enable static-libs static) } -multilib_src_install() { - default - - prune_libtool_files -} - multilib_src_install_all() { default if use doc; then - dohtml doc/*.html + docinto html + dodoc doc/*.html doinfo doc/*.info fi + + find "${ED}" -name '*.la' -delete || die } diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.0.ebuild new file mode 100644 index 0000000000..2f294b42e0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/libunistring-1.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal libtool + +DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode standard" +HOMEPAGE="https://www.gnu.org/software/libunistring/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + +LICENSE="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )" +SLOT="0/2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="doc static-libs" + +PATCHES=( + "${FILESDIR}"/${PN}-nodocs.patch +) + +src_prepare() { + default + elibtoolize # for Solaris shared libraries +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf $(use_enable static-libs static) +} + +multilib_src_install_all() { + default + + if use doc ; then + docinto html + dodoc doc/*.html + doinfo doc/*.info + fi + + find "${ED}" -name '*.la' -delete || die +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/metadata.xml index da522d18c4..f757bba21c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libunistring/metadata.xml @@ -1,19 +1,20 @@ - + + - - scheme@gentoo.org - Gentoo Scheme Project - - - Text files are nowadays usually encoded in Unicode, and may consist of very - different scripts – from Latin letters to Chinese Hanzi –, with many kinds - of special characters – accents, right-to-left writing marks, hyphens, Roman - numbers, and much more. But the POSIX platform APIs for text do not contain - adequate functions for dealing with particular properties of many Unicode - characters. In fact, the POSIX APIs for text have several assumptions at - their base which don't hold for Unicode text. - This library provides functions for manipulating Unicode strings and for - manipulating C strings according to the Unicode standard. - + + scheme@gentoo.org + Gentoo Scheme Project + + + Text files are nowadays usually encoded in Unicode, and may consist of very + different scripts – from Latin letters to Chinese Hanzi –, with many kinds + of special characters – accents, right-to-left writing marks, hyphens, Roman + numbers, and much more. But the POSIX platform APIs for text do not contain + adequate functions for dealing with particular properties of many Unicode + characters. In fact, the POSIX APIs for text have several assumptions at + their base which don't hold for Unicode text. + This library provides functions for manipulating Unicode strings and for + manipulating C strings according to the Unicode standard. + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild index 9fac25f3f3..23ce594bd8 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 +CMAKE_ECLASS=cmake inherit cmake-multilib DESCRIPTION="Unit testing framework for C" @@ -11,8 +12,9 @@ SRC_URI="https://cmocka.org/files/1.1/${P}.tar.xz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="doc examples static-libs test" +RESTRICT="!test? ( test )" BDEPEND=" doc? ( app-doc/doxygen[dot] ) @@ -23,16 +25,16 @@ multilib_src_configure() { -DWITH_EXAMPLES=$(usex examples) -DWITH_STATIC_LIB=$(usex static-libs) -DUNIT_TESTING=$(usex test) - $(multilib_is_native_abi && cmake-utils_use_find_package doc Doxygen \ + $(multilib_is_native_abi && cmake_use_find_package doc Doxygen \ || echo -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON) ) - cmake-utils_src_configure + cmake_src_configure } multilib_src_compile() { - cmake-utils_src_compile - multilib_is_native_abi && use doc && cmake-utils_src_compile docs + cmake_src_compile + multilib_is_native_abi && use doc && cmake_src_compile docs } multilib_src_install() { @@ -40,5 +42,5 @@ multilib_src_install() { local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. ) fi - cmake-utils_src_install + cmake_src_install } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmocka/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/cmocka/metadata.xml index b1435fc3ce..d70c4f6489 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmocka/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmocka/metadata.xml @@ -1,5 +1,5 @@ - + kde@gentoo.org diff --git a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass index 68e1cfd4c8..18afd10fa0 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: cargo.eclass @@ -6,49 +6,201 @@ # rust@gentoo.org # @AUTHOR: # Doug Goldstein -# @SUPPORTED_EAPIS: 6 7 +# Georgy Yakovlev +# @SUPPORTED_EAPIS: 7 8 # @BLURB: common functions and variables for cargo builds if [[ -z ${_CARGO_ECLASS} ]]; then _CARGO_ECLASS=1 -CARGO_DEPEND="" -[[ ${CATEGORY}/${PN} != dev-util/cargo ]] && CARGO_DEPEND="virtual/rust" +# check and document RUST_DEPEND and options we need below in case conditions. +# https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md +RUST_DEPEND="virtual/rust" -case ${EAPI} in - 6) DEPEND="${CARGO_DEPEND}";; - 7) BDEPEND="${CARGO_DEPEND}";; - *) die "EAPI=${EAPI:-0} is not supported" ;; +case "${EAPI:-0}" in + 0|1|2|3|4|5|6) + die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" + ;; + 7) + # 1.37 added 'cargo vendor' subcommand and net.offline config knob + RUST_DEPEND=">=virtual/rust-1.37.0" + ;; + + 8) + # 1.39 added --workspace + # 1.46 added --target dir + # 1.48 added term.progress config option + # 1.51 added split-debuginfo profile option + # 1.52 may need setting RUSTC_BOOTSTRAP envvar for some crates + # 1.53 added cargo update --offline, can be used to update vulnerable crates from pre-fetched registry without editing toml + RUST_DEPEND=">=virtual/rust-1.53" + + if [[ -z ${CRATES} && "${PV}" != *9999* ]]; then + eerror "undefined CRATES variable in non-live EAPI=8 ebuild" + die "CRATES variable not defined" + fi + ;; + *) + die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" + ;; esac -inherit multiprocessing +inherit multiprocessing toolchain-funcs -EXPORT_FUNCTIONS src_unpack src_compile src_install src_test +if [[ ! ${CARGO_OPTIONAL} ]]; then + BDEPEND="${RUST_DEPEND}" + EXPORT_FUNCTIONS src_unpack src_configure src_compile src_install src_test +fi IUSE="${IUSE} debug" ECARGO_HOME="${WORKDIR}/cargo_home" ECARGO_VENDOR="${ECARGO_HOME}/gentoo" +# @ECLASS-VARIABLE: CRATES +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# bash string containing all crates package wants to download +# used by cargo_crate_uris() +# Example: +# @CODE +# CRATES=" +# metal-1.2.3 +# bar-4.5.6 +# iron_oxide-0.0.1 +# " +# inherit cargo +# ... +# SRC_URI="$(cargo_crate_uris)" +# @CODE + +# @ECLASS-VARIABLE: CARGO_OPTIONAL +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# If set to a non-null value, before inherit cargo part of the ebuild will +# be considered optional. No dependencies will be added and no phase +# functions will be exported. +# +# If you enable CARGO_OPTIONAL, you have to set BDEPEND on virtual/rust +# for your package and call at least cargo_gen_config manually before using +# other src_ functions of this eclass. +# note that cargo_gen_config is automatically called by cargo_src_unpack. + +# @ECLASS_VARIABLE: myfeatures +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optional cargo features defined as bash array. +# Should be defined before calling cargo_src_configure(). +# +# Example package that has x11 and wayland as features, and disables default. +# @CODE +# src_configure() { +# local myfeatures=( +# $(usex X x11 '') +# $(usev wayland) +# ) +# cargo_src_configure --no-default-features +# } +# @CODE + +# @ECLASS-VARIABLE: ECARGO_REGISTRY_DIR +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Storage directory for cargo registry. +# Used by cargo_live_src_unpack to cache downloads. +# This is intended to be set by users. +# Ebuilds must not set it. +# +# Defaults to "${DISTDIR}/cargo-registry" it not set. + +# @ECLASS-VARIABLE: ECARGO_OFFLINE +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# If non-empty, this variable prevents online operations in +# cargo_live_src_unpack. +# Inherits value of EVCS_OFFLINE if not set explicitly. + +# @ECLASS-VARIABLE: EVCS_UMASK +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Set this variable to a custom umask. This is intended to be set by +# users. By setting this to something like 002, it can make life easier +# for people who use cargo in a home directory, but are in the portage +# group, and then switch over to building with FEATURES=userpriv. +# Or vice-versa. + # @FUNCTION: cargo_crate_uris # @DESCRIPTION: # Generates the URIs to put in SRC_URI to help fetch dependencies. +# Uses first argument as crate list. +# If no argument provided, uses CRATES variable. cargo_crate_uris() { - local crate - for crate in "$@"; do - local name version url pretag - name="${crate%-*}" - version="${crate##*-}" - pretag="^[a-zA-Z]+" - if [[ $version =~ $pretag ]]; then - version="${name##*-}-${version}" - name="${name%-*}" - fi + local -r regex='^([a-zA-Z0-9_\-]+)-([0-9]+\.[0-9]+\.[0-9]+.*)$' + local crate crates + + if [[ -n ${@} ]]; then + crates="$@" + elif [[ -n ${CRATES} ]]; then + crates="${CRATES}" + else + eerror "CRATES variable is not defined and nothing passed as argument" + die "Can't generate SRC_URI from empty input" + fi + + for crate in ${crates}; do + local name version url + [[ $crate =~ $regex ]] || die "Could not parse name and version from crate: $crate" + name="${BASH_REMATCH[1]}" + version="${BASH_REMATCH[2]}" url="https://crates.io/api/v1/crates/${name}/${version}/download -> ${crate}.crate" echo "${url}" done } +# @FUNCTION: cargo_gen_config +# @DESCRIPTION: +# Generate the $CARGO_HOME/config necessary to use our local registry and settings. +# Cargo can also be configured through environment variables in addition to the TOML syntax below. +# For each configuration key below of the form foo.bar the environment variable CARGO_FOO_BAR +# can also be used to define the value. +# Environment variables will take precedence over TOML configuration, +# and currently only integer, boolean, and string keys are supported. +# For example the build.jobs key can also be defined by CARGO_BUILD_JOBS. +# Or setting CARGO_TERM_VERBOSE=false in make.conf will make build quieter. +cargo_gen_config() { + debug-print-function ${FUNCNAME} "$@" + + mkdir -p "${ECARGO_HOME}" || die + + cat > "${ECARGO_HOME}/config" <<- _EOF_ || die "Failed to create cargo config" + [source.gentoo] + directory = "${ECARGO_VENDOR}" + + [source.crates-io] + replace-with = "gentoo" + local-registry = "/nonexistant" + + [net] + offline = true + + [build] + jobs = $(makeopts_jobs) + incremental = false + + [term] + verbose = true + $([[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && echo "color = 'never'") + _EOF_ + + export CARGO_HOME="${ECARGO_HOME}" + _CARGO_GEN_CONFIG_HAS_RUN=1 +} + # @FUNCTION: cargo_src_unpack # @DESCRIPTION: # Unpacks the package and the cargo registry @@ -80,15 +232,6 @@ cargo_src_unpack() { fi eend $? ;; - cargo-snapshot*) - ebegin "Unpacking ${archive}" - mkdir -p "${S}"/target/snapshot - tar -xzf "${DISTDIR}"/${archive} -C "${S}"/target/snapshot --strip-components 2 || die - # cargo's makefile needs this otherwise it will try to - # download it - touch "${S}"/target/snapshot/bin/cargo || die - eend $? - ;; *) unpack ${archive} ;; @@ -98,20 +241,140 @@ cargo_src_unpack() { cargo_gen_config } -# @FUNCTION: cargo_gen_config +# @FUNCTION: cargo_live_src_unpack # @DESCRIPTION: -# Generate the $CARGO_HOME/config necessary to use our local registry -cargo_gen_config() { +# Runs 'cargo fetch' and vendors downloaded crates for offline use, used in live ebuilds +cargo_live_src_unpack() { debug-print-function ${FUNCNAME} "$@" - cat <<- EOF > "${ECARGO_HOME}/config" - [source.gentoo] - directory = "${ECARGO_VENDOR}" + [[ "${PV}" == *9999* ]] || die "${FUNCNAME} only allowed in live/9999 ebuilds" + [[ "${EBUILD_PHASE}" == unpack ]] || die "${FUNCNAME} only allowed in src_unpack" - [source.crates-io] - replace-with = "gentoo" - local-registry = "/nonexistant" - EOF + mkdir -p "${S}" || die + mkdir -p "${ECARGO_VENDOR}" || die + mkdir -p "${ECARGO_HOME}" || die + + local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}} + : ${ECARGO_REGISTRY_DIR:=${distdir}/cargo-registry} + + local offline="${ECARGO_OFFLINE:-${EVCS_OFFLINE}}" + + if [[ ! -d ${ECARGO_REGISTRY_DIR} && ! ${offline} ]]; then + ( + addwrite "${ECARGO_REGISTRY_DIR}" + mkdir -p "${ECARGO_REGISTRY_DIR}" + ) || die "Unable to create ${ECARGO_REGISTRY_DIR}" + fi + + if [[ ${offline} ]]; then + local subdir + for subdir in cache index src; do + if [[ ! -d ${ECARGO_REGISTRY_DIR}/registry/${subdir} ]]; then + eerror "Networking activity has been disabled via ECARGO_OFFLINE or EVCS_OFFLINE" + eerror "However, no valid cargo registry available at ${ECARGO_REGISTRY_DIR}" + die "Unable to proceed with ECARGO_OFFLINE/EVCS_OFFLINE." + fi + done + fi + + if [[ ${EVCS_UMASK} ]]; then + local saved_umask=$(umask) + umask "${EVCS_UMASK}" || die "Bad options to umask: ${EVCS_UMASK}" + fi + + pushd "${S}" > /dev/null || die + + # Respect user settings befire cargo_gen_config is called. + if [[ ! ${CARGO_TERM_COLOR} ]]; then + [[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && export CARGO_TERM_COLOR=never + local unset_color=true + fi + if [[ ! ${CARGO_TERM_VERBOSE} ]]; then + export CARGO_TERM_VERBOSE=true + local unset_verbose=true + fi + + # Let cargo fetch to system-wide location. + # It will keep directory organized by itself. + addwrite "${ECARGO_REGISTRY_DIR}" + export CARGO_HOME="${ECARGO_REGISTRY_DIR}" + + # Absence of quotes around offline arg is intentional, as cargo bails out if it encounters '' + einfo "cargo fetch ${offline:+--offline}" + cargo fetch ${offline:+--offline} || die #nowarn + + # Let cargo copy all required crates to "${WORKDIR}" for offline use in later phases. + einfo "cargo vendor ${offline:+--offline} ${ECARGO_VENDOR}" + cargo vendor ${offline:+--offline} "${ECARGO_VENDOR}" || die #nowarn + + # Users may have git checkouts made by cargo. + # While cargo vendors the sources, it still needs git checkout to be present. + # Copying full dir is an overkill, so just symlink it. + if [[ -d ${ECARGO_REGISTRY_DIR}/git ]]; then + ln -sv "${ECARGO_REGISTRY_DIR}/git" "${ECARGO_HOME}/git" || die + fi + + popd > /dev/null || die + + # Restore settings if needed. + [[ ${unset_color} ]] && unset CARGO_TERM_COLOR + [[ ${unset_verbose} ]] && unset CARGO_TERM_VERBOSE + if [[ ${saved_umask} ]]; then + umask "${saved_umask}" || die + fi + + # After following calls, cargo will no longer use ${ECARGO_REGISTRY_DIR} as CARGO_HOME + # It will be forced into offline mode to prevent network access. + # But since we already vendored crates and symlinked git, it has all it needs to build. + unset CARGO_HOME + cargo_gen_config +} + +# @FUNCTION: cargo_src_configure +# @DESCRIPTION: +# Configure cargo package features and arguments. +# Extra positional arguments supplied to this function +# will be passed to cargo in all phases. +# Make sure all cargo subcommands support flags passed here. +# +# Example for package that explicitly builds only 'baz' binary and +# enables 'barfeature' and optional 'foo' feature. +# will pass '--features barfeature --features foo --bin baz' +# in src_{compile,test,install} +# +# @CODE +# src_configure() { +# local myfeatures=( +# barfeature +# $(usev foo) +# ) +# cargo_src_configure --bin baz +# } +# @CODE +# +# In some cases crates may need '--no-default-features' option, +# as there is no way to disable single feature, except disabling all. +# It can be passed directly to cargo_src_configure(). +cargo_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + [[ -z ${myfeatures} ]] && declare -a myfeatures=() + local myfeaturestype=$(declare -p myfeatures 2>&-) + if [[ "${myfeaturestype}" != "declare -a myfeatures="* ]]; then + die "myfeatures must be declared as array" + fi + + # transform array from simple feature list + # to multiple cargo args: + # --features feature1 --features feature2 ... + # this format is chosen because 2 other methods of + # listing features (space OR comma separated) require + # more fiddling with strings we'd like to avoid here. + myfeatures=( ${myfeatures[@]/#/--features } ) + + readonly ECARGO_ARGS=( ${myfeatures[@]} ${@} ${ECARGO_EXTRA_ARGS} ) + + [[ ${ECARGO_ARGS[@]} ]] && einfo "Configured with: ${ECARGO_ARGS[@]}" } # @FUNCTION: cargo_src_compile @@ -120,24 +383,48 @@ cargo_gen_config() { cargo_src_compile() { debug-print-function ${FUNCNAME} "$@" - export CARGO_HOME="${ECARGO_HOME}" + [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \ + die "FATAL: please call cargo_gen_config before using ${FUNCNAME}" - cargo build -j $(makeopts_jobs) $(usex debug "" --release) "$@" \ - || die "cargo build failed" + tc-export AR CC CXX PKG_CONFIG + + set -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" + einfo "${@}" + "${@}" || die "cargo build failed" } # @FUNCTION: cargo_src_install # @DESCRIPTION: # Installs the binaries generated by cargo +# In come case workspaces need alternative --path parameter +# default is '--path ./' if nothing specified. +# '--path ./somedir' can be passed directly to cargo_src_install() cargo_src_install() { debug-print-function ${FUNCNAME} "$@" - cargo install -j $(makeopts_jobs) --root="${D}/usr" $(usex debug --debug "") "$@" \ - || die "cargo install failed" - rm -f "${ED}/usr/.crates.toml" - rm -f "${ED}/usr/.crates2.json" + [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \ + die "FATAL: please call cargo_gen_config before using ${FUNCNAME}" - [ -d "${S}/man" ] && doman "${S}/man" || return 0 + set -- cargo install $(has --path ${@} || echo --path ./) \ + --root "${ED}/usr" \ + $(usex debug --debug "") \ + ${ECARGO_ARGS[@]} "$@" + einfo "${@}" + "${@}" || die "cargo install failed" + + rm -f "${ED}/usr/.crates.toml" || die + rm -f "${ED}/usr/.crates2.json" || die + + # it turned out to be non-standard dir, so get rid of it future EAPI + # and only run for EAPI=7 + # https://bugs.gentoo.org/715890 + case ${EAPI:-0} in + 7) + if [ -d "${S}/man" ]; then + doman "${S}/man" || return 0 + fi + ;; + esac } # @FUNCTION: cargo_src_test @@ -146,8 +433,12 @@ cargo_src_install() { cargo_src_test() { debug-print-function ${FUNCNAME} "$@" - cargo test -j $(makeopts_jobs) $(usex debug "" --release) "$@" \ - || die "cargo test failed" + [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \ + die "FATAL: please call cargo_gen_config before using ${FUNCNAME}" + + set -- cargo test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@" + einfo "${@}" + "${@}" || die "cargo test failed" } fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/cron.eclass b/sdk_container/src/third_party/portage-stable/eclass/cron.eclass deleted file mode 100644 index 89835f6461..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/cron.eclass +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 1999-2019 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: cron.eclass -# @MAINTAINER: -# maintainer-needed@gentoo.org -# @AUTHOR: -# Original Author: Aaron Walker -# @BLURB: Some functions for cron -# @DESCRIPTION: -# Purpose: The main motivation for this eclass was to simplify -# the jungle known as src_install() in cron ebuilds. Using these -# functions also ensures that permissions are *always* reset, -# preventing the accidental installation of files with wrong perms. -# -# NOTE on defaults: the default settings in the below functions were -# chosen based on the most common setting among cron ebuilds. -# -# Please assign any bugs regarding this eclass to cron-bugs@gentoo.org. - -inherit eutils flag-o-matic - -EXPORT_FUNCTIONS pkg_postinst - -SLOT="0" - -DEPEND=">=sys-apps/sed-4.0.5" - -RDEPEND=">=sys-process/cronbase-0.3.2" -for pn in vixie-cron bcron cronie dcron fcron; do - [[ ${pn} == "${PN}" ]] || RDEPEND="${RDEPEND} !sys-process/${pn}" -done - -# @FUNCTION: docrondir -# @USAGE: [ dir ] [ perms ] -# @DESCRIPTION: -# Creates crontab directory -# -# Both arguments are optional. Everything after 'dir' is considered -# the permissions (same format as insopts). -# -# ex: docrondir /some/dir -m 0770 -o root -g cron -# docrondir /some/dir (uses default perms) -# docrondir -m0700 (uses default dir) - -docrondir() { - # defaults - local perms="-m0750 -o root -g cron" dir="/var/spool/cron/crontabs" - - if [[ -n $1 ]] ; then - case "$1" in - */*) - dir=$1 - shift - [[ -n $1 ]] && perms="$@" - ;; - *) - perms="$@" - ;; - esac - fi - - diropts ${perms} - keepdir ${dir} - - # reset perms to default - diropts -m0755 -} - -# @FUNCTION: docron -# @USAGE: [ exe ] [ perms ] -# @DESCRIPTION: -# Install cron executable -# -# Both arguments are optional. -# -# ex: docron -m 0700 -o root -g root ('exe' defaults to "cron") -# docron crond -m 0110 - -docron() { - local cron="cron" perms="-m 0750 -o root -g wheel" - - if [[ -n $1 ]] ; then - case "$1" in - -*) - perms="$@" - ;; - *) - cron=$1 - shift - [[ -n $1 ]] && perms="$@" - ;; - esac - fi - - exeopts ${perms} - exeinto /usr/sbin - doexe ${cron} || die "failed to install ${cron}" - - # reset perms to default - exeopts -m0755 -} - -# @FUNCTION: docrontab -# @USAGE: [ exe ] [ perms ] -# @DESCRIPTION: -# Install crontab executable -# -# Uses same semantics as docron. - -docrontab() { - local crontab="crontab" perms="-m 4750 -o root -g cron" - - if [[ -n $1 ]] ; then - case "$1" in - -*) - perms="$@" - ;; - *) - crontab=$1 - shift - [[ -n $1 ]] && perms="$@" - ;; - esac - fi - - exeopts ${perms} - exeinto /usr/bin - doexe ${crontab} || die "failed to install ${crontab}" - - # reset perms to default - exeopts -m0755 - - # users expect /usr/bin/crontab to exist... - if [[ "${crontab##*/}" != "crontab" ]] ; then - dosym ${crontab##*/} /usr/bin/crontab || \ - die "failed to create /usr/bin/crontab symlink" - fi -} - -# @FUNCTION: cron_pkg_postinst -# @DESCRIPTION: -# Outputs a message about system crontabs -# daemons that have a true system crontab set CRON_SYSTEM_CRONTAB="yes" -cron_pkg_postinst() { - echo - # daemons that have a true system crontab set CRON_SYSTEM_CRONTAB="yes" - if [ "${CRON_SYSTEM_CRONTAB:-no}" != "yes" ] ; then - einfo "To activate /etc/cron.{hourly|daily|weekly|monthly} please run:" - einfo " crontab /etc/crontab" - einfo - einfo "!!! That will replace root's current crontab !!!" - einfo - fi - - einfo "You may wish to read the Gentoo Linux Cron Guide, which can be" - einfo "found online at:" - einfo " https://wiki.gentoo.org/wiki/Cron" - echo -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/emboss-r2.eclass b/sdk_container/src/third_party/portage-stable/eclass/emboss-r2.eclass deleted file mode 100644 index 1eca48b42b..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/emboss-r2.eclass +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: emboss-r2.eclass -# @MAINTAINER: -# sci-biology@gentoo.org -# jlec@gentoo.org -# ted.tanberry@gmail.com -# @AUTHOR: -# Original author: Author Olivier Fisette -# Next gen author: Justin Lecher -# Next gen author: Ted Tanberry -# @SUPPORTED_EAPIS: 6 -# @BLURB: Use this to easy install EMBOSS and EMBASSY programs (EMBOSS add-ons). -# @DESCRIPTION: -# The inheriting ebuild must set at least EAPI=6 and provide EBO_DESCRIPTION before the inherit line. -# KEYWORDS should be set. Additionally "(R|P)DEPEND"encies and other standard -# ebuild variables can be extended (FOO+=" bar"). -# -# Example: -# -# EAPI=6 -# -# EBO_DESCRIPTION="applications from the CBS group" -# -# inherit emboss-r2 - -# @ECLASS-VARIABLE: EBO_DESCRIPTION -# @DEFAULT_UNSET -# @DESCRIPTION: -# Should be set. Completes the generic description of the embassy module as follows: -# -# EMBOSS integrated version of ${EBO_DESCRIPTION}, e.g. -# -# "EMBOSS integrated version of applications from the CBS group" -# -# Defaults to the upstream name of the module. - -if [[ ! ${_EMBOSS_R2} ]]; then - -case ${EAPI:-0} in - 6) ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac - -inherit autotools flag-o-matic - -EXPORT_FUNCTIONS src_prepare src_configure src_install - -HOMEPAGE="http://emboss.sourceforge.net/" -LICENSE="LGPL-2 GPL-2" - -SLOT="0" -IUSE="mysql pdf png postgres static-libs X" - -RDEPEND=" - dev-libs/expat - dev-libs/libpcre:3 - sci-libs/plplot:= - sys-libs/zlib - mysql? ( dev-db/mysql-connector-c:0= ) - pdf? ( media-libs/libharu:= ) - png? ( media-libs/gd:2=[png] ) - postgres? ( dev-db/postgresql:= ) - X? ( x11-libs/libXt )" - -if [[ ${PN} == embassy-* ]]; then - EMBASSY_PACKAGE=yes - # The EMBASSY package name, retrieved from the inheriting ebuild's name - EN=${PN:8} - # The full name and version of the EMBASSY package (excluding the Gentoo - # revision number) - EF="${EN^^}-${PV}" - - [[ ${EBO_DESCRIPTION} ]] || die "EBO_DESCRIPTION was not set before inheriting emboss-r2.eclass" - - DESCRIPTION="EMBOSS integrated version of ${EBO_DESCRIPTION}" - SRC_URI="ftp://emboss.open-bio.org/pub/EMBOSS/${EF}.tar.gz -> embassy-${EN}-${PV}.tar.gz" - RDEPEND+=" >=sci-biology/emboss-6.6.0-r1[mysql=,pdf=,png=,postgres=,static-libs=,X=]" - - S="${WORKDIR}/${EF}" -fi - -DEPEND="${RDEPEND}" - -# @ECLASS-VARIABLE: EBO_EAUTORECONF -# @DEFAULT_UNSET -# @DESCRIPTION: -# If set, run eautoreconf from autotools.eclass after applying patches -# in emboss-r2_src_prepare. - -# @FUNCTION: emboss-r2_src_prepare -# @DESCRIPTION: -# Does the following things -# -# 1. Renames configure.in to configure.ac, if possible -# 2. Calls default_src_prepare (i.e. -# applies Gentoo and user patches in EAPI>=6) -# 3. If EBO_EAUTORECONF is set, run eautoreconf -# - -emboss-r2_src_prepare() { - if [[ -e configure.in ]]; then - mv configure.{in,ac} || die - fi - - default - [[ ${EBO_EAUTORECONF} ]] && eautoreconf -} - -# @FUNCTION: emboss-r2_src_configure -# @DESCRIPTION: -# runs econf with following options. -# -# --enable-shared -# $(use_enable static-libs static) -# $(use_with X x) -# $(use_with png pngdriver) -# $(use_with pdf hpdf) -# $(use_with mysql mysql) -# $(use_with postgres postgresql) -# --enable-large -# --without-java -# --enable-systemlibs -# -# can be appended to like econf, e.g. -# emboss-r2_src_configure --disable-shared - -emboss-r2_src_configure() { - local myconf=( - --enable-shared - $(use_enable static-libs static) - $(use_with X x) - $(use_with png pngdriver "${EPREFIX}/usr") - $(use_with pdf hpdf "${EPREFIX}/usr") - $(use_with mysql mysql "${EPREFIX}/usr/bin/mysql_config") - $(use_with postgres postgresql "${EPREFIX}/usr/bin/pg_config") - --enable-large - --without-java - --enable-systemlibs - ) - - [[ ${EMBASSY_PACKAGE} == yes ]] && \ - append-cppflags "-I${EPREFIX}/usr/include/emboss" - - econf "${myconf[@]}" "$@" -} - -# @FUNCTION: emboss-r2_src_install -# @DESCRIPTION: -# Installs the package into the staging area and removes -# extraneous .la files, if USE="-static-libs" - -emboss-r2_src_install() { - default - - # delete .la files - if ! use static-libs; then - find "${D}" -name '*.la' -delete || die - fi -} - -_EMBOSS_R2=1 -fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass index fd6077e459..7efd03bfa9 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: gnome.org.eclass @@ -7,29 +7,34 @@ # @AUTHOR: # Authors: Spidler with help of carparski. # eclass variable additions and documentation: Gilles Dartiguelongue +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: Helper eclass for gnome.org hosted archives # @DESCRIPTION: # Provide a default SRC_URI for tarball hosted on gnome.org mirrors. +case ${EAPI} in + 5|6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ -z ${_GNOME_ORG_ECLASS} ]] ; then +_GNOME_ORG_ECLASS=1 + # versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it -[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver versionator +[[ ${EAPI} == [56] ]] && inherit eapi7-ver versionator # @ECLASS-VARIABLE: GNOME_TARBALL_SUFFIX +# @PRE_INHERIT # @DESCRIPTION: # Most projects hosted on gnome.org mirrors provide tarballs as tar.bz2 or -# tar.xz. This eclass defaults to bz2 for EAPI 0, 1, 2, 3 and defaults to xz for -# everything else. This is because the gnome mirrors are moving to only have xz -# tarballs for new releases. -if has "${EAPI:-0}" 0 1 2 3; then - : ${GNOME_TARBALL_SUFFIX:="bz2"} -else - : ${GNOME_TARBALL_SUFFIX:="xz"} -fi +# tar.xz. This eclass defaults to xz. This is because the GNOME mirrors are +# moving to only have xz tarballs for new releases. +: ${GNOME_TARBALL_SUFFIX:="xz"} -# Even though xz-utils are in @system, they must still be added to DEPEND; see +# Even though xz-utils are in @system, they must still be added to BDEPEND; see # https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then - if [[ ${EAPI:-0} != [0123456] ]]; then + if [[ ${EAPI} != [56] ]]; then BDEPEND="app-arch/xz-utils" else DEPEND="app-arch/xz-utils" @@ -45,9 +50,15 @@ fi # @ECLASS-VARIABLE: GNOME_ORG_PVP # @INTERNAL # @DESCRIPTION: -# Major and minor numbers of the version number. -: ${GNOME_ORG_PVP:=$(ver_cut 1-2)} +# Components of the version number that correspond to a 6 month release. +if ver_test -ge 40.0; then + : ${GNOME_ORG_PVP:=$(ver_cut 1)} +else + : ${GNOME_ORG_PVP:=$(ver_cut 1-2)} +fi SRC_URI="mirror://gnome/sources/${GNOME_ORG_MODULE}/${GNOME_ORG_PVP}/${GNOME_ORG_MODULE}-${PV}.tar.${GNOME_TARBALL_SUFFIX}" S="${WORKDIR}/${GNOME_ORG_MODULE}-${PV}" + +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass index 06683a7467..97b845c7b8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass @@ -1,10 +1,11 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: gnome2-utils.eclass # @MAINTAINER: # gnome@gentoo.org -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 +# @PROVIDES: xdg-utils # @BLURB: Auxiliary functions commonly used by Gnome packages. # @DESCRIPTION: # This eclass provides a set of auxiliary functions needed by most Gnome @@ -14,13 +15,14 @@ # * GConf schemas management # * scrollkeeper (old Gnome help system) management -[[ ${EAPI:-0} == [012345] ]] && inherit multilib -[[ ${EAPI:-0} == [0123456] ]] && inherit eutils -inherit xdg-utils +[[ ${EAPI} == 5 ]] && inherit multilib +# toolchain-funs.eclass: tc-is-cross-compiler +# xdg-utils.eclass: xdg_environment_reset, xdg_icon_cache_update +inherit toolchain-funcs xdg-utils -case "${EAPI:-0}" in - 0|1|2|3|4|5|6|7) ;; - *) die "EAPI=${EAPI} is not supported" ;; +case ${EAPI} in + 5|6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac # @ECLASS-VARIABLE: GCONFTOOL_BIN @@ -94,7 +96,7 @@ gnome2_environment_reset() { # Ensure we don't rely on dconf/gconf while building, bug #511946 export GSETTINGS_BACKEND="memory" - if has ${EAPI:-0} 6 7; then + if has ${EAPI} 6 7; then # Try to cover the packages honoring this variable, bug #508124 export GST_INSPECT="$(type -P true)" @@ -109,7 +111,6 @@ gnome2_environment_reset() { # in the GNOME2_ECLASS_SCHEMAS environment variable. # This function should be called from pkg_preinst. gnome2_gconf_savelist() { - has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" pushd "${ED}" > /dev/null || die export GNOME2_ECLASS_SCHEMAS=$(find 'etc/gconf/schemas/' -name '*.schemas' 2> /dev/null) popd > /dev/null || die @@ -121,30 +122,37 @@ gnome2_gconf_savelist() { # using gconftool-2. # This function should be called from pkg_postinst. gnome2_gconf_install() { - has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" - local updater="${EROOT}${GCONFTOOL_BIN}" - - if [[ ! -x "${updater}" ]]; then - debug-print "${updater} is not executable" - return - fi + local updater="${EROOT%/}${GCONFTOOL_BIN}" if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then debug-print "No GNOME 2 GConf schemas found" return fi + if tc-is-cross-compiler ; then + ewarn "Updating of GNOME 2 GConf schemas skipped due to cross-compilation." + ewarn "You might want to run gconftool-2 manually on the target for" + ewarn "your final image and re-run it when packages installing" + ewarn "GNOME 2 GConf schemas get upgraded or added to the image." + return + fi + + if [[ ! -x "${updater}" ]]; then + debug-print "${updater} is not executable" + return + fi + # We are ready to install the GCONF Scheme now unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL - export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT};")" + export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT%/}/;")" einfo "Installing GNOME 2 GConf schemas" local F for F in ${GNOME2_ECLASS_SCHEMAS}; do - if [[ -e "${EROOT}${F}" ]]; then + if [[ -e "${EROOT%/}/${F}" ]]; then debug-print "Installing schema: ${F}" - "${updater}" --makefile-install-rule "${EROOT}${F}" 1>/dev/null + "${updater}" --makefile-install-rule "${EROOT%/}/${F}" 1>/dev/null fi done @@ -162,29 +170,35 @@ gnome2_gconf_install() { # Removes schema files previously installed by the current ebuild from Gconf's # database. gnome2_gconf_uninstall() { - has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" - local updater="${EROOT}${GCONFTOOL_BIN}" - - if [[ ! -x "${updater}" ]]; then - debug-print "${updater} is not executable" - return - fi + local updater="${EROOT%/}${GCONFTOOL_BIN}" if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then debug-print "No GNOME 2 GConf schemas found" return fi + if tc-is-cross-compiler ; then + ewarn "Removal of GNOME 2 GConf schemas skipped due to cross-compilation." + ewarn "You might want to run gconftool-2 manually on the target for" + ewarn "your final image to uninstall this package's schemas." + return + fi + + if [[ ! -x "${updater}" ]]; then + debug-print "${updater} is not executable" + return + fi + unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL - export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT};")" + export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT%/}/;")" einfo "Uninstalling GNOME 2 GConf schemas" local F for F in ${GNOME2_ECLASS_SCHEMAS}; do - if [[ -e "${EROOT}${F}" ]]; then + if [[ -e "${EROOT%/}/${F}" ]]; then debug-print "Uninstalling gconf schema: ${F}" - "${updater}" --makefile-uninstall-rule "${EROOT}${F}" 1>/dev/null + "${updater}" --makefile-uninstall-rule "${EROOT%/}/${F}" 1>/dev/null fi done @@ -254,7 +268,6 @@ gnome2_omf_fix() { # in the GNOME2_ECLASS_SCROLLS environment variable. # This function should be called from pkg_preinst. gnome2_scrollkeeper_savelist() { - has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" pushd "${ED}" > /dev/null || die export GNOME2_ECLASS_SCROLLS=$(find 'usr/share/omf' -type f -name "*.omf" 2> /dev/null) popd > /dev/null || die @@ -265,21 +278,28 @@ gnome2_scrollkeeper_savelist() { # Updates the global scrollkeeper database. # This function should be called from pkg_postinst and pkg_postrm. gnome2_scrollkeeper_update() { - has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" - local updater="${EROOT}${SCROLLKEEPER_UPDATE_BIN}" - - if [[ ! -x "${updater}" ]] ; then - debug-print "${updater} is not executable" - return - fi + local updater="${EROOT%/}${SCROLLKEEPER_UPDATE_BIN}" if [[ -z "${GNOME2_ECLASS_SCROLLS}" ]]; then debug-print "No scroll cache to update" return fi + if tc-is-cross-compiler ; then + ewarn "Updating of scrollkeeper database skipped due to cross-compilation." + ewarn "You might want to run scrollkeeper-update manually on the target" + ewarn "for your final image and re-run it when packages installing" + ewarn "scrollkeeper OMF files get upgraded or added to the image." + return + fi + + if [[ ! -x "${updater}" ]] ; then + debug-print "${updater} is not executable" + return + fi + ebegin "Updating scrollkeeper database ..." - "${updater}" -q -p "${EROOT}${SCROLLKEEPER_DIR}" + "${updater}" -q -p "${EROOT%/}${SCROLLKEEPER_DIR}" eend $? } @@ -290,20 +310,25 @@ gnome2_scrollkeeper_update() { # implementations that call gnome2_schemas_update conditionally. # This function should be called from pkg_preinst. gnome2_schemas_savelist() { - has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" pushd "${ED}" > /dev/null || die export GNOME2_ECLASS_GLIB_SCHEMAS=$(find 'usr/share/glib-2.0/schemas' -name '*.gschema.xml' 2>/dev/null) popd > /dev/null || die } # @FUNCTION: gnome2_schemas_update -# @USAGE: gnome2_schemas_update # @DESCRIPTION: # Updates GSettings schemas. # This function should be called from pkg_postinst and pkg_postrm. gnome2_schemas_update() { - has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" - local updater="${EROOT}${GLIB_COMPILE_SCHEMAS}" + local updater="${EROOT%/}${GLIB_COMPILE_SCHEMAS}" + + if tc-is-cross-compiler ; then + ewarn "Updating of GSettings schemas skipped due to cross-compilation." + ewarn "You might want to run glib-compile-schemas manually on the target" + ewarn "for your final image and re-run it when packages installing" + ewarn "GSettings schemas get upgraded or added to the image." + return + fi if [[ ! -x ${updater} ]]; then debug-print "${updater} is not executable" @@ -321,23 +346,30 @@ gnome2_schemas_update() { # GNOME2_ECLASS_GDK_PIXBUF_LOADERS variable. # This function should be called from pkg_preinst. gnome2_gdk_pixbuf_savelist() { - has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" pushd "${ED}" > /dev/null || die export GNOME2_ECLASS_GDK_PIXBUF_LOADERS=$(find usr/lib*/gdk-pixbuf-2.0 -type f 2>/dev/null) popd > /dev/null || die } # @FUNCTION: gnome2_gdk_pixbuf_update -# @USAGE: gnome2_gdk_pixbuf_update # @DESCRIPTION: # Updates gdk-pixbuf loader cache if GNOME2_ECLASS_GDK_PIXBUF_LOADERS has some. # This function should be called from pkg_postinst and pkg_postrm. gnome2_gdk_pixbuf_update() { - has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" - local updater="${EROOT}/usr/bin/${CHOST}-gdk-pixbuf-query-loaders" + local updater="${EROOT%/}/usr/bin/${CHOST}-gdk-pixbuf-query-loaders" + [[ -x ${updater} ]] || updater="${EROOT%/}/usr/bin/gdk-pixbuf-query-loaders" - if [[ ! -x ${updater} ]]; then - updater="${EROOT}/usr/bin/gdk-pixbuf-query-loaders" + if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then + debug-print "gdk-pixbuf loader cache does not need an update" + return + fi + + if tc-is-cross-compiler ; then + ewarn "Updating of gdk-pixbuf loader cache skipped due to cross-compilation." + ewarn "You might want to run gdk-pixbuf-query-loaders manually on the target" + ewarn "for your final image and re-run it when packages installing" + ewarn "gdk-pixbuf loaders get upgraded or added to the image." + return fi if [[ ! -x ${updater} ]]; then @@ -345,59 +377,65 @@ gnome2_gdk_pixbuf_update() { return fi - if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then - debug-print "gdk-pixbuf loader cache does not need an update" - return - fi - ebegin "Updating gdk-pixbuf loader cache" - local tmp_file=$(emktemp) + local tmp_file=$(mktemp "${T}"/tmp.XXXXXXXXXX) || die "Failed to create temporary file" ${updater} 1> "${tmp_file}" && chmod 0644 "${tmp_file}" && - cp -f "${tmp_file}" "${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" && + cp -f "${tmp_file}" "${EROOT%/}/usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" && rm "${tmp_file}" # don't replace this with mv, required for SELinux support eend $? } # @FUNCTION: gnome2_query_immodules_gtk2 -# @USAGE: gnome2_query_immodules_gtk2 # @DESCRIPTION: # Updates gtk2 immodules/gdk-pixbuf loaders listing. gnome2_query_immodules_gtk2() { local updater=${EPREFIX}/usr/bin/${CHOST}-gtk-query-immodules-2.0 - [[ ! -x ${updater} ]] && updater=${EPREFIX}/usr/bin/gtk-query-immodules-2.0 + [[ -x ${updater} ]] || updater=${EPREFIX}/usr/bin/gtk-query-immodules-2.0 + + if [[ ! -x ${updater} ]]; then + debug-print "${updater} is not executable" + return + fi ebegin "Updating gtk2 input method module cache" - GTK_IM_MODULE_FILE="${EROOT}usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache" \ + GTK_IM_MODULE_FILE="${EROOT%/}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache" \ "${updater}" --update-cache eend $? } # @FUNCTION: gnome2_query_immodules_gtk3 -# @USAGE: gnome2_query_immodules_gtk3 # @DESCRIPTION: # Updates gtk3 immodules/gdk-pixbuf loaders listing. gnome2_query_immodules_gtk3() { local updater=${EPREFIX}/usr/bin/${CHOST}-gtk-query-immodules-3.0 - [[ ! -x ${updater} ]] && updater=${EPREFIX}/usr/bin/gtk-query-immodules-3.0 + [[ -x ${updater} ]] || updater=${EPREFIX}/usr/bin/gtk-query-immodules-3.0 + + if [[ ! -x ${updater} ]]; then + debug-print "${updater} is not executable" + return + fi ebegin "Updating gtk3 input method module cache" - GTK_IM_MODULE_FILE="${EROOT}usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" \ + GTK_IM_MODULE_FILE="${EROOT%/}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" \ "${updater}" --update-cache eend $? } # @FUNCTION: gnome2_giomodule_cache_update -# @USAGE: gnome2_giomodule_cache_update # @DESCRIPTION: # Updates glib's gio modules cache. # This function should be called from pkg_postinst and pkg_postrm. gnome2_giomodule_cache_update() { - has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" - local updater="${EROOT}/usr/bin/${CHOST}-gio-querymodules" + local updater="${EROOT%/}/usr/bin/${CHOST}-gio-querymodules" + [[ -x ${updater} ]] || updater="${EROOT%/}/usr/bin/gio-querymodules" - if [[ ! -x ${updater} ]]; then - updater="${EROOT}/usr/bin/gio-querymodules" + if tc-is-cross-compiler ; then + ewarn "Updating of GIO modules cache skipped due to cross-compilation." + ewarn "You might want to run gio-querymodules manually on the target for" + ewarn "your final image for performance reasons and re-run it when packages" + ewarn "installing GIO modules get upgraded or added to the image." + return fi if [[ ! -x ${updater} ]]; then @@ -450,8 +488,8 @@ gnome2_disable_deprecation_warning() { done } -case ${EAPI:-0} in -0|1|2|3|4|5|6) +case ${EAPI} in +5|6) # @FUNCTION: gnome2_icon_savelist # @DESCRIPTION: @@ -461,7 +499,6 @@ case ${EAPI:-0} in # gnome2_icon_cache_update conditionally. # This function should be called from pkg_preinst. gnome2_icon_savelist() { - has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" pushd "${ED}" > /dev/null || die export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) popd > /dev/null || die diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome2.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome2.eclass deleted file mode 100644 index d19bd0b9ac..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome2.eclass +++ /dev/null @@ -1,369 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: gnome2.eclass -# @MAINTAINER: -# gnome@gentoo.org -# @SUPPORTED_EAPIS: 4 5 6 -# @BLURB: Provides phases for Gnome/Gtk+ based packages. -# @DESCRIPTION: -# Exports portage base functions used by ebuilds written for packages using the -# GNOME framework. For additional functions, see gnome2-utils.eclass. - -# @ECLASS-VARIABLE: GNOME2_EAUTORECONF -# @DEFAULT_UNSET -# @DESCRIPTION: -# Run eautoreconf instead of only elibtoolize -GNOME2_EAUTORECONF=${GNOME2_EAUTORECONF:-""} - -[[ ${GNOME2_EAUTORECONF} == 'yes' ]] && inherit autotools -inherit eutils libtool gnome.org gnome2-utils xdg - -case "${EAPI:-0}" in - 4|5) - EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm - ;; - 6) - EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm - ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac - -# @ECLASS-VARIABLE: DOCS -# @DEFAULT_UNSET -# @DESCRIPTION: -# String containing documents passed to dodoc command for eapi4. -# In eapi5 we rely on einstalldocs (from eutils.eclass) and for newer EAPIs we -# follow PMS spec. - -# @ECLASS-VARIABLE: ELTCONF -# @DEFAULT_UNSET -# @DESCRIPTION: -# Extra options passed to elibtoolize -ELTCONF=${ELTCONF:-""} - -# @ECLASS-VARIABLE: G2CONF -# @DEFAULT_UNSET -# @DESCRIPTION: -# Extra configure opts passed to econf. -# Deprecated, pass extra arguments to gnome2_src_configure. -# Banned in eapi6 and newer. -if has ${EAPI:-0} 4 5; then - G2CONF=${G2CONF:-""} -fi - -# @ECLASS-VARIABLE: GCONF_DEBUG -# @DEFAULT_UNSET -# @DESCRIPTION: -# Whether to handle debug or not. -# Some gnome applications support various levels of debugging (yes, no, minimum, -# etc), but using --disable-debug also removes g_assert which makes debugging -# harder. This variable should be set to yes for such packages for the eclass -# to handle it properly. It will enable minimal debug with USE=-debug. -# Note that this is most commonly found in configure.ac as GNOME_DEBUG_CHECK. -# -# Banned since eapi6 as upstream is moving away from this obsolete macro in favor -# of autoconf-archive macros, that do not expose this issue (bug #270919) -if has ${EAPI:-0} 4 5; then - if [[ ${GCONF_DEBUG} != "no" ]]; then - IUSE="debug" - fi -fi - -# @ECLASS-VARIABLE: GNOME2_ECLASS_GIO_MODULES -# @INTERNAL -# @DESCRIPTION: -# Array containing glib GIO modules - -# @ECLASS-VARIABLE: GNOME2_LA_PUNT -# @DESCRIPTION: -# For eapi4 it sets if we should delete ALL or none of the .la files -# For eapi5 and newer it relies on prune_libtool_files (from eutils.eclass) -# for this. Available values for GNOME2_LA_PUNT: -# - "no": will not clean any .la files -# - "yes": will run prune_libtool_files --modules -# - If it is not set, it will run prune_libtool_files -if has ${EAPI:-0} 4; then - GNOME2_LA_PUNT=${GNOME2_LA_PUNT:-"no"} -else - GNOME2_LA_PUNT=${GNOME2_LA_PUNT:-""} -fi - -# @FUNCTION: gnome2_src_unpack -# @DESCRIPTION: -# Stub function for old EAPI. -gnome2_src_unpack() { - if has ${EAPI:-0} 4 5; then - unpack ${A} - cd "${S}" - else - die "gnome2_src_unpack is banned from eapi6" - fi -} - -# @FUNCTION: gnome2_src_prepare -# @DESCRIPTION: -# Prepare environment for build, fix build of scrollkeeper documentation, -# run elibtoolize. -gnome2_src_prepare() { - xdg_src_prepare - - # Prevent assorted access violations and test failures - gnome2_environment_reset - - # Prevent scrollkeeper access violations - # We stop to run it from eapi6 as scrollkeeper helpers from - # rarian are not running anything and, then, access violations - # shouldn't occur. - has ${EAPI:-0} 4 5 && gnome2_omf_fix - - # Disable all deprecation warnings - gnome2_disable_deprecation_warning - - # Run libtoolize or eautoreconf, bug #591584 - # https://bugzilla.gnome.org/show_bug.cgi?id=655517 - if [[ ${GNOME2_EAUTORECONF} == 'yes' ]]; then - eautoreconf - else - elibtoolize ${ELTCONF} - fi -} - -# @FUNCTION: gnome2_src_configure -# @DESCRIPTION: -# Gnome specific configure handling -gnome2_src_configure() { - # Deprecated for a long time now and banned since eapi6, see Gnome team policies - if [[ -n ${G2CONF} ]] ; then - if has ${EAPI:-0} 4 5; then - eqawarn "G2CONF set, please review documentation at https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#G2CONF_and_src_configure" - else - die "G2CONF set, please review documentation at https://wiki.gentoo.org/wiki/Project:GNOME/Gnome_Team_Ebuild_Policies#G2CONF_and_src_configure" - fi - fi - - local g2conf=() - - if has ${EAPI:-0} 4 5; then - if [[ ${GCONF_DEBUG} != 'no' ]] ; then - if use debug ; then - g2conf+=( --enable-debug=yes ) - fi - fi - else - if [[ -n ${GCONF_DEBUG} ]] ; then - die "GCONF_DEBUG is banned since eapi6 in favor of each ebuild taking care of the proper handling of debug configure option" - fi - fi - - # Starting with EAPI=5, we consider packages installing gtk-doc to be - # handled by adding DEPEND="dev-util/gtk-doc-am" which provides tools to - # relink URLs in documentation to already installed documentation. - # This decision also greatly helps with constantly broken doc generation. - # Remember to drop 'doc' USE flag from your package if it was only used to - # rebuild docs. - # Preserve old behavior for older EAPI. - if grep -q "enable-gtk-doc" "${ECONF_SOURCE:-.}"/configure ; then - if has ${EAPI:-0} 4 && in_iuse doc ; then - g2conf+=( $(use_enable doc gtk-doc) ) - else - g2conf+=( --disable-gtk-doc ) - fi - fi - - # Pass --disable-maintainer-mode when needed - if grep -q "^[[:space:]]*AM_MAINTAINER_MODE(\[enable\])" \ - "${ECONF_SOURCE:-.}"/configure.*; then - g2conf+=( --disable-maintainer-mode ) - fi - - # Pass --disable-scrollkeeper when possible - if grep -q "disable-scrollkeeper" "${ECONF_SOURCE:-.}"/configure; then - g2conf+=( --disable-scrollkeeper ) - fi - - # Pass --disable-silent-rules when possible (not needed since eapi5), bug #429308 - if has ${EAPI:-0} 4; then - if grep -q "disable-silent-rules" "${ECONF_SOURCE:-.}"/configure; then - g2conf+=( --disable-silent-rules ) - fi - fi - - # Pass --disable-schemas-install when possible - if grep -q "disable-schemas-install" "${ECONF_SOURCE:-.}"/configure; then - g2conf+=( --disable-schemas-install ) - fi - - # Pass --disable-schemas-compile when possible - if grep -q "disable-schemas-compile" "${ECONF_SOURCE:-.}"/configure; then - g2conf+=( --disable-schemas-compile ) - fi - - # Pass --disable-update-mimedb when possible - if grep -q "disable-update-mimedb" "${ECONF_SOURCE:-.}"/configure; then - g2conf+=( --disable-update-mimedb ) - fi - - # Pass --enable-compile-warnings=minimum as we don't want -Werror* flags, bug #471336 - if grep -q "enable-compile-warnings" "${ECONF_SOURCE:-.}"/configure; then - g2conf+=( --enable-compile-warnings=minimum ) - fi - - # Pass --docdir with proper directory, bug #482646 (not needed since eapi6) - if has ${EAPI:-0} 4 5; then - if grep -q "^ *--docdir=" "${ECONF_SOURCE:-.}"/configure; then - g2conf+=( --docdir="${EPREFIX}"/usr/share/doc/${PF} ) - fi - fi - - # Avoid sandbox violations caused by gnome-vfs (bug #128289 and #345659) - if has ${EAPI:-0} 4 5; then - addwrite "$(unset HOME; echo ~)/.gnome2" - else - addpredict "$(unset HOME; echo ~)/.gnome2" - fi - - if has ${EAPI:-0} 4 5; then - econf ${g2conf[@]} ${G2CONF} "$@" - else - econf ${g2conf[@]} "$@" - fi -} - -# @FUNCTION: gnome2_src_compile -# @DESCRIPTION: -# Only default src_compile for now -gnome2_src_compile() { - if has ${EAPI:-0} 4 5; then - emake - else - default - fi -} - -# @FUNCTION: gnome2_src_install -# @DESCRIPTION: -# Gnome specific install. Handles typical GConf and scrollkeeper setup -# in packages and removal of .la files if requested -gnome2_src_install() { - # we must delay gconf schema installation due to sandbox - export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1" - - local sk_tmp_dir="/var/lib/scrollkeeper" - # scrollkeeper-update from rarian doesn't do anything. Then, since eapi6 - # we stop taking care of it - # - # if this is not present, scrollkeeper-update may segfault and - # create bogus directories in /var/lib/ - if has ${EAPI:-0} 4 5; then - dodir "${sk_tmp_dir}" || die "dodir failed" - emake DESTDIR="${D}" "scrollkeeper_localstate_dir=${ED}${sk_tmp_dir} " "$@" install || die "install failed" - else - default - fi - - unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL - - # Handle documentation as 'default' for eapi5, bug #373131 - # Since eapi6 this is handled by default on its own plus MAINTAINERS and HACKING - # files that are really common in gnome packages (bug #573390) - if has ${EAPI:-0} 4; then - # Manual document installation - if [[ -n "${DOCS}" ]]; then - dodoc ${DOCS} || die "dodoc failed" - fi - elif has ${EAPI:-0} 5; then - einstalldocs - else - local d - for d in HACKING MAINTAINERS; do - [[ -s "${d}" ]] && dodoc "${d}" - done - fi - - # Do not keep /var/lib/scrollkeeper because: - # 1. The scrollkeeper database is regenerated at pkg_postinst() - # 2. ${ED}/var/lib/scrollkeeper contains only indexes for the current pkg - # thus it makes no sense if pkg_postinst ISN'T run for some reason. - rm -rf "${ED}${sk_tmp_dir}" - rmdir "${ED}/var/lib" 2>/dev/null - rmdir "${ED}/var" 2>/dev/null - - # Make sure this one doesn't get in the portage db - rm -fr "${ED}/usr/share/applications/mimeinfo.cache" - - # Delete all .la files - if has ${EAPI:-0} 4; then - if [[ "${GNOME2_LA_PUNT}" != "no" ]]; then - ebegin "Removing .la files" - if ! use_if_iuse static-libs ; then - find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed" - fi - eend - fi - else - case "${GNOME2_LA_PUNT}" in - yes) prune_libtool_files --modules;; - no) ;; - *) prune_libtool_files;; - esac - fi -} - -# @FUNCTION: gnome2_pkg_preinst -# @DESCRIPTION: -# Finds Icons, GConf and GSettings schemas for later handling in pkg_postinst -gnome2_pkg_preinst() { - xdg_pkg_preinst - gnome2_gconf_savelist - gnome2_schemas_savelist - gnome2_scrollkeeper_savelist - gnome2_gdk_pixbuf_savelist - - local f - - GNOME2_ECLASS_GIO_MODULES=() - while IFS= read -r -d '' f; do - GNOME2_ECLASS_GIO_MODULES+=( ${f} ) - done < <(cd "${D}" && find usr/$(get_libdir)/gio/modules -type f -print0 2>/dev/null) - - export GNOME2_ECLASS_GIO_MODULES -} - -# @FUNCTION: gnome2_pkg_postinst -# @DESCRIPTION: -# Handle scrollkeeper, GConf, GSettings, Icons, desktop and mime -# database updates. -gnome2_pkg_postinst() { - xdg_pkg_postinst - gnome2_gconf_install - if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then - gnome2_schemas_update - fi - gnome2_scrollkeeper_update - gnome2_gdk_pixbuf_update - - if [[ ${#GNOME2_ECLASS_GIO_MODULES[@]} -gt 0 ]]; then - gnome2_giomodule_cache_update - fi -} - -# # FIXME Handle GConf schemas removal -#gnome2_pkg_prerm() { -# gnome2_gconf_uninstall -#} - -# @FUNCTION: gnome2_pkg_postrm -# @DESCRIPTION: -# Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. -gnome2_pkg_postrm() { - xdg_pkg_postrm - if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then - gnome2_schemas_update - fi - gnome2_scrollkeeper_update - - if [[ ${#GNOME2_ECLASS_GIO_MODULES[@]} -gt 0 ]]; then - gnome2_giomodule_cache_update - fi -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass index d61effb5e9..9a6f0c8b6b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: llvm.eclass @@ -6,7 +6,7 @@ # Michał Górny # @AUTHOR: # Michał Górny -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Utility functions to build against slotted LLVM # @DESCRIPTION: # The llvm.eclass provides utility functions that can be used to build @@ -17,21 +17,21 @@ # a proper dependency string yourself to guarantee that appropriate # version of LLVM is installed. # -# Example use for a package supporting LLVM 5 to 7: +# Example use for a package supporting LLVM 9 to 11: # @CODE -# inherit cmake-utils llvm +# inherit cmake llvm # # RDEPEND=" -# ] @@ -173,14 +177,7 @@ get_llvm_prefix() { die "${FUNCNAME}: invalid max_slot=${max_slot}" fi - # fallback to :0 - # assume it's always <= 4 (the lower max_slot allowed) - if has_version ${hv_switch} "sys-devel/llvm:0"; then - echo "${prefix}/usr" - return - fi - - die "No LLVM slot${1:+ <= ${1}} found installed!" + die "No LLVM slot${1:+ <= ${1}} satisfying the package's dependencies found installed!" } # @FUNCTION: llvm_pkg_setup @@ -201,13 +198,29 @@ llvm_pkg_setup() { debug-print-function ${FUNCNAME} "${@}" if [[ ${MERGE_TYPE} != binary ]]; then - local llvm_prefix=$(get_llvm_prefix "${LLVM_MAX_SLOT}") + local llvm_path=$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin + local IFS=: + local split_path=( ${PATH} ) + local new_path=() + local x added= - # do not prepend /usr/bin, it's not necessary and breaks other - # prepends, https://bugs.gentoo.org/622866 - if [[ ${llvm_prefix} != ${EPREFIX}/usr ]]; then - export PATH=${llvm_prefix}/bin:${PATH} - fi + # prepend new path before first LLVM version found + for x in "${split_path[@]}"; do + if [[ ${x} == */usr/lib/llvm/*/bin ]]; then + if [[ ${x} != ${llvm_path} ]]; then + new_path+=( "${llvm_path}" ) + elif [[ ${added} && ${x} == ${llvm_path} ]]; then + # deduplicate + continue + fi + added=1 + fi + new_path+=( "${x}" ) + done + # ...or to the end of PATH + [[ ${added} ]] || new_path+=( "${llvm_path}" ) + + export PATH=${new_path[*]} fi } diff --git a/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass deleted file mode 100644 index 7ac6145342..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass +++ /dev/null @@ -1,240 +0,0 @@ -# Copyright 1999-2019 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: office-ext-r1.eclass -# @MAINTAINER: -# The office team -# @AUTHOR: -# Tomáš Chvátal -# @SUPPORTED_EAPIS: 5 6 7 -# @BLURB: Eclass for installing libreoffice/openoffice extensions -# @DESCRIPTION: -# Eclass for easing maintenance of libreoffice/openoffice extensions. - -case "${EAPI:-0}" in - 5|6) inherit eutils multilib ;; - 7) ;; - *) die "EAPI=${EAPI} is not supported" ;; -esac - -OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm" - -# @ECLASS-VARIABLE: OFFICE_REQ_USE -# @DESCRIPTION: -# Useflags required on office implementation for the extension. -# -# Example: -# @CODE -# OFFICE_REQ_USE="java,jemalloc(-)?" -# @CODE -if [[ ${OFFICE_REQ_USE} ]]; then - # Append the brackets for the depend bellow - OFFICE_REQ_USE="[${OFFICE_REQ_USE}]" -fi - -# @ECLASS-VARIABLE: OFFICE_IMPLEMENTATIONS -# @DESCRIPTION: -# List of implementations supported by the extension. -# Some work only for libreoffice and vice versa. -# Default value is all implementations. -# -# Example: -# @CODE -# OFFICE_IMPLEMENTATIONS=( "libreoffice" "openoffice" ) -# @CODE -[[ -z ${OFFICE_IMPLEMENTATIONS} ]] && OFFICE_IMPLEMENTATIONS=( "libreoffice" "openoffice" ) - -# @ECLASS-VARIABLE: OFFICE_EXTENSIONS -# @REQUIRED -# @DESCRIPTION: -# Array containing list of extensions to install. -# -# Example: -# @CODE -# OFFICE_EXTENSIONS=( ${PN}_${PV}.oxt ) -# @CODE -[[ -z ${OFFICE_EXTENSIONS} ]] && die "OFFICE_EXTENSIONS variable is unset." -if [[ "$(declare -p OFFICE_EXTENSIONS 2>/dev/null 2>&1)" != "declare -a"* ]]; then - die "OFFICE_EXTENSIONS variable is not an array." -fi - -# @ECLASS-VARIABLE: OFFICE_EXTENSIONS_LOCATION -# @DESCRIPTION: -# Path to the extensions location. Defaults to ${DISTDIR}. -# -# Example: -# @CODE -# OFFICE_EXTENSIONS_LOCATION="${S}/unpacked/" -# @CODE -: ${OFFICE_EXTENSIONS_LOCATION:=${DISTDIR}} - -IUSE="" -RDEPEND="" - -for i in ${OFFICE_IMPLEMENTATIONS[@]}; do - IUSE+=" office_implementation_${i}" - if [[ ${i} == "openoffice" ]]; then - # special only binary - RDEPEND+=" - office_implementation_openoffice? ( - app-office/openoffice-bin${OFFICE_REQ_USE} - ) - " - else - RDEPEND+=" - office_implementation_${i}? ( - || ( - app-office/${i}${OFFICE_REQ_USE} - app-office/${i}-bin${OFFICE_REQ_USE} - ) - ) - " - fi -done - -REQUIRED_USE="|| ( " -for i in ${OFFICE_IMPLEMENTATIONS[@]}; do - REQUIRED_USE+=" office_implementation_${i} " -done -REQUIRED_USE+=" )" - -DEPEND="${RDEPEND} - app-arch/unzip -" - -# Most projects actually do not provide any relevant sourcedir as they are oxt. -S="${WORKDIR}" - -# @FUNCTION: office-ext-r1_src_unpack -# @DESCRIPTION: -# Flush the cache after removal of an extension. -office-ext-r1_src_unpack() { - debug-print-function ${FUNCNAME} "$@" - local i - - default - - for i in ${OFFICE_EXTENSIONS[@]}; do - # Unpack the extensions where required and add case for oxt - # which should be most common case for the extensions. - if [[ -f "${OFFICE_EXTENSIONS_LOCATION}/${i}" ]] ; then - case ${i} in - *.oxt) - mkdir -p "${WORKDIR}/${i}/" - pushd "${WORKDIR}/${i}/" > /dev/null - echo ">>> Unpacking "${OFFICE_EXTENSIONS_LOCATION}/${i}" to ${PWD}" - unzip -qo ${OFFICE_EXTENSIONS_LOCATION}/${i} - assert "failed unpacking ${OFFICE_EXTENSIONS_LOCATION}/${i}" - popd > /dev/null - ;; - *) unpack ${i} ;; - esac - fi - done -} - -# @FUNCTION: office-ext-r1_src_install -# @DESCRIPTION: -# Install the extension source to the proper location. -office-ext-r1_src_install() { - debug-print-function ${FUNCNAME} "$@" - debug-print "Extensions: ${OFFICE_EXTENSIONS[@]}" - - local i j - - for i in ${OFFICE_IMPLEMENTATIONS[@]}; do - if use office_implementation_${i}; then - if [[ ${i} == openoffice ]]; then - # OOO needs to use uno because direct deployment segfaults. - # This is bug by their side, but i don't want to waste time - # fixing it myself. - insinto /usr/$(get_libdir)/${i}/share/extension/install - for j in ${OFFICE_EXTENSIONS[@]}; do - doins ${OFFICE_EXTENSIONS_LOCATION}/${j} - done - else - for j in ${OFFICE_EXTENSIONS[@]}; do - pushd "${WORKDIR}/${j}/" > /dev/null - insinto /usr/$(get_libdir)/${i}/share/extensions/${j/.oxt/} - doins -r * - popd > /dev/null - done - fi - fi - done -} - -#### OPENOFFICE COMPAT CODE - -UNOPKG_BINARY="/usr/lib64/openoffice/program/unopkg" - -# @FUNCTION: office-ext-r1_add_extension -# @DESCRIPTION: -# Install the extension into the libreoffice/openoffice. -office-ext-r1_add_extension() { - debug-print-function ${FUNCNAME} "$@" - local ext=$1 - local tmpdir=$(emktemp -d) - - debug-print "${FUNCNAME}: ${UNOPKG_BINARY} add --shared \"${ext}\"" - ebegin "Adding office extension: \"${ext}\"" - ${UNOPKG_BINARY} add --suppress-license \ - --shared "${ext}" \ - "-env:UserInstallation=file:///${tmpdir}" \ - "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1" - eend $? - ${UNOPKG_BINARY} list --shared > /dev/null - rm -r "${tmpdir}" || dir "failed to clean up" -} - -# @FUNCTION: office-ext-r1_remove_extension -# @DESCRIPTION: -# Remove the extension from the libreoffice/openoffice. -office-ext-r1_remove_extension() { - debug-print-function ${FUNCNAME} "$@" - local ext=$1 - local tmpdir=$(mktemp -d --tmpdir="${T}") - - debug-print "${FUNCNAME}: ${UNOPKG_BINARY} remove --shared \"${ext}\"" - ebegin "Removing office extension: \"${ext}\"" - ${UNOPKG_BINARY} remove --suppress-license \ - --shared "${ext}" \ - "-env:UserInstallation=file:///${tmpdir}" \ - "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1" - eend $? - ${UNOPKG_BINARY} list --shared > /dev/null - rm -r "${tmpdir}" || dir "failed to clean up" -} - -# @FUNCTION: office-ext-r1_pkg_postinst -# @DESCRIPTION: -# Add the extensions to the openoffice. -office-ext-r1_pkg_postinst() { - if in_iuse office_implementation_openoffice && use office_implementation_openoffice; then - debug-print-function ${FUNCNAME} "$@" - debug-print "Extensions: ${OFFICE_EXTENSIONS[@]}" - local i - - for i in ${OFFICE_EXTENSIONS[@]}; do - office-ext-r1_add_extension "/usr/lib64/openoffice/share/extension/install/${i}" - done - fi -} - -# @FUNCTION: office-ext-r1_pkg_prerm -# @DESCRIPTION: -# Remove the extensions from the openoffice. -office-ext-r1_pkg_prerm() { - if in_iuse office_implementation_openoffice && use office_implementation_openoffice; then - debug-print-function ${FUNCNAME} "$@" - debug-print "Extensions: ${OFFICE_EXTENSIONS[@]}" - local i - - for i in ${OFFICE_EXTENSIONS[@]}; do - office-ext-r1_remove_extension "${i}" - done - fi -} - -EXPORT_FUNCTIONS ${OEXT_EXPORTED_FUNCTIONS} -unset OEXT_EXPORTED_FUNCTIONS diff --git a/sdk_container/src/third_party/portage-stable/eclass/pam.eclass b/sdk_container/src/third_party/portage-stable/eclass/pam.eclass index ef2a3485c3..9928e746e4 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/pam.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/pam.eclass @@ -1,20 +1,26 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: pam.eclass # @MAINTAINER: -# zlogene@gentoo.org +# Mikle Kolyada # @AUTHOR: # Diego Pettenò +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Handles pam related tasks # @DESCRIPTION: # This eclass contains functions to install pamd configuration files and # pam modules. +case ${EAPI:-0} in + [678]) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + if [[ -z ${_PAM_ECLASS} ]]; then _PAM_ECLASS=1 -inherit flag-o-matic multilib +inherit flag-o-matic # @FUNCTION: dopamd # @USAGE: [more files] @@ -94,12 +100,7 @@ newpamsecurity() { # @DESCRIPTION: # Returns the pam modules' directory for current implementation getpam_mod_dir() { - if has_version sys-libs/pam || has_version sys-libs/openpam; then - PAM_MOD_DIR=/$(get_libdir)/security - else - # Unable to find PAM implementation... defaulting - PAM_MOD_DIR=/$(get_libdir)/security - fi + PAM_MOD_DIR=/$(get_libdir)/security echo ${PAM_MOD_DIR} } @@ -182,11 +183,7 @@ pamd_mimic() { originalstack=$1 authlevels="auth account password session" - if has_version ' -# @DESCRIPTION: -# Steer clear, deprecated, don't use, bad experiment -pam_epam_expand() { - sed -n -e 's|#%EPAM-\([[:alpha:]-]\+\):\([-+<>=/.![:alnum:]]\+\)%#.*|\1 \2|p' \ - "$@" | sort -u | while read condition parameter; do - - disable="yes" - - case "$condition" in - If-Has) - message="This can be used only if you have ${parameter} installed" - has_version "$parameter" && disable="no" - ;; - Use-Flag) - message="This can be used only if you enabled the ${parameter} USE flag" - use "$parameter" && disable="no" - ;; - *) - eerror "Unknown EPAM condition '${condition}' ('${parameter}')" - die "Unknown EPAM condition '${condition}' ('${parameter}')" - ;; - esac - - if [ "${disable}" = "yes" ]; then - sed -i -e "/#%EPAM-${condition}:${parameter/\//\\/}%#/d" "$@" - else - sed -i -e "s|#%EPAM-${condition}:${parameter}%#||" "$@" - fi - - done -} - -# Think about it before uncommenting this one, for now run it by hand -# pam_pkg_preinst() { -# eshopts_push -o noglob # so that bash doen't expand "*" -# -# pam_epam_expand "${D}"/etc/pam.d/* -# -# eshopts_pop # reset old shell opts -# } - fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass index ef7c5b9006..f48dcdafe0 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: pax-utils.eclass @@ -7,6 +7,7 @@ # @AUTHOR: # Author: Kevin F. Quinn # Author: Anthony G. Basile +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: functions to provide PaX markings for hardened kernels # @DESCRIPTION: # @@ -20,6 +21,11 @@ # To control what markings are made, set PAX_MARKINGS in /etc/portage/make.conf # to contain either "PT", "XT" or "none". The default is none +case ${EAPI:-0} in + 5|6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + if [[ -z ${_PAX_UTILS_ECLASS} ]]; then _PAX_UTILS_ECLASS=1 @@ -176,6 +182,10 @@ host-is-pax() { # them elsewhere as they are not supported (i.e. they may be removed # or their function may change arbitrarily). +# @FUNCTION: _pax_list_files +# @INTERNAL +# @USAGE: [items] +# @DESCRIPTION: # Display a list of things, one per line, indented a bit, using the # display command in $1. _pax_list_files() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r3.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r3.eclass deleted file mode 100644 index 5ef879a2be..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r3.eclass +++ /dev/null @@ -1,452 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: php-ext-source-r3.eclass -# @MAINTAINER: -# Gentoo PHP team -# @SUPPORTED_EAPIS: 6 7 -# @BLURB: Compile and install standalone PHP extensions. -# @DESCRIPTION: -# A unified interface for compiling and installing standalone PHP -# extensions. - -inherit autotools - -EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test - -case ${EAPI:-0} in - 6|7) ;; - *) - die "${ECLASS} is not compatible with EAPI=${EAPI}" -esac - -# @ECLASS-VARIABLE: PHP_EXT_NAME -# @REQUIRED -# @DESCRIPTION: -# The extension name. This must be set, otherwise the eclass dies. -# Only automagically set by php-ext-pecl-r3.eclass, so unless your ebuild -# inherits that eclass, you must set this manually before inherit. -[[ -z "${PHP_EXT_NAME}" ]] && \ - die "no extension name specified for the php-ext-source-r3 eclass" - -# @ECLASS-VARIABLE: PHP_EXT_INI -# @DESCRIPTION: -# Controls whether or not to add a line to php.ini for the extension. -# Defaults to "yes" and should not be changed in most cases. -[[ -z "${PHP_EXT_INI}" ]] && PHP_EXT_INI="yes" - -# @ECLASS-VARIABLE: PHP_EXT_ZENDEXT -# @DESCRIPTION: -# Controls whether the extension is a ZendEngine extension or not. -# Defaults to "no". If you don't know what this is, you don't need it. -[[ -z "${PHP_EXT_ZENDEXT}" ]] && PHP_EXT_ZENDEXT="no" - -# @ECLASS-VARIABLE: USE_PHP -# @REQUIRED -# @DESCRIPTION: -# Lists the PHP slots compatible the extension is compatible with. -# Example: -# @CODE -# USE_PHP="php5-6 php7-0" -# @CODE -[[ -z "${USE_PHP}" ]] && \ - die "USE_PHP is not set for the php-ext-source-r3 eclass" - -# @ECLASS-VARIABLE: PHP_EXT_OPTIONAL_USE -# @DEFAULT_UNSET -# @DESCRIPTION: -# If set, all of the dependencies added by this eclass will be -# conditional on USE=${PHP_EXT_OPTIONAL_USE}. This is needed when -# ebuilds have to inherit this eclass unconditionally, but only -# actually use it when (for example) the user has USE=php. - -# @ECLASS-VARIABLE: PHP_EXT_S -# @DESCRIPTION: -# The relative location of the temporary build directory for the PHP -# extension within the source package. This is useful for packages that -# bundle the PHP extension. Defaults to ${S}. -[[ -z "${PHP_EXT_S}" ]] && PHP_EXT_S="${S}" - -# @ECLASS-VARIABLE: PHP_EXT_SAPIS -# @DESCRIPTION: -# A list of SAPIs for which we will install this extension. Formerly -# called PHPSAPILIST. The default includes every SAPI currently used in -# the tree. -[[ -z "${PHP_EXT_SAPIS}" ]] && PHP_EXT_SAPIS="apache2 cli cgi fpm embed phpdbg" - -# @ECLASS-VARIABLE: PHP_INI_NAME -# @DESCRIPTION: -# An optional file name of the saved ini file minis the ini extension -# This allows ordering of extensions such that one is loaded before -# or after another. Defaults to the PHP_EXT_NAME. -# Example (produces 40-foo.ini file): -# @CODE@ -# PHP_INI_NAME="40-foo" -# @CODE@ -: ${PHP_INI_NAME:=${PHP_EXT_NAME}} - -# @ECLASS-VARIABLE: PHP_EXT_NEEDED_USE -# @DEFAULT_UNSET -# @DESCRIPTION: -# A list of USE flags to append to each PHP target selected -# as a valid USE-dependency string. The value should be valid -# for all targets so USE defaults may be necessary. -# Example: -# @CODE -# PHP_EXT_NEEDED_USE="mysql?,pdo,pcre(+)" -# @CODE -# -# The PHP dependencies will result in: -# @CODE -# php_targets_php7-0? ( dev-lang/php:7.0[mysql?,pdo,pcre(+)] ) -# @CODE - - -# Make sure at least one target is installed. First, start a USE -# conditional like "php?", but only when PHP_EXT_OPTIONAL_USE is -# non-null. The option group "|| (..." is always started here. -REQUIRED_USE="${PHP_EXT_OPTIONAL_USE}${PHP_EXT_OPTIONAL_USE:+? ( }|| ( " -PHPDEPEND="${PHP_EXT_OPTIONAL_USE}${PHP_EXT_OPTIONAL_USE:+? ( } " -for _php_target in ${USE_PHP}; do - # Now loop through each USE_PHP target and add the corresponding - # dev-lang/php slot to PHPDEPEND. - IUSE+=" php_targets_${_php_target}" - REQUIRED_USE+="php_targets_${_php_target} " - _php_slot=${_php_target/php} - _php_slot=${_php_slot/-/.} - if [[ ${PHP_EXT_NEEDED_USE} ]] ; then - _php_slot+=[${PHP_EXT_NEEDED_USE}] - fi - PHPDEPEND+=" php_targets_${_php_target}? ( dev-lang/php:${_php_slot} )" -done - -# Don't pollute the environment with our loop variables. -unset _php_slot _php_target - -# Finally, end the optional group that we started before the loop. Close -# the USE-conditional if PHP_EXT_OPTIONAL_USE is non-null. -REQUIRED_USE+=") ${PHP_EXT_OPTIONAL_USE:+ )}" -PHPDEPEND+=" ${PHP_EXT_OPTIONAL_USE:+ )}" -TOOLDEPS="sys-devel/m4 sys-devel/libtool" - -RDEPEND="${PHPDEPEND}" - -case ${EAPI:-0} in - 6) DEPEND="${TOOLDEPS} ${PHPDEPEND}" ;; - 7) DEPEND="${PHPDEPEND}" ; BDEPEND="${TOOLDEPS} ${PHPDEPEND}" ;; -esac - -unset PHPDEPEND TOOLDEPS - -# @ECLASS-VARIABLE: PHP_EXT_SKIP_PHPIZE -# @DEFAULT_UNSET -# @DESCRIPTION: -# By default, we run "phpize" in php-ext-source-r3_src_prepare(). Set -# PHP_EXT_SKIP_PHPIZE="yes" in your ebuild if you do not want to run -# phpize (and the autoreconf that becomes necessary afterwards). - -# @ECLASS-VARIABLE: PHP_EXT_SKIP_PATCHES -# @DEFAULT_UNSET -# @DESCRIPTION: -# By default, we run default_src_prepare to PHP_EXT_S. -# Set PHP_EXT_SKIP_PATCHES="yes" in your ebuild if you -# want to apply patches yourself. - -# @FUNCTION: php-ext-source-r3_src_prepare -# @DESCRIPTION: -# Runs the default src_prepare() for PATCHES/eapply_user() support (optional), -# and for each PHP slot, makes a copy of sources, initializes the environment, -# and calls php-ext-source-r3_phpize(). -php-ext-source-r3_src_prepare() { - local slot orig_s="${PHP_EXT_S}" - if [[ "${PHP_EXT_SKIP_PATCHES}" != 'yes' ]] ; then - pushd "${orig_s}" > /dev/null || die - default - popd > /dev/null || die - fi - for slot in $(php_get_slots); do - cp --recursive --preserve "${orig_s}" "${WORKDIR}/${slot}" || \ - die "failed to copy sources from ${orig_s} to ${WORKDIR}/${slot}" - php_init_slot_env "${slot}" - php-ext-source-r3_phpize - done -} - -# @FUNCTION: php-ext-source-r3_phpize -# @DESCRIPTION: -# Subject to PHP_EXT_SKIP_PHPIZE, this function runs phpize and -# autoreconf in a manner that avoids warnings. -php-ext-source-r3_phpize() { - if [[ "${PHP_EXT_SKIP_PHPIZE}" != 'yes' ]] ; then - # Create configure out of config.m4. We use autotools_run_tool - # to avoid some warnings about WANT_AUTOCONF and - # WANT_AUTOMAKE (see bugs #329071 and #549268). - autotools_run_tool "${PHPIZE}" - - # Force libtoolize to run and regenerate autotools files (bug - # #220519). - rm aclocal.m4 || die "failed to remove aclocal.m4" - eautoreconf - fi -} - - -# @ECLASS-VARIABLE: PHP_EXT_ECONF_ARGS -# @DEFAULT_UNSET -# @DESCRIPTION: -# Set this in the ebuild to pass additional configure options to -# econf. Formerly called my_conf. Either a string or an array of -# --flag=value parameters is supported. - -# @FUNCTION: php-ext-source-r3_src_configure -# @DESCRIPTION: -# Takes care of standard configure for PHP extensions (modules). -php-ext-source-r3_src_configure() { - # net-snmp creates these, bug #385403. - addpredict /usr/share/snmp/mibs/.index - addpredict /var/lib/net-snmp/mib_indexes - - # Support either a string or an array for PHP_EXT_ECONF_ARGS. - local econf_args - if [[ -n "${PHP_EXT_ECONF_ARGS}" && $(declare -p PHP_EXT_ECONF_ARGS) == "declare -a"* ]]; then - econf_args=( "${PHP_EXT_ECONF_ARGS[@]}" ) - else - econf_args=( ${PHP_EXT_ECONF_ARGS} ) - fi - - local slot - for slot in $(php_get_slots); do - php_init_slot_env "${slot}" - econf --with-php-config="${PHPCONFIG}" "${econf_args[@]}" - done -} - -# @FUNCTION: php-ext-source-r3_src_compile -# @DESCRIPTION: -# Compile a standard standalone PHP extension. -php-ext-source-r3_src_compile() { - # net-snmp creates these, bug #324739. - addpredict /usr/share/snmp/mibs/.index - addpredict /var/lib/net-snmp/mib_indexes - - # shm extension creates a semaphore file, bug #173574. - addpredict /session_mm_cli0.sem - local slot - for slot in $(php_get_slots); do - php_init_slot_env "${slot}" - emake - done -} - -# @FUNCTION: php-ext-source-r3_src_install -# @DESCRIPTION: -# Install a standard standalone PHP extension. Uses einstalldocs() -# to support the DOCS variable/array. -php-ext-source-r3_src_install() { - local slot - for slot in $(php_get_slots); do - php_init_slot_env "${slot}" - - # Strip $EPREFIX from $EXT_DIR before calling doexe (which - # handles EPREFIX itself). Shared libs are +x by convention, - # although nothing seems to depend on that. - exeinto "${EXT_DIR#$EPREFIX}" - doexe "modules/${PHP_EXT_NAME}.so" - - INSTALL_ROOT="${D}" emake install-headers - done - einstalldocs - php-ext-source-r3_createinifiles -} - -# @FUNCTION: php-ext-source-r3_src_test -# @DESCRIPTION: -# Run tests delivered with the standalone PHP extension. Phpize will have generated -# a run-tests.php file to be executed by `make test`. We only need to -# force the test suite to run in non-interactive mode. -php-ext-source-r3_src_test() { - local slot - for slot in $(php_get_slots); do - php_init_slot_env "${slot}" - NO_INTERACTION="yes" emake test - done -} - -# @FUNCTION: php_get_slots -# @DESCRIPTION: -# Get a list of PHP slots contained in both the ebuild's USE_PHP and the -# user's PHP_TARGETS. -php_get_slots() { - local s="" - local slot - for slot in ${USE_PHP}; do - use php_targets_${slot} && s+=" ${slot/-/.}" - done - echo $s -} - -# @FUNCTION: php_init_slot_env -# @USAGE: -# @DESCRIPTION: -# Takes a slot name, and initializes some global variables to values -# corresponding to that slot. For example, it sets the path to the "php" -# and "phpize" binaries, which will differ for each slot. This function -# is intended to be called while looping through a list of slots -# obtained from php_get_slots(). -# -# Calling this function will change the working directory to the -# temporary build directory for the given slot. -php_init_slot_env() { - local libdir=$(get_libdir) - local slot="${1}" - - PHPPREFIX="${EPREFIX}/usr/${libdir}/${slot}" - PHPIZE="${PHPPREFIX}/bin/phpize" - PHPCONFIG="${PHPPREFIX}/bin/php-config" - PHPCLI="${PHPPREFIX}/bin/php" - PHPCGI="${PHPPREFIX}/bin/php-cgi" - PHP_PKG="$(best_version =dev-lang/php-${1:3}*)" - - EXT_DIR="$(${PHPCONFIG} --extension-dir 2>/dev/null)" - PHP_CURRENTSLOT=${1:3} - - PHP_EXT_S="${WORKDIR}/${slot}" - cd "${PHP_EXT_S}" || die "failed to change directory to ${PHP_EXT_S}" -} - -# @FUNCTION: php_slot_ini_files -# @USAGE: -# @INTERNAL -# @DESCRIPTION: -# Output a list of relative paths to INI files for the given -# slot. Usually there will be one INI file per SAPI. -php_slot_ini_files() { - local slot_ini_files="" - local x - for x in ${PHP_EXT_SAPIS} ; do - if [[ -f "${EPREFIX}/etc/php/${x}-${1}/php.ini" ]] ; then - slot_ini_files+=" etc/php/${x}-${1}/ext/${PHP_INI_NAME}.ini" - fi - done - - echo "${slot_ini_files}" -} - -# @FUNCTION: php-ext-source-r3_createinifiles -# @DESCRIPTION: -# Builds INI files for every enabled slot and SAPI. -php-ext-source-r3_createinifiles() { - local slot - for slot in $(php_get_slots); do - php_init_slot_env "${slot}" - - local file - for file in $(php_slot_ini_files "${slot}") ; do - if [[ "${PHP_EXT_INI}" = "yes" ]] ; then - # Add the needed lines to the .ini files - php-ext-source-r3_addextension "${PHP_EXT_NAME}.so" "${file}" - fi - - if [[ -n "${PHP_EXT_INIFILE}" ]] ; then - cat "${FILESDIR}/${PHP_EXT_INIFILE}" >> "${ED}/${file}" \ - || die "failed to append to ${ED}/${file}" - - einfo "Added contents of ${FILESDIR}/${PHP_EXT_INIFILE}" \ - "to ${file}" - fi - inidir="${file/${PHP_INI_NAME}.ini/}" - inidir="${inidir/ext/ext-active}" - dodir "/${inidir}" - dosym "/${file}" "/${file/ext/ext-active}" - done - done - - # A location where PHP code for this extension can be stored, - # independent of the PHP or extension versions. This will be part of - # PHP's include_path, configured in php.ini. For example, pecl-apcu - # installs an "apc.php" file which you are supposed to load with - # - # require('apcu/apc.php'); - # - PHP_EXT_SHARED_DIR="${EPREFIX}/usr/share/php/${PHP_EXT_NAME}" -} - -# @FUNCTION: php-ext-source-r3_addextension -# @USAGE: -# @INTERNAL -# @DESCRIPTION: -# Add a line to an INI file that will enable the given extension. The -# first parameter is the path to the extension (.so) file, and the -# second parameter is the name of the INI file in which it should be -# loaded. This function determines the setting name (either -# "extension=..." or "zend_extension=...") and then calls -# php-ext-source-r3_addtoinifile to do the actual work. -php-ext-source-r3_addextension() { - local ext_type="extension" - local ext_file="${1}" - - if [[ "${PHP_EXT_ZENDEXT}" = "yes" ]] ; then - ext_type="zend_extension" - ext_file="${EXT_DIR}/${1}" # Zend extensions need the path... - fi - - php-ext-source-r3_addtoinifile "${2}" "${ext_type}" "${ext_file}" -} - -# @FUNCTION: php-ext-source-r3_addtoinifile -# @USAGE: [setting-value] -# @INTERNAL -# @DESCRIPTION: -# Add a setting=value to one INI file. The first argument is the -# relative path to the INI file. The second argument is the setting -# name, and the third argument is its value. -# -# You can also pass "[Section]" as the second parameter, to create a new -# section in the INI file. In that case, the third parameter (which -# would otherwise be the value of the setting) is ignored. -php-ext-source-r3_addtoinifile() { - local inifile="${WORKDIR}/${1}" - local inidir="${inifile%/*}" - - mkdir -p "${inidir}" || die "failed to create INI directory ${inidir}" - - # Are we adding the name of a section? Assume not by default. - local my_added="${2}=${3}" - if [[ ${2:0:1} == "[" ]] ; then - # Ok, it's a section name. - my_added="${2}" - fi - echo "${my_added}" >> "${inifile}" || die "failed to append to ${inifile}" - einfo "Added '${my_added}' to /${1}" - - insinto "/${1%/*}" - doins "${inifile}" -} - -# @FUNCTION: php-ext-source-r3_addtoinifiles -# @USAGE: [setting-value] [message] -# @DESCRIPTION: -# Add settings to every php.ini file installed by this extension. -# You can also add new [Section]s -- see the example below. -# -# @CODE -# Add some settings for the extension: -# -# php-ext-source-r3_addtoinifiles "zend_optimizer.optimization_level" "15" -# php-ext-source-r3_addtoinifiles "zend_optimizer.enable_loader" "0" -# php-ext-source-r3_addtoinifiles "zend_optimizer.disable_licensing" "0" -# -# Adding values to a section in php.ini file installed by the extension: -# -# php-ext-source-r3_addtoinifiles "[Debugger]" -# php-ext-source-r3_addtoinifiles "debugger.enabled" "on" -# php-ext-source-r3_addtoinifiles "debugger.profiler_enabled" "on" -# @CODE -php-ext-source-r3_addtoinifiles() { - local slot - for slot in $(php_get_slots); do - for file in $(php_slot_ini_files "${slot}") ; do - php-ext-source-r3_addtoinifile "${file}" "${1}" "${2}" - done - done -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass index 6a559842f0..8c783eaf06 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rust-toolchain.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: rust-toolchain.eclass # @MAINTAINER: # Rust Project -# @SUPPORTED_EAPIS: 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: helps map gentoo arches to rust ABIs # @DESCRIPTION: # This eclass contains a src_unpack default phase function, and @@ -14,6 +14,7 @@ case ${EAPI} in 6) : ;; 7) : ;; + 8) : ;; *) die "EAPI=${EAPI:-0} is not supported" ;; esac @@ -33,22 +34,25 @@ inherit multilib-build # environment if none is specified. rust_abi() { - local CTARGET=${1:-${CHOST}} - case ${CTARGET%%*-} in - aarch64*) echo aarch64-unknown-linux-gnu;; - mips64*) echo mips64-unknown-linux-gnuabi64;; - powerpc64le*) echo powerpc64le-unknown-linux-gnu;; - powerpc64*) echo powerpc64-unknown-linux-gnu;; - x86_64*) echo x86_64-unknown-linux-gnu;; - armv6j*s*) echo arm-unknown-linux-gnueabi;; - armv6j*h*) echo arm-unknown-linux-gnueabihf;; - armv7a*h*) echo armv7-unknown-linux-gnueabihf;; - i?86*) echo i686-unknown-linux-gnu;; - mipsel*) echo mipsel-unknown-linux-gnu;; - mips*) echo mips-unknown-linux-gnu;; - powerpc*) echo powerpc-unknown-linux-gnu;; - s390x*) echo s390x-unknown-linux-gnu;; - *) echo ${CTARGET};; + local CTARGET=${1:-${CHOST}} + case ${CTARGET%%*-} in + aarch64*gnu) echo aarch64-unknown-linux-gnu;; + aarch64*musl) echo aarch64-unknown-linux-musl;; + mips64*) echo mips64-unknown-linux-gnuabi64;; + powerpc64le*) echo powerpc64le-unknown-linux-gnu;; + powerpc64*) echo powerpc64-unknown-linux-gnu;; + x86_64*gnu) echo x86_64-unknown-linux-gnu;; + x86_64*musl) echo x86_64-unknown-linux-musl;; + armv6j*s*) echo arm-unknown-linux-gnueabi;; + armv6j*h*) echo arm-unknown-linux-gnueabihf;; + armv7a*h*) echo armv7-unknown-linux-gnueabihf;; + i?86*) echo i686-unknown-linux-gnu;; + mipsel*) echo mipsel-unknown-linux-gnu;; + mips*) echo mips-unknown-linux-gnu;; + powerpc*) echo powerpc-unknown-linux-gnu;; + s390x*) echo s390x-unknown-linux-gnu;; + riscv64*) echo riscv64gc-unknown-linux-gnu;; + *) echo ${CTARGET};; esac } @@ -56,18 +60,18 @@ rust_abi() { # @DESCRIPTION: # Outputs a list of all the enabled Rust ABIs rust_all_abis() { - if use multilib; then - local abi - local ALL_ABIS=() - for abi in $(multilib_get_enabled_abis); do - ALL_ABIS+=( $(rust_abi $(get_abi_CHOST ${abi})) ) - done - local abi_list - IFS=, eval 'abi_list=${ALL_ABIS[*]}' - echo ${abi_list} - else - rust_abi - fi + if use multilib; then + local abi + local ALL_ABIS=() + for abi in $(multilib_get_enabled_abis); do + ALL_ABIS+=( $(rust_abi $(get_abi_CHOST ${abi})) ) + done + local abi_list + IFS=, eval 'abi_list=${ALL_ABIS[*]}' + echo ${abi_list} + else + rust_abi + fi } # @FUNCTION: rust_arch_uri @@ -79,22 +83,23 @@ rust_all_abis() { # # @EXAMPLE: # SRC_URI="amd64? ( -# $(rust_arch_uri x86_64-unknown-linux-gnu rustc-${STAGE0_VERSION}) +# $(rust_arch_uri x86_64-unknown-linux-gnu rustc-${STAGE0_VERSION}) # )" # rust_arch_uri() { - if [ -n "$3" ]; then - echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz -> ${3}-${1}.tar.xz" - else - echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz" - fi + if [ -n "$3" ]; then + echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz -> ${3}-${1}.tar.xz" + else + echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz" + echo "verify-sig? ( ${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz.asc )" + fi } # @FUNCTION: rust_all_arch_uris # @USAGE: [alt-distfile-basename] # @DESCRIPTION: # Outputs the URIs for SRC_URI to help fetch dependencies, using a base URI -# provided as an argument. Optionally allows for distfile renaming via a specified +# provided as an argument. Optionally allows for distfile renaming via a specified # basename. # # @EXAMPLE: @@ -103,18 +108,21 @@ rust_arch_uri() { rust_all_arch_uris() { local uris="" - uris+="amd64? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") ) " - uris+="arm? ( $(rust_arch_uri arm-unknown-linux-gnueabi "$@") - $(rust_arch_uri arm-unknown-linux-gnueabihf "$@") - $(rust_arch_uri armv7-unknown-linux-gnueabihf "$@") ) " - uris+="arm64? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") ) " - uris+="mips? ( $(rust_arch_uri mips-unknown-linux-gnu "$@") - $(rust_arch_uri mipsel-unknown-linux-gnu "$@") - $(rust_arch_uri mips64-unknown-linux-gnuabi64 "$@") ) " - uris+="ppc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") ) " - uris+="ppc64? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") - $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") ) " - uris+="s390? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") ) " - uris+="x86? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") ) " + uris+="abi_x86_64? ( elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") ) + elibc_musl? ( $(rust_arch_uri x86_64-unknown-linux-musl "$@") ) ) " + uris+="arm? ( $(rust_arch_uri arm-unknown-linux-gnueabi "$@") + $(rust_arch_uri arm-unknown-linux-gnueabihf "$@") + $(rust_arch_uri armv7-unknown-linux-gnueabihf "$@") ) " + uris+="arm64? ( elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") ) + elibc_musl? ( $(rust_arch_uri aarch64-unknown-linux-musl "$@") ) ) " + uris+="mips? ( $(rust_arch_uri mips-unknown-linux-gnu "$@") + $(rust_arch_uri mipsel-unknown-linux-gnu "$@") + $(rust_arch_uri mips64-unknown-linux-gnuabi64 "$@") ) " + uris+="ppc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") ) " + uris+="ppc64? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") + $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") ) " + uris+="s390? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") ) " + uris+="abi_x86_32? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") ) " + uris+="riscv? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") ) " echo "${uris}" } diff --git a/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog-r1.eclass index 1e1f17815a..9f8bb13d60 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog-r1.eclass @@ -1,4 +1,4 @@ -# Copyright 2019 Gentoo Authors +# Copyright 2019-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: sgml-catalog-r1.eclass @@ -9,9 +9,8 @@ # @SUPPORTED_EAPIS: 7 # @BLURB: Functions for installing SGML catalogs # @DESCRIPTION: -# This eclass regenerates /etc/sgml/catalog, /etc/sgml.{,c}env -# and /etc/env.d/93sgmltools-lite as necessary for the DocBook tooling. -# This is done via exported pkg_postinst and pkg_postrm phases. +# This eclass regenerates /etc/sgml/catalog as necessary for the DocBook +# tooling. This is done via exported pkg_postinst and pkg_postrm phases. case ${EAPI:-0} in 7) ;; @@ -50,16 +49,9 @@ sgml-catalog-r1_update_catalog() { # @FUNCTION: sgml-catalog-r1_update_env # @DESCRIPTION: -# Regenerate environment variables and copy them to env.d. +# Remove obsolete environment files. They can break tools such as asciidoc. sgml-catalog-r1_update_env() { - # gensgmlenv doesn't support overriding root - if [[ -z ${ROOT} && -x "${EPREFIX}/usr/bin/gensgmlenv" ]]; then - ebegin "Regenerating SGML environment variables" - gensgmlenv && - grep -v export "${EPREFIX}/etc/sgml/sgml.env" > "${T}"/93sgmltools-lite && - mv "${T}"/93sgmltools-lite "${EPREFIX}/etc/env.d/93sgmltools-lite" - eend "${?}" - fi + rm -f "${EROOT}"/etc/env.d/93sgmltools-lite "${EROOT}"/etc/sgml/sgml.{,c}env } sgml-catalog-r1_pkg_postinst() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass b/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass index 05d963917e..64bc1da040 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: vcs-snapshot.eclass # @MAINTAINER: # mgorny@gentoo.org -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: support eclass for unpacking VCS snapshot tarballs # @DESCRIPTION: # THIS ECLASS IS NOT NECESSARY FOR MODERN GITHUB AND GITLAB SNAPSHOTS. @@ -42,12 +42,13 @@ # and however the tarballs were originally packed, all files will appear # in ${WORKDIR}/${P} and ${WORKDIR}/${P}-otherstuff respectively. -case ${EAPI:-0} in - 0|1|2|3|4|5|6|7) ;; - *) die "vcs-snapshot.eclass API in EAPI ${EAPI} not yet established." +case ${EAPI} in + 6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -EXPORT_FUNCTIONS src_unpack +if [[ ! ${_VCS_SNAPSHOT_ECLASS} ]]; then +_VCS_SNAPSHOT_ECLASS=1 # @FUNCTION: vcs-snapshot_src_unpack # @DESCRIPTION: @@ -102,7 +103,7 @@ vcs-snapshot_src_unpack() { if [[ ! ${renamed_any} ]]; then local w=eerror - [[ ${EAPI} == [0123456] ]] && w=eqawarn + [[ ${EAPI} == 6 ]] && w=eqawarn "${w}" "${FUNCNAME} did not find any archives that needed renaming." "${w}" "Please verify that its usage is really necessary, and remove" "${w}" "the inherit if it is not." @@ -110,3 +111,7 @@ vcs-snapshot_src_unpack() { [[ ${w} == eerror ]] && die "${FUNCNAME}: Unnecessary usage detected" fi } + +fi + +EXPORT_FUNCTIONS src_unpack diff --git a/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass index f22460881e..411b19fcb7 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: waf-utils.eclass @@ -8,22 +8,22 @@ # Original Author: Gilles Dartiguelongue # Various improvements based on cmake-utils.eclass: Tomáš Chvátal # Proper prefix support: Jonathan Callen -# @SUPPORTED_EAPIS: 4 5 6 7 +# @SUPPORTED_EAPIS: 6 7 # @BLURB: common ebuild functions for waf-based packages # @DESCRIPTION: # The waf-utils eclass contains functions that make creating ebuild for # waf-based packages much easier. # Its main features are support of common portage default settings. -[[ ${EAPI} == [45] ]] && inherit eutils inherit multilib toolchain-funcs multiprocessing case ${EAPI:-0} in - 4|5|6|7) EXPORT_FUNCTIONS src_configure src_compile src_install ;; + 6|7) EXPORT_FUNCTIONS src_configure src_compile src_install ;; *) die "EAPI=${EAPI} is not supported" ;; esac # @ECLASS-VARIABLE: WAF_VERBOSE +# @USER_VARIABLE # @DESCRIPTION: # Set to OFF to disable verbose messages during compilation # this is _not_ meant to be set in ebuilds diff --git a/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass b/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass index 219be712e8..a3e75103a0 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: xdg.eclass @@ -6,7 +6,8 @@ # freedesktop-bugs@gentoo.org # @AUTHOR: # Original author: Gilles Dartiguelongue -# @SUPPORTED_EAPIS: 4 5 6 7 +# @SUPPORTED_EAPIS: 5 6 7 8 +# @PROVIDES: xdg-utils # @BLURB: Provides phases for XDG compliant packages. # @DESCRIPTION: # Utility eclass to update the desktop, icon and shared mime info as laid @@ -14,29 +15,47 @@ inherit xdg-utils -case "${EAPI:-0}" in - 4|5|6|7) - EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm +_DEFINE_XDG_SRC_PREPARE=false +case "${EAPI}" in + 5|6|7) + # src_prepare is only exported in EAPI < 8. + EXPORT_FUNCTIONS src_prepare + _DEFINE_XDG_SRC_PREPARE=true ;; - *) die "EAPI=${EAPI} is not supported" ;; + 8) + ;; + *) die "${ECLASS}: EAPI=${EAPI} is not supported" ;; esac +EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm # Avoid dependency loop as both depend on glib-2 if [[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] ; then -DEPEND=" +_XDG_DEPEND=" dev-util/desktop-file-utils x11-misc/shared-mime-info " + +case "${EAPI}" in + 5|6|7) + DEPEND="${_XDG_DEPEND}" + ;; + *) + IDEPEND="${_XDG_DEPEND}" + ;; +esac fi +if ${_DEFINE_XDG_SRC_PREPARE}; then # @FUNCTION: xdg_src_prepare # @DESCRIPTION: # Prepare sources to work with XDG standards. +# Note that this function is only defined and exported in EAPIs < 8. xdg_src_prepare() { xdg_environment_reset - [[ ${EAPI:-0} != [45] ]] && default + [[ ${EAPI} != 5 ]] && default } +fi # @FUNCTION: xdg_pkg_preinst # @DESCRIPTION: diff --git a/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass b/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass index 306cd6ef6f..d5dadbad3f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xorg-3.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: xorg-3.eclass @@ -9,6 +9,7 @@ # Author: Donnie Berkholz # Author: Matt Turner # @SUPPORTED_EAPIS: 7 +# @PROVIDES: multilib-minimal # @BLURB: Reduces code duplication in the modularized X11 ebuilds. # @DESCRIPTION: # This eclass makes trivial X ebuilds possible for apps, drivers, @@ -24,23 +25,39 @@ GIT_ECLASS="" if [[ ${PV} == *9999* ]]; then GIT_ECLASS="git-r3" - XORG_EAUTORECONF="yes" + : ${XORG_EAUTORECONF:="yes"} +fi + +# If we're a font package, but not the font.alias one +FONT_ECLASS="" +if [[ ${CATEGORY} = media-fonts ]]; then + case ${PN} in + font-alias|font-util) + ;; + font*) + # Activate font code in the rest of the eclass + FONT="yes" + FONT_ECLASS="font" + ;; + esac fi # @ECLASS-VARIABLE: XORG_MULTILIB +# @PRE_INHERIT # @DESCRIPTION: # If set to 'yes', the multilib support for package will be enabled. Set # before inheriting this eclass. : ${XORG_MULTILIB:="no"} # we need to inherit autotools first to get the deps -inherit autotools libtool multilib toolchain-funcs flag-o-matic ${GIT_ECLASS} +inherit autotools libtool multilib toolchain-funcs flag-o-matic \ + ${FONT_ECLASS} ${GIT_ECLASS} if [[ ${XORG_MULTILIB} == yes ]]; then inherit multilib-minimal fi -EXPORTED_FUNCTIONS="src_prepare src_configure src_unpack src_compile src_install" +EXPORTED_FUNCTIONS="src_prepare src_configure src_unpack src_compile src_install pkg_postinst pkg_postrm" case "${EAPI:-0}" in 7) ;; *) die "EAPI=${EAPI} is not supported" ;; @@ -52,36 +69,42 @@ EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS} IUSE="" # @ECLASS-VARIABLE: XORG_EAUTORECONF +# @PRE_INHERIT # @DESCRIPTION: # If set to 'yes' and configure.ac exists, eautoreconf will run. Set # before inheriting this eclass. : ${XORG_EAUTORECONF:="no"} # @ECLASS-VARIABLE: XORG_BASE_INDIVIDUAL_URI +# @PRE_INHERIT # @DESCRIPTION: # Set up SRC_URI for individual modular releases. If set to an empty # string, no SRC_URI will be provided by the eclass. : ${XORG_BASE_INDIVIDUAL_URI="https://www.x.org/releases/individual"} # @ECLASS-VARIABLE: XORG_MODULE +# @PRE_INHERIT # @DESCRIPTION: # The subdirectory to download source from. Possible settings are app, -# doc, data, util, driver, lib, proto, xserver. Set above the +# doc, data, util, driver, font, lib, proto, xserver. Set above the # inherit to override the default autoconfigured module. : ${XORG_MODULE:="auto"} if [[ ${XORG_MODULE} == auto ]]; then - case ${CATEGORY} in - app-doc) XORG_MODULE=doc/ ;; - x11-apps|x11-wm) XORG_MODULE=app/ ;; - x11-misc|x11-themes) XORG_MODULE=util/ ;; - x11-base) XORG_MODULE=xserver/ ;; - x11-drivers) XORG_MODULE=driver/ ;; - x11-libs) XORG_MODULE=lib/ ;; - *) XORG_MODULE= ;; + case "${CATEGORY}/${P}" in + app-doc/*) XORG_MODULE=doc/ ;; + media-fonts/*) XORG_MODULE=font/ ;; + x11-apps/*|x11-wm/*) XORG_MODULE=app/ ;; + x11-misc/*|x11-themes/*) XORG_MODULE=util/ ;; + x11-base/*) XORG_MODULE=xserver/ ;; + x11-drivers/*) XORG_MODULE=driver/ ;; + x11-libs/xcb-util-*) XORG_MODULE=xcb/ ;; + x11-libs/*) XORG_MODULE=lib/ ;; + *) XORG_MODULE= ;; esac fi # @ECLASS-VARIABLE: XORG_PACKAGE_NAME +# @PRE_INHERIT # @DESCRIPTION: # For git checkout the git repository might differ from package name. # This variable can be used for proper directory specification @@ -89,10 +112,17 @@ fi HOMEPAGE="https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}" +# @ECLASS-VARIABLE: XORG_TARBALL_SUFFIX +# @PRE_INHERIT +# @DESCRIPTION: +# Most X11 projects provide tarballs as tar.bz2 or tar.xz. This eclass defaults +# to bz2. +: ${XORG_TARBALL_SUFFIX:="bz2"} + if [[ -n ${GIT_ECLASS} ]]; then : ${EGIT_REPO_URI:="https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"} elif [[ -n ${XORG_BASE_INDIVIDUAL_URI} ]]; then - SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.bz2" + SRC_URI="${XORG_BASE_INDIVIDUAL_URI}/${XORG_MODULE}${P}.tar.${XORG_TARBALL_SUFFIX}" fi : ${SLOT:=0} @@ -109,44 +139,48 @@ EAUTORECONF_DEPEND+=" >=sys-devel/libtool-2.2.6a sys-devel/m4" if [[ ${PN} != util-macros ]] ; then - EAUTORECONF_DEPEND+=" >=x11-misc/util-macros-1.18 >=media-fonts/font-util-1.2.0" + EAUTORECONF_DEPEND+=" >=x11-misc/util-macros-1.18" + # Required even by xorg-server + [[ ${PN} == "font-util" ]] || EAUTORECONF_DEPEND+=" >=media-fonts/font-util-1.2.0" fi WANT_AUTOCONF="latest" WANT_AUTOMAKE="latest" for arch in ${XORG_EAUTORECONF_ARCHES}; do EAUTORECONF_DEPENDS+=" ${arch}? ( ${EAUTORECONF_DEPEND} )" done -DEPEND+=" ${EAUTORECONF_DEPENDS}" +unset arch +BDEPEND+=" ${EAUTORECONF_DEPENDS}" [[ ${XORG_EAUTORECONF} != no ]] && BDEPEND+=" ${EAUTORECONF_DEPEND}" unset EAUTORECONF_DEPENDS unset EAUTORECONF_DEPEND -# @ECLASS-VARIABLE: XORG_STATIC -# @DESCRIPTION: -# Enables static-libs useflag. Set to no, if your package gets: -# -# QA: configure: WARNING: unrecognized options: --disable-static -: ${XORG_STATIC:="yes"} +if [[ ${FONT} == yes ]]; then + RDEPEND+=" media-fonts/encodings + >=x11-apps/mkfontscale-1.2.0" + PDEPEND+=" media-fonts/font-alias" + DEPEND+=" >=media-fonts/font-util-1.2.0 + >=x11-apps/mkfontscale-1.2.0" + BDEPEND+=" x11-apps/bdftopcf" -# Add static-libs useflag where useful. -if [[ ${XORG_STATIC} == yes \ - && ${CATEGORY} != app-doc \ - && ${CATEGORY} != x11-apps \ - && ${CATEGORY} != x11-drivers \ - && ${PN} != util-macros \ - && ${PN} != xbitmaps \ - && ${PN} != xorg-cf-files \ - && ${PN/xcursor} = ${PN} ]]; then - IUSE+=" static-libs" -fi + # @ECLASS-VARIABLE: FONT_DIR + # @PRE_INHERIT + # @DESCRIPTION: + # If you're creating a font package and the suffix of PN is not equal to + # the subdirectory of /usr/share/fonts/ it should install into, set + # FONT_DIR to that directory or directories. Set before inheriting this + # eclass. + [[ -z ${FONT_DIR} ]] && FONT_DIR=${PN##*-} -if [[ ${XORG_MULTILIB} == yes ]]; then - BDEPEND+=" virtual/pkgconfig[${MULTILIB_USEDEP}]" -else - BDEPEND+=" virtual/pkgconfig" + # Fix case of font directories + FONT_DIR=${FONT_DIR/ttf/TTF} + FONT_DIR=${FONT_DIR/otf/OTF} + FONT_DIR=${FONT_DIR/type1/Type1} + FONT_DIR=${FONT_DIR/speedo/Speedo} fi +BDEPEND+=" virtual/pkgconfig" # @ECLASS-VARIABLE: XORG_DRI +# @PRE_INHERIT # @DESCRIPTION: # Possible values are "always" or the value of the useflag DRI capabilities # are required for. Default value is "no" @@ -180,6 +214,7 @@ fi # @ECLASS-VARIABLE: XORG_DOC +# @PRE_INHERIT # @DESCRIPTION: # Possible values are "always" or the value of the useflag doc packages # are required for. Default value is "no" @@ -219,6 +254,15 @@ debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND=${RDEPEND}" debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: PDEPEND=${PDEPEND}" debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: BDEPEND=${BDEPEND}" +# @FUNCTION: xorg-3_pkg_setup +# @DESCRIPTION: +# Setup prefix compat +xorg-3_pkg_setup() { + debug-print-function ${FUNCNAME} "$@" + + [[ ${FONT} == yes ]] && font_pkg_setup "$@" +} + # @FUNCTION: xorg-3_src_unpack # @DESCRIPTION: # Simply unpack source code. @@ -230,6 +274,8 @@ xorg-3_src_unpack() { else unpack ${A} fi + + [[ -n ${FONT} ]] && einfo "Detected font directory: ${FONT_DIR}" } # @FUNCTION: xorg-3_reconf_source @@ -265,6 +311,26 @@ xorg-3_src_prepare() { xorg-3_reconf_source } +# @FUNCTION: xorg-3_font_configure +# @DESCRIPTION: +# If a font package, perform any necessary configuration steps +xorg-3_font_configure() { + debug-print-function ${FUNCNAME} "$@" + + # Pass --with-fontrootdir to override pkgconf SYSROOT behavior. + # https://bugs.gentoo.org/815520 + if grep -q -s "with-fontrootdir" "${ECONF_SOURCE:-.}"/configure; then + FONT_OPTIONS+=( --with-fontrootdir="${EPREFIX}"/usr/share/fonts ) + fi + + if has nls ${IUSE//+} && ! use nls; then + if ! grep -q -s "disable-all-encodings" ${ECONF_SOURCE:-.}/configure; then + die "--disable-all-encodings option not available in configure" + fi + FONT_OPTIONS+=( --disable-all-encodings --enable-iso8859-1 ) + fi +} + # @FUNCTION: xorg-3_flags_setup # @DESCRIPTION: # Set up CFLAGS for a debug build @@ -303,6 +369,9 @@ xorg-3_src_configure() { # @DEFAULT_UNSET local xorgconfadd=("${XORG_CONFIGURE_OPTIONS[@]}") + local FONT_OPTIONS=() + [[ -n "${FONT}" ]] && xorg-3_font_configure + # Check if package supports disabling of dep tracking # Fixes warnings like: # WARNING: unrecognized options: --disable-dependency-tracking @@ -315,9 +384,16 @@ xorg-3_src_configure() { local selective_werror="--disable-selective-werror" fi + # Check if package supports disabling of static libraries + if grep -q -s "able-static" ${ECONF_SOURCE:-.}/configure; then + local no_static="--disable-static" + fi + local econfargs=( ${dep_track} ${selective_werror} + ${no_static} + "${FONT_OPTIONS[@]}" "${xorgconfadd[@]}" ) @@ -369,6 +445,7 @@ xorg-3_src_install() { multilib-minimal_src_install "$@" else emake DESTDIR="${D}" "${install_args[@]}" "$@" install || die "emake install failed" + einstalldocs fi # Many X11 libraries unconditionally install developer documentation @@ -383,4 +460,81 @@ xorg-3_src_install() { # Don't install libtool archives (even for modules) find "${D}" -type f -name '*.la' -delete || die + + [[ -n ${FONT} ]] && remove_font_metadata +} + +# @FUNCTION: xorg-3_pkg_postinst +# @DESCRIPTION: +# Run X-specific post-installation tasks on the live filesystem. The +# only task right now is some setup for font packages. +xorg-3_pkg_postinst() { + debug-print-function ${FUNCNAME} "$@" + + if [[ -n ${FONT} ]]; then + create_fonts_scale + create_fonts_dir + font_pkg_postinst "$@" + + ewarn "Installed fonts changed. Run 'xset fp rehash' if you are using non-fontconfig applications." + fi +} + +# @FUNCTION: xorg-3_pkg_postrm +# @DESCRIPTION: +# Run X-specific post-removal tasks on the live filesystem. The only +# task right now is some cleanup for font packages. +xorg-3_pkg_postrm() { + debug-print-function ${FUNCNAME} "$@" + + if [[ -n ${FONT} ]]; then + # if we're doing an upgrade, postinst will do + if [[ -z ${REPLACED_BY_VERSION} ]]; then + create_fonts_scale + create_fonts_dir + font_pkg_postrm "$@" + fi + fi +} + +# @FUNCTION: remove_font_metadata +# @DESCRIPTION: +# Don't let the package install generated font files that may overlap +# with other packages. Instead, they're generated in pkg_postinst(). +remove_font_metadata() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${FONT_DIR} != Speedo && ${FONT_DIR} != CID ]]; then + einfo "Removing font metadata" + rm -rf "${ED}"/usr/share/fonts/${FONT_DIR}/fonts.{scale,dir,cache-1} + fi +} + +# @FUNCTION: create_fonts_scale +# @DESCRIPTION: +# Create fonts.scale file, used by the old server-side fonts subsystem. +create_fonts_scale() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${FONT_DIR} != Speedo && ${FONT_DIR} != CID ]]; then + ebegin "Generating fonts.scale" + mkfontscale \ + -a "${EROOT}/usr/share/fonts/encodings/encodings.dir" \ + -- "${EROOT}/usr/share/fonts/${FONT_DIR}" + eend $? + fi +} + +# @FUNCTION: create_fonts_dir +# @DESCRIPTION: +# Create fonts.dir file, used by the old server-side fonts subsystem. +create_fonts_dir() { + debug-print-function ${FUNCNAME} "$@" + + ebegin "Generating fonts.dir" + mkfontdir \ + -e "${EROOT}"/usr/share/fonts/encodings \ + -e "${EROOT}"/usr/share/fonts/encodings/large \ + -- "${EROOT}/usr/share/fonts/${FONT_DIR}" + eend $? } diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest b/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest index a2a4982b3a..cff7dcacd3 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/Manifest @@ -1,5 +1,2 @@ -DIST libpng-1.2.59.tar.xz 657424 BLAKE2B a64a8e5c914a20b1f16a219b508b06d12ff28903083792cf07dae841ad13b3636b9d715d9bbfc459a134dfdf2a9b37bac1fbcff14a91c214340325ba8266431e SHA512 bfdc51eca72a76697f1396611a08aa4ce6a169837197699c55d845fdef17850e8f7665b7b81ba815c277453737f12eeb41409ff9c7eca1ac0c0d134c44492a6e -DIST libpng-1.5.30-apng.patch.gz 10272 BLAKE2B 335b99e30a476b358483b0ca44d895580bddad05d18ab7f47b4cfa383a04c53c1db7d5773919445c281b0b0921485b946cb67c36db07aad494f051d4db19e4e1 SHA512 1c06e2e1b2420580d4399b7b752df9ed193c81febcc9983351fc72ce3900dc43a433780e7a0184b612b7723d8870a514db7398ec0c081dabe6cb4ea824880236 -DIST libpng-1.5.30.tar.xz 756992 BLAKE2B 02813c7cf06e61d429fe963ae2c1e68bfb390b8eeea52147f582729b4a86c73055c2c79eb3d0b533587dd5a16dc0abf7afd986794c01ec59ae0a7dfe3333a989 SHA512 8716c6720c1ddbb38f439df42dbb472d37490fd207efe59bd872ce9adec7359025dc84544efddd19c8e339ecc28389a746e6987ff41ac6e76915c1e1d2c6f20d DIST libpng-1.6.37-apng.patch.gz 10334 BLAKE2B 98660f2c13a78c93f937adf2859447cb0e6fa014b2ef6f0571c910593d94cc0a50137d271dbded0b571a3bc0ce4e9f765be48130ee4ae89884fb7292a1b0cf6e SHA512 a9365257a33d67d7e7284494a37747bb1f3ab89f42a1730f2745c604538f59861828dc91d9bc1d08a5b79ab2f4eef1bb9e438dda1774b3548a1c56be77f8435f DIST libpng-1.6.37.tar.xz 1012272 BLAKE2B 48e8f48a88e0db6fcbc0c0f1a4d5bda6e6c8b03255bacdc60e353256ae41ccc01b5b2a7e0e7b0dea236c53a3b9d1dd89d4bb19445afbebc37bf0f92691452424 SHA512 59e8c1059013497ae616a14c3abbe239322d3873c6ded0912403fc62fb260561768230b6ab997e2cccc3b868c09f539fd13635616b9fa0dd6279a3f63ec7e074 diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.2.59.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.2.59.ebuild deleted file mode 100644 index 1cc6dadbc6..0000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.2.59.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -# this ebuild is only for the libpng12.so.0 SONAME for ABI compat - -inherit libtool multilib-minimal - -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="http://www.libpng.org/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz" - -LICENSE="libpng" -SLOT="1.2" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux" -IUSE="" - -RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}] - !=media-libs/libpng-1.2*:0" -DEPEND="${RDEPEND} - app-arch/xz-utils" - -DOCS="" - -src_prepare() { - default - elibtoolize -} - -multilib_src_configure() { - ECONF_SOURCE=${S} econf --disable-static -} - -multilib_src_compile() { - emake libpng12.la -} - -multilib_src_install() { - newlib.so .libs/libpng12.so.0.* libpng12.so.0 -} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.5.30.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.5.30.ebuild deleted file mode 100644 index 0d291a42e7..0000000000 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.5.30.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -# this ebuild is only for the libpng15.so.15 SONAME for ABI compat - -inherit eutils libtool multilib-minimal - -DESCRIPTION="Portable Network Graphics library" -HOMEPAGE="http://www.libpng.org/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz - apng? ( https://dev.gentoo.org/~polynomial-c/${P}-apng.patch.gz )" - -LICENSE="libpng" -SLOT="1.5" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" -IUSE="apng neon" - -RDEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] - !=media-libs/libpng-1.5*:0" -DEPEND="${RDEPEND} - app-arch/xz-utils" - -DOCS="" - -pkg_setup() { - local _preserved_lib=${EROOT}/usr/$(get_libdir)/libpng15.so.15 - [[ -e ${_preserved_lib} ]] && rm -f "${_preserved_lib}" -} - -src_prepare() { - default - if use apng; then - # fix windows path in patch file. Please check for each release if this can be removed again. - sed 's@scripts\\symbols.def@scripts/symbols.def@' \ - -i "${WORKDIR}"/${PN}-*-apng.patch || die - eapply "${WORKDIR}"/${PN}-*-apng.patch - # Don't execute symbols check with apng patch wrt #378111 - sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die - fi - elibtoolize -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" \ - econf \ - --disable-static \ - --enable-arm-neon=$(usex neon) -} - -multilib_src_compile() { - emake libpng15.la -} - -multilib_src_install() { - newlib.so .libs/libpng15.so.15.* libpng15.so.15 -} diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.37.ebuild b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.37-r2.ebuild similarity index 60% rename from sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.37.ebuild rename to sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.37-r2.ebuild index fda499f3c3..38d7b6e619 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.37.ebuild +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/libpng-1.6.37-r2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 inherit libtool multilib-minimal @@ -12,12 +12,13 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz LICENSE="libpng2" SLOT="0/16" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" -IUSE="apng cpu_flags_x86_sse neon static-libs" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +IUSE="apng cpu_flags_arm_neon cpu_flags_x86_sse static-libs" RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND} - app-arch/xz-utils" +DEPEND="${RDEPEND}" + +DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) src_prepare() { default @@ -31,15 +32,15 @@ src_prepare() { multilib_src_configure() { local myeconfargs=( + $(use_enable cpu_flags_arm_neon arm-neon check) $(use_enable cpu_flags_x86_sse intel-sse) $(use_enable static-libs static) - --enable-arm-neon=$(usex neon) ) ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } multilib_src_install_all() { - DOCS=( ANNOUNCE CHANGES libpng-manual.txt README TODO ) - einstalldocs - find "${ED}" -name '*.la' -delete || die + default + + find "${ED}" \( -type f -o -type l \) -name '*.la' -delete || die } diff --git a/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml b/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml index 973c824aaa..10e62abda6 100644 --- a/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/media-libs/libpng/metadata.xml @@ -1,24 +1,23 @@ - + base-system@gentoo.org Gentoo Base System + + codec@gentoo.org + Codec project + support unofficial APNG (Animated PNG) spec cpe:/a:libpng:libpng - apng + glennrp/libpng + libpng - For building against. This is the only slot - that provides headers and command line tools. - For binary compatibility, provides libpng12.so.0 - only. - For binary compatibility, provides libpng15.so.15 - only. Reflect ABI compatibility for libpng.so. diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/Manifest b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/Manifest index f5809249d6..95b30d057e 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/Manifest +++ b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/Manifest @@ -1,2 +1 @@ -DIST libssh2-1.8.0.tar.gz 854916 BLAKE2B 618c4a19789f2e5eda85852760dffff5672d420d2fa50393b05b7398a1913f74e5f6695f078628050ac9851965d6e45cf410b7c4590a8f18d67c718c829ab352 SHA512 289aa45c4f99653bebf5f99565fe9c519abc204feb2084b47b7cc3badc8bf4ecdedd49ea6acdce8eb902b3c00995d5f92a3ca77b2508b92f04ae0e7de7287558 -DIST libssh2-1.8.2.tar.gz 859587 BLAKE2B 58e0854e83001c424a767ceb4ddfb535373320d8319aa632244dc14434276db7c8b7a77d4a5f22fe8e397f1050b33516d2fca1162658a9f414166f560bc1f358 SHA512 390ab4ad93bb738415ec11a6eb92806c9b9e9e5d8ee7c442d841a58b4292c1c447a9bc99e153ba464e2e11f9c0d1913469303598c3046722d1ae821991e8cb93 +DIST libssh2-1.10.0.tar.gz 965044 BLAKE2B 0e6f571cc723e0050bf7ba7492f361ef222547dcbc311019cb6762f01405b4906e0418207a7d484c5170bee5e6f666827a7ea0d0cf233f684f999f896ce0b415 SHA512 e064ee1089eb8e6cd5fa2617f4fd8ff56c2721c5476775a98bdb68c6c4ee4d05c706c3bb0eb479a27a8ec0b17a8a5ef43e1d028ad3f134519aa582d3981a3a30 diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-libgcrypt-prefix.patch b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-libgcrypt-prefix.patch deleted file mode 100644 index 10065626fe..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-libgcrypt-prefix.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -412,9 +412,9 @@ AC_DEFUN([LIBSSH2_CHECKFOR_GCRYPT], [ - - old_LDFLAGS=$LDFLAGS - old_CFLAGS=$CFLAGS -- if test -n "$use_libgcrypt" && test "$use_libgcrypt" != "no"; then -- LDFLAGS="$LDFLAGS -L$use_libgcrypt/lib" -- CFLAGS="$CFLAGS -I$use_libgcrypt/include" -+ if test -n "$with_libgcrypt_prefix" && test "$use_libgcrypt" != "no"; then -+ LDFLAGS="$LDFLAGS -L$with_libgcrypt_prefix/lib" -+ CFLAGS="$CFLAGS -I$with_libgcrypt_prefix/include" - fi - AC_LIB_HAVE_LINKFLAGS([gcrypt], [], [ - #include ---- a/configure -+++ b/configure -@@ -14250,9 +14235,9 @@ - - old_LDFLAGS=$LDFLAGS - old_CFLAGS=$CFLAGS -- if test -n "$use_libgcrypt" && test "$use_libgcrypt" != "no"; then -- LDFLAGS="$LDFLAGS -L$use_libgcrypt/lib" -- CFLAGS="$CFLAGS -I$use_libgcrypt/include" -+ if test -n "$with_libgcrypt_prefix" && test "$use_libgcrypt" != "no"; then -+ LDFLAGS="$LDFLAGS -L$with_libgcrypt_prefix/lib" -+ CFLAGS="$CFLAGS -I$with_libgcrypt_prefix/include" - fi - - diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-openssl11-memleak.patch b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-openssl11-memleak.patch deleted file mode 100644 index d7d41f976c..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-openssl11-memleak.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 97518ca8bda91ce12c503197a98fa71690cb67f9 Mon Sep 17 00:00:00 2001 -From: Will Cosgrove -Date: Fri, 12 May 2017 16:34:26 -0700 -Subject: [PATCH] Fix memory leak of crypt_ctx->h using openSSL 1.1+ (#177) - -Need to use EVP_CIPHER_CTX_free instead of EVP_CIPHER_CTX_reset. ---- - src/openssl.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/openssl.h b/src/openssl.h -index 6aa12192..2bd80b96 100644 ---- a/src/openssl.h -+++ b/src/openssl.h -@@ -267,7 +267,7 @@ int _libssh2_md5_init(libssh2_md5_ctx *ctx); - #define _libssh2_cipher_3des EVP_des_ede3_cbc - - #ifdef HAVE_OPAQUE_STRUCTS --#define _libssh2_cipher_dtor(ctx) EVP_CIPHER_CTX_reset(*(ctx)) -+#define _libssh2_cipher_dtor(ctx) EVP_CIPHER_CTX_free(*(ctx)) - #else - #define _libssh2_cipher_dtor(ctx) EVP_CIPHER_CTX_cleanup(ctx) - #endif diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-openssl11.patch b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-openssl11.patch deleted file mode 100644 index 0824dd0617..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/files/libssh2-1.8.0-openssl11.patch +++ /dev/null @@ -1,70 +0,0 @@ -From c423b543ca45d6caca7b94763bf65ff79d07e811 Mon Sep 17 00:00:00 2001 -From: Marcel Raad -Date: Wed, 24 May 2017 19:21:22 +0200 -Subject: [PATCH] openssl: fix build with OpenSSL 1.1 API (#176) - -When building with OPENSSL_API_COMPAT=0x10100000L, OpenSSL_add_all_algorithms -and OpenSSL_add_all_ciphers don't exist. The corresponding functionality is -handled automatically with OpenSSL 1.1. ---- - src/openssl.c | 4 ++++ - src/openssl.h | 6 ++++++ - 2 files changed, 10 insertions(+) - -diff --git a/src/openssl.c b/src/openssl.c -index f10f2921..25cef082 100644 ---- a/src/openssl.c -+++ b/src/openssl.c -@@ -1056,6 +1056,7 @@ _libssh2_pub_priv_keyfile(LIBSSH2_SESSION *session, - "Unable to extract public key from private key " - "file: Unable to open private key file"); - } -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - if (!EVP_get_cipherbyname("des")) { - /* If this cipher isn't loaded it's a pretty good indication that none - * are. I have *NO DOUBT* that there's a better way to deal with this -@@ -1064,6 +1065,7 @@ _libssh2_pub_priv_keyfile(LIBSSH2_SESSION *session, - */ - OpenSSL_add_all_ciphers(); - } -+#endif - BIO_reset(bp); - pk = PEM_read_bio_PrivateKey(bp, NULL, NULL, (void*)passphrase); - BIO_free(bp); -@@ -1132,6 +1134,7 @@ _libssh2_pub_priv_keyfilememory(LIBSSH2_SESSION *session, - if (!bp) { - return -1; - } -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - if (!EVP_get_cipherbyname("des")) { - /* If this cipher isn't loaded it's a pretty good indication that none - * are. I have *NO DOUBT* that there's a better way to deal with this -@@ -1140,6 +1143,7 @@ _libssh2_pub_priv_keyfilememory(LIBSSH2_SESSION *session, - */ - OpenSSL_add_all_ciphers(); - } -+#endif - BIO_reset(bp); - pk = PEM_read_bio_PrivateKey(bp, NULL, NULL, (void*)passphrase); - BIO_free(bp); -diff --git a/src/openssl.h b/src/openssl.h -index 2bd80b96..d8874286 100644 ---- a/src/openssl.h -+++ b/src/openssl.h -@@ -226,10 +226,16 @@ int _libssh2_md5_init(libssh2_md5_ctx *ctx); - #define libssh2_hmac_cleanup(ctx) HMAC_cleanup(ctx) - #endif - -+#if OPENSSL_VERSION_NUMBER >= 0x10100000L -+#define libssh2_crypto_init() \ -+ ENGINE_load_builtin_engines(); \ -+ ENGINE_register_all_complete() -+#else - #define libssh2_crypto_init() \ - OpenSSL_add_all_algorithms(); \ - ENGINE_load_builtin_engines(); \ - ENGINE_register_all_complete() -+#endif - - #define libssh2_crypto_exit() - diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.2.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.10.0.ebuild similarity index 50% rename from sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.2.ebuild rename to sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.10.0.ebuild index 3e9d5fcb91..ff53c92346 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.10.0.ebuild @@ -1,27 +1,28 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 +CMAKE_ECLASS=cmake inherit cmake-multilib DESCRIPTION="Library implementing the SSH2 protocol" HOMEPAGE="https://www.libssh2.org" -SRC_URI="https://www.${PN}.org/download/${P}.tar.gz" +SRC_URI="https://www.libssh2.org/download/${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris" -IUSE="gcrypt libressl mbedtls zlib" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris" +IUSE="gcrypt mbedtls zlib" REQUIRED_USE="?? ( gcrypt mbedtls )" +# Tests try to set containers up using docker (and fail for some reason). RESTRICT="test" RDEPEND=" gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}] ) !gcrypt? ( - mbedtls? ( net-libs/mbedtls[${MULTILIB_USEDEP}] ) + mbedtls? ( net-libs/mbedtls:0=[${MULTILIB_USEDEP}] ) !mbedtls? ( - !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) ) zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) @@ -30,13 +31,6 @@ DEPEND=" ${RDEPEND} " -PATCHES=( - "${FILESDIR}"/${PN}-1.8.0-libgcrypt-prefix.patch - "${FILESDIR}"/${PN}-1.8.0-mansyntax_sh.patch - "${FILESDIR}"/${PN}-1.8.0-openssl11-memleak.patch - "${FILESDIR}"/${PN}-1.8.0-openssl11.patch -) - multilib_src_configure() { local crypto_backend=OpenSSL if use gcrypt; then @@ -50,12 +44,10 @@ multilib_src_configure() { -DCRYPTO_BACKEND=${crypto_backend} -DENABLE_ZLIB_COMPRESSION=$(usex zlib) ) - cmake-utils_src_configure + cmake_src_configure } multilib_src_install_all() { einstalldocs find "${ED}" -name '*.la' -delete || die - mv "${ED}"/usr/share/doc/${PN}/* "${ED}"/usr/share/doc/${PF}/ || die - rm -r "${ED}"/usr/share/doc/${PN}/ || die } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.0-r1.ebuild deleted file mode 100644 index 3a4f0b2a6f..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.0-r1.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit multilib-minimal - -DESCRIPTION="Library implementing the SSH2 protocol" -HOMEPAGE="https://www.libssh2.org" -SRC_URI="https://www.${PN}.org/download/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris" -IUSE="gcrypt libressl static-libs test zlib" - -RDEPEND=" - !gcrypt? ( - !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - ) - gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) -" -DEPEND="${RDEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.8.0-libgcrypt-prefix.patch - "${FILESDIR}"/${PN}-1.8.0-mansyntax_sh.patch - "${FILESDIR}"/${PN}-1.8.0-openssl11.patch - "${FILESDIR}"/${PN}-1.8.0-openssl11-memleak.patch -) - -multilib_src_configure() { - # Disable tests that require extra permissions (bug #333319) - use test && local -x ac_cv_path_SSHD= - - ECONF_SOURCE=${S} econf \ - $(use_with zlib libz) \ - $(usex gcrypt --with-libgcrypt --with-openssl) \ - $(use_enable static-libs static) -} - -multilib_src_install_all() { - einstalldocs - find "${D}" -name '*.la' -delete || die -} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.0-r2.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.0-r2.ebuild deleted file mode 100644 index 7eb5156df2..0000000000 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-1.8.0-r2.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit cmake-multilib - -DESCRIPTION="Library implementing the SSH2 protocol" -HOMEPAGE="https://www.libssh2.org" -SRC_URI="https://www.${PN}.org/download/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris" -IUSE="gcrypt libressl mbedtls zlib" -REQUIRED_USE="?? ( gcrypt mbedtls )" -RESTRICT="test" - -RDEPEND=" - gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}] ) - !gcrypt? ( - mbedtls? ( net-libs/mbedtls[${MULTILIB_USEDEP}] ) - !mbedtls? ( - !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - ) - ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) -" -DEPEND=" - ${RDEPEND} -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.8.0-libgcrypt-prefix.patch - "${FILESDIR}"/${PN}-1.8.0-mansyntax_sh.patch - "${FILESDIR}"/${PN}-1.8.0-openssl11-memleak.patch - "${FILESDIR}"/${PN}-1.8.0-openssl11.patch -) - -multilib_src_configure() { - local crypto_backend=OpenSSL - if use gcrypt; then - crypto_backend=Libgcrypt - elif use mbedtls; then - crypto_backend=mbedTLS - fi - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=ON - -DCRYPTO_BACKEND=${crypto_backend} - -DENABLE_ZLIB_COMPRESSION=$(usex zlib) - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -name '*.la' -delete || die - mv "${ED}"/usr/share/doc/${PN}/* "${ED}"/usr/share/doc/${PF}/ || die - rm -r "${ED}"/usr/share/doc/${PN}/ || die -} diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-9999.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-9999.ebuild index d1797b7dcf..275a78e9da 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/libssh2-9999.ebuild @@ -1,7 +1,8 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 +CMAKE_ECLASS=cmake inherit git-r3 cmake-multilib DESCRIPTION="Library implementing the SSH2 protocol" @@ -11,17 +12,16 @@ EGIT_REPO_URI="https://github.com/libssh2/libssh2" LICENSE="BSD" SLOT="0" KEYWORDS="" -IUSE="gcrypt libressl mbedtls zlib" +IUSE="gcrypt mbedtls zlib" REQUIRED_USE="?? ( gcrypt mbedtls )" RESTRICT="test" RDEPEND=" gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}] ) !gcrypt? ( - mbedtls? ( net-libs/mbedtls[${MULTILIB_USEDEP}] ) + mbedtls? ( net-libs/mbedtls:0=[${MULTILIB_USEDEP}] ) !mbedtls? ( - !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) ) zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) @@ -47,12 +47,10 @@ multilib_src_configure() { -DCRYPTO_BACKEND=${crypto_backend} -DENABLE_ZLIB_COMPRESSION=$(usex zlib) ) - cmake-utils_src_configure + cmake_src_configure } multilib_src_install_all() { einstalldocs find "${ED}" -name '*.la' -delete || die - mv "${ED}"/usr/share/doc/${PN}/* "${ED}"/usr/share/doc/${PF}/ || die - rm -r "${ED}"/usr/share/doc/${PN}/ || die } diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/metadata.xml b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/metadata.xml index 2149f2ed0c..f072d71970 100644 --- a/sdk_container/src/third_party/portage-stable/net-libs/libssh2/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/net-libs/libssh2/metadata.xml @@ -1,5 +1,5 @@ - + netmon@gentoo.org @@ -10,7 +10,6 @@ Use dev-libs/libgcrypt instead of dev-libs/openssl - Use dev-libs/libressl instead of dev-libs/openssl Use net-libs/mbedtls instead of dev-libs/openssl diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/Manifest b/sdk_container/src/third_party/portage-stable/sys-devel/m4/Manifest index 0a19e0f311..bc43b9b6b9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/Manifest @@ -1,2 +1,2 @@ -DIST m4-1.4.17.tar.xz 1149088 BLAKE2B ccba6a1cd80de241bc2e755addbf4876b00ab776e0a3c85691998e3e84e8a091d57d8c3e9b43a115e52e416450de791662a54ca8e64e1603a166029164f140ce SHA512 406e6e97c3f5c5f3c8055bac748d4fe8c2e861d97e84ab6d840a2caa7df04f523cc662d6d51f6afae7d6c219d03693c7ae0c1e669a80246a3ceb5e8342b82389 -DIST m4-1.4.18.tar.xz 1207688 BLAKE2B debfaa4d25af6f583e2cd703e77b73775790f48f34e878eddd820c6b244a065c69495473ce5067be1f20ca07b2d6af9f90cffd33e12c18fd719c0d234eb5462a SHA512 06f583efc3855cd8477d8347544f4ae5153a3e50aea74d21968afa7214784ea3ddfc02d0a2b11324120d76a19f2e804d20de11a456b5da929eb6ae469519b174 +DIST m4-1.4.19-test-198-sysval-r1.patch.gz 6292 BLAKE2B 62f52c8bb75e7b8f11e487906f1ce47069ea6d3095fd6532aa6b47bcd8109b7cd733fde26915d449a1cfc326f27f5ed83ba29a5a80687b8b9bdb73c8d87e96b8 SHA512 c3e7d4c1631e401c6b5477c22fd5de837188acf9d72551b116c665a927d1799b1fb249e90c9fb4f6f2f328ee84b2e4dd0bf54f684139997c19ee5b69a3e9284d +DIST m4-1.4.19.tar.xz 1654908 BLAKE2B 08694485a49c542761fa9a7db4d7609f4dfb08a5c6b785b57f2e14cf1f696c2a1c788bb5eb934e8159a632b63ff071dfe42511d0109d7b1828f46d33c8bf416a SHA512 47f595845c89709727bda0b3fc78e3188ef78ec818965b395532e7041cabe9e49677ee4aca3d042930095a7f8df81de3da1026b23b6897be471f6cf13ddd512b diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.17-posix_spawn.patch b/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.17-posix_spawn.patch deleted file mode 100644 index 5954cc35d5..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.17-posix_spawn.patch +++ /dev/null @@ -1,111 +0,0 @@ -This fixes the search for posix_spawn() to use AC_SEARCH_LIBS which -is needed for uClibc which puts the function in librt [1]. The fix -is in gnulib commit d6eab2e [2], but we can't just apply that patch -and autoreconf because that means we must depend on autotools.eclass -and this leads to a circular dependency. So we have to patch -configure directlly. - -[1] https://bugs.gentoo.org/show_bug.cgi?id=580688 -[2] http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=d6eab2e70fc5ccc82a73e5c988b76a229e4cd3d5 -[3] https://bugs.gentoo.org/show_bug.cgi?id=581086 - -Signed-off-by: Anthony G. Basile - -diff -Naur m4-1.4.17.orig/configure m4-1.4.17/configure ---- m4-1.4.17.orig/configure 2013-09-22 06:38:28.000000000 +0000 -+++ m4-1.4.17/configure 2016-04-25 22:27:12.774118561 +0000 -@@ -808,6 +808,7 @@ - GNULIB_SIGNAL_H_SIGPIPE - GNULIB_RAISE - GNULIB_PTHREAD_SIGMASK -+LIB_POSIX_SPAWN - REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN - REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2 - REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE -@@ -3590,7 +3591,6 @@ - as_fn_append ac_func_list " mkstemp" - as_fn_append ac_func_list " nl_langinfo" - as_fn_append ac_func_list " pipe2" --as_fn_append ac_func_list " posix_spawn" - gl_printf_safe=yes - as_fn_append ac_func_list " isblank" - as_fn_append ac_func_list " iswctype" -@@ -15877,8 +15881,78 @@ - - - -+ LIB_POSIX_SPAWN= -+ -+ gl_saved_libs=$LIBS -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing posix_spawn" >&5 -+$as_echo_n "checking for library containing posix_spawn... " >&6; } -+if ${ac_cv_search_posix_spawn+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_func_search_save_LIBS=$LIBS -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char posix_spawn (); -+int -+main () -+{ -+return posix_spawn (); -+ ; -+ return 0; -+} -+_ACEOF -+for ac_lib in '' rt; do -+ if test -z "$ac_lib"; then -+ ac_res="none required" -+ else -+ ac_res=-l$ac_lib -+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" -+ fi -+ if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_search_posix_spawn=$ac_res -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext -+ if ${ac_cv_search_posix_spawn+:} false; then : -+ break -+fi -+done -+if ${ac_cv_search_posix_spawn+:} false; then : -+ -+else -+ ac_cv_search_posix_spawn=no -+fi -+rm conftest.$ac_ext -+LIBS=$ac_func_search_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_posix_spawn" >&5 -+$as_echo "$ac_cv_search_posix_spawn" >&6; } -+ac_res=$ac_cv_search_posix_spawn -+if test "$ac_res" != no; then : -+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -+ test "$ac_cv_search_posix_spawn" = "none required" || -+ LIB_POSIX_SPAWN=$ac_cv_search_posix_spawn -+fi -+ -+ for ac_func in posix_spawn -+do : -+ ac_fn_c_check_func "$LINENO" "posix_spawn" "ac_cv_func_posix_spawn" -+if test "x$ac_cv_func_posix_spawn" = xyes; then : -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_POSIX_SPAWN 1 -+_ACEOF - -+fi -+done - -+ LIBS=$gl_saved_libs - - if test $ac_cv_func_posix_spawn != yes; then - HAVE_POSIX_SPAWN=0 diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.18-darwin17-printf-n.patch b/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.18-darwin17-printf-n.patch deleted file mode 100644 index 1c77ed773c..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.18-darwin17-printf-n.patch +++ /dev/null @@ -1,30 +0,0 @@ -http://lists.gnu.org/archive/html/bug-gnulib/2017-07/txtmumXtpD69v.txt - -extract of only the relevant hunk to avoid irrelevant conflicts - -From c41f233c4c38e84023a16339782ee306f03e7f59 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Fri, 7 Jul 2017 14:10:20 -0700 -Subject: [PATCH] vasnprintf: port to macOS 10.13 - -Problem reported by comex in: -http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00056.html -* lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS. - -diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c -index 9c2af0e..fecaf27 100644 ---- a/lib/vasnprintf.c -+++ b/lib/vasnprintf.c -@@ -4869,7 +4869,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, - #endif - *fbp = dp->conversion; - #if USE_SNPRINTF --# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -+# if ! (((__GLIBC__ > 2 \ -+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \ -+ && !defined __UCLIBC__) \ -+ || (defined __APPLE__ && defined __MACH__) \ -+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.18-glibc228.patch b/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.18-glibc228.patch deleted file mode 100644 index 6b5593bfa6..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.18-glibc228.patch +++ /dev/null @@ -1,310 +0,0 @@ -Fix build failure on glibc-2.28: - fseeko.c: In function 'rpl_fseeko': - fseeko.c:110:4: error: #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, then report this to bug-gnulib." - #error "Please port gnulib fseeko.c to your platform! Look at the code in fseeko.c, then report this to bug-gnulib." - -Patch by milan hodoscek. - -https://bugs.gentoo.org/663924 ---- a/old/stdio-impl.h -+++ b/lib/stdio-impl.h -@@ -1,5 +1,5 @@ - /* Implementation details of FILE streams. -- Copyright (C) 2007-2008, 2010-2016 Free Software Foundation, Inc. -+ Copyright (C) 2007-2008, 2010-2018 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -12,12 +12,18 @@ - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License -- along with this program. If not, see . */ -+ along with this program. If not, see . */ - - /* Many stdio implementations have the same logic and therefore can share - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this -+ problem by defining it ourselves. FIXME: Do not rely on glibc -+ internals. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif - - /* BSD stdio derived implementations. */ - -@@ -29,10 +35,10 @@ - #include /* For detecting Plan9. */ - - #if defined __sferror || defined __DragonFly__ || defined __ANDROID__ -- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ - - # if defined __DragonFly__ /* DragonFly */ -- /* See . */ -+ /* See . */ - # define fp_ ((struct { struct __FILE_public pub; \ - struct { unsigned char *_base; int _size; } _bf; \ - void *cookie; \ -@@ -49,30 +55,84 @@ - fpos_t _offset; \ - /* More fields, not relevant here. */ \ - } *) fp) -- /* See . */ -+ /* See . */ - # define _p pub._p - # define _flags pub._flags - # define _r pub._r - # define _w pub._w -+# elif defined __ANDROID__ /* Android */ -+ /* Up to this commit from 2015-10-12 -+ -+ the innards of FILE were public, and fp_ub could be defined like for OpenBSD, -+ see -+ and . -+ After this commit, the innards of FILE are hidden. */ -+# define fp_ ((struct { unsigned char *_p; \ -+ int _r; \ -+ int _w; \ -+ int _flags; \ -+ int _file; \ -+ struct { unsigned char *_base; size_t _size; } _bf; \ -+ int _lbfsize; \ -+ void *_cookie; \ -+ void *_close; \ -+ void *_read; \ -+ void *_seek; \ -+ void *_write; \ -+ struct { unsigned char *_base; size_t _size; } _ext; \ -+ unsigned char *_up; \ -+ int _ur; \ -+ unsigned char _ubuf[3]; \ -+ unsigned char _nbuf[1]; \ -+ struct { unsigned char *_base; size_t _size; } _lb; \ -+ int _blksize; \ -+ fpos_t _offset; \ -+ /* More fields, not relevant here. */ \ -+ } *) fp) - # else - # define fp_ fp - # endif - --# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ || defined __ANDROID__ /* NetBSD >= 1.5ZA, OpenBSD, Android */ -+# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ || defined __minix /* NetBSD >= 1.5ZA, OpenBSD, Minix 3 */ - /* See -- and */ -+ and -+ and */ - struct __sfileext - { - struct __sbuf _ub; /* ungetc buffer */ - /* More fields, not relevant here. */ - }; - # define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub --# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin, Android */ -+# elif defined __ANDROID__ /* Android */ -+ struct __sfileext -+ { -+ struct { unsigned char *_base; size_t _size; } _ub; /* ungetc buffer */ -+ /* More fields, not relevant here. */ -+ }; -+# define fp_ub ((struct __sfileext *) fp_->_ext._base)->_ub -+# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, Mac OS X, Cygwin */ - # define fp_ub fp_->_ub - # endif - - # define HASUB(fp) (fp_ub._base != NULL) - -+# if defined __ANDROID__ /* Android */ -+ /* Needed after this commit from 2016-01-25 -+ */ -+# ifndef __SEOF -+# define __SLBF 1 -+# define __SNBF 2 -+# define __SRD 4 -+# define __SWR 8 -+# define __SRW 0x10 -+# define __SEOF 0x20 -+# define __SERR 0x40 -+# endif -+# ifndef __SOFF -+# define __SOFF 0x1000 -+# endif -+# endif -+ - #endif - - -@@ -81,7 +141,7 @@ - #ifdef __TANDEM /* NonStop Kernel */ - # ifndef _IOERR - /* These values were determined by the program 'stdioext-flags' at -- . */ -+ . */ - # define _IOERR 0x40 - # define _IOREAD 0x80 - # define _IOWRT 0x4 -@@ -99,6 +159,8 @@ - int _file; \ - unsigned int _flag; \ - } *) fp) -+# elif defined __VMS /* OpenVMS */ -+# define fp_ ((struct _iobuf *) fp) - # else - # define fp_ fp - # endif -@@ -110,7 +172,7 @@ - # define _flag __flag - # endif - --#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* newer Windows with MSVC */ -+#elif defined _WIN32 && ! defined __CYGWIN__ /* newer Windows with MSVC */ - - /* does not define the innards of FILE any more. */ - # define WINDOWS_OPAQUE_FILE -@@ -130,7 +192,7 @@ struct _gl_real_FILE - # define fp_ ((struct _gl_real_FILE *) fp) - - /* These values were determined by a program similar to the one at -- . */ -+ . */ - # define _IOREAD 0x1 - # define _IOWRT 0x2 - # define _IORW 0x4 ---- a/old/fseeko.c -+++ b/lib/fseeko.c -@@ -1,5 +1,5 @@ - /* An fseeko() function that, together with fflush(), is POSIX compliant. -- Copyright (C) 2007-2016 Free Software Foundation, Inc. -+ Copyright (C) 2007-2018 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -12,7 +12,7 @@ - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along -- with this program; if not, see . */ -+ with this program; if not, see . */ - - #include - -@@ -33,9 +33,9 @@ fseeko (FILE *fp, off_t offset, int whence) - #endif - #if _GL_WINDOWS_64_BIT_OFF_T - # undef fseeko --# if HAVE__FSEEKI64 /* msvc, mingw64 */ -+# if HAVE__FSEEKI64 && HAVE_DECL__FSEEKI64 /* msvc, mingw since msvcrt8.0, mingw64 */ - # define fseeko _fseeki64 --# else /* mingw */ -+# else /* mingw before msvcrt8.0 */ - # define fseeko fseeko64 - # endif - #endif -@@ -47,12 +47,13 @@ fseeko (FILE *fp, off_t offset, int whence) - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 -+ /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ -- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ - # if defined __SL64 && defined __SCLE /* Cygwin */ - if ((fp->_flags & __SL64) == 0) - { -@@ -80,7 +81,7 @@ fseeko (FILE *fp, off_t offset, int whence) - #elif defined __minix /* Minix */ - if (fp_->_ptr == fp_->_buf - && (fp_->_ptr == NULL || fp_->_count == 0)) --#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel */ -+#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ - if (fp_->_ptr == fp_->_base - && (fp_->_ptr == NULL || fp_->_cnt == 0)) - #elif defined __UCLIBC__ /* uClibc */ -@@ -117,18 +118,19 @@ fseeko (FILE *fp, off_t offset, int whence) - if (pos == -1) - { - #if defined __sferror || defined __DragonFly__ || defined __ANDROID__ -- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ - fp_->_flags &= ~__SOFF; - #endif - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 -+ /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ -- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ --# if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 600000000) -+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ -+# if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 600000000) || defined __minix - /* fp_->_offset is typed as an integer. */ - fp_->_offset = pos; - # else -@@ -150,7 +152,7 @@ fseeko (FILE *fp, off_t offset, int whence) - fp_->_flags &= ~__SEOF; - #elif defined __EMX__ /* emx+gcc */ - fp->_flags &= ~_IOEOF; --#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel */ -+#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, MSVC, NonStop Kernel, OpenVMS */ - fp_->_flag &= ~_IOEOF; - #elif defined __MINT__ /* Atari FreeMiNT */ - fp->__offset = pos; ---- a/old/freadahead.c -+++ b/lib/freadahead.c -@@ -1,5 +1,5 @@ - /* Retrieve information about a FILE stream. -- Copyright (C) 2007-2016 Free Software Foundation, Inc. -+ Copyright (C) 2007-2018 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by -@@ -12,7 +12,7 @@ - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License -- along with this program. If not, see . */ -+ along with this program. If not, see . */ - - #include - -@@ -22,17 +22,26 @@ - #include - #include "stdio-impl.h" - -+#if defined __DragonFly__ -+/* Defined in libc, but not declared in . */ -+extern size_t __sreadahead (FILE *); -+#endif -+ -+/* This file is not used on systems that have the __freadahead function, -+ namely musl libc. */ -+ - size_t - freadahead (FILE *fp) - { --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 -+ /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return 0; - return (fp->_IO_read_end - fp->_IO_read_ptr) - + (fp->_flags & _IO_IN_BACKUP ? fp->_IO_save_end - fp->_IO_save_base : - 0); - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ -- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ - if ((fp_->_flags & __SWR) != 0 || fp_->_r < 0) - return 0; - # if defined __DragonFly__ diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/ppc-musl.patch b/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/ppc-musl.patch new file mode 100644 index 0000000000..d7d8255a44 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/files/ppc-musl.patch @@ -0,0 +1,18 @@ +Needed to fix build on ppc + musl. Doesn't seem to yet be in upstream gnulib. + +https://www.openwall.com/lists/musl/2017/11/05/2 +https://github.com/void-linux/void-packages/blob/master/srcpkgs/grep/patches/ppc-musl.patch +--- a/lib/sigsegv.c ++++ b/lib/sigsegv.c +@@ -221,8 +221,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION; + /* both should be equivalent */ + # if 0 + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1] +-# else ++# elif defined(__GLIBC__) + # define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1] ++# else ++# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *) ucp)->uc_mcontext.gregs[1] + # endif + # endif + diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.17.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.17.ebuild deleted file mode 100644 index 19347f7bc1..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.17.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit eutils - -DESCRIPTION="GNU macro processor" -HOMEPAGE="https://www.gnu.org/software/m4/m4.html" -SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="examples" - -# remember: cannot dep on autoconf since it needs us -DEPEND="app-arch/xz-utils" -RDEPEND="" - -src_prepare() { - epatch "${FILESDIR}"/${P}-posix_spawn.patch #580688, 581086 - - # Disable gnulib build test that has no impact on the source. - # Re-enable w/next version bump (and gnulib is updated). #554728 - [[ ${PV} != "1.4.17" ]] && die "re-enable test #554728" - echo 'exit 0' > tests/test-update-copyright.sh || die -} - -src_configure() { - # Disable automagic dependency over libsigsegv; see bug #278026 - export ac_cv_libsigsegv=no - - local myconf="" - [[ ${USERLAND} != "GNU" ]] && myconf="--program-prefix=g" - econf --enable-changeword ${myconf} -} - -src_test() { - [[ -d /none ]] && die "m4 tests will fail with /none/" #244396 - emake check -} - -src_install() { - default - # autoconf-2.60 for instance, first checks gm4, then m4. If we don't have - # gm4, it might find gm4 from outside the prefix on for instance Darwin - use prefix && dosym /usr/bin/m4 /usr/bin/gm4 - if use examples ; then - docinto examples - dodoc examples/* - rm -f "${ED}"/usr/share/doc/${PF}/examples/Makefile* - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.18-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.18-r1.ebuild deleted file mode 100644 index 52086c40c4..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.18-r1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -DESCRIPTION="GNU macro processor" -HOMEPAGE="https://www.gnu.org/software/m4/m4.html" -SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="examples" - -# remember: cannot dep on autoconf since it needs us -DEPEND="app-arch/xz-utils" -RDEPEND="" - -src_prepare() { - eapply "${FILESDIR}"/${P}-darwin17-printf-n.patch - eapply "${FILESDIR}"/${P}-glibc228.patch #663924 - default -} - -src_configure() { - # Disable automagic dependency over libsigsegv; see bug #278026 - export ac_cv_libsigsegv=no - - local myconf="" - [[ ${USERLAND} != "GNU" ]] && myconf="--program-prefix=g" - econf --enable-changeword ${myconf} -} - -src_test() { - [[ -d /none ]] && die "m4 tests will fail with /none/" #244396 - emake check -} - -src_install() { - default - # autoconf-2.60 for instance, first checks gm4, then m4. If we don't have - # gm4, it might find gm4 from outside the prefix on for instance Darwin - use prefix && dosym /usr/bin/m4 /usr/bin/gm4 - if use examples ; then - docinto examples - dodoc -r examples/ - rm -f "${ED}"/usr/share/doc/${PF}/examples/Makefile* - fi -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19.ebuild new file mode 100644 index 0000000000..a30e5e2621 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="GNU macro processor" +HOMEPAGE="https://www.gnu.org/software/m4/m4.html" +if [[ "${PV}" == *_beta* ]] ; then + MY_P="${PN}-1.4.18d" + #SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz" + SRC_URI="https://alpha.gnu.org/gnu/${PN}/${MY_P}.tar.xz" + S="${WORKDIR}/${MY_P}" +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + SRC_URI+=" https://dev.gentoo.org/~floppym/dist/${P}-test-198-sysval-r1.patch.gz" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="examples nls" + +RDEPEND=" + virtual/libiconv + nls? ( + sys-devel/gettext + virtual/libintl + )" +DEPEND="${RDEPEND}" +# Remember: cannot dep on autoconf since it needs us +BDEPEND="app-arch/xz-utils + nls? ( sys-devel/gettext )" + +PATCHES=( + "${FILESDIR}"/ppc-musl.patch + "${WORKDIR}"/${P}-test-198-sysval-r1.patch +) + +src_configure() { + local -a myeconfargs=( + --enable-changeword + + --with-packager="Gentoo Linux" + --with-packager-version="${PVR}" + --with-packager-bug-reports="https://bugs.gentoo.org/" + + $(usex nls '' '--disable-nls') + + # Disable automagic dependency over libsigsegv; see bug #278026 + ac_cv_libsigsegv=no + ) + + [[ ${USERLAND} != GNU ]] && myeconfargs+=( --program-prefix=g ) + + econf "${myeconfargs[@]}" +} + +src_test() { + [[ -d /none ]] && die "m4 tests will fail with /none/" #244396 + emake check +} + +src_install() { + default + + # autoconf-2.60 for instance, first checks gm4, then m4. If we don't have + # gm4, it might find gm4 from outside the prefix on for instance Darwin + use prefix && dosym m4 /usr/bin/gm4 + + if use examples ; then + dodoc -r examples + rm -f "${ED}"/usr/share/doc/${PF}/examples/Makefile* + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/m4/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-devel/m4/metadata.xml index 56c1244130..73dda144f9 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/m4/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-devel/m4/metadata.xml @@ -1,5 +1,5 @@ - + base-system@gentoo.org diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/files/patch-2.7.6-fix-test-suite.patch b/sdk_container/src/third_party/portage-stable/sys-devel/patch/files/patch-2.7.6-fix-test-suite.patch index 3aff5c0f77..5571209c49 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/files/patch-2.7.6-fix-test-suite.patch +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/files/patch-2.7.6-fix-test-suite.patch @@ -1,5 +1,6 @@ -http://git.savannah.gnu.org/cgit/patch.git/commit/?id=f6bc5b14bd193859851d15a049bafb1007acd288 -http://git.savannah.gnu.org/cgit/patch.git/commit/?id=074e2395f81d0ecaa66b71a6c228c70b49db72e5 +https://git.savannah.gnu.org/cgit/patch.git/commit/?id=f6bc5b14bd193859851d15a049bafb1007acd288 +https://git.savannah.gnu.org/cgit/patch.git/commit/?id=074e2395f81d0ecaa66b71a6c228c70b49db72e5 +https://git.savannah.gnu.org/cgit/patch.git/commit/?id=7623b2dc0d1837ecfd58f32efc78e35834deeb38 --- a/tests/crlf-handling +++ b/tests/crlf-handling @@ -117,4 +118,16 @@ http://git.savannah.gnu.org/cgit/patch.git/commit/?id=074e2395f81d0ecaa66b71a6c2 while test $# -gt 0 ; do echo "$1" shift --- + +--- a/tests/test-lib.sh ++++ b/tests/test-lib.sh +@@ -113,7 +113,7 @@ cleanup() { + exit $status + } + +-if eval 'test -n "${BASH_LINENO[0]}" 2>/dev/null'; then ++if ( eval 'test -n "${BASH_LINENO[0]}"' 2>/dev/null ); then + eval ' + _start_test() { + printf "[${BASH_LINENO[2]}] %s -- " "$*" + diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-devel/patch/metadata.xml index 56c1244130..fae1c61df3 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/metadata.xml @@ -1,8 +1,11 @@ - + base-system@gentoo.org Gentoo Base System + + cpe:/a:gnu:patch + diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r3.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r3.ebuild deleted file mode 100644 index 6efd863487..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r3.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit flag-o-matic - -DESCRIPTION="Utility to apply diffs to files" -HOMEPAGE="https://www.gnu.org/software/patch/patch.html" -SRC_URI="mirror://gnu/patch/${P}.tar.xz" - -LICENSE="GPL-3+" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="static test xattr" - -RDEPEND="xattr? ( sys-apps/attr )" -DEPEND="${RDEPEND} - test? ( sys-apps/ed )" - -PATCHES=( - "${FILESDIR}"/${P}-fix-test-suite.patch - "${FILESDIR}"/${PN}-2.7.6-fix-error-handling-with-git-style-patches.patch - "${FILESDIR}"/${PN}-2.7.6-CVE-2018-6951.patch - "${FILESDIR}"/${PN}-2.7.6-allow-input-files-to-be-missing-for-ed-style-patches.patch - "${FILESDIR}"/${PN}-2.7.6-CVE-2018-1000156.patch - "${FILESDIR}"/${PN}-2.7.6-CVE-2018-6952.patch -) - -src_configure() { - use static && append-ldflags -static - - local myeconfargs=( - $(use_enable xattr) - --program-prefix="$(use userland_BSD && echo g)" - ) - # Do not let $ED mess up the search for `ed` 470210. - ac_cv_path_ED=$(type -P ed) \ - econf "${myeconfargs[@]}" -} diff --git a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r4.ebuild b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r4.ebuild index 7c073f3c5c..30d831025c 100644 --- a/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r4.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-devel/patch/patch-2.7.6-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -11,8 +11,9 @@ SRC_URI="mirror://gnu/patch/${P}.tar.xz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="static test xattr" +RESTRICT="!test? ( test )" RDEPEND="xattr? ( sys-apps/attr )" DEPEND="${RDEPEND} @@ -38,7 +39,6 @@ src_configure() { local myeconfargs=( $(use_enable xattr) - --program-prefix="$(use userland_BSD && echo g)" ) # Do not let $ED mess up the search for `ed` 470210. ac_cv_path_ED=$(type -P ed) \