mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-29 01:21:02 +02:00
Merge pull request #413 from flatcar/buildbot/weekly-package-updates-2023-02-08
Weekly package updates 2023-02-08
This commit is contained in:
commit
782ac9296a
@ -121,6 +121,7 @@ dev-libs/libltdl
|
|||||||
dev-libs/libnl
|
dev-libs/libnl
|
||||||
dev-libs/libpcre2
|
dev-libs/libpcre2
|
||||||
dev-libs/libtasn1
|
dev-libs/libtasn1
|
||||||
|
dev-libs/libuv
|
||||||
dev-libs/libxml2
|
dev-libs/libxml2
|
||||||
dev-libs/libxslt
|
dev-libs/libxslt
|
||||||
dev-libs/nettle
|
dev-libs/nettle
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
DIST vim-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
|
||||||
DIST vim-9.0.0828.tar.gz 16782339 BLAKE2B 6b997c1c828338d64a8b204a1e232676ec075834b1b7e74c2fc671e315f9bf6026b0c419ebb3c31e7ce58dbca23828ca11d866b2bfcb73f8a86fb31fa0d51b00 SHA512 03f93515039a2f275a8fe6b84bbac5875ffff17768ab3201e111eba4897a2485fe4ccfe238151f393334c7a6ea77eddd8898f0b816e26dbdb884f4e6bcbd2943
|
|
||||||
DIST vim-9.0.1000.tar.gz 16842747 BLAKE2B 85edab7d13daa3e84ef0aeb50e3e9bfd31f0634d8e480c105727b0c34318e0adf7f1276dcdac53df8fc416fd8dfb70377cd74ed570752a3e77f07a083fa6c113 SHA512 9d2b914a112948d77b92c8dcafc2f711a83c3fdaf35a28f7f606e77007b9320e2260a0f6b24fc875a817c33c012f077f89730b34e9f12d6f00795c5c806704c8
|
DIST vim-9.0.1000.tar.gz 16842747 BLAKE2B 85edab7d13daa3e84ef0aeb50e3e9bfd31f0634d8e480c105727b0c34318e0adf7f1276dcdac53df8fc416fd8dfb70377cd74ed570752a3e77f07a083fa6c113 SHA512 9d2b914a112948d77b92c8dcafc2f711a83c3fdaf35a28f7f606e77007b9320e2260a0f6b24fc875a817c33c012f077f89730b34e9f12d6f00795c5c806704c8
|
||||||
DIST vim-9.0.1157.tar.gz 16924574 BLAKE2B 0cdc6cf61f5abdaff0762b98550bfa5bae8f0485ddd0e9947a5fe52390f9da54fc8f5fdae767fb8f5d3ac2b441253917a80ae7f6092f67b69bdc9b6a630df8e2 SHA512 19240a9bcf5900766db42e2894b1bf7b849274711f17dc267671aacd867b334c3d30f39947dde7dd0245f289e9ad801eeb272f34a2ab15d01fac40bf71a54271
|
DIST vim-9.0.1157.tar.gz 16924574 BLAKE2B 0cdc6cf61f5abdaff0762b98550bfa5bae8f0485ddd0e9947a5fe52390f9da54fc8f5fdae767fb8f5d3ac2b441253917a80ae7f6092f67b69bdc9b6a630df8e2 SHA512 19240a9bcf5900766db42e2894b1bf7b849274711f17dc267671aacd867b334c3d30f39947dde7dd0245f289e9ad801eeb272f34a2ab15d01fac40bf71a54271
|
||||||
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942
|
|
||||||
DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a
|
DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
https://github.com/vim/vim/pull/11496
|
|
||||||
|
|
||||||
From 360b569f86b851c37e32b7cfaec079823188ff27 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sam James <sam@gentoo.org>
|
|
||||||
Date: Fri, 4 Nov 2022 03:18:23 +0000
|
|
||||||
Subject: [PATCH] configure.ac: Fix -Wimplicit-int
|
|
||||||
|
|
||||||
Clang 16 makes -Wimplicit-int an error by default. Fixes errors like:
|
|
||||||
```
|
|
||||||
error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
|
|
||||||
```
|
|
||||||
|
|
||||||
We already use proper declarations with every other test anyway, so
|
|
||||||
let's be consistent.
|
|
||||||
|
|
||||||
Signed-off-by: Sam James <sam@gentoo.org>
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3654,7 +3654,7 @@ dnl check if struct sigcontext is defined (used for SGI only)
|
|
||||||
AC_MSG_CHECKING(for struct sigcontext)
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
||||||
#include <signal.h>
|
|
||||||
-test_sig()
|
|
||||||
+int test_sig()
|
|
||||||
{
|
|
||||||
struct sigcontext *scont;
|
|
||||||
scont = (struct sigcontext *)0;
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From bba26c9ed9d4ddc82afd0343f145dc9e14b91498 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Varsha Teratipally <teratipally@google.com>
|
|
||||||
Date: Tue, 2 Aug 2022 22:18:29 +0000
|
|
||||||
Subject: [PATCH] Configure check for timer_create may give wrong error.
|
|
||||||
Give a warning instead of an error
|
|
||||||
|
|
||||||
Partial solution from github.com/vim/vim/commit/5f6cae8b8a49c435556e32f84d067cd0b4d28e4c
|
|
||||||
|
|
||||||
---
|
|
||||||
src/configure.ac | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/configure.ac b/src/configure.ac
|
|
||||||
index e8522ec05..41f41dee3 100644
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3850,7 +3850,7 @@ static void set_flag(union sigval sv) {}
|
|
||||||
])],
|
|
||||||
vim_cv_timer_create=yes,
|
|
||||||
vim_cv_timer_create=no),
|
|
||||||
- AC_MSG_ERROR(cross-compiling: please set 'vim_cv_timer_create')
|
|
||||||
+ AC_MSG_WARN(cross-compiling: please set 'vim_cv_timer_create')
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
|
|
||||||
--
|
|
||||||
|
|
||||||
|
|
@ -1,234 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
inherit vim-doc flag-o-matic bash-completion-r1 prefix desktop xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
|
||||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
fi
|
|
||||||
S="${WORKDIR}/vim-${PV}"
|
|
||||||
|
|
||||||
DESCRIPTION="vim and gvim shared files"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="nls acl minimal"
|
|
||||||
|
|
||||||
# ncurses is only needed by ./configure, so no subslot operator required
|
|
||||||
DEPEND=">=sys-libs/ncurses-5.2-r2:0"
|
|
||||||
BDEPEND="sys-devel/autoconf"
|
|
||||||
# Avoid icon file collision, bug #673880
|
|
||||||
RDEPEND="!<app-editors/vim-8.2.4328-r1"
|
|
||||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
eapply "${FILESDIR}"/vim-9.0-fix-create-timer-for-cros-compiling.patch
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i \
|
|
||||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
|
||||||
|
|
||||||
# See bug #77841. We remove this file after the tarball extraction.
|
|
||||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
# Fix bug #18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
|
|
||||||
# Remove src/auto/configure file.
|
|
||||||
rm -v src/auto/configure || die "rm configure failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug 57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
|
||||||
# things are for ppc64, see bug 86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Let Portage do the stripping. Some people like that.
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
local myconf=(
|
|
||||||
--with-modified-by=Gentoo-${PVR}
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-gpm
|
|
||||||
--disable-selinux
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable acl)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
emake tools
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() { :; }
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
dodir /usr/{bin,share/{man/man1,vim}}
|
|
||||||
emake -C src \
|
|
||||||
installruntime \
|
|
||||||
installmanlinks \
|
|
||||||
installmacros \
|
|
||||||
installtutor \
|
|
||||||
installtutorbin \
|
|
||||||
installtools \
|
|
||||||
install-languages \
|
|
||||||
DESTDIR="${D}" \
|
|
||||||
BINDIR="${EPREFIX}"/usr/bin \
|
|
||||||
MANDIR="${EPREFIX}"/usr/share/man \
|
|
||||||
DATADIR="${EPREFIX}"/usr/share
|
|
||||||
|
|
||||||
keepdir ${vimfiles}/keymap
|
|
||||||
|
|
||||||
# default vimrc is installed by vim-core since it applies to
|
|
||||||
# both vim and gvim
|
|
||||||
insinto /etc/vim/
|
|
||||||
newins "${FILESDIR}"/vimrc-r6 vimrc
|
|
||||||
eprefixify "${ED}"/etc/vim/vimrc
|
|
||||||
|
|
||||||
if use minimal; then
|
|
||||||
# To save space, install only a subset of the files.
|
|
||||||
# Helps minimalize the livecd, bug 65144.
|
|
||||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die
|
|
||||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die
|
|
||||||
rm -v "${ED}"/usr/bin/vimtutor || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/colors/*.vim; do
|
|
||||||
if [[ ${f} != */@(default).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/syntax/*.vim; do
|
|
||||||
if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
|
||||||
|
|
||||||
# install gvim icon since both vim/gvim desktop files reference it
|
|
||||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
@ -1,234 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
inherit bash-completion-r1 desktop flag-o-matic prefix toolchain-funcs vim-doc xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
|
||||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
fi
|
|
||||||
S="${WORKDIR}/vim-${PV}"
|
|
||||||
|
|
||||||
DESCRIPTION="vim and gvim shared files"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="nls acl minimal"
|
|
||||||
|
|
||||||
# ncurses is only needed by ./configure, so no subslot operator required
|
|
||||||
DEPEND=">=sys-libs/ncurses-5.2-r2:0"
|
|
||||||
BDEPEND="sys-devel/autoconf"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/vim-0.0.0828-configure-clang16.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i \
|
|
||||||
-e '1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "sed failed"
|
|
||||||
|
|
||||||
# See bug #77841. We remove this file after the tarball extraction.
|
|
||||||
rm -v "${S}"/runtime/tools/vimspell.sh || die "rm failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' >> "${S}"/src/feature.h || die
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i 's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i 's/ libc\.h / /' "${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
# Bug #378107 - Build properly with >=perl-core/ExtUtils-ParseXS-3.20.0
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug #76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
# Fix bug #18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
|
|
||||||
# Remove src/auto/configure file.
|
|
||||||
rm -v src/auto/configure || die "rm configure failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug 57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug 24447). The hvc
|
|
||||||
# things are for ppc64, see bug 86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Let Portage do the stripping. Some people like that.
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
local myconf=(
|
|
||||||
--with-modified-by=Gentoo-${PVR}
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-gpm
|
|
||||||
--disable-selinux
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable acl)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Keep Gentoo Prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf "${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
emake tools
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() { :; }
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
dodir /usr/{bin,share/{man/man1,vim}}
|
|
||||||
emake -C src \
|
|
||||||
installruntime \
|
|
||||||
installmanlinks \
|
|
||||||
installmacros \
|
|
||||||
installtutor \
|
|
||||||
installtutorbin \
|
|
||||||
installtools \
|
|
||||||
install-languages \
|
|
||||||
DESTDIR="${D}" \
|
|
||||||
BINDIR="${EPREFIX}"/usr/bin \
|
|
||||||
MANDIR="${EPREFIX}"/usr/share/man \
|
|
||||||
DATADIR="${EPREFIX}"/usr/share
|
|
||||||
|
|
||||||
keepdir ${vimfiles}/keymap
|
|
||||||
|
|
||||||
# default vimrc is installed by vim-core since it applies to
|
|
||||||
# both vim and gvim
|
|
||||||
insinto /etc/vim/
|
|
||||||
newins "${FILESDIR}"/vimrc-r6 vimrc
|
|
||||||
eprefixify "${ED}"/etc/vim/vimrc
|
|
||||||
|
|
||||||
if use minimal; then
|
|
||||||
# To save space, install only a subset of the files.
|
|
||||||
# Helps minimalize the livecd, bug 65144.
|
|
||||||
rm -rv "${ED}${vimfiles}"/{compiler,doc,ftplugin,indent} || die
|
|
||||||
rm -rv "${ED}${vimfiles}"/{macros,print,tools,tutor} || die
|
|
||||||
rm -v "${ED}"/usr/bin/vimtutor || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/colors/*.vim; do
|
|
||||||
if [[ ${f} != */@(default).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
|
|
||||||
for f in "${ED}${vimfiles}"/syntax/*.vim; do
|
|
||||||
if [[ ${f} != */@(conf|crontab|fstab|inittab|resolv|sshdconfig|syntax|nosyntax|synload).vim ]] ; then
|
|
||||||
printf '%s\0' "${f}"
|
|
||||||
fi
|
|
||||||
done | xargs -0 rm -f || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/xxd-completion xxd
|
|
||||||
|
|
||||||
# install gvim icon since both vim/gvim desktop files reference it
|
|
||||||
doicon -s scalable "${FILESDIR}"/gvim.svg
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# update icon cache
|
|
||||||
xdg_icon_cache_update
|
|
||||||
}
|
|
@ -1,6 +1,3 @@
|
|||||||
DIST vim-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
|
||||||
DIST vim-9.0.0828.tar.gz 16782339 BLAKE2B 6b997c1c828338d64a8b204a1e232676ec075834b1b7e74c2fc671e315f9bf6026b0c419ebb3c31e7ce58dbca23828ca11d866b2bfcb73f8a86fb31fa0d51b00 SHA512 03f93515039a2f275a8fe6b84bbac5875ffff17768ab3201e111eba4897a2485fe4ccfe238151f393334c7a6ea77eddd8898f0b816e26dbdb884f4e6bcbd2943
|
|
||||||
DIST vim-9.0.1000.tar.gz 16842747 BLAKE2B 85edab7d13daa3e84ef0aeb50e3e9bfd31f0634d8e480c105727b0c34318e0adf7f1276dcdac53df8fc416fd8dfb70377cd74ed570752a3e77f07a083fa6c113 SHA512 9d2b914a112948d77b92c8dcafc2f711a83c3fdaf35a28f7f606e77007b9320e2260a0f6b24fc875a817c33c012f077f89730b34e9f12d6f00795c5c806704c8
|
DIST vim-9.0.1000.tar.gz 16842747 BLAKE2B 85edab7d13daa3e84ef0aeb50e3e9bfd31f0634d8e480c105727b0c34318e0adf7f1276dcdac53df8fc416fd8dfb70377cd74ed570752a3e77f07a083fa6c113 SHA512 9d2b914a112948d77b92c8dcafc2f711a83c3fdaf35a28f7f606e77007b9320e2260a0f6b24fc875a817c33c012f077f89730b34e9f12d6f00795c5c806704c8
|
||||||
DIST vim-9.0.1157.tar.gz 16924574 BLAKE2B 0cdc6cf61f5abdaff0762b98550bfa5bae8f0485ddd0e9947a5fe52390f9da54fc8f5fdae767fb8f5d3ac2b441253917a80ae7f6092f67b69bdc9b6a630df8e2 SHA512 19240a9bcf5900766db42e2894b1bf7b849274711f17dc267671aacd867b334c3d30f39947dde7dd0245f289e9ad801eeb272f34a2ab15d01fac40bf71a54271
|
DIST vim-9.0.1157.tar.gz 16924574 BLAKE2B 0cdc6cf61f5abdaff0762b98550bfa5bae8f0485ddd0e9947a5fe52390f9da54fc8f5fdae767fb8f5d3ac2b441253917a80ae7f6092f67b69bdc9b6a630df8e2 SHA512 19240a9bcf5900766db42e2894b1bf7b849274711f17dc267671aacd867b334c3d30f39947dde7dd0245f289e9ad801eeb272f34a2ab15d01fac40bf71a54271
|
||||||
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942
|
|
||||||
DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a
|
DIST vim-patches-vim-9.0.1000-patches.tar.bz2 3245 BLAKE2B 3bf3d0e314cc3f96d5d9675de196a62c4c8a72645d56ef94b80768571c99cba5cc556442e3bd2dfa8818460fd851fe7bd1ae15999af7225fb271b81c43105843 SHA512 2883441a2001bf7ce89a7f0862f780b71cc0164c8fcb8dbdf7040e1bcbcf408d138d3d77f308aa54c762e9975fa5ec89cfceeabbf721344dfc938870a363667a
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
https://github.com/vim/vim/pull/11496
|
|
||||||
|
|
||||||
From 360b569f86b851c37e32b7cfaec079823188ff27 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sam James <sam@gentoo.org>
|
|
||||||
Date: Fri, 4 Nov 2022 03:18:23 +0000
|
|
||||||
Subject: [PATCH] configure.ac: Fix -Wimplicit-int
|
|
||||||
|
|
||||||
Clang 16 makes -Wimplicit-int an error by default. Fixes errors like:
|
|
||||||
```
|
|
||||||
error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int]
|
|
||||||
```
|
|
||||||
|
|
||||||
We already use proper declarations with every other test anyway, so
|
|
||||||
let's be consistent.
|
|
||||||
|
|
||||||
Signed-off-by: Sam James <sam@gentoo.org>
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3654,7 +3654,7 @@ dnl check if struct sigcontext is defined (used for SGI only)
|
|
||||||
AC_MSG_CHECKING(for struct sigcontext)
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
||||||
#include <signal.h>
|
|
||||||
-test_sig()
|
|
||||||
+int test_sig()
|
|
||||||
{
|
|
||||||
struct sigcontext *scont;
|
|
||||||
scont = (struct sigcontext *)0;
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From bba26c9ed9d4ddc82afd0343f145dc9e14b91498 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Varsha Teratipally <teratipally@google.com>
|
|
||||||
Date: Tue, 2 Aug 2022 22:18:29 +0000
|
|
||||||
Subject: [PATCH] Configure check for timer_create may give wrong error.
|
|
||||||
Give a warning instead of an error
|
|
||||||
|
|
||||||
Partial solution from github.com/vim/vim/commit/5f6cae8b8a49c435556e32f84d067cd0b4d28e4c
|
|
||||||
|
|
||||||
---
|
|
||||||
src/configure.ac | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/configure.ac b/src/configure.ac
|
|
||||||
index e8522ec05..41f41dee3 100644
|
|
||||||
--- a/src/configure.ac
|
|
||||||
+++ b/src/configure.ac
|
|
||||||
@@ -3850,7 +3850,7 @@ static void set_flag(union sigval sv) {}
|
|
||||||
])],
|
|
||||||
vim_cv_timer_create=yes,
|
|
||||||
vim_cv_timer_create=no),
|
|
||||||
- AC_MSG_ERROR(cross-compiling: please set 'vim_cv_timer_create')
|
|
||||||
+ AC_MSG_WARN(cross-compiling: please set 'vim_cv_timer_create')
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
|
|
||||||
--
|
|
||||||
|
|
||||||
|
|
@ -1,371 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
PYTHON_REQ_USE="threads(+)"
|
|
||||||
USE_RUBY="ruby27 ruby30 ruby31"
|
|
||||||
|
|
||||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
|
||||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
|
||||||
REQUIRED_USE="
|
|
||||||
lua? ( ${LUA_REQUIRED_USE} )
|
|
||||||
python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
vim-pager? ( !minimal )
|
|
||||||
"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=app-eselect/eselect-vi-1.1
|
|
||||||
>=sys-libs/ncurses-5.2-r2:0=
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
crypt? ( dev-libs/libsodium:= )
|
|
||||||
cscope? ( dev-util/cscope )
|
|
||||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
|
||||||
lua? ( ${LUA_DEPS}
|
|
||||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
|
||||||
)
|
|
||||||
~app-editors/vim-core-${PV}
|
|
||||||
!<app-editors/vim-core-8.2.4328-r1
|
|
||||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
|
||||||
perl? ( dev-lang/perl:= )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
racket? ( dev-scheme/racket )
|
|
||||||
ruby? ( ${RUBY_DEPS} )
|
|
||||||
selinux? ( sys-libs/libselinux )
|
|
||||||
sound? ( media-libs/libcanberra )
|
|
||||||
tcl? ( dev-lang/tcl:0= )
|
|
||||||
X? ( x11-libs/libXt )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
# configure runs the Lua interpreter
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/autoconf
|
|
||||||
lua? ( ${LUA_DEPS} )
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
"
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
|
|
||||||
use lua && lua-single_pkg_setup
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
eapply "${FILESDIR}"/vim-9.0-fix-create-timer-for-cros-compiling.patch
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i -e \
|
|
||||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/ libc\.h / /' \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# conditionally make the manpager.sh script
|
|
||||||
if use vim-pager; then
|
|
||||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
|
||||||
#!/bin/sh
|
|
||||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
|
||||||
vim \\
|
|
||||||
-c 'let no_plugin_maps = 1' \\
|
|
||||||
-c 'set nolist nomod ft=man ts=8' \\
|
|
||||||
-c 'let g:showmarks_enable=0' \\
|
|
||||||
-c 'runtime! macros/less.vim' -
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug 18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
rm src/auto/configure || die "rm failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug #57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
|
||||||
# things are for ppc64, see bug #86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
local myconf=()
|
|
||||||
if use minimal; then
|
|
||||||
myconf=(
|
|
||||||
--with-features=tiny
|
|
||||||
--disable-nls
|
|
||||||
--disable-canberra
|
|
||||||
--disable-acl
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-luainterp
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-mzschemeinterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-selinux
|
|
||||||
--disable-tclinterp
|
|
||||||
--disable-gpm
|
|
||||||
)
|
|
||||||
else
|
|
||||||
use debug && append-flags "-DDEBUG"
|
|
||||||
|
|
||||||
myconf=(
|
|
||||||
--with-features=huge
|
|
||||||
$(use_enable sound canberra)
|
|
||||||
$(use_enable acl)
|
|
||||||
$(use_enable crypt libsodium)
|
|
||||||
$(use_enable cscope)
|
|
||||||
$(use_enable gpm)
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable perl perlinterp)
|
|
||||||
$(use_enable python python3interp)
|
|
||||||
$(use_with python python3-command "${PYTHON}")
|
|
||||||
$(use_enable racket mzschemeinterp)
|
|
||||||
$(use_enable ruby rubyinterp)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable tcl tclinterp)
|
|
||||||
$(use_enable terminal)
|
|
||||||
)
|
|
||||||
|
|
||||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
|
||||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
|
||||||
if ! use cscope; then
|
|
||||||
sed -i -e \
|
|
||||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use lua; then
|
|
||||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
|
||||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
|
||||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
--enable-luainterp
|
|
||||||
$(use_with lua_single_target_luajit luajit)
|
|
||||||
--with-lua-prefix="${EPREFIX}/usr"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# don't test USE=X here ... see bug #19115
|
|
||||||
# but need to provide a way to link against X ... see bug #20093
|
|
||||||
myconf+=(
|
|
||||||
--enable-gui=no
|
|
||||||
--disable-darwin
|
|
||||||
$(use_with X x)
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# let package manager strip binaries
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
# keep prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-modified-by=Gentoo-${PVR} \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# The following allows emake to be used
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
|
|
||||||
emake
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
einfo
|
|
||||||
einfo "Starting vim tests. Several error messages will be shown"
|
|
||||||
einfo "while the tests run. This is normal behaviour and does not"
|
|
||||||
einfo "indicate a fault."
|
|
||||||
einfo
|
|
||||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
|
||||||
ewarn "state. Usually, running 'reset' will fix this."
|
|
||||||
einfo
|
|
||||||
|
|
||||||
# Don't let vim talk to X
|
|
||||||
unset DISPLAY
|
|
||||||
|
|
||||||
# Arch and opensuse seem to do this and at this point, I'm willing
|
|
||||||
# to try anything to avoid random test hangs!
|
|
||||||
export TERM=xterm
|
|
||||||
|
|
||||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
|
||||||
# for more information on test variables we can use.
|
|
||||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
|
||||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
|
||||||
#
|
|
||||||
# Skipped tests:
|
|
||||||
# - Test_expand_star_star
|
|
||||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
|
||||||
# - Test_exrc
|
|
||||||
# Looks in wrong location? (bug #742710)
|
|
||||||
# - Test_job_tty_in_out
|
|
||||||
# Fragile and depends on TERM(?)
|
|
||||||
# - Test_spelldump_bang
|
|
||||||
# Hangs.
|
|
||||||
# - Test_fuzzy_completion_env
|
|
||||||
# Too sensitive to leaked environment variables.
|
|
||||||
# - Test_term_mouse_multiple_clicks_to_select_mode
|
|
||||||
# Hangs.
|
|
||||||
# - Test_spelldump
|
|
||||||
# Hangs.
|
|
||||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
|
||||||
|
|
||||||
emake -j1 -C src/testdir nongui
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call eselect vi update with --if-unset
|
|
||||||
# to respect user's choice (bug #187449)
|
|
||||||
eselect_vi_update() {
|
|
||||||
ebegin "Calling eselect vi update"
|
|
||||||
eselect vi update --if-unset
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
|
||||||
# managed by eselect-vi
|
|
||||||
dobin src/vim
|
|
||||||
if ! use minimal ; then
|
|
||||||
dosym vim /usr/bin/vimdiff
|
|
||||||
fi
|
|
||||||
dosym vim /usr/bin/rvim
|
|
||||||
dosym vim /usr/bin/rview
|
|
||||||
if use vim-pager ; then
|
|
||||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
|
||||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
|
||||||
insinto ${vimfiles}/macros
|
|
||||||
doins runtime/macros/manpager.sh
|
|
||||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
domenu runtime/vim.desktop
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
|
||||||
|
|
||||||
# keep in sync with 'complete ... -F' list
|
|
||||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
@ -1,374 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Please bump with app-editors/vim-core and app-editors/gvim
|
|
||||||
|
|
||||||
VIM_VERSION="9.0"
|
|
||||||
LUA_COMPAT=( lua5-{1..4} luajit )
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
PYTHON_REQ_USE="threads(+)"
|
|
||||||
USE_RUBY="ruby27 ruby30 ruby31"
|
|
||||||
|
|
||||||
inherit vim-doc flag-o-matic bash-completion-r1 lua-single python-single-r1 ruby-single toolchain-funcs desktop xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999* ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
|
||||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="Vim, an improved vi-style text editor"
|
|
||||||
HOMEPAGE="https://vim.sourceforge.io/ https://github.com/vim/vim"
|
|
||||||
|
|
||||||
LICENSE="vim"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="X acl crypt cscope debug gpm lua minimal nls perl python racket ruby selinux sound tcl terminal vim-pager"
|
|
||||||
REQUIRED_USE="
|
|
||||||
lua? ( ${LUA_REQUIRED_USE} )
|
|
||||||
python? ( ${PYTHON_REQUIRED_USE} )
|
|
||||||
vim-pager? ( !minimal )
|
|
||||||
"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=app-eselect/eselect-vi-1.1
|
|
||||||
>=sys-libs/ncurses-5.2-r2:0=
|
|
||||||
nls? ( virtual/libintl )
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
crypt? ( dev-libs/libsodium:= )
|
|
||||||
cscope? ( dev-util/cscope )
|
|
||||||
gpm? ( >=sys-libs/gpm-1.19.3 )
|
|
||||||
lua? ( ${LUA_DEPS}
|
|
||||||
$(lua_gen_impl_dep 'deprecated' lua5-1)
|
|
||||||
)
|
|
||||||
~app-editors/vim-core-${PV}
|
|
||||||
!<app-editors/vim-core-8.2.4328-r1
|
|
||||||
vim-pager? ( app-editors/vim-core[-minimal] )
|
|
||||||
perl? ( dev-lang/perl:= )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
racket? ( dev-scheme/racket )
|
|
||||||
ruby? ( ${RUBY_DEPS} )
|
|
||||||
selinux? ( sys-libs/libselinux )
|
|
||||||
sound? ( media-libs/libcanberra )
|
|
||||||
tcl? ( dev-lang/tcl:0= )
|
|
||||||
X? ( x11-libs/libXt )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
# configure runs the Lua interpreter
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/autoconf
|
|
||||||
lua? ( ${LUA_DEPS} )
|
|
||||||
nls? ( sys-devel/gettext )
|
|
||||||
"
|
|
||||||
PDEPEND="!minimal? ( app-vim/gentoo-syntax )"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/vim-0.0.0828-configure-clang16.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# people with broken alphabets run into trouble. bug #82186.
|
|
||||||
unset LANG LC_ALL
|
|
||||||
export LC_COLLATE="C"
|
|
||||||
|
|
||||||
use lua && lua-single_pkg_setup
|
|
||||||
use python && python-single-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
if [[ ${PV} != 9999* ]] ; then
|
|
||||||
# Gentoo patches to fix runtime issues, cross-compile errors, etc
|
|
||||||
eapply "${WORKDIR}"/vim-patches-vim-9.0.0049-patches
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fixup a script to use awk instead of nawk
|
|
||||||
sed -i -e \
|
|
||||||
'1s|.*|#!'"${EPREFIX}"'/usr/bin/awk -f|' \
|
|
||||||
"${S}"/runtime/tools/mve.awk || die "mve.awk sed failed"
|
|
||||||
|
|
||||||
# Read vimrc and gvimrc from /etc/vim
|
|
||||||
echo '#define SYS_VIMRC_FILE "'${EPREFIX}'/etc/vim/vimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
echo '#define SYS_GVIMRC_FILE "'${EPREFIX}'/etc/vim/gvimrc"' \
|
|
||||||
>> "${S}"/src/feature.h || die "echo failed"
|
|
||||||
|
|
||||||
# Use exuberant ctags which installs as /usr/bin/exuberant-ctags.
|
|
||||||
# Hopefully this pattern won't break for a while at least.
|
|
||||||
# This fixes bug #29398 (27 Sep 2003 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/\<ctags\("\| [-*.]\)/exuberant-&/g' \
|
|
||||||
"${S}"/runtime/doc/syntax.txt \
|
|
||||||
"${S}"/runtime/doc/tagsrch.txt \
|
|
||||||
"${S}"/runtime/doc/usr_29.txt \
|
|
||||||
"${S}"/runtime/menu.vim \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# Don't be fooled by /usr/include/libc.h. When found, vim thinks
|
|
||||||
# this is NeXT, but it's actually just a file in dev-libs/9libs
|
|
||||||
# This fixes bug #43885 (20 Mar 2004 agriffis)
|
|
||||||
sed -i -e \
|
|
||||||
's/ libc\.h / /' \
|
|
||||||
"${S}"/src/configure.ac || die 'sed failed'
|
|
||||||
|
|
||||||
# gcc on sparc32 has this, uhm, interesting problem with detecting EOF
|
|
||||||
# correctly. To avoid some really entertaining error messages about stuff
|
|
||||||
# which isn't even in the source file being invalid, we'll do some trickery
|
|
||||||
# to make the error never occur. bug 66162 (02 October 2004 ciaranm)
|
|
||||||
find "${S}" -name '*.c' | while read c; do
|
|
||||||
echo >> "$c" || die "echo failed"
|
|
||||||
done
|
|
||||||
|
|
||||||
# conditionally make the manpager.sh script
|
|
||||||
if use vim-pager; then
|
|
||||||
cat > "${S}"/runtime/macros/manpager.sh <<-_EOF_ || die "cat EOF failed"
|
|
||||||
#!/bin/sh
|
|
||||||
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\
|
|
||||||
vim \\
|
|
||||||
-c 'let no_plugin_maps = 1' \\
|
|
||||||
-c 'set nolist nomod ft=man ts=8' \\
|
|
||||||
-c 'let g:showmarks_enable=0' \\
|
|
||||||
-c 'runtime! macros/less.vim' -
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Try to avoid sandbox problems. Bug #114475.
|
|
||||||
if [[ -d "${S}"/src/po ]]; then
|
|
||||||
sed -i -e \
|
|
||||||
'/-S check.vim/s,..VIM.,ln -s $(VIM) testvim \; ./testvim -X,' \
|
|
||||||
"${S}"/src/po/Makefile || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -v "${S}"/src/config.mk.dist "${S}"/src/auto/config.mk || die "cp failed"
|
|
||||||
|
|
||||||
sed -i -e \
|
|
||||||
"s:\\\$(PERLLIB)/ExtUtils/xsubpp:${EPREFIX}/usr/bin/xsubpp:" \
|
|
||||||
"${S}"/src/Makefile || die 'sed for ExtUtils-ParseXS failed'
|
|
||||||
|
|
||||||
# Fix bug 18245: Prevent "make" from the following chain:
|
|
||||||
# (1) Notice configure.ac is newer than auto/configure
|
|
||||||
# (2) Rebuild auto/configure
|
|
||||||
# (3) Notice auto/configure is newer than auto/config.mk
|
|
||||||
# (4) Run ./configure (with wrong args) to remake auto/config.mk
|
|
||||||
sed -i 's# auto/config\.mk:#:#' src/Makefile || die "Makefile sed failed"
|
|
||||||
rm src/auto/configure || die "rm failed"
|
|
||||||
|
|
||||||
eapply_user
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
|
|
||||||
# Fix bug #37354: Disallow -funroll-all-loops on amd64
|
|
||||||
# Bug #57859 suggests that we want to do this for all archs
|
|
||||||
filter-flags -funroll-all-loops
|
|
||||||
|
|
||||||
# Fix bug 76331: -O3 causes problems, use -O2 instead. We'll do this for
|
|
||||||
# everyone since previous flag filtering bugs have turned out to affect
|
|
||||||
# multiple archs...
|
|
||||||
replace-flags -O3 -O2
|
|
||||||
|
|
||||||
emake -j1 -C src autoconf
|
|
||||||
|
|
||||||
# This should fix a sandbox violation (see bug #24447). The hvc
|
|
||||||
# things are for ppc64, see bug #86433.
|
|
||||||
for file in /dev/pty/s* /dev/console /dev/hvc/* /dev/hvc*; do
|
|
||||||
if [[ -e "${file}" ]]; then
|
|
||||||
addwrite ${file}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
local myconf=()
|
|
||||||
if use minimal; then
|
|
||||||
myconf=(
|
|
||||||
--with-features=tiny
|
|
||||||
--disable-nls
|
|
||||||
--disable-canberra
|
|
||||||
--disable-acl
|
|
||||||
--enable-gui=no
|
|
||||||
--without-x
|
|
||||||
--disable-darwin
|
|
||||||
--disable-luainterp
|
|
||||||
--disable-perlinterp
|
|
||||||
--disable-pythoninterp
|
|
||||||
--disable-mzschemeinterp
|
|
||||||
--disable-rubyinterp
|
|
||||||
--disable-selinux
|
|
||||||
--disable-tclinterp
|
|
||||||
--disable-gpm
|
|
||||||
)
|
|
||||||
else
|
|
||||||
use debug && append-flags "-DDEBUG"
|
|
||||||
|
|
||||||
myconf=(
|
|
||||||
--with-features=huge
|
|
||||||
$(use_enable sound canberra)
|
|
||||||
$(use_enable acl)
|
|
||||||
$(use_enable crypt libsodium)
|
|
||||||
$(use_enable cscope)
|
|
||||||
$(use_enable gpm)
|
|
||||||
$(use_enable nls)
|
|
||||||
$(use_enable perl perlinterp)
|
|
||||||
$(use_enable python python3interp)
|
|
||||||
$(use_with python python3-command "${PYTHON}")
|
|
||||||
$(use_enable racket mzschemeinterp)
|
|
||||||
$(use_enable ruby rubyinterp)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable tcl tclinterp)
|
|
||||||
$(use_enable terminal)
|
|
||||||
)
|
|
||||||
|
|
||||||
# --with-features=huge forces on cscope even if we --disable it. We need
|
|
||||||
# to sed this out to avoid screwiness. (1 Sep 2004 ciaranm)
|
|
||||||
if ! use cscope; then
|
|
||||||
sed -i -e \
|
|
||||||
'/# define FEAT_CSCOPE/d' src/feature.h || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use lua; then
|
|
||||||
# -DLUA_COMPAT_OPENLIB=1 is required to enable the
|
|
||||||
# deprecated (in 5.1) luaL_openlib API (#874690)
|
|
||||||
use lua_single_target_lua5-1 && append-cppflags -DLUA_COMPAT_OPENLIB=1
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
--enable-luainterp
|
|
||||||
$(use_with lua_single_target_luajit luajit)
|
|
||||||
--with-lua-prefix="${EPREFIX}/usr"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# don't test USE=X here ... see bug #19115
|
|
||||||
# but need to provide a way to link against X ... see bug #20093
|
|
||||||
myconf+=(
|
|
||||||
--enable-gui=no
|
|
||||||
--disable-darwin
|
|
||||||
$(use_with X x)
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# let package manager strip binaries
|
|
||||||
export ac_cv_prog_STRIP="$(type -P true ) faking strip"
|
|
||||||
|
|
||||||
# keep prefix env contained within the EPREFIX
|
|
||||||
use prefix && myconf+=( --without-local-dir )
|
|
||||||
|
|
||||||
if tc-is-cross-compiler ; then
|
|
||||||
export vim_cv_getcwd_broken=no \
|
|
||||||
vim_cv_memmove_handles_overlap=yes \
|
|
||||||
vim_cv_stat_ignores_slash=yes \
|
|
||||||
vim_cv_terminfo=yes \
|
|
||||||
vim_cv_toupper_broken=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-modified-by=Gentoo-${PVR} \
|
|
||||||
"${myconf[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# The following allows emake to be used
|
|
||||||
emake -j1 -C src auto/osdef.h objects
|
|
||||||
|
|
||||||
emake
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
einfo
|
|
||||||
einfo "Starting vim tests. Several error messages will be shown"
|
|
||||||
einfo "while the tests run. This is normal behaviour and does not"
|
|
||||||
einfo "indicate a fault."
|
|
||||||
einfo
|
|
||||||
ewarn "If the tests fail, your terminal may be left in a strange"
|
|
||||||
ewarn "state. Usually, running 'reset' will fix this."
|
|
||||||
einfo
|
|
||||||
|
|
||||||
# Don't let vim talk to X
|
|
||||||
unset DISPLAY
|
|
||||||
|
|
||||||
# Arch and opensuse seem to do this and at this point, I'm willing
|
|
||||||
# to try anything to avoid random test hangs!
|
|
||||||
export TERM=xterm
|
|
||||||
|
|
||||||
# See https://github.com/vim/vim/blob/f08b0eb8691ff09f98bc4beef986ece1c521655f/src/testdir/runtest.vim#L5
|
|
||||||
# for more information on test variables we can use.
|
|
||||||
# Note that certain variables need vim-compatible regex (not PCRE), see e.g.
|
|
||||||
# http://www.softpanorama.org/Editors/Vimorama/vim_regular_expressions.shtml.
|
|
||||||
#
|
|
||||||
# Skipped tests:
|
|
||||||
# - Test_expand_star_star
|
|
||||||
# Hangs because of a recursive symlink in /usr/include/nodejs (bug #616680)
|
|
||||||
# - Test_exrc
|
|
||||||
# Looks in wrong location? (bug #742710)
|
|
||||||
# - Test_job_tty_in_out
|
|
||||||
# Fragile and depends on TERM(?)
|
|
||||||
# - Test_spelldump_bang
|
|
||||||
# Hangs.
|
|
||||||
# - Test_fuzzy_completion_env
|
|
||||||
# Too sensitive to leaked environment variables.
|
|
||||||
# - Test_term_mouse_multiple_clicks_to_select_mode
|
|
||||||
# Hangs.
|
|
||||||
# - Test_spelldump
|
|
||||||
# Hangs.
|
|
||||||
export TEST_SKIP_PAT='\(Test_expand_star_star\|Test_exrc\|Test_job_tty_in_out\|Test_spelldump_bang\|Test_fuzzy_completion_env\|Test_term_mouse_multiple_clicks_to_select_mode\|Test_spelldump\)'
|
|
||||||
|
|
||||||
emake -j1 -C src/testdir nongui
|
|
||||||
}
|
|
||||||
|
|
||||||
# Call eselect vi update with --if-unset
|
|
||||||
# to respect user's choice (bug #187449)
|
|
||||||
eselect_vi_update() {
|
|
||||||
ebegin "Calling eselect vi update"
|
|
||||||
eselect vi update --if-unset
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
local vimfiles=/usr/share/vim/vim${VIM_VERSION/.}
|
|
||||||
|
|
||||||
# Note: Do not install symlinks for 'vi', 'ex', or 'view', as these are
|
|
||||||
# managed by eselect-vi
|
|
||||||
dobin src/vim
|
|
||||||
if ! use minimal ; then
|
|
||||||
dosym vim /usr/bin/vimdiff
|
|
||||||
fi
|
|
||||||
dosym vim /usr/bin/rvim
|
|
||||||
dosym vim /usr/bin/rview
|
|
||||||
if use vim-pager ; then
|
|
||||||
dosym ${vimfiles}/macros/less.sh /usr/bin/vimpager
|
|
||||||
dosym ${vimfiles}/macros/manpager.sh /usr/bin/vimmanpager
|
|
||||||
insinto ${vimfiles}/macros
|
|
||||||
doins runtime/macros/manpager.sh
|
|
||||||
fperms a+x ${vimfiles}/macros/manpager.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
domenu runtime/vim.desktop
|
|
||||||
|
|
||||||
newbashcomp "${FILESDIR}"/${PN}-completion ${PN}
|
|
||||||
|
|
||||||
# keep in sync with 'complete ... -F' list
|
|
||||||
bashcomp_alias vim ex vi view rvim rview vimdiff
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
# Update documentation tags (from vim-doc.eclass)
|
|
||||||
update_vim_helptags
|
|
||||||
|
|
||||||
# Call eselect vi update
|
|
||||||
eselect_vi_update
|
|
||||||
|
|
||||||
# update desktop file mime cache
|
|
||||||
xdg_desktop_database_update
|
|
||||||
}
|
|
@ -1,4 +1,2 @@
|
|||||||
DIST qemu-7.1.0-docs.tar.xz 2016780 BLAKE2B 1b84361fe58d504ab740a0b805a25d02f497ca776e7251a99f0e98e3720d1a2029b7a171f9d79dd128ba17a82c72d497e09baa1a4b2f192ba390f0f3b1950792 SHA512 7a328303b8af0ab63aa1f0fe07a121d3ca459d00fca817412e645416af795930dbea0a3e60f4ca006a74d1672e84fa4e626e4d83918e0b685b601043d0d8159e
|
|
||||||
DIST qemu-7.1.0.tar.xz 121833004 BLAKE2B e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf SHA512 c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f
|
|
||||||
DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
|
DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
|
||||||
DIST qemu-7.2.0.tar.xz 122408576 BLAKE2B 415ff621356c59f88b29cfe3ef5db1e282b26bbafbee3d535477c6125ccb060ec9762d9e3ab9f70ce5478804dca0a46a59bcf12c112a2462029a93e578e61530 SHA512 f3cfa00da739ba819a218d7e6e95c77fb79a8e0f487b024ddd281602e785249b81144595e3f8c746c32a4f5c4d1a88c6aebae3c162603edfbb50ae3722d7ed13
|
DIST qemu-7.2.0.tar.xz 122408576 BLAKE2B 415ff621356c59f88b29cfe3ef5db1e282b26bbafbee3d535477c6125ccb060ec9762d9e3ab9f70ce5478804dca0a46a59bcf12c112a2462029a93e578e61530 SHA512 f3cfa00da739ba819a218d7e6e95c77fb79a8e0f487b024ddd281602e785249b81144595e3f8c746c32a4f5c4d1a88c6aebae3c162603edfbb50ae3722d7ed13
|
||||||
|
@ -1,78 +0,0 @@
|
|||||||
From 35a2c85f7d691db7aa2c47181902ac87478eef7a Mon Sep 17 00:00:00 2001
|
|
||||||
From: WANG Xuerui <xen0n@gentoo.org>
|
|
||||||
Date: Sun, 9 Oct 2022 14:08:13 +0800
|
|
||||||
Subject: [PATCH] linux-user: Implement faccessat2
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
User space has been preferring this syscall for a while, due to its
|
|
||||||
closer match with C semantics, and newer platforms such as LoongArch
|
|
||||||
apparently have libc implementations that don't fallback to faccessat
|
|
||||||
so normal access checks are failing without the emulation in place.
|
|
||||||
|
|
||||||
Tested by successfully emerging several packages within a Gentoo loong
|
|
||||||
stage3 chroot, emulated on amd64 with help of static qemu-loongarch64.
|
|
||||||
|
|
||||||
Reported-by: Andreas K. Hüttel <dilfridge@gentoo.org>
|
|
||||||
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
|
|
||||||
Message-Id: <20221009060813.2289077-1-xen0n@gentoo.org>
|
|
||||||
[lv: removing defined(__NR_faccessat2) in syscall.c,
|
|
||||||
adding defined(TARGET_NR_faccessat2) on print_faccessat()]
|
|
||||||
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
|
|
||||||
---
|
|
||||||
linux-user/strace.c | 2 +-
|
|
||||||
linux-user/strace.list | 3 +++
|
|
||||||
linux-user/syscall.c | 9 +++++++++
|
|
||||||
3 files changed, 13 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/linux-user/strace.c b/linux-user/strace.c
|
|
||||||
index 86c081c83f..9ae5a812cd 100644
|
|
||||||
--- a/linux-user/strace.c
|
|
||||||
+++ b/linux-user/strace.c
|
|
||||||
@@ -1969,7 +1969,7 @@ print_execv(CPUArchState *cpu_env, const struct syscallname *name,
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#ifdef TARGET_NR_faccessat
|
|
||||||
+#if defined(TARGET_NR_faccessat) || defined(TARGET_NR_faccessat2)
|
|
||||||
static void
|
|
||||||
print_faccessat(CPUArchState *cpu_env, const struct syscallname *name,
|
|
||||||
abi_long arg0, abi_long arg1, abi_long arg2,
|
|
||||||
diff --git a/linux-user/strace.list b/linux-user/strace.list
|
|
||||||
index a87415bf3d..3df2184580 100644
|
|
||||||
--- a/linux-user/strace.list
|
|
||||||
+++ b/linux-user/strace.list
|
|
||||||
@@ -178,6 +178,9 @@
|
|
||||||
#ifdef TARGET_NR_faccessat
|
|
||||||
{ TARGET_NR_faccessat, "faccessat" , NULL, print_faccessat, NULL },
|
|
||||||
#endif
|
|
||||||
+#ifdef TARGET_NR_faccessat2
|
|
||||||
+{ TARGET_NR_faccessat2, "faccessat2" , NULL, print_faccessat, NULL },
|
|
||||||
+#endif
|
|
||||||
#ifdef TARGET_NR_fadvise64
|
|
||||||
{ TARGET_NR_fadvise64, "fadvise64" , NULL, NULL, NULL },
|
|
||||||
#endif
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
|
||||||
index d499cac1d5..e985ad167f 100644
|
|
||||||
--- a/linux-user/syscall.c
|
|
||||||
+++ b/linux-user/syscall.c
|
|
||||||
@@ -9143,6 +9143,15 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
|
|
||||||
unlock_user(p, arg2, 0);
|
|
||||||
return ret;
|
|
||||||
#endif
|
|
||||||
+#if defined(TARGET_NR_faccessat2)
|
|
||||||
+ case TARGET_NR_faccessat2:
|
|
||||||
+ if (!(p = lock_user_string(arg2))) {
|
|
||||||
+ return -TARGET_EFAULT;
|
|
||||||
+ }
|
|
||||||
+ ret = get_errno(faccessat(arg1, p, arg3, arg4));
|
|
||||||
+ unlock_user(p, arg2, 0);
|
|
||||||
+ return ret;
|
|
||||||
+#endif
|
|
||||||
#ifdef TARGET_NR_nice /* not on alpha */
|
|
||||||
case TARGET_NR_nice:
|
|
||||||
return get_errno(nice(arg1));
|
|
||||||
--
|
|
||||||
2.37.4
|
|
||||||
|
|
@ -1,98 +0,0 @@
|
|||||||
From xen0n@gentoo.org Thu Oct 06 10:07:10 2022
|
|
||||||
Return-Path: <xen0n@gentoo.org>
|
|
||||||
X-Original-To: dilfridge@gentoo.org
|
|
||||||
Delivered-To: dilfridge@gentoo.org
|
|
||||||
From: WANG Xuerui <xen0n@gentoo.org>
|
|
||||||
To: qemu-devel@nongnu.org
|
|
||||||
Cc: Richard Henderson <richard.henderson@linaro.org>,
|
|
||||||
=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
|
|
||||||
WANG Xuerui <xen0n@gentoo.org>,
|
|
||||||
Song Gao <gaosong@loongson.cn>,
|
|
||||||
Xiaojuan Yang <yangxiaojuan@loongson.cn>,
|
|
||||||
=?UTF-8?q?Andreas=20K=20=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
|
|
||||||
Subject: [PATCH RESEND] linux-user: Fix struct statfs ABI on loongarch64
|
|
||||||
Date: Thu, 6 Oct 2022 18:07:10 +0800
|
|
||||||
Message-Id: <20221006100710.427252-1-xen0n@gentoo.org>
|
|
||||||
X-Mailer: git-send-email 2.38.0
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Previously the 32-bit version was incorrectly chosen, leading to funny
|
|
||||||
but incorrect output from e.g. df(1). Simply select the version
|
|
||||||
corresponding to the 64-bit asm-generic definition.
|
|
||||||
|
|
||||||
For reference, this program should produce the same output no matter
|
|
||||||
natively compiled or not, for loongarch64 or not:
|
|
||||||
|
|
||||||
```c
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <sys/statfs.h>
|
|
||||||
|
|
||||||
int main(int argc, const char *argv[])
|
|
||||||
{
|
|
||||||
struct statfs b;
|
|
||||||
if (statfs(argv[0], &b))
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
printf("f_type = 0x%lx\n", b.f_type);
|
|
||||||
printf("f_bsize = %ld\n", b.f_bsize);
|
|
||||||
printf("f_blocks = %ld\n", b.f_blocks);
|
|
||||||
printf("f_bfree = %ld\n", b.f_bfree);
|
|
||||||
printf("f_bavail = %ld\n", b.f_bavail);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Example output on my amd64 box, with the test binary residing on a
|
|
||||||
// btrfs partition.
|
|
||||||
|
|
||||||
// Native and emulated output after the fix:
|
|
||||||
//
|
|
||||||
// f_type = 0x9123683e
|
|
||||||
// f_bsize = 4096
|
|
||||||
// f_blocks = 268435456
|
|
||||||
// f_bfree = 168406890
|
|
||||||
// f_bavail = 168355058
|
|
||||||
|
|
||||||
// Output before the fix, note the messed layout:
|
|
||||||
//
|
|
||||||
// f_type = 0x10009123683e
|
|
||||||
// f_bsize = 723302085239504896
|
|
||||||
// f_blocks = 168355058
|
|
||||||
// f_bfree = 2250817541779750912
|
|
||||||
// f_bavail = 1099229433104
|
|
||||||
```
|
|
||||||
|
|
||||||
Fixes: 1f63019632 ("linux-user: Add LoongArch syscall support")
|
|
||||||
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
|
|
||||||
Cc: Song Gao <gaosong@loongson.cn>
|
|
||||||
Cc: Xiaojuan Yang <yangxiaojuan@loongson.cn>
|
|
||||||
Cc: Andreas K. Hüttel <dilfridge@gentoo.org>
|
|
||||||
---
|
|
||||||
|
|
||||||
Resend with amended commit message to 100% clarify the example output
|
|
||||||
are generated on my box and will differ for everyone else. Sorry for
|
|
||||||
the noise.
|
|
||||||
|
|
||||||
linux-user/syscall_defs.h | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
|
||||||
index 01ee10a88f..77864de57f 100644
|
|
||||||
--- a/linux-user/syscall_defs.h
|
|
||||||
+++ b/linux-user/syscall_defs.h
|
|
||||||
@@ -2262,7 +2262,8 @@ struct target_statfs64 {
|
|
||||||
};
|
|
||||||
#elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \
|
|
||||||
defined(TARGET_SPARC64) || defined(TARGET_AARCH64) || \
|
|
||||||
- defined(TARGET_RISCV)) && !defined(TARGET_ABI32)
|
|
||||||
+ defined(TARGET_RISCV) || defined(TARGET_LOONGARCH64)) && \
|
|
||||||
+ !defined(TARGET_ABI32)
|
|
||||||
struct target_statfs {
|
|
||||||
abi_long f_type;
|
|
||||||
abi_long f_bsize;
|
|
||||||
--
|
|
||||||
2.38.0
|
|
||||||
|
|
||||||
|
|
@ -1,94 +0,0 @@
|
|||||||
From xen0n@gentoo.org Thu Oct 06 08:55:00 2022
|
|
||||||
Return-Path: <xen0n@gentoo.org>
|
|
||||||
X-Original-To: dilfridge@gentoo.org
|
|
||||||
Delivered-To: dilfridge@gentoo.org
|
|
||||||
From: WANG Xuerui <xen0n@gentoo.org>
|
|
||||||
To: qemu-devel@nongnu.org
|
|
||||||
Cc: WANG Xuerui <xen0n@gentoo.org>,
|
|
||||||
=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
|
|
||||||
Jiaxun Yang <jiaxun.yang@flygoat.com>,
|
|
||||||
=?UTF-8?q?Andreas=20K=20=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>,
|
|
||||||
Joshua Kinard <kumba@gentoo.org>
|
|
||||||
Subject: [PATCH] linux-user: Fix more MIPS n32 syscall ABI issues
|
|
||||||
Date: Thu, 6 Oct 2022 16:55:00 +0800
|
|
||||||
Message-Id: <20221006085500.290341-1-xen0n@gentoo.org>
|
|
||||||
X-Mailer: git-send-email 2.38.0
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
In commit 80f0fe3a85 ("linux-user: Fix syscall parameter handling for
|
|
||||||
MIPS n32") the ABI problem regarding offset64 on MIPS n32 was fixed,
|
|
||||||
but still some cases remain where the n32 is incorrectly treated as any
|
|
||||||
other 32-bit ABI that passes 64-bit arguments in pairs of GPRs. Fix by
|
|
||||||
excluding TARGET_ABI_MIPSN32 from various TARGET_ABI_BITS == 32 checks.
|
|
||||||
|
|
||||||
Closes: https://gitlab.com/qemu-project/qemu/-/issues/1238
|
|
||||||
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
|
|
||||||
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
|
|
||||||
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
|
|
||||||
Cc: Andreas K. Hüttel <dilfridge@gentoo.org>
|
|
||||||
Cc: Joshua Kinard <kumba@gentoo.org>
|
|
||||||
---
|
|
||||||
|
|
||||||
Note: I can't reproduce the crash with neither MIPS n32 sysroot at my hand
|
|
||||||
(a self-built one for Loongson-2F, and stage3-mips64_n32-openrc-20221001T170527Z),
|
|
||||||
so I can only verify by looking at the (host and qemu) strace outputs, and
|
|
||||||
would have to ask you to review/test this harder. Thanks.
|
|
||||||
|
|
||||||
linux-user/syscall.c | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
|
||||||
index 2e954d8dbd..8b2d39fe73 100644
|
|
||||||
--- a/linux-user/syscall.c
|
|
||||||
+++ b/linux-user/syscall.c
|
|
||||||
@@ -11793,7 +11793,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
|
|
||||||
return -host_to_target_errno(ret);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if TARGET_ABI_BITS == 32
|
|
||||||
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
|
|
||||||
|
|
||||||
#ifdef TARGET_NR_fadvise64_64
|
|
||||||
case TARGET_NR_fadvise64_64:
|
|
||||||
@@ -11920,7 +11920,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
|
|
||||||
return get_errno(sys_gettid());
|
|
||||||
#ifdef TARGET_NR_readahead
|
|
||||||
case TARGET_NR_readahead:
|
|
||||||
-#if TARGET_ABI_BITS == 32
|
|
||||||
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
|
|
||||||
if (regpairs_aligned(cpu_env, num)) {
|
|
||||||
arg2 = arg3;
|
|
||||||
arg3 = arg4;
|
|
||||||
@@ -12612,7 +12612,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
|
|
||||||
#endif /* CONFIG_EVENTFD */
|
|
||||||
#if defined(CONFIG_FALLOCATE) && defined(TARGET_NR_fallocate)
|
|
||||||
case TARGET_NR_fallocate:
|
|
||||||
-#if TARGET_ABI_BITS == 32
|
|
||||||
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
|
|
||||||
ret = get_errno(fallocate(arg1, arg2, target_offset64(arg3, arg4),
|
|
||||||
target_offset64(arg5, arg6)));
|
|
||||||
#else
|
|
||||||
@@ -12623,7 +12623,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
|
|
||||||
#if defined(CONFIG_SYNC_FILE_RANGE)
|
|
||||||
#if defined(TARGET_NR_sync_file_range)
|
|
||||||
case TARGET_NR_sync_file_range:
|
|
||||||
-#if TARGET_ABI_BITS == 32
|
|
||||||
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
|
|
||||||
#if defined(TARGET_MIPS)
|
|
||||||
ret = get_errno(sync_file_range(arg1, target_offset64(arg3, arg4),
|
|
||||||
target_offset64(arg5, arg6), arg7));
|
|
||||||
@@ -12645,7 +12645,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
|
|
||||||
case TARGET_NR_arm_sync_file_range:
|
|
||||||
#endif
|
|
||||||
/* This is like sync_file_range but the arguments are reordered */
|
|
||||||
-#if TARGET_ABI_BITS == 32
|
|
||||||
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
|
|
||||||
ret = get_errno(sync_file_range(arg1, target_offset64(arg3, arg4),
|
|
||||||
target_offset64(arg5, arg6), arg2));
|
|
||||||
#else
|
|
||||||
--
|
|
||||||
2.38.0
|
|
||||||
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
Forward-ported from original patch for 5.2.0.
|
|
||||||
|
|
||||||
diff --git a/configure b/configure
|
|
||||||
index da2501489f..4660ee3ee5 100755
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -400,6 +400,7 @@ ld="${LD-${cross_prefix}ld}"
|
|
||||||
nm="${NM-${cross_prefix}nm}"
|
|
||||||
smbd="$SMBD"
|
|
||||||
strip="${STRIP-${cross_prefix}strip}"
|
|
||||||
+strings="${STRINGS-${cross_prefix}strings}"
|
|
||||||
widl="${WIDL-${cross_prefix}widl}"
|
|
||||||
windres="${WINDRES-${cross_prefix}windres}"
|
|
||||||
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
|
|
||||||
@@ -1466,9 +1467,9 @@ int main(int argc, char *argv[])
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if compile_prog ; then
|
|
||||||
- if strings -a $TMPE | grep -q BiGeNdIaN ; then
|
|
||||||
+ if $strings -a $TMPE | grep -q BiGeNdIaN ; then
|
|
||||||
bigendian="yes"
|
|
||||||
- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
|
|
||||||
+ elif $strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
|
|
||||||
bigendian="no"
|
|
||||||
else
|
|
||||||
echo big/little test failed
|
|
@ -53,7 +53,6 @@
|
|||||||
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
|
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
|
||||||
<flag name="vde">Enable VDE-based networking</flag>
|
<flag name="vde">Enable VDE-based networking</flag>
|
||||||
<flag name="vhost-net">Enable accelerated networking using vhost-net, see https://www.linux-kvm.org/page/VhostNet</flag>
|
<flag name="vhost-net">Enable accelerated networking using vhost-net, see https://www.linux-kvm.org/page/VhostNet</flag>
|
||||||
<flag name="vhost-user-fs">Enable shared file system access using the FUSE protocol carried over virtio.</flag>
|
|
||||||
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
|
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
|
||||||
<flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See https://wiki.qemu.org/Documentation/9psetup</flag>
|
<flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See https://wiki.qemu.org/Documentation/9psetup</flag>
|
||||||
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>
|
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>
|
||||||
|
@ -1,967 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
|
||||||
# Set to 1 if prebuilt, 0 if not
|
|
||||||
# (the construct below is to allow overriding from env for script)
|
|
||||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
|
||||||
QEMU_DOCS_PREBUILT_DEV=ajak
|
|
||||||
QEMU_DOCS_VERSION="${PV}"
|
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
|
||||||
# bug #830088
|
|
||||||
QEMU_DOC_USEFLAG="+doc"
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
|
||||||
PYTHON_REQ_USE="ncurses,readline"
|
|
||||||
|
|
||||||
FIRMWARE_ABI_VERSION="7.1.0"
|
|
||||||
|
|
||||||
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
|
||||||
pax-utils xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == *9999* ]]; then
|
|
||||||
QEMU_DOCS_PREBUILT=0
|
|
||||||
|
|
||||||
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
|
|
||||||
EGIT_SUBMODULES=(
|
|
||||||
tests/fp/berkeley-softfloat-3
|
|
||||||
tests/fp/berkeley-testfloat-3
|
|
||||||
ui/keycodemapdb
|
|
||||||
)
|
|
||||||
inherit git-r3
|
|
||||||
SRC_URI=""
|
|
||||||
else
|
|
||||||
MY_P="${PN}-${PV/_rc/-rc}"
|
|
||||||
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
|
|
||||||
|
|
||||||
if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
|
||||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
|
|
||||||
fi
|
|
||||||
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
|
||||||
KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
|
||||||
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
|
||||||
|
|
||||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
|
|
||||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
|
||||||
|
|
||||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
|
|
||||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
|
||||||
jack jemalloc +jpeg
|
|
||||||
lzo multipath
|
|
||||||
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
|
|
||||||
plugins +png pulseaudio python rbd sasl sdl sdl-image selinux
|
|
||||||
+slirp
|
|
||||||
smartcard snappy spice ssh static static-user systemtap test udev usb
|
|
||||||
usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
|
|
||||||
zstd"
|
|
||||||
|
|
||||||
COMMON_TARGETS="
|
|
||||||
aarch64
|
|
||||||
alpha
|
|
||||||
arm
|
|
||||||
cris
|
|
||||||
hppa
|
|
||||||
i386
|
|
||||||
loongarch64
|
|
||||||
m68k
|
|
||||||
microblaze
|
|
||||||
microblazeel
|
|
||||||
mips
|
|
||||||
mips64
|
|
||||||
mips64el
|
|
||||||
mipsel
|
|
||||||
nios2
|
|
||||||
or1k
|
|
||||||
ppc
|
|
||||||
ppc64
|
|
||||||
riscv32
|
|
||||||
riscv64
|
|
||||||
s390x
|
|
||||||
sh4
|
|
||||||
sh4eb
|
|
||||||
sparc
|
|
||||||
sparc64
|
|
||||||
x86_64
|
|
||||||
xtensa
|
|
||||||
xtensaeb
|
|
||||||
"
|
|
||||||
IUSE_SOFTMMU_TARGETS="
|
|
||||||
${COMMON_TARGETS}
|
|
||||||
avr
|
|
||||||
rx
|
|
||||||
tricore
|
|
||||||
"
|
|
||||||
IUSE_USER_TARGETS="
|
|
||||||
${COMMON_TARGETS}
|
|
||||||
aarch64_be
|
|
||||||
armeb
|
|
||||||
hexagon
|
|
||||||
mipsn32
|
|
||||||
mipsn32el
|
|
||||||
ppc64le
|
|
||||||
sparc32plus
|
|
||||||
"
|
|
||||||
|
|
||||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
|
||||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
|
||||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
# Allow no targets to be built so that people can get a tools-only build.
|
|
||||||
# Block USE flag configurations known to not work.
|
|
||||||
REQUIRED_USE="
|
|
||||||
${PYTHON_REQUIRED_USE}
|
|
||||||
qemu_softmmu_targets_arm? ( fdt )
|
|
||||||
qemu_softmmu_targets_microblaze? ( fdt )
|
|
||||||
qemu_softmmu_targets_mips64el? ( fdt )
|
|
||||||
qemu_softmmu_targets_ppc64? ( fdt )
|
|
||||||
qemu_softmmu_targets_ppc? ( fdt )
|
|
||||||
qemu_softmmu_targets_riscv32? ( fdt )
|
|
||||||
qemu_softmmu_targets_riscv64? ( fdt )
|
|
||||||
qemu_softmmu_targets_x86_64? ( fdt )
|
|
||||||
sdl-image? ( sdl )
|
|
||||||
static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
|
||||||
static-user? ( !plugins )
|
|
||||||
virgl? ( opengl )
|
|
||||||
virtfs? ( xattr )
|
|
||||||
vnc? ( gnutls )
|
|
||||||
vte? ( gtk )
|
|
||||||
multipath? ( udev )
|
|
||||||
plugins? ( !static !static-user )
|
|
||||||
"
|
|
||||||
|
|
||||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
|
||||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
|
||||||
#
|
|
||||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
|
||||||
#
|
|
||||||
# The attr lib isn't always linked in (although the USE flag is always
|
|
||||||
# respected). This is because qemu supports using the C library's API
|
|
||||||
# when available rather than always using the external library.
|
|
||||||
ALL_DEPEND="
|
|
||||||
>=dev-libs/glib-2.0[static-libs(+)]
|
|
||||||
sys-libs/zlib[static-libs(+)]
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
systemtap? ( dev-util/systemtap )
|
|
||||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
|
||||||
|
|
||||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
|
||||||
# softmmu targets (qemu-system-*).
|
|
||||||
SOFTMMU_TOOLS_DEPEND="
|
|
||||||
sys-libs/libcap-ng[static-libs(+)]
|
|
||||||
>=sys-libs/libseccomp-2.1.0[static-libs(+)]
|
|
||||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
|
||||||
accessibility? (
|
|
||||||
app-accessibility/brltty[api]
|
|
||||||
app-accessibility/brltty[static-libs(+)]
|
|
||||||
)
|
|
||||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
|
||||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
|
||||||
bpf? ( dev-libs/libbpf:= )
|
|
||||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
|
||||||
capstone? ( dev-libs/capstone:= )
|
|
||||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
|
||||||
fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
|
|
||||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
|
||||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
|
||||||
gnutls? (
|
|
||||||
dev-libs/nettle:=[static-libs(+)]
|
|
||||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
|
||||||
)
|
|
||||||
gtk? (
|
|
||||||
x11-libs/gtk+:3
|
|
||||||
vte? ( x11-libs/vte:2.91 )
|
|
||||||
)
|
|
||||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
|
||||||
iscsi? ( net-libs/libiscsi )
|
|
||||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
|
||||||
jack? ( virtual/jack )
|
|
||||||
jemalloc? ( dev-libs/jemalloc )
|
|
||||||
jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
|
|
||||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
|
||||||
multipath? ( sys-fs/multipath-tools )
|
|
||||||
ncurses? (
|
|
||||||
sys-libs/ncurses:=[unicode(+)]
|
|
||||||
sys-libs/ncurses:=[static-libs(+)]
|
|
||||||
)
|
|
||||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
|
||||||
numa? ( sys-process/numactl[static-libs(+)] )
|
|
||||||
opengl? (
|
|
||||||
virtual/opengl
|
|
||||||
media-libs/libepoxy[static-libs(+)]
|
|
||||||
media-libs/mesa[static-libs(+)]
|
|
||||||
media-libs/mesa[egl(+),gbm(+)]
|
|
||||||
)
|
|
||||||
pam? ( sys-libs/pam )
|
|
||||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio )
|
|
||||||
rbd? ( sys-cluster/ceph )
|
|
||||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
|
||||||
sdl? (
|
|
||||||
media-libs/libsdl2[video]
|
|
||||||
media-libs/libsdl2[static-libs(+)]
|
|
||||||
)
|
|
||||||
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
|
|
||||||
slirp? ( net-libs/libslirp[static-libs(+)] )
|
|
||||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
|
||||||
snappy? ( app-arch/snappy:= )
|
|
||||||
spice? (
|
|
||||||
>=app-emulation/spice-protocol-0.12.3
|
|
||||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
|
||||||
)
|
|
||||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
|
||||||
udev? ( virtual/libudev:= )
|
|
||||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
|
||||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
|
||||||
vde? ( net-misc/vde[static-libs(+)] )
|
|
||||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
|
||||||
virtfs? ( sys-libs/libcap )
|
|
||||||
xen? ( app-emulation/xen-tools:= )
|
|
||||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
|
||||||
"
|
|
||||||
|
|
||||||
EDK2_OVMF_VERSION="202202"
|
|
||||||
SEABIOS_VERSION="1.16.0"
|
|
||||||
|
|
||||||
X86_FIRMWARE_DEPEND="
|
|
||||||
pin-upstream-blobs? (
|
|
||||||
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
|
||||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
|
||||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
|
||||||
)
|
|
||||||
!pin-upstream-blobs? (
|
|
||||||
|| (
|
|
||||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
|
||||||
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
|
||||||
)
|
|
||||||
sys-firmware/ipxe[qemu]
|
|
||||||
|| (
|
|
||||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
|
||||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
)
|
|
||||||
sys-firmware/sgabios
|
|
||||||
)"
|
|
||||||
PPC_FIRMWARE_DEPEND="
|
|
||||||
pin-upstream-blobs? (
|
|
||||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
)
|
|
||||||
!pin-upstream-blobs? (
|
|
||||||
|| (
|
|
||||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
|
||||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
"
|
|
||||||
|
|
||||||
BDEPEND="
|
|
||||||
$(python_gen_impl_dep)
|
|
||||||
dev-lang/perl
|
|
||||||
dev-util/meson
|
|
||||||
sys-apps/texinfo
|
|
||||||
virtual/pkgconfig
|
|
||||||
doc? (
|
|
||||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
|
||||||
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
|
|
||||||
)
|
|
||||||
gtk? ( nls? ( sys-devel/gettext ) )
|
|
||||||
test? (
|
|
||||||
dev-libs/glib[utils]
|
|
||||||
sys-devel/bc
|
|
||||||
)
|
|
||||||
"
|
|
||||||
CDEPEND="
|
|
||||||
!static? (
|
|
||||||
${ALL_DEPEND//\[static-libs(+)]}
|
|
||||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
|
||||||
)
|
|
||||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
|
||||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
|
||||||
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
|
||||||
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
|
||||||
"
|
|
||||||
DEPEND="${CDEPEND}
|
|
||||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
|
||||||
static? (
|
|
||||||
${ALL_DEPEND}
|
|
||||||
${SOFTMMU_TOOLS_DEPEND}
|
|
||||||
)
|
|
||||||
static-user? ( ${ALL_DEPEND} )"
|
|
||||||
RDEPEND="${CDEPEND}
|
|
||||||
acct-group/kvm
|
|
||||||
selinux? (
|
|
||||||
sec-policy/selinux-qemu
|
|
||||||
sys-libs/libselinux
|
|
||||||
)"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
|
||||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-strings.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-mips-n32-syscalls.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-loong-stat.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-faccessat2.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
QA_PREBUILT="
|
|
||||||
usr/share/qemu/hppa-firmware.img
|
|
||||||
usr/share/qemu/openbios-ppc
|
|
||||||
usr/share/qemu/openbios-sparc64
|
|
||||||
usr/share/qemu/openbios-sparc32
|
|
||||||
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
|
||||||
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
|
||||||
usr/share/qemu/palcode-clipper
|
|
||||||
usr/share/qemu/s390-ccw.img
|
|
||||||
usr/share/qemu/s390-netboot.img
|
|
||||||
usr/share/qemu/u-boot.e500
|
|
||||||
"
|
|
||||||
|
|
||||||
QA_WX_LOAD="usr/bin/qemu-i386
|
|
||||||
usr/bin/qemu-x86_64
|
|
||||||
usr/bin/qemu-alpha
|
|
||||||
usr/bin/qemu-arm
|
|
||||||
usr/bin/qemu-cris
|
|
||||||
usr/bin/qemu-m68k
|
|
||||||
usr/bin/qemu-microblaze
|
|
||||||
usr/bin/qemu-microblazeel
|
|
||||||
usr/bin/qemu-mips
|
|
||||||
usr/bin/qemu-mipsel
|
|
||||||
usr/bin/qemu-or1k
|
|
||||||
usr/bin/qemu-ppc
|
|
||||||
usr/bin/qemu-ppc64
|
|
||||||
usr/bin/qemu-sh4
|
|
||||||
usr/bin/qemu-sh4eb
|
|
||||||
usr/bin/qemu-sparc
|
|
||||||
usr/bin/qemu-sparc64
|
|
||||||
usr/bin/qemu-armeb
|
|
||||||
usr/bin/qemu-sparc32plus
|
|
||||||
usr/bin/qemu-s390x
|
|
||||||
usr/bin/qemu-unicore32
|
|
||||||
"
|
|
||||||
|
|
||||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
|
||||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
|
||||||
kernel module is loaded is to load it on boot.
|
|
||||||
For AMD CPUs the module is called 'kvm-amd'.
|
|
||||||
For Intel CPUs the module is called 'kvm-intel'.
|
|
||||||
Please review /etc/conf.d/modules for how to load these.
|
|
||||||
|
|
||||||
Make sure your user is in the 'kvm' group. Just run
|
|
||||||
$ gpasswd -a <USER> kvm
|
|
||||||
then have <USER> re-login.
|
|
||||||
|
|
||||||
For brand new installs, the default permissions on /dev/kvm might not let
|
|
||||||
you access it. You can tell udev to reset ownership/perms:
|
|
||||||
$ udevadm trigger -c add /dev/kvm
|
|
||||||
|
|
||||||
If you want to register binfmt handlers for qemu user targets:
|
|
||||||
For openrc:
|
|
||||||
# rc-update add qemu-binfmt
|
|
||||||
For systemd:
|
|
||||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
|
||||||
|
|
||||||
pkg_pretend() {
|
|
||||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
|
||||||
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
|
|
||||||
elif use kernel_linux; then
|
|
||||||
if ! linux_config_exists; then
|
|
||||||
eerror "Unable to check your kernel for KVM support"
|
|
||||||
else
|
|
||||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
|
||||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
|
||||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
|
||||||
ERROR_KVM_AMD+=" your kernel configuration."
|
|
||||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
|
||||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
|
||||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
|
||||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
|
||||||
ERROR_TUN+=" virtual network device if using -net tap."
|
|
||||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
|
||||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
|
||||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
|
||||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
|
||||||
ERROR_VHOST_NET+=" support"
|
|
||||||
|
|
||||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
|
||||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
|
||||||
CONFIG_CHECK+=" ~KVM_AMD"
|
|
||||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
|
||||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
|
||||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
|
||||||
|
|
||||||
# Now do the actual checks setup above
|
|
||||||
check_extra_config
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
|
||||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
|
||||||
eerror "instances are still pointing to it. Please update your"
|
|
||||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
|
||||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
|
||||||
die "update your virt configs to not use qemu-kvm"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Sanity check to make sure target lists are kept up-to-date.
|
|
||||||
check_targets() {
|
|
||||||
local var=$1 mak=$2
|
|
||||||
local detected sorted
|
|
||||||
|
|
||||||
pushd "${S}"/configs/targets/ >/dev/null || die
|
|
||||||
|
|
||||||
# Force C locale until glibc is updated. #564936
|
|
||||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
|
||||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
|
||||||
if [[ ${sorted} != "${detected}" ]] ; then
|
|
||||||
eerror "The ebuild needs to be kept in sync."
|
|
||||||
eerror "${var}: ${sorted}"
|
|
||||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
|
||||||
die "sync ${var} to the list of targets"
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
|
||||||
check_targets IUSE_USER_TARGETS linux-user
|
|
||||||
|
|
||||||
default
|
|
||||||
|
|
||||||
# Use correct toolchain to fix cross-compiling
|
|
||||||
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
|
|
||||||
export WINDRES=${CHOST}-windres
|
|
||||||
|
|
||||||
# Verbose builds
|
|
||||||
MAKEOPTS+=" V=1"
|
|
||||||
|
|
||||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
|
||||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
|
||||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
|
||||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
|
||||||
|
|
||||||
# Remove bundled modules
|
|
||||||
rm -r dtc meson roms/*/ slirp || die
|
|
||||||
}
|
|
||||||
|
|
||||||
##
|
|
||||||
# configures qemu based on the build directory and the build type
|
|
||||||
# we are using.
|
|
||||||
#
|
|
||||||
qemu_src_configure() {
|
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
|
||||||
|
|
||||||
local buildtype=$1
|
|
||||||
local builddir="${S}/${buildtype}-build"
|
|
||||||
|
|
||||||
mkdir "${builddir}" || die
|
|
||||||
|
|
||||||
local conf_opts=(
|
|
||||||
--prefix=/usr
|
|
||||||
--sysconfdir=/etc
|
|
||||||
--bindir=/usr/bin
|
|
||||||
--libdir=/usr/$(get_libdir)
|
|
||||||
--datadir=/usr/share
|
|
||||||
--docdir=/usr/share/doc/${PF}/html
|
|
||||||
--mandir=/usr/share/man
|
|
||||||
--localstatedir=/var
|
|
||||||
--disable-bsd-user
|
|
||||||
--disable-containers # bug #732972
|
|
||||||
--disable-guest-agent
|
|
||||||
--disable-strip
|
|
||||||
--with-git-submodules=ignore
|
|
||||||
|
|
||||||
# bug #746752: TCG interpreter has a few limitations:
|
|
||||||
# - it does not support FPU
|
|
||||||
# - it's generally slower on non-self-modifying code
|
|
||||||
# It's advantage is support for host architectures
|
|
||||||
# where native codegeneration is not implemented.
|
|
||||||
# Gentoo has qemu keyworded only on targets with
|
|
||||||
# native code generation available. Avoid the interpreter.
|
|
||||||
--disable-tcg-interpreter
|
|
||||||
|
|
||||||
--disable-werror
|
|
||||||
# We support gnutls/nettle for crypto operations. It is possible
|
|
||||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
|
||||||
# are enabled), but it's not really worth the hassle. Disable it
|
|
||||||
# all the time to avoid automatically detecting it. #568856
|
|
||||||
--disable-gcrypt
|
|
||||||
--cc="$(tc-getCC)"
|
|
||||||
--cxx="$(tc-getCXX)"
|
|
||||||
--host-cc="$(tc-getBUILD_CC)"
|
|
||||||
|
|
||||||
$(use_enable alsa)
|
|
||||||
$(use_enable debug debug-info)
|
|
||||||
$(use_enable debug debug-tcg)
|
|
||||||
$(use_enable jack)
|
|
||||||
$(use_enable nls gettext)
|
|
||||||
$(use_enable oss)
|
|
||||||
$(use_enable plugins)
|
|
||||||
$(use_enable pulseaudio pa)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable xattr attr)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Disable options not used by user targets. This simplifies building
|
|
||||||
# static user targets (USE=static-user) considerably.
|
|
||||||
conf_notuser() {
|
|
||||||
if [[ ${buildtype} == "user" ]] ; then
|
|
||||||
echo "--disable-${2:-$1}"
|
|
||||||
else
|
|
||||||
use_enable "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
|
||||||
conf_softmmu() {
|
|
||||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
|
||||||
use_enable "$@"
|
|
||||||
else
|
|
||||||
echo "--disable-${2:-$1}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
|
||||||
conf_tools() {
|
|
||||||
if [[ ${buildtype} == "tools" ]] ; then
|
|
||||||
use_enable "$@"
|
|
||||||
else
|
|
||||||
echo "--disable-${2:-$1}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Special case for the malloc flag, because the --disable flag does
|
|
||||||
# not exist and trying like above will break configuring.
|
|
||||||
conf_malloc() {
|
|
||||||
if [[ ! ${buildtype} == "user" ]] ; then
|
|
||||||
usex "${1}" "--enable-malloc=${1}" ""
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
conf_opts+=(
|
|
||||||
$(conf_notuser accessibility brlapi)
|
|
||||||
$(conf_notuser aio linux-aio)
|
|
||||||
$(conf_softmmu bpf)
|
|
||||||
$(conf_notuser bzip2)
|
|
||||||
$(conf_notuser capstone)
|
|
||||||
$(conf_notuser curl)
|
|
||||||
$(conf_tools doc docs)
|
|
||||||
$(conf_notuser fdt)
|
|
||||||
$(conf_notuser fuse)
|
|
||||||
$(conf_notuser glusterfs)
|
|
||||||
$(conf_notuser gnutls)
|
|
||||||
$(conf_notuser gnutls nettle)
|
|
||||||
$(conf_notuser gtk)
|
|
||||||
$(conf_notuser infiniband rdma)
|
|
||||||
$(conf_notuser iscsi libiscsi)
|
|
||||||
$(conf_notuser io-uring linux-io-uring)
|
|
||||||
$(conf_malloc jemalloc)
|
|
||||||
$(conf_notuser jpeg vnc-jpeg)
|
|
||||||
$(conf_notuser kernel_linux kvm)
|
|
||||||
$(conf_notuser lzo)
|
|
||||||
$(conf_notuser multipath mpath)
|
|
||||||
$(conf_notuser ncurses curses)
|
|
||||||
$(conf_notuser nfs libnfs)
|
|
||||||
$(conf_notuser numa)
|
|
||||||
$(conf_notuser opengl)
|
|
||||||
$(conf_notuser pam auth-pam)
|
|
||||||
$(conf_notuser png)
|
|
||||||
$(conf_notuser rbd)
|
|
||||||
$(conf_notuser sasl vnc-sasl)
|
|
||||||
$(conf_notuser sdl)
|
|
||||||
$(conf_softmmu sdl-image)
|
|
||||||
$(conf_notuser slirp slirp system)
|
|
||||||
$(conf_notuser smartcard)
|
|
||||||
$(conf_notuser snappy)
|
|
||||||
$(conf_notuser spice)
|
|
||||||
$(conf_notuser ssh libssh)
|
|
||||||
$(conf_notuser udev libudev)
|
|
||||||
$(conf_notuser usb libusb)
|
|
||||||
$(conf_notuser usbredir usb-redir)
|
|
||||||
$(conf_notuser vde)
|
|
||||||
$(conf_notuser vhost-net)
|
|
||||||
$(conf_notuser virgl virglrenderer)
|
|
||||||
$(conf_softmmu virtfs)
|
|
||||||
$(conf_notuser vnc)
|
|
||||||
$(conf_notuser vte)
|
|
||||||
$(conf_notuser xen)
|
|
||||||
$(conf_notuser xen xen-pci-passthrough)
|
|
||||||
# use prebuilt keymaps, bug #759604
|
|
||||||
--disable-xkbcommon
|
|
||||||
$(conf_notuser zstd)
|
|
||||||
)
|
|
||||||
|
|
||||||
if [[ ! ${buildtype} == "user" ]] ; then
|
|
||||||
# audio options
|
|
||||||
local audio_opts=(
|
|
||||||
# Note: backend order matters here: #716202
|
|
||||||
# We iterate from higher-level to lower level.
|
|
||||||
$(usex pulseaudio pa "")
|
|
||||||
$(usev jack)
|
|
||||||
$(usev sdl)
|
|
||||||
$(usev alsa)
|
|
||||||
$(usev oss)
|
|
||||||
)
|
|
||||||
conf_opts+=(
|
|
||||||
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
case ${buildtype} in
|
|
||||||
user)
|
|
||||||
conf_opts+=(
|
|
||||||
--enable-linux-user
|
|
||||||
--disable-system
|
|
||||||
--disable-blobs
|
|
||||||
--disable-tools
|
|
||||||
--disable-cap-ng
|
|
||||||
--disable-seccomp
|
|
||||||
)
|
|
||||||
local static_flag="static-user"
|
|
||||||
;;
|
|
||||||
softmmu)
|
|
||||||
conf_opts+=(
|
|
||||||
--disable-linux-user
|
|
||||||
--enable-system
|
|
||||||
--disable-tools
|
|
||||||
--enable-cap-ng
|
|
||||||
--enable-seccomp
|
|
||||||
)
|
|
||||||
local static_flag="static"
|
|
||||||
;;
|
|
||||||
tools)
|
|
||||||
conf_opts+=(
|
|
||||||
--disable-linux-user
|
|
||||||
--disable-system
|
|
||||||
--disable-blobs
|
|
||||||
--enable-cap-ng
|
|
||||||
--enable-seccomp
|
|
||||||
--enable-tools
|
|
||||||
)
|
|
||||||
local static_flag="static"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
local targets="${buildtype}_targets"
|
|
||||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
|
||||||
|
|
||||||
# Add support for SystemTAP
|
|
||||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
|
||||||
|
|
||||||
# We always want to attempt to build with PIE support as it results
|
|
||||||
# in a more secure binary. But it doesn't work with static or if
|
|
||||||
# the current GCC doesn't have PIE support.
|
|
||||||
if use ${static_flag}; then
|
|
||||||
conf_opts+=( --static --disable-pie )
|
|
||||||
else
|
|
||||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Meson will not use a cross-file unless cross_prefix is set.
|
|
||||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
|
||||||
|
|
||||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
|
||||||
# like bug #747928.
|
|
||||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
|
||||||
|
|
||||||
echo "../configure ${conf_opts[*]}"
|
|
||||||
cd "${builddir}"
|
|
||||||
../configure "${conf_opts[@]}" || die "configure failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local target
|
|
||||||
|
|
||||||
python_setup
|
|
||||||
|
|
||||||
softmmu_targets= softmmu_bins=()
|
|
||||||
user_targets= user_bins=()
|
|
||||||
|
|
||||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
|
||||||
if use "qemu_softmmu_targets_${target}"; then
|
|
||||||
softmmu_targets+=",${target}-softmmu"
|
|
||||||
softmmu_bins+=( "qemu-system-${target}" )
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for target in ${IUSE_USER_TARGETS} ; do
|
|
||||||
if use "qemu_user_targets_${target}"; then
|
|
||||||
user_targets+=",${target}-linux-user"
|
|
||||||
user_bins+=( "qemu-${target}" )
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
softmmu_targets=${softmmu_targets#,}
|
|
||||||
user_targets=${user_targets#,}
|
|
||||||
|
|
||||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
|
||||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
|
||||||
qemu_src_configure "tools"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
if [[ -n ${user_targets} ]]; then
|
|
||||||
cd "${S}/user-build" || die
|
|
||||||
default
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
cd "${S}/softmmu-build" || die
|
|
||||||
default
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}/tools-build" || die
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
cd "${S}/softmmu-build" || die
|
|
||||||
pax-mark m */qemu-system-* #515550
|
|
||||||
emake check
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
qemu_python_install() {
|
|
||||||
python_domodule "${S}/python/qemu"
|
|
||||||
|
|
||||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
|
||||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
|
||||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Generate binfmt support files.
|
|
||||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
|
||||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
|
||||||
generate_initd() {
|
|
||||||
local out="${T}/qemu-binfmt"
|
|
||||||
local out_systemd="${T}/qemu.conf"
|
|
||||||
local d="${T}/binfmt.d"
|
|
||||||
|
|
||||||
einfo "Generating qemu binfmt scripts and configuration files"
|
|
||||||
|
|
||||||
# Generate the debian fragments first.
|
|
||||||
mkdir -p "${d}"
|
|
||||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
|
||||||
--debian \
|
|
||||||
--exportdir "${d}" \
|
|
||||||
--qemu-path "${EPREFIX}/usr/bin" \
|
|
||||||
|| die
|
|
||||||
# Then turn the fragments into a shell script we can source.
|
|
||||||
sed -E -i \
|
|
||||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
|
||||||
"${d}"/* || die
|
|
||||||
|
|
||||||
# Generate the init.d script by assembling the fragments from above.
|
|
||||||
local f qcpu package interpreter magic mask
|
|
||||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
|
||||||
for f in "${d}"/qemu-* ; do
|
|
||||||
source "${f}"
|
|
||||||
|
|
||||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
|
||||||
qcpu=${package#qemu-}
|
|
||||||
case ${qcpu} in
|
|
||||||
arm*) qcpu="arm";;
|
|
||||||
mips*) qcpu="mips";;
|
|
||||||
ppc*) qcpu="ppc";;
|
|
||||||
s390*) qcpu="s390";;
|
|
||||||
sh*) qcpu="sh";;
|
|
||||||
sparc*) qcpu="sparc";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# we use 'printf' here to be portable across 'sh'
|
|
||||||
# implementations: #679168
|
|
||||||
cat <<EOF >>"${out}"
|
|
||||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
|
||||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
|
||||||
fi
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
|
||||||
|
|
||||||
done
|
|
||||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
if [[ -n ${user_targets} ]]; then
|
|
||||||
cd "${S}/user-build"
|
|
||||||
emake DESTDIR="${ED}" install
|
|
||||||
|
|
||||||
# Install binfmt handler init script for user targets.
|
|
||||||
generate_initd
|
|
||||||
doinitd "${T}/qemu-binfmt"
|
|
||||||
|
|
||||||
# Install binfmt/qemu.conf.
|
|
||||||
insinto "/usr/share/qemu/binfmt.d"
|
|
||||||
doins "${T}/qemu.conf"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
cd "${S}/softmmu-build"
|
|
||||||
emake DESTDIR="${ED}" install
|
|
||||||
|
|
||||||
# This might not exist if the test failed. #512010
|
|
||||||
[[ -e check-report.html ]] && dodoc check-report.html
|
|
||||||
|
|
||||||
if use kernel_linux; then
|
|
||||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python; then
|
|
||||||
python_foreach_impl qemu_python_install
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}/tools-build" || die
|
|
||||||
emake DESTDIR="${ED}" install
|
|
||||||
|
|
||||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
|
||||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
|
||||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
|
||||||
pushd "${ED}"/usr/bin >/dev/null || die
|
|
||||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
|
||||||
popd >/dev/null || die
|
|
||||||
|
|
||||||
# Install config file example for qemu-bridge-helper
|
|
||||||
insinto "/etc/qemu"
|
|
||||||
doins "${FILESDIR}/bridge.conf"
|
|
||||||
|
|
||||||
cd "${S}" || die
|
|
||||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
|
||||||
newdoc pc-bios/README README.pc-bios
|
|
||||||
|
|
||||||
# Disallow stripping of prebuilt firmware files.
|
|
||||||
dostrip -x ${QA_PREBUILT}
|
|
||||||
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
|
||||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove vgabios since we're using the seavgabios packaged one
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
|
||||||
|
|
||||||
# PPC/PPC64 loads vgabios-stdvga
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
|
||||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
|
||||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
|
||||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
|
||||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
|
||||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
|
||||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove sgabios since we're using the sgabios packaged one
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
|
||||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove iPXE since we're using the iPXE packaged one
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
|
||||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
|
||||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
|
||||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
|
||||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
|
||||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
|
||||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
DISABLE_AUTOFORMATTING=true
|
|
||||||
readme.gentoo_create_doc
|
|
||||||
}
|
|
||||||
|
|
||||||
firmware_abi_change() {
|
|
||||||
local pv
|
|
||||||
for pv in ${REPLACING_VERSIONS}; do
|
|
||||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
|
||||||
udev_reload
|
|
||||||
fi
|
|
||||||
|
|
||||||
xdg_icon_cache_update
|
|
||||||
|
|
||||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
|
||||||
fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
|
|
||||||
|
|
||||||
DISABLE_AUTOFORMATTING=true
|
|
||||||
readme.gentoo_print_elog
|
|
||||||
|
|
||||||
if use pin-upstream-blobs && firmware_abi_change; then
|
|
||||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
|
||||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
|
||||||
else
|
|
||||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/seabios-bin'; then
|
|
||||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
|
||||||
else
|
|
||||||
ewarn " $(best_version sys-firmware/seabios)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ewarn " $(best_version sys-firmware/ipxe)"
|
|
||||||
ewarn " $(best_version sys-firmware/sgabios)"
|
|
||||||
ewarn "This might break resume of hibernated guests (started with a different"
|
|
||||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
|
||||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
|
||||||
ewarn "guest migration ensure that all"
|
|
||||||
ewarn "hosts run at least"
|
|
||||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_info() {
|
|
||||||
echo "Using:"
|
|
||||||
echo " $(best_version app-emulation/spice-protocol)"
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
|
||||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
|
||||||
else
|
|
||||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/seabios-bin'; then
|
|
||||||
echo " $(best_version sys-firmware/seabios-bin)"
|
|
||||||
else
|
|
||||||
echo " $(best_version sys-firmware/seabios)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo " $(best_version sys-firmware/ipxe)"
|
|
||||||
echo " $(best_version sys-firmware/sgabios)"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
xdg_icon_cache_update
|
|
||||||
udev_reload
|
|
||||||
}
|
|
@ -1,985 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
|
||||||
# Set to 1 if prebuilt, 0 if not
|
|
||||||
# (the construct below is to allow overriding from env for script)
|
|
||||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
|
||||||
QEMU_DOCS_PREBUILT_DEV=ajak
|
|
||||||
QEMU_DOCS_VERSION="${PV}"
|
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
|
||||||
# bug #830088
|
|
||||||
QEMU_DOC_USEFLAG="+doc"
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
|
||||||
PYTHON_REQ_USE="ncurses,readline"
|
|
||||||
|
|
||||||
FIRMWARE_ABI_VERSION="7.1.0"
|
|
||||||
|
|
||||||
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
|
||||||
pax-utils xdg-utils
|
|
||||||
|
|
||||||
if [[ ${PV} == *9999* ]]; then
|
|
||||||
QEMU_DOCS_PREBUILT=0
|
|
||||||
|
|
||||||
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
|
|
||||||
EGIT_SUBMODULES=(
|
|
||||||
tests/fp/berkeley-softfloat-3
|
|
||||||
tests/fp/berkeley-testfloat-3
|
|
||||||
ui/keycodemapdb
|
|
||||||
)
|
|
||||||
inherit git-r3
|
|
||||||
SRC_URI=""
|
|
||||||
else
|
|
||||||
MY_P="${PN}-${PV/_rc/-rc}"
|
|
||||||
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
|
|
||||||
|
|
||||||
if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
|
||||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
|
|
||||||
fi
|
|
||||||
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
|
||||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
|
||||||
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
|
||||||
|
|
||||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
|
|
||||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
|
||||||
|
|
||||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug ${QEMU_DOC_USEFLAG}
|
|
||||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
|
||||||
jack jemalloc +jpeg
|
|
||||||
lzo multipath
|
|
||||||
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
|
|
||||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
|
||||||
+slirp
|
|
||||||
smartcard snappy spice ssh static static-user systemtap test udev usb
|
|
||||||
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
|
|
||||||
zstd"
|
|
||||||
|
|
||||||
COMMON_TARGETS="
|
|
||||||
aarch64
|
|
||||||
alpha
|
|
||||||
arm
|
|
||||||
cris
|
|
||||||
hppa
|
|
||||||
i386
|
|
||||||
loongarch64
|
|
||||||
m68k
|
|
||||||
microblaze
|
|
||||||
microblazeel
|
|
||||||
mips
|
|
||||||
mips64
|
|
||||||
mips64el
|
|
||||||
mipsel
|
|
||||||
nios2
|
|
||||||
or1k
|
|
||||||
ppc
|
|
||||||
ppc64
|
|
||||||
riscv32
|
|
||||||
riscv64
|
|
||||||
s390x
|
|
||||||
sh4
|
|
||||||
sh4eb
|
|
||||||
sparc
|
|
||||||
sparc64
|
|
||||||
x86_64
|
|
||||||
xtensa
|
|
||||||
xtensaeb
|
|
||||||
"
|
|
||||||
IUSE_SOFTMMU_TARGETS="
|
|
||||||
${COMMON_TARGETS}
|
|
||||||
avr
|
|
||||||
rx
|
|
||||||
tricore
|
|
||||||
"
|
|
||||||
IUSE_USER_TARGETS="
|
|
||||||
${COMMON_TARGETS}
|
|
||||||
aarch64_be
|
|
||||||
armeb
|
|
||||||
hexagon
|
|
||||||
mipsn32
|
|
||||||
mipsn32el
|
|
||||||
ppc64le
|
|
||||||
sparc32plus
|
|
||||||
"
|
|
||||||
|
|
||||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
|
||||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
|
||||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
# Allow no targets to be built so that people can get a tools-only build.
|
|
||||||
# Block USE flag configurations known to not work.
|
|
||||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
|
||||||
qemu_softmmu_targets_arm? ( fdt )
|
|
||||||
qemu_softmmu_targets_microblaze? ( fdt )
|
|
||||||
qemu_softmmu_targets_mips64el? ( fdt )
|
|
||||||
qemu_softmmu_targets_ppc64? ( fdt )
|
|
||||||
qemu_softmmu_targets_ppc? ( fdt )
|
|
||||||
qemu_softmmu_targets_riscv32? ( fdt )
|
|
||||||
qemu_softmmu_targets_riscv64? ( fdt )
|
|
||||||
qemu_softmmu_targets_x86_64? ( fdt )
|
|
||||||
sdl-image? ( sdl )
|
|
||||||
static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
|
||||||
static-user? ( !plugins )
|
|
||||||
vhost-user-fs? ( caps seccomp )
|
|
||||||
virgl? ( opengl )
|
|
||||||
virtfs? ( caps xattr )
|
|
||||||
vnc? ( gnutls )
|
|
||||||
vte? ( gtk )
|
|
||||||
multipath? ( udev )
|
|
||||||
plugins? ( !static !static-user )
|
|
||||||
"
|
|
||||||
|
|
||||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
|
||||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
|
||||||
#
|
|
||||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
|
||||||
#
|
|
||||||
# The attr lib isn't always linked in (although the USE flag is always
|
|
||||||
# respected). This is because qemu supports using the C library's API
|
|
||||||
# when available rather than always using the external library.
|
|
||||||
ALL_DEPEND="
|
|
||||||
>=dev-libs/glib-2.0[static-libs(+)]
|
|
||||||
sys-libs/zlib[static-libs(+)]
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
systemtap? ( dev-util/systemtap )
|
|
||||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
|
||||||
|
|
||||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
|
||||||
# softmmu targets (qemu-system-*).
|
|
||||||
SOFTMMU_TOOLS_DEPEND="
|
|
||||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
|
||||||
accessibility? (
|
|
||||||
app-accessibility/brltty[api]
|
|
||||||
app-accessibility/brltty[static-libs(+)]
|
|
||||||
)
|
|
||||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
|
||||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
|
||||||
bpf? ( dev-libs/libbpf:= )
|
|
||||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
|
||||||
capstone? ( dev-libs/capstone:= )
|
|
||||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
|
||||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
|
||||||
fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
|
|
||||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
|
||||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
|
||||||
gnutls? (
|
|
||||||
dev-libs/nettle:=[static-libs(+)]
|
|
||||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
|
||||||
)
|
|
||||||
gtk? (
|
|
||||||
x11-libs/gtk+:3
|
|
||||||
vte? ( x11-libs/vte:2.91 )
|
|
||||||
)
|
|
||||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
|
||||||
iscsi? ( net-libs/libiscsi )
|
|
||||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
|
||||||
jack? ( virtual/jack )
|
|
||||||
jemalloc? ( dev-libs/jemalloc )
|
|
||||||
jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
|
|
||||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
|
||||||
multipath? ( sys-fs/multipath-tools )
|
|
||||||
ncurses? (
|
|
||||||
sys-libs/ncurses:=[unicode(+)]
|
|
||||||
sys-libs/ncurses:=[static-libs(+)]
|
|
||||||
)
|
|
||||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
|
||||||
numa? ( sys-process/numactl[static-libs(+)] )
|
|
||||||
opengl? (
|
|
||||||
virtual/opengl
|
|
||||||
media-libs/libepoxy[static-libs(+)]
|
|
||||||
media-libs/mesa[static-libs(+)]
|
|
||||||
media-libs/mesa[egl(+),gbm(+)]
|
|
||||||
)
|
|
||||||
pam? ( sys-libs/pam )
|
|
||||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
|
||||||
pulseaudio? ( media-sound/pulseaudio )
|
|
||||||
rbd? ( sys-cluster/ceph )
|
|
||||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
|
||||||
sdl? (
|
|
||||||
media-libs/libsdl2[video]
|
|
||||||
media-libs/libsdl2[static-libs(+)]
|
|
||||||
)
|
|
||||||
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
|
|
||||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
|
||||||
slirp? ( net-libs/libslirp[static-libs(+)] )
|
|
||||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
|
||||||
snappy? ( app-arch/snappy:= )
|
|
||||||
spice? (
|
|
||||||
>=app-emulation/spice-protocol-0.12.3
|
|
||||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
|
||||||
)
|
|
||||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
|
||||||
udev? ( virtual/libudev:= )
|
|
||||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
|
||||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
|
||||||
vde? ( net-misc/vde[static-libs(+)] )
|
|
||||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
|
||||||
virtfs? ( sys-libs/libcap )
|
|
||||||
xen? ( app-emulation/xen-tools:= )
|
|
||||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
|
||||||
"
|
|
||||||
|
|
||||||
EDK2_OVMF_VERSION="202202"
|
|
||||||
SEABIOS_VERSION="1.16.0"
|
|
||||||
|
|
||||||
X86_FIRMWARE_DEPEND="
|
|
||||||
pin-upstream-blobs? (
|
|
||||||
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
|
||||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
|
||||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
|
||||||
)
|
|
||||||
!pin-upstream-blobs? (
|
|
||||||
|| (
|
|
||||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
|
||||||
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
|
||||||
)
|
|
||||||
sys-firmware/ipxe[qemu]
|
|
||||||
|| (
|
|
||||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
|
||||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
)
|
|
||||||
sys-firmware/sgabios
|
|
||||||
)"
|
|
||||||
PPC_FIRMWARE_DEPEND="
|
|
||||||
pin-upstream-blobs? (
|
|
||||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
)
|
|
||||||
!pin-upstream-blobs? (
|
|
||||||
|| (
|
|
||||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
|
||||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
"
|
|
||||||
|
|
||||||
BDEPEND="
|
|
||||||
$(python_gen_impl_dep)
|
|
||||||
dev-lang/perl
|
|
||||||
dev-util/meson
|
|
||||||
sys-apps/texinfo
|
|
||||||
virtual/pkgconfig
|
|
||||||
doc? (
|
|
||||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
|
||||||
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
|
|
||||||
)
|
|
||||||
gtk? ( nls? ( sys-devel/gettext ) )
|
|
||||||
test? (
|
|
||||||
dev-libs/glib[utils]
|
|
||||||
sys-devel/bc
|
|
||||||
)
|
|
||||||
"
|
|
||||||
CDEPEND="
|
|
||||||
!static? (
|
|
||||||
${ALL_DEPEND//\[static-libs(+)]}
|
|
||||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
|
||||||
)
|
|
||||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
|
||||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
|
||||||
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
|
||||||
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
|
||||||
"
|
|
||||||
DEPEND="${CDEPEND}
|
|
||||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
|
||||||
static? (
|
|
||||||
${ALL_DEPEND}
|
|
||||||
${SOFTMMU_TOOLS_DEPEND}
|
|
||||||
)
|
|
||||||
static-user? ( ${ALL_DEPEND} )"
|
|
||||||
RDEPEND="${CDEPEND}
|
|
||||||
acct-group/kvm
|
|
||||||
selinux? (
|
|
||||||
sec-policy/selinux-qemu
|
|
||||||
sys-libs/libselinux
|
|
||||||
)"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
|
||||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-strings.patch
|
|
||||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
QA_PREBUILT="
|
|
||||||
usr/share/qemu/hppa-firmware.img
|
|
||||||
usr/share/qemu/openbios-ppc
|
|
||||||
usr/share/qemu/openbios-sparc64
|
|
||||||
usr/share/qemu/openbios-sparc32
|
|
||||||
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
|
||||||
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
|
||||||
usr/share/qemu/palcode-clipper
|
|
||||||
usr/share/qemu/s390-ccw.img
|
|
||||||
usr/share/qemu/s390-netboot.img
|
|
||||||
usr/share/qemu/u-boot.e500
|
|
||||||
"
|
|
||||||
|
|
||||||
QA_WX_LOAD="usr/bin/qemu-i386
|
|
||||||
usr/bin/qemu-x86_64
|
|
||||||
usr/bin/qemu-alpha
|
|
||||||
usr/bin/qemu-arm
|
|
||||||
usr/bin/qemu-cris
|
|
||||||
usr/bin/qemu-m68k
|
|
||||||
usr/bin/qemu-microblaze
|
|
||||||
usr/bin/qemu-microblazeel
|
|
||||||
usr/bin/qemu-mips
|
|
||||||
usr/bin/qemu-mipsel
|
|
||||||
usr/bin/qemu-or1k
|
|
||||||
usr/bin/qemu-ppc
|
|
||||||
usr/bin/qemu-ppc64
|
|
||||||
usr/bin/qemu-sh4
|
|
||||||
usr/bin/qemu-sh4eb
|
|
||||||
usr/bin/qemu-sparc
|
|
||||||
usr/bin/qemu-sparc64
|
|
||||||
usr/bin/qemu-armeb
|
|
||||||
usr/bin/qemu-sparc32plus
|
|
||||||
usr/bin/qemu-s390x
|
|
||||||
usr/bin/qemu-unicore32
|
|
||||||
"
|
|
||||||
|
|
||||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
|
||||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
|
||||||
kernel module is loaded is to load it on boot.
|
|
||||||
For AMD CPUs the module is called 'kvm-amd'.
|
|
||||||
For Intel CPUs the module is called 'kvm-intel'.
|
|
||||||
Please review /etc/conf.d/modules for how to load these.
|
|
||||||
|
|
||||||
Make sure your user is in the 'kvm' group. Just run
|
|
||||||
$ gpasswd -a <USER> kvm
|
|
||||||
then have <USER> re-login.
|
|
||||||
|
|
||||||
For brand new installs, the default permissions on /dev/kvm might not let
|
|
||||||
you access it. You can tell udev to reset ownership/perms:
|
|
||||||
$ udevadm trigger -c add /dev/kvm
|
|
||||||
|
|
||||||
If you want to register binfmt handlers for qemu user targets:
|
|
||||||
For openrc:
|
|
||||||
# rc-update add qemu-binfmt
|
|
||||||
For systemd:
|
|
||||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
|
||||||
|
|
||||||
pkg_pretend() {
|
|
||||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
|
||||||
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
|
|
||||||
elif use kernel_linux; then
|
|
||||||
if ! linux_config_exists; then
|
|
||||||
eerror "Unable to check your kernel for KVM support"
|
|
||||||
else
|
|
||||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
|
||||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
|
||||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
|
||||||
ERROR_KVM_AMD+=" your kernel configuration."
|
|
||||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
|
||||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
|
||||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
|
||||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
|
||||||
ERROR_TUN+=" virtual network device if using -net tap."
|
|
||||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
|
||||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
|
||||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
|
||||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
|
||||||
ERROR_VHOST_NET+=" support"
|
|
||||||
|
|
||||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
|
||||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
|
||||||
CONFIG_CHECK+=" ~KVM_AMD"
|
|
||||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
|
||||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
|
||||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
|
||||||
|
|
||||||
# Now do the actual checks setup above
|
|
||||||
check_extra_config
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
|
||||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
|
||||||
eerror "instances are still pointing to it. Please update your"
|
|
||||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
|
||||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
|
||||||
die "update your virt configs to not use qemu-kvm"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Sanity check to make sure target lists are kept up-to-date.
|
|
||||||
check_targets() {
|
|
||||||
local var=$1 mak=$2
|
|
||||||
local detected sorted
|
|
||||||
|
|
||||||
pushd "${S}"/configs/targets/ >/dev/null || die
|
|
||||||
|
|
||||||
# Force C locale until glibc is updated. #564936
|
|
||||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
|
||||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
|
||||||
if [[ ${sorted} != "${detected}" ]] ; then
|
|
||||||
eerror "The ebuild needs to be kept in sync."
|
|
||||||
eerror "${var}: ${sorted}"
|
|
||||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
|
||||||
die "sync ${var} to the list of targets"
|
|
||||||
fi
|
|
||||||
|
|
||||||
popd >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
|
||||||
check_targets IUSE_USER_TARGETS linux-user
|
|
||||||
|
|
||||||
default
|
|
||||||
|
|
||||||
# Use correct toolchain to fix cross-compiling
|
|
||||||
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
|
|
||||||
export WINDRES=${CHOST}-windres
|
|
||||||
|
|
||||||
# Verbose builds
|
|
||||||
MAKEOPTS+=" V=1"
|
|
||||||
|
|
||||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
|
||||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
|
||||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
|
||||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
|
||||||
|
|
||||||
# Remove bundled modules
|
|
||||||
rm -r dtc meson roms/*/ slirp || die
|
|
||||||
}
|
|
||||||
|
|
||||||
##
|
|
||||||
# configures qemu based on the build directory and the build type
|
|
||||||
# we are using.
|
|
||||||
#
|
|
||||||
qemu_src_configure() {
|
|
||||||
debug-print-function ${FUNCNAME} "$@"
|
|
||||||
|
|
||||||
local buildtype=$1
|
|
||||||
local builddir="${S}/${buildtype}-build"
|
|
||||||
|
|
||||||
mkdir "${builddir}" || die
|
|
||||||
|
|
||||||
local conf_opts=(
|
|
||||||
--prefix=/usr
|
|
||||||
--sysconfdir=/etc
|
|
||||||
--bindir=/usr/bin
|
|
||||||
--libdir=/usr/$(get_libdir)
|
|
||||||
--datadir=/usr/share
|
|
||||||
--docdir=/usr/share/doc/${PF}/html
|
|
||||||
--mandir=/usr/share/man
|
|
||||||
--localstatedir=/var
|
|
||||||
--disable-bsd-user
|
|
||||||
--disable-containers # bug #732972
|
|
||||||
--disable-guest-agent
|
|
||||||
--disable-strip
|
|
||||||
--with-git-submodules=ignore
|
|
||||||
|
|
||||||
# bug #746752: TCG interpreter has a few limitations:
|
|
||||||
# - it does not support FPU
|
|
||||||
# - it's generally slower on non-self-modifying code
|
|
||||||
# It's advantage is support for host architectures
|
|
||||||
# where native codegeneration is not implemented.
|
|
||||||
# Gentoo has qemu keyworded only on targets with
|
|
||||||
# native code generation available. Avoid the interpreter.
|
|
||||||
--disable-tcg-interpreter
|
|
||||||
|
|
||||||
--disable-werror
|
|
||||||
# We support gnutls/nettle for crypto operations. It is possible
|
|
||||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
|
||||||
# are enabled), but it's not really worth the hassle. Disable it
|
|
||||||
# all the time to avoid automatically detecting it. #568856
|
|
||||||
--disable-gcrypt
|
|
||||||
--cc="$(tc-getCC)"
|
|
||||||
--cxx="$(tc-getCXX)"
|
|
||||||
--host-cc="$(tc-getBUILD_CC)"
|
|
||||||
|
|
||||||
$(use_enable alsa)
|
|
||||||
$(use_enable debug debug-info)
|
|
||||||
$(use_enable debug debug-tcg)
|
|
||||||
$(use_enable jack)
|
|
||||||
$(use_enable nls gettext)
|
|
||||||
$(use_enable oss)
|
|
||||||
$(use_enable plugins)
|
|
||||||
$(use_enable pulseaudio pa)
|
|
||||||
$(use_enable selinux)
|
|
||||||
$(use_enable xattr attr)
|
|
||||||
)
|
|
||||||
|
|
||||||
# Disable options not used by user targets. This simplifies building
|
|
||||||
# static user targets (USE=static-user) considerably.
|
|
||||||
conf_notuser() {
|
|
||||||
if [[ ${buildtype} == "user" ]] ; then
|
|
||||||
echo "--disable-${2:-$1}"
|
|
||||||
else
|
|
||||||
use_enable "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
|
||||||
conf_softmmu() {
|
|
||||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
|
||||||
use_enable "$@"
|
|
||||||
else
|
|
||||||
echo "--disable-${2:-$1}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
|
||||||
conf_tools() {
|
|
||||||
if [[ ${buildtype} == "tools" ]] ; then
|
|
||||||
use_enable "$@"
|
|
||||||
else
|
|
||||||
echo "--disable-${2:-$1}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
# Special case for the malloc flag, because the --disable flag does
|
|
||||||
# not exist and trying like above will break configuring.
|
|
||||||
conf_malloc() {
|
|
||||||
if [[ ! ${buildtype} == "user" ]] ; then
|
|
||||||
usex "${1}" "--enable-malloc=${1}" ""
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
conf_opts+=(
|
|
||||||
$(conf_notuser accessibility brlapi)
|
|
||||||
$(conf_notuser aio linux-aio)
|
|
||||||
$(conf_softmmu bpf)
|
|
||||||
$(conf_notuser bzip2)
|
|
||||||
$(conf_notuser capstone)
|
|
||||||
$(conf_notuser caps cap-ng)
|
|
||||||
$(conf_notuser curl)
|
|
||||||
$(conf_tools doc docs)
|
|
||||||
$(conf_notuser fdt)
|
|
||||||
$(conf_notuser fuse)
|
|
||||||
$(conf_notuser glusterfs)
|
|
||||||
$(conf_notuser gnutls)
|
|
||||||
$(conf_notuser gnutls nettle)
|
|
||||||
$(conf_notuser gtk)
|
|
||||||
$(conf_notuser infiniband rdma)
|
|
||||||
$(conf_notuser iscsi libiscsi)
|
|
||||||
$(conf_notuser io-uring linux-io-uring)
|
|
||||||
$(conf_malloc jemalloc)
|
|
||||||
$(conf_notuser jpeg vnc-jpeg)
|
|
||||||
$(conf_notuser kernel_linux kvm)
|
|
||||||
$(conf_notuser lzo)
|
|
||||||
$(conf_notuser multipath mpath)
|
|
||||||
$(conf_notuser ncurses curses)
|
|
||||||
$(conf_notuser nfs libnfs)
|
|
||||||
$(conf_notuser numa)
|
|
||||||
$(conf_notuser opengl)
|
|
||||||
$(conf_notuser pam auth-pam)
|
|
||||||
$(conf_notuser png)
|
|
||||||
$(conf_notuser rbd)
|
|
||||||
$(conf_notuser sasl vnc-sasl)
|
|
||||||
$(conf_notuser sdl)
|
|
||||||
$(conf_softmmu sdl-image)
|
|
||||||
$(conf_notuser seccomp)
|
|
||||||
$(conf_notuser slirp slirp system)
|
|
||||||
$(conf_notuser smartcard)
|
|
||||||
$(conf_notuser snappy)
|
|
||||||
$(conf_notuser spice)
|
|
||||||
$(conf_notuser ssh libssh)
|
|
||||||
$(conf_notuser udev libudev)
|
|
||||||
$(conf_notuser usb libusb)
|
|
||||||
$(conf_notuser usbredir usb-redir)
|
|
||||||
$(conf_notuser vde)
|
|
||||||
$(conf_notuser vhost-net)
|
|
||||||
$(conf_notuser virgl virglrenderer)
|
|
||||||
$(conf_softmmu virtfs)
|
|
||||||
$(conf_notuser vnc)
|
|
||||||
$(conf_notuser vte)
|
|
||||||
$(conf_notuser xen)
|
|
||||||
$(conf_notuser xen xen-pci-passthrough)
|
|
||||||
# use prebuilt keymaps, bug #759604
|
|
||||||
--disable-xkbcommon
|
|
||||||
$(conf_notuser zstd)
|
|
||||||
)
|
|
||||||
|
|
||||||
if [[ ! ${buildtype} == "user" ]] ; then
|
|
||||||
# audio options
|
|
||||||
local audio_opts=(
|
|
||||||
# Note: backend order matters here: #716202
|
|
||||||
# We iterate from higher-level to lower level.
|
|
||||||
$(usex pulseaudio pa "")
|
|
||||||
$(usev jack)
|
|
||||||
$(usev sdl)
|
|
||||||
$(usev alsa)
|
|
||||||
$(usev oss)
|
|
||||||
)
|
|
||||||
conf_opts+=(
|
|
||||||
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
case ${buildtype} in
|
|
||||||
user)
|
|
||||||
conf_opts+=(
|
|
||||||
--enable-linux-user
|
|
||||||
--disable-system
|
|
||||||
--disable-blobs
|
|
||||||
--disable-tools
|
|
||||||
)
|
|
||||||
local static_flag="static-user"
|
|
||||||
;;
|
|
||||||
softmmu)
|
|
||||||
conf_opts+=(
|
|
||||||
--disable-linux-user
|
|
||||||
--enable-system
|
|
||||||
--disable-tools
|
|
||||||
)
|
|
||||||
local static_flag="static"
|
|
||||||
|
|
||||||
for target in ${IUSE_SOFTMMU_TARGETS}; do
|
|
||||||
if use "qemu_softmmu_targets_${target}"; then
|
|
||||||
conf_opts+=(
|
|
||||||
# For some reason, adding this with the setting set
|
|
||||||
# to on *or* off makes the build always fail.
|
|
||||||
# --with-devices-${target}=gentoo
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
;;
|
|
||||||
tools)
|
|
||||||
conf_opts+=(
|
|
||||||
--disable-linux-user
|
|
||||||
--disable-system
|
|
||||||
--disable-blobs
|
|
||||||
--enable-tools
|
|
||||||
)
|
|
||||||
local static_flag="static"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
local targets="${buildtype}_targets"
|
|
||||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
|
||||||
|
|
||||||
# Add support for SystemTAP
|
|
||||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
|
||||||
|
|
||||||
# We always want to attempt to build with PIE support as it results
|
|
||||||
# in a more secure binary. But it doesn't work with static or if
|
|
||||||
# the current GCC doesn't have PIE support.
|
|
||||||
if use ${static_flag}; then
|
|
||||||
conf_opts+=( --static --disable-pie )
|
|
||||||
else
|
|
||||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Meson will not use a cross-file unless cross_prefix is set.
|
|
||||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
|
||||||
|
|
||||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
|
||||||
# like bug #747928.
|
|
||||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
|
||||||
|
|
||||||
echo "../configure ${conf_opts[*]}"
|
|
||||||
cd "${builddir}"
|
|
||||||
../configure "${conf_opts[@]}" || die "configure failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local target
|
|
||||||
|
|
||||||
python_setup
|
|
||||||
|
|
||||||
softmmu_targets= softmmu_bins=()
|
|
||||||
user_targets= user_bins=()
|
|
||||||
|
|
||||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
|
||||||
if use "qemu_softmmu_targets_${target}"; then
|
|
||||||
softmmu_targets+=",${target}-softmmu"
|
|
||||||
softmmu_bins+=( "qemu-system-${target}" )
|
|
||||||
|
|
||||||
# Needed to rework vhost-user-fs handling thanks to https://gitlab.com/qemu-project/qemu/-/commit/5166dab
|
|
||||||
# The option was converted into being configurable by
|
|
||||||
# Kconfig's. So, to enable it, we insert the necessary
|
|
||||||
# options into each arch's softmmu target gentoo.mak file,
|
|
||||||
# then configure with --with-devices-${target}=gentoo.
|
|
||||||
if use vhost-user-fs; then
|
|
||||||
echo "CONFIG_VHOST_USER_FS=y for ${target}-softmmu" || die
|
|
||||||
echo "CONFIG_VIRTIO=y" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
|
|
||||||
echo "CONFIG_VHOST_USER_FS=y" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
|
|
||||||
else
|
|
||||||
echo "CONFIG_VHOST_USER_FS=n for ${target}-softmmu" || die
|
|
||||||
echo "CONFIG_VIRTIO=n" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
|
|
||||||
echo "CONFIG_VHOST_USER_FS=n" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for target in ${IUSE_USER_TARGETS} ; do
|
|
||||||
if use "qemu_user_targets_${target}"; then
|
|
||||||
user_targets+=",${target}-linux-user"
|
|
||||||
user_bins+=( "qemu-${target}" )
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
softmmu_targets=${softmmu_targets#,}
|
|
||||||
user_targets=${user_targets#,}
|
|
||||||
|
|
||||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
|
||||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
|
||||||
qemu_src_configure "tools"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
if [[ -n ${user_targets} ]]; then
|
|
||||||
cd "${S}/user-build" || die
|
|
||||||
default
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
cd "${S}/softmmu-build" || die
|
|
||||||
default
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}/tools-build" || die
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
cd "${S}/softmmu-build" || die
|
|
||||||
pax-mark m */qemu-system-* #515550
|
|
||||||
emake check
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
qemu_python_install() {
|
|
||||||
python_domodule "${S}/python/qemu"
|
|
||||||
|
|
||||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
|
||||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
|
||||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Generate binfmt support files.
|
|
||||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
|
||||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
|
||||||
generate_initd() {
|
|
||||||
local out="${T}/qemu-binfmt"
|
|
||||||
local out_systemd="${T}/qemu.conf"
|
|
||||||
local d="${T}/binfmt.d"
|
|
||||||
|
|
||||||
einfo "Generating qemu binfmt scripts and configuration files"
|
|
||||||
|
|
||||||
# Generate the debian fragments first.
|
|
||||||
mkdir -p "${d}"
|
|
||||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
|
||||||
--debian \
|
|
||||||
--exportdir "${d}" \
|
|
||||||
--qemu-path "${EPREFIX}/usr/bin" \
|
|
||||||
|| die
|
|
||||||
# Then turn the fragments into a shell script we can source.
|
|
||||||
sed -E -i \
|
|
||||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
|
||||||
"${d}"/* || die
|
|
||||||
|
|
||||||
# Generate the init.d script by assembling the fragments from above.
|
|
||||||
local f qcpu package interpreter magic mask
|
|
||||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
|
||||||
for f in "${d}"/qemu-* ; do
|
|
||||||
source "${f}"
|
|
||||||
|
|
||||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
|
||||||
qcpu=${package#qemu-}
|
|
||||||
case ${qcpu} in
|
|
||||||
arm*) qcpu="arm";;
|
|
||||||
mips*) qcpu="mips";;
|
|
||||||
ppc*) qcpu="ppc";;
|
|
||||||
s390*) qcpu="s390";;
|
|
||||||
sh*) qcpu="sh";;
|
|
||||||
sparc*) qcpu="sparc";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# we use 'printf' here to be portable across 'sh'
|
|
||||||
# implementations: #679168
|
|
||||||
cat <<EOF >>"${out}"
|
|
||||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
|
||||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
|
||||||
fi
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
|
||||||
|
|
||||||
done
|
|
||||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
if [[ -n ${user_targets} ]]; then
|
|
||||||
cd "${S}/user-build"
|
|
||||||
emake DESTDIR="${ED}" install
|
|
||||||
|
|
||||||
# Install binfmt handler init script for user targets.
|
|
||||||
generate_initd
|
|
||||||
doinitd "${T}/qemu-binfmt"
|
|
||||||
|
|
||||||
# Install binfmt/qemu.conf.
|
|
||||||
insinto "/usr/share/qemu/binfmt.d"
|
|
||||||
doins "${T}/qemu.conf"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
cd "${S}/softmmu-build"
|
|
||||||
emake DESTDIR="${ED}" install
|
|
||||||
|
|
||||||
# This might not exist if the test failed. #512010
|
|
||||||
[[ -e check-report.html ]] && dodoc check-report.html
|
|
||||||
|
|
||||||
if use kernel_linux; then
|
|
||||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python; then
|
|
||||||
python_foreach_impl qemu_python_install
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}/tools-build" || die
|
|
||||||
emake DESTDIR="${ED}" install
|
|
||||||
|
|
||||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
|
||||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
|
||||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
|
||||||
pushd "${ED}"/usr/bin >/dev/null || die
|
|
||||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
|
||||||
popd >/dev/null || die
|
|
||||||
|
|
||||||
# Install config file example for qemu-bridge-helper
|
|
||||||
insinto "/etc/qemu"
|
|
||||||
doins "${FILESDIR}/bridge.conf"
|
|
||||||
|
|
||||||
cd "${S}" || die
|
|
||||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
|
||||||
newdoc pc-bios/README README.pc-bios
|
|
||||||
|
|
||||||
# Disallow stripping of prebuilt firmware files.
|
|
||||||
dostrip -x ${QA_PREBUILT}
|
|
||||||
|
|
||||||
if [[ -n ${softmmu_targets} ]]; then
|
|
||||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
|
||||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove vgabios since we're using the seavgabios packaged one
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
|
||||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
|
||||||
|
|
||||||
# PPC/PPC64 loads vgabios-stdvga
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
|
||||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
|
||||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
|
||||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
|
||||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
|
||||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
|
||||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove sgabios since we're using the sgabios packaged one
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
|
||||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove iPXE since we're using the iPXE packaged one
|
|
||||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
|
||||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
|
||||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
|
||||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
|
||||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
|
||||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
|
||||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
DISABLE_AUTOFORMATTING=true
|
|
||||||
readme.gentoo_create_doc
|
|
||||||
}
|
|
||||||
|
|
||||||
firmware_abi_change() {
|
|
||||||
local pv
|
|
||||||
for pv in ${REPLACING_VERSIONS}; do
|
|
||||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
|
||||||
udev_reload
|
|
||||||
fi
|
|
||||||
|
|
||||||
xdg_icon_cache_update
|
|
||||||
|
|
||||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
|
||||||
fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
|
|
||||||
|
|
||||||
DISABLE_AUTOFORMATTING=true
|
|
||||||
readme.gentoo_print_elog
|
|
||||||
|
|
||||||
if use pin-upstream-blobs && firmware_abi_change; then
|
|
||||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
|
||||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
|
||||||
else
|
|
||||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/seabios-bin'; then
|
|
||||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
|
||||||
else
|
|
||||||
ewarn " $(best_version sys-firmware/seabios)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ewarn " $(best_version sys-firmware/ipxe)"
|
|
||||||
ewarn " $(best_version sys-firmware/sgabios)"
|
|
||||||
ewarn "This might break resume of hibernated guests (started with a different"
|
|
||||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
|
||||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
|
||||||
ewarn "guest migration ensure that all"
|
|
||||||
ewarn "hosts run at least"
|
|
||||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_info() {
|
|
||||||
echo "Using:"
|
|
||||||
echo " $(best_version app-emulation/spice-protocol)"
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
|
||||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
|
||||||
else
|
|
||||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if has_version 'sys-firmware/seabios-bin'; then
|
|
||||||
echo " $(best_version sys-firmware/seabios-bin)"
|
|
||||||
else
|
|
||||||
echo " $(best_version sys-firmware/seabios)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo " $(best_version sys-firmware/ipxe)"
|
|
||||||
echo " $(best_version sys-firmware/sgabios)"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
xdg_icon_cache_update
|
|
||||||
udev_reload
|
|
||||||
}
|
|
@ -41,7 +41,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
S="${WORKDIR}/${MY_P}"
|
||||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86"
|
[[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||||
|
4
sdk_container/src/third_party/portage-stable/changelog/updates/2023-02-22-weekly-updates.md
vendored
Normal file
4
sdk_container/src/third_party/portage-stable/changelog/updates/2023-02-22-weekly-updates.md
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- SDK: cmake ([3.25.2](https://cmake.org/cmake/help/v3.25/release/3.25.html))
|
||||||
|
- iputils ([20221126](https://github.com/iputils/iputils/releases/tag/20221126))
|
||||||
|
- libpcre2 ([10.42](https://github.com/PCRE2Project/pcre2/blob/pcre2-10.42/NEWS))
|
||||||
|
- strace ([6.1](https://github.com/strace/strace/releases/tag/v6.1))
|
@ -1,340 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{9..11} )
|
|
||||||
|
|
||||||
inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
|
|
||||||
|
|
||||||
MY_PV="$(ver_rs 1- _)"
|
|
||||||
|
|
||||||
DESCRIPTION="Boost Libraries for C++"
|
|
||||||
HOMEPAGE="https://www.boost.org/"
|
|
||||||
SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
|
|
||||||
S="${WORKDIR}/${PN}_${MY_PV}"
|
|
||||||
|
|
||||||
LICENSE="Boost-1.0"
|
|
||||||
SLOT="0/${PV}" # ${PV} instead of the major version due to bug 486122
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
|
||||||
IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python tools zlib zstd"
|
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
|
||||||
# the tests will never fail because these are not intended as sanity
|
|
||||||
# tests at all. They are more a way for upstream to check their own code
|
|
||||||
# on new compilers. Since they would either be completely unreliable
|
|
||||||
# (failing for no good reason) or completely useless (never failing)
|
|
||||||
# there is no point in having them in the ebuild to begin with.
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
!<dev-libs/leatherman-1.12.0-r1
|
|
||||||
bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
|
|
||||||
icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
|
|
||||||
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
|
|
||||||
lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
|
|
||||||
mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
|
|
||||||
python? (
|
|
||||||
${PYTHON_DEPS}
|
|
||||||
numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
|
|
||||||
)
|
|
||||||
zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
|
|
||||||
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
BDEPEND=">=dev-util/b2-4.9.2"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
|
|
||||||
"${FILESDIR}"/${PN}-1.79.0-context-x32.patch
|
|
||||||
"${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
|
|
||||||
# Boost.MPI's __init__.py doesn't work on Py3
|
|
||||||
"${FILESDIR}"/${PN}-1.79.0-boost-mpi-python-PEP-328.patch
|
|
||||||
"${FILESDIR}"/${PN}-1.80.0-fix-mips1-transition.patch
|
|
||||||
|
|
||||||
# (upstreamed)
|
|
||||||
)
|
|
||||||
|
|
||||||
python_bindings_needed() {
|
|
||||||
multilib_is_native_abi && use python
|
|
||||||
}
|
|
||||||
|
|
||||||
tools_needed() {
|
|
||||||
multilib_is_native_abi && use tools
|
|
||||||
}
|
|
||||||
|
|
||||||
create_user-config.jam() {
|
|
||||||
local user_config_jam="${BUILD_DIR}"/user-config.jam
|
|
||||||
if [[ -s ${user_config_jam} ]]; then
|
|
||||||
einfo "${user_config_jam} already exists, skipping configuration"
|
|
||||||
return
|
|
||||||
else
|
|
||||||
einfo "Creating configuration in ${user_config_jam}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local compiler compiler_version compiler_executable="$(tc-getCXX)"
|
|
||||||
if [[ ${CHOST} == *-darwin* ]]; then
|
|
||||||
compiler="darwin"
|
|
||||||
compiler_version="$(gcc-fullversion)"
|
|
||||||
else
|
|
||||||
compiler="gcc"
|
|
||||||
compiler_version="$(gcc-version)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use mpi; then
|
|
||||||
local mpi_configuration="using mpi ;"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat > "${user_config_jam}" <<- __EOF__ || die
|
|
||||||
using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
|
|
||||||
${mpi_configuration}
|
|
||||||
__EOF__
|
|
||||||
|
|
||||||
if python_bindings_needed; then
|
|
||||||
append_to_user_config() {
|
|
||||||
local py_config
|
|
||||||
if tc-is-cross-compiler; then
|
|
||||||
py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
|
|
||||||
else
|
|
||||||
py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
|
|
||||||
fi
|
|
||||||
echo "${py_config}" >> "${user_config_jam}" || die
|
|
||||||
}
|
|
||||||
python_foreach_impl append_to_user_config
|
|
||||||
fi
|
|
||||||
|
|
||||||
if python_bindings_needed && use numpy; then
|
|
||||||
einfo "Enabling support for NumPy extensions in Boost.Python"
|
|
||||||
else
|
|
||||||
einfo "Disabling support for NumPy extensions in Boost.Python"
|
|
||||||
|
|
||||||
# Boost.Build does not allow for disabling of numpy
|
|
||||||
# extensions, thereby leading to automagic numpy
|
|
||||||
# https://github.com/boostorg/python/issues/111#issuecomment-280447482
|
|
||||||
sed \
|
|
||||||
-e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
|
|
||||||
-i "${BUILD_DIR}"/libs/python/build/Jamfile || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
# Bail out on unsupported build configuration, bug #456792
|
|
||||||
if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
|
|
||||||
if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
|
|
||||||
eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
|
|
||||||
eerror "Boost can not be built in such configuration."
|
|
||||||
eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
|
|
||||||
die "Unsupported target in ${EROOT}/etc/site-config.jam"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
multilib_copy_sources
|
|
||||||
}
|
|
||||||
|
|
||||||
ejam() {
|
|
||||||
create_user-config.jam
|
|
||||||
|
|
||||||
local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
|
|
||||||
if python_bindings_needed; then
|
|
||||||
append_to_b2_opts() {
|
|
||||||
b2_opts+=( python="${EPYTHON#python}" )
|
|
||||||
}
|
|
||||||
python_foreach_impl append_to_b2_opts
|
|
||||||
else
|
|
||||||
b2_opts+=( --without-python )
|
|
||||||
fi
|
|
||||||
b2_opts+=( "$@" )
|
|
||||||
|
|
||||||
echo b2 "${b2_opts[@]}" >&2
|
|
||||||
b2 "${b2_opts[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Workaround for too many parallel processes requested, bug #506064
|
|
||||||
[[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
|
|
||||||
|
|
||||||
# We don't want to end up with -L/usr/lib on our linker lines
|
|
||||||
# which then gives us lots of
|
|
||||||
# skipping incompatible /usr/lib/libc.a when searching for -lc
|
|
||||||
# warnings
|
|
||||||
[[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
|
|
||||||
|
|
||||||
OPTIONS=(
|
|
||||||
$(usex debug gentoodebug gentoorelease)
|
|
||||||
"-j$(makeopts_jobs)"
|
|
||||||
-q
|
|
||||||
-d+2
|
|
||||||
pch=off
|
|
||||||
$(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
|
|
||||||
$(usev !mpi --without-mpi)
|
|
||||||
$(usev !nls --without-locale)
|
|
||||||
$(usev !context '--without-context --without-coroutine --without-fiber')
|
|
||||||
--without-stacktrace
|
|
||||||
--boost-build="${BROOT}"/usr/share/b2/src
|
|
||||||
--layout=system
|
|
||||||
# building with threading=single is currently not possible
|
|
||||||
# https://svn.boost.org/trac/boost/ticket/7105
|
|
||||||
threading=multi
|
|
||||||
link=shared
|
|
||||||
# this seems to be the only way to disable compression algorithms
|
|
||||||
# https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
|
|
||||||
-sNO_BZIP2=$(usex bzip2 0 1)
|
|
||||||
-sNO_LZMA=$(usex lzma 0 1)
|
|
||||||
-sNO_ZLIB=$(usex zlib 0 1)
|
|
||||||
-sNO_ZSTD=$(usex zstd 0 1)
|
|
||||||
)
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-darwin* ]]; then
|
|
||||||
# We need to add the prefix, and in two cases this exceeds, so prepare
|
|
||||||
# for the largest possible space allocation.
|
|
||||||
append-ldflags -Wl,-headerpad_max_install_names
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Use C++17 globally as of 1.80
|
|
||||||
append-cxxflags -std=c++17
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_compile() {
|
|
||||||
ejam \
|
|
||||||
--prefix="${EPREFIX}"/usr \
|
|
||||||
"${OPTIONS[@]}" || die
|
|
||||||
|
|
||||||
if tools_needed; then
|
|
||||||
pushd tools >/dev/null || die
|
|
||||||
ejam \
|
|
||||||
--prefix="${EPREFIX}"/usr \
|
|
||||||
"${OPTIONS[@]}" \
|
|
||||||
|| die "Building of Boost tools failed"
|
|
||||||
popd >/dev/null || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install() {
|
|
||||||
ejam \
|
|
||||||
--prefix="${ED}"/usr \
|
|
||||||
--includedir="${ED}"/usr/include \
|
|
||||||
--libdir="${ED}"/usr/$(get_libdir) \
|
|
||||||
"${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
|
|
||||||
|
|
||||||
if tools_needed; then
|
|
||||||
dobin dist/bin/*
|
|
||||||
|
|
||||||
insinto /usr/share
|
|
||||||
doins -r dist/share/boostbook
|
|
||||||
fi
|
|
||||||
|
|
||||||
# boost's build system truely sucks for not having a destdir. Because for
|
|
||||||
# this reason we are forced to build with a prefix that includes the
|
|
||||||
# DESTROOT, dynamic libraries on Darwin end messed up, referencing the
|
|
||||||
# DESTROOT instread of the actual EPREFIX. There is no way out of here
|
|
||||||
# but to do it the dirty way of manually setting the right install_names.
|
|
||||||
if [[ ${CHOST} == *-darwin* ]]; then
|
|
||||||
einfo "Working around completely broken build-system(tm)"
|
|
||||||
local d
|
|
||||||
for d in "${ED}"/usr/lib/*.dylib; do
|
|
||||||
if [[ -f ${d} ]]; then
|
|
||||||
# fix the "soname"
|
|
||||||
ebegin " correcting install_name of ${d#${ED}}"
|
|
||||||
install_name_tool -id "/${d#${D}}" "${d}"
|
|
||||||
eend $?
|
|
||||||
# fix references to other libs
|
|
||||||
refs=$(otool -XL "${d}" | \
|
|
||||||
sed -e '1d' -e 's/^\t//' | \
|
|
||||||
grep "^libboost_" | \
|
|
||||||
cut -f1 -d' ')
|
|
||||||
local r
|
|
||||||
for r in ${refs}; do
|
|
||||||
ebegin " correcting reference to ${r}"
|
|
||||||
install_name_tool -change \
|
|
||||||
"${r}" \
|
|
||||||
"${EPREFIX}/usr/lib/${r}" \
|
|
||||||
"${d}"
|
|
||||||
eend $?
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
if ! use numpy; then
|
|
||||||
rm -r "${ED}"/usr/include/boost/python/numpy* || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python; then
|
|
||||||
if use mpi; then
|
|
||||||
move_mpi_py_into_sitedir() {
|
|
||||||
python_moduleinto boost
|
|
||||||
python_domodule "${S}"/libs/mpi/build/__init__.py
|
|
||||||
|
|
||||||
python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
|
|
||||||
rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
|
|
||||||
|
|
||||||
python_optimize
|
|
||||||
}
|
|
||||||
python_foreach_impl move_mpi_py_into_sitedir
|
|
||||||
else
|
|
||||||
rm -r "${ED}"/usr/include/boost/mpi/python* || die
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! use nls; then
|
|
||||||
rm -r "${ED}"/usr/include/boost/locale || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! use context; then
|
|
||||||
rm -r "${ED}"/usr/include/boost/context || die
|
|
||||||
rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
|
|
||||||
rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use doc; then
|
|
||||||
# find extraneous files that shouldn't be installed
|
|
||||||
# as part of the documentation and remove them.
|
|
||||||
find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
|
|
||||||
find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
|
|
||||||
find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
|
|
||||||
|
|
||||||
docinto html
|
|
||||||
dodoc *.{htm,html,png,css}
|
|
||||||
dodoc -r doc libs more tools
|
|
||||||
|
|
||||||
# To avoid broken links
|
|
||||||
dodoc LICENSE_1_0.txt
|
|
||||||
|
|
||||||
dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
# Yay for having symlinks that are nigh-impossible to remove without
|
|
||||||
# resorting to dirty hacks like these. Removes lingering symlinks
|
|
||||||
# from the slotted versions.
|
|
||||||
local symlink
|
|
||||||
for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
|
|
||||||
if [[ -L ${symlink} ]]; then
|
|
||||||
rm -f "${symlink}" || die
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# some ancient installs still have boost cruft lying around
|
|
||||||
# for unknown reasons, causing havoc for reverse dependencies
|
|
||||||
# Bug: 607734
|
|
||||||
rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
|
|
||||||
elog
|
|
||||||
elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
|
|
||||||
elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
|
|
||||||
elog
|
|
||||||
elog "Then you need to recompile Boost and all its reverse dependencies"
|
|
||||||
elog "using the same toolchain. In general, *every* change of the C++ toolchain"
|
|
||||||
elog "requires a complete rebuild of the Boost-dependent ecosystem."
|
|
||||||
elog
|
|
||||||
elog "See for instance https://bugs.gentoo.org/638138"
|
|
||||||
}
|
|
@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
|
|||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
#REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
#REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
||||||
|
|
||||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||||
|
|
||||||
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||||
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -27,7 +27,7 @@ S="${WORKDIR}"/${MY_P%a}
|
|||||||
LICENSE="|| ( LGPL-3+ GPL-2+ )"
|
LICENSE="|| ( LGPL-3+ GPL-2+ )"
|
||||||
# The subslot reflects the C & C++ SONAMEs.
|
# The subslot reflects the C & C++ SONAMEs.
|
||||||
SLOT="0/10.4"
|
SLOT="0/10.4"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="+asm doc +cpudetection +cxx pic static-libs"
|
IUSE="+asm doc +cpudetection +cxx pic static-libs"
|
||||||
REQUIRED_USE="cpudetection? ( asm )"
|
REQUIRED_USE="cpudetection? ( asm )"
|
||||||
RESTRICT="!cpudetection? ( bindist )"
|
RESTRICT="!cpudetection? ( bindist )"
|
||||||
|
39
sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
vendored
Normal file
39
sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI="7"
|
||||||
|
|
||||||
|
# Please bump with sys-devel/libtool.
|
||||||
|
|
||||||
|
inherit multilib-minimal flag-o-matic
|
||||||
|
|
||||||
|
MY_P="libtool-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="A shared library tool for developers"
|
||||||
|
HOMEPAGE="https://www.gnu.org/software/libtool/"
|
||||||
|
SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
|
||||||
|
S="${WORKDIR}"/${MY_P}/libltdl
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
IUSE="static-libs"
|
||||||
|
# libltdl doesn't have a testsuite.
|
||||||
|
|
||||||
|
BDEPEND="app-arch/xz-utils"
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
append-lfs-flags
|
||||||
|
ECONF_SOURCE="${S}" \
|
||||||
|
econf \
|
||||||
|
--enable-ltdl-install \
|
||||||
|
$(use_enable static-libs static)
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
# While the libltdl.la file is not used directly, the m4 ltdl logic
|
||||||
|
# keys off of its existence when searching for ltdl support. # bug #293921
|
||||||
|
#use static-libs || find "${D}" -name libltdl.la -delete
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
|
|||||||
|
|
||||||
LICENSE="BSD"
|
LICENSE="BSD"
|
||||||
SLOT="0/3" # libpcre2-posix.so version
|
SLOT="0/3" # libpcre2-posix.so version
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline static-libs unicode zlib"
|
IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline static-libs unicode zlib"
|
||||||
REQUIRED_USE="?? ( libedit readline )"
|
REQUIRED_USE="?? ( libedit readline )"
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ multilib_src_install() {
|
|||||||
DESTDIR="${D}" \
|
DESTDIR="${D}" \
|
||||||
$(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
|
$(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
|
||||||
install
|
install
|
||||||
multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
|
multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix pcre2-8
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_install_all() {
|
multilib_src_install_all() {
|
@ -1,3 +1 @@
|
|||||||
DIST libuv-1.41.0.tar.gz 1281268 BLAKE2B 6d6fef33953c4d03835adfdd66e9a44c61071440ceeea48d88bcf6593e2a35c7d0878369c87b38a92f66ead2ab0f799d4b7476ced3707ca7f41e39f93875bdc4 SHA512 bb08a1970a10e8d9571ffea3d021643de30ec212cd51317b98d6cf0cfe55d6877992921fb01d1188a6d466687335b77885685d924f8cb7200a0bec30eee05c65
|
DIST libuv-1.44.2.tar.gz 1309062 BLAKE2B 883a1fbffcd8f55bf28ea5a79ed18aa3e2f2fac126285e8aca2ef9370eafc62f69f95ddb8bf27d4159e038bfb0a01abafdf0dadbc4309e5d31f0e77057ee84ac SHA512 d21c890787b0b364fafa5fc0cbbff296bc2ca269e1991d2f7f35fcb37b8634da377466f5af5a4245425fcf876ae6870d100ab32b12bce64f8e0b01fd25a1bc83
|
||||||
DIST libuv-1.41.1.tar.gz 1281506 BLAKE2B 4102df9559724c4f6bab090c57c8c976b7784bdc28243047c6c4cb2d61ce97deeb6f02e322238b98e9900575c981e8a586db852d5d34f0fd222a0091fc391a5b SHA512 dfd4996a2e8d6cc1ffe141921b2472070c8678cbbb8f0cf333dba7e7a36be0dee7fc3515152a27253252bbe48a9b29766d654f7f77137dd6f6bf0a8330c90fc4
|
|
||||||
DIST libuv-1.42.0.tar.gz 1293478 BLAKE2B c2b46492167d759fd781b704dd256de100ca5bed62b0afe74fd8c46d5ecce15c53c4158d2e938314c578f26978e9be0bc69c4ffd0f40b2cd8419fa120df5dc2e SHA512 29982c975fccb99dcf28c8cc0f9fe9f15a0c546778b0723596a790021441b8be1ccece17f63319b5a1f0ccda8a846c0b544f9259d3482e84e14138461a0d882b
|
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit autotools multilib-minimal
|
|
||||||
|
|
||||||
DESCRIPTION="Cross-platform asychronous I/O"
|
|
||||||
HOMEPAGE="https://github.com/libuv/libuv"
|
|
||||||
|
|
||||||
if [[ ${PV} = 9999* ]]; then
|
|
||||||
EGIT_REPO_URI="https://github.com/libuv/libuv.git"
|
|
||||||
inherit git-r3
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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="BSD BSD-2 ISC MIT"
|
|
||||||
SLOT="0/1"
|
|
||||||
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/libtool
|
|
||||||
virtual/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
|
|
||||||
> m4/libuv-extra-automake-flags.m4 || die
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
|
|
||||||
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
|
|
||||||
fi
|
|
||||||
|
|
||||||
# upstream fails to ship a configure script
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
local myeconfargs=(
|
|
||||||
--disable-static
|
|
||||||
cc_cv_cflags__g=no
|
|
||||||
)
|
|
||||||
|
|
||||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_test() {
|
|
||||||
cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
einstalldocs
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit autotools multilib-minimal
|
|
||||||
|
|
||||||
DESCRIPTION="Cross-platform asychronous I/O"
|
|
||||||
HOMEPAGE="https://github.com/libuv/libuv"
|
|
||||||
|
|
||||||
if [[ ${PV} = 9999* ]]; then
|
|
||||||
EGIT_REPO_URI="https://github.com/libuv/libuv.git"
|
|
||||||
inherit git-r3
|
|
||||||
else
|
|
||||||
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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="BSD BSD-2 ISC MIT"
|
|
||||||
SLOT="0/1"
|
|
||||||
|
|
||||||
BDEPEND="
|
|
||||||
sys-devel/libtool
|
|
||||||
virtual/pkgconfig
|
|
||||||
"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
|
|
||||||
> m4/libuv-extra-automake-flags.m4 || die
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
|
|
||||||
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
|
|
||||||
fi
|
|
||||||
|
|
||||||
# upstream fails to ship a configure script
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
local myeconfargs=(
|
|
||||||
--disable-static
|
|
||||||
cc_cv_cflags__g=no
|
|
||||||
)
|
|
||||||
|
|
||||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_test() {
|
|
||||||
cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
einstalldocs
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
|
||||||
}
|
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=8
|
||||||
|
|
||||||
inherit autotools multilib-minimal
|
inherit autotools
|
||||||
|
|
||||||
DESCRIPTION="Cross-platform asychronous I/O"
|
DESCRIPTION="Cross-platform asychronous I/O"
|
||||||
HOMEPAGE="https://github.com/libuv/libuv"
|
HOMEPAGE="https://github.com/libuv/libuv"
|
||||||
@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then
|
|||||||
inherit git-r3
|
inherit git-r3
|
||||||
else
|
else
|
||||||
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LICENSE="BSD BSD-2 ISC MIT"
|
LICENSE="BSD BSD-2 ISC MIT"
|
||||||
@ -34,25 +34,20 @@ src_prepare() {
|
|||||||
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
|
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# upstream fails to ship a configure script
|
# Upstream fails to ship a configure script
|
||||||
eautoreconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
src_configure() {
|
||||||
local myeconfargs=(
|
local myeconfargs=(
|
||||||
--disable-static
|
|
||||||
cc_cv_cflags__g=no
|
cc_cv_cflags__g=no
|
||||||
)
|
)
|
||||||
|
|
||||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
econf "${myeconfargs[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_test() {
|
src_install() {
|
||||||
cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
|
|
||||||
default
|
default
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
einstalldocs
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
find "${ED}" -name '*.la' -delete || die
|
||||||
}
|
}
|
@ -1,9 +1,9 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=8
|
||||||
|
|
||||||
inherit autotools multilib-minimal
|
inherit autotools
|
||||||
|
|
||||||
DESCRIPTION="Cross-platform asychronous I/O"
|
DESCRIPTION="Cross-platform asychronous I/O"
|
||||||
HOMEPAGE="https://github.com/libuv/libuv"
|
HOMEPAGE="https://github.com/libuv/libuv"
|
||||||
@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then
|
|||||||
inherit git-r3
|
inherit git-r3
|
||||||
else
|
else
|
||||||
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LICENSE="BSD BSD-2 ISC MIT"
|
LICENSE="BSD BSD-2 ISC MIT"
|
||||||
@ -34,25 +34,20 @@ src_prepare() {
|
|||||||
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
|
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# upstream fails to ship a configure script
|
# Upstream fails to ship a configure script
|
||||||
eautoreconf
|
eautoreconf
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
src_configure() {
|
||||||
local myeconfargs=(
|
local myeconfargs=(
|
||||||
--disable-static
|
|
||||||
cc_cv_cflags__g=no
|
cc_cv_cflags__g=no
|
||||||
)
|
)
|
||||||
|
|
||||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
econf "${myeconfargs[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_test() {
|
src_install() {
|
||||||
cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
|
|
||||||
default
|
default
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
einstalldocs
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
find "${ED}" -name '*.la' -delete || die
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="project">
|
<maintainer type="project">
|
||||||
<email>kde@gentoo.org</email>
|
<email>kde@gentoo.org</email>
|
||||||
<name>Gentoo KDE Project</name>
|
<name>Gentoo KDE Project</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<maintainer type="person">
|
<maintainer type="person">
|
||||||
<email>jakov.smolic@sartura.hr</email>
|
<email>jsmolic@gentoo.org</email>
|
||||||
<name>Jakov Smolic</name>
|
<name>Jakov Smolić</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<longdescription lang="en">
|
<longdescription lang="en">
|
||||||
libuv is a platform layer for node.js. Its purpose is to abstract
|
libuv is a platform layer for node.js. Its purpose is to abstract
|
||||||
|
@ -1,2 +1 @@
|
|||||||
DIST b2-4.9.2.tar.gz 975882 BLAKE2B 83c2ef85c9f1ae20922541ca8c344316f1660ee069426e3a9907c0a19e1c94db470c67d0c29a1f31788eddb86ab414ab06b9713f8ea53d974d1d8f0ca29f4aa5 SHA512 eab180770608b863dcf6a5fbc626e1733cf4353cf62f4189bd28258a03591fdb7853f5dddb4d3dad60f1bb06db5415025b792a30c2c65f7b1278f61e33f903e3
|
|
||||||
DIST b2-4.9.3.tar.gz 975934 BLAKE2B 8d16e7227676786408f0d84efb577806e304a9181b89656dad1243b5b0b48e67d4226fa51ea97d4ea10110e4ea86f3ae2884d711fa4b04e36bdaa68dff0a4710 SHA512 8f861074a50720ad5469277a469523ef5f87ef2aab65d745f4c5e6af0ed8f40af91c43cd42b7845982c065974026ce1ecc77a831cd0c698c7e22fa848cc81009
|
DIST b2-4.9.3.tar.gz 975934 BLAKE2B 8d16e7227676786408f0d84efb577806e304a9181b89656dad1243b5b0b48e67d4226fa51ea97d4ea10110e4ea86f3ae2884d711fa4b04e36bdaa68dff0a4710 SHA512 8f861074a50720ad5469277a469523ef5f87ef2aab65d745f4c5e6af0ed8f40af91c43cd42b7845982c065974026ce1ecc77a831cd0c698c7e22fa848cc81009
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
inherit edo flag-o-matic toolchain-funcs
|
|
||||||
|
|
||||||
MY_PV="$(ver_rs 1- _)"
|
|
||||||
|
|
||||||
DESCRIPTION="A system for large project software construction, simple to use and powerful"
|
|
||||||
HOMEPAGE="https://www.bfgroup.xyz/b2/"
|
|
||||||
SRC_URI="https://github.com/bfgroup/b2/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
S="${WORKDIR}/${P}/src"
|
|
||||||
|
|
||||||
LICENSE="Boost-1.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
IUSE="examples"
|
|
||||||
RESTRICT="test"
|
|
||||||
|
|
||||||
RDEPEND="!dev-util/boost-build"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-4.9.2-disable_python_rpath.patch
|
|
||||||
"${FILESDIR}"/${PN}-4.9.2-darwin-gentoo-toolchain.patch
|
|
||||||
"${FILESDIR}"/${PN}-4.9.2-add-none-feature-options.patch
|
|
||||||
"${FILESDIR}"/${PN}-4.9.2-respect-user-flags.patch
|
|
||||||
"${FILESDIR}"/${PN}-4.9.2-no-implicit-march-flags.patch
|
|
||||||
"${FILESDIR}"/${PN}-4.9.2-odr.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100)
|
|
||||||
append-lfs-flags
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
cd engine || die
|
|
||||||
edo ${CONFIG_SHELL:-${BASH}} ./build.sh cxx --cxx="$(tc-getCXX)" --cxxflags="${CXXFLAGS}" -d+2 --without-python
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
# Forget tests, b2 is a lost cause
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
dobin engine/b2
|
|
||||||
|
|
||||||
insinto /usr/share/b2/src
|
|
||||||
doins -r "${FILESDIR}/site-config.jam" \
|
|
||||||
bootstrap.jam build-system.jam ../example/user-config.jam \
|
|
||||||
build kernel options tools util
|
|
||||||
|
|
||||||
find "${ED}"/usr/share/b2/src -iname '*.py' -delete || die
|
|
||||||
|
|
||||||
dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt
|
|
||||||
|
|
||||||
if use examples; then
|
|
||||||
docinto examples
|
|
||||||
dodoc -r ../example/.
|
|
||||||
docompress -x /usr/share/doc/${PF}/examples
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
--- a/engine/build.sh
|
|
||||||
+++ b/engine/build.sh
|
|
||||||
@@ -496,7 +496,7 @@ modules/set.cpp \
|
|
||||||
if test_true ${B2_DEBUG_OPT} ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}"
|
|
||||||
else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG"
|
|
||||||
fi
|
|
||||||
- ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2 )
|
|
||||||
+ ( B2_VERBOSE_OPT=${TRUE} echo_run ${B2_CXX} ${CPPFLAGS} ${B2_CXXFLAGS} ${LDFLAGS} ${B2_SOURCES} -o b2 )
|
|
||||||
}
|
|
||||||
|
|
||||||
if test_true ${B2_VERBOSE_OPT} ; then
|
|
@ -1,5 +1,7 @@
|
|||||||
DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623
|
DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623
|
||||||
DIST linux-6.0.tar.xz 133886176 BLAKE2B c09a9c877ac0fac83dc31d2d04d96f0a3331d4ed78e3ad4edfd4dc077e1c11d0c49f419fdac4008b5c93d1b09c2b724e12ef0b38371ad0962908abf85dfa95fa SHA512 bac41a7aeb6e809616cee2f13dcd1c45e829dfd1ccf60aee1dc4c46b1e28532f4485c7d819a32940de84fdfbf89db80a4e919bce8a74b2948c5a01551771b714
|
DIST linux-6.0.tar.xz 133886176 BLAKE2B c09a9c877ac0fac83dc31d2d04d96f0a3331d4ed78e3ad4edfd4dc077e1c11d0c49f419fdac4008b5c93d1b09c2b724e12ef0b38371ad0962908abf85dfa95fa SHA512 bac41a7aeb6e809616cee2f13dcd1c45e829dfd1ccf60aee1dc4c46b1e28532f4485c7d819a32940de84fdfbf89db80a4e919bce8a74b2948c5a01551771b714
|
||||||
|
DIST linux-6.1.tar.xz 134728520 BLAKE2B ae60257860b2bd1bd708d183f0443afc60ebbd2b3d535c45e44c2e541bd0928530a3b62de6385dd4e4726ebbedcc0a871d4f3ffb4105b9f1f6d8ed7467f5688e SHA512 6ed2a73c2699d0810e54753715635736fc370288ad5ce95c594f2379959b0e418665cd71bc512a0273fe226fe90074d8b10d14c209080a6466498417a4fdda68
|
||||||
DIST patch-5.19.12.xz 828424 BLAKE2B fa5c2a42443179dd36ee62b6b14415b261ff528296d8cf6c335012baf1408ab8b981236b247da2f8d0a68ecef5e8bc65b6e77bd8800ef1962b258fdf3f692ac1 SHA512 40ec4228cfac91607a645971ebd85e8b85d20c4d93d5fbe3fbecf87d51958c44ff218f931a1bd8f80157e66d3c956a5391cd9aef027098003b6724a6bc49b8bc
|
DIST patch-5.19.12.xz 828424 BLAKE2B fa5c2a42443179dd36ee62b6b14415b261ff528296d8cf6c335012baf1408ab8b981236b247da2f8d0a68ecef5e8bc65b6e77bd8800ef1962b258fdf3f692ac1 SHA512 40ec4228cfac91607a645971ebd85e8b85d20c4d93d5fbe3fbecf87d51958c44ff218f931a1bd8f80157e66d3c956a5391cd9aef027098003b6724a6bc49b8bc
|
||||||
DIST patch-6.0.12.xz 635356 BLAKE2B f7407d0f95ee70e7cbb80139e61b68d2da5467a95a3d4a3c9c434616f2c6420beea483b115c60ce645d4ba586188d8beb8a82ddb32de09816d6773ba89bc21aa SHA512 d604975d02735d6ba8f98268d418397d78bf49d129aabd326599196708bf05795b17d22398ddd0229bc2944f7b152902e9638ff9aa04977c46a229566894dd00
|
DIST patch-6.0.12.xz 635356 BLAKE2B f7407d0f95ee70e7cbb80139e61b68d2da5467a95a3d4a3c9c434616f2c6420beea483b115c60ce645d4ba586188d8beb8a82ddb32de09816d6773ba89bc21aa SHA512 d604975d02735d6ba8f98268d418397d78bf49d129aabd326599196708bf05795b17d22398ddd0229bc2944f7b152902e9638ff9aa04977c46a229566894dd00
|
||||||
|
DIST patch-6.1.7.xz 533812 BLAKE2B b08005dfaa1247378fa2b3d1955537bcbbc6ee8c9171552e27ce51716c4c414e6b442d6ee33344431275e6b0140f315a5ea986977d102b298bb7651e5dbbbcef SHA512 e824cca5bb1e98439b152b15674292f042a5df8567ba2439a111af58084277ff800df6b326d6ecf0e3ee325d5ab2d2ddddd9dc31db7a0176828f1690bd855b2a
|
||||||
DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b
|
DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b
|
||||||
|
123
sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.1.7.ebuild
vendored
Normal file
123
sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-6.1.7.ebuild
vendored
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
# Copyright 2021-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{9..10} )
|
||||||
|
inherit estack linux-info optfeature python-any-r1 bash-completion-r1 toolchain-funcs
|
||||||
|
|
||||||
|
MY_PV="${PV/_/-}"
|
||||||
|
MY_PV="${MY_PV/-pre/-git}"
|
||||||
|
|
||||||
|
DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps"
|
||||||
|
HOMEPAGE="https://kernel.org/"
|
||||||
|
|
||||||
|
LINUX_V="${PV:0:1}.x"
|
||||||
|
LINUX_VER=$(ver_cut 1-2)
|
||||||
|
LINUX_PATCH=patch-${PV}.xz
|
||||||
|
SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
|
||||||
|
|
||||||
|
LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
|
||||||
|
SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||||
|
|
||||||
|
S_K="${WORKDIR}/linux-${LINUX_VER}"
|
||||||
|
S="${S_K}/tools/bpf/bpftool"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~riscv ~x86"
|
||||||
|
IUSE="caps"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
sys-libs/binutils-libs:=
|
||||||
|
sys-libs/zlib:=
|
||||||
|
virtual/libelf:=
|
||||||
|
caps? ( sys-libs/libcap:= )
|
||||||
|
"
|
||||||
|
DEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
>=sys-kernel/linux-headers-5.8
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
${LINUX_PATCH+dev-util/patchutils}
|
||||||
|
${PYTHON_DEPS}
|
||||||
|
app-arch/tar
|
||||||
|
dev-python/docutils
|
||||||
|
"
|
||||||
|
|
||||||
|
CONFIG_CHECK="~DEBUG_INFO_BTF"
|
||||||
|
|
||||||
|
# src_unpack and src_prepare are copied from dev-util/perf since
|
||||||
|
# it's building from the same tarball, please keep it in sync with perf
|
||||||
|
src_unpack() {
|
||||||
|
local paths=(
|
||||||
|
tools/bpf kernel/bpf
|
||||||
|
tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib"
|
||||||
|
)
|
||||||
|
|
||||||
|
# We expect the tar implementation to support the -j and --wildcards option
|
||||||
|
echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
|
||||||
|
gtar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||||
|
"${paths[@]/#/linux-${LINUX_VER}/}" || die
|
||||||
|
|
||||||
|
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||||
|
eshopts_push -o noglob
|
||||||
|
ebegin "Filtering partial source patch"
|
||||||
|
filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
|
||||||
|
> ${P}.patch
|
||||||
|
eend $? || die "filterdiff failed"
|
||||||
|
eshopts_pop
|
||||||
|
fi
|
||||||
|
|
||||||
|
local a
|
||||||
|
for a in ${A}; do
|
||||||
|
[[ ${a} == ${LINUX_SOURCES} ]] && continue
|
||||||
|
[[ ${a} == ${LINUX_PATCH} ]] && continue
|
||||||
|
unpack ${a}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||||
|
pushd "${S_K}" >/dev/null || die
|
||||||
|
eapply "${WORKDIR}"/${P}.patch
|
||||||
|
popd || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
pushd "${S_K}" >/dev/null || die
|
||||||
|
# bug #890638
|
||||||
|
eapply "${FILESDIR}"/5.19.12-no-stack-protector.patch
|
||||||
|
popd || die
|
||||||
|
|
||||||
|
# dev-python/docutils installs rst2man.py, not rst2man
|
||||||
|
sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
|
||||||
|
}
|
||||||
|
|
||||||
|
bpftool_make() {
|
||||||
|
local arch=$(tc-arch-kernel)
|
||||||
|
tc-export AR CC LD
|
||||||
|
|
||||||
|
emake V=1 VF=1 \
|
||||||
|
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
|
||||||
|
EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \
|
||||||
|
prefix="${EPREFIX}"/usr \
|
||||||
|
bash_compdir="$(get_bashcompdir)" \
|
||||||
|
feature-libcap="$(usex caps 1 0)" \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
bpftool_make
|
||||||
|
bpftool_make -C Documentation
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
bpftool_make DESTDIR="${D}" install
|
||||||
|
bpftool_make mandir="${ED}"/usr/share/man -C Documentation install
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
optfeature "clang-bpf-co-re support" sys-devel/clang[llvm_targets_BPF]
|
||||||
|
}
|
@ -1,15 +1,10 @@
|
|||||||
DIST cmake-3.23.3-SHA-256.txt 1452 BLAKE2B aa2e2dfb2757210688a5a9131ca1fffdf6617a52219d373fd908c08e52b7d77f0e980086561a083cabaf8d9f3e24b15064bb74ad2737fcbfe11c8aba5814eb4e SHA512 22808c050e8927867fc5d2daa6999d9eed53e99015f89d1f5bef61397d1b2a9888728e86fdca8716c47f8133e02b3fa726d0cc97c0bb4ab5f5ff16a1fc0ae82f
|
|
||||||
DIST cmake-3.23.3-SHA-256.txt.asc 833 BLAKE2B 10f61d7cfaa5c86d0e372f33d9ba0dbe7ae9cbfe17669107167b3ae72d0e337c63fb1c27a528dcda804323a1f0d4843b630e15427c33e0f5d5c568e27cea769d SHA512 75ff4b25fdd71bc05a7d6fec3c72ec5b8d6ed7ac980d533e6c820855c74a1a58f52d53c1a454dffe1a15568445c4c1c805891997e5709567c9e7709ba1c5e4d9
|
|
||||||
DIST cmake-3.23.3.tar.gz 9988050 BLAKE2B 55105ce380e5e9f1839fc38cc0eaefe505d58bffa60feab9813a36c7cac92f4fb6aa6b6aaad899f1e8d58cfa5ececb9e7335a470244ccc06848d833b1eddf224 SHA512 75f86abe60ef28ba9bd06546c0c24578921621fb4be942171e629366a759cf1469e430945addc85f8ce977920883c063ed26de1b78fd24dfd98d0eb604800632
|
|
||||||
DIST cmake-3.24.3-SHA-256.txt 1646 BLAKE2B 739503a16c2e333c9b05a3232e2dcc56105f6933414a4a2054a582b9cf53a12c2b1a37d2189077cbcd138b8cc2828ef1819ab0fc74ded926ef0df7c7ea8c79e1 SHA512 b670acc21b98d1da22b31743f83ba10d6dbfda60341457a02639ee6f15d50462ddcd90b5992eff275d77e7cce6f074aff72abd95c539d18f191682ad87d7884e
|
DIST cmake-3.24.3-SHA-256.txt 1646 BLAKE2B 739503a16c2e333c9b05a3232e2dcc56105f6933414a4a2054a582b9cf53a12c2b1a37d2189077cbcd138b8cc2828ef1819ab0fc74ded926ef0df7c7ea8c79e1 SHA512 b670acc21b98d1da22b31743f83ba10d6dbfda60341457a02639ee6f15d50462ddcd90b5992eff275d77e7cce6f074aff72abd95c539d18f191682ad87d7884e
|
||||||
DIST cmake-3.24.3-SHA-256.txt.asc 833 BLAKE2B f8797072c2d30facfbbebc972c68cd1a6510331e63c67e6b665bd97dd9013e354bab68e03d578698d2f9e50c173ff8e1cac40751c7a3645be294a717f4bfee3a SHA512 bc67eaf6dba935df85ae3d7c37600259b032579813b275087332d5cc4c72dd6bdf44762260729a15f237f69f772670291bb2f2dcc4b155fb17112e0e8fa01d6b
|
DIST cmake-3.24.3-SHA-256.txt.asc 833 BLAKE2B f8797072c2d30facfbbebc972c68cd1a6510331e63c67e6b665bd97dd9013e354bab68e03d578698d2f9e50c173ff8e1cac40751c7a3645be294a717f4bfee3a SHA512 bc67eaf6dba935df85ae3d7c37600259b032579813b275087332d5cc4c72dd6bdf44762260729a15f237f69f772670291bb2f2dcc4b155fb17112e0e8fa01d6b
|
||||||
DIST cmake-3.24.3-docs.tar.xz 492156 BLAKE2B 92edd031189673c46e8e13a5e1200917734b918651dc01d982c25602e48cd5d5f014fa8563bdc79b3d09d90ef07a52c9d5a570a5181c59c233ba5bf450cdd5df SHA512 75806743fca976098b9b7ee777c494478142ab5686dc8ccb18510b5938c7e88cf8b3bc47321022f55f33c04bb0a7f549d70be8c765d1ec143467e679c8863132
|
DIST cmake-3.24.3-docs.tar.xz 492156 BLAKE2B 92edd031189673c46e8e13a5e1200917734b918651dc01d982c25602e48cd5d5f014fa8563bdc79b3d09d90ef07a52c9d5a570a5181c59c233ba5bf450cdd5df SHA512 75806743fca976098b9b7ee777c494478142ab5686dc8ccb18510b5938c7e88cf8b3bc47321022f55f33c04bb0a7f549d70be8c765d1ec143467e679c8863132
|
||||||
DIST cmake-3.24.3.tar.gz 10399876 BLAKE2B 24e2ff8cf4f63ba182dd305c14367fa0163f6187da84f7ec10b1ad6241c7df5b48f329b67ba5f7b5d3b644cba89c7adb848a3ae7196bf5b4dbfaedf178dba250 SHA512 57edf2a8c1c9edeed7fd11271083f333d940b31e0e909d9c71671465961559c505e4e22f36e68bfe1a40a01eb05fe94bc8d37b062f9be613f959f864207e3764
|
DIST cmake-3.24.3.tar.gz 10399876 BLAKE2B 24e2ff8cf4f63ba182dd305c14367fa0163f6187da84f7ec10b1ad6241c7df5b48f329b67ba5f7b5d3b644cba89c7adb848a3ae7196bf5b4dbfaedf178dba250 SHA512 57edf2a8c1c9edeed7fd11271083f333d940b31e0e909d9c71671465961559c505e4e22f36e68bfe1a40a01eb05fe94bc8d37b062f9be613f959f864207e3764
|
||||||
DIST cmake-3.25.1-SHA-256.txt 1646 BLAKE2B b5ebf93e481b2bf63c5448875983f0b4d13f4e588eb226577969738f3b56c0ca14d9ab99ffc4dbcf8a2ab74a159de00368ce6ebf9667b90ef657083f351c4c01 SHA512 5e7618b27b0cdb674ee0ea7e1e6641ba31da6f4414ae1a08ed11691e105ebd89a39a307b53e04e2386785bcd2917e1b8d65755ef7c07a1d9f4f400dcb5385b44
|
|
||||||
DIST cmake-3.25.1-SHA-256.txt.asc 833 BLAKE2B 3dce05d9ad5852165418726fc16de4fcc6c66aa379ce926a68c10515dcd87ed40b60ce345952fc2c83f342b5ebb0f02134af6c07b58e9dcf7e1757ad6294d8b5 SHA512 70ec7f1cef52d76ab6732556b663509de780648a2009608632a7df0de86c1d8b91fab874233413216a486fa97648d95de1556f89f48cea936408b609380c5aa4
|
|
||||||
DIST cmake-3.25.1-docs.tar.xz 499680 BLAKE2B 0baac457fbde68046080a906093be96c6fe3d7a4b592125237258768eeb0f9c80d3e1e867e2850fe3ebd27a1284d2f47245ca73b8f5b6eb4c046f2afdab78e56 SHA512 02e1bf84be15a7c796a9a7535ee286ca3cddc478707daa1be076be44285f762a0c5eb620b34815e6713b7262a534d7c7fb48e53896c4706645792397f8da83e3
|
|
||||||
DIST cmake-3.25.1.tar.gz 10561054 BLAKE2B 3aaf546ebc935caaaf6d15c61f99184964902a50004222ba29e17714488b219f8d8754008f2b2d701dd7befe8c0f4cd0edad92fcabb8ad37b981f31b2d1e37a2 SHA512 ec4203cac569e3c340bf6535d193d9ccff9c4e4d59a7a7ae5b9156172f647d9f9212bdc37b3c12cbd676b1351b9a64364c563aaa968a2f41e0f402410ed78d57
|
|
||||||
DIST cmake-3.25.2-SHA-256.txt 1646 BLAKE2B 10289acf1a74e45ad1109bb0759ce82024553947ff60c8358854f26d276e89155df9b44561adee4b838d95fb2fcb54b4d2ca1e957b35a90ee80ea56dc63d94be SHA512 75d6a0c4c9350ad466559f44f56f2d18308cdfbaba24da3c86950c9bfb4861f9486f031b41206de83019850944081f304953dbd04b55501ea7b3912aabfb1e00
|
DIST cmake-3.25.2-SHA-256.txt 1646 BLAKE2B 10289acf1a74e45ad1109bb0759ce82024553947ff60c8358854f26d276e89155df9b44561adee4b838d95fb2fcb54b4d2ca1e957b35a90ee80ea56dc63d94be SHA512 75d6a0c4c9350ad466559f44f56f2d18308cdfbaba24da3c86950c9bfb4861f9486f031b41206de83019850944081f304953dbd04b55501ea7b3912aabfb1e00
|
||||||
DIST cmake-3.25.2-SHA-256.txt.asc 833 BLAKE2B 823c1132836529c3ca1c9060f504ad9904169621e3284c489b92f6334454ffa82791d336c78a27e705eca686e63131aed249c44e61b5f7fb915e80cca0155edc SHA512 16d5f8e0071db7f29b2f502b8a26e71e73519980555f64a548f1b3d5e917ec377cdfa49a4750dffde952e6b818dd37d000992bf67b553902b2117809f02b9486
|
DIST cmake-3.25.2-SHA-256.txt.asc 833 BLAKE2B 823c1132836529c3ca1c9060f504ad9904169621e3284c489b92f6334454ffa82791d336c78a27e705eca686e63131aed249c44e61b5f7fb915e80cca0155edc SHA512 16d5f8e0071db7f29b2f502b8a26e71e73519980555f64a548f1b3d5e917ec377cdfa49a4750dffde952e6b818dd37d000992bf67b553902b2117809f02b9486
|
||||||
DIST cmake-3.25.2-docs.tar.xz 500144 BLAKE2B 9f45daf51c3acddce8e273649cd7445d00324883f2feccc98632a35d2ba72e7f6fd286f65bc362969f41d13cd5f34881aac8a229c9f6533caf0d86e1092075a8 SHA512 191daffb9a244fac79700bb0d21b3d65c7b94685dafd589122d37017660d13768e3e3257170bbfe46871efc59da6e7e2fcad0ce860cf87f1dc149c80df73cf91
|
DIST cmake-3.25.2-docs.tar.xz 500144 BLAKE2B 9f45daf51c3acddce8e273649cd7445d00324883f2feccc98632a35d2ba72e7f6fd286f65bc362969f41d13cd5f34881aac8a229c9f6533caf0d86e1092075a8 SHA512 191daffb9a244fac79700bb0d21b3d65c7b94685dafd589122d37017660d13768e3e3257170bbfe46871efc59da6e7e2fcad0ce860cf87f1dc149c80df73cf91
|
||||||
DIST cmake-3.25.2.tar.gz 10561266 BLAKE2B ca093cf0b2a0254494965c8b46ab188024b6d745cd56461451f4fa023fbb4f2cca7077877f1698c082d8a3b52c898d6f793657d8da3879f19f7b24139cbab7f0 SHA512 20146d06a1722c36249192944a58e4780aad334d2bc5ce2a3d8c4f24656630c5b71ca0ae7ed53587e3d46f488bd773452fa60c3fc7045fe54db2dbc6ffd86390
|
DIST cmake-3.25.2.tar.gz 10561266 BLAKE2B ca093cf0b2a0254494965c8b46ab188024b6d745cd56461451f4fa023fbb4f2cca7077877f1698c082d8a3b52c898d6f793657d8da3879f19f7b24139cbab7f0 SHA512 20146d06a1722c36249192944a58e4780aad334d2bc5ce2a3d8c4f24656630c5b71ca0ae7ed53587e3d46f488bd773452fa60c3fc7045fe54db2dbc6ffd86390
|
||||||
|
DIST cmake-3.26.0-rc1.tar.gz 10666314 BLAKE2B 1fcc779757447f3c07e41160f2f16648e902fff66ece3099bf5c5c57b6cca75e55e7b35c5eca0dc128146aec5d0064f5a35fecca0015beca6fa0102585c6e808 SHA512 6280fd7f3f04da291350441847d4be001bcc56d7e31a08739327958a26721a88cab2de608e53b28154324dc857aeb67dca0f2cd5243b4b3269744628273d6386
|
||||||
|
DIST cmake-3.26.0_rc1-docs.tar.xz 507308 BLAKE2B 83cc5c43acdd7b38961b68c3b477ef070553230823a0a1636222b8ac4e5d268beab4f6bfbaf7d631c07135011a5c1842db227306fbbe5542a629fd03d039c324 SHA512 d2a366e8c56035ad697f71d30b37bd9b096c07edb7c84e0b8c271ba1daf1cdc4f59caa1fadf9ad9fad597dcbbd2a0b80f0bf7cd5a23f6888d2d8794d604cf617
|
||||||
|
@ -1,261 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
|
||||||
# ... but seems fine as of 3.22.3?
|
|
||||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
|
||||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
|
||||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
|
||||||
inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
|
|
||||||
toolchain-funcs virtualx xdg-utils
|
|
||||||
|
|
||||||
MY_P="${P/_/-}"
|
|
||||||
|
|
||||||
DESCRIPTION="Cross platform Make"
|
|
||||||
HOMEPAGE="https://cmake.org/"
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
|
||||||
inherit git-r3
|
|
||||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
|
||||||
else
|
|
||||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
|
||||||
if [[ ${PV} != *_rc* ]] ; then
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bradking.asc
|
|
||||||
inherit verify-sig
|
|
||||||
|
|
||||||
SRC_URI+=" verify-sig? (
|
|
||||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
|
||||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
|
||||||
)"
|
|
||||||
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
|
|
||||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
LICENSE="CMake"
|
|
||||||
SLOT="0"
|
|
||||||
IUSE="doc emacs ncurses qt5 test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
>=app-arch/libarchive-3.3.3:=
|
|
||||||
app-crypt/rhash
|
|
||||||
>=dev-libs/expat-2.0.1
|
|
||||||
>=dev-libs/jsoncpp-1.9.2-r2:0=
|
|
||||||
>=dev-libs/libuv-1.10.0:=
|
|
||||||
>=net-misc/curl-7.21.5[ssl]
|
|
||||||
sys-libs/zlib
|
|
||||||
virtual/pkgconfig
|
|
||||||
emacs? ( >=app-editors/emacs-23.1:* )
|
|
||||||
ncurses? ( sys-libs/ncurses:0= )
|
|
||||||
qt5? (
|
|
||||||
dev-qt/qtcore:5
|
|
||||||
dev-qt/qtgui:5
|
|
||||||
dev-qt/qtwidgets:5
|
|
||||||
)
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
BDEPEND+="
|
|
||||||
doc? (
|
|
||||||
dev-python/requests
|
|
||||||
dev-python/sphinx
|
|
||||||
)
|
|
||||||
test? ( app-arch/libarchive[zstd] )
|
|
||||||
"
|
|
||||||
|
|
||||||
S="${WORKDIR}/${MY_P}"
|
|
||||||
|
|
||||||
SITEFILE="50${PN}-gentoo.el"
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
# prefix
|
|
||||||
"${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch
|
|
||||||
"${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch
|
|
||||||
"${FILESDIR}"/${PN}-3.19.1-darwin-gcc.patch
|
|
||||||
|
|
||||||
# handle gentoo packaging in find modules
|
|
||||||
"${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch
|
|
||||||
# Next patch needs to be reworked
|
|
||||||
#"${FILESDIR}"/${PN}-3.17.0_rc1-FindLAPACK.patch
|
|
||||||
"${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
|
|
||||||
|
|
||||||
# respect python eclasses
|
|
||||||
"${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
|
|
||||||
"${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
|
|
||||||
|
|
||||||
"${FILESDIR}"/${PN}-3.18.0-filter_distcc_warning.patch # bug 691544
|
|
||||||
|
|
||||||
# upstream fixes (can usually be removed with a version bump)
|
|
||||||
)
|
|
||||||
|
|
||||||
cmake_src_bootstrap() {
|
|
||||||
# disable running of cmake in bootstrap command
|
|
||||||
sed -i \
|
|
||||||
-e '/"${cmake_bootstrap_dir}\/cmake"/s/^/#DONOTRUN /' \
|
|
||||||
bootstrap || die "sed failed"
|
|
||||||
|
|
||||||
# execinfo.h on Solaris isn't quite what it is on Darwin
|
|
||||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
|
||||||
sed -i -e 's/execinfo\.h/blablabla.h/' \
|
|
||||||
Source/kwsys/CMakeLists.txt || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# bootstrap script isn't exactly /bin/sh compatible
|
|
||||||
tc-env_build ${CONFIG_SHELL:-sh} ./bootstrap \
|
|
||||||
--prefix="${T}/cmakestrap/" \
|
|
||||||
--parallel=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") \
|
|
||||||
|| die "Bootstrap failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
|
||||||
git-r3_src_unpack
|
|
||||||
elif ! use verify-sig || [[ ${PV} == *_rc ]] ; then
|
|
||||||
default
|
|
||||||
else
|
|
||||||
cd "${DISTDIR}" || die
|
|
||||||
|
|
||||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
|
||||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
|
||||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
|
||||||
|
|
||||||
cd "${WORKDIR}" || die
|
|
||||||
|
|
||||||
default
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
cmake_src_prepare
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
|
||||||
# disable Xcode hooks, bug #652134
|
|
||||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
|
||||||
Source/CMakeLists.txt || die
|
|
||||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
|
||||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
|
||||||
Source/cmake.cxx || die
|
|
||||||
# disable isysroot usage with GCC, we've properly instructed
|
|
||||||
# where things are via GCC configuration and ldwrapper
|
|
||||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
|
||||||
Modules/Platform/Apple-GNU-*.cmake || die
|
|
||||||
# disable isysroot usage with clang as well
|
|
||||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
|
||||||
Modules/Platform/Apple-Clang.cmake || die
|
|
||||||
# don't set a POSIX standard, system headers don't like that, #757426
|
|
||||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
|
||||||
Source/cmLoadCommandCommand.cxx \
|
|
||||||
Source/cmStandardLexer.h \
|
|
||||||
Source/cmSystemTools.cxx \
|
|
||||||
Source/cmTimestamp.cxx
|
|
||||||
sed -i -e 's/^#if !defined(_POSIX_C_SOURCE) && !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
|
||||||
Source/cmStandardLexer.h
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add gcc libs to the default link paths
|
|
||||||
sed -i \
|
|
||||||
-e "s|@GENTOO_PORTAGE_GCCLIBDIR@|${EPREFIX}/usr/${CHOST}/lib/|g" \
|
|
||||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
|
||||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
|
||||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
|
||||||
|
|
||||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
|
||||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
|
||||||
cmake_src_bootstrap
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
# Fix linking on Solaris
|
|
||||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
|
||||||
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
|
||||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
|
||||||
-DCMAKE_MAN_DIR=/share/man
|
|
||||||
-DCMAKE_DATA_DIR=/share/${PN}
|
|
||||||
-DSPHINX_MAN=$(usex doc)
|
|
||||||
-DSPHINX_HTML=$(usex doc)
|
|
||||||
-DBUILD_CursesDialog="$(usex ncurses)"
|
|
||||||
-DBUILD_TESTING=$(usex test)
|
|
||||||
)
|
|
||||||
use qt5 && mycmakeargs+=( -DBUILD_QtDialog=ON )
|
|
||||||
|
|
||||||
cmake_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
cmake_src_compile
|
|
||||||
use emacs && elisp-compile Auxiliary/cmake-mode.el
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
# fix OutDir and SelectLibraryConfigurations tests
|
|
||||||
# these are altered thanks to our eclass
|
|
||||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
|
||||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
|
||||||
|| die
|
|
||||||
|
|
||||||
pushd "${BUILD_DIR}" > /dev/null || die
|
|
||||||
|
|
||||||
# Excluded tests:
|
|
||||||
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
|
||||||
# BundleUtilities: bundle creation broken
|
|
||||||
# CMakeOnly.AllFindModules: pthread issues
|
|
||||||
# CTest.updatecvs: which fails to commit as root
|
|
||||||
# Fortran: requires fortran
|
|
||||||
# RunCMake.CompilerLauncher: also requires fortran
|
|
||||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
|
||||||
# debugedit binary is not in the expected location
|
|
||||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
|
||||||
# it can't find a deb package that owns libc
|
|
||||||
# TestUpload, which requires network access
|
|
||||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
|
||||||
local myctestargs=(
|
|
||||||
--output-on-failure
|
|
||||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
|
||||||
)
|
|
||||||
|
|
||||||
virtx cmake_src_test
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
cmake_src_install
|
|
||||||
|
|
||||||
if use emacs; then
|
|
||||||
elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
|
|
||||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
insinto /usr/share/vim/vimfiles/syntax
|
|
||||||
doins Auxiliary/vim/syntax/cmake.vim
|
|
||||||
|
|
||||||
insinto /usr/share/vim/vimfiles/indent
|
|
||||||
doins Auxiliary/vim/indent/cmake.vim
|
|
||||||
|
|
||||||
insinto /usr/share/vim/vimfiles/ftdetect
|
|
||||||
doins "${FILESDIR}/${PN}.vim"
|
|
||||||
|
|
||||||
dobashcomp Auxiliary/bash-completion/{${PN},ctest,cpack}
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
use emacs && elisp-site-regen
|
|
||||||
if use qt5; then
|
|
||||||
xdg_icon_cache_update
|
|
||||||
xdg_desktop_database_update
|
|
||||||
xdg_mimeinfo_database_update
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
use emacs && elisp-site-regen
|
|
||||||
if use qt5; then
|
|
||||||
xdg_icon_cache_update
|
|
||||||
xdg_desktop_database_update
|
|
||||||
xdg_mimeinfo_database_update
|
|
||||||
fi
|
|
||||||
}
|
|
@ -47,7 +47,7 @@ else
|
|||||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||||
)"
|
)"
|
||||||
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
|
||||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
|
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
|
||||||
fi
|
fi
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -9,7 +9,8 @@ EAPI=8
|
|||||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
||||||
|
CMAKE_DOCS_VERSION=${PV}
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
# See bug #784815
|
# See bug #784815
|
||||||
CMAKE_DOCS_USEFLAG="+doc"
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
@ -133,7 +134,7 @@ cmake_src_bootstrap() {
|
|||||||
src_unpack() {
|
src_unpack() {
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
git-r3_src_unpack
|
git-r3_src_unpack
|
||||||
elif ! use verify-sig || [[ ${PV} == *_rc* ]] ; then
|
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||||
default
|
default
|
||||||
else
|
else
|
||||||
cd "${DISTDIR}" || die
|
cd "${DISTDIR}" || die
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -9,7 +9,8 @@ EAPI=8
|
|||||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||||
|
|
||||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||||
CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
#CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
||||||
|
CMAKE_DOCS_VERSION=${PV}
|
||||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||||
# See bug #784815
|
# See bug #784815
|
||||||
CMAKE_DOCS_USEFLAG="+doc"
|
CMAKE_DOCS_USEFLAG="+doc"
|
||||||
@ -133,7 +134,7 @@ cmake_src_bootstrap() {
|
|||||||
src_unpack() {
|
src_unpack() {
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
git-r3_src_unpack
|
git-r3_src_unpack
|
||||||
elif ! use verify-sig || [[ ${PV} == *_rc* ]] ; then
|
elif [[ ${PV} == *_rc* ]] || ! use verify-sig ; then
|
||||||
default
|
default
|
||||||
else
|
else
|
||||||
cd "${DISTDIR}" || die
|
cd "${DISTDIR}" || die
|
||||||
|
@ -15,7 +15,7 @@ HOMEPAGE="https://www.gtk.org/"
|
|||||||
|
|
||||||
LICENSE="LGPL-2+"
|
LICENSE="LGPL-2+"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||||
|
|
||||||
RDEPEND="${PYTHON_DEPS}"
|
RDEPEND="${PYTHON_DEPS}"
|
||||||
DEPEND="${RDEPEND}"
|
DEPEND="${RDEPEND}"
|
||||||
|
@ -14,7 +14,7 @@ LICENSE="LGPL-2.1+"
|
|||||||
SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature
|
SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature
|
||||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||||
|
|
||||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||||
|
|
||||||
RDEPEND="${PYTHON_DEPS}"
|
RDEPEND="${PYTHON_DEPS}"
|
||||||
DEPEND="${RDEPEND}"
|
DEPEND="${RDEPEND}"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/gperf/${P}.tar.gz"
|
|||||||
|
|
||||||
LICENSE="GPL-2"
|
LICENSE="GPL-2"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/${P}-strncmp-decl-mismatch.patch
|
"${FILESDIR}"/${P}-strncmp-decl-mismatch.patch
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="person">
|
<maintainer type="project">
|
||||||
<email>blueness@gentoo.org</email>
|
<email>base-system@gentoo.org</email>
|
||||||
|
<name>Gentoo Base System</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<upstream>
|
<upstream>
|
||||||
<remote-id type="savannah">gperf</remote-id>
|
<remote-id type="savannah">gperf</remote-id>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 2012-2022 Gentoo Authors
|
# Copyright 2012-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
@ -13,7 +13,7 @@ else
|
|||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99"
|
||||||
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||||
|
|
||||||
LICENSE="ISC"
|
LICENSE="ISC"
|
||||||
|
@ -13,7 +13,7 @@ else
|
|||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99"
|
||||||
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||||
|
|
||||||
LICENSE="ISC"
|
LICENSE="ISC"
|
||||||
|
@ -14,7 +14,7 @@ else
|
|||||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99"
|
||||||
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||||
|
|
||||||
LICENSE="ISC"
|
LICENSE="ISC"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 2012-2022 Gentoo Authors
|
# Copyright 2012-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -14,7 +14,7 @@ else
|
|||||||
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than ANSI C89"
|
DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99"
|
||||||
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||||
|
|
||||||
LICENSE="ISC"
|
LICENSE="ISC"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
|
|||||||
inherit git-r3
|
inherit git-r3
|
||||||
else
|
else
|
||||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
|
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
|
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# @ECLASS: kernel-2.eclass
|
# @ECLASS: kernel-2.eclass
|
||||||
@ -745,25 +745,35 @@ cross_pre_c_headers() {
|
|||||||
use headers-only && [[ ${CHOST} != ${CTARGET} ]]
|
use headers-only && [[ ${CHOST} != ${CTARGET} ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: env_setup_xmakeopts
|
# @FUNCTION: env_setup_kernel_makeopts
|
||||||
# @USAGE:
|
# @USAGE:
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# set the ARCH/CROSS_COMPILE when cross compiling
|
# Set the toolchain variables, as well as ARCH and CROSS_COMPILE when
|
||||||
|
# cross-compiling.
|
||||||
|
|
||||||
env_setup_xmakeopts() {
|
env_setup_kernel_makeopts() {
|
||||||
# Kernel ARCH != portage ARCH
|
# Kernel ARCH != portage ARCH
|
||||||
export KARCH=$(tc-arch-kernel)
|
export KARCH=$(tc-arch-kernel)
|
||||||
|
|
||||||
# When cross-compiling, we need to set the ARCH/CROSS_COMPILE
|
# When cross-compiling, we need to set the ARCH/CROSS_COMPILE
|
||||||
# variables properly or bad things happen !
|
# variables properly or bad things happen !
|
||||||
xmakeopts="ARCH=${KARCH}"
|
KERNEL_MAKEOPTS=( ARCH="${KARCH}" )
|
||||||
if [[ ${CTARGET} != ${CHOST} ]] && ! cross_pre_c_headers; then
|
if [[ ${CTARGET} != ${CHOST} ]] && ! cross_pre_c_headers; then
|
||||||
xmakeopts="${xmakeopts} CROSS_COMPILE=${CTARGET}-"
|
KERNEL_MAKEOPTS+=( CROSS_COMPILE="${CTARGET}-" )
|
||||||
elif type -p ${CHOST}-ar >/dev/null; then
|
elif type -p ${CHOST}-ar >/dev/null; then
|
||||||
xmakeopts="${xmakeopts} CROSS_COMPILE=${CHOST}-"
|
KERNEL_MAKEOPTS+=( CROSS_COMPILE="${CHOST}-" )
|
||||||
fi
|
fi
|
||||||
xmakeopts="${xmakeopts} HOSTCC=$(tc-getBUILD_CC) CC=$(tc-getCC) LD=$(tc-getLD) AR=$(tc-getAR) NM=$(tc-getNM) OBJCOPY=$(tc-getOBJCOPY) READELF=$(tc-getREADELF) STRIP=$(tc-getSTRIP)"
|
KERNEL_MAKEOPTS+=(
|
||||||
export xmakeopts
|
HOSTCC="$(tc-getBUILD_CC)"
|
||||||
|
CC="$(tc-getCC)"
|
||||||
|
LD="$(tc-getLD)"
|
||||||
|
AR="$(tc-getAR)"
|
||||||
|
NM="$(tc-getNM)"
|
||||||
|
OBJCOPY="$(tc-getOBJCOPY)"
|
||||||
|
READELF="$(tc-getREADELF)"
|
||||||
|
STRIP="$(tc-getSTRIP)"
|
||||||
|
)
|
||||||
|
export KERNEL_MAKEOPTS
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: universal_unpack
|
# @FUNCTION: universal_unpack
|
||||||
@ -849,8 +859,8 @@ install_universal() {
|
|||||||
install_headers() {
|
install_headers() {
|
||||||
local ddir=$(kernel_header_destdir)
|
local ddir=$(kernel_header_destdir)
|
||||||
|
|
||||||
env_setup_xmakeopts
|
env_setup_kernel_makeopts
|
||||||
emake headers_install INSTALL_HDR_PATH="${ED}"${ddir}/.. ${xmakeopts}
|
emake headers_install INSTALL_HDR_PATH="${ED}"${ddir}/.. "${KERNEL_MAKEOPTS[@]}"
|
||||||
|
|
||||||
# let other packages install some of these headers
|
# let other packages install some of these headers
|
||||||
rm -rf "${ED}"${ddir}/scsi || die #glibc/uclibc/etc...
|
rm -rf "${ED}"${ddir}/scsi || die #glibc/uclibc/etc...
|
||||||
@ -1416,8 +1426,8 @@ kernel-2_src_unpack() {
|
|||||||
[[ -z ${K_NOSETEXTRAVERSION} ]] && unpack_set_extraversion
|
[[ -z ${K_NOSETEXTRAVERSION} ]] && unpack_set_extraversion
|
||||||
unpack_fix_install_path
|
unpack_fix_install_path
|
||||||
|
|
||||||
# Setup xmakeopts and cd into sourcetree.
|
# Setup KERNEL_MAKEOPTS and cd into sourcetree.
|
||||||
env_setup_xmakeopts
|
env_setup_kernel_makeopts
|
||||||
cd "${S}" || die
|
cd "${S}" || die
|
||||||
|
|
||||||
if [[ ${K_DEBLOB_AVAILABLE} == 1 ]] && use deblob; then
|
if [[ ${K_DEBLOB_AVAILABLE} == 1 ]] && use deblob; then
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# @ECLASS: linux-mod.eclass
|
# @ECLASS: linux-mod.eclass
|
||||||
@ -624,10 +624,6 @@ linux-mod_src_compile() {
|
|||||||
cd "${srcdir}" || die
|
cd "${srcdir}" || die
|
||||||
ln -s "${S}"/Module.symvers Module.symvers # no die for bug #888679
|
ln -s "${S}"/Module.symvers Module.symvers # no die for bug #888679
|
||||||
einfo "Preparing ${modulename} module"
|
einfo "Preparing ${modulename} module"
|
||||||
if [[ -n ${ECONF_PARAMS} ]]; then
|
|
||||||
eqawarn "This package relies on the deprecated functionality of econf being called in linux-mod_src_compile (ECONF_PARAMS), which will go away in 30 days (20230107) (https://bugs.gentoo.org/340597)"
|
|
||||||
econf ${ECONF_PARAMS}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# This looks messy, but it is needed to handle multiple variables
|
# This looks messy, but it is needed to handle multiple variables
|
||||||
# being passed in the BUILD_* stuff where the variables also have
|
# being passed in the BUILD_* stuff where the variables also have
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# @ECLASS: llvm.eclass
|
# @ECLASS: llvm.eclass
|
||||||
@ -78,7 +78,7 @@ DEPEND="!!sys-devel/llvm:0"
|
|||||||
# @INTERNAL
|
# @INTERNAL
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Correct values of LLVM slots, newest first.
|
# Correct values of LLVM slots, newest first.
|
||||||
declare -g -r _LLVM_KNOWN_SLOTS=( {16..8} )
|
declare -g -r _LLVM_KNOWN_SLOTS=( {17..8} )
|
||||||
|
|
||||||
# @FUNCTION: get_llvm_slot
|
# @FUNCTION: get_llvm_slot
|
||||||
# @USAGE: [-b|-d] [<max_slot>]
|
# @USAGE: [-b|-d] [<max_slot>]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 2002-2022 Gentoo Authors
|
# Copyright 2002-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# @ECLASS: toolchain-funcs.eclass
|
# @ECLASS: toolchain-funcs.eclass
|
||||||
@ -422,19 +422,19 @@ tc-env_build() {
|
|||||||
# src_configure() {
|
# src_configure() {
|
||||||
# ECONF_SOURCE=${S}
|
# ECONF_SOURCE=${S}
|
||||||
# if tc-is-cross-compiler ; then
|
# if tc-is-cross-compiler ; then
|
||||||
# mkdir "${WORKDIR}"/${CBUILD}
|
# mkdir "${WORKDIR}"/${CBUILD} || die
|
||||||
# pushd "${WORKDIR}"/${CBUILD} >/dev/null
|
# pushd "${WORKDIR}"/${CBUILD} >/dev/null || die
|
||||||
# econf_build --disable-some-unused-stuff
|
# econf_build --disable-some-unused-stuff
|
||||||
# popd >/dev/null
|
# popd >/dev/null || die
|
||||||
# fi
|
# fi
|
||||||
# ... normal build paths ...
|
# ... normal build paths ...
|
||||||
# }
|
# }
|
||||||
# src_compile() {
|
# src_compile() {
|
||||||
# if tc-is-cross-compiler ; then
|
# if tc-is-cross-compiler ; then
|
||||||
# pushd "${WORKDIR}"/${CBUILD} >/dev/null
|
# pushd "${WORKDIR}"/${CBUILD} >/dev/null || die
|
||||||
# emake one-or-two-build-tools
|
# emake one-or-two-build-tools
|
||||||
# ln/mv build-tools to normal build paths in ${S}/
|
# ln/mv build-tools to normal build paths in ${S}/ || die
|
||||||
# popd >/dev/null
|
# popd >/dev/null || die
|
||||||
# fi
|
# fi
|
||||||
# ... normal build paths ...
|
# ... normal build paths ...
|
||||||
# }
|
# }
|
||||||
@ -676,7 +676,7 @@ tc-has-tls() {
|
|||||||
# Parse information from CBUILD/CHOST/CTARGET rather than
|
# Parse information from CBUILD/CHOST/CTARGET rather than
|
||||||
# use external variables from the profile.
|
# use external variables from the profile.
|
||||||
tc-ninja_magic_to_arch() {
|
tc-ninja_magic_to_arch() {
|
||||||
ninj() { [[ ${type} == "kern" ]] && echo $1 || echo $2 ; }
|
ninj() { [[ ${type} == "kern" ]] && echo $1 || echo $2 ; }
|
||||||
|
|
||||||
local type=$1
|
local type=$1
|
||||||
local host=$2
|
local host=$2
|
||||||
@ -834,11 +834,11 @@ tc-is-clang() {
|
|||||||
|
|
||||||
# Internal func. The first argument is the version info to expand.
|
# Internal func. The first argument is the version info to expand.
|
||||||
# Query the preprocessor to improve compatibility across different
|
# Query the preprocessor to improve compatibility across different
|
||||||
# compilers rather than maintaining a --version flag matrix. #335943
|
# compilers rather than maintaining a --version flag matrix, bug #335943.
|
||||||
_gcc_fullversion() {
|
_gcc_fullversion() {
|
||||||
local ver="$1"; shift
|
local ver="$1"; shift
|
||||||
set -- $($(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__")
|
set -- $($(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__")
|
||||||
eval echo "$ver"
|
eval echo "${ver}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: gcc-fullversion
|
# @FUNCTION: gcc-fullversion
|
||||||
@ -871,7 +871,7 @@ gcc-micro-version() {
|
|||||||
_clang_fullversion() {
|
_clang_fullversion() {
|
||||||
local ver="$1"; shift
|
local ver="$1"; shift
|
||||||
set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__")
|
set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__")
|
||||||
eval echo "$ver"
|
eval echo "${ver}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: clang-fullversion
|
# @FUNCTION: clang-fullversion
|
||||||
@ -996,6 +996,15 @@ gcc-specs-stack-check() {
|
|||||||
[[ "${directive/\{!fno-stack-check:}" != "${directive}" ]]
|
[[ "${directive/\{!fno-stack-check:}" != "${directive}" ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: tc-enables-cxx-assertions
|
||||||
|
# @RETURN: Truth if the current compiler enables assertions in the C++ standard library
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Return truth if the current compiler enables assertions in the C++ standard
|
||||||
|
# library. For libstdc++, this is -D_GLIBCXX_ASSERTIONS, and for libcxx/libc++,
|
||||||
|
# this is -D_LIBCPP_ENABLE_ASSERTIONS.
|
||||||
|
tc-enables-cxx-assertions() {
|
||||||
|
tc-cpp-is-true "defined(_GLIBCXX_ASSERTIONS) || defined(_LIBCPP_ENABLE_ASSERTIONS)" ${CPPFLAGS} ${CXXFLAGS}
|
||||||
|
}
|
||||||
|
|
||||||
# @FUNCTION: tc-enables-pie
|
# @FUNCTION: tc-enables-pie
|
||||||
# @RETURN: Truth if the current compiler generates position-independent code (PIC) which can be linked into executables
|
# @RETURN: Truth if the current compiler generates position-independent code (PIC) which can be linked into executables
|
||||||
@ -1003,7 +1012,16 @@ gcc-specs-stack-check() {
|
|||||||
# Return truth if the current compiler generates position-independent code (PIC)
|
# Return truth if the current compiler generates position-independent code (PIC)
|
||||||
# which can be linked into executables.
|
# which can be linked into executables.
|
||||||
tc-enables-pie() {
|
tc-enables-pie() {
|
||||||
tc-cpp-is-true "defined(__PIE__)" ${CPPFLAGS} ${CFLAGS}
|
tc-cpp-is-true "defined(__PIE__)" ${CPPFLAGS} ${CFLAGS} ${CXXFLAGS}
|
||||||
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: tc-enables-fortify-source
|
||||||
|
# @RETURN: Truth if the current compiler enables FORTIFY_SOURCE at any level
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Return truth if the current compiler enables fortification (FORTIFY_SOURCE)
|
||||||
|
# at any level (-D_FORTIFY_SOURCE).
|
||||||
|
tc-enables-fortify-source() {
|
||||||
|
tc-cpp-is-true "defined(_FORTIFY_SOURCE)" ${CPPFLAGS} ${CFLAGS} ${CXXFLAGS}
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: tc-enables-ssp
|
# @FUNCTION: tc-enables-ssp
|
||||||
@ -1015,7 +1033,7 @@ tc-enables-pie() {
|
|||||||
# -fstack-protector-strong
|
# -fstack-protector-strong
|
||||||
# -fstack-protector-all
|
# -fstack-protector-all
|
||||||
tc-enables-ssp() {
|
tc-enables-ssp() {
|
||||||
tc-cpp-is-true "defined(__SSP__) || defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
|
tc-cpp-is-true "defined(__SSP__) || defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS} ${CXXFLAGS}
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: tc-enables-ssp-strong
|
# @FUNCTION: tc-enables-ssp-strong
|
||||||
@ -1026,7 +1044,7 @@ tc-enables-ssp() {
|
|||||||
# -fstack-protector-strong
|
# -fstack-protector-strong
|
||||||
# -fstack-protector-all
|
# -fstack-protector-all
|
||||||
tc-enables-ssp-strong() {
|
tc-enables-ssp-strong() {
|
||||||
tc-cpp-is-true "defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
|
tc-cpp-is-true "defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS} ${CXXFLAGS}
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: tc-enables-ssp-all
|
# @FUNCTION: tc-enables-ssp-all
|
||||||
@ -1036,7 +1054,7 @@ tc-enables-ssp-strong() {
|
|||||||
# on level corresponding to any of the following options:
|
# on level corresponding to any of the following options:
|
||||||
# -fstack-protector-all
|
# -fstack-protector-all
|
||||||
tc-enables-ssp-all() {
|
tc-enables-ssp-all() {
|
||||||
tc-cpp-is-true "defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
|
tc-cpp-is-true "defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS} ${CXXFLAGS}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1080,7 +1098,7 @@ gen_usr_ldscript() {
|
|||||||
# is referenced ... makes multilib saner
|
# is referenced ... makes multilib saner
|
||||||
local flags=( ${CFLAGS} ${LDFLAGS} -Wl,--verbose )
|
local flags=( ${CFLAGS} ${LDFLAGS} -Wl,--verbose )
|
||||||
if $(tc-getLD) --version | grep -q 'GNU gold' ; then
|
if $(tc-getLD) --version | grep -q 'GNU gold' ; then
|
||||||
# If they're using gold, manually invoke the old bfd. #487696
|
# If they're using gold, manually invoke the old bfd, bug #487696
|
||||||
local d="${T}/bfd-linker"
|
local d="${T}/bfd-linker"
|
||||||
mkdir -p "${d}"
|
mkdir -p "${d}"
|
||||||
ln -sf $(type -P ${CHOST}-ld.bfd) "${d}"/ld
|
ln -sf $(type -P ${CHOST}-ld.bfd) "${d}"/ld
|
||||||
@ -1193,7 +1211,7 @@ tc-get-cxx-stdlib() {
|
|||||||
#endif
|
#endif
|
||||||
'
|
'
|
||||||
local res=$(
|
local res=$(
|
||||||
$(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - \
|
$(tc-getCXX) ${CPPFLAGS} ${CXXFLAGS} -x c++ -E -P - \
|
||||||
<<<"${code}" 2>/dev/null
|
<<<"${code}" 2>/dev/null
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1221,7 +1239,7 @@ tc-get-cxx-stdlib() {
|
|||||||
# If the runtime is not recognized, the function returns 1.
|
# If the runtime is not recognized, the function returns 1.
|
||||||
tc-get-c-rtlib() {
|
tc-get-c-rtlib() {
|
||||||
local res=$(
|
local res=$(
|
||||||
$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} \
|
$(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} \
|
||||||
-print-libgcc-file-name 2>/dev/null
|
-print-libgcc-file-name 2>/dev/null
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -719,6 +719,19 @@ toolchain_src_prepare() {
|
|||||||
einfo "Remove texinfo (bug #198182, bug #464008)"
|
einfo "Remove texinfo (bug #198182, bug #464008)"
|
||||||
eapply "${FILESDIR}"/gcc-configure-texinfo.patch
|
eapply "${FILESDIR}"/gcc-configure-texinfo.patch
|
||||||
|
|
||||||
|
if ! use prefix-guest && [[ -n ${EPREFIX} ]] ; then
|
||||||
|
einfo "Prefixifying dynamic linkers..."
|
||||||
|
for f in gcc/config/*/*linux*.h ; do
|
||||||
|
ebegin " Updating ${f}"
|
||||||
|
if [[ ${f} == gcc/config/rs6000/linux*.h ]]; then
|
||||||
|
sed -i -r "s,(DYNAMIC_LINKER_PREFIX\s+)\"\",\1\"${EPREFIX}\",g" "${f}" || die
|
||||||
|
else
|
||||||
|
sed -i -r "/_DYNAMIC_LINKER/s,([\":])(/lib),\1${EPREFIX}\2,g" "${f}" || die
|
||||||
|
fi
|
||||||
|
eend $?
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
# >=gcc-4
|
# >=gcc-4
|
||||||
if [[ -x contrib/gcc_update ]] ; then
|
if [[ -x contrib/gcc_update ]] ; then
|
||||||
einfo "Touching generated files"
|
einfo "Touching generated files"
|
||||||
@ -1200,6 +1213,21 @@ toolchain_src_configure() {
|
|||||||
confgcc+=( --enable-threads=posix )
|
confgcc+=( --enable-threads=posix )
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if ! use prefix-guest ; then
|
||||||
|
# GNU ld scripts, such as those in glibc, reference unprefixed paths
|
||||||
|
# as the sysroot given here is automatically prepended. For
|
||||||
|
# prefix-guest, we use the host's libc instead.
|
||||||
|
if [[ -n ${EPREFIX} ]] ; then
|
||||||
|
confgcc+=( --with-sysroot="${EPREFIX}" )
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We need to build against the right headers and libraries. Again,
|
||||||
|
# for prefix-guest, this is the host's.
|
||||||
|
if [[ -n ${ESYSROOT} ]] ; then
|
||||||
|
confgcc+=( --with-build-sysroot="${ESYSROOT}" )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# __cxa_atexit is "essential for fully standards-compliant handling of
|
# __cxa_atexit is "essential for fully standards-compliant handling of
|
||||||
|
72
sdk_container/src/third_party/portage-stable/licenses/Ms-RL
vendored
Normal file
72
sdk_container/src/third_party/portage-stable/licenses/Ms-RL
vendored
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
Microsoft Reciprocal License (Ms-RL)
|
||||||
|
|
||||||
|
This license governs use of the accompanying software. If you use the
|
||||||
|
software, you accept this license. If you do not accept the license,
|
||||||
|
do not use the software.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
|
||||||
|
The terms "reproduce," "reproduction," "derivative works," and
|
||||||
|
"distribution" have the same meaning here as under U.S. copyright
|
||||||
|
law.
|
||||||
|
|
||||||
|
A "contribution" is the original software, or any additions or
|
||||||
|
changes to the software.
|
||||||
|
|
||||||
|
A "contributor" is any person that distributes its contribution
|
||||||
|
under this license.
|
||||||
|
|
||||||
|
"Licensed patents" are a contributor's patent claims that read
|
||||||
|
directly on its contribution.
|
||||||
|
|
||||||
|
2. Grant of Rights
|
||||||
|
|
||||||
|
(A) Copyright Grant- Subject to the terms of this license,
|
||||||
|
including the license conditions and limitations in section 3,
|
||||||
|
each contributor grants you a non-exclusive, worldwide,
|
||||||
|
royalty-free copyright license to reproduce its contribution,
|
||||||
|
prepare derivative works of its contribution, and distribute its
|
||||||
|
contribution or any derivative works that you create.
|
||||||
|
|
||||||
|
(B) Patent Grant- Subject to the terms of this license, including
|
||||||
|
the license conditions and limitations in section 3, each
|
||||||
|
contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
license under its licensed patents to make, have made, use, sell,
|
||||||
|
offer for sale, import, and/or otherwise dispose of its
|
||||||
|
contribution in the software or derivative works of the
|
||||||
|
contribution in the software.
|
||||||
|
|
||||||
|
3. Conditions and Limitations
|
||||||
|
|
||||||
|
(A) Reciprocal Grants- For any file you distribute that contains
|
||||||
|
code from the software (in source code or binary format), you must
|
||||||
|
provide recipients the source code to that file along with a copy
|
||||||
|
of this license, which license will govern that file. You may
|
||||||
|
license other files that are entirely your own work and do not
|
||||||
|
contain code from the software under any terms you choose.
|
||||||
|
|
||||||
|
(B) No Trademark License- This license does not grant you rights
|
||||||
|
to use any contributors' name, logo, or trademarks.
|
||||||
|
|
||||||
|
(C) If you bring a patent claim against any contributor over
|
||||||
|
patents that you claim are infringed by the software, your patent
|
||||||
|
license from such contributor to the software ends automatically.
|
||||||
|
|
||||||
|
(D) If you distribute any portion of the software, you must retain
|
||||||
|
all copyright, patent, trademark, and attribution notices that are
|
||||||
|
present in the software.
|
||||||
|
|
||||||
|
(E) If you distribute any portion of the software in source code
|
||||||
|
form, you may do so only under this license by including a
|
||||||
|
complete copy of this license with your distribution. If you
|
||||||
|
distribute any portion of the software in compiled or object code
|
||||||
|
form, you may only do so under a license that complies with this
|
||||||
|
license.
|
||||||
|
|
||||||
|
(F) The software is licensed "as-is." You bear the risk of using
|
||||||
|
it. The contributors give no express warranties, guarantees, or
|
||||||
|
conditions. You may have additional consumer rights under your
|
||||||
|
local laws which this license cannot change. To the extent
|
||||||
|
permitted under your local laws, the contributors exclude the
|
||||||
|
implied warranties of merchantability, fitness for a particular
|
||||||
|
purpose and non-infringement.
|
@ -1,210 +0,0 @@
|
|||||||
ACADEMIC USER AGREEMENT
|
|
||||||
|
|
||||||
Please read the entire agreement, fill in the information in the
|
|
||||||
indicated positions (such as "NAME:"), and return the entire document
|
|
||||||
to the indicated people. Please send the document as the message--not
|
|
||||||
as an attachment.
|
|
||||||
|
|
||||||
Phrap: A program for assembling DNA sequence data.
|
|
||||||
|
|
||||||
Swat: A program for searching one or more DNA or protein query sequences
|
|
||||||
against a sequence database, using (an efficient implementation of) the
|
|
||||||
Smith-Waterman-Gotoh algorithm.
|
|
||||||
|
|
||||||
Cross_Match: A general-purpose utility based on Swat for comparing any
|
|
||||||
two sets of (long or short) DNA sequences.
|
|
||||||
|
|
||||||
Phred: A program that reads DNA sequencer trace data, calls bases,
|
|
||||||
assigns quality values to the bases, and writes the base calls and quality
|
|
||||||
values to output files.
|
|
||||||
|
|
||||||
Consed: A program for viewing and editing Phrap assemblies.
|
|
||||||
|
|
||||||
To receive any of these programs you will need to agree to the following
|
|
||||||
conditions. They should be taken seriously!
|
|
||||||
|
|
||||||
1) You agree to read the documentation. We welcome feedback on any
|
|
||||||
inaccuracies.
|
|
||||||
|
|
||||||
2) You agree to report any bugs to us. (To fix bugs, we will need
|
|
||||||
from you a dataset and a procedure that reproduces the problem; but do
|
|
||||||
not send datasets without first emailing us to describe the nature of
|
|
||||||
the bug.)
|
|
||||||
|
|
||||||
3) You agree not to make the programs (including source code,
|
|
||||||
executables, or any part thereof, in modified or unmodified form)
|
|
||||||
available to anyone outside your group, and not to put them where they
|
|
||||||
may be accessible to outside individuals without your direct knowledge
|
|
||||||
(e.g. on a computer to which people outside your group have login
|
|
||||||
privileges). The documentation however may be freely distributed.
|
|
||||||
Refer any requests for the programs to the authors. If you are
|
|
||||||
operating a computer facility which provides access to several
|
|
||||||
independent investigators, you agree to set the permissions on the
|
|
||||||
executables and source code to allow execute but not read access, so
|
|
||||||
that the programs may not be copied. Investigators who want copies of
|
|
||||||
the software for their own use must return a separate copy of this
|
|
||||||
agreement.
|
|
||||||
|
|
||||||
4) You agree not to use the programs for any commercial purpose,
|
|
||||||
including but not limited to commercially restricted sequencing
|
|
||||||
(defined as sequencing for which a company retains patenting or
|
|
||||||
licensing rights regarding the sequence, or the right to restrict or
|
|
||||||
delay dissemination of the sequence; with the sole exception that
|
|
||||||
sequencing is not considered to be commercially restricted if it is
|
|
||||||
federally funded and the investigators adopt the data release policies
|
|
||||||
endorsed at the Wellcome Trust-sponsored Bermuda meeting,
|
|
||||||
i.e. immediate release of data as it is generated).
|
|
||||||
[If you wish to obtain the software for commercially restricted
|
|
||||||
sequencing or any other commercial purposes, you will need to execute
|
|
||||||
a separate licensing agreement with the University of Washington and
|
|
||||||
pay a fee. In that case please contact:
|
|
||||||
|
|
||||||
Lisa Heinz
|
|
||||||
University of Washington TechTransfer, Digital Ventures
|
|
||||||
Box 354990
|
|
||||||
4311-11th Avenue NE, Suite 500
|
|
||||||
Seattle, WA 98105-4608
|
|
||||||
|
|
||||||
http://depts.washington.edu/techtran
|
|
||||||
|
|
||||||
206-616-3451 FAX: 206-616-3322
|
|
||||||
swxfr@u.washington.edu
|
|
||||||
|
|
||||||
Do not contact her if the academic license applies.]
|
|
||||||
|
|
||||||
5) You acknowledge that the software is experimental in nature and is
|
|
||||||
supplied "AS IS", without obligation by the authors or the University
|
|
||||||
of Washington to provide accompanying services or support. The entire
|
|
||||||
risk as to the quality and performance of the Software is with you.
|
|
||||||
UW AND THE AUTHORS EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES
|
|
||||||
REGARDING THE SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
||||||
LIMITED TO WARRANTIES PERTAINING TO MERCHANTABILITY OR FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
6) All members of your group with access to the software agree to the
|
|
||||||
same conditions.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Having read the above, if you are still interested in obtaining the
|
|
||||||
programs, please return a copy of this entire message (which MUST be
|
|
||||||
included so that it is clear what you are agreeing to) by email
|
|
||||||
together with the following information:
|
|
||||||
|
|
||||||
NAME: Your name in first name/last name order.
|
|
||||||
|
|
||||||
NAME:
|
|
||||||
|
|
||||||
|
|
||||||
Example:
|
|
||||||
NAME: John Dracula
|
|
||||||
(Please do not use all capitals such as John DRACULA)
|
|
||||||
|
|
||||||
ACKNOWLEDGEMENT: An acknowledgement that you and the members of your
|
|
||||||
group agree to these conditions.
|
|
||||||
|
|
||||||
ACKNOWLEDGEMENT:
|
|
||||||
|
|
||||||
Example:
|
|
||||||
ACKNOWLEDGEMENT: I agree to the license.
|
|
||||||
|
|
||||||
PROGRAMS: Which programs you want (phrap,cross_match, and swat are
|
|
||||||
distributed together). You must cc the message to each appropriate
|
|
||||||
individual (Brent Ewing, David Gordon, and/or Phil Green) at the email
|
|
||||||
addresses below so that they will know to send you the appropriate
|
|
||||||
program.
|
|
||||||
|
|
||||||
PROGRAMS:
|
|
||||||
|
|
||||||
Example:
|
|
||||||
PROGRAMS: phred, phrap, consed
|
|
||||||
|
|
||||||
INSTITUTION: Your academic or government institution (give full name,
|
|
||||||
not abbreviation)
|
|
||||||
|
|
||||||
INSTITUTION:
|
|
||||||
|
|
||||||
Example:
|
|
||||||
INSTITUTION: University of Lower Transylvania
|
|
||||||
|
|
||||||
DEPARTMENT: Your department
|
|
||||||
|
|
||||||
DEPARTMENT:
|
|
||||||
|
|
||||||
Example:
|
|
||||||
DEPARTMENT: Department of Hematology
|
|
||||||
|
|
||||||
EMAIL: Your email address for all future correspondence. Ideally this
|
|
||||||
should be a Unix computer running a generic mail program, since
|
|
||||||
several of the programs are sent as uuencoded files which may be
|
|
||||||
corrupted by some mail programs.
|
|
||||||
If this address is not at the institution & department listed above,
|
|
||||||
please explain the discrepancy.
|
|
||||||
|
|
||||||
EMAIL:
|
|
||||||
|
|
||||||
Example:
|
|
||||||
EMAIL: john.dracula@utrans.edu
|
|
||||||
|
|
||||||
OS: (Consed requestors only) Which platform(s) you want Consed for:
|
|
||||||
solaris 2.5.1, solaris 2.6, solaris 2.7 (solaris 7), solaris 8,
|
|
||||||
solaris 9, digital unix 4.0 (or better), hp-ux 11.x, sgi irix 6.2,
|
|
||||||
6.3, 6.4, or 6.5, linux (normal 32 bit) (Redhat 7.1-1 or better),
|
|
||||||
linux (Itanium), linux (AMD64), ibm aix 5.2 (or better), macosx 10.2
|
|
||||||
(Darwin kernel 6.0) (or better), or solaris-intel (2.8 or better).
|
|
||||||
|
|
||||||
OS:
|
|
||||||
|
|
||||||
Example:
|
|
||||||
OS: hpux
|
|
||||||
|
|
||||||
Note: Consed is not available for PC's running Windows, XP, NT, or
|
|
||||||
2000.
|
|
||||||
|
|
||||||
IP: (Consed requestors only) The ip address of the computer on which
|
|
||||||
you will be running a web browser to download consed. This does not
|
|
||||||
have to be the same computer as the one on which you will run consed.
|
|
||||||
Please view page
|
|
||||||
http://bozeman.mbt.washington.edu/consed/find_ip_address.html
|
|
||||||
which will tell you what my computer thinks is your ip address.
|
|
||||||
|
|
||||||
(Even if you think you know your ip address, firewalls and proxies can
|
|
||||||
cause your browser to transmit a different ip address, and thus my
|
|
||||||
webserver would deny you access to consed. So it would be a good idea
|
|
||||||
to view the page above and send me the ip address it shows, even if
|
|
||||||
this isn't your real ip address.)
|
|
||||||
|
|
||||||
IP:
|
|
||||||
|
|
||||||
Example:
|
|
||||||
IP: 123.49.74.80
|
|
||||||
|
|
||||||
|
|
||||||
If you want Consed/Autofinish, you must include OS and IP (above).
|
|
||||||
Consed cannot be obtained without them.
|
|
||||||
|
|
||||||
Please return this entire agreement so it is clear what you are
|
|
||||||
agreeing to.
|
|
||||||
|
|
||||||
Please send all of this, including the agreement, as part of the
|
|
||||||
email message--not as an attachment.
|
|
||||||
|
|
||||||
Send it to each of the relevant individuals below:
|
|
||||||
|
|
||||||
Contacts for obtaining the programs and for questions, bug reports,
|
|
||||||
suggestions:
|
|
||||||
|
|
||||||
Phrap/cross_match/swat: Phil Green, phg (at) u.washington.edu
|
|
||||||
Phred: Brent Ewing, bge (at) u.washington.edu
|
|
||||||
Consed: David Gordon, gordon (at) genome.washington.edu
|
|
||||||
|
|
||||||
where the " (at) " is replaced by "@".
|
|
||||||
|
|
||||||
It can take up to 2 weeks for a license application to be processed,
|
|
||||||
so please be patient.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,2 +1,3 @@
|
|||||||
DIST bind-9.16.33.tar.xz 5092516 BLAKE2B 4246b61ce91af3d494ace4b8065b4c0043b2cfaf28c6de326691a969837e7d1cfbc0dac6b1e1a5182fc32af68048abcfa1202d00022951f3caa13afb03ebeb69 SHA512 43fd2cea52dfd1115a4cca83830ab5b93208be401cdbbdff2bbf204b8f0d99fb434ad3156d3a21649488cc904ae09f145feba97b9b6918b0cf063ff5e2b10af5
|
DIST bind-9.16.33.tar.xz 5092516 BLAKE2B 4246b61ce91af3d494ace4b8065b4c0043b2cfaf28c6de326691a969837e7d1cfbc0dac6b1e1a5182fc32af68048abcfa1202d00022951f3caa13afb03ebeb69 SHA512 43fd2cea52dfd1115a4cca83830ab5b93208be401cdbbdff2bbf204b8f0d99fb434ad3156d3a21649488cc904ae09f145feba97b9b6918b0cf063ff5e2b10af5
|
||||||
DIST bind-9.16.36.tar.xz 5105696 BLAKE2B 3f506198b038ee96d9c6d5b20d629bc8cf44eadc1d86a0a0cf7126f615a929fa95fa27a63db3a5bcbff2af6aebc74a734ed5abcdfd38c9488ca89ebeb536875a SHA512 521a021456b6daf260fead75efc298dd964ff00947fd95fadb3c13d52f4c07fb61b74861601d22722e8d546dca284524fd4d770cc5cf347d9659b6df9654ed95
|
DIST bind-9.16.36.tar.xz 5105696 BLAKE2B 3f506198b038ee96d9c6d5b20d629bc8cf44eadc1d86a0a0cf7126f615a929fa95fa27a63db3a5bcbff2af6aebc74a734ed5abcdfd38c9488ca89ebeb536875a SHA512 521a021456b6daf260fead75efc298dd964ff00947fd95fadb3c13d52f4c07fb61b74861601d22722e8d546dca284524fd4d770cc5cf347d9659b6df9654ed95
|
||||||
|
DIST bind-9.16.37.tar.xz 5109440 BLAKE2B 3b18f7c780ce04e296498e30c09628ad8eb89f38afdb032700455f193a3f8556029cd2e3d3c42861965d5fc776f56f761b8d21a74a0f95d82338e65fb519acfb SHA512 2c4b01f6cc598849688b5b2710caf48db47e1e860df785783ef2b140a25507b48357a9becf7911ba0feda285c4bca87764e21128fac5cf17efa47fd5134dc59f
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
@ -21,8 +21,11 @@ IUSE="+caps doc gssapi idn libedit readline test xml"
|
|||||||
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
|
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
# libuv lower bound should be the highest value seen at
|
||||||
|
# https://gitlab.isc.org/isc-projects/bind9/-/blob/v9_16/lib/isc/netmgr/netmgr.c#L244
|
||||||
|
# to avoid issues with matching stable/testing, etc
|
||||||
COMMON_DEPEND="
|
COMMON_DEPEND="
|
||||||
dev-libs/libuv:=
|
>=dev-libs/libuv-1.42.0:=
|
||||||
dev-libs/openssl:=
|
dev-libs/openssl:=
|
||||||
caps? ( sys-libs/libcap )
|
caps? ( sys-libs/libcap )
|
||||||
xml? ( dev-libs/libxml2 )
|
xml? ( dev-libs/libxml2 )
|
@ -16,13 +16,16 @@ SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
|
|||||||
|
|
||||||
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="+caps doc gssapi idn libedit readline test xml"
|
IUSE="+caps doc gssapi idn libedit readline test xml"
|
||||||
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
|
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
# libuv lower bound should be the highest value seen at
|
||||||
|
# https://gitlab.isc.org/isc-projects/bind9/-/blob/v9_16/lib/isc/netmgr/netmgr.c#L244
|
||||||
|
# to avoid issues with matching stable/testing, etc
|
||||||
COMMON_DEPEND="
|
COMMON_DEPEND="
|
||||||
dev-libs/libuv:=
|
>=dev-libs/libuv-1.42.0:=
|
||||||
dev-libs/openssl:=
|
dev-libs/openssl:=
|
||||||
caps? ( sys-libs/libcap )
|
caps? ( sys-libs/libcap )
|
||||||
xml? ( dev-libs/libxml2 )
|
xml? ( dev-libs/libxml2 )
|
160
sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.37-r1.ebuild
vendored
Normal file
160
sdk_container/src/third_party/portage-stable/net-dns/bind-tools/bind-tools-9.16.37-r1.ebuild
vendored
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit autotools flag-o-matic multiprocessing toolchain-funcs
|
||||||
|
|
||||||
|
MY_PN=${PN//-tools}
|
||||||
|
MY_PV=${PV/_p/-P}
|
||||||
|
MY_PV=${MY_PV/_rc/rc}
|
||||||
|
MY_P="${MY_PN}-${MY_PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
|
||||||
|
HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9"
|
||||||
|
SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
IUSE="+caps doc gssapi idn libedit readline test xml"
|
||||||
|
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
# libuv lower bound should be the highest value seen at
|
||||||
|
# https://gitlab.isc.org/isc-projects/bind9/-/blob/v9_16/lib/isc/netmgr/netmgr.c#L244
|
||||||
|
# to avoid issues with matching stable/testing, etc
|
||||||
|
COMMON_DEPEND="
|
||||||
|
>=dev-libs/libuv-1.42.0:=
|
||||||
|
dev-libs/openssl:=
|
||||||
|
caps? ( sys-libs/libcap )
|
||||||
|
xml? ( dev-libs/libxml2 )
|
||||||
|
idn? ( net-dns/libidn2:= )
|
||||||
|
gssapi? ( virtual/krb5 )
|
||||||
|
libedit? ( dev-libs/libedit )
|
||||||
|
!libedit? (
|
||||||
|
readline? ( sys-libs/readline:= )
|
||||||
|
)
|
||||||
|
"
|
||||||
|
DEPEND="${COMMON_DEPEND}"
|
||||||
|
RDEPEND="${COMMON_DEPEND}"
|
||||||
|
|
||||||
|
# sphinx required for man-page and html creation
|
||||||
|
BDEPEND="
|
||||||
|
virtual/pkgconfig
|
||||||
|
doc? ( dev-python/sphinx )
|
||||||
|
test? (
|
||||||
|
dev-util/cmocka
|
||||||
|
dev-util/kyua
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)"
|
||||||
|
|
||||||
|
# Do not disable thread local storage on Solaris, it works with our
|
||||||
|
# toolchain, and it breaks further configure checks
|
||||||
|
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
|
||||||
|
|
||||||
|
# bug #220361
|
||||||
|
rm aclocal.m4 || die
|
||||||
|
rm -rf libtool.m4/ || die
|
||||||
|
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myeconfargs=(
|
||||||
|
--localstatedir="${EPREFIX}"/var
|
||||||
|
--without-python
|
||||||
|
--without-libjson
|
||||||
|
--without-zlib
|
||||||
|
--without-lmdb
|
||||||
|
--without-maxminddb
|
||||||
|
--disable-geoip
|
||||||
|
--with-openssl="${ESYSROOT}"/usr
|
||||||
|
$(use_with idn libidn2 "${ESYSROOT}"/usr)
|
||||||
|
$(use_with xml libxml2)
|
||||||
|
$(use_with gssapi)
|
||||||
|
$(use_with readline)
|
||||||
|
$(use_enable caps linux-caps)
|
||||||
|
AR="$(type -P $(tc-getAR))"
|
||||||
|
)
|
||||||
|
|
||||||
|
# bug 607400
|
||||||
|
if use libedit ; then
|
||||||
|
myeconfargs+=( --with-readline=-ledit )
|
||||||
|
elif use readline ; then
|
||||||
|
myeconfargs+=( --with-readline=-lreadline )
|
||||||
|
else
|
||||||
|
myeconfargs+=( --without-readline )
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug #344029
|
||||||
|
append-cflags "-DDIG_SIGCHASE"
|
||||||
|
|
||||||
|
# to expose CMSG_* macros from sys/sockets.h
|
||||||
|
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
|
||||||
|
|
||||||
|
# localstatedir for nsupdate -l, bug #395785
|
||||||
|
tc-export BUILD_CC
|
||||||
|
econf "${myeconfargs[@]}"
|
||||||
|
|
||||||
|
# bug #151839
|
||||||
|
echo '#undef SO_BSDCOMPAT' >> config.h || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
local AR="$(tc-getAR)"
|
||||||
|
|
||||||
|
emake AR="${AR}" -C lib/
|
||||||
|
emake AR="${AR}" -C bin/delv/
|
||||||
|
emake AR="${AR}" -C bin/dig/
|
||||||
|
emake AR="${AR}" -C bin/nsupdate/
|
||||||
|
emake AR="${AR}" -C bin/dnssec/
|
||||||
|
emake -C doc/man/ man $(usev doc)
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
# system tests ('emake test') require network configuration for IPs etc
|
||||||
|
# so we run the unit tests instead.
|
||||||
|
TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake unit
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
local man_dir="${S}/doc/man"
|
||||||
|
local html_dir="${man_dir}/_build/html"
|
||||||
|
|
||||||
|
dodoc README CHANGES
|
||||||
|
|
||||||
|
cd "${S}"/bin/delv || die
|
||||||
|
dobin delv
|
||||||
|
doman ${man_dir}/delv.1
|
||||||
|
|
||||||
|
cd "${S}"/bin/dig || die
|
||||||
|
dobin dig host nslookup
|
||||||
|
doman ${man_dir}/{dig,host,nslookup}.1
|
||||||
|
|
||||||
|
cd "${S}"/bin/nsupdate || die
|
||||||
|
dobin nsupdate
|
||||||
|
doman ${man_dir}/nsupdate.1
|
||||||
|
if use doc; then
|
||||||
|
docinto html
|
||||||
|
dodoc ${html_dir}/nsupdate.html
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${S}"/bin/dnssec || die
|
||||||
|
for tool in dsfromkey importkey keyfromlabel keygen \
|
||||||
|
revoke settime signzone verify; do
|
||||||
|
dobin dnssec-"${tool}"
|
||||||
|
doman ${man_dir}/dnssec-"${tool}".8
|
||||||
|
if use doc; then
|
||||||
|
docinto html
|
||||||
|
dodoc ${html_dir}/dnssec-"${tool}".html
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
@ -1,4 +1,2 @@
|
|||||||
DIST curl-7.86.0.tar.xz 2518356 BLAKE2B a1de7feb229de42bf1deeb5017f97df3b1c10c75fac99bcd0cd21a5dc69b6d8b62520744106d6a113c7a86bd6731dba536a263aabfa22be50d520c43e894acce SHA512 18e03a3c00f22125e07bddb18becbf5acdca22baeb7b29f45ef189a5c56f95b2d51247813f7a9a90f04eb051739e9aa7d3a1c5be397bae75d763a2b918d1b656
|
|
||||||
DIST curl-7.86.0.tar.xz.asc 488 BLAKE2B a9abe2f3af801b3a48be7db09cb82b6bb83bd26a9d5caf51c0d5a4a2e6881fb478f1768a6b71efbd9283563e2c7e2badbc5a6d6df265013e14eee2ec7e9be148 SHA512 9e97d5f44b3c856f401fe30ba713e1ca1f74edfc693dc42f1ce8e43f9f6dd4bf6998c579bc9c5d0f749f475a7d67d232e92ab6f89b95141acdb53e149f2312f0
|
|
||||||
DIST curl-7.87.0.tar.xz 2547932 BLAKE2B b272ec928c5ef1728434630d8910f58834327a30570913df9d47921a2810d002bd88b81371005197db857d3a53386420c1e28b1e463e6241d46c1e50fbce0c13 SHA512 aa125991592667280dce3788aabe81487cf8c55b0afc59d675cc30b76055bb7114f5380b4a0e3b6461a8f81bf9812fa26d493a85f7e01d84263d484a0d699ee7
|
DIST curl-7.87.0.tar.xz 2547932 BLAKE2B b272ec928c5ef1728434630d8910f58834327a30570913df9d47921a2810d002bd88b81371005197db857d3a53386420c1e28b1e463e6241d46c1e50fbce0c13 SHA512 aa125991592667280dce3788aabe81487cf8c55b0afc59d675cc30b76055bb7114f5380b4a0e3b6461a8f81bf9812fa26d493a85f7e01d84263d484a0d699ee7
|
||||||
DIST curl-7.87.0.tar.xz.asc 488 BLAKE2B 031d8236b357bd3c519548b181254dc0aea1efc1375738bce04f4f331d35bafe99d1ca394ecf5943ede7cae040854b6d2b478fd305147eb7330f8d50e5d95c96 SHA512 0bcc12bafc4ae50d80128af2cf4bf1a1ec6018ebb8d5b9c49f52b51c0c25acc77e820858965656549ef43c1f923f4e5fe75b0a3523623154b4cfb9dc8a1d76e4
|
DIST curl-7.87.0.tar.xz.asc 488 BLAKE2B 031d8236b357bd3c519548b181254dc0aea1efc1375738bce04f4f331d35bafe99d1ca394ecf5943ede7cae040854b6d2b478fd305147eb7330f8d50e5d95c96 SHA512 0bcc12bafc4ae50d80128af2cf4bf1a1ec6018ebb8d5b9c49f52b51c0c25acc77e820858965656549ef43c1f923f4e5fe75b0a3523623154b4cfb9dc8a1d76e4
|
||||||
|
@ -1,302 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI="8"
|
|
||||||
|
|
||||||
inherit autotools prefix multilib-minimal verify-sig
|
|
||||||
|
|
||||||
DESCRIPTION="A Client that groks URLs"
|
|
||||||
HOMEPAGE="https://curl.se/"
|
|
||||||
SRC_URI="https://curl.se/download/${P}.tar.xz
|
|
||||||
verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )"
|
|
||||||
|
|
||||||
LICENSE="curl"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
|
||||||
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
|
|
||||||
IUSE+=" nghttp3 quiche"
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
|
|
||||||
|
|
||||||
# Only one default ssl provider can be enabled
|
|
||||||
REQUIRED_USE="
|
|
||||||
ssl? (
|
|
||||||
^^ (
|
|
||||||
curl_ssl_gnutls
|
|
||||||
curl_ssl_mbedtls
|
|
||||||
curl_ssl_nss
|
|
||||||
curl_ssl_openssl
|
|
||||||
curl_ssl_rustls
|
|
||||||
)
|
|
||||||
)"
|
|
||||||
|
|
||||||
# lead to lots of false negatives, bug #285669
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? (
|
|
||||||
gnutls? (
|
|
||||||
net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/nettle:0=[${MULTILIB_USEDEP}]
|
|
||||||
app-misc/ca-certificates
|
|
||||||
)
|
|
||||||
mbedtls? (
|
|
||||||
net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
|
|
||||||
app-misc/ca-certificates
|
|
||||||
)
|
|
||||||
openssl? (
|
|
||||||
dev-libs/openssl:0=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
nss? (
|
|
||||||
dev-libs/nss:0[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/nss-pem
|
|
||||||
app-misc/ca-certificates
|
|
||||||
)
|
|
||||||
rustls? (
|
|
||||||
net-libs/rustls-ffi:=[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] )
|
|
||||||
nghttp3? (
|
|
||||||
net-libs/nghttp3[${MULTILIB_USEDEP}]
|
|
||||||
net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
|
|
||||||
idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
|
|
||||||
adns? ( net-dns/c-ares:0=[${MULTILIB_USEDEP}] )
|
|
||||||
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
|
|
||||||
rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
|
|
||||||
ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
|
|
||||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
|
||||||
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
|
|
||||||
|
|
||||||
# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
|
|
||||||
# rtmp? (
|
|
||||||
# media-video/rtmpdump
|
|
||||||
# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
|
|
||||||
# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
|
|
||||||
# )
|
|
||||||
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
BDEPEND="dev-lang/perl
|
|
||||||
virtual/pkgconfig
|
|
||||||
test? (
|
|
||||||
sys-apps/diffutils
|
|
||||||
)
|
|
||||||
verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
|
|
||||||
|
|
||||||
DOCS=( CHANGES README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} )
|
|
||||||
|
|
||||||
MULTILIB_WRAPPED_HEADERS=(
|
|
||||||
/usr/include/curl/curlbuild.h
|
|
||||||
)
|
|
||||||
|
|
||||||
MULTILIB_CHOST_TOOLS=(
|
|
||||||
/usr/bin/curl-config
|
|
||||||
)
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-7.30.0-prefix.patch
|
|
||||||
"${FILESDIR}"/${PN}-respect-cflags-3.patch
|
|
||||||
"${FILESDIR}"/${P}-proxy-noproxy-tailmatching.patch
|
|
||||||
"${FILESDIR}"/${P}-proxy-noproxy-match-comma.patch
|
|
||||||
"${FILESDIR}"/${P}-noproxy-tailmatch-like-in-7.85.0-and-earlier.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
eprefixify curl-config.in
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
# We make use of the fact that later flags override earlier ones
|
|
||||||
# So start with all ssl providers off until proven otherwise
|
|
||||||
# TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
|
|
||||||
local myconf=()
|
|
||||||
|
|
||||||
myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
|
|
||||||
#myconf+=( --without-default-ssl-backend )
|
|
||||||
if use ssl ; then
|
|
||||||
myconf+=( --without-gnutls --without-mbedtls --without-nss --without-rustls )
|
|
||||||
|
|
||||||
if use gnutls || use curl_ssl_gnutls; then
|
|
||||||
einfo "SSL provided by gnutls"
|
|
||||||
myconf+=( --with-gnutls --with-nettle )
|
|
||||||
fi
|
|
||||||
if use mbedtls || use curl_ssl_mbedtls; then
|
|
||||||
einfo "SSL provided by mbedtls"
|
|
||||||
myconf+=( --with-mbedtls )
|
|
||||||
fi
|
|
||||||
if use nss || use curl_ssl_nss; then
|
|
||||||
einfo "SSL provided by nss"
|
|
||||||
myconf+=( --with-nss --with-nss-deprecated )
|
|
||||||
fi
|
|
||||||
if use openssl || use curl_ssl_openssl; then
|
|
||||||
einfo "SSL provided by openssl"
|
|
||||||
myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
|
|
||||||
fi
|
|
||||||
if use rustls || use curl_ssl_rustls; then
|
|
||||||
einfo "SSL provided by rustls"
|
|
||||||
myconf+=( --with-rustls )
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use curl_ssl_gnutls; then
|
|
||||||
einfo "Default SSL provided by gnutls"
|
|
||||||
myconf+=( --with-default-ssl-backend=gnutls )
|
|
||||||
elif use curl_ssl_mbedtls; then
|
|
||||||
einfo "Default SSL provided by mbedtls"
|
|
||||||
myconf+=( --with-default-ssl-backend=mbedtls )
|
|
||||||
elif use curl_ssl_nss; then
|
|
||||||
einfo "Default SSL provided by nss"
|
|
||||||
myconf+=( --with-default-ssl-backend=nss )
|
|
||||||
elif use curl_ssl_openssl; then
|
|
||||||
einfo "Default SSL provided by openssl"
|
|
||||||
myconf+=( --with-default-ssl-backend=openssl )
|
|
||||||
elif use curl_ssl_rustls; then
|
|
||||||
einfo "Default SSL provided by rustls"
|
|
||||||
myconf+=( --with-default-ssl-backend=rustls )
|
|
||||||
else
|
|
||||||
eerror "We can't be here because of REQUIRED_USE."
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
myconf+=( --without-ssl )
|
|
||||||
einfo "SSL disabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# These configuration options are organized alphabetically
|
|
||||||
# within each category. This should make it easier if we
|
|
||||||
# ever decide to make any of them contingent on USE flags:
|
|
||||||
# 1) protocols first. To see them all do
|
|
||||||
# 'grep SUPPORT_PROTOCOLS configure.ac'
|
|
||||||
# 2) --enable/disable options second.
|
|
||||||
# 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
|
|
||||||
# 3) --with/without options third.
|
|
||||||
# grep -- --with configure | grep Check | awk '{ print $4 }' | sort
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
$(use_enable alt-svc)
|
|
||||||
--enable-crypto-auth
|
|
||||||
--enable-dict
|
|
||||||
--disable-ech
|
|
||||||
--enable-file
|
|
||||||
$(use_enable ftp)
|
|
||||||
$(use_enable gopher)
|
|
||||||
$(use_enable hsts)
|
|
||||||
--enable-http
|
|
||||||
$(use_enable imap)
|
|
||||||
$(use_enable ldap)
|
|
||||||
$(use_enable ldap ldaps)
|
|
||||||
--enable-ntlm
|
|
||||||
--disable-ntlm-wb
|
|
||||||
$(use_enable pop3)
|
|
||||||
--enable-rt
|
|
||||||
--enable-rtsp
|
|
||||||
$(use_enable samba smb)
|
|
||||||
$(use_with ssh libssh2)
|
|
||||||
$(use_enable smtp)
|
|
||||||
$(use_enable telnet)
|
|
||||||
$(use_enable tftp)
|
|
||||||
--enable-tls-srp
|
|
||||||
$(use_enable adns ares)
|
|
||||||
--enable-cookies
|
|
||||||
--enable-dateparse
|
|
||||||
--enable-dnsshuffle
|
|
||||||
--enable-doh
|
|
||||||
--enable-symbol-hiding
|
|
||||||
--enable-http-auth
|
|
||||||
$(use_enable ipv6)
|
|
||||||
--enable-largefile
|
|
||||||
--enable-manual
|
|
||||||
--enable-mime
|
|
||||||
--enable-netrc
|
|
||||||
$(use_enable progress-meter)
|
|
||||||
--enable-proxy
|
|
||||||
--disable-sspi
|
|
||||||
$(use_enable static-libs static)
|
|
||||||
--enable-pthreads
|
|
||||||
--enable-threaded-resolver
|
|
||||||
--disable-versioned-symbols
|
|
||||||
--without-amissl
|
|
||||||
--without-bearssl
|
|
||||||
$(use_with brotli)
|
|
||||||
--without-fish-functions-dir
|
|
||||||
$(use_with http2 nghttp2)
|
|
||||||
--without-hyper
|
|
||||||
$(use_with idn libidn2)
|
|
||||||
$(use_with kerberos gssapi "${EPREFIX}"/usr)
|
|
||||||
--without-libgsasl
|
|
||||||
--without-libpsl
|
|
||||||
--without-msh3
|
|
||||||
$(use_with nghttp3)
|
|
||||||
$(use_with nghttp3 ngtcp2)
|
|
||||||
$(use_with quiche)
|
|
||||||
$(use_with rtmp librtmp)
|
|
||||||
--without-schannel
|
|
||||||
--without-secure-transport
|
|
||||||
$(use_enable websockets)
|
|
||||||
--without-winidn
|
|
||||||
--without-wolfssl
|
|
||||||
--with-zlib
|
|
||||||
$(use_with zstd)
|
|
||||||
)
|
|
||||||
|
|
||||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
|
||||||
|
|
||||||
if ! multilib_is_native_abi; then
|
|
||||||
# avoid building the client
|
|
||||||
sed -i -e '/SUBDIRS/s:src::' Makefile || die
|
|
||||||
sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fix up the pkg-config file to be more robust.
|
|
||||||
# https://github.com/curl/curl/issues/864
|
|
||||||
local priv=() libs=()
|
|
||||||
# We always enable zlib.
|
|
||||||
libs+=( "-lz" )
|
|
||||||
priv+=( "zlib" )
|
|
||||||
if use http2; then
|
|
||||||
libs+=( "-lnghttp2" )
|
|
||||||
priv+=( "libnghttp2" )
|
|
||||||
fi
|
|
||||||
if use quiche; then
|
|
||||||
libs+=( "-lquiche" )
|
|
||||||
priv+=( "quiche" )
|
|
||||||
fi
|
|
||||||
if use nghttp3; then
|
|
||||||
libs+=( "-lnghttp3" "-lngtcp2" )
|
|
||||||
priv+=( "libnghttp3" "-libtcp2" )
|
|
||||||
fi
|
|
||||||
if use ssl && use curl_ssl_openssl; then
|
|
||||||
libs+=( "-lssl" "-lcrypto" )
|
|
||||||
priv+=( "openssl" )
|
|
||||||
fi
|
|
||||||
grep -q Requires.private libcurl.pc && die "need to update ebuild"
|
|
||||||
libs=$(printf '|%s' "${libs[@]}")
|
|
||||||
sed -i -r \
|
|
||||||
-e "/^Libs.private/s:(${libs#|})( |$)::g" \
|
|
||||||
libcurl.pc || die
|
|
||||||
echo "Requires.private: ${priv[*]}" >> libcurl.pc || die
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_test() {
|
|
||||||
# See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721
|
|
||||||
# -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches)
|
|
||||||
# -v: verbose
|
|
||||||
# -a: keep going on failure (so we see everything which breaks, not just 1st test)
|
|
||||||
# -k: keep test files after completion
|
|
||||||
# -am: automake style TAP output
|
|
||||||
# -p: print logs if test fails
|
|
||||||
# Note: if needed, we can disable tests. See e.g. Fedora's packaging
|
|
||||||
# or just read https://github.com/curl/curl/tree/master/tests#run.
|
|
||||||
multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p"
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
einstalldocs
|
|
||||||
find "${ED}" -type f -name '*.la' -delete || die
|
|
||||||
rm -rf "${ED}"/etc/ || die
|
|
||||||
}
|
|
@ -1,301 +0,0 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI="8"
|
|
||||||
|
|
||||||
inherit autotools prefix multilib-minimal verify-sig
|
|
||||||
|
|
||||||
DESCRIPTION="A Client that groks URLs"
|
|
||||||
HOMEPAGE="https://curl.se/"
|
|
||||||
SRC_URI="https://curl.se/download/${P}.tar.xz
|
|
||||||
verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )"
|
|
||||||
|
|
||||||
LICENSE="curl"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
||||||
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
|
||||||
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
|
|
||||||
IUSE+=" nghttp3 quiche"
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
|
|
||||||
|
|
||||||
# Only one default ssl provider can be enabled
|
|
||||||
REQUIRED_USE="
|
|
||||||
ssl? (
|
|
||||||
^^ (
|
|
||||||
curl_ssl_gnutls
|
|
||||||
curl_ssl_mbedtls
|
|
||||||
curl_ssl_nss
|
|
||||||
curl_ssl_openssl
|
|
||||||
curl_ssl_rustls
|
|
||||||
)
|
|
||||||
)"
|
|
||||||
|
|
||||||
# lead to lots of false negatives, bug #285669
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
|
||||||
brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
|
|
||||||
ssl? (
|
|
||||||
gnutls? (
|
|
||||||
net-libs/gnutls:=[static-libs?,${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/nettle:=[${MULTILIB_USEDEP}]
|
|
||||||
app-misc/ca-certificates
|
|
||||||
)
|
|
||||||
mbedtls? (
|
|
||||||
net-libs/mbedtls:=[${MULTILIB_USEDEP}]
|
|
||||||
app-misc/ca-certificates
|
|
||||||
)
|
|
||||||
openssl? (
|
|
||||||
dev-libs/openssl:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
nss? (
|
|
||||||
dev-libs/nss:0[${MULTILIB_USEDEP}]
|
|
||||||
dev-libs/nss-pem
|
|
||||||
app-misc/ca-certificates
|
|
||||||
)
|
|
||||||
rustls? (
|
|
||||||
net-libs/rustls-ffi:=[${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] )
|
|
||||||
nghttp3? (
|
|
||||||
net-libs/nghttp3[${MULTILIB_USEDEP}]
|
|
||||||
net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
|
|
||||||
)
|
|
||||||
quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
|
|
||||||
idn? ( net-dns/libidn2:=[static-libs?,${MULTILIB_USEDEP}] )
|
|
||||||
adns? ( net-dns/c-ares:=[${MULTILIB_USEDEP}] )
|
|
||||||
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
|
|
||||||
rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
|
|
||||||
ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
|
|
||||||
sys-libs/zlib[${MULTILIB_USEDEP}]
|
|
||||||
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
|
|
||||||
|
|
||||||
# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
|
|
||||||
# rtmp? (
|
|
||||||
# media-video/rtmpdump
|
|
||||||
# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
|
|
||||||
# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
|
|
||||||
# )
|
|
||||||
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
BDEPEND="dev-lang/perl
|
|
||||||
virtual/pkgconfig
|
|
||||||
test? (
|
|
||||||
sys-apps/diffutils
|
|
||||||
)
|
|
||||||
verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
|
|
||||||
|
|
||||||
DOCS=( CHANGES README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} )
|
|
||||||
|
|
||||||
MULTILIB_WRAPPED_HEADERS=(
|
|
||||||
/usr/include/curl/curlbuild.h
|
|
||||||
)
|
|
||||||
|
|
||||||
MULTILIB_CHOST_TOOLS=(
|
|
||||||
/usr/bin/curl-config
|
|
||||||
)
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-7.30.0-prefix.patch
|
|
||||||
"${FILESDIR}"/${PN}-respect-cflags-3.patch
|
|
||||||
|
|
||||||
"${FILESDIR}"/${P}-gnutls-openssl-build.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
eprefixify curl-config.in
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
# We make use of the fact that later flags override earlier ones
|
|
||||||
# So start with all ssl providers off until proven otherwise
|
|
||||||
# TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
|
|
||||||
local myconf=()
|
|
||||||
|
|
||||||
myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
|
|
||||||
#myconf+=( --without-default-ssl-backend )
|
|
||||||
if use ssl ; then
|
|
||||||
myconf+=( --without-gnutls --without-mbedtls --without-nss --without-rustls )
|
|
||||||
|
|
||||||
if use gnutls || use curl_ssl_gnutls; then
|
|
||||||
einfo "SSL provided by gnutls"
|
|
||||||
myconf+=( --with-gnutls )
|
|
||||||
fi
|
|
||||||
if use mbedtls || use curl_ssl_mbedtls; then
|
|
||||||
einfo "SSL provided by mbedtls"
|
|
||||||
myconf+=( --with-mbedtls )
|
|
||||||
fi
|
|
||||||
if use nss || use curl_ssl_nss; then
|
|
||||||
einfo "SSL provided by nss"
|
|
||||||
myconf+=( --with-nss --with-nss-deprecated )
|
|
||||||
fi
|
|
||||||
if use openssl || use curl_ssl_openssl; then
|
|
||||||
einfo "SSL provided by openssl"
|
|
||||||
myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
|
|
||||||
fi
|
|
||||||
if use rustls || use curl_ssl_rustls; then
|
|
||||||
einfo "SSL provided by rustls"
|
|
||||||
myconf+=( --with-rustls )
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use curl_ssl_gnutls; then
|
|
||||||
einfo "Default SSL provided by gnutls"
|
|
||||||
myconf+=( --with-default-ssl-backend=gnutls )
|
|
||||||
elif use curl_ssl_mbedtls; then
|
|
||||||
einfo "Default SSL provided by mbedtls"
|
|
||||||
myconf+=( --with-default-ssl-backend=mbedtls )
|
|
||||||
elif use curl_ssl_nss; then
|
|
||||||
einfo "Default SSL provided by nss"
|
|
||||||
myconf+=( --with-default-ssl-backend=nss )
|
|
||||||
elif use curl_ssl_openssl; then
|
|
||||||
einfo "Default SSL provided by openssl"
|
|
||||||
myconf+=( --with-default-ssl-backend=openssl )
|
|
||||||
elif use curl_ssl_rustls; then
|
|
||||||
einfo "Default SSL provided by rustls"
|
|
||||||
myconf+=( --with-default-ssl-backend=rustls )
|
|
||||||
else
|
|
||||||
eerror "We can't be here because of REQUIRED_USE."
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
myconf+=( --without-ssl )
|
|
||||||
einfo "SSL disabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# These configuration options are organized alphabetically
|
|
||||||
# within each category. This should make it easier if we
|
|
||||||
# ever decide to make any of them contingent on USE flags:
|
|
||||||
# 1) protocols first. To see them all do
|
|
||||||
# 'grep SUPPORT_PROTOCOLS configure.ac'
|
|
||||||
# 2) --enable/disable options second.
|
|
||||||
# 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
|
|
||||||
# 3) --with/without options third.
|
|
||||||
# grep -- --with configure | grep Check | awk '{ print $4 }' | sort
|
|
||||||
|
|
||||||
myconf+=(
|
|
||||||
$(use_enable alt-svc)
|
|
||||||
--enable-crypto-auth
|
|
||||||
--enable-dict
|
|
||||||
--disable-ech
|
|
||||||
--enable-file
|
|
||||||
$(use_enable ftp)
|
|
||||||
$(use_enable gopher)
|
|
||||||
$(use_enable hsts)
|
|
||||||
--enable-http
|
|
||||||
$(use_enable imap)
|
|
||||||
$(use_enable ldap)
|
|
||||||
$(use_enable ldap ldaps)
|
|
||||||
--enable-ntlm
|
|
||||||
--disable-ntlm-wb
|
|
||||||
$(use_enable pop3)
|
|
||||||
--enable-rt
|
|
||||||
--enable-rtsp
|
|
||||||
$(use_enable samba smb)
|
|
||||||
$(use_with ssh libssh2)
|
|
||||||
$(use_enable smtp)
|
|
||||||
$(use_enable telnet)
|
|
||||||
$(use_enable tftp)
|
|
||||||
--enable-tls-srp
|
|
||||||
$(use_enable adns ares)
|
|
||||||
--enable-cookies
|
|
||||||
--enable-dateparse
|
|
||||||
--enable-dnsshuffle
|
|
||||||
--enable-doh
|
|
||||||
--enable-symbol-hiding
|
|
||||||
--enable-http-auth
|
|
||||||
$(use_enable ipv6)
|
|
||||||
--enable-largefile
|
|
||||||
--enable-manual
|
|
||||||
--enable-mime
|
|
||||||
--enable-netrc
|
|
||||||
$(use_enable progress-meter)
|
|
||||||
--enable-proxy
|
|
||||||
--disable-sspi
|
|
||||||
$(use_enable static-libs static)
|
|
||||||
--enable-pthreads
|
|
||||||
--enable-threaded-resolver
|
|
||||||
--disable-versioned-symbols
|
|
||||||
--without-amissl
|
|
||||||
--without-bearssl
|
|
||||||
$(use_with brotli)
|
|
||||||
--without-fish-functions-dir
|
|
||||||
$(use_with http2 nghttp2)
|
|
||||||
--without-hyper
|
|
||||||
$(use_with idn libidn2)
|
|
||||||
$(use_with kerberos gssapi "${EPREFIX}"/usr)
|
|
||||||
--without-libgsasl
|
|
||||||
--without-libpsl
|
|
||||||
--without-msh3
|
|
||||||
$(use_with nghttp3)
|
|
||||||
$(use_with nghttp3 ngtcp2)
|
|
||||||
$(use_with quiche)
|
|
||||||
$(use_with rtmp librtmp)
|
|
||||||
--without-schannel
|
|
||||||
--without-secure-transport
|
|
||||||
$(use_enable websockets)
|
|
||||||
--without-winidn
|
|
||||||
--without-wolfssl
|
|
||||||
--with-zlib
|
|
||||||
$(use_with zstd)
|
|
||||||
)
|
|
||||||
|
|
||||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
|
||||||
|
|
||||||
if ! multilib_is_native_abi; then
|
|
||||||
# avoid building the client
|
|
||||||
sed -i -e '/SUBDIRS/s:src::' Makefile || die
|
|
||||||
sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Fix up the pkg-config file to be more robust.
|
|
||||||
# https://github.com/curl/curl/issues/864
|
|
||||||
local priv=() libs=()
|
|
||||||
# We always enable zlib.
|
|
||||||
libs+=( "-lz" )
|
|
||||||
priv+=( "zlib" )
|
|
||||||
if use http2; then
|
|
||||||
libs+=( "-lnghttp2" )
|
|
||||||
priv+=( "libnghttp2" )
|
|
||||||
fi
|
|
||||||
if use quiche; then
|
|
||||||
libs+=( "-lquiche" )
|
|
||||||
priv+=( "quiche" )
|
|
||||||
fi
|
|
||||||
if use nghttp3; then
|
|
||||||
libs+=( "-lnghttp3" "-lngtcp2" )
|
|
||||||
priv+=( "libnghttp3" "libngtcp2" )
|
|
||||||
fi
|
|
||||||
if use ssl && use curl_ssl_openssl; then
|
|
||||||
libs+=( "-lssl" "-lcrypto" )
|
|
||||||
priv+=( "openssl" )
|
|
||||||
fi
|
|
||||||
grep -q Requires.private libcurl.pc && die "need to update ebuild"
|
|
||||||
libs=$(printf '|%s' "${libs[@]}")
|
|
||||||
sed -i -r \
|
|
||||||
-e "/^Libs.private/s:(${libs#|})( |$)::g" \
|
|
||||||
libcurl.pc || die
|
|
||||||
echo "Requires.private: ${priv[*]}" >> libcurl.pc || die
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_test() {
|
|
||||||
# See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721
|
|
||||||
# -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches)
|
|
||||||
# -v: verbose
|
|
||||||
# -a: keep going on failure (so we see everything which breaks, not just 1st test)
|
|
||||||
# -k: keep test files after completion
|
|
||||||
# -am: automake style TAP output
|
|
||||||
# -p: print logs if test fails
|
|
||||||
# Note: if needed, we can disable tests. See e.g. Fedora's packaging
|
|
||||||
# or just read https://github.com/curl/curl/tree/master/tests#run.
|
|
||||||
multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p"
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
einstalldocs
|
|
||||||
find "${ED}" -type f -name '*.la' -delete || die
|
|
||||||
rm -rf "${ED}"/etc/ || die
|
|
||||||
}
|
|
@ -12,7 +12,7 @@ SRC_URI="https://curl.se/download/${P}.tar.xz
|
|||||||
|
|
||||||
LICENSE="curl"
|
LICENSE="curl"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
||||||
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
|
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
|
||||||
IUSE+=" nghttp3 quiche"
|
IUSE+=" nghttp3 quiche"
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="person">
|
<maintainer type="person" proxied="yes">
|
||||||
<email>blueness@gentoo.org</email>
|
<email>Matt.Jolly@footclan.ninja</email>
|
||||||
<name>Anthony G. Basile</name>
|
<name>Matt Jolly</name>
|
||||||
|
</maintainer>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>base-system@gentoo.org</email>
|
||||||
|
<name>Gentoo Base System</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<use>
|
<use>
|
||||||
<flag name="alt-svc">Enable alt-svc support</flag>
|
<flag name="alt-svc">Enable alt-svc support</flag>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# For released versions, we precompile the man/html pages and store
|
# For released versions, we precompile the man/html pages and store
|
||||||
@ -22,7 +22,7 @@ else
|
|||||||
https://github.com/iputils/iputils/archive/${PV}.tar.gz -> ${P}.tar.gz
|
https://github.com/iputils/iputils/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||||
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-docs.tar.xz
|
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-docs.tar.xz
|
||||||
"
|
"
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="Network monitoring tools including ping and ping6"
|
DESCRIPTION="Network monitoring tools including ping and ping6"
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Stijn Tintel <stijn@linux-ipv6.be> (2023-02-02)
|
||||||
|
# Dependency not keyworded
|
||||||
|
# https://bugs.gentoo.org/show_bug.cgi?id=892389
|
||||||
|
net-misc/openvswitch unwind
|
||||||
|
|
||||||
# matoro <matoro_gentoo@matoro.tk> (2022-09-22)
|
# matoro <matoro_gentoo@matoro.tk> (2022-09-22)
|
||||||
# Unable to test due to mask, bug #763963
|
# Unable to test due to mask, bug #763963
|
||||||
net-misc/openntpd constraints
|
net-misc/openntpd constraints
|
||||||
|
@ -31,7 +31,6 @@ app-emulation/crossover-bin
|
|||||||
app-emulation/protontricks
|
app-emulation/protontricks
|
||||||
app-emulation/q4wine
|
app-emulation/q4wine
|
||||||
app-emulation/winetricks
|
app-emulation/winetricks
|
||||||
<=app-shells/scsh-0.6.9
|
|
||||||
dev-embedded/libftd2xx
|
dev-embedded/libftd2xx
|
||||||
dev-embedded/openocd
|
dev-embedded/openocd
|
||||||
dev-util/android-ndk
|
dev-util/android-ndk
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# When you add an entry to the top of this file, add your name, the date, and
|
# When you add an entry to the top of this file, add your name, the date, and
|
||||||
@ -17,6 +17,10 @@
|
|||||||
|
|
||||||
#--- END OF EXAMPLES ---
|
#--- END OF EXAMPLES ---
|
||||||
|
|
||||||
|
# Michał Górny <mgorny@gentoo.org> (2023-01-24)
|
||||||
|
# libomptarget is only supported on 64-bit architectures.
|
||||||
|
>=sys-libs/libomp-16.0.0_pre20230124 -offload
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2023-01-05)
|
# Sam James <sam@gentoo.org> (2023-01-05)
|
||||||
# asm is only available for amd64 and arm, but for arm, is gated
|
# asm is only available for amd64 and arm, but for arm, is gated
|
||||||
# behind an experimental flag.
|
# behind an experimental flag.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Kai-Chun Ning <kaichun.ning@gmail.com> (2022-05-26)
|
# Kai-Chun Ning <kaichun.ning@gmail.com> (2022-05-26)
|
||||||
@ -13,6 +13,8 @@ net-analyzer/gsad
|
|||||||
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2022-02-13)
|
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2022-02-13)
|
||||||
# Requires qtwebengine
|
# Requires qtwebengine
|
||||||
sci-electronics/eagle
|
sci-electronics/eagle
|
||||||
|
sci-geosciences/gpsbabel
|
||||||
|
sci-geosciences/viking
|
||||||
|
|
||||||
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2021-09-09)
|
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2021-09-09)
|
||||||
# Jupyterlab and friends require net-libs/nodejs
|
# Jupyterlab and friends require net-libs/nodejs
|
||||||
@ -98,7 +100,7 @@ kde-apps/parley:5
|
|||||||
kde-apps/pim-data-exporter:5
|
kde-apps/pim-data-exporter:5
|
||||||
kde-apps/pim-sieve-editor:5
|
kde-apps/pim-sieve-editor:5
|
||||||
kde-apps/plasma-telepathy-meta:5
|
kde-apps/plasma-telepathy-meta:5
|
||||||
>=kde-misc/kio-gdrive-22.04.3-r1
|
kde-misc/kio-gdrive
|
||||||
kde-misc/tellico:5
|
kde-misc/tellico:5
|
||||||
kde-misc/zanshin:5
|
kde-misc/zanshin:5
|
||||||
mail-client/kube
|
mail-client/kube
|
||||||
@ -106,7 +108,7 @@ media-gfx/digikam:5
|
|||||||
media-gfx/luminance-hdr
|
media-gfx/luminance-hdr
|
||||||
media-sound/frescobaldi
|
media-sound/frescobaldi
|
||||||
media-sound/teamspeak-client:3
|
media-sound/teamspeak-client:3
|
||||||
>=media-video/openshot-2.6.0
|
media-video/openshot
|
||||||
media-video/vidify
|
media-video/vidify
|
||||||
media-video/vidify-audiosync
|
media-video/vidify-audiosync
|
||||||
net-analyzer/nmapsi
|
net-analyzer/nmapsi
|
||||||
|
@ -1,6 +1,100 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
|
||||||
|
# Successful build of dev-qt/qtwebengine depends on 64-bit host
|
||||||
|
# Bug #893234
|
||||||
|
dev-qt/qtwebengine
|
||||||
|
dev-qt/qtwebview
|
||||||
|
dev-python/PyQt6-WebEngine
|
||||||
|
dev-python/PyQtWebEngine
|
||||||
|
app-admin/calamares
|
||||||
|
app-doc/zeal
|
||||||
|
app-editors/ghostwriter
|
||||||
|
app-editors/notepadqq
|
||||||
|
app-editors/retext
|
||||||
|
app-misc/anki
|
||||||
|
app-office/kalendar:5
|
||||||
|
app-office/kmymoney:5
|
||||||
|
app-office/skrooge:5
|
||||||
|
app-office/texmaker
|
||||||
|
app-text/bibletime
|
||||||
|
app-text/calibre
|
||||||
|
app-text/cb2bib
|
||||||
|
app-text/kchmviewer
|
||||||
|
app-text/sigil
|
||||||
|
dev-lang/typescript
|
||||||
|
dev-python/spyder
|
||||||
|
dev-python/spyder-terminal
|
||||||
|
dev-python/spyder-unittest
|
||||||
|
dev-python/spyder-line-profiler
|
||||||
|
dev-python/spyder-vim
|
||||||
|
dev-python/spyder-notebook
|
||||||
|
dev-util/kdevelop:5
|
||||||
|
dev-util/kdevelop-php:5
|
||||||
|
dev-util/kdevelop-python:5
|
||||||
|
gnome-extra/gnome-shell-extension-pop-shell
|
||||||
|
kde-apps/akonadi-calendar:5
|
||||||
|
kde-apps/akonadi-import-wizard:5
|
||||||
|
kde-apps/akonadiconsole:5
|
||||||
|
kde-apps/akregator:5
|
||||||
|
kde-apps/calendarjanitor:5
|
||||||
|
kde-apps/calendarsupport:5
|
||||||
|
kde-apps/cantor:5
|
||||||
|
kde-apps/eventviews:5
|
||||||
|
kde-apps/grantlee-editor:5
|
||||||
|
kde-apps/incidenceeditor:5
|
||||||
|
kde-apps/kaccounts-providers:5
|
||||||
|
kde-apps/kaddressbook:5
|
||||||
|
kde-apps/kalarm:5
|
||||||
|
kde-apps/kalgebra:5
|
||||||
|
kde-apps/kdepim-addons:5
|
||||||
|
kde-apps/kdepim-meta:5
|
||||||
|
kde-apps/kdepim-runtime:5
|
||||||
|
kde-apps/kimagemapeditor:5
|
||||||
|
kde-apps/kmail:5
|
||||||
|
kde-apps/kmail-account-wizard:5
|
||||||
|
kde-apps/kmailtransport:5
|
||||||
|
kde-apps/knotes:5
|
||||||
|
kde-apps/konqueror:5
|
||||||
|
kde-apps/konsolekalendar:5
|
||||||
|
kde-apps/kontact:5
|
||||||
|
kde-apps/korganizer:5
|
||||||
|
kde-apps/ktp-accounts-kcm:5
|
||||||
|
kde-apps/ktp-text-ui:5
|
||||||
|
kde-apps/libksieve:5
|
||||||
|
kde-apps/mailcommon:5
|
||||||
|
kde-apps/messagelib:5
|
||||||
|
kde-apps/mbox-importer:5
|
||||||
|
kde-apps/parley:5
|
||||||
|
kde-apps/pim-data-exporter:5
|
||||||
|
kde-apps/pim-sieve-editor:5
|
||||||
|
kde-apps/plasma-telepathy-meta:5
|
||||||
|
kde-misc/kio-gdrive
|
||||||
|
kde-misc/tellico:5
|
||||||
|
kde-misc/zanshin:5
|
||||||
|
mail-client/kube
|
||||||
|
media-gfx/digikam:5
|
||||||
|
media-gfx/luminance-hdr
|
||||||
|
media-sound/frescobaldi
|
||||||
|
media-sound/teamspeak-client:3
|
||||||
|
media-video/openshot
|
||||||
|
media-video/vidify
|
||||||
|
media-video/vidify-audiosync
|
||||||
|
net-analyzer/nmapsi
|
||||||
|
net-libs/signon-ui
|
||||||
|
net-misc/nextcloud-client
|
||||||
|
net-p2p/ktorrent:5
|
||||||
|
sci-geosciences/qmapshack
|
||||||
|
>=sci-geosciences/gpsbabel-1.8.0
|
||||||
|
sci-mathematics/rkward:5
|
||||||
|
sci-visualization/labplot:5
|
||||||
|
sys-apps/polychromatic
|
||||||
|
www-client/falkon
|
||||||
|
www-client/otter
|
||||||
|
www-client/qutebrowser
|
||||||
|
media-video/jellyfin-media-player
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2020-06-24)
|
# Sam James <sam@gentoo.org> (2020-06-24)
|
||||||
# Valgrind lacks support for < ARMv7
|
# Valgrind lacks support for < ARMv7
|
||||||
# https://valgrind.org/info/platforms.html
|
# https://valgrind.org/info/platforms.html
|
||||||
|
@ -1,6 +1,25 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
|
||||||
|
# Successful build of dev-qt/qtwebengine depends on 64-bit host
|
||||||
|
# Bug #893234
|
||||||
|
app-i18n/fcitx-libpinyin dictionary-manager
|
||||||
|
dev-lang/idris2 test-full
|
||||||
|
dev-python/cloudscraper test
|
||||||
|
dev-python/QtPy test
|
||||||
|
games-util/lgogdownloader gui
|
||||||
|
kde-apps/kde-apps-meta:5 pim
|
||||||
|
kde-apps/kdenetwork-meta:5 bittorrent telepathy
|
||||||
|
kde-apps/kleopatra:5 pim
|
||||||
|
kde-apps/umbrello:5 php
|
||||||
|
kde-misc/kio-gdrive share
|
||||||
|
net-irc/quassel urlpreview
|
||||||
|
net-misc/fatrat bittorrent
|
||||||
|
net-misc/seafile-client shibboleth
|
||||||
|
sci-mathematics/yacas gui
|
||||||
|
sci-physics/root qt5
|
||||||
|
|
||||||
# Florian Schmaus <flow@gentoo.org> (2022-11-23)
|
# Florian Schmaus <flow@gentoo.org> (2022-11-23)
|
||||||
# avoid larger deptree, bug #882593
|
# avoid larger deptree, bug #882593
|
||||||
dev-python/bracex doc
|
dev-python/bracex doc
|
||||||
@ -126,15 +145,6 @@ games-strategy/0ad nvtt
|
|||||||
# Cinnamon is not keyworded on this architecture.
|
# Cinnamon is not keyworded on this architecture.
|
||||||
x11-themes/arc-theme cinnamon
|
x11-themes/arc-theme cinnamon
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2020-07-11)
|
|
||||||
# Don't drag in qtwebengine for Plasma right now
|
|
||||||
# Not going for nuclear option of general mask
|
|
||||||
# (or dropping keywords) because unclear if it's caused
|
|
||||||
# by the use of a linux32 chroot.
|
|
||||||
# See bug #713900
|
|
||||||
kde-plasma/libksysguard webengine
|
|
||||||
kde-plasma/kdeplasma-addons webengine
|
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2020-06-27)
|
# Sam James <sam@gentoo.org> (2020-06-27)
|
||||||
# Tests require Valgrind, not available on <armv7a
|
# Tests require Valgrind, not available on <armv7a
|
||||||
dev-libs/rapidjson test
|
dev-libs/rapidjson test
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Unmask the flag which corresponds to ARCH.
|
# Unmask the flag which corresponds to ARCH.
|
||||||
-arm
|
-arm
|
||||||
|
|
||||||
|
# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
|
||||||
|
# Successful build of dev-qt/qtwebengine depends on 64-bit host
|
||||||
|
# Bug #893234
|
||||||
|
webengine
|
||||||
|
|
||||||
# matoro <matoro_gentoo@matoro.tk> (2022-09-29)
|
# matoro <matoro_gentoo@matoro.tk> (2022-09-29)
|
||||||
# dev-util/google-perftools is supported here
|
# dev-util/google-perftools is supported here
|
||||||
-tcmalloc
|
-tcmalloc
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Sam James <sam@gentoo.org> (2023-01-27)
|
||||||
|
# media-libs/shaderc not keyworded here
|
||||||
|
games-action/supertuxkart vulkan
|
||||||
|
|
||||||
|
# Michał Górny <mgorny@gentoo.org> (2023-01-24)
|
||||||
|
# libomptarget is only supported on 64-bit architectures.
|
||||||
|
>=sys-libs/libomp-16.0.0_pre20230124 -offload
|
||||||
|
|
||||||
# Florian Schmaus <flow@gentoo.org> (2022-11-23)
|
# Florian Schmaus <flow@gentoo.org> (2022-11-23)
|
||||||
# avoid larger deptree, bug #882593
|
# avoid larger deptree, bug #882593
|
||||||
dev-python/bracex doc
|
dev-python/bracex doc
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Michał Górny <mgorny@gentoo.org> (2023-01-24)
|
||||||
|
# libomptarget is only supported on 64-bit architectures.
|
||||||
|
>=sys-libs/libomp-16.0.0_pre20230124 offload
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2023-01-05)
|
# Sam James <sam@gentoo.org> (2023-01-05)
|
||||||
# asm is only available for amd64 and arm, but for arm, is gated
|
# asm is only available for amd64 and arm, but for arm, is gated
|
||||||
# behind an experimental flag.
|
# behind an experimental flag.
|
||||||
|
@ -22,7 +22,3 @@ CHOST_hppa="${CHOST}"
|
|||||||
# Donnie Berkholz <dberkholz@gentoo.org> (2006-08-18)
|
# Donnie Berkholz <dberkholz@gentoo.org> (2006-08-18)
|
||||||
# Defaults for video drivers
|
# Defaults for video drivers
|
||||||
VIDEO_CARDS="fbdev"
|
VIDEO_CARDS="fbdev"
|
||||||
|
|
||||||
# Hans de Graaff <graaff@gentoo.org> (2023-01-15)
|
|
||||||
# Temporary mask for https://bugs.gentoo.org/890915
|
|
||||||
RUBY_TARGETS="ruby27"
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# NOTE: When masking a USE flag due to missing keywords, please file a keyword
|
# NOTE: When masking a USE flag due to missing keywords, please file a keyword
|
||||||
|
@ -4,10 +4,6 @@
|
|||||||
# This file requires eapi 5 or later. New entries go on top.
|
# This file requires eapi 5 or later. New entries go on top.
|
||||||
# Please use the same syntax as in use.mask
|
# Please use the same syntax as in use.mask
|
||||||
|
|
||||||
# Hans de Graaff <graaff@gentoo.org> (2023-01-15)
|
|
||||||
# Temporary mask for https://bugs.gentoo.org/890915
|
|
||||||
ruby_targets_ruby30
|
|
||||||
|
|
||||||
# Rolf Eike Beer <eike@sf-mail.de> (2021-11-12)
|
# Rolf Eike Beer <eike@sf-mail.de> (2021-11-12)
|
||||||
# dev-libs/nspr and dev-libs/nss are not stable on hppa
|
# dev-libs/nspr and dev-libs/nss are not stable on hppa
|
||||||
nss
|
nss
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2022-12-26)
|
# Sam James <sam@gentoo.org> (2022-12-26)
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Stijn Tintel <stijn@linux-ipv6.be> (2023-02-02)
|
||||||
|
# Dependency not keyworded
|
||||||
|
# https://bugs.gentoo.org/show_bug.cgi?id=892389
|
||||||
|
net-misc/openvswitch unwind
|
||||||
|
|
||||||
# Andreas K. Hüttel <dilfridge@gentoo.org> (2022-05-29)
|
# Andreas K. Hüttel <dilfridge@gentoo.org> (2022-05-29)
|
||||||
# No TMP here, no xkb here
|
# No TMP here, no xkb here
|
||||||
sys-apps/systemd tpm xkb
|
sys-apps/systemd tpm xkb
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2022-11-19)
|
# Sam James <sam@gentoo.org> (2022-11-19)
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Michał Górny <mgorny@gentoo.org> (2023-01-24)
|
||||||
|
# libomptarget is only supported on 64-bit architectures.
|
||||||
|
>=sys-libs/libomp-16.0.0_pre20230124 -offload
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2022-10-13)
|
# Sam James <sam@gentoo.org> (2022-10-13)
|
||||||
# Causes segfaults, bug #871921
|
# Causes segfaults, bug #871921
|
||||||
sci-libs/symengine tcmalloc
|
sci-libs/symengine tcmalloc
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
# Copyright 2019-2022 Gentoo Authors
|
# Copyright 2019-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Sam James <sam@gentoo.org> (2023-01-27)
|
||||||
|
# media-libs/shaderc not keyworded here
|
||||||
|
games-action/supertuxkart vulkan
|
||||||
|
|
||||||
# Mike Rivnak <rivnakm1@gmail.com> (2022-11-30)
|
# Mike Rivnak <rivnakm1@gmail.com> (2022-11-30)
|
||||||
# luajit is currently not supported on riscv
|
# luajit is currently not supported on riscv
|
||||||
app-editors/neovim lua_single_target_luajit
|
app-editors/neovim lua_single_target_luajit
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Florian Schmaus <flow@gentoo.org> (2022-11-23)
|
# Florian Schmaus <flow@gentoo.org> (2022-11-23)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2021-03-20)
|
# Sam James <sam@gentoo.org> (2021-03-20)
|
||||||
@ -6,10 +6,6 @@
|
|||||||
# in for grep -P. Debian completely disable it too.
|
# in for grep -P. Debian completely disable it too.
|
||||||
dev-libs/libpcre jit
|
dev-libs/libpcre jit
|
||||||
|
|
||||||
# Matt Turner <mattst88@gentoo.org> (2019-08-26)
|
|
||||||
# jit not supported on sparc64
|
|
||||||
dev-libs/libpcre2 jit
|
|
||||||
|
|
||||||
# Anna Vyalkova <cyber+gentoo@sysrq.in> (2022-03-13)
|
# Anna Vyalkova <cyber+gentoo@sysrq.in> (2022-03-13)
|
||||||
# depends on dev-lisp/sbcl
|
# depends on dev-lisp/sbcl
|
||||||
dev-lisp/alexandria doc
|
dev-lisp/alexandria doc
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Stijn Tintel <stijn@linux-ipv6.be> (2023-02-02)
|
||||||
|
# Dependency not keyworded
|
||||||
|
# https://bugs.gentoo.org/show_bug.cgi?id=892389
|
||||||
|
net-misc/openvswitch unwind
|
||||||
|
|
||||||
|
# Sam James <sam@gentoo.org> (2023-01-31)
|
||||||
|
# jit not supported on sparc32 or sparc64
|
||||||
|
dev-libs/libpcre2 jit
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2022-12-26)
|
# Sam James <sam@gentoo.org> (2022-12-26)
|
||||||
# Unkeyworded dependencies
|
# Unkeyworded dependencies
|
||||||
dev-util/diffoscope opendocument pascal pdf R
|
dev-util/diffoscope opendocument pascal pdf R
|
||||||
|
@ -1,6 +1,100 @@
|
|||||||
# Copyright 1999-2023 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
|
||||||
|
# Successful build of dev-qt/qtwebengine depends on 64-bit host
|
||||||
|
# Bug #893234
|
||||||
|
dev-qt/qtwebengine
|
||||||
|
dev-qt/qtwebview
|
||||||
|
dev-python/PyQt6-WebEngine
|
||||||
|
dev-python/PyQtWebEngine
|
||||||
|
app-admin/calamares
|
||||||
|
app-doc/zeal
|
||||||
|
app-editors/ghostwriter
|
||||||
|
app-editors/notepadqq
|
||||||
|
app-editors/retext
|
||||||
|
app-misc/anki
|
||||||
|
app-office/kalendar:5
|
||||||
|
app-office/kmymoney:5
|
||||||
|
app-office/skrooge:5
|
||||||
|
app-office/texmaker
|
||||||
|
app-text/bibletime
|
||||||
|
app-text/calibre
|
||||||
|
app-text/cb2bib
|
||||||
|
app-text/kchmviewer
|
||||||
|
app-text/sigil
|
||||||
|
dev-lang/typescript
|
||||||
|
dev-python/spyder
|
||||||
|
dev-python/spyder-terminal
|
||||||
|
dev-python/spyder-unittest
|
||||||
|
dev-python/spyder-line-profiler
|
||||||
|
dev-python/spyder-vim
|
||||||
|
dev-python/spyder-notebook
|
||||||
|
dev-util/kdevelop:5
|
||||||
|
dev-util/kdevelop-php:5
|
||||||
|
dev-util/kdevelop-python:5
|
||||||
|
gnome-extra/gnome-shell-extension-pop-shell
|
||||||
|
kde-apps/akonadi-calendar:5
|
||||||
|
kde-apps/akonadi-import-wizard:5
|
||||||
|
kde-apps/akonadiconsole:5
|
||||||
|
kde-apps/akregator:5
|
||||||
|
kde-apps/calendarjanitor:5
|
||||||
|
kde-apps/calendarsupport:5
|
||||||
|
kde-apps/cantor:5
|
||||||
|
kde-apps/eventviews:5
|
||||||
|
kde-apps/grantlee-editor:5
|
||||||
|
kde-apps/incidenceeditor:5
|
||||||
|
kde-apps/kaccounts-providers:5
|
||||||
|
kde-apps/kaddressbook:5
|
||||||
|
kde-apps/kalarm:5
|
||||||
|
kde-apps/kalgebra:5
|
||||||
|
kde-apps/kdepim-addons:5
|
||||||
|
kde-apps/kdepim-meta:5
|
||||||
|
kde-apps/kdepim-runtime:5
|
||||||
|
kde-apps/kimagemapeditor:5
|
||||||
|
kde-apps/kmail:5
|
||||||
|
kde-apps/kmail-account-wizard:5
|
||||||
|
kde-apps/kmailtransport:5
|
||||||
|
kde-apps/knotes:5
|
||||||
|
kde-apps/konqueror:5
|
||||||
|
kde-apps/konsolekalendar:5
|
||||||
|
kde-apps/kontact:5
|
||||||
|
kde-apps/korganizer:5
|
||||||
|
kde-apps/ktp-accounts-kcm:5
|
||||||
|
kde-apps/ktp-text-ui:5
|
||||||
|
kde-apps/libksieve:5
|
||||||
|
kde-apps/mailcommon:5
|
||||||
|
kde-apps/messagelib:5
|
||||||
|
kde-apps/mbox-importer:5
|
||||||
|
kde-apps/parley:5
|
||||||
|
kde-apps/pim-data-exporter:5
|
||||||
|
kde-apps/pim-sieve-editor:5
|
||||||
|
kde-apps/plasma-telepathy-meta:5
|
||||||
|
kde-misc/kio-gdrive
|
||||||
|
kde-misc/tellico:5
|
||||||
|
kde-misc/zanshin:5
|
||||||
|
mail-client/kube
|
||||||
|
media-gfx/digikam:5
|
||||||
|
media-gfx/luminance-hdr
|
||||||
|
media-sound/frescobaldi
|
||||||
|
media-sound/teamspeak-client:3
|
||||||
|
media-video/openshot
|
||||||
|
media-video/vidify
|
||||||
|
media-video/vidify-audiosync
|
||||||
|
net-analyzer/nmapsi
|
||||||
|
net-libs/signon-ui
|
||||||
|
net-misc/nextcloud-client
|
||||||
|
net-p2p/ktorrent:5
|
||||||
|
sci-geosciences/qmapshack
|
||||||
|
>=sci-geosciences/gpsbabel-1.8.0
|
||||||
|
sci-mathematics/rkward:5
|
||||||
|
sci-visualization/labplot:5
|
||||||
|
sys-apps/polychromatic
|
||||||
|
www-client/falkon
|
||||||
|
www-client/otter
|
||||||
|
www-client/qutebrowser
|
||||||
|
media-video/jellyfin-media-player
|
||||||
|
|
||||||
# Viorel Munteanu <ceamac@gentoo.org> (2022-12-22)
|
# Viorel Munteanu <ceamac@gentoo.org> (2022-12-22)
|
||||||
# The x86 build is broken and no longer available. Bug #887831
|
# The x86 build is broken and no longer available. Bug #887831
|
||||||
# Removal on 2023-01-22.
|
# Removal on 2023-01-22.
|
||||||
|
@ -1,6 +1,25 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
|
||||||
|
# Successful build of dev-qt/qtwebengine depends on 64-bit host
|
||||||
|
# Bug #893234
|
||||||
|
app-i18n/fcitx-libpinyin dictionary-manager
|
||||||
|
dev-lang/idris2 test-full
|
||||||
|
dev-python/cloudscraper test
|
||||||
|
dev-python/QtPy test
|
||||||
|
games-util/lgogdownloader gui
|
||||||
|
kde-apps/kde-apps-meta:5 pim
|
||||||
|
kde-apps/kdenetwork-meta:5 bittorrent telepathy
|
||||||
|
kde-apps/kleopatra:5 pim
|
||||||
|
kde-apps/umbrello:5 php
|
||||||
|
kde-misc/kio-gdrive share
|
||||||
|
net-irc/quassel urlpreview
|
||||||
|
net-misc/fatrat bittorrent
|
||||||
|
net-misc/seafile-client shibboleth
|
||||||
|
sci-mathematics/yacas gui
|
||||||
|
sci-physics/root qt5
|
||||||
|
|
||||||
# Michael Orlitzky <mjo@gentoo.org> (2022-12-23)
|
# Michael Orlitzky <mjo@gentoo.org> (2022-12-23)
|
||||||
# sci-libs/lrslib is keyworded ~x86, but probably shouldn't have been:
|
# sci-libs/lrslib is keyworded ~x86, but probably shouldn't have been:
|
||||||
#
|
#
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
# Copyright 1999-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
# Unmask the flag which corresponds to ARCH.
|
# Unmask the flag which corresponds to ARCH.
|
||||||
-x86
|
-x86
|
||||||
|
|
||||||
|
# Andreas Sturmlechner <asturm@gentoo.org> (2023-02-06)
|
||||||
|
# Successful build of dev-qt/qtwebengine depends on 64-bit host
|
||||||
|
# Bug #893234
|
||||||
|
webengine
|
||||||
|
|
||||||
# matoro <matoro_gentoo@matoro.tk> (2022-09-29)
|
# matoro <matoro_gentoo@matoro.tk> (2022-09-29)
|
||||||
# dev-util/google-perftools is supported here
|
# dev-util/google-perftools is supported here
|
||||||
-tcmalloc
|
-tcmalloc
|
||||||
|
@ -4,6 +4,10 @@
|
|||||||
# This file requires eapi 5 or later. New entries go on top.
|
# This file requires eapi 5 or later. New entries go on top.
|
||||||
# Please use the same syntax as in use.mask
|
# Please use the same syntax as in use.mask
|
||||||
|
|
||||||
|
# Alfredo Tupone <tupone@gentoo.org> (2023-2-2)
|
||||||
|
# sys-devel/gcc:12 is not stable yet on x86
|
||||||
|
ada_target_gcc_12
|
||||||
|
|
||||||
# Sam James <sam@gentoo.org> (2020-11-10)
|
# Sam James <sam@gentoo.org> (2020-11-10)
|
||||||
# media-gfx/openvdb is not stable on x86
|
# media-gfx/openvdb is not stable on x86
|
||||||
# ... and has failing tests right now anyway
|
# ... and has failing tests right now anyway
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
# Default to lua 5.4 (upstream requires 5.2 or higher)
|
# Default to lua 5.4 (upstream requires 5.2 or higher)
|
||||||
>=app-editors/vis-0.7-r1 lua_single_target_lua5-4
|
>=app-editors/vis-0.7-r1 lua_single_target_lua5-4
|
||||||
|
|
||||||
# Andreas Sturmlechner <asturm@gentoo.org> (2022-06-14)
|
|
||||||
# Only python 3.9 supported, bug #835921
|
|
||||||
<dev-util/kdevelop-python-22.12.0:5 python_single_target_python3_9
|
|
||||||
|
|
||||||
# Patrick McLean <chutzpah@gentoo.org) (2022-05-04)
|
# Patrick McLean <chutzpah@gentoo.org) (2022-05-04)
|
||||||
# Default to lua 5.4 (upstream requires 5.3 or higher)
|
# Default to lua 5.4 (upstream requires 5.3 or higher)
|
||||||
>=sys-cluster/ceph-17.2.0 lua_single_target_lua5-4
|
>=sys-cluster/ceph-17.2.0 lua_single_target_lua5-4
|
||||||
|
@ -6,6 +6,12 @@
|
|||||||
# This file is only for generic masks. For arch-specific masks (i.e.
|
# This file is only for generic masks. For arch-specific masks (i.e.
|
||||||
# mask everywhere, unmask on arch/*) use arch/base.
|
# mask everywhere, unmask on arch/*) use arch/base.
|
||||||
|
|
||||||
|
# Bernd Waibel <waebbl-gentoo@posteo.net> (2023-01-28)
|
||||||
|
# Has some issues building and needs some love first.
|
||||||
|
# Bug #891829
|
||||||
|
# https://github.com/gentoo/gentoo/pull/29236#issuecomment-1407373536
|
||||||
|
sci-libs/vtk debug
|
||||||
|
|
||||||
# Michał Górny <mgorny@gentoo.org> (2023-01-21)
|
# Michał Górny <mgorny@gentoo.org> (2023-01-21)
|
||||||
# media-libs/libextractor is masked for removal.
|
# media-libs/libextractor is masked for removal.
|
||||||
media-plugins/vdr-xineliboutput libextractor
|
media-plugins/vdr-xineliboutput libextractor
|
||||||
@ -379,7 +385,6 @@ www-servers/apache apache2_modules_lua
|
|||||||
dev-php/PEAR-Text_Wiki_Mediawiki test
|
dev-php/PEAR-Text_Wiki_Mediawiki test
|
||||||
dev-php/PHP_CodeSniffer test
|
dev-php/PHP_CodeSniffer test
|
||||||
dev-php/php-redmine-api test
|
dev-php/php-redmine-api test
|
||||||
dev-php/phptal test
|
|
||||||
dev-php/recaptcha test
|
dev-php/recaptcha test
|
||||||
dev-php/symfony-config test
|
dev-php/symfony-config test
|
||||||
dev-php/symfony-event-dispatcher test
|
dev-php/symfony-event-dispatcher test
|
||||||
@ -476,12 +481,6 @@ dev-util/meson test
|
|||||||
# Ada support is not yet ready for sys-devel/gcc
|
# Ada support is not yet ready for sys-devel/gcc
|
||||||
sys-devel/gcc ada
|
sys-devel/gcc ada
|
||||||
|
|
||||||
# Michał Górny <mgorny@gentoo.org> (2020-03-28)
|
|
||||||
# Requires masked dev-vcs/bzr. Remove the mask if breezy is packaged
|
|
||||||
# and the package is confirmed to work with it.
|
|
||||||
<=dev-util/rosinstall-0.7.8 test
|
|
||||||
<=dev-util/wstool-0.1.18 test
|
|
||||||
|
|
||||||
# Guilherme Amadio <amadio@gentoo.org> (2020-03-16)
|
# Guilherme Amadio <amadio@gentoo.org> (2020-03-16)
|
||||||
# Requires dev-libs/cudnn which is only available on amd64
|
# Requires dev-libs/cudnn which is only available on amd64
|
||||||
sci-physics/root cudnn
|
sci-physics/root cudnn
|
||||||
|
@ -4,6 +4,12 @@
|
|||||||
# This file requires eapi 5 or later. New entries go on top.
|
# This file requires eapi 5 or later. New entries go on top.
|
||||||
# Please use the same syntax as in package.use.mask
|
# Please use the same syntax as in package.use.mask
|
||||||
|
|
||||||
|
# Arsen Arsenović <arsen@gentoo.org> (2023-01-27)
|
||||||
|
# Pulls in large amounts of unstable dependencies, blocking
|
||||||
|
# stabilization of other packages.
|
||||||
|
# Bug #891965.
|
||||||
|
sys-block/nbdkit libguestfs
|
||||||
|
|
||||||
# Andreas Sturmlechner <asturm@gentoo.org> (2022-12-24)
|
# Andreas Sturmlechner <asturm@gentoo.org> (2022-12-24)
|
||||||
# dev-util/hip and its rocm dependencies not stable yet
|
# dev-util/hip and its rocm dependencies not stable yet
|
||||||
sci-physics/lammps hip
|
sci-physics/lammps hip
|
||||||
|
@ -31,13 +31,6 @@ pch
|
|||||||
# Please upgrade to a newer slot
|
# Please upgrade to a newer slot
|
||||||
php_targets_php7-2
|
php_targets_php7-2
|
||||||
|
|
||||||
# Alexis Ballier <aballier@gentoo.org> (2020-10-13)
|
|
||||||
# Nothing depends on those ROS messages. dev-ros/geneus
|
|
||||||
# is half broken in our setup where it looks for packages
|
|
||||||
# on the filesystem and causes build failures.
|
|
||||||
# See e.g. bug #741076
|
|
||||||
ros_messages_eus
|
|
||||||
|
|
||||||
# Matt Turner <mattst88@gentoo.org> (2019-09-01)
|
# Matt Turner <mattst88@gentoo.org> (2019-09-01)
|
||||||
# app-office/texmacs is package.mask'd. Bug #436400
|
# app-office/texmacs is package.mask'd. Bug #436400
|
||||||
texmacs
|
texmacs
|
||||||
|
@ -49,7 +49,6 @@ dev-perl
|
|||||||
dev-php
|
dev-php
|
||||||
dev-python
|
dev-python
|
||||||
dev-qt
|
dev-qt
|
||||||
dev-ros
|
|
||||||
dev-ruby
|
dev-ruby
|
||||||
dev-scheme
|
dev-scheme
|
||||||
dev-tcltk
|
dev-tcltk
|
||||||
@ -123,7 +122,6 @@ net-voip
|
|||||||
net-vpn
|
net-vpn
|
||||||
net-wireless
|
net-wireless
|
||||||
perl-core
|
perl-core
|
||||||
ros-meta
|
|
||||||
sci-astronomy
|
sci-astronomy
|
||||||
sci-biology
|
sci-biology
|
||||||
sci-calculators
|
sci-calculators
|
||||||
|
@ -40,4 +40,3 @@ virtual/editor
|
|||||||
virtual/libc
|
virtual/libc
|
||||||
virtual/os-headers
|
virtual/os-headers
|
||||||
virtual/pkgconfig
|
virtual/pkgconfig
|
||||||
sys-apps/which
|
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
# Copyright 2023 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Sam James <sam@gentoo.org> (2023-01-29)
|
||||||
|
# Fails to build on combination of ppc* + musl because of mcontext.
|
||||||
|
# libsanitizer needs adapting, bug #892079.
|
||||||
|
sys-devel/gcc sanitize
|
@ -1,6 +1,11 @@
|
|||||||
# Copyright 2020 Gentoo Authors
|
# Copyright 2020-2023 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Sam James <sam@gentoo.org> (2023-01-29)
|
||||||
|
# Fails to build on combination of ppc* + musl because of mcontext.
|
||||||
|
# libsanitizer needs adapting, bug #892079.
|
||||||
|
sys-devel/gcc sanitize
|
||||||
|
|
||||||
# Georgy Yakovlev <gyakovlev@gentoo.org> (2020-02-18)
|
# Georgy Yakovlev <gyakovlev@gentoo.org> (2020-02-18)
|
||||||
# perlasm assumes elfv1 abi on big endian
|
# perlasm assumes elfv1 abi on big endian
|
||||||
# mask until merged and released
|
# mask until merged and released
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user