parent
52f9a450ca
commit
b1a9dd79a2
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
DIST kontrast-22.04.3.tar.xz 125860 BLAKE2B 78b87ebfb0958ce7bf2abf7a70ada000f959aa2cd648ebaf70ffef5500458bf1f9c42433176caa1ac29ab5b0ed51452092c796f679d7c56e4188e2a746169a05 SHA512 e77b2b129f115d2cf319a2a5f6b56bc576c00c506b542cc6239098245da17b966a71caf05f0868af7d5f3807be033bfc552b9fd1856046889363d1012bf13efe
|
DIST kontrast-22.04.3.tar.xz 125860 BLAKE2B 78b87ebfb0958ce7bf2abf7a70ada000f959aa2cd648ebaf70ffef5500458bf1f9c42433176caa1ac29ab5b0ed51452092c796f679d7c56e4188e2a746169a05 SHA512 e77b2b129f115d2cf319a2a5f6b56bc576c00c506b542cc6239098245da17b966a71caf05f0868af7d5f3807be033bfc552b9fd1856046889363d1012bf13efe
|
||||||
DIST kontrast-22.08.0.tar.xz 127248 BLAKE2B c052c8b011eca195af78b9d58ee654a5655e85b7b3e79c36b53d2065ee318724b1cc4d3cca20a8f39f2fa0c08025e9421f480f79d1e010452c858943aa32fe12 SHA512 d433f1ad0c8fad901352cdf5552304106f8dab033c012bbed95e7f9badda7deb3772fc941d771097508a090af8224a2521a81b3fb9b8e20e348c748de4a45802
|
DIST kontrast-22.08.1.tar.xz 127276 BLAKE2B 6b9ebc2fe44a6ff3b67afe34b195565f2ab8ec61b503fb9109789f152569a640d7fbd52c767251d02583c03cdd485f18308cbfff475ccadd3da28a5e9a000e63 SHA512 06f55d42a15ae632770f483486cb2848e91db1b5fbb89f5670e9413c39c9361019dac7bd5847fea43b48aa3b9e45d4a6d0943fc76d78722616bc94c881ad5776
|
||||||
|
Binary file not shown.
@ -0,0 +1,72 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
DISTUTILS_USE_PEP517=setuptools
|
||||||
|
PYTHON_COMPAT=( python3_{8..10} )
|
||||||
|
|
||||||
|
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||||
|
|
||||||
|
MY_P=aws-cli-${PV}
|
||||||
|
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||||
|
HOMEPAGE="
|
||||||
|
https://github.com/aws/aws-cli/
|
||||||
|
https://pypi.org/project/awscli/
|
||||||
|
"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||||
|
-> ${MY_P}.gh.tar.gz
|
||||||
|
"
|
||||||
|
S=${WORKDIR}/${MY_P}
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||||
|
|
||||||
|
# botocore is x.(y+2).(z-1)
|
||||||
|
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(( $(ver_cut 3-) - 1 ))"
|
||||||
|
RDEPEND="
|
||||||
|
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||||
|
dev-python/colorama[${PYTHON_USEDEP}]
|
||||||
|
dev-python/docutils[${PYTHON_USEDEP}]
|
||||||
|
dev-python/rsa[${PYTHON_USEDEP}]
|
||||||
|
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
|
||||||
|
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||||
|
!app-admin/awscli-bin
|
||||||
|
"
|
||||||
|
BDEPEND="
|
||||||
|
test? (
|
||||||
|
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||||
|
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||||
|
)
|
||||||
|
"
|
||||||
|
|
||||||
|
distutils_enable_tests pytest
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
# do not rely on bundled deps in botocore (sic!)
|
||||||
|
find -name '*.py' -exec sed -i \
|
||||||
|
-e 's:from botocore[.]vendored import:import:' \
|
||||||
|
-e 's:from botocore[.]vendored[.]:from :' \
|
||||||
|
{} + || die
|
||||||
|
# strip overzealous upper bounds on requirements
|
||||||
|
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||||
|
distutils-r1_src_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
python_test() {
|
||||||
|
# integration tests require AWS credentials and Internet access
|
||||||
|
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||||
|
}
|
||||||
|
|
||||||
|
python_install_all() {
|
||||||
|
newbashcomp bin/aws_bash_completer aws
|
||||||
|
|
||||||
|
insinto /usr/share/zsh/site-functions
|
||||||
|
newins bin/aws_zsh_completer.sh _aws
|
||||||
|
|
||||||
|
distutils-r1_python_install_all
|
||||||
|
|
||||||
|
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||||
|
}
|
@ -1,3 +1,2 @@
|
|||||||
DIST lnav-0.10.0.tar.gz 5678120 BLAKE2B d64957e94cc5415e663db8ab5722e6424381aa83a2c9430397baed782b47064ed8f460f27bec6256206cabb43f20eba9318aec1991115b577fcc9c37585dd932 SHA512 d07f4e594b9b905453f4c0ac54db2612e3bed533b47f4fd5b6b0da4e27a2d3bb611cbdf9801c12b6edae045c58881ff1f458f144981fe3d8a41f8d113e847efd
|
|
||||||
DIST lnav-0.10.1.tar.gz 5707151 BLAKE2B ae82b705830c6ea38e2fa4f3832a2fd1d8ce8b5ef00d6a3fe750e4f5e7080ae29fde845f2c5055e2684aad1959368ff90abdc130130f8d6f0152426487e7396c SHA512 fff9632c1acbef80ba9d4214fd3ef485727792353fe493cfa4f2e9412bb371f50f2e1a735ded3d7bd8b16df5e93e03b0f3def296770e7dd0ad2206fd9f94690d
|
DIST lnav-0.10.1.tar.gz 5707151 BLAKE2B ae82b705830c6ea38e2fa4f3832a2fd1d8ce8b5ef00d6a3fe750e4f5e7080ae29fde845f2c5055e2684aad1959368ff90abdc130130f8d6f0152426487e7396c SHA512 fff9632c1acbef80ba9d4214fd3ef485727792353fe493cfa4f2e9412bb371f50f2e1a735ded3d7bd8b16df5e93e03b0f3def296770e7dd0ad2206fd9f94690d
|
||||||
DIST lnav-0.9.0.tar.gz 1094734 BLAKE2B 79d6b035d9fc1efba618dbbd0924dbac2c8a2b3316849164c8c1a3782c7e8b85f12ade02a973d0c4fabff64b38e26fd579f1931aeafb05396ece7e75608cfc5d SHA512 4f03c83003b262c6aa1d1e87d61b4a3ae8f1ccd33a2df1b451f263d3925791d3b46285bbe276d89733a2bd464be9029e7100ce12fdfe3e009a089f250e601151
|
DIST lnav-0.11.0.tar.gz 9586979 BLAKE2B fa333d2dbc3c2a5cb8b96ea4cbf84412be117b9d9ec999bab784e7aefab25cd01edcb65617468b8a1fbc46d554cf20a02bc901c9d75f2c5831359da37a19fd22 SHA512 f10938aacb1e170a6912090c5de8e85e9aae5bc456e57b49192a21020e7dfa20414d1f5b66fd25b3c1ea5a3d1fd3bd92af6fe7e0c6b73953688c3d861266fd97
|
||||||
|
@ -1,75 +0,0 @@
|
|||||||
--- a/test/test_remote.sh
|
|
||||||
+++ b/test/test_remote.sh
|
|
||||||
@@ -76,38 +76,38 @@
|
|
||||||
error: unable to open file: nonexistent-host: -- failed to ssh to host: ...
|
|
||||||
EOF
|
|
||||||
|
|
||||||
-run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
- localhost:nonexistent-file
|
|
||||||
+# run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
+# localhost:nonexistent-file
|
|
||||||
|
|
||||||
-check_error_output "no error for nonexistent-file?" <<EOF
|
|
||||||
-error: unable to open file: localhost:nonexistent-file -- unable to lstat -- ENOENT[2]
|
|
||||||
-EOF
|
|
||||||
-
|
|
||||||
-run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
- localhost:${test_dir}/logfile_access_log.0
|
|
||||||
-
|
|
||||||
-check_output "could not download remote file?" <<EOF
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"
|
|
||||||
-EOF
|
|
||||||
-
|
|
||||||
-run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
- "localhost:${test_dir}/logfile_access_log.*"
|
|
||||||
-
|
|
||||||
-check_output "could not download remote file?" <<EOF
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"
|
|
||||||
-10.112.81.15 - - [15/Feb/2013:06:00:31 +0000] "-" 400 0 "-" "-"
|
|
||||||
-EOF
|
|
||||||
-
|
|
||||||
-run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
- "localhost:${test_dir}/remote-log-dir"
|
|
||||||
-
|
|
||||||
-check_output "could not download remote file?" <<EOF
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
|
|
||||||
-192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"
|
|
||||||
-10.112.81.15 - - [15/Feb/2013:06:00:31 +0000] "-" 400 0 "-" "-"
|
|
||||||
-EOF
|
|
||||||
+# check_error_output "no error for nonexistent-file?" <<EOF
|
|
||||||
+# error: unable to open file: localhost:nonexistent-file -- unable to lstat -- ENOENT[2]
|
|
||||||
+# EOF
|
|
||||||
+
|
|
||||||
+# run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
+# localhost:${test_dir}/logfile_access_log.0
|
|
||||||
+
|
|
||||||
+# check_output "could not download remote file?" <<EOF
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"
|
|
||||||
+# EOF
|
|
||||||
+
|
|
||||||
+# run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
+# "localhost:${test_dir}/logfile_access_log.*"
|
|
||||||
+
|
|
||||||
+# check_output "could not download remote file?" <<EOF
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"
|
|
||||||
+# 10.112.81.15 - - [15/Feb/2013:06:00:31 +0000] "-" 400 0 "-" "-"
|
|
||||||
+# EOF
|
|
||||||
+
|
|
||||||
+# run_test ${lnav_test} -d /tmp/lnav.err -n \
|
|
||||||
+# "localhost:${test_dir}/remote-log-dir"
|
|
||||||
+
|
|
||||||
+# check_output "could not download remote file?" <<EOF
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
|
|
||||||
+# 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"
|
|
||||||
+# 10.112.81.15 - - [15/Feb/2013:06:00:31 +0000] "-" 400 0 "-" "-"
|
|
||||||
+# EOF
|
|
@ -1,73 +0,0 @@
|
|||||||
From 85515b2c196f2e361e93c158201f74177dc4ae37 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Randy Barlow <randy@electronsweatshop.com>
|
|
||||||
Date: Sat, 18 Sep 2021 21:56:19 -0400
|
|
||||||
Subject: [PATCH] Provide a configure flag to use the system doctest
|
|
||||||
|
|
||||||
This will allow distributions to more easily maintain
|
|
||||||
incompatibilies between doctest and the rest of their software.
|
|
||||||
|
|
||||||
Fixes #912
|
|
||||||
|
|
||||||
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
|
||||||
---
|
|
||||||
configure.ac | 21 +
|
|
||||||
src/Makefile.am | 4 +
|
|
||||||
src/doctest.hh | 5502 +--------------------------------------
|
|
||||||
src/doctest_vendored.hh | 5464 ++++++++++++++++++++++++++++++++++++++
|
|
||||||
4 files changed, 5527 insertions(+), 5464 deletions(-)
|
|
||||||
create mode 100644 src/doctest_vendored.hh
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index f2127def..33746d1e 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -153,6 +153,27 @@ AS_IF([test "x$enable_simd" = "xyes"], [
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
+AC_ARG_WITH([system_doctest],
|
|
||||||
+ AS_HELP_STRING(
|
|
||||||
+ [--with-system-doctest],
|
|
||||||
+ [Use the system provided doctest library rather than the bundled one]
|
|
||||||
+ ),
|
|
||||||
+ [], []
|
|
||||||
+)
|
|
||||||
+
|
|
||||||
+AS_IF([test "x$with_system_doctest" = "xyes"], [
|
|
||||||
+ AC_CHECK_HEADERS(doctest/doctest.h)
|
|
||||||
+ AS_IF([test "x$ac_cv_header_doctest_doctest_h" != "xyes"], [
|
|
||||||
+ AC_MSG_ERROR([system doctest not found])dnl
|
|
||||||
+ ])
|
|
||||||
+ AC_DEFINE([DOCTEST_HEADER], ["doctest/doctest.h"], [doctest include path])
|
|
||||||
+])
|
|
||||||
+AS_IF([test "x$with_system_doctest" != "xyes"], [
|
|
||||||
+ AC_DEFINE([DOCTEST_HEADER], ["doctest_vendored.hh"], [doctest include path])
|
|
||||||
+ AS_VAR_SET(doctest_vendored_h, "doctest_vendored.hh")
|
|
||||||
+ AC_SUBST(doctest_vendored_h)
|
|
||||||
+])
|
|
||||||
+
|
|
||||||
|
|
||||||
LNAV_WITH_JEMALLOC
|
|
||||||
|
|
||||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
|
||||||
index 9be9168e..8dc0cd94 100644
|
|
||||||
--- a/src/Makefile.am
|
|
||||||
+++ b/src/Makefile.am
|
|
||||||
@@ -151,6 +151,9 @@ dist_noinst_DATA = \
|
|
||||||
$(FORMAT_FILES) \
|
|
||||||
xterm-palette.json
|
|
||||||
|
|
||||||
+EXTRA_HEADERS = \
|
|
||||||
+ doctest_vendored.hh
|
|
||||||
+
|
|
||||||
noinst_HEADERS = \
|
|
||||||
all_logs_vtab.hh \
|
|
||||||
ansi_scrubber.hh \
|
|
||||||
@@ -174,6 +177,7 @@ noinst_HEADERS = \
|
|
||||||
db_sub_source.hh \
|
|
||||||
doc_status_source.hh \
|
|
||||||
doctest.hh \
|
|
||||||
+ $(doctest_vendored_h) \
|
|
||||||
elem_to_json.hh \
|
|
||||||
environ_vtab.hh \
|
|
||||||
field_overlay_source.hh \
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From b16833392b74826f8cd437675fc29e4a0b88efcd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Randy Barlow <randy@electronsweatshop.com>
|
||||||
|
Date: Sun, 4 Sep 2022 00:03:33 -0400
|
||||||
|
Subject: [PATCH] Only build ssh keys when needed
|
||||||
|
|
||||||
|
I believe the test/remote folder only needs to be setup for
|
||||||
|
test/test_remote.sh. Prior to this commit, it was being built during
|
||||||
|
make, rather than just during make check. This commit adjusts things so
|
||||||
|
that the test/remote folder is only generated during make check, and
|
||||||
|
only when test/test_remote.sh is being executed.
|
||||||
|
|
||||||
|
Fixes #1040
|
||||||
|
|
||||||
|
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
||||||
|
---
|
||||||
|
test/Makefile.am | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/test/Makefile.am b/test/Makefile.am
|
||||||
|
index fd09a656..457f3cb0 100644
|
||||||
|
--- a/test/Makefile.am
|
||||||
|
+++ b/test/Makefile.am
|
||||||
|
@@ -478,7 +478,7 @@ DISTCLEANFILES = \
|
||||||
|
empty \
|
||||||
|
scripts-empty
|
||||||
|
|
||||||
|
-all-local: remote/ssh_host_dsa_key remote/ssh_host_rsa_key remote/id_rsa
|
||||||
|
+test_remote.sh.log: remote/ssh_host_dsa_key remote/ssh_host_rsa_key remote/id_rsa
|
||||||
|
|
||||||
|
distclean-local:
|
||||||
|
$(RM_V)rm -rf remote remote-tmp not:a:remote:dir
|
||||||
|
--
|
||||||
|
2.37.2
|
||||||
|
|
@ -0,0 +1,67 @@
|
|||||||
|
From 70231dce88cf47f2f3e2b396fe0623ea74eeadfc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Randy Barlow <randy@electronsweatshop.com>
|
||||||
|
Date: Sat, 3 Sep 2022 18:13:08 -0400
|
||||||
|
Subject: [PATCH] Disable some flaky tests
|
||||||
|
|
||||||
|
Certain tests commented out for stability reasons:
|
||||||
|
* listview: Fails when building inside sandbox
|
||||||
|
https://github.com/tstack/lnav/issues/1039
|
||||||
|
* mvattrline: Fails on some testers boxes. Documented here:
|
||||||
|
https://github.com/tstack/lnav/issues/911
|
||||||
|
* logfile: Flaky. Fails some times and not others. i.e. Race condition
|
||||||
|
* tui: Can hang the build
|
||||||
|
|
||||||
|
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
||||||
|
---
|
||||||
|
test/Makefile.am | 8 --------
|
||||||
|
1 file changed, 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/Makefile.am b/test/Makefile.am
|
||||||
|
index fd09a656..07d6758e 100644
|
||||||
|
--- a/test/Makefile.am
|
||||||
|
+++ b/test/Makefile.am
|
||||||
|
@@ -188,10 +188,7 @@ dist_noinst_SCRIPTS = \
|
||||||
|
test_grep_proc.sh \
|
||||||
|
test_json_format.sh \
|
||||||
|
test_line_buffer.sh \
|
||||||
|
- test_listview.sh \
|
||||||
|
- test_logfile.sh \
|
||||||
|
test_meta.sh \
|
||||||
|
- test_mvwattrline.sh \
|
||||||
|
test_regex101.sh \
|
||||||
|
test_remote.sh \
|
||||||
|
test_scripts.sh \
|
||||||
|
@@ -211,7 +208,6 @@ dist_noinst_SCRIPTS = \
|
||||||
|
test_sql_xml_func.sh \
|
||||||
|
test_sql_yaml_func.sh \
|
||||||
|
test_text_file.sh \
|
||||||
|
- test_tui.sh \
|
||||||
|
test_view_colors.sh \
|
||||||
|
test_vt52_curses.sh \
|
||||||
|
test_pretty_print.sh
|
||||||
|
@@ -391,14 +387,11 @@ TESTS = \
|
||||||
|
test_cmds.sh \
|
||||||
|
test_config.sh \
|
||||||
|
test_events.sh \
|
||||||
|
- test_listview.sh \
|
||||||
|
test_meta.sh \
|
||||||
|
- test_mvwattrline.sh \
|
||||||
|
test_grep_proc.sh \
|
||||||
|
test_grep_proc2 \
|
||||||
|
test_json_format.sh \
|
||||||
|
test_log_accel \
|
||||||
|
- test_logfile.sh \
|
||||||
|
test_reltime \
|
||||||
|
test_scripts.sh \
|
||||||
|
test_sessions.sh \
|
||||||
|
@@ -417,7 +410,6 @@ TESTS = \
|
||||||
|
test_sql_xml_func.sh \
|
||||||
|
test_sql_yaml_func.sh \
|
||||||
|
test_text_file.sh \
|
||||||
|
- test_tui.sh \
|
||||||
|
test_data_parser.sh \
|
||||||
|
test_pretty_print.sh \
|
||||||
|
test_view_colors.sh \
|
||||||
|
--
|
||||||
|
2.37.2
|
||||||
|
|
@ -1,18 +0,0 @@
|
|||||||
--- lnav-0.8.4/test/Makefile.am
|
|
||||||
+++ lnav-0.8.4/test/Makefile.am
|
|
||||||
@@ -373,7 +373,6 @@
|
|
||||||
test_concise \
|
|
||||||
test_line_buffer2 \
|
|
||||||
test_line_buffer.sh \
|
|
||||||
- test_listview.sh \
|
|
||||||
test_meta.sh \
|
|
||||||
test_grep_proc.sh \
|
|
||||||
test_grep_proc2 \
|
|
||||||
@@ -381,7 +380,6 @@
|
|
||||||
test_json_op.sh \
|
|
||||||
test_json_ptr_walk.sh \
|
|
||||||
test_log_accel \
|
|
||||||
- test_logfile.sh \
|
|
||||||
test_pcrepp \
|
|
||||||
test_reltime \
|
|
||||||
test_scripts.sh \
|
|
@ -1,10 +0,0 @@
|
|||||||
--- a/m4/ax_with_curses.m4 2019-07-28 08:49:13.670014444 -0500
|
|
||||||
+++ b/m4/ax_with_curses.m4 2019-07-28 08:46:32.280013473 -0500
|
|
||||||
@@ -216,6 +216,8 @@
|
|
||||||
ax_cv_curses=yes
|
|
||||||
ax_cv_curses_which=ncursesw
|
|
||||||
CURSES_LIB="-lncursesw"
|
|
||||||
+ temp_lib=`echo $ax_saved_LIBS|sed 's/tinfo/tinfow/'`
|
|
||||||
+ ax_saved_LIBS=$temp_lib
|
|
||||||
AC_DEFINE([HAVE_NCURSESW], [1], [Define to 1 if the NcursesW library is present])
|
|
||||||
AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present])
|
|
@ -1,27 +0,0 @@
|
|||||||
From 60dde499ac87c2399ac24ae85c98ed8cce564858 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Timothy Stack <timothyshanestack@gmail.com>
|
|
||||||
Date: Thu, 31 Dec 2020 23:23:56 -0800
|
|
||||||
Subject: [PATCH] [tests] fix test to make it insensitive to the current date
|
|
||||||
|
|
||||||
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
|
||||||
--- a/test/test_sql.sh
|
|
||||||
+++ b/test/test_sql.sh
|
|
||||||
@@ -1012,13 +1012,13 @@ EOF
|
|
||||||
|
|
||||||
|
|
||||||
cat ${test_dir}/logfile_syslog.0 | run_test ${lnav_test} -n \
|
|
||||||
- -c ";select log_time from syslog_log where log_procname = 'automount'"
|
|
||||||
+ -c ";select log_body from syslog_log where log_procname = 'automount'"
|
|
||||||
|
|
||||||
check_output "querying against stdin is not working?" <<EOF
|
|
||||||
- log_time
|
|
||||||
-2020-11-03 09:23:38.000
|
|
||||||
-2020-11-03 09:23:38.000
|
|
||||||
-2020-11-03 09:23:38.000
|
|
||||||
+ log_body
|
|
||||||
+ lookup(file): lookup for foobar failed
|
|
||||||
+ attempting to mount entry /auto/opt
|
|
||||||
+ lookup(file): lookup for opt failed
|
|
||||||
EOF
|
|
||||||
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
From cc072d29ead6f1df896bc61b83d7d41dab0b7132 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Timothy Stack <timothyshanestack@gmail.com>
|
|
||||||
Date: Thu, 31 Dec 2020 23:26:57 -0800
|
|
||||||
Subject: [PATCH] [tests] update another date-sensitive test
|
|
||||||
|
|
||||||
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
|
||||||
--- a/test/test_sql.sh
|
|
||||||
+++ b/test/test_sql.sh
|
|
||||||
@@ -1023,11 +1023,11 @@ EOF
|
|
||||||
|
|
||||||
|
|
||||||
cat ${test_dir}/logfile_syslog.0 | run_test ${lnav_test} -n \
|
|
||||||
- -c ";select log_time from syslog_log where log_procname = 'sudo'"
|
|
||||||
+ -c ";select log_body from syslog_log where log_procname = 'sudo'"
|
|
||||||
|
|
||||||
check_output "single result is not working?" <<EOF
|
|
||||||
- log_time
|
|
||||||
-2020-11-03 09:47:02.000
|
|
||||||
+ log_body
|
|
||||||
+ timstack : TTY=pts/6 ; PWD=/auto/wstimstack/rpms/lbuild/test ; USER=root ; COMMAND=/usr/bin/tail /var/log/messages
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Create a dummy database for the next couple of tests to consume.
|
|
@ -1,551 +0,0 @@
|
|||||||
From e6d2e2d2b95c27cc85397d4af9528111c5304d02 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Timothy Stack <timothyshanestack@gmail.com>
|
|
||||||
Date: Sun, 30 May 2021 13:33:05 -0700
|
|
||||||
Subject: [PATCH] [logfile] add notes for automatic decisions and fix compile
|
|
||||||
errors
|
|
||||||
|
|
||||||
Fixes #864
|
|
||||||
|
|
||||||
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
|
||||||
--- a/m4/ax_cxx_compile_stdcxx.m4
|
|
||||||
+++ b/m4/ax_cxx_compile_stdcxx.m4
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
# ===========================================================================
|
|
||||||
-# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
|
|
||||||
+# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
@@ -16,7 +16,7 @@
|
|
||||||
# The second argument, if specified, indicates whether you insist on an
|
|
||||||
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
|
|
||||||
# -std=c++11). If neither is specified, you get whatever works, with
|
|
||||||
-# preference for an extended mode.
|
|
||||||
+# preference for no added switch, and then for an extended mode.
|
|
||||||
#
|
|
||||||
# The third argument, if specified 'mandatory' or if left unspecified,
|
|
||||||
# indicates that baseline support for the specified C++ standard is
|
|
||||||
@@ -33,21 +33,24 @@
|
|
||||||
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
|
|
||||||
# Copyright (c) 2015 Paul Norman <penorman@mac.com>
|
|
||||||
# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
|
|
||||||
+# Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
|
|
||||||
+# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
|
|
||||||
+# Copyright (c) 2020 Jason Merrill <jason@redhat.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
-#serial 4
|
|
||||||
+#serial 12
|
|
||||||
|
|
||||||
dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
|
|
||||||
dnl (serial version number 13).
|
|
||||||
|
|
||||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
|
||||||
- m4_if([$1], [11], [],
|
|
||||||
- [$1], [14], [],
|
|
||||||
- [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
|
|
||||||
+ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
|
|
||||||
+ [$1], [14], [ax_cxx_compile_alternatives="14 1y"],
|
|
||||||
+ [$1], [17], [ax_cxx_compile_alternatives="17 1z"],
|
|
||||||
[m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
|
|
||||||
m4_if([$2], [], [],
|
|
||||||
[$2], [ext], [],
|
|
||||||
@@ -59,18 +62,21 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
|
||||||
[m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
|
|
||||||
AC_LANG_PUSH([C++])dnl
|
|
||||||
ac_success=no
|
|
||||||
- AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
|
|
||||||
- ax_cv_cxx_compile_cxx$1,
|
|
||||||
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
|
||||||
- [ax_cv_cxx_compile_cxx$1=yes],
|
|
||||||
- [ax_cv_cxx_compile_cxx$1=no])])
|
|
||||||
- if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
|
|
||||||
- ac_success=yes
|
|
||||||
- fi
|
|
||||||
+
|
|
||||||
+ m4_if([$2], [], [dnl
|
|
||||||
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
|
|
||||||
+ ax_cv_cxx_compile_cxx$1,
|
|
||||||
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
|
||||||
+ [ax_cv_cxx_compile_cxx$1=yes],
|
|
||||||
+ [ax_cv_cxx_compile_cxx$1=no])])
|
|
||||||
+ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
|
|
||||||
+ ac_success=yes
|
|
||||||
+ fi])
|
|
||||||
|
|
||||||
m4_if([$2], [noext], [], [dnl
|
|
||||||
if test x$ac_success = xno; then
|
|
||||||
- for switch in -std=gnu++$1 -std=gnu++0x; do
|
|
||||||
+ for alternative in ${ax_cxx_compile_alternatives}; do
|
|
||||||
+ switch="-std=gnu++${alternative}"
|
|
||||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
|
||||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
|
||||||
$cachevar,
|
|
||||||
@@ -96,22 +102,27 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
|
||||||
dnl HP's aCC needs +std=c++11 according to:
|
|
||||||
dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
|
|
||||||
dnl Cray's crayCC needs "-h std=c++11"
|
|
||||||
- for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
|
|
||||||
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
|
||||||
- AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
|
||||||
- $cachevar,
|
|
||||||
- [ac_save_CXX="$CXX"
|
|
||||||
- CXX="$CXX $switch"
|
|
||||||
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
|
||||||
- [eval $cachevar=yes],
|
|
||||||
- [eval $cachevar=no])
|
|
||||||
- CXX="$ac_save_CXX"])
|
|
||||||
- if eval test x\$$cachevar = xyes; then
|
|
||||||
- CXX="$CXX $switch"
|
|
||||||
- if test -n "$CXXCPP" ; then
|
|
||||||
- CXXCPP="$CXXCPP $switch"
|
|
||||||
+ for alternative in ${ax_cxx_compile_alternatives}; do
|
|
||||||
+ for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
|
|
||||||
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
|
||||||
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
|
||||||
+ $cachevar,
|
|
||||||
+ [ac_save_CXX="$CXX"
|
|
||||||
+ CXX="$CXX $switch"
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
|
||||||
+ [eval $cachevar=yes],
|
|
||||||
+ [eval $cachevar=no])
|
|
||||||
+ CXX="$ac_save_CXX"])
|
|
||||||
+ if eval test x\$$cachevar = xyes; then
|
|
||||||
+ CXX="$CXX $switch"
|
|
||||||
+ if test -n "$CXXCPP" ; then
|
|
||||||
+ CXXCPP="$CXXCPP $switch"
|
|
||||||
+ fi
|
|
||||||
+ ac_success=yes
|
|
||||||
+ break
|
|
||||||
fi
|
|
||||||
- ac_success=yes
|
|
||||||
+ done
|
|
||||||
+ if test x$ac_success = xyes; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
@@ -148,6 +159,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
|
|
||||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
|
|
||||||
)
|
|
||||||
|
|
||||||
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
|
|
||||||
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
|
|
||||||
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
|
|
||||||
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
|
|
||||||
+)
|
|
||||||
|
|
||||||
dnl Tests for new features in C++11
|
|
||||||
|
|
||||||
@@ -185,11 +201,13 @@ namespace cxx11
|
|
||||||
|
|
||||||
struct Base
|
|
||||||
{
|
|
||||||
+ virtual ~Base() {}
|
|
||||||
virtual void f() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Derived : public Base
|
|
||||||
{
|
|
||||||
+ virtual ~Derived() override {}
|
|
||||||
virtual void f() override {}
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -518,7 +536,7 @@ namespace cxx14
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
- namespace test_digit_seperators
|
|
||||||
+ namespace test_digit_separators
|
|
||||||
{
|
|
||||||
|
|
||||||
constexpr auto ten_million = 100'000'000;
|
|
||||||
@@ -560,3 +578,385 @@ namespace cxx14
|
|
||||||
#endif // __cplusplus >= 201402L
|
|
||||||
|
|
||||||
]])
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+dnl Tests for new features in C++17
|
|
||||||
+
|
|
||||||
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
|
|
||||||
+
|
|
||||||
+// If the compiler admits that it is not ready for C++17, why torture it?
|
|
||||||
+// Hopefully, this will speed up the test.
|
|
||||||
+
|
|
||||||
+#ifndef __cplusplus
|
|
||||||
+
|
|
||||||
+#error "This is not a C++ compiler"
|
|
||||||
+
|
|
||||||
+#elif __cplusplus < 201703L
|
|
||||||
+
|
|
||||||
+#error "This is not a C++17 compiler"
|
|
||||||
+
|
|
||||||
+#else
|
|
||||||
+
|
|
||||||
+#include <initializer_list>
|
|
||||||
+#include <utility>
|
|
||||||
+#include <type_traits>
|
|
||||||
+
|
|
||||||
+namespace cxx17
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+ namespace test_constexpr_lambdas
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ constexpr int foo = [](){return 42;}();
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test::nested_namespace::definitions
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_fold_expression
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ template<typename... Args>
|
|
||||||
+ int multiply(Args... args)
|
|
||||||
+ {
|
|
||||||
+ return (args * ... * 1);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ template<typename... Args>
|
|
||||||
+ bool all(Args... args)
|
|
||||||
+ {
|
|
||||||
+ return (args && ...);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_extended_static_assert
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ static_assert (true);
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_auto_brace_init_list
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ auto foo = {5};
|
|
||||||
+ auto bar {5};
|
|
||||||
+
|
|
||||||
+ static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
|
|
||||||
+ static_assert(std::is_same<int, decltype(bar)>::value);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_typename_in_template_template_parameter
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ template<template<typename> typename X> struct D;
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_fallthrough_nodiscard_maybe_unused_attributes
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ int f1()
|
|
||||||
+ {
|
|
||||||
+ return 42;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ [[nodiscard]] int f2()
|
|
||||||
+ {
|
|
||||||
+ [[maybe_unused]] auto unused = f1();
|
|
||||||
+
|
|
||||||
+ switch (f1())
|
|
||||||
+ {
|
|
||||||
+ case 17:
|
|
||||||
+ f1();
|
|
||||||
+ [[fallthrough]];
|
|
||||||
+ case 42:
|
|
||||||
+ f1();
|
|
||||||
+ }
|
|
||||||
+ return f1();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_extended_aggregate_initialization
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ struct base1
|
|
||||||
+ {
|
|
||||||
+ int b1, b2 = 42;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ struct base2
|
|
||||||
+ {
|
|
||||||
+ base2() {
|
|
||||||
+ b3 = 42;
|
|
||||||
+ }
|
|
||||||
+ int b3;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ struct derived : base1, base2
|
|
||||||
+ {
|
|
||||||
+ int d;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ derived d1 {{1, 2}, {}, 4}; // full initialization
|
|
||||||
+ derived d2 {{}, {}, 4}; // value-initialized bases
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_general_range_based_for_loop
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ struct iter
|
|
||||||
+ {
|
|
||||||
+ int i;
|
|
||||||
+
|
|
||||||
+ int& operator* ()
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ const int& operator* () const
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ iter& operator++()
|
|
||||||
+ {
|
|
||||||
+ ++i;
|
|
||||||
+ return *this;
|
|
||||||
+ }
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ struct sentinel
|
|
||||||
+ {
|
|
||||||
+ int i;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ bool operator== (const iter& i, const sentinel& s)
|
|
||||||
+ {
|
|
||||||
+ return i.i == s.i;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ bool operator!= (const iter& i, const sentinel& s)
|
|
||||||
+ {
|
|
||||||
+ return !(i == s);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ struct range
|
|
||||||
+ {
|
|
||||||
+ iter begin() const
|
|
||||||
+ {
|
|
||||||
+ return {0};
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ sentinel end() const
|
|
||||||
+ {
|
|
||||||
+ return {5};
|
|
||||||
+ }
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ void f()
|
|
||||||
+ {
|
|
||||||
+ range r {};
|
|
||||||
+
|
|
||||||
+ for (auto i : r)
|
|
||||||
+ {
|
|
||||||
+ [[maybe_unused]] auto v = i;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_lambda_capture_asterisk_this_by_value
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ struct t
|
|
||||||
+ {
|
|
||||||
+ int i;
|
|
||||||
+ int foo()
|
|
||||||
+ {
|
|
||||||
+ return [*this]()
|
|
||||||
+ {
|
|
||||||
+ return i;
|
|
||||||
+ }();
|
|
||||||
+ }
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_enum_class_construction
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ enum class byte : unsigned char
|
|
||||||
+ {};
|
|
||||||
+
|
|
||||||
+ byte foo {42};
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_constexpr_if
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ template <bool cond>
|
|
||||||
+ int f ()
|
|
||||||
+ {
|
|
||||||
+ if constexpr(cond)
|
|
||||||
+ {
|
|
||||||
+ return 13;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ return 42;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_selection_statement_with_initializer
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ int f()
|
|
||||||
+ {
|
|
||||||
+ return 13;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ int f2()
|
|
||||||
+ {
|
|
||||||
+ if (auto i = f(); i > 0)
|
|
||||||
+ {
|
|
||||||
+ return 3;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ switch (auto i = f(); i + 4)
|
|
||||||
+ {
|
|
||||||
+ case 17:
|
|
||||||
+ return 2;
|
|
||||||
+
|
|
||||||
+ default:
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_template_argument_deduction_for_class_templates
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ template <typename T1, typename T2>
|
|
||||||
+ struct pair
|
|
||||||
+ {
|
|
||||||
+ pair (T1 p1, T2 p2)
|
|
||||||
+ : m1 {p1},
|
|
||||||
+ m2 {p2}
|
|
||||||
+ {}
|
|
||||||
+
|
|
||||||
+ T1 m1;
|
|
||||||
+ T2 m2;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ void f()
|
|
||||||
+ {
|
|
||||||
+ [[maybe_unused]] auto p = pair{13, 42u};
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_non_type_auto_template_parameters
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ template <auto n>
|
|
||||||
+ struct B
|
|
||||||
+ {};
|
|
||||||
+
|
|
||||||
+ B<5> b1;
|
|
||||||
+ B<'a'> b2;
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_structured_bindings
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ int arr[2] = { 1, 2 };
|
|
||||||
+ std::pair<int, int> pr = { 1, 2 };
|
|
||||||
+
|
|
||||||
+ auto f1() -> int(&)[2]
|
|
||||||
+ {
|
|
||||||
+ return arr;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ auto f2() -> std::pair<int, int>&
|
|
||||||
+ {
|
|
||||||
+ return pr;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ struct S
|
|
||||||
+ {
|
|
||||||
+ int x1 : 2;
|
|
||||||
+ volatile double y1;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ S f3()
|
|
||||||
+ {
|
|
||||||
+ return {};
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ auto [ x1, y1 ] = f1();
|
|
||||||
+ auto& [ xr1, yr1 ] = f1();
|
|
||||||
+ auto [ x2, y2 ] = f2();
|
|
||||||
+ auto& [ xr2, yr2 ] = f2();
|
|
||||||
+ const auto [ x3, y3 ] = f3();
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_exception_spec_type_system
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ struct Good {};
|
|
||||||
+ struct Bad {};
|
|
||||||
+
|
|
||||||
+ void g1() noexcept;
|
|
||||||
+ void g2();
|
|
||||||
+
|
|
||||||
+ template<typename T>
|
|
||||||
+ Bad
|
|
||||||
+ f(T*, T*);
|
|
||||||
+
|
|
||||||
+ template<typename T1, typename T2>
|
|
||||||
+ Good
|
|
||||||
+ f(T1*, T2*);
|
|
||||||
+
|
|
||||||
+ static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ namespace test_inline_variables
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
+ template<class T> void f(T)
|
|
||||||
+ {}
|
|
||||||
+
|
|
||||||
+ template<class T> inline T g(T)
|
|
||||||
+ {
|
|
||||||
+ return T{};
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ template<> inline void f<>(int)
|
|
||||||
+ {}
|
|
||||||
+
|
|
||||||
+ template<> int g<>(int)
|
|
||||||
+ {
|
|
||||||
+ return 5;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+} // namespace cxx17
|
|
||||||
+
|
|
||||||
+#endif // __cplusplus < 201703L
|
|
||||||
+
|
|
||||||
+]])
|
|
@ -1,82 +0,0 @@
|
|||||||
From 141436933a8d30edfd33aa5fcfb0c93cfa3ae9d5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Timothy Stack <timothyshanestack@gmail.com>
|
|
||||||
Date: Wed, 9 Dec 2020 15:35:06 -0800
|
|
||||||
Subject: [PATCH] [view_curses] use VC_ROLE instead of VC_STYLE where possible
|
|
||||||
and fix segv in mvwattrline
|
|
||||||
|
|
||||||
Fixes #806
|
|
||||||
|
|
||||||
Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
|
|
||||||
--- a/src/highlighter.cc
|
|
||||||
+++ b/src/highlighter.cc
|
|
||||||
@@ -115,7 +115,9 @@ void highlighter::annotate(attr_line_t &al, int start) const
|
|
||||||
vc.match_color(this->h_bg));
|
|
||||||
}
|
|
||||||
if (this->h_role != view_colors::VCR_NONE) {
|
|
||||||
- attrs |= vc.attrs_for_role(this->h_role);
|
|
||||||
+ sa.emplace_back(lr,
|
|
||||||
+ &view_curses::VC_ROLE,
|
|
||||||
+ this->h_role);
|
|
||||||
}
|
|
||||||
sa.emplace_back(lr, &view_curses::VC_STYLE, attrs);
|
|
||||||
|
|
||||||
--- a/src/logfile_sub_source.cc
|
|
||||||
+++ b/src/logfile_sub_source.cc
|
|
||||||
@@ -468,25 +468,28 @@ void logfile_sub_source::text_attrs_for_line(textview_curses &lv,
|
|
||||||
|
|
||||||
shift_string_attrs(value_out, 0, time_offset_end);
|
|
||||||
|
|
||||||
- attrs = vc.attrs_for_role(view_colors::VCR_OFFSET_TIME);
|
|
||||||
- value_out.emplace_back(lr, &view_curses::VC_STYLE, attrs);
|
|
||||||
+ value_out.emplace_back(lr,
|
|
||||||
+ &view_curses::VC_ROLE,
|
|
||||||
+ view_colors::VCR_OFFSET_TIME);
|
|
||||||
value_out.emplace_back(line_range(12, 13),
|
|
||||||
&view_curses::VC_GRAPHIC, ACS_VLINE);
|
|
||||||
|
|
||||||
- int bar_attrs = 0;
|
|
||||||
+ view_colors::role_t bar_role = view_colors::VCR_NONE;
|
|
||||||
|
|
||||||
switch (this->get_line_accel_direction(vis_line_t(row))) {
|
|
||||||
case log_accel::A_STEADY:
|
|
||||||
break;
|
|
||||||
case log_accel::A_DECEL:
|
|
||||||
- bar_attrs = vc.attrs_for_role(view_colors::VCR_DIFF_DELETE);
|
|
||||||
+ bar_role = view_colors::VCR_DIFF_DELETE;
|
|
||||||
break;
|
|
||||||
case log_accel::A_ACCEL:
|
|
||||||
- bar_attrs = vc.attrs_for_role(view_colors::VCR_DIFF_ADD);
|
|
||||||
+ bar_role = view_colors::VCR_DIFF_ADD;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
- value_out.push_back(
|
|
||||||
- string_attr(line_range(12, 13), &view_curses::VC_STYLE, bar_attrs));
|
|
||||||
+ if (bar_role != view_colors::VCR_NONE) {
|
|
||||||
+ value_out.emplace_back(
|
|
||||||
+ line_range(12, 13), &view_curses::VC_ROLE, bar_role);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
lr.lr_start = 0;
|
|
||||||
--- a/src/view_curses.cc
|
|
||||||
+++ b/src/view_curses.cc
|
|
||||||
@@ -402,13 +402,16 @@ void view_curses::mvwattrline(WINDOW *window,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (attr_range.lr_end == -1) {
|
|
||||||
+ attr_range.lr_end = line_width_chars;
|
|
||||||
+ }
|
|
||||||
+ if (attr_range.lr_end < lr_chars.lr_start) {
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
attr_range.lr_start = max(0, attr_range.lr_start - lr_chars.lr_start);
|
|
||||||
if (attr_range.lr_start > line_width_chars) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
- if (attr_range.lr_end == -1) {
|
|
||||||
- attr_range.lr_end = lr_chars.lr_start + line_width_chars;
|
|
||||||
- }
|
|
||||||
|
|
||||||
attr_range.lr_end = min(line_width_chars, attr_range.lr_end - lr_chars.lr_start);
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit autotools
|
|
||||||
|
|
||||||
DESCRIPTION="A curses-based tool for viewing and analyzing log files"
|
|
||||||
HOMEPAGE="https://lnav.org"
|
|
||||||
SRC_URI="https://github.com/tstack/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE="unicode"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
app-arch/bzip2:0=
|
|
||||||
app-arch/libarchive:=
|
|
||||||
>=dev-db/sqlite-3.9.0
|
|
||||||
dev-libs/libpcre[cxx]
|
|
||||||
>=net-misc/curl-7.23.0
|
|
||||||
sys-libs/ncurses:=[unicode(+)?]
|
|
||||||
sys-libs/readline:0=
|
|
||||||
sys-libs/zlib:0="
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS NEWS README )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-0.10.0-disable-tests.patch
|
|
||||||
"${FILESDIR}"/${PN}-0.10.0-disable-remote-tests.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
econf \
|
|
||||||
--disable-static \
|
|
||||||
$(use_with unicode ncursesw)
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit autotools
|
|
||||||
|
|
||||||
DESCRIPTION="A curses-based tool for viewing and analyzing log files"
|
|
||||||
HOMEPAGE="https://lnav.org"
|
|
||||||
SRC_URI="https://github.com/tstack/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~amd64 ~x86"
|
|
||||||
IUSE="unicode test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
app-arch/bzip2:0=
|
|
||||||
app-arch/libarchive:=
|
|
||||||
test? ( dev-cpp/doctest )
|
|
||||||
>=dev-db/sqlite-3.9.0
|
|
||||||
dev-libs/libpcre[cxx]
|
|
||||||
>=net-misc/curl-7.23.0
|
|
||||||
sys-libs/ncurses:=[unicode(+)?]
|
|
||||||
sys-libs/readline:0=
|
|
||||||
sys-libs/zlib:0="
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS NEWS README )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-0.10.0-disable-tests.patch
|
|
||||||
"${FILESDIR}"/${PN}-0.10.0-disable-remote-tests.patch
|
|
||||||
# This allows us to use the --with-system-doctest configure flag, and should not be needed in
|
|
||||||
# the next release of lnav. See https://github.com/tstack/lnav/pull/915
|
|
||||||
# This patch isn't completely identical to the one in PR #915 because that patch was too large
|
|
||||||
# for repoman's tastes. See the comment in src_prepare() for how I applied the rest of this
|
|
||||||
# patch with rm and a heredoc.
|
|
||||||
# https://bugs.gentoo.org/812353
|
|
||||||
"${FILESDIR}"/${PN}-0.10.0-use-system-doctest.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# repoman didn't like having a ~500 kiB patch file, so I'm just manually removing the doctest we
|
|
||||||
# don't want (the bundled one) and putting the one we do want here.
|
|
||||||
# We won't need this once we get rid of lnav-0.10.0-use-system-doctest.patch
|
|
||||||
cat <<EOF > src/doctest.hh
|
|
||||||
#include "config.h"
|
|
||||||
#include DOCTEST_HEADER
|
|
||||||
EOF
|
|
||||||
# We won't need this once we get rid of lnav-0.10.0-use-system-doctest.patch
|
|
||||||
touch src/doctest_vendored.hh
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
econf \
|
|
||||||
--disable-static \
|
|
||||||
$(use_with test system-doctest) \
|
|
||||||
$(use_with unicode ncursesw)
|
|
||||||
}
|
|
@ -0,0 +1,56 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit autotools flag-o-matic
|
||||||
|
|
||||||
|
DESCRIPTION="A curses-based tool for viewing and analyzing log files"
|
||||||
|
HOMEPAGE="https://lnav.org"
|
||||||
|
SRC_URI="https://github.com/tstack/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="BSD-2"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="pcap test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
app-arch/bzip2:0=
|
||||||
|
app-arch/libarchive:=
|
||||||
|
>=dev-db/sqlite-3.9.0
|
||||||
|
dev-libs/libpcre[cxx]
|
||||||
|
>=net-misc/curl-7.23.0
|
||||||
|
sys-libs/ncurses:=
|
||||||
|
sys-libs/readline:=
|
||||||
|
sys-libs/zlib:=
|
||||||
|
pcap? ( net-analyzer/wireshark[tshark] )"
|
||||||
|
# The tests use ssh-keygen and use dsa and rsa keys (which is why ssl is required)
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
test? (
|
||||||
|
net-misc/openssh[ssl]
|
||||||
|
dev-cpp/doctest
|
||||||
|
)"
|
||||||
|
|
||||||
|
DOCS=( AUTHORS NEWS README )
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-0.11.0-disable-tests.patch
|
||||||
|
# https://github.com/tstack/lnav/pull/1041
|
||||||
|
"${FILESDIR}"/${PN}-0.11.0-conditional-ssh-keygen.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
filter-lto
|
||||||
|
|
||||||
|
econf \
|
||||||
|
--disable-static \
|
||||||
|
--with-ncurses \
|
||||||
|
$(use_with test system-doctest)
|
||||||
|
}
|
@ -1,52 +0,0 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit autotools
|
|
||||||
|
|
||||||
DESCRIPTION="A curses-based tool for viewing and analyzing log files"
|
|
||||||
HOMEPAGE="https://lnav.org"
|
|
||||||
SRC_URI="https://github.com/tstack/lnav/releases/download/v${PV}/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="BSD-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 x86"
|
|
||||||
IUSE="unicode"
|
|
||||||
|
|
||||||
RDEPEND="
|
|
||||||
app-arch/bzip2:0=
|
|
||||||
>=dev-db/sqlite-3.9.0
|
|
||||||
dev-libs/libpcre[cxx]
|
|
||||||
>=net-misc/curl-7.23.0
|
|
||||||
sys-libs/ncurses:=[unicode(+)?]
|
|
||||||
sys-libs/readline:0=
|
|
||||||
sys-libs/zlib:0="
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
DOCS=( AUTHORS NEWS README )
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-0.8.4-disable-tests.patch
|
|
||||||
# bug 723242
|
|
||||||
"${FILESDIR}"/${PN}-0.9.0-bug639332-tinfow.patch
|
|
||||||
# bug 713600
|
|
||||||
"${FILESDIR}"/${PN}-0.9.0-bug713600_0.patch
|
|
||||||
"${FILESDIR}"/${PN}-0.9.0-bug713600_1.patch
|
|
||||||
# Fix a segfault when using right arrow
|
|
||||||
# bug 792582
|
|
||||||
"${FILESDIR}"/${PN}-0.9.0-bug792582.patch
|
|
||||||
# Fix a build failure on gcc
|
|
||||||
# bug 786456
|
|
||||||
"${FILESDIR}"/${PN}-0.9.0-bug786456.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
econf \
|
|
||||||
--disable-static \
|
|
||||||
$(use_with unicode ncursesw)
|
|
||||||
}
|
|
Binary file not shown.
@ -1,5 +1,3 @@
|
|||||||
DIST clamav-0.103.6.tar.gz 16491761 BLAKE2B 3c43bcda4a613f81d1b31036e7323a7af7708e54af94ad30a659a8fb318d8f79f357086ce70703659298524d778374df886495cd8c75280bbbe4bae30795a85a SHA512 d39e1964678b8251bde3a9f3db30fe3d3d76cc566a86834297f4dd8489086dc9cc4c6541ca128089159f4c071d2d85b530455bd942987d3929ea0082b8ab272b
|
DIST clamav-0.103.6.tar.gz 16491761 BLAKE2B 3c43bcda4a613f81d1b31036e7323a7af7708e54af94ad30a659a8fb318d8f79f357086ce70703659298524d778374df886495cd8c75280bbbe4bae30795a85a SHA512 d39e1964678b8251bde3a9f3db30fe3d3d76cc566a86834297f4dd8489086dc9cc4c6541ca128089159f4c071d2d85b530455bd942987d3929ea0082b8ab272b
|
||||||
DIST clamav-0.103.7.tar.gz 16501741 BLAKE2B 49fc1c8c42ee8168dbaec4aa13ab0dfef7fa285e335cb38b17bc020df7400ee1daae49e06ba5b4ae0364d47d707cb83c0b1a8442d5b01d2bba5827606fe27fb4 SHA512 d426169889d94411b20a2c9c9579fc22a15090c9847849822c63fc6b404075feba0ff3663ee1382b2af5300394c7a93669844736f7473bfdce3250e1fd130326
|
DIST clamav-0.103.7.tar.gz 16501741 BLAKE2B 49fc1c8c42ee8168dbaec4aa13ab0dfef7fa285e335cb38b17bc020df7400ee1daae49e06ba5b4ae0364d47d707cb83c0b1a8442d5b01d2bba5827606fe27fb4 SHA512 d426169889d94411b20a2c9c9579fc22a15090c9847849822c63fc6b404075feba0ff3663ee1382b2af5300394c7a93669844736f7473bfdce3250e1fd130326
|
||||||
DIST clamav-0.104.2.tar.gz 11950409 BLAKE2B 7d7eb9d22ca519f7ad0c171b6cab4b59cb52787a897ab31b9567166be2223f9ea89e79f42f1e4e0caf32fcb4b008f5ce755fa136566f85fe1de7808b436f80fa SHA512 8c89a05dec6650677125177434cc49ec2298701525508cdda52358e8f98086d80892287f6267f8b7fda0aef2ca361616cb584c3059f3b066bfde65f7f1ba2df5
|
|
||||||
DIST clamav-0.104.3.tar.gz 12017176 BLAKE2B db97a3d3ca0a2c5273a175ee3a30fdd07eecd13588a39d39e4d07f91034016ee6eca626b0ab7bf548121e4093ea612f9932512bc021326e4bba8b0844af73664 SHA512 d38a2427df29813e4d0f41d480cda85f6175e617c397ab39d913000fa43fcb44f1e0b97d7bd558bc62369e8caeeb2b3aeb4b3dd575b9da4abb91f8b67a6b8431
|
|
||||||
DIST clamav-0.104.4.tar.gz 12027448 BLAKE2B e8627b49b46e9bf5669b7186d829fd2caa76d9071b1533da252fea1bdeed1b78ec4a138db8957b0d121df1180eb37a6230f5f0db1e4d3f2de80bf7dddad5b47e SHA512 5aa8abe96ff49548cf74df47a7e56279c3082dc8ca98cab02f64f44b2da0230e75b5f634b3086ba8ca155052cbc22a2a47ab3dd159ae033d3f599dcde1f2420e
|
DIST clamav-0.104.4.tar.gz 12027448 BLAKE2B e8627b49b46e9bf5669b7186d829fd2caa76d9071b1533da252fea1bdeed1b78ec4a138db8957b0d121df1180eb37a6230f5f0db1e4d3f2de80bf7dddad5b47e SHA512 5aa8abe96ff49548cf74df47a7e56279c3082dc8ca98cab02f64f44b2da0230e75b5f634b3086ba8ca155052cbc22a2a47ab3dd159ae033d3f599dcde1f2420e
|
||||||
|
@ -1,215 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
inherit cmake flag-o-matic python-any-r1 systemd tmpfiles
|
|
||||||
|
|
||||||
DESCRIPTION="Clam Anti-Virus Scanner"
|
|
||||||
HOMEPAGE="https://www.clamav.net/"
|
|
||||||
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
|
|
||||||
IUSE="doc clamonacc +clamapp libclamav-only milter rar selinux systemd test"
|
|
||||||
|
|
||||||
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
|
|
||||||
clamonacc? ( clamapp )
|
|
||||||
milter? ( clamapp )
|
|
||||||
test? ( !libclamav-only )"
|
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
# Require acct-{user,group}/clamav at build time so that we can set
|
|
||||||
# the permissions on /var/lib/clamav in src_install rather than in
|
|
||||||
# pkg_postinst; calling "chown" on the live filesystem scares me.
|
|
||||||
CDEPEND="acct-group/clamav
|
|
||||||
acct-user/clamav
|
|
||||||
dev-libs/libltdl
|
|
||||||
dev-libs/libmspack
|
|
||||||
dev-libs/json-c:=
|
|
||||||
dev-libs/libpcre2
|
|
||||||
>=sys-libs/zlib-1.2.2:=
|
|
||||||
app-arch/bzip2
|
|
||||||
clamapp? ( sys-libs/ncurses:= net-misc/curl )
|
|
||||||
elibc_musl? ( sys-libs/fts-standalone )
|
|
||||||
virtual/libiconv
|
|
||||||
!libclamav-only? ( net-misc/curl )
|
|
||||||
dev-libs/openssl:=
|
|
||||||
milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
|
|
||||||
dev-libs/libxml2
|
|
||||||
rar? ( app-arch/unrar )
|
|
||||||
test? ( dev-python/pytest )"
|
|
||||||
# TODO: there is no way to use this with the new build system instead of the bundled one
|
|
||||||
# dev-libs/tomsfastmath
|
|
||||||
BDEPEND="virtual/pkgconfig
|
|
||||||
doc? ( app-doc/doxygen )
|
|
||||||
test? (
|
|
||||||
${PYTHON_DEPS}
|
|
||||||
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
|
|
||||||
)"
|
|
||||||
DEPEND="${CDEPEND}
|
|
||||||
test? ( dev-libs/check )"
|
|
||||||
RDEPEND="${CDEPEND}
|
|
||||||
selinux? ( sec-policy/selinux-clamav )"
|
|
||||||
|
|
||||||
python_check_deps() {
|
|
||||||
has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use test && python-any-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use elibc_musl && append-ldflags -lfts
|
|
||||||
use ppc64 && append-flags -mminimal-toc
|
|
||||||
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DDATABASE_DIRECTORY="${EPREFIX}"/var/lib/clamav
|
|
||||||
-DAPP_CONFIG_DIRECTORY="${EPREFIX}"/etc/clamav
|
|
||||||
-DENABLE_EXPERIMENTAL=OFF
|
|
||||||
-DENABLE_JSON_SHARED=ON
|
|
||||||
-DENABLE_APP=$(usex clamapp ON OFF)
|
|
||||||
-DENABLE_MILTER=$(usex milter ON OFF)
|
|
||||||
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
|
|
||||||
-DCLAMAV_USER="clamav"
|
|
||||||
-DCLAMAV_GROUP="clamav"
|
|
||||||
-DBYTECODE_RUNTIME=interpreter
|
|
||||||
-DOPTIMIZE=ON
|
|
||||||
-DENABLE_EXTERNAL_MSPACK=ON
|
|
||||||
-DENABLE_MAN_PAGES=ON
|
|
||||||
-DENABLE_DOXYGEN=$(usex doc)
|
|
||||||
-DENABLE_UNRAR=$(usex rar ON OFF)
|
|
||||||
-DENABLE_TESTS=$(usex test ON OFF)
|
|
||||||
# Used to enable some more tests but doesn't behave well in
|
|
||||||
# sandbox necessarily(?) + needs certain debug symbols present
|
|
||||||
# in e.g. glibc.
|
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_Valgrind=ON
|
|
||||||
-DENABLE_STATIC_LIB=OFF
|
|
||||||
-DENABLE_SHARED_LIB=ON
|
|
||||||
-DENABLE_SYSTEMD=$(usex systemd ON OFF)
|
|
||||||
)
|
|
||||||
cmake_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
cmake_src_install
|
|
||||||
|
|
||||||
# init scripts
|
|
||||||
newinitd "${FILESDIR}/clamd.initd" clamd
|
|
||||||
newinitd "${FILESDIR}/freshclam.initd" freshclam
|
|
||||||
use clamonacc && \
|
|
||||||
newinitd "${FILESDIR}/clamonacc.initd" clamonacc
|
|
||||||
use milter && \
|
|
||||||
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
|
|
||||||
|
|
||||||
rm -rf "${ED}"/var/lib/clamav || die
|
|
||||||
|
|
||||||
if ! use libclamav-only ; then
|
|
||||||
if use systemd ; then
|
|
||||||
# The tmpfiles entry is behind USE=systemd because the
|
|
||||||
# upstream OpenRC service files should (and do) ensure that
|
|
||||||
# the directories they need exist and have the correct
|
|
||||||
# permissions without the help of opentmpfiles. There are
|
|
||||||
# years-old root exploits in opentmpfiles, the design is
|
|
||||||
# fundamentally flawed, and the maintainer is not up to
|
|
||||||
# the task of fixing it.
|
|
||||||
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
|
|
||||||
systemd_newunit "${FILESDIR}/clamd_at.service-0.104.0" "clamd@.service"
|
|
||||||
systemd_dounit "${FILESDIR}/clamd.service"
|
|
||||||
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
|
|
||||||
"freshclamd.service"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use clamapp ; then
|
|
||||||
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(LocalSocket .*\)/\1/" \
|
|
||||||
-e "s/^#\(User .*\)/\1/" \
|
|
||||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
|
|
||||||
-e "s:^\#\(LogTime\).*:\1 yes:" \
|
|
||||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
|
||||||
"${ED}"/etc/clamav/clamd.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/clamd.conf || die
|
|
||||||
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(DatabaseOwner .*\)/\1/" \
|
|
||||||
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
|
|
||||||
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \
|
|
||||||
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
|
|
||||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
|
||||||
"${ED}"/etc/clamav/freshclam.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/freshclam.conf || die
|
|
||||||
|
|
||||||
if use milter ; then
|
|
||||||
# Note: only keep the "unix" ClamdSocket and MilterSocket!
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
|
|
||||||
-e "s/^#\(User .*\)/\1/" \
|
|
||||||
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
|
|
||||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
|
|
||||||
"${ED}"/etc/clamav/clamav-milter.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/clamav-milter.conf || die
|
|
||||||
|
|
||||||
systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service
|
|
||||||
fi
|
|
||||||
|
|
||||||
local i
|
|
||||||
for i in clamd freshclam clamav-milter
|
|
||||||
do
|
|
||||||
if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then
|
|
||||||
mv "${ED}"/etc/"${i}".conf{.sample,} || die
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These both need to be writable by the clamav user.
|
|
||||||
# TODO: use syslog by default; that's what it's for.
|
|
||||||
diropts -o clamav -g clamav
|
|
||||||
keepdir /var/lib/clamav
|
|
||||||
keepdir /var/log/clamav
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use doc ; then
|
|
||||||
local HTML_DOCS=( docs/html/. )
|
|
||||||
einstalldocs
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Don't install man pages for utilities we didn't install
|
|
||||||
if use libclamav-only ; then
|
|
||||||
rm -r "${ED}"/usr/share/man || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if ! use libclamav-only ; then
|
|
||||||
if use systemd ; then
|
|
||||||
tmpfiles_process clamav.conf
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use milter ; then
|
|
||||||
elog "For simple instructions how to setup the clamav-milter read the"
|
|
||||||
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
|
|
||||||
if [[ ! -f "${databases}" ]] ; then
|
|
||||||
ewarn "You must run freshclam manually to populate the virus database"
|
|
||||||
ewarn "before starting clamav for the first time."
|
|
||||||
fi
|
|
||||||
|
|
||||||
ewarn "This version of ClamAV provides separate OpenRC services"
|
|
||||||
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
|
|
||||||
ewarn "clamd service now starts only the clamd daemon itself. You"
|
|
||||||
ewarn "should add freshclam (and perhaps clamav-milter) to any"
|
|
||||||
ewarn "runlevels that previously contained clamd."
|
|
||||||
}
|
|
@ -1,215 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
inherit cmake flag-o-matic python-any-r1 systemd tmpfiles
|
|
||||||
|
|
||||||
DESCRIPTION="Clam Anti-Virus Scanner"
|
|
||||||
HOMEPAGE="https://www.clamav.net/"
|
|
||||||
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
|
|
||||||
IUSE="doc clamonacc +clamapp libclamav-only milter rar selinux systemd test"
|
|
||||||
|
|
||||||
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
|
|
||||||
clamonacc? ( clamapp )
|
|
||||||
milter? ( clamapp )
|
|
||||||
test? ( !libclamav-only )"
|
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
# Require acct-{user,group}/clamav at build time so that we can set
|
|
||||||
# the permissions on /var/lib/clamav in src_install rather than in
|
|
||||||
# pkg_postinst; calling "chown" on the live filesystem scares me.
|
|
||||||
CDEPEND="acct-group/clamav
|
|
||||||
acct-user/clamav
|
|
||||||
dev-libs/libltdl
|
|
||||||
dev-libs/libmspack
|
|
||||||
dev-libs/json-c:=
|
|
||||||
dev-libs/libpcre2
|
|
||||||
>=sys-libs/zlib-1.2.2:=
|
|
||||||
app-arch/bzip2
|
|
||||||
clamapp? ( sys-libs/ncurses:= net-misc/curl )
|
|
||||||
elibc_musl? ( sys-libs/fts-standalone )
|
|
||||||
virtual/libiconv
|
|
||||||
!libclamav-only? ( net-misc/curl )
|
|
||||||
dev-libs/openssl:=
|
|
||||||
milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
|
|
||||||
dev-libs/libxml2
|
|
||||||
rar? ( app-arch/unrar )
|
|
||||||
test? ( dev-python/pytest )"
|
|
||||||
# TODO: there is no way to use this with the new build system instead of the bundled one
|
|
||||||
# dev-libs/tomsfastmath
|
|
||||||
BDEPEND="virtual/pkgconfig
|
|
||||||
doc? ( app-doc/doxygen )
|
|
||||||
test? (
|
|
||||||
${PYTHON_DEPS}
|
|
||||||
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
|
|
||||||
)"
|
|
||||||
DEPEND="${CDEPEND}
|
|
||||||
test? ( dev-libs/check )"
|
|
||||||
RDEPEND="${CDEPEND}
|
|
||||||
selinux? ( sec-policy/selinux-clamav )"
|
|
||||||
|
|
||||||
python_check_deps() {
|
|
||||||
has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use test && python-any-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use elibc_musl && append-ldflags -lfts
|
|
||||||
use ppc64 && append-flags -mminimal-toc
|
|
||||||
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DDATABASE_DIRECTORY="${EPREFIX}"/var/lib/clamav
|
|
||||||
-DAPP_CONFIG_DIRECTORY="${EPREFIX}"/etc/clamav
|
|
||||||
-DENABLE_EXPERIMENTAL=OFF
|
|
||||||
-DENABLE_JSON_SHARED=ON
|
|
||||||
-DENABLE_APP=$(usex clamapp ON OFF)
|
|
||||||
-DENABLE_MILTER=$(usex milter ON OFF)
|
|
||||||
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
|
|
||||||
-DCLAMAV_USER="clamav"
|
|
||||||
-DCLAMAV_GROUP="clamav"
|
|
||||||
-DBYTECODE_RUNTIME=interpreter
|
|
||||||
-DOPTIMIZE=ON
|
|
||||||
-DENABLE_EXTERNAL_MSPACK=ON
|
|
||||||
-DENABLE_MAN_PAGES=ON
|
|
||||||
-DENABLE_DOXYGEN=$(usex doc)
|
|
||||||
-DENABLE_UNRAR=$(usex rar ON OFF)
|
|
||||||
-DENABLE_TESTS=$(usex test ON OFF)
|
|
||||||
# Used to enable some more tests but doesn't behave well in
|
|
||||||
# sandbox necessarily(?) + needs certain debug symbols present
|
|
||||||
# in e.g. glibc.
|
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_Valgrind=ON
|
|
||||||
-DENABLE_STATIC_LIB=OFF
|
|
||||||
-DENABLE_SHARED_LIB=ON
|
|
||||||
-DENABLE_SYSTEMD=$(usex systemd ON OFF)
|
|
||||||
)
|
|
||||||
cmake_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
cmake_src_install
|
|
||||||
|
|
||||||
# init scripts
|
|
||||||
newinitd "${FILESDIR}/clamd.initd" clamd
|
|
||||||
newinitd "${FILESDIR}/freshclam.initd" freshclam
|
|
||||||
use clamonacc && \
|
|
||||||
newinitd "${FILESDIR}/clamonacc.initd" clamonacc
|
|
||||||
use milter && \
|
|
||||||
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
|
|
||||||
|
|
||||||
rm -rf "${ED}"/var/lib/clamav || die
|
|
||||||
|
|
||||||
if ! use libclamav-only ; then
|
|
||||||
if use systemd ; then
|
|
||||||
# The tmpfiles entry is behind USE=systemd because the
|
|
||||||
# upstream OpenRC service files should (and do) ensure that
|
|
||||||
# the directories they need exist and have the correct
|
|
||||||
# permissions without the help of opentmpfiles. There are
|
|
||||||
# years-old root exploits in opentmpfiles, the design is
|
|
||||||
# fundamentally flawed, and the maintainer is not up to
|
|
||||||
# the task of fixing it.
|
|
||||||
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
|
|
||||||
systemd_newunit "${FILESDIR}/clamd_at.service-0.104.0" "clamd@.service"
|
|
||||||
systemd_dounit "${FILESDIR}/clamd.service"
|
|
||||||
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
|
|
||||||
"freshclamd.service"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use clamapp ; then
|
|
||||||
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(LocalSocket .*\)/\1/" \
|
|
||||||
-e "s/^#\(User .*\)/\1/" \
|
|
||||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
|
|
||||||
-e "s:^\#\(LogTime\).*:\1 yes:" \
|
|
||||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
|
||||||
"${ED}"/etc/clamav/clamd.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/clamd.conf || die
|
|
||||||
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(DatabaseOwner .*\)/\1/" \
|
|
||||||
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
|
|
||||||
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \
|
|
||||||
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
|
|
||||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
|
||||||
"${ED}"/etc/clamav/freshclam.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/freshclam.conf || die
|
|
||||||
|
|
||||||
if use milter ; then
|
|
||||||
# Note: only keep the "unix" ClamdSocket and MilterSocket!
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
|
|
||||||
-e "s/^#\(User .*\)/\1/" \
|
|
||||||
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
|
|
||||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
|
|
||||||
"${ED}"/etc/clamav/clamav-milter.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/clamav-milter.conf || die
|
|
||||||
|
|
||||||
systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service
|
|
||||||
fi
|
|
||||||
|
|
||||||
local i
|
|
||||||
for i in clamd freshclam clamav-milter
|
|
||||||
do
|
|
||||||
if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then
|
|
||||||
mv "${ED}"/etc/"${i}".conf{.sample,} || die
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These both need to be writable by the clamav user.
|
|
||||||
# TODO: use syslog by default; that's what it's for.
|
|
||||||
diropts -o clamav -g clamav
|
|
||||||
keepdir /var/lib/clamav
|
|
||||||
keepdir /var/log/clamav
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use doc ; then
|
|
||||||
local HTML_DOCS=( docs/html/. )
|
|
||||||
einstalldocs
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Don't install man pages for utilities we didn't install
|
|
||||||
if use libclamav-only ; then
|
|
||||||
rm -r "${ED}"/usr/share/man || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if ! use libclamav-only ; then
|
|
||||||
if use systemd ; then
|
|
||||||
tmpfiles_process clamav.conf
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use milter ; then
|
|
||||||
elog "For simple instructions how to setup the clamav-milter read the"
|
|
||||||
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
|
|
||||||
if [[ ! -f "${databases}" ]] ; then
|
|
||||||
ewarn "You must run freshclam manually to populate the virus database"
|
|
||||||
ewarn "before starting clamav for the first time."
|
|
||||||
fi
|
|
||||||
|
|
||||||
ewarn "This version of ClamAV provides separate OpenRC services"
|
|
||||||
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
|
|
||||||
ewarn "clamd service now starts only the clamd daemon itself. You"
|
|
||||||
ewarn "should add freshclam (and perhaps clamav-milter) to any"
|
|
||||||
ewarn "runlevels that previously contained clamd."
|
|
||||||
}
|
|
@ -1,215 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
inherit cmake flag-o-matic python-any-r1 systemd tmpfiles
|
|
||||||
|
|
||||||
DESCRIPTION="Clam Anti-Virus Scanner"
|
|
||||||
HOMEPAGE="https://www.clamav.net/"
|
|
||||||
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
|
|
||||||
IUSE="doc clamonacc +clamapp libclamav-only milter rar selinux systemd test"
|
|
||||||
|
|
||||||
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
|
|
||||||
clamonacc? ( clamapp )
|
|
||||||
milter? ( clamapp )
|
|
||||||
test? ( !libclamav-only )"
|
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
# Require acct-{user,group}/clamav at build time so that we can set
|
|
||||||
# the permissions on /var/lib/clamav in src_install rather than in
|
|
||||||
# pkg_postinst; calling "chown" on the live filesystem scares me.
|
|
||||||
CDEPEND="acct-group/clamav
|
|
||||||
acct-user/clamav
|
|
||||||
dev-libs/libltdl
|
|
||||||
dev-libs/libmspack
|
|
||||||
dev-libs/json-c:=
|
|
||||||
dev-libs/libpcre2
|
|
||||||
>=sys-libs/zlib-1.2.2:=
|
|
||||||
app-arch/bzip2
|
|
||||||
clamapp? ( sys-libs/ncurses:= net-misc/curl )
|
|
||||||
elibc_musl? ( sys-libs/fts-standalone )
|
|
||||||
virtual/libiconv
|
|
||||||
!libclamav-only? ( net-misc/curl )
|
|
||||||
dev-libs/openssl:=
|
|
||||||
milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
|
|
||||||
dev-libs/libxml2
|
|
||||||
rar? ( app-arch/unrar )
|
|
||||||
test? ( dev-python/pytest )"
|
|
||||||
# TODO: there is no way to use this with the new build system instead of the bundled one
|
|
||||||
# dev-libs/tomsfastmath
|
|
||||||
BDEPEND="virtual/pkgconfig
|
|
||||||
doc? ( app-doc/doxygen )
|
|
||||||
test? (
|
|
||||||
${PYTHON_DEPS}
|
|
||||||
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
|
|
||||||
)"
|
|
||||||
DEPEND="${CDEPEND}
|
|
||||||
test? ( dev-libs/check )"
|
|
||||||
RDEPEND="${CDEPEND}
|
|
||||||
selinux? ( sec-policy/selinux-clamav )"
|
|
||||||
|
|
||||||
python_check_deps() {
|
|
||||||
has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
use test && python-any-r1_pkg_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
use elibc_musl && append-ldflags -lfts
|
|
||||||
use ppc64 && append-flags -mminimal-toc
|
|
||||||
|
|
||||||
local mycmakeargs=(
|
|
||||||
-DDATABASE_DIRECTORY="${EPREFIX}"/var/lib/clamav
|
|
||||||
-DAPP_CONFIG_DIRECTORY="${EPREFIX}"/etc/clamav
|
|
||||||
-DENABLE_EXPERIMENTAL=OFF
|
|
||||||
-DENABLE_JSON_SHARED=ON
|
|
||||||
-DENABLE_APP=$(usex clamapp ON OFF)
|
|
||||||
-DENABLE_MILTER=$(usex milter ON OFF)
|
|
||||||
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
|
|
||||||
-DCLAMAV_USER="clamav"
|
|
||||||
-DCLAMAV_GROUP="clamav"
|
|
||||||
-DBYTECODE_RUNTIME=interpreter
|
|
||||||
-DOPTIMIZE=ON
|
|
||||||
-DENABLE_EXTERNAL_MSPACK=ON
|
|
||||||
-DENABLE_MAN_PAGES=ON
|
|
||||||
-DENABLE_DOXYGEN=$(usex doc)
|
|
||||||
-DENABLE_UNRAR=$(usex rar ON OFF)
|
|
||||||
-DENABLE_TESTS=$(usex test ON OFF)
|
|
||||||
# Used to enable some more tests but doesn't behave well in
|
|
||||||
# sandbox necessarily(?) + needs certain debug symbols present
|
|
||||||
# in e.g. glibc.
|
|
||||||
-DCMAKE_DISABLE_FIND_PACKAGE_Valgrind=ON
|
|
||||||
-DENABLE_STATIC_LIB=OFF
|
|
||||||
-DENABLE_SHARED_LIB=ON
|
|
||||||
-DENABLE_SYSTEMD=$(usex systemd ON OFF)
|
|
||||||
)
|
|
||||||
cmake_src_configure
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
cmake_src_install
|
|
||||||
|
|
||||||
# init scripts
|
|
||||||
newinitd "${FILESDIR}/clamd.initd" clamd
|
|
||||||
newinitd "${FILESDIR}/freshclam.initd" freshclam
|
|
||||||
use clamonacc && \
|
|
||||||
newinitd "${FILESDIR}/clamonacc.initd" clamonacc
|
|
||||||
use milter && \
|
|
||||||
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
|
|
||||||
|
|
||||||
rm -rf "${ED}"/var/lib/clamav || die
|
|
||||||
|
|
||||||
if ! use libclamav-only ; then
|
|
||||||
if use systemd ; then
|
|
||||||
# The tmpfiles entry is behind USE=systemd because the
|
|
||||||
# upstream OpenRC service files should (and do) ensure that
|
|
||||||
# the directories they need exist and have the correct
|
|
||||||
# permissions without the help of opentmpfiles. There are
|
|
||||||
# years-old root exploits in opentmpfiles, the design is
|
|
||||||
# fundamentally flawed, and the maintainer is not up to
|
|
||||||
# the task of fixing it.
|
|
||||||
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
|
|
||||||
systemd_newunit "${FILESDIR}/clamd_at.service-0.104.0" "clamd@.service"
|
|
||||||
systemd_dounit "${FILESDIR}/clamd.service"
|
|
||||||
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
|
|
||||||
"freshclamd.service"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use clamapp ; then
|
|
||||||
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(LocalSocket .*\)/\1/" \
|
|
||||||
-e "s/^#\(User .*\)/\1/" \
|
|
||||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
|
|
||||||
-e "s:^\#\(LogTime\).*:\1 yes:" \
|
|
||||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
|
||||||
"${ED}"/etc/clamav/clamd.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/clamd.conf || die
|
|
||||||
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(DatabaseOwner .*\)/\1/" \
|
|
||||||
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
|
|
||||||
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \
|
|
||||||
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
|
|
||||||
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
|
|
||||||
"${ED}"/etc/clamav/freshclam.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/freshclam.conf || die
|
|
||||||
|
|
||||||
if use milter ; then
|
|
||||||
# Note: only keep the "unix" ClamdSocket and MilterSocket!
|
|
||||||
sed -e "s:^\(Example\):\# \1:" \
|
|
||||||
-e "s/^#\(PidFile .*\)/\1/" \
|
|
||||||
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
|
|
||||||
-e "s/^#\(User .*\)/\1/" \
|
|
||||||
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
|
|
||||||
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
|
|
||||||
"${ED}"/etc/clamav/clamav-milter.conf.sample > \
|
|
||||||
"${ED}"/etc/clamav/clamav-milter.conf || die
|
|
||||||
|
|
||||||
systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service
|
|
||||||
fi
|
|
||||||
|
|
||||||
local i
|
|
||||||
for i in clamd freshclam clamav-milter
|
|
||||||
do
|
|
||||||
if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then
|
|
||||||
mv "${ED}"/etc/"${i}".conf{.sample,} || die
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# These both need to be writable by the clamav user.
|
|
||||||
# TODO: use syslog by default; that's what it's for.
|
|
||||||
diropts -o clamav -g clamav
|
|
||||||
keepdir /var/lib/clamav
|
|
||||||
keepdir /var/log/clamav
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use doc ; then
|
|
||||||
local HTML_DOCS=( docs/html/. )
|
|
||||||
einstalldocs
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Don't install man pages for utilities we didn't install
|
|
||||||
if use libclamav-only ; then
|
|
||||||
rm -r "${ED}"/usr/share/man || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
find "${ED}" -name '*.la' -delete || die
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if ! use libclamav-only ; then
|
|
||||||
if use systemd ; then
|
|
||||||
tmpfiles_process clamav.conf
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use milter ; then
|
|
||||||
elog "For simple instructions how to setup the clamav-milter read the"
|
|
||||||
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
|
|
||||||
if [[ ! -f "${databases}" ]] ; then
|
|
||||||
ewarn "You must run freshclam manually to populate the virus database"
|
|
||||||
ewarn "before starting clamav for the first time."
|
|
||||||
fi
|
|
||||||
|
|
||||||
ewarn "This version of ClamAV provides separate OpenRC services"
|
|
||||||
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
|
|
||||||
ewarn "clamd service now starts only the clamd daemon itself. You"
|
|
||||||
ewarn "should add freshclam (and perhaps clamav-milter) to any"
|
|
||||||
ewarn "runlevels that previously contained clamd."
|
|
||||||
}
|
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
DIST borgmatic-1.6.6.tar.gz 323601 BLAKE2B b40d8f00e3b7bbd343336cf4c6992e34d8289de451c184717827e8e43519b84d4bb9b8cff6a835a7cc502d2e93045f0196d744e4b6ad800de1276e11c3189cec SHA512 f1a6dfa344ebee89e88f1aa6b43d8493c80815c637d8e0f7f6314462fd511b576e62246d957023ab2f9a68875d2818e2b8ef00cbf3339dc35a93d6ebad0bed19
|
DIST borgmatic-1.6.6.tar.gz 323601 BLAKE2B b40d8f00e3b7bbd343336cf4c6992e34d8289de451c184717827e8e43519b84d4bb9b8cff6a835a7cc502d2e93045f0196d744e4b6ad800de1276e11c3189cec SHA512 f1a6dfa344ebee89e88f1aa6b43d8493c80815c637d8e0f7f6314462fd511b576e62246d957023ab2f9a68875d2818e2b8ef00cbf3339dc35a93d6ebad0bed19
|
||||||
DIST borgmatic-1.7.1.tar.gz 333344 BLAKE2B 0076fac9a01715d24dd8dfa9ca93099c94cfe33f65850c089a337b3f95b6c52706d0e6b15200532c0fcca9401f97c02d6ebabd700e42f5d9bb3516e04e7fa0a4 SHA512 6cf0c71a88f0f893f63bb2de7c466af87cad3eff57a6105a6bece2c1acddb962fa14c4d63944c37a3465dc3c09151003daa28e5045a897875552ff7de227d5fc
|
DIST borgmatic-1.7.2.tar.gz 333772 BLAKE2B fd628e9c77547686d4edf5d1066d3c171575f4d923ebc5205c5eb64f3a960e94c121282e9f4fb02b1291a81011a18dc393c6d13a07f215585459e7a5b55f8107 SHA512 6ec12ec25ae4d0210bb9114795c1ea292d8236f9e68c9425e24ee7b580796504e4c317a3fcf778806a33bbd3db68669beb4ef7a88ec538c1bd432db9a2845b3e
|
||||||
|
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
DIST dolphin-plugins-22.04.3.tar.xz 257356 BLAKE2B e3d084e628920a08c9e1173c754002f6b0ecfad07bd4d89a64f5b29a7e93362a814ead6aeff80412b01e7198adce78c36f36428560a1ea9e555027113f7d8e6f SHA512 1b96511fbf8ec93b03a5f204c2e4cff232ca0d09e4d1599c89d4d514deb3fb889dfd3050a5cabe4e35b6e65a5283ad09635a13931c8484eebc98a22ba9057b42
|
DIST dolphin-plugins-22.04.3.tar.xz 257356 BLAKE2B e3d084e628920a08c9e1173c754002f6b0ecfad07bd4d89a64f5b29a7e93362a814ead6aeff80412b01e7198adce78c36f36428560a1ea9e555027113f7d8e6f SHA512 1b96511fbf8ec93b03a5f204c2e4cff232ca0d09e4d1599c89d4d514deb3fb889dfd3050a5cabe4e35b6e65a5283ad09635a13931c8484eebc98a22ba9057b42
|
||||||
DIST dolphin-plugins-22.08.0.tar.xz 257872 BLAKE2B 9108b5ac5051b822d8fedac83dab967bd2a344f7d8d3ca8da9a544e40a186ae65a2f6470efce1fe091111392b7a998a8912842c0c31caf64a3e23b7e629ba184 SHA512 047997fa948d4a335495723946855964f6a652f9acf3ffd6f08f78dbfcb8c96a127861164f04f15de963e00295af226041ced7cdb25bd982a6a9f87c7c600855
|
DIST dolphin-plugins-22.08.1.tar.xz 257836 BLAKE2B 3ad0ebe22478b5540dbe4128df718cb428259e2c28d5586a2625c15f63fa9a1e8ca35d45397a9446e8a7bed66ecbc65f13137174a565792ba217158a2c71cd0f SHA512 9eee9e33640dfba94530bd538a0915cdf49257dd68934835056f2e9b0906e7e5884a83bb5095fd6b66e7fb86d5ae5cc77d319439a491cd424fc4fd01fb9097c5
|
||||||
|
Binary file not shown.
@ -0,0 +1,58 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit toolchain-funcs
|
||||||
|
|
||||||
|
DESCRIPTION="Offline Windows NT Password & Registry Editor"
|
||||||
|
HOMEPAGE="https://pogostick.net/~pnh/ntpasswd/"
|
||||||
|
SRC_URI="https://pogostick.net/~pnh/ntpasswd/${PN}-source-${PV}.zip"
|
||||||
|
|
||||||
|
LICENSE="GPL-2 LGPL-2.1"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~ppc ~x86"
|
||||||
|
IUSE="static"
|
||||||
|
|
||||||
|
RDEPEND="dev-libs/openssl:0="
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
app-arch/unzip
|
||||||
|
static? ( dev-libs/openssl:0[static-libs] )"
|
||||||
|
|
||||||
|
DOCS=(
|
||||||
|
HISTORY.txt
|
||||||
|
README.txt
|
||||||
|
WinReg.txt
|
||||||
|
regedit.txt
|
||||||
|
)
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${P}-missing-stdint.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
sed -i -e '/-o/s:$(CC):$(CC) $(LDFLAGS):' Makefile || die
|
||||||
|
|
||||||
|
if ! use static ; then
|
||||||
|
sed -i -e "/^all:/s/ \(chntpw\|reged\).static//g" Makefile || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
emake clean
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake \
|
||||||
|
CC="$(tc-getCC)" \
|
||||||
|
CFLAGS="${CFLAGS} -DUSEOPENSSL -Wall" \
|
||||||
|
LIBS="-lcrypto"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
einstalldocs
|
||||||
|
dobin chntpw cpnt reged sampasswd samusrgrp
|
||||||
|
|
||||||
|
if use static; then
|
||||||
|
dobin {chntpw,reged,sampasswd,samusrgrp}.static
|
||||||
|
fi
|
||||||
|
}
|
@ -1,2 +1 @@
|
|||||||
DIST mkp224o-1.5.0-src.tar.gz 1378324 BLAKE2B 19d38fbf23328607fa428ec9329cdc909b210b4235d85e14ff372347c9b408ecf22d41dac7122bdae06725d7bca0c3d53c81cc27272c47517e714e9b8e0625dd SHA512 aa5adc91e695dbfd8ece5fdfe3ca370056d4390a5186326b35ee37402040fa24675ede5389c48b79a1e57b624b86024ff72957741fef175602f7721f20c5cc14
|
|
||||||
DIST mkp224o-1.6.1-src.tar.gz 1387615 BLAKE2B 271424dcee44b5b1e1a35346a0cc1c37ee5d430231fe93e0b936ac994c892f0406ea361be763732db8a8397684ecad70e26c34f5553a415e7ed0592417672310 SHA512 d0c21ee5fb5f7b2950e1c39af5dc62b1e26aef0917b53169e9c3f9a99a7febe70bb2f96ada612c71bdbdbf8cad9c1f407d175af49fca40eedd68bbe8112970a5
|
DIST mkp224o-1.6.1-src.tar.gz 1387615 BLAKE2B 271424dcee44b5b1e1a35346a0cc1c37ee5d430231fe93e0b936ac994c892f0406ea361be763732db8a8397684ecad70e26c34f5553a415e7ed0592417672310 SHA512 d0c21ee5fb5f7b2950e1c39af5dc62b1e26aef0917b53169e9c3f9a99a7febe70bb2f96ada612c71bdbdbf8cad9c1f407d175af49fca40eedd68bbe8112970a5
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=8
|
|
||||||
|
|
||||||
DESCRIPTION="Vanity address generator for v3 Tor hidden service addresses"
|
|
||||||
HOMEPAGE="https://github.com/cathugger/mkp224o"
|
|
||||||
SRC_URI="https://github.com/cathugger/${PN}/releases/download/v${PV}/${PN}-${PV}-src.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="CC0-1.0"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64"
|
|
||||||
IUSE="cpu_flags_x86_sse2 pcre2"
|
|
||||||
|
|
||||||
DEPEND="
|
|
||||||
dev-libs/libsodium:=
|
|
||||||
pcre2? ( dev-libs/libpcre2:= )
|
|
||||||
"
|
|
||||||
RDEPEND="${DEPEND}"
|
|
||||||
|
|
||||||
DOCS=( OPTIMISATION.txt README.txt )
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
local myeconfargs=(
|
|
||||||
--enable-regex=$(usex pcre2)
|
|
||||||
--enable-statistics
|
|
||||||
)
|
|
||||||
use cpu_flags_x86_sse2 && myeconfargs+=( --enable-donna-sse2 )
|
|
||||||
|
|
||||||
econf "${myeconfargs[@]}"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
einstalldocs
|
|
||||||
dobin ${PN}
|
|
||||||
}
|
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST sjp-aspell6-pl-6.0_20220601-0.tar.bz2 650672 BLAKE2B cf8212d0ecfa482fd60c4a1b39c3a45c9d47c522899bf243bbe5f0d2dbfe51b8e444950c59b25a210fa8c210a03db03374b24e64350dcf10ce63ab8354b8c026 SHA512 9d3eda4ede1f1ab24b4fc3c9be049fd74711e1a6cd8632d8c8d5248d96b63264cf67f7ed783595142cb632904c15f7f13b887f5ae6656744ae9cc97adfc1ac9e
|
DIST sjp-aspell6-pl-6.0_20220601-0.tar.bz2 650672 BLAKE2B cf8212d0ecfa482fd60c4a1b39c3a45c9d47c522899bf243bbe5f0d2dbfe51b8e444950c59b25a210fa8c210a03db03374b24e64350dcf10ce63ab8354b8c026 SHA512 9d3eda4ede1f1ab24b4fc3c9be049fd74711e1a6cd8632d8c8d5248d96b63264cf67f7ed783595142cb632904c15f7f13b887f5ae6656744ae9cc97adfc1ac9e
|
||||||
|
DIST sjp-aspell6-pl-6.0_20220801-0.tar.bz2 651138 BLAKE2B 9ecb170beb64d63a45093415bd2dbe824629616878829d5450fc7dfd5b4ae79eb4d807673e025055c29877ca8054c9ad22185ae16574c8a938dd01372c55eeb6 SHA512 77fbd7a6c87f5a05d994b2c1aa3a808d0af37243906d1ce92f5bd735f4cf793769bb25a770e36c61a380c11f83f904aa598fab20dd0d031d172a6e7c1d440d2a
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
ASPELL_LANG="Polish"
|
||||||
|
ASPELL_VERSION=6
|
||||||
|
|
||||||
|
inherit aspell-dict-r1
|
||||||
|
|
||||||
|
HOMEPAGE="https://sjp.pl/slownik/en/"
|
||||||
|
|
||||||
|
MY_P="sjp-${PN/aspell/aspell6}-$(ver_rs 2 _ 3 -)"
|
||||||
|
SRC_URI="https://sjp.pl/slownik/ort/${MY_P}.tar.bz2"
|
||||||
|
S="${WORKDIR}/${MY_P/sjp-/}"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0 CC-BY-4.0 GPL-2 LGPL-2.1 MPL-1.1 "
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,92 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
MY_PTV=0.5
|
||||||
|
LUA_COMPAT=( lua5-2 lua5-3 lua5-4 )
|
||||||
|
|
||||||
|
inherit lua-single optfeature
|
||||||
|
|
||||||
|
if [ "${PV}" == "9999" ]; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="https://github.com/martanne/vis.git"
|
||||||
|
else
|
||||||
|
SRC_URI="https://github.com/martanne/vis/releases/download/v${PV}/${P}.tar.gz
|
||||||
|
test? ( https://github.com/martanne/vis-test/releases/download/v${MY_PTV}/vis-test-${MY_PTV}.tar.gz )"
|
||||||
|
KEYWORDS="~amd64 ~arm ~riscv ~x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESCRIPTION="modern, legacy free, simple yet efficient vim-like editor"
|
||||||
|
HOMEPAGE="https://github.com/martanne/vis"
|
||||||
|
LICENSE="ISC MIT"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="+ncurses +lua selinux test tre"
|
||||||
|
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
# - Known to also work with NetBSD curses
|
||||||
|
DEPEND="dev-libs/libtermkey
|
||||||
|
sys-apps/acl
|
||||||
|
ncurses? ( sys-libs/ncurses:0= )
|
||||||
|
lua? ( ${LUA_DEPS} )
|
||||||
|
tre? ( dev-libs/tre )"
|
||||||
|
RDEPEND="${DEPEND}
|
||||||
|
app-eselect/eselect-vi"
|
||||||
|
# lpeg: https://github.com/martanne/vis-test/issues/28
|
||||||
|
BDEPEND="test? (
|
||||||
|
$(lua_gen_cond_dep 'dev-lua/lpeg[${LUA_USEDEP}]')
|
||||||
|
$(lua_gen_cond_dep 'dev-lua/busted[${LUA_USEDEP}]')
|
||||||
|
)"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
use lua && lua-single_pkg_setup
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
if use test; then
|
||||||
|
if [ ! "${PV}" == "9999" ]; then
|
||||||
|
rm -r test || die
|
||||||
|
mv "${WORKDIR}/vis-test-${MY_PTV}" test || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# https://bugs.gentoo.org/722014 https://github.com/martanne/vis-test/pull/22
|
||||||
|
sed -i 's;./ccan-config > config.h;./ccan-config "${CC}" ${CFLAGS} > config.h;' test/core/Makefile || die
|
||||||
|
|
||||||
|
# https://github.com/martanne/vis-test/pull/29
|
||||||
|
sed -i 's;cpp -P;${CPP:-cpp} -P;' test/vim/test.sh || die
|
||||||
|
|
||||||
|
# https://github.com/martanne/vis-test/issues/27 a Werror clone
|
||||||
|
sed -i 's;|| strstr(output, "warning");;' test/core/ccan-config.c || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i 's|STRIP?=.*|STRIP=true|' Makefile || die
|
||||||
|
sed -i 's|${DOCPREFIX}/vis|${DOCPREFIX}|' Makefile || die
|
||||||
|
sed -i 's|DOCUMENTATION = LICENSE|DOCUMENTATION =|' Makefile || die
|
||||||
|
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
./configure \
|
||||||
|
--prefix="${EPREFIX}"/usr \
|
||||||
|
--docdir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||||
|
$(use_enable lua) \
|
||||||
|
$(use_enable ncurses curses) \
|
||||||
|
$(use_enable selinux) \
|
||||||
|
$(use_enable tre) || die
|
||||||
|
}
|
||||||
|
|
||||||
|
update_symlinks() {
|
||||||
|
einfo "Calling eselect vi update --if-unset"
|
||||||
|
eselect vi update --if-unset
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
update_symlinks
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
update_symlinks
|
||||||
|
optfeature "syntax highlighting support" dev-lua/lpeg
|
||||||
|
}
|
Binary file not shown.
@ -1 +1,2 @@
|
|||||||
DIST geiser-guile-0.23.2.tar.gz 15615 BLAKE2B e30f5eef1496f8016be35fa3eda2bf02fc651e5bdb9ac8cf8c90a130bd72dd13b67140f172aab24ed38858294ff83c366eaa4b3e354b0a1107c28a0258b2f787 SHA512 c696bc0e406869d9c68f3cda9bbc2f5f0690148264e221c6fc3217f867a5cae3fd6df59851fdbec8a6c9eb6aab7f9482c3231fe75a509d58d2d9d16c008774b8
|
DIST geiser-guile-0.23.2.tar.gz 15615 BLAKE2B e30f5eef1496f8016be35fa3eda2bf02fc651e5bdb9ac8cf8c90a130bd72dd13b67140f172aab24ed38858294ff83c366eaa4b3e354b0a1107c28a0258b2f787 SHA512 c696bc0e406869d9c68f3cda9bbc2f5f0690148264e221c6fc3217f867a5cae3fd6df59851fdbec8a6c9eb6aab7f9482c3231fe75a509d58d2d9d16c008774b8
|
||||||
|
DIST geiser-guile-0.26.1.tar.gz 15629 BLAKE2B b8daa40e2e713fcf43a02cc3797fa118c52b796921a0976bed8031b46c1c55da3c3d476cae24551f6a45f1f12f70c4fb99c59eb1ea900aa67ff6d557fd35c08b SHA512 2543773362872d82ca8c70ba278471be8e333e0919b42969b4634c1f14e1bb1b5416c530b1db346ac7897a4861624c4e69788c8d44beca39757c3bdf1d6d03b5
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
NEED_EMACS=25.1
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="Guile's implementation of the Geiser protocols"
|
||||||
|
HOMEPAGE="https://gitlab.com/emacs-geiser/guile/"
|
||||||
|
SRC_URI="https://gitlab.com/emacs-geiser/guile/-/archive/${PV}/guile-${PV}.tar.gz
|
||||||
|
-> ${P}.tar.gz"
|
||||||
|
S="${WORKDIR}"/guile-${PV}
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
BDEPEND="app-emacs/geiser"
|
||||||
|
RDEPEND="
|
||||||
|
${BDEPEND}
|
||||||
|
dev-scheme/guile
|
||||||
|
"
|
||||||
|
|
||||||
|
DOCS=( readme.org )
|
||||||
|
PATCHES=( "${FILESDIR}"/${PN}-guile-scheme-src-dir.patch )
|
||||||
|
ELISP_TEXINFO="${PN}.texi"
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
elisp_src_prepare
|
||||||
|
|
||||||
|
sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i ${PN}.el || die
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
elisp_src_install
|
||||||
|
|
||||||
|
insinto ${SITEETC}/${PN}
|
||||||
|
doins -r src
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
DIST geiser-0.23.2.tar.gz 653228 BLAKE2B ef0ce0a925a9d5df32a2b67b216dc46da535d68d70b706ffc9dd4d3bb01af879c9533337b2e8293c7bed8d3cdebeecd3f4443b3071f865cf1b7280347b202298 SHA512 dd6852d95296aaef44ad0e9a6723986372d58f9beab20bd45330aeffae590fbd5ea45822032fb9cc2712756e3b13ba5c829fbefeead4e5f41c94400bf059110e
|
DIST geiser-0.23.2.tar.gz 653228 BLAKE2B ef0ce0a925a9d5df32a2b67b216dc46da535d68d70b706ffc9dd4d3bb01af879c9533337b2e8293c7bed8d3cdebeecd3f4443b3071f865cf1b7280347b202298 SHA512 dd6852d95296aaef44ad0e9a6723986372d58f9beab20bd45330aeffae590fbd5ea45822032fb9cc2712756e3b13ba5c829fbefeead4e5f41c94400bf059110e
|
||||||
DIST geiser-0.25.1.tar.gz 652262 BLAKE2B 8c5a323bedd869c98bf500c861c7731a0b1dd9833f78bf348a2e29d26039c674a00b51529d77b56b213ccc1351b73388010847551b3cd829fb265cffb733864a SHA512 93a8d7e096a24759f5e8c9dbdd2d4ad31caf185c6a970ff1b4364c4492e5f2e0925cc59e97546f9c40dd5913fb2b38e7ade7599ef791c6e198ad0af966030f16
|
DIST geiser-0.25.1.tar.gz 652262 BLAKE2B 8c5a323bedd869c98bf500c861c7731a0b1dd9833f78bf348a2e29d26039c674a00b51529d77b56b213ccc1351b73388010847551b3cd829fb265cffb733864a SHA512 93a8d7e096a24759f5e8c9dbdd2d4ad31caf185c6a970ff1b4364c4492e5f2e0925cc59e97546f9c40dd5913fb2b38e7ade7599ef791c6e198ad0af966030f16
|
||||||
|
DIST geiser-0.26.1.tar.gz 652903 BLAKE2B f2b0121b390b33ee8d93136af9addd92dff7f683820bb32f76f36090b5028e9693f629949dd239a27597fc4e290c21100e1cdc143f5db3fb275bb5bd826d5862 SHA512 dfec087e94e73c4b3a12db56ea3192614c536aaeb3acdb20e1afe0512e69f09388576e19acc6e55a39f8f5b6397bcef40ad7f1cce0504ffe742d1f9478eed44f
|
||||||
DIST geiser-0.26.tar.gz 652756 BLAKE2B ac32db838473b8a07394146d5f7dc88ba2bfb36f4d169af14029e202a6d87950a69f0b920ed6a627bda90843cc77c1c7e57f49fee53af87ed9526642bdb65c27 SHA512 df6d7ec500e8e0546c56630f7f2f0901df8fa373924ac812b25ab0cfbeea2a5d0b9f1719850a7454eb7e7d0dda95209c201de85ff3937b717f2bec6ed2513e6b
|
DIST geiser-0.26.tar.gz 652756 BLAKE2B ac32db838473b8a07394146d5f7dc88ba2bfb36f4d169af14029e202a6d87950a69f0b920ed6a627bda90843cc77c1c7e57f49fee53af87ed9526642bdb65c27 SHA512 df6d7ec500e8e0546c56630f7f2f0901df8fa373924ac812b25ab0cfbeea2a5d0b9f1719850a7454eb7e7d0dda95209c201de85ff3937b717f2bec6ed2513e6b
|
||||||
|
@ -0,0 +1,40 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
NEED_EMACS=25.1
|
||||||
|
|
||||||
|
inherit elisp
|
||||||
|
|
||||||
|
DESCRIPTION="Generic interaction mode between Emacs and different Scheme implementations"
|
||||||
|
HOMEPAGE="https://gitlab.com/emacs-geiser/geiser/"
|
||||||
|
SRC_URI="https://gitlab.com/emacs-geiser/${PN}/-/archive/${PV}/${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
|
||||||
|
RDEPEND="app-emacs/transient"
|
||||||
|
BDEPEND="
|
||||||
|
${RDEPEND}
|
||||||
|
app-text/texi2html
|
||||||
|
sys-apps/texinfo
|
||||||
|
"
|
||||||
|
|
||||||
|
DOCS=( readme.org news.org doc/html )
|
||||||
|
SITEFILE="50${PN}-gentoo.el"
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
BYTECOMPFLAGS="-L elisp" elisp-compile elisp/*.el
|
||||||
|
|
||||||
|
emake -C doc info web
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
elisp-install ${PN} elisp/*.el{,c}
|
||||||
|
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||||
|
|
||||||
|
doinfo doc/*.info
|
||||||
|
einstalldocs
|
||||||
|
}
|
Binary file not shown.
@ -1,2 +1,4 @@
|
|||||||
DIST qemu-7.0.0-docs.tar.xz 5101176 BLAKE2B 827d4af2b3fd229d146b47253d12a8bfd60614f5ba60e098abc58a6635bd9f8a029775932f4fc3dee3cb1f0a379133c47d819c53273547abbbf2aacd6bbd4fc5 SHA512 8f27b954a2f3710cee5cb78635631b035ea733f43381d378464733164b897bc0e8c6b373d80f1d97a65b761c13e342ae0c0836202d1506ec0b7c214b7388c7bb
|
DIST qemu-7.0.0-docs.tar.xz 5101176 BLAKE2B 827d4af2b3fd229d146b47253d12a8bfd60614f5ba60e098abc58a6635bd9f8a029775932f4fc3dee3cb1f0a379133c47d819c53273547abbbf2aacd6bbd4fc5 SHA512 8f27b954a2f3710cee5cb78635631b035ea733f43381d378464733164b897bc0e8c6b373d80f1d97a65b761c13e342ae0c0836202d1506ec0b7c214b7388c7bb
|
||||||
DIST qemu-7.0.0.tar.xz 125117636 BLAKE2B ceda6d9f1a585298bd49fed61e8bb35f0064ad8388a9f979c8bd68a38bfe1a47c5bb055e5f74f970c2c440957042b9de4a861524120040c56e4cd8b56c5cfb68 SHA512 44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1
|
DIST qemu-7.0.0.tar.xz 125117636 BLAKE2B ceda6d9f1a585298bd49fed61e8bb35f0064ad8388a9f979c8bd68a38bfe1a47c5bb055e5f74f970c2c440957042b9de4a861524120040c56e4cd8b56c5cfb68 SHA512 44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1
|
||||||
|
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
|
||||||
|
@ -0,0 +1,982 @@
|
|||||||
|
# Copyright 1999-2022 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_{8,9,10} )
|
||||||
|
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}-2.11.1-capstone_include_path.patch
|
||||||
|
"${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
|
||||||
|
)
|
||||||
|
|
||||||
|
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 vhost-user-fs)
|
||||||
|
# $(conf_tools vhost-user-fs virtiofsd)
|
||||||
|
$(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-tools
|
||||||
|
)
|
||||||
|
local static_flag="static-user"
|
||||||
|
;;
|
||||||
|
softmmu)
|
||||||
|
conf_opts+=(
|
||||||
|
--disable-linux-user
|
||||||
|
--enable-system
|
||||||
|
--disable-blobs
|
||||||
|
--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}" )
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
DIST ibus-m17n-1.4.10.tar.gz 642940 BLAKE2B f00b4392925a6ad24e5cbfc266d13a68e4b7641a4f70c93bb381d4bea13d03b40af659e2ba27533ce7514477aed2744eaac0b1aa25d7c4280fda8adf1ee5dde7 SHA512 7e8ab477de7fb75fbbcdd25d6f13b0dc1fdaae6ab23a2c5c18de7eadcd88c3ff4d441a32f58d4b4bde0d20685d45dd57fa24c5e61361ad5b6bbb29075949d396
|
DIST ibus-m17n-1.4.10.tar.gz 642940 BLAKE2B f00b4392925a6ad24e5cbfc266d13a68e4b7641a4f70c93bb381d4bea13d03b40af659e2ba27533ce7514477aed2744eaac0b1aa25d7c4280fda8adf1ee5dde7 SHA512 7e8ab477de7fb75fbbcdd25d6f13b0dc1fdaae6ab23a2c5c18de7eadcd88c3ff4d441a32f58d4b4bde0d20685d45dd57fa24c5e61361ad5b6bbb29075949d396
|
||||||
DIST ibus-m17n-1.4.9.tar.gz 494921 BLAKE2B c0adc4ff702b7a9828c6d966b52eca90f7f538786f17a9e8273dd13bcdfab59c24e59b2f680f1582bf4dc077dcc2e3c774258d09f58fc296b32d090ee42531af SHA512 6a7d7316fc98e832282302a5d54eb40b6e879f98d6910db8d2c834be6c23ebda30ccbc5ed116caa3d91148e5bb2260c49f670c8c7fb2c6215d31f3e6794cd3ab
|
DIST ibus-m17n-1.4.13.tar.gz 646334 BLAKE2B 1fac0920adde05977e9f3f3993a17a8257992f493272c71a56f6b946d89245cc9353e20275a2bda94d6a627d0afc9a71aff0d1edba42c2ee8bbe4ce6ea962852 SHA512 5753a8c1888a2fefa87986d7396d3ad56e3e1109c0dd01fadcaf1e7a7a056dc45323d204f9b5a548900752e1bfc69d638076f51884a8948fa5ba16c7a17d5640
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI="8"
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
PYTHON_REQ_USE="sqlite(+)"
|
|
||||||
|
|
||||||
inherit gnome2-utils python-single-r1 xdg
|
|
||||||
|
|
||||||
DESCRIPTION="Tables engines for IBus"
|
|
||||||
HOMEPAGE="https://github.com/ibus/ibus/wiki"
|
|
||||||
SRC_URI="https://github.com/kaio/${PN}/releases/download/${PV}/${P}.tar.gz"
|
|
||||||
|
|
||||||
LICENSE="GPL-2 LGPL-2.1"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="amd64 x86"
|
|
||||||
IUSE="nls"
|
|
||||||
RESTRICT="test"
|
|
||||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
|
||||||
|
|
||||||
RDEPEND="${PYTHON_DEPS}
|
|
||||||
$(python_gen_cond_dep '
|
|
||||||
app-i18n/ibus[python(+),${PYTHON_USEDEP}]
|
|
||||||
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
|
||||||
')
|
|
||||||
virtual/libiconv
|
|
||||||
nls? ( virtual/libintl )"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
BDEPEND="virtual/pkgconfig
|
|
||||||
nls? ( sys-devel/gettext )"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
python_fix_shebang .
|
|
||||||
|
|
||||||
default
|
|
||||||
}
|
|
||||||
|
|
||||||
src_configure() {
|
|
||||||
econf $(use_enable nls)
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
xdg_pkg_preinst
|
|
||||||
gnome2_schemas_savelist
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
xdg_pkg_postinst
|
|
||||||
gnome2_schemas_update
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
xdg_pkg_postrm
|
|
||||||
gnome2_schemas_update
|
|
||||||
}
|
|
@ -1,2 +1,2 @@
|
|||||||
DIST ibus-typing-booster-2.16.7.tar.gz 10819738 BLAKE2B ac9da1e63d97045881d8012b5dc6bd27cb8ee48aff065876cede2b40a81518880e610580f13590ad89f6261ced266e1d245183ea77a3a56e32b60af08af28470 SHA512 f0dda59b43460c39392ab12748780e93668ac81aa04b15aae2afa2025ce8bbc9e2712430658f43db7e86c7a1e59271d62ecf6cda6cb2b9cc554134000c21c95b
|
DIST ibus-typing-booster-2.18.10.tar.gz 11086667 BLAKE2B 23c8958a3b1e0c7995f1c3ce3b0b3601e6f1ef12650739af861d011004e4eaf7d6bf6f61fb8d7797ef2f46c557248a909ede93e423ba28f8ad1c76d6ed937085 SHA512 a0eddaef7cbc44b570cc9bd0a606efe3902468eca6cbe7ab1b0d6cb70d917d3c48c9783963b4e7dd4ede358d969623aea292917e76d7f8ab7b0a3a95a8565c3c
|
||||||
DIST ibus-typing-booster-2.18.9.tar.gz 11060426 BLAKE2B 5a2e302bb93002c68e5a61001e013a26043e0b20922b6e79bfc96ebb0b4dbdd920df96d13545619e0b50684c7bf678b1c3df2556a40b0d4660439fc6984acd80 SHA512 1fe9dd28a042be7d946dc0a800363cd7870e8357fa75e4f57acd201b3cca96cfaab4ffbff1a53146713204e8c246ab1cf33ea379e9e1a3aa9b848306567cb7b3
|
DIST ibus-typing-booster-2.18.9.tar.gz 11060426 BLAKE2B 5a2e302bb93002c68e5a61001e013a26043e0b20922b6e79bfc96ebb0b4dbdd920df96d13545619e0b50684c7bf678b1c3df2556a40b0d4660439fc6984acd80 SHA512 1fe9dd28a042be7d946dc0a800363cd7870e8357fa75e4f57acd201b3cca96cfaab4ffbff1a53146713204e8c246ab1cf33ea379e9e1a3aa9b848306567cb7b3
|
||||||
|
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue