parent
f06e26b15d
commit
82c9a5f16c
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29239 BLAKE2B d5c9b792a919fb7d7860931f74190b2b5c70feefd2104b6d203a9dba4ba956bfa2e03e91f306f4a9de1f389552becd796de56fc2031feabee3f42112ad76a8aa SHA512 34640a339743b5c3d7a925c04b6de22edfad750bbaa4171b058f0cbe747baeb59ef0ada6cb21d080b7cbd42453c44979737422b50f5cdfdcd4ef46dc93f2466d
|
||||
TIMESTAMP 2023-07-02T15:42:22Z
|
||||
MANIFEST Manifest.files.gz 29245 BLAKE2B 50c96224a18c9f566227594058eab8ee8812fff48ede2efd309f4f104b331cb32bba1e06273f88a0de14c9fdfc043672216a1ab810419c9293968795dbed92dd SHA512 83f14ed51e6b68f714ce71d9a5195d033c54a0861d4484928a3d9c548ac16dec9af24273e12272a6df015265d1a55648b079f5620b0eb0d4f081e796d685229c
|
||||
TIMESTAMP 2023-07-04T08:40:04Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmShmt5fFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSj2uRfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klABZA/8DlB7lprSt9VBkN0zR4PDk4794HSoAcdYN2J50iS0aG8TtFOE6YsSSFVy
|
||||
XeyEb2QTZoW7G18JzBm4eiX4J8Q4WVA8EcaSUL1q42inbngbzll5gSPSOtAvMUPv
|
||||
EDlGc9PMrDA6ms2ozkij0+SB+eC95T8UpU05DVCdctejdCHaCMMRPqwVcmcY0b5C
|
||||
qqksvUX4D0k+3x8sii6IB+izSdZK+TnF/Vm2kOjNEISzrP4pkpok4uHf5/pNEz+l
|
||||
Ju2f28h+znIL0q+QYf0JmoFDCJRSTQV69slObqWwRbCDO3ovaysgzA8VPYA3dohp
|
||||
zUHd+JB5MM95jgKi8XlNXb1ozTyKrVN4NA81gEV/9+dYuAn7MEky0BG1QPjFWl8Q
|
||||
huMhuo+2/h+iehbnZmD1ITWgkG/SW+votuYLurtPH25SfZuL1Tvh8OskT8SjRdS6
|
||||
GBSamyR3mgFXDHaM2tfiBMINP1xPKuSdP7p77QkisBzbao9CMvAkZjk+8yBi7W8f
|
||||
srkPFYWv/8qjurZHTVettKHYV4sZpJOh4jSDXq9X58uo5LZbFhByWeRWoqw6LoWM
|
||||
7qqTYcVQBNr6m60pwTOWRgLVaM1QqzaM6t9WJcdLCAev/f9TTg/tjtHZjd4V5CZe
|
||||
MySjuuUeuhxLjWp32lTielwpMCoDPwqnKRtGO8NOkePUV9HIlQk=
|
||||
=JZQs
|
||||
klC69g/9HnpW0xs1MiClaD+lQFL0nlO7tCAe4irfneXPCNFUxW4J0on0RQ9m8Bn2
|
||||
uyCbrZV+bNDy30+JC6/z7RO7MIRTepzASPnfB4k01lJUOVj6BYeEN5P1+d1tATio
|
||||
KCT2ailR7y2j6PCElkPDnAZjcuYxP33Hn1/NDINtpxpvBQR6l7mnPJcyIWx/9D94
|
||||
4z08/64Bo5RvF/89X9jxioIhC0FdUTJrp24R0Eyv9r8hXgTDg4jIX03Sq+JVBm9c
|
||||
m5J7RZybnhyMRy1qr2q/AdP/nqiUMckIXMhnuAmjHHu8ytAtdQGkNOVV8UPXDqXY
|
||||
qk49aELwA0MreUICNwu8/PuPiE1CxxzZem36s/RTvx1D2yEl9X93Bf6Q0qZRH8RM
|
||||
8p3VFS0aDDBG/SyJ6jRzYFfBWevV+jqDQBCOybmKV3tMTYxW4EHG4xj1zUY7jTKf
|
||||
Lo8bCAeMo7feekh7rDW3Xv2fwApvDSbPpJZIhde+WXzsqP9ywz5LpPnTZyqFg0+/
|
||||
6hvoMMNaTdLp8IN1dpcZuwwrtEJ80VeSn2d17GDc34DX9o2sO5HZb1aNT7KLdh15
|
||||
wi45IoJvMr/u3t4frNRxg4Yh+c1s+HZBaHFVmJkS58VOcGdB5w0lUeDEs19RJpVF
|
||||
uzxqKBbUauU1o3bUOFTdbD6bCgNqekxKBInG55QE/YtZHmcTyng=
|
||||
=WJTt
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST at-spi2-core-2.48.0.tar.xz 554000 BLAKE2B b8f513256670d24ae9f08572ae7878f109b5d76090fa4f881b67324d1d270889c648e456fe3ca34aaead9e85589f5ae355c8b4803f35c2cb2ace831051b1000b SHA512 976dce741d640c5b5e006eca53170062ebc91cace0fb74df68606c8443b63317fe271d4e3238d1e3ee3e5586b4a4905c91d7987adb94c8f886a1aaddd54c632e
|
||||
DIST at-spi2-core-2.48.3.tar.xz 554388 BLAKE2B 9692df8cc0bc8de82f6e339b9358be7ab1bc598afdb39503f5f05ca772109b962a513fe2ef79d8f094ea732457225409f3c765784a54cbabf27b8fc72c893eb9 SHA512 e79ef0eb0f23241d61ba2a62f4024a5df5ff7125bc085590f9038b3397d255b88b8266deec14f3fe53bee4072ab85695a47d27d8be0529b18a103ad792fa0e54
|
||||
EBUILD at-spi2-core-2.48.0.ebuild 1785 BLAKE2B b90e1d2377bda0623adc15dea33b254131e70e7203678a60d88860eeaea7d5143df2ea1435453c96c55efab0305b98e8a5812b61737ba2f28837ebbdaa1154fe SHA512 bf003b366d6c5a078732d87f977418cffca604b1b01db7b41911d63997cff02a0a1530e93dab19544e8d9001908cb4500d65f055aaa5dc7e62b78428d2b8e2e6
|
||||
EBUILD at-spi2-core-2.48.3.ebuild 2023 BLAKE2B 59ad333e710a759613b2cb8466e7521ca39a70c65d38327ff89d47190c07871ac7fccbd2a5eeb9cf95041394627af4a3d19f754f5e3712f1c5ce55e799ecc212 SHA512 28261182fcbeae2a9abd1d8cfb1202e052e02ff20fa7afad9e18b8fa19a2dd8dd64727150aefc33baf83630199ebd3fe84c07f64548969e5e9d40b325fb47bdc
|
||||
EBUILD at-spi2-core-2.48.3.ebuild 2022 BLAKE2B 6e536272c87f5673cacdcea31a8f7df69593edab4689f4eb4ac79efa952a900de1a80e01fbe7453b8f8c87a613cc9f552c873b33f40cfbf98e5abf62c3dd326f SHA512 dd3b966f5f2c33b80f7936698426827b205b7b8743214120730d8db42bd13407668bfabc3fa7c6b2208e87f8fcf71c36728d5d0bed708a7095a7e9bdf2978f3d
|
||||
MISC metadata.xml 468 BLAKE2B f6b51c8c4da2bdff93f41f92cbe94687250f28d9c42c5cdb7de9eef0d1a6e208dd911d443298eb08fc83f8765d0b2c09e30e932d97b3fc1d28861ceae9b1ee6b SHA512 908b6e8c5929143a45cd108fed5b3375dc6f8f98b637a230c0eb0da4a261a8d9655954e1f98dc9967bd79a8c3aece79e1827097a5785494692f7655bcd73f331
|
||||
|
Binary file not shown.
@ -0,0 +1,80 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
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 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
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() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# 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
|
||||
}
|
Binary file not shown.
@ -1,18 +0,0 @@
|
||||
https://github.com/rpm-software-management/drpm/commit/0bde9b7711a2fa8b811830cadfc979365f9362c6
|
||||
From: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Thu, 12 Jan 2023 08:17:19 +0100
|
||||
Subject: [PATCH] C99 compatibility fix for drpm_write.c
|
||||
|
||||
Include <string.h> for various string functions. This avoids
|
||||
implicit function declarations and resulting build failures with
|
||||
future compilers.
|
||||
--- a/src/drpm_write.c
|
||||
+++ b/src/drpm_write.c
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
+#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <openssl/md5.h>
|
||||
#include <rpm/rpmlib.h>
|
Binary file not shown.
@ -1,119 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop pax-utils xdg optfeature
|
||||
|
||||
DESCRIPTION="A community-driven, freely-licensed binary distribution of Microsoft's VSCode"
|
||||
HOMEPAGE="https://vscodium.com/"
|
||||
SRC_URI="
|
||||
amd64? ( https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-x64-${PV}.tar.gz -> ${P}-amd64.tar.gz )
|
||||
arm? ( https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-armhf-${PV}.tar.gz -> ${P}-arm.tar.gz )
|
||||
arm64? ( https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-arm64-${PV}.tar.gz -> ${P}-arm64.tar.gz )
|
||||
"
|
||||
|
||||
RESTRICT="strip bindist"
|
||||
|
||||
LICENSE="
|
||||
Apache-2.0
|
||||
BSD
|
||||
BSD-1
|
||||
BSD-2
|
||||
BSD-4
|
||||
CC-BY-4.0
|
||||
ISC
|
||||
LGPL-2.1+
|
||||
MIT
|
||||
MPL-2.0
|
||||
openssl
|
||||
PYTHON
|
||||
TextMate-bundle
|
||||
Unlicense
|
||||
UoI-NCSA
|
||||
W3C
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~arm ~arm64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
>=app-accessibility/at-spi2-core-2.46.0:2
|
||||
app-crypt/libsecret[crypt]
|
||||
dev-libs/expat
|
||||
dev-libs/glib:2
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
media-libs/alsa-lib
|
||||
media-libs/mesa
|
||||
net-print/cups
|
||||
sys-apps/util-linux
|
||||
sys-apps/dbus
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libdrm
|
||||
x11-libs/libX11
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libxkbcommon
|
||||
x11-libs/libxkbfile
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libxshmfence
|
||||
x11-libs/pango
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
/opt/vscode/bin/code-tunnel
|
||||
/opt/vscodium/chrome_crashpad_handler
|
||||
/opt/vscodium/chrome-sandbox
|
||||
/opt/vscodium/codium
|
||||
/opt/vscodium/libEGL.so
|
||||
/opt/vscodium/libffmpeg.so
|
||||
/opt/vscodium/libGLESv2.so
|
||||
/opt/vscodium/libvk_swiftshader.so
|
||||
/opt/vscodium/libvulkan.so*
|
||||
/opt/vscodium/resources/app/extensions/*
|
||||
/opt/vscodium/resources/app/node_modules.asar.unpacked/*
|
||||
/opt/vscodium/swiftshader/libEGL.so
|
||||
/opt/vscodium/swiftshader/libGLESv2.so
|
||||
"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_install() {
|
||||
# Cleanup
|
||||
rm "${S}/resources/app/LICENSE.txt" || die
|
||||
|
||||
# Disable update server
|
||||
sed -i "/updateUrl/d" "${S}"/resources/app/product.json || die
|
||||
|
||||
# Install
|
||||
pax-mark m codium
|
||||
insinto "/opt/${PN}"
|
||||
doins -r *
|
||||
fperms +x /opt/${PN}/{,bin/}codium
|
||||
fperms +x /opt/${PN}/chrome_crashpad_handler
|
||||
fperms 4711 /opt/${PN}/chrome-sandbox
|
||||
fperms 755 /opt/${PN}/resources/app/extensions/git/dist/{askpass,git-editor,ssh-askpass}{,-empty}.sh
|
||||
fperms -R +x /opt/${PN}/resources/app/out/vs/base/node
|
||||
fperms +x /opt/${PN}/resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg
|
||||
fperms +x /opt/${PN}/resources/app/node_modules.asar.unpacked/node-pty/build/Release/spawn-helper
|
||||
dosym "../../opt/${PN}/bin/codium" "usr/bin/vscodium"
|
||||
dosym "../../opt/${PN}/bin/codium" "usr/bin/codium"
|
||||
domenu "${FILESDIR}/vscodium.desktop"
|
||||
domenu "${FILESDIR}/vscodium-url-handler.desktop"
|
||||
domenu "${FILESDIR}/vscodium-wayland.desktop"
|
||||
domenu "${FILESDIR}/vscodium-url-handler-wayland.desktop"
|
||||
newicon "resources/app/resources/linux/code.png" "vscodium.png"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
elog "When compared to the regular VSCode, VSCodium has a few quirks"
|
||||
elog "More information at: https://github.com/VSCodium/vscodium/blob/master/DOCS.md"
|
||||
optfeature "keyring support inside vscode" "gnome-base/gnome-keyring"
|
||||
}
|
Binary file not shown.
@ -1,5 +1,7 @@
|
||||
AUX 50cape-gentoo.el 149 BLAKE2B a0b1a06c1236d3469cb87a2289e111fcf906093d9301d44d66732aa42d26e66c5a99f5c33ea893943d76d4478e30331680bc60365675529a0bc21bf9ffeec4c5 SHA512 79f9cba6529c5749ee1c72beda4ee40396d9bd3decc8fe332ad821127f385bc46b13befd9f7cc458812d08ef784daf04464fc29fa65bf3d86795b33d39c22fce
|
||||
DIST cape-0.15.tar.xz 25848 BLAKE2B 44d72cd8de7597dad6f92c225995a5e1c02f42daf7a839c98e2b3d3ec0ff66dba5da64fc87d64b4913c5f9598cb00e3b46e22eaf98f65a759f4c04c9b373a3b2 SHA512 a2ea009f1f28868ac7c58f23e9212568545434588d89a2f15e5b1a0f4dba09a27a5620a9b9ac79cb88da3a9e83174f13a6122425581dd0aa43e25d12f1766396
|
||||
DIST cape-0.16.tar.gz 36845 BLAKE2B 13a7e1b79cbfcb027dd10e475a928782acf1b835161bc508b92390aa8bd932474ec85cb59c752b732952d71261236db853d0e7fa2f7c005a42c4037ddc11be9d SHA512 d668d438dd400928cd55f08a041a7493674d3118da8d78f6968cd9d41f12d8d654525ee7c15d5edf68d93e16815f8a2dfc96e4d850bbf624339380158fd9625c
|
||||
EBUILD cape-0.15.ebuild 695 BLAKE2B 20eb9a63d07fced7b8594e908aa980c9566a57d56e06666fe4a4d87e1d155808a3007a1328a4b9abaece3e584fd02ced35e0707b8dba4169369e486a727b2cec SHA512 f12b64a189b059d19b18c9f0f338016d04a84cd456bd59db255888ee3321ea711c07e2336d8b679e02ffa6d174a66cb8cedad5807fea683d73c8df7154c4e538
|
||||
EBUILD cape-0.16.ebuild 656 BLAKE2B ea6305e27d85ad62674b87ab17d9fb32e7eed6251f758d1fee67ba3fbaf5315a28bf31fc1790750d2aaac8372ada1ecc3a5133b5133051172407d9cfbcdbc393 SHA512 61d1b69edbaa493f344e6c95a2576dd381b49afdfbafd0a8e0855483a84c6ebb010f9ad9bce3a017c28d787d5ebda2cde8a5785c4937279154bdde0462e12332
|
||||
EBUILD cape-9999.ebuild 695 BLAKE2B 20eb9a63d07fced7b8594e908aa980c9566a57d56e06666fe4a4d87e1d155808a3007a1328a4b9abaece3e584fd02ced35e0707b8dba4169369e486a727b2cec SHA512 f12b64a189b059d19b18c9f0f338016d04a84cd456bd59db255888ee3321ea711c07e2336d8b679e02ffa6d174a66cb8cedad5807fea683d73c8df7154c4e538
|
||||
MISC metadata.xml 476 BLAKE2B 684b40897141a0211cf5bf3e67ed5e6cd85223e27e296270c085b394b7ec322235c5e5e8ee5140e5cba1c245997e9662f8d93cefa8b951e9f50071a29563288c SHA512 58087f440a5745173aa1c05cc0393e9470763c5f38bc1fcf80e59c9b2c9dacebfd420d422a71ac3279346e9233dc39ec88de4413ee2a19dd331d322616c3244e
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
NEED_EMACS=27.1
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Completion At Point Extensions"
|
||||
HOMEPAGE="https://github.com/minad/cape/"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/minad/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND=">=app-emacs/compat-29.1.4.0"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( CHANGELOG.org README.org )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_install() {
|
||||
elisp-make-autoload-file
|
||||
elisp_src_install
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
AUX 50consult-gentoo.el 82 BLAKE2B 3443827f490db8caacfe842cc7f1d1315f3889dec007210f451909576a76139f70ac5795346a7a1b11befccd3152874fd3c86ad7a20c0fbf84f793f8deb595cd SHA512 dd2ba1149c847d95d6c54265bc03de36e198dfecedc10336f6879fb3a1fc9d92e2c6de190d4f9aaab6c3d15f268fb80e082b49b6e96165697ff786333a50a601
|
||||
DIST consult-0.32.tar.gz 101692 BLAKE2B 01c574755345917ea109d4321a31b6720f88bb99d76a26cb5ef90acd7f637734d299708b630971a530ab97eb83d719c634eac6b3481699f4fc94f5a3ea479a72 SHA512 d33c33997542f545d64af9fe9261e1d22b32effaf75fce428903f5d4e50e98f0205976cb000aa0c4ce0218a382171d345d8d806184fbdd63d906fba91d58ab6e
|
||||
DIST consult-0.33.tar.gz 102348 BLAKE2B 16419c7dfbee2d190dc4f534a69f835120779e6b44d0136963b830a56b49f890df6ac72f3dd229351bb1eb9e9b94a1a0fac1c14ee086a06d137b79e869f49d8c SHA512 64bf4a4833e66388465db44d97fd0a8492baf8a2d3c54638cb2438391ec0b5599e944d5eb56812ea3fb1f6b6bcaf4a27d014390d084b9a73b0340c3aa467603f
|
||||
DIST consult-0.34.tar.gz 102922 BLAKE2B a3a748fd51a302d2c7e55158b1098d8d7d72c259a15b81d7441d82731f27ae673465d719f1adda933db97b0466fd1f9eaa96b60a3df4de57ccf26f64f0803b3c SHA512 62163d5b065cf5aba8887624fbf13339d667f7b250ce1777d0c417a2bba91419978852e2c12f6c78dbfab994c0f7a613bca318d19adf4ae1a3e59bb4f5217f71
|
||||
DIST consult-0.35.tar.gz 103472 BLAKE2B 5e47d40bd67811f40ef27f67b508d0fabdbc3bd552ee990e9418b59eedcebfb69241dfeae4a9f084514fc4eb102e17ab7efa4c4e80020d2cd8cd1cd80447aa13 SHA512 a2ee01c970bddd8367c8fe3094483bd5710f1bdbfd3b278e26d443ec42e91dee64b583272ac37e52f198f75554c95f97cd774b7f85b1a1c0d28b9a3905c77721
|
||||
EBUILD consult-0.32.ebuild 512 BLAKE2B ad0fdb811514da5b411f785d8342f3b7212ded3e00faa032accb7a3b03817d3d403abbb66d9aaf87041fdab9c43edfb328c6fcc0c9cfa302e29e8aaf961941a2 SHA512 deffe4f0a19adb316d2841d598847c49b55f9c3af800d536108233c5157a50e9396df11945c08385add49f45e081347c599412785c2dc7bbf5384c629295234c
|
||||
EBUILD consult-0.33.ebuild 512 BLAKE2B ad0fdb811514da5b411f785d8342f3b7212ded3e00faa032accb7a3b03817d3d403abbb66d9aaf87041fdab9c43edfb328c6fcc0c9cfa302e29e8aaf961941a2 SHA512 deffe4f0a19adb316d2841d598847c49b55f9c3af800d536108233c5157a50e9396df11945c08385add49f45e081347c599412785c2dc7bbf5384c629295234c
|
||||
EBUILD consult-0.34.ebuild 512 BLAKE2B ad0fdb811514da5b411f785d8342f3b7212ded3e00faa032accb7a3b03817d3d403abbb66d9aaf87041fdab9c43edfb328c6fcc0c9cfa302e29e8aaf961941a2 SHA512 deffe4f0a19adb316d2841d598847c49b55f9c3af800d536108233c5157a50e9396df11945c08385add49f45e081347c599412785c2dc7bbf5384c629295234c
|
||||
EBUILD consult-0.35.ebuild 631 BLAKE2B b923f9b2a906c47f745c2d7370ca7b2005726e9b3c14bdafd1c062771739be98a117349ab7e2d9ada4de5d8d6cf24207e0191eb51d470b2bef5fa9b5c389d5b9 SHA512 763403456ea8eae4e00cc8d886184f74ae66401a302832b0fe1f6ef939349cf92100a9920783d6c43feffeb9df843600bab892eceef5656dd4021365a674c744
|
||||
EBUILD consult-9999.ebuild 631 BLAKE2B b923f9b2a906c47f745c2d7370ca7b2005726e9b3c14bdafd1c062771739be98a117349ab7e2d9ada4de5d8d6cf24207e0191eb51d470b2bef5fa9b5c389d5b9 SHA512 763403456ea8eae4e00cc8d886184f74ae66401a302832b0fe1f6ef939349cf92100a9920783d6c43feffeb9df843600bab892eceef5656dd4021365a674c744
|
||||
MISC metadata.xml 359 BLAKE2B 569bd0c5fe81610f0b67c94e8c431edddb5060800a6e22d0833a4d5f120df34545dc49c879c12a6522ccbe791472df47be42af97fbb228498e79d9e0893697f3 SHA512 8e01b569f019ea43209f43c783fd41b9661a7235d300363a9441179058b10921629cf8b891874c706d2c1ec106248f6c1e0a3501df7bfcdd02000d08f7997c29
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
NEED_EMACS=27
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Consulting complete-read for GNU Emacs"
|
||||
HOMEPAGE="https://github.com/minad/consult/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/minad/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND=">=app-emacs/compat-28.1"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_compile() {
|
||||
elisp_src_compile
|
||||
elisp-make-autoload-file
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
AUX 50corfu-gentoo.el 80 BLAKE2B 030035947690cded0580337466f06e7561c996ef27d6dce32cacf28249e71f3a99083e1dcd68e8fb1e2d0bcff75a70881ca88c7f41128123876e6f34230235fa SHA512 cde0d90e0b8bafffafd8d79c6fb4bc7957d1c7e5a6eb86b2c2cdeb73910bfddb6b8b2985bd46af406e5d3f3d1e1205b37ac2bf8cb26aa3d052b06054ae7ba00e
|
||||
DIST corfu-0.34.tar.gz 44586 BLAKE2B c2a056cdef8cc536f3512662c442504fd3c973649e58b382eb92fb749bc5b3de2dcdad9f13cbe929b33b001fe9fc1ee2b057620c321f32ad9aefc0b274b71983 SHA512 5a46af83eed319170687e91386d8363416682fb6017d465a2b86c8164903efc128122b9cae81482155d8c710f7b2eb1dc8ff0b636544a0a611bec574fdb188c9
|
||||
DIST corfu-0.35.tar.gz 45540 BLAKE2B ae5649b3bc5b636887afdd1af7f8b36b9063bc863e72c844f24ad0ede5aacea9f9cab2fbcf0ee543b653f3763d2a0e34097eeadca46c947e483c93ed8cd6619e SHA512 9d749a7e513486b1f83e073083b3c5a35d101c2eb20e4424bc1fe1313ea36469f50eb4c9967b3bb2c9cf249805a57c17843758e8e473f1af5c22987ae47ec404
|
||||
DIST corfu-0.36.tar.gz 45542 BLAKE2B 8841dd5ebb20c5609ddc7983a12e52c9194002da6a10c26f4f6934d03a6abeccb02a5e3896991ac22e9262ba46b0d00ed6608c740f4c02091c193d8e6e748260 SHA512 520f4c7821f0ba8e159055b142a25e7e94fd2285e50ff487c0b877d9079a4f277397cc999b127bb991defadc198d7e6f7853a6b66278f46eb9184265fabd6c8a
|
||||
DIST corfu-0.37.tar.gz 46624 BLAKE2B 256412325253f9282b39981bb1402825b193cf12e13fc4dc33bcf946931b554dfa6b95b331c553889cb2105a670632051441f0d0434882ce4e69b51ce663460d SHA512 a7ba07083fa93785ca23ffe5f959a9178aed079e00b44a2dcc90f64c6763555e27b04906aa0dab63bce8f07b30b60e60b785572b53257f86b794c800835a58b3
|
||||
EBUILD corfu-0.34.ebuild 544 BLAKE2B 8e7b2e689f65d4dcca4934c53564bb8435dae6f06c364d445fce382229231e5e8553d13e25c4451359b00ed453e140a4d1286c8f5584e683474bdc0e12efaf64 SHA512 2f80fc7697c70ab5be781034220f24067b7cc9b648de2520ff159de3c87c6abca72fd7c86739767c58d5ed165525f6b2dc48c3652a60b01f01962e917621ac10
|
||||
EBUILD corfu-0.35.ebuild 596 BLAKE2B aa0a547bf10f65e106139b7fe6eee6cae171d88b68ce9179ad7b6409a96b0a29918b080482e8712e90769788df8b957f11fb5816c83f07baa2c08892c00925ac SHA512 2b2bb00a1c0cdbf17c9b077113274710cafa764a671972e277e3035555adc04aeef1040d878aec583a768cf9e8029b925d7c04f6e22e4ed427741407492996ad
|
||||
EBUILD corfu-0.36.ebuild 596 BLAKE2B aa0a547bf10f65e106139b7fe6eee6cae171d88b68ce9179ad7b6409a96b0a29918b080482e8712e90769788df8b957f11fb5816c83f07baa2c08892c00925ac SHA512 2b2bb00a1c0cdbf17c9b077113274710cafa764a671972e277e3035555adc04aeef1040d878aec583a768cf9e8029b925d7c04f6e22e4ed427741407492996ad
|
||||
EBUILD corfu-0.37.ebuild 708 BLAKE2B 0c69d1de2107e4fc86acd86383ff6e29d3e20963c1d2ce0606c8425216d211048e5cca3f8a770607b24864e93c5a6938d2b3af1fde11a37d4c61788189cd287f SHA512 2e33e8d7a710b64897ec8512ecde8e46de3b2f90a9ca760bfd486cd58bebe96abb0057548d84a87b1308dab1043a95012093c70846ad61c5a919c7b8ff6ba58d
|
||||
EBUILD corfu-9999.ebuild 708 BLAKE2B 0c69d1de2107e4fc86acd86383ff6e29d3e20963c1d2ce0606c8425216d211048e5cca3f8a770607b24864e93c5a6938d2b3af1fde11a37d4c61788189cd287f SHA512 2e33e8d7a710b64897ec8512ecde8e46de3b2f90a9ca760bfd486cd58bebe96abb0057548d84a87b1308dab1043a95012093c70846ad61c5a919c7b8ff6ba58d
|
||||
MISC metadata.xml 357 BLAKE2B 4a324f2913cf600a98085a72ffc69263205068f54b191101ed2825d3e3c84f951e58af8ebcab481bd50908685dc3603cdba3156772f153bf5a565ab43831b201 SHA512 038f5605bc71c57700f5d34539c8474c667f4434261cdb7dacb28c1dd80a64e656c395dfc2c84329d36e6cee28aaa9986d3cceb25f46d887bf8fdc1cbb348b8c
|
||||
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
NEED_EMACS=27.1
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Completion Overlay Region FUnction"
|
||||
HOMEPAGE="https://github.com/minad/corfu/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/minad/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND=">=app-emacs/compat-29.1.3.4"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( README.org )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
mv extensions/*.el . || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
elisp_src_compile
|
||||
elisp-make-autoload-file
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
AUX 50jinx-gentoo.el 191 BLAKE2B a183a9485eea61590192547a8c99e8c974b1974851073a49a33304ec0d9d43158279669aa8dc2ca26d9521c61b229c9fd490dec81643126f678585974dea7483 SHA512 dc0378743253f61f1c94d7fbcf8e3fff767296eecb26e856bbb5f24409b879e3d1a4f52efe87ea0ce106281b216396e94a72a7842b0fe4a48a80b4c41cb05921
|
||||
DIST jinx-0.7.tar.xz 17816 BLAKE2B d31ae1c35c5808237890c5c6ecaab915af7cc70260ae05de06c049a9bc250c3ff824a18256715fb7ed12e02df60b24aa957192b95fd3a0ab28e5102f5cf63718 SHA512 ed291b1d5eb5b799f629ed3d0d5bfca65e7f11d9349a672f09087a47ebe65a7bc8bef8fda6d344472dc8bc14c97c5d49c79365d45da5c9570e0cf84d51723928
|
||||
DIST jinx-0.8.tar.xz 19064 BLAKE2B f5c2382e635b4266ac7ea4a500f3ca56f029c1104608ae12570a5983e971dff17bd2d4c7c721b080ac7ab136e7a7cc305cc96b2a5dc825caf17c5713d37702d8 SHA512 63ef5031252a98e3c4e22a331fbe99d6fb0465f965fbf7ce4e319514b2ddd8230db66d48c72bc5d957a77b2c8609f08636f1579fe4cefb44e2f56b654638fb52
|
||||
DIST jinx-0.9.tar.xz 20852 BLAKE2B 09a6a765cf51c2efe3a90317cdaeff03c2bc35bd6202b71070a19d51189c2ee6fc7406881130986dcdcfd9a9f6cec4aee25e0e71924a38aca7708aa3b99eb550 SHA512 a61e377fdee84fc91c3714f12f1bfffd95d6618a78c48dbcda6ff134f2ce3b604f283ddc5e7040c125e406ec573e3f6e7bfcde681fe574b84d7736e114ea7c0b
|
||||
EBUILD jinx-0.7.ebuild 851 BLAKE2B 34a93054271372e697f5432bde9fe725fb0b357251a4866c3748c816c30910df8a0c130f06ef42e8ebe643117e3033f8710f4eba26fd3ca9ce99129d8af9988f SHA512 e9f0d8cc02c507f1952d09a65a3954e90517dc3a9bd390c235e26713dc5f50816ed53c0f7f9a09d9a31edd3c9062ec744ae0e7fec4d6c507962e24f4533fa0fc
|
||||
EBUILD jinx-0.8-r1.ebuild 869 BLAKE2B 29da58ffa06954ae91f1026a98cde40e572c257a02d071bab998aaa0eeced66ff2082b1101b848c746a9f7c659c69ef104c9aab6dfbb79c03376d3fcd4831253 SHA512 d749387d989854694307bb55df2448c559ac8c42dbf050ccc5b7818c8bb33177975dca055ee8d66a059bf2e953730675b98f30b0775c1ccfc24108510e50de40
|
||||
EBUILD jinx-0.9.ebuild 869 BLAKE2B 29da58ffa06954ae91f1026a98cde40e572c257a02d071bab998aaa0eeced66ff2082b1101b848c746a9f7c659c69ef104c9aab6dfbb79c03376d3fcd4831253 SHA512 d749387d989854694307bb55df2448c559ac8c42dbf050ccc5b7818c8bb33177975dca055ee8d66a059bf2e953730675b98f30b0775c1ccfc24108510e50de40
|
||||
MISC metadata.xml 596 BLAKE2B 637e6f9f170f3ce64857712ff8156e123e42fa1e3495291ca05fc260f69ba267df6536c08b2a1ba042d8cc13f86f499d1e5f8dd223b89efd2c62ca38a9f37d2d SHA512 1fd1a6b8ba360f7aa2c03e8c318482b564afcf2392c20fe0c70d96b181df9323706c3b81bd3aa98916b65cff29aafcf9c9a486bfbbd55b775ff7adee85886950
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
NEED_EMACS=27.1
|
||||
inherit edo elisp toolchain-funcs
|
||||
|
||||
DESCRIPTION="Enchanted Spell Checker for GNU Emacs"
|
||||
HOMEPAGE="https://github.com/minad/jinx"
|
||||
|
||||
# Recompressed from ELPA.
|
||||
SRC_URI="https://dev.gentoo.org/~arsen/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="
|
||||
app-text/enchant:2
|
||||
>=app-emacs/compat-29.1.4.0
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
ELISP_REMOVE="${PN}-pkg.el"
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_compile() {
|
||||
edo $(tc-getCC) -fPIC -Wall -Wextra -shared \
|
||||
$($(tc-getPKG_CONFIG) --cflags --libs enchant-2) \
|
||||
${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o jinx-mod.so jinx-mod.c
|
||||
elisp_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
elisp-make-autoload-file
|
||||
elisp_src_install
|
||||
|
||||
elisp-modules-install "${PN}" jinx-mod.so
|
||||
doinfo jinx.info
|
||||
}
|
@ -1,8 +1,6 @@
|
||||
AUX 50marginalia-gentoo.el 133 BLAKE2B 9924046f0683974aba9bf9bd0939058eab78abc131b0eebd5d2aac17c0653e0a578c062fba7a363797e6455b8bc85149e79778f8abd4185eec68dd61206b8216 SHA512 e5cd461343454dfc9de75f15e5c35337780ecbc96d844a160c3f9cfcfd5382232b4359191b382741839700224493adc6f4d3218c050c3214b49af0dc85feb135
|
||||
DIST marginalia-1.0.tar.gz 29142 BLAKE2B 99048ebca2156981aa77eb10bbd914648932bfc328f41abdda8196361542e7550895f5263b04a239fca3ef79a2cc87ff7e9a9d315ab46ef6d87846117a325cd5 SHA512 82b7220bce1d8804be9a4783518f4492d66e039a50c0fb064bbfe18acf119600a9f3c9cc2dede038b390c4522c1163ea1982e9f3f8a3f170c0f4f86ef1ec87d5
|
||||
DIST marginalia-1.1.tar.gz 30058 BLAKE2B 9d2b792383ed3c67ce1611ce0eab31edfc0769ee2243a7d8e189a398076d977b0a5db60ecd28d3ea8483a91fd27088d6b4fbbe0d9c5e16a3348b7cd7e211f05c SHA512 83cf7a4dce4a4f0064ef2a7c51beb6ced73aa4f8951d2920fbaf6f879ec5ff9431890840f2afcc0741b3cccc6842a68461ccdf51450b6b4d2877477731796be2
|
||||
DIST marginalia-1.2.tar.gz 30235 BLAKE2B 65027b482333086dc3a328741df772b5ab8435bc576c46602194c6373c812cc956a4936205b071e71453f5634b4481aa8ed8d3b08c3687788b6b92385a1cc54c SHA512 708effbeec74e0ef24f307d8a93f9d6e7b6936c343a79e72bc333520bbe0ec9d101fecf84793ef3f3b274b2c3bca88ee01d52ff37d154128a46eb774f9775c82
|
||||
EBUILD marginalia-1.0-r1.ebuild 401 BLAKE2B 4106091be05556dc81ae954f38bc97bca13012f0732806bf5dee75a0784e3b4b14cd99643cd6a7eda3465c50aa487acf41ad6f05d5137b9d237c4c15efe7f4ef SHA512 30ab05814d9cdb21b67366b94b8ea0283cc1eba1b29f758888ed4a2bb5c79f9e9015b01441998eaf5e5665b9e855ce2c724b3eebdee696c2128b20b48978fab1
|
||||
EBUILD marginalia-1.1.ebuild 461 BLAKE2B 5d4ec50528487849aaab8a76187044c8636059589294e0dbff86777bea711ed6b86349927b068e9d1190e4647cee10318ae4a7c23700741bfe4cd5c693104273 SHA512 4b05a0a6244b5be3b6852e8fafa9d444044f9e0b0de40f59a91e1234240139aa69c384383ec45a58f30d6bde2e05383eb7134b2714df6be323135a8a15328312
|
||||
DIST marginalia-1.3.tar.gz 30893 BLAKE2B 4ab172939ef5c31f3d15c2e696cdbd2f8a4782f530332f6214b2634e6c9ec39c80a2798d2f75c6e52b830b91220c00a12ef30c6c717fd93631ab627854568eae SHA512 ea90c4682276247b0f914aab752a11cf074e38f73f8cdb5330f55387cd9930662918101ae3d0da552f4f2a2fe99d51f97093c32e984dedb102df0eadbf914cc3
|
||||
EBUILD marginalia-1.2.ebuild 462 BLAKE2B b1d4682a5d9e8c5adf94890bbd216998fc140294acaff251c0c6ab9acd4a3e926e4bd80267c8201b38443c666d4fa852fd195fafed46bbc4b5ab2aa373273f6c SHA512 25532d81b6d931808b465153ba14723ad5dcdc4825e0020f71a4adf440a0020dd03df4ba17b57fa7d66b949ed0347ecba8838f5216dec6b7ef6deb72b5dc3fe7
|
||||
EBUILD marginalia-1.3.ebuild 462 BLAKE2B b1d4682a5d9e8c5adf94890bbd216998fc140294acaff251c0c6ab9acd4a3e926e4bd80267c8201b38443c666d4fa852fd195fafed46bbc4b5ab2aa373273f6c SHA512 25532d81b6d931808b465153ba14723ad5dcdc4825e0020f71a4adf440a0020dd03df4ba17b57fa7d66b949ed0347ecba8838f5216dec6b7ef6deb72b5dc3fe7
|
||||
MISC metadata.xml 362 BLAKE2B 170d321c62f5b92b3fda03c4c6a1dc8438023211ae2f9261c997ce1300e4d24fde6588ed57ee766b2637e31c186e11aefdae58b083fd19ec15cbfe2846475bf6 SHA512 99a6cc13efa79095c0fe1bbcd2661fcd56bce0b3cfc9da0af6f90248b8e1ff27e78e0984677df5aba4c383530cc8446c5748296b35e07d6d2d81bda26b5433b4
|
||||
|
@ -1,17 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
NEED_EMACS=27.1
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Marginalia in the minibuffer"
|
||||
HOMEPAGE="https://github.com/minad/marginalia"
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
@ -1,8 +1,8 @@
|
||||
AUX 50org-modern-gentoo.el 268 BLAKE2B 1c60242a6d203e31583ee774e87f200637b1ca71540b65cae68ea0f9255f5eaa4655345bbf21a3e992a087c7dc5abff49a039dc6d36cec59d1a7d8d973da518c SHA512 0b0fac73188c85d3447e34730fab7431eeeeba56f623e38858aae7a73aeae3160b1c272ee9565899375319194b7817578351ad578bc9123b903c8f169ebcec9b
|
||||
DIST org-modern-0.10.tar.gz 24181 BLAKE2B a905fe099c849d70f608643c058c5356ce8f027c1f4bb13a6954d44a069e75fe070579c168a19aa7bf6610cd3e08fee32f51efaf0d6fb947aa460df1f2aef5dd SHA512 5118f6285b11144df2f4c3b6f3beda2ac14ee6df2cb595cca08dec494772c5617993abf27f4689d08893c38c910eeb61ab552338fce1aad65ca24c5ab9e95b40
|
||||
DIST org-modern-0.7.tar.gz 23199 BLAKE2B f9fea09f8be91c68b5e3b8c6371b3772d47c3738ebd301c15bbf1d5ed7f72daf177c66ac8a3cea322e70449d477ba73bb4bd48afcf6de23162d682b09b45de87 SHA512 e77a561376ed04fa7dd1034d5dd1c9217768ecf73e27c704d246261b60365712d5835c66b91cce1e91b368d004868a6fb5945b266e415276cab604f749cb9df2
|
||||
DIST org-modern-0.8.tar.gz 23681 BLAKE2B 75ad25f43756327de5fefc49ba168a4b5e8d19352c1a08d394375ad4f33c808df51866c56d47bc5bb6d57e8b5f38d24acbb53f011dc2920c0747c4b884aa4a8a SHA512 c8d99576e80f783be05b543ad44fbfa9264d5a76a0b991bd46be2820bf703eb9fbb21c5c297b21bd8fc5f8ab0726be49f1bf1947a5f011898cd3b377fce02f68
|
||||
DIST org-modern-0.9.tar.gz 24023 BLAKE2B 5f016f4e1a748cb33b139794864a3e40ce035c3ce616eef96c9f884dffeb27057523fdd3c2e179061ad3defef67e706d19157742eb503b927fdd07fde9b6b73f SHA512 618bd3ad94a8f6557519549d4918e98af0018e8ad60390843c6638fc245a20c4d304cbb30253238f356e496a4ba0d007ba65e777734b07fee61069410b85bbe9
|
||||
EBUILD org-modern-0.10.ebuild 501 BLAKE2B e51ab3e68c8e55442d6c35d049fc2f7ba966c9d92575f69aeee9727ae29591157c24eb0ecff57b564c1ab376e1d7881af478d1c2e776551fed8024bc5b6c815f SHA512 d60a5054a76ebb02ca32d6f5724fd6a31a9bf12b07fba4adca4d68b8d1bd3c4a9f34aa9b25bac7fafbd0aef299dc435602339327d4d2111cc4a894abad3a26e0
|
||||
EBUILD org-modern-0.7.ebuild 424 BLAKE2B 905a3825b7ffaf3de412ffab234c0036ef1c3cd8f44a40cb91aeaebc6465c6179900fd345b6c6fdcf85ce939a36a2dd9d3d4a2394936eb6d52ba18e17c092dde SHA512 c09fdfa3e297d2ce9bb07fe565f7eea2824471ec240de67f3a6f4977408f198f428eb0c61dcffc87df93b16c28a1c84b7516a55f785f3bb233388019cdc7f515
|
||||
EBUILD org-modern-0.8.ebuild 424 BLAKE2B 905a3825b7ffaf3de412ffab234c0036ef1c3cd8f44a40cb91aeaebc6465c6179900fd345b6c6fdcf85ce939a36a2dd9d3d4a2394936eb6d52ba18e17c092dde SHA512 c09fdfa3e297d2ce9bb07fe565f7eea2824471ec240de67f3a6f4977408f198f428eb0c61dcffc87df93b16c28a1c84b7516a55f785f3bb233388019cdc7f515
|
||||
EBUILD org-modern-0.9-r1.ebuild 501 BLAKE2B e51ab3e68c8e55442d6c35d049fc2f7ba966c9d92575f69aeee9727ae29591157c24eb0ecff57b564c1ab376e1d7881af478d1c2e776551fed8024bc5b6c815f SHA512 d60a5054a76ebb02ca32d6f5724fd6a31a9bf12b07fba4adca4d68b8d1bd3c4a9f34aa9b25bac7fafbd0aef299dc435602339327d4d2111cc4a894abad3a26e0
|
||||
MISC metadata.xml 803 BLAKE2B 76b689a9bee8d6d86128fb80844c575294e9e91812161e735c47eb4fc7c9192539f2109ebbcbdc143abee07426faf6b7cf0bc86c48d411738a8329b14c7b56a1 SHA512 cc417a871bdf3534187e566c197007c848f0974b2b4b58eff473087ef09702a929a9df5f4f1df019a4ca632884e7657db055d0ab58ed2ec328506ff0a4a7fcb6
|
||||
|
@ -1,8 +1,7 @@
|
||||
AUX 50osm-gentoo.el 67 BLAKE2B 0486bd17d60abb53433943335ed7584a0ab6f3b2a1dcdf23174e6f790f95044d4000d5b37a3b1c2549337268b5b296c6528e68e061ad75aaae8bf3ff141069f8 SHA512 b4aed2a5c285c94489371fa297a44d7bd3ac6172199cea0218d0469cf4c2d36b819ada8f3da6b0a95c44f729e4d77f5051826081137c0f68cd58829705ccc50e
|
||||
DIST osm-0.10.tar.gz 31628 BLAKE2B 6cb3d4fcee65b93787507fcdc15afce521e4d65c2fcea9f729e5292bfc57ec065604c8439bc5d0d744969c36fcba14204257a93546d1c67a9d3d8a816e26e9e7 SHA512 03ad03b9b64244c53c2b9a7329b9d741f33102e41684488385bdc60e5398b9cba7d3950cb0937b4bdecb93017cb2c1b5f99324195349b88ae7eed66431149ba6
|
||||
DIST osm-0.11.tar.gz 31935 BLAKE2B d4cb18a9ab17d0d982db94a1dcfb37bdf3676b2b6bf367f249ccc2475783ce4f7eda8bb01beff8ac59e4a963e7800402f3fe9a99832f9072396d679a4fa0bd56 SHA512 02faba5200897b78b1e8d616d3f21a607645e401b80e13d016be8317cc92dcd7458d6b968066f088d9ee202d477e183c9d93bf1475710f6a6c249608cb68b0d6
|
||||
DIST osm-0.12.tar.gz 32029 BLAKE2B 42a8f70acb01ac0b326ac0e345528f2181e5ab45a92bfcc796d2d8cab5b587e4b071c5d1235cc92f4362be3849cd454015de096314b2de0ebd02bdc631588e03 SHA512 ad21fe39c096250f8e5249ae67c399ccb976a48576ced9e9ed4accbd7cbeed4a30e3c347ca5b4ba2f8e2b7db5a161b3145b01121860b9ee3880d06241bec3edc
|
||||
EBUILD osm-0.10.ebuild 635 BLAKE2B 98fe641c58a7e01e861a758b75af7d9df906041c3096e67524b74c679ac7e12ad548c7f54e085a11170e65c70df75708c393b48e7459b6ce1cbd32484da3e205 SHA512 4132aa4bc72dd883460d18ea87378c64a9e3a61558019068a68374325d1d20487298860852460f608f3e6ad3647922086d108dc1257614fd60f779b8d5585c91
|
||||
EBUILD osm-0.11.ebuild 635 BLAKE2B 50b190884e8e17b14547418ad7650ecbb798fd3a8ba2d6130131487ac63d027f8124911e8a4be84e87b45df7cffc65dc43d11230daa496af78b0748e9a8aefc6 SHA512 7f4a9056e3738b466f6be3a6235fc93996fd321a49ca3f9979c7ff6f4f4536eb3fe69e4b41e2ee6997d6d787ab27abbecf7677ab114cffc16291b4049d5d8243
|
||||
DIST osm-0.13.tar.gz 32400 BLAKE2B 0b97d1adb67510f393dc13b8f314e8b8cc089d1b5d4e440331a2c8ddf42799c5e04b6448eb35d3acd55c8fc363f82415d8b8cdf83e06fa3ccccceaa07ffd68e4 SHA512 4313ccb42c6c7a7fc582d5f2a476ff09890306c82bf0554654443906e593509692450d0db4b6ef4fde906aa750d925bd3156e74d8fcf6f780eb37a3761aa20e6
|
||||
EBUILD osm-0.12.ebuild 635 BLAKE2B 50b190884e8e17b14547418ad7650ecbb798fd3a8ba2d6130131487ac63d027f8124911e8a4be84e87b45df7cffc65dc43d11230daa496af78b0748e9a8aefc6 SHA512 7f4a9056e3738b466f6be3a6235fc93996fd321a49ca3f9979c7ff6f4f4536eb3fe69e4b41e2ee6997d6d787ab27abbecf7677ab114cffc16291b4049d5d8243
|
||||
EBUILD osm-0.13.ebuild 750 BLAKE2B c5dbc6c0166e598ecc60b4d08ad4efaa4173f693a58e22fa04e95a93d3a1f047e8d0eba2510912836b966c24876479728b1a72a6c93eea184dd910eba45c3a4a SHA512 376ac22c7645d8b44458df2eec47d167b88180bd3ce256012dd329da92d3265b3d3ce653004b2a818ebea1a17238a654f3862e939a1381dffecef7c31dc01667
|
||||
EBUILD osm-9999.ebuild 750 BLAKE2B c5dbc6c0166e598ecc60b4d08ad4efaa4173f693a58e22fa04e95a93d3a1f047e8d0eba2510912836b966c24876479728b1a72a6c93eea184dd910eba45c3a4a SHA512 376ac22c7645d8b44458df2eec47d167b88180bd3ce256012dd329da92d3265b3d3ce653004b2a818ebea1a17238a654f3862e939a1381dffecef7c31dc01667
|
||||
MISC metadata.xml 1007 BLAKE2B f28de509f2c4d32cbc67695ed97d2e4231baaa56e29a55993bb6b6c85323bbab51ba6ea398d6b0f562cb93975c6c09a5962f7f504509c4a6dcf19a6efca08750 SHA512 8ea20302c01493f320e2ad72e2a3530088a9a7d8db5a72c33286f31e82ba4a60e1dcaf6c4a11ded416ad864c27bb42d3833aeda58b261ea054ab71cb5fd26736
|
||||
|
@ -1,6 +1,9 @@
|
||||
AUX 50tempel-gentoo.el 70 BLAKE2B e302aa20f0a3b8c1b4291520a84b680ded0f26468fc74dd1d57a5f52693e05eb88ee8ddf673c2ad57c3055b5c2e933e6ff119d4016f482e99c0d985bf610b4d0 SHA512 2cb452a2623403100400cd5e74af0741d56cd2d89e93e49245cb86ff09be0d8289fae9760a1fadc637736549da6f0c0b528ea3e02ee495b0ced2093191286c90
|
||||
DIST tempel-0.6.tar.gz 25563 BLAKE2B 2edd522335f8faaa989b313b04f394f30f514cf7c40ec20f5f5fe0c1f1fe1b3ae05d15e9deb103e94d3d25b86a5725caa78904a25f22f806453a705dfc5e9c82 SHA512 49938758f5289fc9c77a78dc1559ce6a454d5969b256ba0e18239855ff0667afbb131c8e2214d4994fc342397903a293ad88bf26828c693ec5e197174d78ef50
|
||||
DIST tempel-0.7.tar.gz 26541 BLAKE2B 81bd7cd734eba5fbe299c736133512c035439036e17dc032b865c29e30ad6837957af8ce9bde3d56bc3dccb12f2e6111e66605e72e0bb0eead982fb436d8e9e1 SHA512 3589962c3273e9a2fb8a3b2d59c8831e15b481b9e69ad7785ae5a30e4df133bb187da6e58c04d77fa37b217f2a7c68dd7825c8a20856320f824adf739e5629a3
|
||||
DIST tempel-0.8.tar.gz 27043 BLAKE2B f4920a1c0d1d7ed21f2681031f846b07fcdabbd59b76f3ba2fcd1277c78b30e1c5e134deeb35410f7227d753256b9c16c6a4d641011b99d87b49f0fae0fd5a04 SHA512 7b832e151821f4c72a3d14663fb76a956e2b6730387e71e1aedb52c72a7798a5804ad2ca3d63185c52d39128d748394419c3708d8a6a7497014e573d277fa5d9
|
||||
EBUILD tempel-0.6.ebuild 498 BLAKE2B c922374280a79bcdf14c03999d9852f0778944828514e50e749c2564445cd4ec7e771d5b7a1628800be7f97327bde564cbb6b07d05f1126634cbdd9272d97aa8 SHA512 35816ede6c1ec8a8759a1664fdb01e653167264cbd2902eda1492815123c06ee379db11dc925533d1d6d5b89184fc585ce84a901d420cebd365fcf54dea899ba
|
||||
EBUILD tempel-0.7.ebuild 558 BLAKE2B 149335595ee02a7d5b5223217ff766139d2d77466b0977d997e25d8635e993fe22a72f5a35684a27190f38c9b5c1742ec64d6a82004c20b4a3723edb6ff9230e SHA512 4294b1d16e40396d091f1fa6ab924cec9e96295b262c06cdcdea7cf0c42e01eabfaca3b51a3452fab6d8721d71da718c3c3c7554b59649a29ffaa52e52f1afd7
|
||||
EBUILD tempel-0.8.ebuild 670 BLAKE2B 10c93eef98604d4f607dd2a9a7961d91873dbb78b8728418281c16e75fb5fd66c258df4cb121efb13cf39ed36d3a9b4b351b46cef0595491a8992cef29bcf58d SHA512 0b3161dcee223f5743a8b7afd0c9536035d95e8bb83a0322ef565f929ba1c275e985a6afc724a041428e24c7374582bced03c14a161d20ca2b69865aa5bfe8bc
|
||||
EBUILD tempel-9999.ebuild 670 BLAKE2B 10c93eef98604d4f607dd2a9a7961d91873dbb78b8728418281c16e75fb5fd66c258df4cb121efb13cf39ed36d3a9b4b351b46cef0595491a8992cef29bcf58d SHA512 0b3161dcee223f5743a8b7afd0c9536035d95e8bb83a0322ef565f929ba1c275e985a6afc724a041428e24c7374582bced03c14a161d20ca2b69865aa5bfe8bc
|
||||
MISC metadata.xml 1035 BLAKE2B 15f85f975327cc9a96b2682c728ee77d98dd3326cd793bef66e294775b94baee8006b981ccc880ac7940d52ecaa093ac4b5d639dde2141d88b0da1a69cd3c221 SHA512 6599e4a7d5eea0e95a7af53ea17d933bbfbf9313f36e8a777a964715a631f0e8b76e60786df1d59a83cad1b672acfd8f5045e8ecb2595e7e254b77f9402099d8
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
NEED_EMACS=27.1
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Templates with in-buffer field editing for GNU Emacs"
|
||||
HOMEPAGE="https://github.com/minad/tempel/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/minad/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND=">=app-emacs/compat-29.1.3.4"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( README.org )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_compile() {
|
||||
elisp_src_compile
|
||||
elisp-make-autoload-file
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
NEED_EMACS=27.1
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Templates with in-buffer field editing for GNU Emacs"
|
||||
HOMEPAGE="https://github.com/minad/tempel/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/minad/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND=">=app-emacs/compat-29.1.3.4"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( README.org )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_compile() {
|
||||
elisp_src_compile
|
||||
elisp-make-autoload-file
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
AUX 50vertico-gentoo.el 82 BLAKE2B 89e0376cb0361d71ad40318455820607ac23fe004dbc80c77c9943a94426c47ee409956e0770a1f8c3157b50f0f105275337b0c94b597755dac59baeac29eecc SHA512 ea5c77218cab48e770cf56d1732b8101bbe453fe5e98fccf92c6adf53fd3aa8c1c3fd4d33e02fcb02d7ef44c56661e9c593588ffefec0852ecd43c00da30a5dd
|
||||
DIST vertico-1.1.tar.gz 44320 BLAKE2B ca423d0a745cb0ed9c7f857f07595614264c8cf60056b696c31e26f85578278b1993c803556609fd444a1729f5380e314b39bd586073a6145b6b3e7f46462999 SHA512 e8df93ad4bd97d6313eefc3c2d88652841858a22db9be17b07e68095c158daf228f717524a6ba912541ce405afdfe5f696a3e5adf5d08c5e9e8b44694eb62294
|
||||
DIST vertico-1.2.tar.gz 44501 BLAKE2B 46ff938c13b6dbdf3f952a887b5fe4d091dfe68da067620e3ca2c567c783af748ab921502b7f5f66cfd6ffa7457b10563e95ae5d7add32565a15643531f83da4 SHA512 f7deeeaeb4b78a857e354dab8d61b5062147be4fb7b87083b0fd16d88bf26ec7354df462d17f756f538b32fbcbbda0878ee48540d1e45c592a5f7c2533c10eb0
|
||||
DIST vertico-1.3.tar.gz 45142 BLAKE2B a835e540ce271b5dc1cea13a9894a82c6adc6729cf45692a8e345389550ba4900649232b530b6293789bf8ee33447a149c525f167335fdcfa64150c9bddf3c85 SHA512 2cd6c6f13858c55dc0c182fdb7b5e9b8866e10e88554252e6f1c3a465b525e67517d4213d392e59f40f20956e9fba0f414490788f580c5ace5ffd29c29b87a9b
|
||||
DIST vertico-1.4.tar.gz 45260 BLAKE2B 199472fd9126bdb940eeac811c19f4a9f8efe5c5a31ce580ab148db23bb69bb47c71ec9299339e768fd8662dd38fe39e469d4548cd8c15b761a1b282d5bcbf67 SHA512 2ff48178807e5bd32d8515bc3a1c435be191b1383ca749cdaca8e15140c86253b6b5073c883c080ded42f6ec511acd4292b1cce415a696911f5f932a0de167f3
|
||||
EBUILD vertico-1.1.ebuild 609 BLAKE2B 6c72789cf6e818c6b8078ce43121834b96e7a6eb03f8adcad43c34b99c4412c01e8d81e7d78d392509abc4cbb0f276b993d085d4461360934b2ee4648340a096 SHA512 45b9af6bccfee6fcadae975a016267294d404c561c2e99821ee7c191bd8e579bd55d9fddb98dbf8df92b6238e557538b06112946013a663d2289aaa6af3b22bf
|
||||
EBUILD vertico-1.2.ebuild 609 BLAKE2B ada962f38b7e311699066545405b0bd897ea716e55a316651e481b1d14759259e90b7ce5a374fee8b0d504cd5b0aeaf1c623997f0c6e7a90e8e7815199ed4f2f SHA512 fcfbbdfd803ff56cbcacc6bf6698675aa418ca4650c30a8c92cd7929b26ae65518cc0bf9a3b0ceb19784f1203b0940fe699aadcef3da58ebd504cd04d4a029c2
|
||||
EBUILD vertico-1.3.ebuild 609 BLAKE2B ada962f38b7e311699066545405b0bd897ea716e55a316651e481b1d14759259e90b7ce5a374fee8b0d504cd5b0aeaf1c623997f0c6e7a90e8e7815199ed4f2f SHA512 fcfbbdfd803ff56cbcacc6bf6698675aa418ca4650c30a8c92cd7929b26ae65518cc0bf9a3b0ceb19784f1203b0940fe699aadcef3da58ebd504cd04d4a029c2
|
||||
EBUILD vertico-1.4.ebuild 722 BLAKE2B d278c4960746e2c7f0879940e153456469274acdf8f79350f829068e3dc64b713ee14b8adb1da2f7c35a82d83bd23f360e0f94abaec647b956ddd9de172387d3 SHA512 641e37d4913e1d6e237dd182d816c6e40e32cd94deb626e66f22fa1db0164312f3589ff440fb807dcbbae0850752da1d27c45b5feedd2155ac6111520bd404d4
|
||||
EBUILD vertico-9999.ebuild 722 BLAKE2B d278c4960746e2c7f0879940e153456469274acdf8f79350f829068e3dc64b713ee14b8adb1da2f7c35a82d83bd23f360e0f94abaec647b956ddd9de172387d3 SHA512 641e37d4913e1d6e237dd182d816c6e40e32cd94deb626e66f22fa1db0164312f3589ff440fb807dcbbae0850752da1d27c45b5feedd2155ac6111520bd404d4
|
||||
MISC metadata.xml 359 BLAKE2B d5d9e7f1c0ec1dc75d7fde73aa75f364f15740857e6a2bf39b3374424c3fcff4e79ceda481141598fee17c694b4c3538059f5bf95186aad6d535eacabcdb3341 SHA512 93e435f0f7bdb4d26a48525109688b964049a0b61d4b5633bd61dfd14ab68a5bd7e367d0cb7e45f5f1a57d73b8b63a9b2f8b0da9ac289bd4242da3b6f434b987
|
||||
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
NEED_EMACS=27.1
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Vertical interactive completion"
|
||||
HOMEPAGE="https://github.com/minad/vertico/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/minad/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND=">=app-emacs/compat-29.1.4.0"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( CHANGELOG.org README.org )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
mv extensions/*.el ./ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
elisp_src_compile
|
||||
elisp-make-autoload-file
|
||||
}
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST ganeti-os-simpleimage-07f67364e66b9f686a5b15d0c516310fcc3c7c9b.tar.gz 10722 BLAKE2B 7b9dfe0ba0f1c53ae61e5304b618e1f31ad08a93352b9781dd502bd27ca4426493eb3b61c4e751fe1787eb19c63ddf377a602a35a815042d5c8437ece991c5ba SHA512 278f9430d28c542b25ce4fd449dc57b97bcd56c0fc8b2c7bfacf08cc090c81d74eca44c0cc57faa28576bdaa3b1a0011d8780e8246acf5993765eb8de741e667
|
||||
EBUILD ganeti-os-simpleimage-0_p20221113.ebuild 1303 BLAKE2B 07ec9ffbb42506e032bedb1a4e3dc4b411e16cd0711b532e5bc55b9043dc78cfbf7b5a8802f14eea5a9d3b7be04003d4a08b8e2fedcafb4dec39f75ef8486143 SHA512 3485eb16c37d890bb49fa3aa2e137d53cd531681627d47b409366b274731067c1f8e5e620b48bc06895c1e66933829aa40e0f06e5641fd3a961a0a0a4b7208c4
|
||||
EBUILD ganeti-os-simpleimage-0_p20221113.ebuild 1302 BLAKE2B 52ae8dd831bbe4f9268c9d90aea13f36ff069d4470d479132d2e86f89c5c667e1cb8927d1e38dd0ce58b57a9a7d2d0bad75bc82264e91776e1998e0a483abc34 SHA512 a266cc79653383ac8b8701f508e9d2440d1807334081c05ae1070d3cac12448770a286cf91aecc3a9a029a357d6b2b76f1dcc934453af65c8c164a4430753a4f
|
||||
MISC metadata.xml 343 BLAKE2B a8ace1158ed8c7fe43993e543795434da2376f577c150e42ba65a2a39ecceeb97273417c90951ab1d57a5605d96bb5c30016591778a0b55b256d6ee7478173dd SHA512 c2cdc9fabd0cd7233128cdc2d32761f13b02f589b63db411f6b026cc5493cf4a93e7f48a6064e0dc606e51ce5d4f305218fda0aa673604193a4fbe87bdb7e73b
|
||||
|
@ -1,4 +1,4 @@
|
||||
DIST genymotion-3.3.2-linux_x64.bin 66085990 BLAKE2B d2d11eaa00e387749e3257a90f3bbe30d586f1ec178d97e5f4537f331451b1161806fcf05d1c84b10b5116247023bd338ac4440e568d7e58d249055aed2f3597 SHA512 ae3bfd2c4eefceb04cd67256b291e3c7bee3c3d0e212add92086709e5fd60bee4789d2ea80732bacbcad880be472e507470afd635cb766903664ea0815ed0205
|
||||
EBUILD genymotion-bin-3.3.2-r1.ebuild 4325 BLAKE2B 97582bcd6530867b070f39a60fac41507ad7ec3c2d47904c95321034d2da8365a4c62d445dc68b93e38eadd2af543b0ee1d46c3e9a7f5120fc5d2c74e3a6cb16 SHA512 6d6a73f531cbccf74a7945ba2f47e0105e1ec4ac488ef562434b3fc13876082f575afa3db9419f6e2e988e1fdb2070ce115bc6ee9de250835ab13a3e6eed14c7
|
||||
EBUILD genymotion-bin-3.3.2.ebuild 3687 BLAKE2B 4df2fb86a01bf24d91981547a3bf6e02b04e6e75a8fbdec4c93f17c468405db874ba53aac3464c5e1f62dba06dc4055ce3d378ab8478e57ac418a4db1ca78015 SHA512 bc3ee073b66fb077a97be2fa10f1a8aaef48931c44c0338e941093d326f897fbde207eadfd984b00f7fc3f998049f7e219b46f6c551483f44c23ea2c7baef028
|
||||
EBUILD genymotion-bin-3.3.2-r2.ebuild 3687 BLAKE2B 92ed8ca0825d781a0196b1d68672f360698b097da9a7f7a876e11c7f141a87910ec79f1d8057196d0979364c6ec728dbf407c585b1ec4f6be1c19133740b8ff6 SHA512 e44b4673349adf10ae85fa4696939ae40cc129db1e4f166bc892966cbfced1425f29003a8fcf874d6f29c176106e6c58ffbb3d8684dc704e6b7e4bbf2f497715
|
||||
EBUILD genymotion-bin-3.3.2-r3.ebuild 4325 BLAKE2B 74e95614a655c5cf125e2e3d1896cbe35b47c384ef88a7de2b54036a90ccae42fcec96eee24a7d956234c35769b21da6c6bb272486e72309cde70c72a68e43e6 SHA512 3a2d4515dd26e7d7ffbae235aa65c529328a28cdb463d2717df2c0e239f243a686d77af2c80e7e8eccb2854af0d68d58d2e1ea6f5ee4dcb2ecc946c7a335ad8c
|
||||
MISC metadata.xml 402 BLAKE2B ab9053ca959660812f1e1bc536950c0278d23c2906ff0a82483241f16960d2ae6ecd3eff091666df8fef38fdb073a6e3d0a5c8a7c7926426fead769365df49a5 SHA512 785e5acc8811d310b7cd5dc52fe3de6a22d7a92fa81a12db8a16b1df75a83f47ffea4e2fe21a712dabc5c1fff8da4d6f2e49ae0597373fd6e106aa13e81323d3
|
||||
|
@ -0,0 +1,162 @@
|
||||
https://bugs.gentoo.org/909542
|
||||
https://gitlab.com/qemu-project/qemu/-/commit/10fad73a2bf1c76c8aa9d6322755e5f877d83ce5
|
||||
|
||||
From 10fad73a2bf1c76c8aa9d6322755e5f877d83ce5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Schoenebeck <qemu_oss@crudebyte.com>
|
||||
Date: Wed, 7 Jun 2023 18:29:33 +0200
|
||||
Subject: [PATCH] 9pfs: prevent opening special files (CVE-2023-2861)
|
||||
|
||||
The 9p protocol does not specifically define how server shall behave when
|
||||
client tries to open a special file, however from security POV it does
|
||||
make sense for 9p server to prohibit opening any special file on host side
|
||||
in general. A sane Linux 9p client for instance would never attempt to
|
||||
open a special file on host side, it would always handle those exclusively
|
||||
on its guest side. A malicious client however could potentially escape
|
||||
from the exported 9p tree by creating and opening a device file on host
|
||||
side.
|
||||
|
||||
With QEMU this could only be exploited in the following unsafe setups:
|
||||
|
||||
- Running QEMU binary as root AND 9p 'local' fs driver AND 'passthrough'
|
||||
security model.
|
||||
|
||||
or
|
||||
|
||||
- Using 9p 'proxy' fs driver (which is running its helper daemon as
|
||||
root).
|
||||
|
||||
These setups were already discouraged for safety reasons before,
|
||||
however for obvious reasons we are now tightening behaviour on this.
|
||||
|
||||
Fixes: CVE-2023-2861
|
||||
Reported-by: Yanwu Shen <ywsPlz@gmail.com>
|
||||
Reported-by: Jietao Xiao <shawtao1125@gmail.com>
|
||||
Reported-by: Jinku Li <jkli@xidian.edu.cn>
|
||||
Reported-by: Wenbo Shen <shenwenbo@zju.edu.cn>
|
||||
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
|
||||
Reviewed-by: Greg Kurz <groug@kaod.org>
|
||||
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Message-Id: <E1q6w7r-0000Q0-NM@lizzy.crudebyte.com>
|
||||
(cherry picked from commit f6b0de53fb87ddefed348a39284c8e2f28dc4eda)
|
||||
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
(Mjt: drop adding qemu_fstat wrapper for 7.2 where wrappers aren't used)
|
||||
--- a/fsdev/virtfs-proxy-helper.c
|
||||
+++ b/fsdev/virtfs-proxy-helper.c
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "qemu/xattr.h"
|
||||
#include "9p-iov-marshal.h"
|
||||
#include "hw/9pfs/9p-proxy.h"
|
||||
+#include "hw/9pfs/9p-util.h"
|
||||
#include "fsdev/9p-iov-marshal.h"
|
||||
|
||||
#define PROGNAME "virtfs-proxy-helper"
|
||||
@@ -338,6 +339,28 @@ static void resetugid(int suid, int sgid)
|
||||
}
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Open regular file or directory. Attempts to open any special file are
|
||||
+ * rejected.
|
||||
+ *
|
||||
+ * returns file descriptor or -1 on error
|
||||
+ */
|
||||
+static int open_regular(const char *pathname, int flags, mode_t mode)
|
||||
+{
|
||||
+ int fd;
|
||||
+
|
||||
+ fd = open(pathname, flags, mode);
|
||||
+ if (fd < 0) {
|
||||
+ return fd;
|
||||
+ }
|
||||
+
|
||||
+ if (close_if_special_file(fd) < 0) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ return fd;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* send response in two parts
|
||||
* 1) ProxyHeader
|
||||
@@ -682,7 +705,7 @@ static int do_create(struct iovec *iovec)
|
||||
if (ret < 0) {
|
||||
goto unmarshal_err_out;
|
||||
}
|
||||
- ret = open(path.data, flags, mode);
|
||||
+ ret = open_regular(path.data, flags, mode);
|
||||
if (ret < 0) {
|
||||
ret = -errno;
|
||||
}
|
||||
@@ -707,7 +730,7 @@ static int do_open(struct iovec *iovec)
|
||||
if (ret < 0) {
|
||||
goto err_out;
|
||||
}
|
||||
- ret = open(path.data, flags);
|
||||
+ ret = open_regular(path.data, flags, 0);
|
||||
if (ret < 0) {
|
||||
ret = -errno;
|
||||
}
|
||||
--- a/hw/9pfs/9p-util.h
|
||||
+++ b/hw/9pfs/9p-util.h
|
||||
@@ -13,6 +13,8 @@
|
||||
#ifndef QEMU_9P_UTIL_H
|
||||
#define QEMU_9P_UTIL_H
|
||||
|
||||
+#include "qemu/error-report.h"
|
||||
+
|
||||
#ifdef O_PATH
|
||||
#define O_PATH_9P_UTIL O_PATH
|
||||
#else
|
||||
@@ -112,6 +114,38 @@ static inline void close_preserve_errno(int fd)
|
||||
errno = serrno;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * close_if_special_file() - Close @fd if neither regular file nor directory.
|
||||
+ *
|
||||
+ * @fd: file descriptor of open file
|
||||
+ * Return: 0 on regular file or directory, -1 otherwise
|
||||
+ *
|
||||
+ * CVE-2023-2861: Prohibit opening any special file directly on host
|
||||
+ * (especially device files), as a compromised client could potentially gain
|
||||
+ * access outside exported tree under certain, unsafe setups. We expect
|
||||
+ * client to handle I/O on special files exclusively on guest side.
|
||||
+ */
|
||||
+static inline int close_if_special_file(int fd)
|
||||
+{
|
||||
+ struct stat stbuf;
|
||||
+
|
||||
+ if (fstat(fd, &stbuf) < 0) {
|
||||
+ close_preserve_errno(fd);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ if (!S_ISREG(stbuf.st_mode) && !S_ISDIR(stbuf.st_mode)) {
|
||||
+ error_report_once(
|
||||
+ "9p: broken or compromised client detected; attempt to open "
|
||||
+ "special file (i.e. neither regular file, nor directory)"
|
||||
+ );
|
||||
+ close(fd);
|
||||
+ errno = ENXIO;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static inline int openat_dir(int dirfd, const char *name)
|
||||
{
|
||||
return openat(dirfd, name,
|
||||
@@ -146,6 +180,10 @@ again:
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ if (close_if_special_file(fd) < 0) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
serrno = errno;
|
||||
/* O_NONBLOCK was only needed to open the file. Let's drop it. We don't
|
||||
* do that with O_PATH since fcntl(F_SETFL) isn't supported, and openat()
|
||||
--
|
||||
GitLab
|
@ -0,0 +1,167 @@
|
||||
https://bugs.gentoo.org/909542
|
||||
https://gitlab.com/qemu-project/qemu/-/commit/b9d2887be4e616cdaeedd0b7456bfaa71ee798af
|
||||
|
||||
From b9d2887be4e616cdaeedd0b7456bfaa71ee798af Mon Sep 17 00:00:00 2001
|
||||
From: Christian Schoenebeck <qemu_oss@crudebyte.com>
|
||||
Date: Wed, 7 Jun 2023 18:29:33 +0200
|
||||
Subject: [PATCH] 9pfs: prevent opening special files (CVE-2023-2861)
|
||||
|
||||
The 9p protocol does not specifically define how server shall behave when
|
||||
client tries to open a special file, however from security POV it does
|
||||
make sense for 9p server to prohibit opening any special file on host side
|
||||
in general. A sane Linux 9p client for instance would never attempt to
|
||||
open a special file on host side, it would always handle those exclusively
|
||||
on its guest side. A malicious client however could potentially escape
|
||||
from the exported 9p tree by creating and opening a device file on host
|
||||
side.
|
||||
|
||||
With QEMU this could only be exploited in the following unsafe setups:
|
||||
|
||||
- Running QEMU binary as root AND 9p 'local' fs driver AND 'passthrough'
|
||||
security model.
|
||||
|
||||
or
|
||||
|
||||
- Using 9p 'proxy' fs driver (which is running its helper daemon as
|
||||
root).
|
||||
|
||||
These setups were already discouraged for safety reasons before,
|
||||
however for obvious reasons we are now tightening behaviour on this.
|
||||
|
||||
Fixes: CVE-2023-2861
|
||||
Reported-by: Yanwu Shen <ywsPlz@gmail.com>
|
||||
Reported-by: Jietao Xiao <shawtao1125@gmail.com>
|
||||
Reported-by: Jinku Li <jkli@xidian.edu.cn>
|
||||
Reported-by: Wenbo Shen <shenwenbo@zju.edu.cn>
|
||||
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
|
||||
Reviewed-by: Greg Kurz <groug@kaod.org>
|
||||
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
Message-Id: <E1q6w7r-0000Q0-NM@lizzy.crudebyte.com>
|
||||
(cherry picked from commit f6b0de53fb87ddefed348a39284c8e2f28dc4eda)
|
||||
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
||||
--- a/fsdev/virtfs-proxy-helper.c
|
||||
+++ b/fsdev/virtfs-proxy-helper.c
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "qemu/xattr.h"
|
||||
#include "9p-iov-marshal.h"
|
||||
#include "hw/9pfs/9p-proxy.h"
|
||||
+#include "hw/9pfs/9p-util.h"
|
||||
#include "fsdev/9p-iov-marshal.h"
|
||||
|
||||
#define PROGNAME "virtfs-proxy-helper"
|
||||
@@ -338,6 +339,28 @@ static void resetugid(int suid, int sgid)
|
||||
}
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Open regular file or directory. Attempts to open any special file are
|
||||
+ * rejected.
|
||||
+ *
|
||||
+ * returns file descriptor or -1 on error
|
||||
+ */
|
||||
+static int open_regular(const char *pathname, int flags, mode_t mode)
|
||||
+{
|
||||
+ int fd;
|
||||
+
|
||||
+ fd = open(pathname, flags, mode);
|
||||
+ if (fd < 0) {
|
||||
+ return fd;
|
||||
+ }
|
||||
+
|
||||
+ if (close_if_special_file(fd) < 0) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ return fd;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* send response in two parts
|
||||
* 1) ProxyHeader
|
||||
@@ -682,7 +705,7 @@ static int do_create(struct iovec *iovec)
|
||||
if (ret < 0) {
|
||||
goto unmarshal_err_out;
|
||||
}
|
||||
- ret = open(path.data, flags, mode);
|
||||
+ ret = open_regular(path.data, flags, mode);
|
||||
if (ret < 0) {
|
||||
ret = -errno;
|
||||
}
|
||||
@@ -707,7 +730,7 @@ static int do_open(struct iovec *iovec)
|
||||
if (ret < 0) {
|
||||
goto err_out;
|
||||
}
|
||||
- ret = open(path.data, flags);
|
||||
+ ret = open_regular(path.data, flags, 0);
|
||||
if (ret < 0) {
|
||||
ret = -errno;
|
||||
}
|
||||
--- a/hw/9pfs/9p-util.h
|
||||
+++ b/hw/9pfs/9p-util.h
|
||||
@@ -13,6 +13,8 @@
|
||||
#ifndef QEMU_9P_UTIL_H
|
||||
#define QEMU_9P_UTIL_H
|
||||
|
||||
+#include "qemu/error-report.h"
|
||||
+
|
||||
#ifdef O_PATH
|
||||
#define O_PATH_9P_UTIL O_PATH
|
||||
#else
|
||||
@@ -95,6 +97,7 @@ static inline int errno_to_dotl(int err) {
|
||||
#endif
|
||||
|
||||
#define qemu_openat openat
|
||||
+#define qemu_fstat fstat
|
||||
#define qemu_fstatat fstatat
|
||||
#define qemu_mkdirat mkdirat
|
||||
#define qemu_renameat renameat
|
||||
@@ -108,6 +111,38 @@ static inline void close_preserve_errno(int fd)
|
||||
errno = serrno;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * close_if_special_file() - Close @fd if neither regular file nor directory.
|
||||
+ *
|
||||
+ * @fd: file descriptor of open file
|
||||
+ * Return: 0 on regular file or directory, -1 otherwise
|
||||
+ *
|
||||
+ * CVE-2023-2861: Prohibit opening any special file directly on host
|
||||
+ * (especially device files), as a compromised client could potentially gain
|
||||
+ * access outside exported tree under certain, unsafe setups. We expect
|
||||
+ * client to handle I/O on special files exclusively on guest side.
|
||||
+ */
|
||||
+static inline int close_if_special_file(int fd)
|
||||
+{
|
||||
+ struct stat stbuf;
|
||||
+
|
||||
+ if (qemu_fstat(fd, &stbuf) < 0) {
|
||||
+ close_preserve_errno(fd);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ if (!S_ISREG(stbuf.st_mode) && !S_ISDIR(stbuf.st_mode)) {
|
||||
+ error_report_once(
|
||||
+ "9p: broken or compromised client detected; attempt to open "
|
||||
+ "special file (i.e. neither regular file, nor directory)"
|
||||
+ );
|
||||
+ close(fd);
|
||||
+ errno = ENXIO;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static inline int openat_dir(int dirfd, const char *name)
|
||||
{
|
||||
return qemu_openat(dirfd, name,
|
||||
@@ -142,6 +177,10 @@ again:
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ if (close_if_special_file(fd) < 0) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
serrno = errno;
|
||||
/* O_NONBLOCK was only needed to open the file. Let's drop it. We don't
|
||||
* do that with O_PATH since fcntl(F_SETFL) isn't supported, and openat()
|
@ -0,0 +1,973 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
||||
QEMU_DOCS_PREBUILT_DEV=ajak
|
||||
QEMU_DOCS_VERSION="7.2.0"
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# bug #830088
|
||||
QEMU_DOC_USEFLAG="+doc"
|
||||
|
||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="7.2.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}"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
||||
|
||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
|
||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg
|
||||
lzo multipath
|
||||
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
|
||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||
+slirp
|
||||
smartcard snappy spice ssh static static-user systemtap test udev usb
|
||||
usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
|
||||
zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
loongarch64
|
||||
m68k
|
||||
microblaze
|
||||
microblazeel
|
||||
mips
|
||||
mips64
|
||||
mips64el
|
||||
mipsel
|
||||
nios2
|
||||
or1k
|
||||
ppc
|
||||
ppc64
|
||||
riscv32
|
||||
riscv64
|
||||
s390x
|
||||
sh4
|
||||
sh4eb
|
||||
sparc
|
||||
sparc64
|
||||
x86_64
|
||||
xtensa
|
||||
xtensaeb
|
||||
"
|
||||
IUSE_SOFTMMU_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
avr
|
||||
rx
|
||||
tricore
|
||||
"
|
||||
IUSE_USER_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
aarch64_be
|
||||
armeb
|
||||
hexagon
|
||||
mipsn32
|
||||
mipsn32el
|
||||
ppc64le
|
||||
sparc32plus
|
||||
"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_riscv32? ( fdt )
|
||||
qemu_softmmu_targets_riscv64? ( fdt )
|
||||
qemu_softmmu_targets_x86_64? ( fdt )
|
||||
sdl-image? ( sdl )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
||||
static-user? ( !plugins )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( xattr )
|
||||
vnc? ( gnutls )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static !static-user )
|
||||
"
|
||||
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) "
|
||||
done
|
||||
|
||||
# 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[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
sys-libs/libcap-ng[static-libs(+)]
|
||||
>=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:=[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? (
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||
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-libs/libpulse )
|
||||
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:1[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
EDK2_OVMF_VERSION="202202"
|
||||
SEABIOS_VERSION="1.16.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
)
|
||||
sys-firmware/ipxe[qemu]
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
dev-util/meson
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
)
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
)
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )"
|
||||
RDEPEND="${CDEPEND}
|
||||
acct-group/kvm
|
||||
selinux? (
|
||||
sec-policy/selinux-qemu
|
||||
sys-libs/libselinux
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.patch
|
||||
"${FILESDIR}"/${P}-CVE-2023-2861.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/*/ || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}" || die
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--bindir=/usr/bin
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--datadir=/usr/share
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--mandir=/usr/share/man
|
||||
--localstatedir=/var
|
||||
--disable-bsd-user
|
||||
--disable-containers # bug #732972
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# bug #746752: TCG interpreter has a few limitations:
|
||||
# - it does not support FPU
|
||||
# - it's generally slower on non-self-modifying code
|
||||
# It's advantage is support for host architectures
|
||||
# where native codegeneration is not implemented.
|
||||
# Gentoo has qemu keyworded only on targets with
|
||||
# native code generation available. Avoid the interpreter.
|
||||
--disable-tcg-interpreter
|
||||
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
|
||||
$(use_enable alsa)
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable jack)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable oss)
|
||||
$(use_enable plugins)
|
||||
$(use_enable pulseaudio pa)
|
||||
$(use_enable selinux)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
||||
conf_tools() {
|
||||
if [[ ${buildtype} == "tools" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Special case for the malloc flag, because the --disable flag does
|
||||
# not exist and trying like above will break configuring.
|
||||
conf_malloc() {
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
usex "${1}" "--enable-malloc=${1}" ""
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_softmmu bpf)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser curl)
|
||||
$(conf_tools doc docs)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser fuse)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser io-uring linux-io-uring)
|
||||
$(conf_malloc jemalloc)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser multipath mpath)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser pam auth-pam)
|
||||
$(conf_notuser png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh)
|
||||
$(conf_notuser udev libudev)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts=(
|
||||
# Note: backend order matters here: #716202
|
||||
# We iterate from higher-level to lower level.
|
||||
$(usex pulseaudio pa "")
|
||||
$(usev jack)
|
||||
$(usev sdl)
|
||||
$(usev alsa)
|
||||
$(usev oss)
|
||||
)
|
||||
conf_opts+=(
|
||||
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
--disable-cap-ng
|
||||
--disable-seccomp
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
--enable-cap-ng
|
||||
--enable-seccomp
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
--enable-cap-ng
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
# Meson will not use a cross-file unless cross_prefix is set.
|
||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||
|
||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||
# like bug #747928.
|
||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/python/qemu"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
# we use 'printf' here to be portable across 'sh'
|
||||
# implementations: #679168
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dodoc check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null || die
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null || die
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}" || die
|
||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
# Disallow stripping of prebuilt firmware files.
|
||||
dostrip -x ${QA_PREBUILT}
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
|
||||
# PPC/PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
xdg_icon_cache_update
|
||||
|
||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
||||
fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
echo " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
@ -0,0 +1,964 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
||||
QEMU_DOCS_PREBUILT_DEV=sam
|
||||
QEMU_DOCS_VERSION="8.0.0"
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# bug #830088
|
||||
QEMU_DOC_USEFLAG="+doc"
|
||||
|
||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="7.2.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}"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
||||
|
||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
|
||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg
|
||||
lzo multipath
|
||||
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
|
||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||
+slirp
|
||||
smartcard snappy spice ssh static-user systemtap test udev usb
|
||||
usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
|
||||
zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
loongarch64
|
||||
m68k
|
||||
microblaze
|
||||
microblazeel
|
||||
mips
|
||||
mips64
|
||||
mips64el
|
||||
mipsel
|
||||
nios2
|
||||
or1k
|
||||
ppc
|
||||
ppc64
|
||||
riscv32
|
||||
riscv64
|
||||
s390x
|
||||
sh4
|
||||
sh4eb
|
||||
sparc
|
||||
sparc64
|
||||
x86_64
|
||||
xtensa
|
||||
xtensaeb
|
||||
"
|
||||
IUSE_SOFTMMU_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
avr
|
||||
rx
|
||||
tricore
|
||||
"
|
||||
IUSE_USER_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
aarch64_be
|
||||
armeb
|
||||
hexagon
|
||||
mipsn32
|
||||
mipsn32el
|
||||
ppc64le
|
||||
sparc32plus
|
||||
"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_riscv32? ( fdt )
|
||||
qemu_softmmu_targets_riscv64? ( fdt )
|
||||
qemu_softmmu_targets_x86_64? ( fdt )
|
||||
sdl-image? ( sdl )
|
||||
static-user? ( !plugins )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( xattr )
|
||||
vnc? ( gnutls )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static-user )
|
||||
"
|
||||
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
|
||||
done
|
||||
|
||||
# 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[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:=[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? (
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||
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(+)] )
|
||||
kernel_linux? ( sys-libs/libcap-ng[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-1.6.34:=[static-libs(+)] )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
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.14.0
|
||||
>=app-emulation/spice-0.14.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||
udev? ( virtual/libudev:= )
|
||||
usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
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="
|
||||
${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-user? ( ${ALL_DEPEND} )"
|
||||
RDEPEND="${CDEPEND}
|
||||
acct-group/kvm
|
||||
selinux? (
|
||||
sec-policy/selinux-qemu
|
||||
sys-libs/libselinux
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-8.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-8.0.0-remove-python-meson-check.patch
|
||||
"${FILESDIR}"/${P}-CVE-2023-2861.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/*/ || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}" || die
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--bindir=/usr/bin
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--datadir=/usr/share
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--mandir=/usr/share/man
|
||||
--localstatedir=/var
|
||||
--disable-bsd-user
|
||||
--disable-containers # bug #732972
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# bug #746752: TCG interpreter has a few limitations:
|
||||
# - it does not support FPU
|
||||
# - it's generally slower on non-self-modifying code
|
||||
# It's advantage is support for host architectures
|
||||
# where native codegeneration is not implemented.
|
||||
# Gentoo has qemu keyworded only on targets with
|
||||
# native code generation available. Avoid the interpreter.
|
||||
--disable-tcg-interpreter
|
||||
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
|
||||
$(use_enable alsa)
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable jack)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable oss)
|
||||
$(use_enable plugins)
|
||||
$(use_enable pulseaudio pa)
|
||||
$(use_enable selinux)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
||||
conf_tools() {
|
||||
if [[ ${buildtype} == "tools" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Special case for the malloc flag, because the --disable flag does
|
||||
# not exist and trying like above will break configuring.
|
||||
conf_malloc() {
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
usex "${1}" "--enable-malloc=${1}" ""
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_softmmu bpf)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser curl)
|
||||
$(conf_tools doc docs)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser fuse)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser io-uring linux-io-uring)
|
||||
$(conf_malloc jemalloc)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser multipath mpath)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser pam auth-pam)
|
||||
$(conf_notuser png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh)
|
||||
$(conf_notuser udev libudev)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts=(
|
||||
# Note: backend order matters here: #716202
|
||||
# We iterate from higher-level to lower level.
|
||||
$(usex pulseaudio pa "")
|
||||
$(usev jack)
|
||||
$(usev sdl)
|
||||
$(usev alsa)
|
||||
$(usev oss)
|
||||
)
|
||||
conf_opts+=(
|
||||
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-tools
|
||||
--disable-cap-ng
|
||||
--disable-seccomp
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
--enable-cap-ng
|
||||
--enable-seccomp
|
||||
)
|
||||
local static_flag="none"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--enable-tools
|
||||
--enable-cap-ng
|
||||
)
|
||||
local static_flag="none"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backends="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 [[ ${static_flag} != "none" ]] && use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
# Meson will not use a cross-file unless cross_prefix is set.
|
||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||
|
||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||
# like bug #747928.
|
||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/python/qemu"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
# we use 'printf' here to be portable across 'sh'
|
||||
# implementations: #679168
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dodoc check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null || die
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null || die
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}" || die
|
||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
# Disallow stripping of prebuilt firmware files.
|
||||
dostrip -x ${QA_PREBUILT}
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
|
||||
# PPC/PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
xdg_icon_cache_update
|
||||
|
||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
||||
fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
echo " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
@ -0,0 +1,140 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
CRATES="
|
||||
aho-corasick@0.7.18
|
||||
ansi_term@0.12.1
|
||||
arc-swap@1.5.0
|
||||
atty@0.2.14
|
||||
autocfg@1.1.0
|
||||
bitflags@1.3.2
|
||||
capng@0.2.2
|
||||
cc@1.0.78
|
||||
cfg-if@1.0.0
|
||||
clap@2.34.0
|
||||
env_logger@0.10.0
|
||||
errno-dragonfly@0.1.2
|
||||
errno@0.2.8
|
||||
error-chain@0.12.4
|
||||
futures-channel@0.3.21
|
||||
futures-core@0.3.21
|
||||
futures-executor@0.3.21
|
||||
futures-io@0.3.21
|
||||
futures-macro@0.3.21
|
||||
futures-sink@0.3.21
|
||||
futures-task@0.3.21
|
||||
futures-util@0.3.21
|
||||
futures@0.3.21
|
||||
heck@0.3.3
|
||||
hermit-abi@0.1.19
|
||||
hermit-abi@0.2.6
|
||||
hostname@0.3.1
|
||||
humantime@2.1.0
|
||||
io-lifetimes@1.0.4
|
||||
is-terminal@0.4.2
|
||||
itoa@1.0.2
|
||||
lazy_static@1.4.0
|
||||
libc@0.2.139
|
||||
libseccomp-sys@0.2.1
|
||||
linux-raw-sys@0.1.4
|
||||
log@0.4.17
|
||||
match_cfg@0.1.0
|
||||
memchr@2.5.0
|
||||
num_cpus@1.13.1
|
||||
num_threads@0.1.6
|
||||
pin-project-lite@0.2.9
|
||||
pin-utils@0.1.0
|
||||
proc-macro-error-attr@1.0.4
|
||||
proc-macro-error@1.0.4
|
||||
proc-macro2@1.0.40
|
||||
quote@1.0.20
|
||||
regex-syntax@0.6.27
|
||||
regex@1.6.0
|
||||
rustix@0.36.7
|
||||
slab@0.4.7
|
||||
strsim@0.8.0
|
||||
structopt-derive@0.4.18
|
||||
structopt@0.3.26
|
||||
syn@1.0.98
|
||||
syslog@6.0.1
|
||||
termcolor@1.1.3
|
||||
textwrap@0.11.0
|
||||
time@0.3.11
|
||||
unicode-ident@1.0.2
|
||||
unicode-segmentation@1.9.0
|
||||
unicode-width@0.1.9
|
||||
vec_map@0.8.2
|
||||
version_check@0.9.4
|
||||
vhost-user-backend@0.8.0
|
||||
vhost@0.6.0
|
||||
virtio-bindings@0.1.0
|
||||
virtio-queue@0.7.0
|
||||
vm-memory@0.10.0
|
||||
vmm-sys-util@0.11.1
|
||||
winapi-i686-pc-windows-gnu@0.4.0
|
||||
winapi-util@0.1.5
|
||||
winapi-x86_64-pc-windows-gnu@0.4.0
|
||||
winapi@0.3.9
|
||||
windows-sys@0.42.0
|
||||
windows_aarch64_gnullvm@0.42.1
|
||||
windows_aarch64_msvc@0.42.1
|
||||
windows_i686_gnu@0.42.1
|
||||
windows_i686_msvc@0.42.1
|
||||
windows_x86_64_gnu@0.42.1
|
||||
windows_x86_64_gnullvm@0.42.1
|
||||
windows_x86_64_msvc@0.42.1
|
||||
"
|
||||
|
||||
inherit cargo
|
||||
|
||||
DESCRIPTION="Shared file system for virtual machines"
|
||||
HOMEPAGE="https://virtio-fs.gitlab.io/"
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/virtio-fs/virtiofsd.git"
|
||||
EGIT_BRANCH="main"
|
||||
else
|
||||
SRC_URI="https://gitlab.com/virtio-fs/virtiofsd/-/archive/v${PV}/virtiofsd-v${PV}.tar.bz2"
|
||||
SRC_URI+=" ${CARGO_CRATE_URIS}"
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0 BSD"
|
||||
# Dependent crate licenses
|
||||
LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016"
|
||||
SLOT="0"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/libcap-ng
|
||||
sys-libs/libseccomp
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
# rust does not use *FLAGS from make.conf, silence portage warning
|
||||
# update with proper path to binaries this crate installs, omit leading /
|
||||
QA_FLAGS_IGNORED="usr/bin/${PN}"
|
||||
|
||||
src_unpack() {
|
||||
if [[ "${PV}" == *9999* ]]; then
|
||||
git-r3_src_unpack
|
||||
cargo_live_src_unpack
|
||||
else
|
||||
cargo_src_unpack
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cargo_src_install
|
||||
|
||||
# Install 50-qemu-virtiofsd.json but to avoid conflicts with
|
||||
# <app-emulation/qemu-8.0.0 install it under different name. In this case,
|
||||
# smaller number means higher priority, but that's probably what users want
|
||||
# anyway if they install this package on top of app-emulation/qemu.
|
||||
# TODO: remove once old QEMUs are removed from the portage.
|
||||
insinto "/usr/share/qemu/vhost-user"
|
||||
newins "50-qemu-virtiofsd.json" "40-qemu-virtiofsd.json"
|
||||
}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST ddccontrol-0.6.0.tar.gz 180376 BLAKE2B d844f03ae4843a710a3a7143b1270656202c261b5e412822c49c2096c150052ddb6747b62f7c1d2404cffeb13af5ed604be915061b3fd339c8dcf66473bbd791 SHA512 49e857e8ef8f2ba87dc51056b9511ce55f3e6471222cd9171a324e2ee179b8c96a8f4d90c63bb379260ccc8e1d9653964f90748d6589d298ff2bbe6982efd3e2
|
||||
DIST ddccontrol-0.6.1.tar.gz 180407 BLAKE2B fba90502925320f3eb20e71498456e8b1135af9d67a78a74ec7b28d3d49a2841fcb77806a983c4231e8e97d07ef7fdf29b36145316f130ed8a529ef39ed4d104 SHA512 abc8940dcd651c25e1030bd4f5ae59774cfa08b22352a653140ec924cbcaa93855473385575636ec0cd51ea5f1871e2331ade592846eafddb7eae99f55ff1164
|
||||
EBUILD ddccontrol-0.6.0.ebuild 1901 BLAKE2B 472030b31bd03e117076f6983278f6b6ceda215d4b7e85218a7aa438466ead6b3f20f11da0cd6aa04ea2fdfab34c1e716def15a7f1893be73c322c7c4cea7686 SHA512 fb306829a2b02dddb9f5e797c434bd8e58feb786e320db8149102d73147247c2f5fe92d66e6e8b01c16a0bab688621851ea6ba3fbc87b8f22fda48a44d4f5c91
|
||||
EBUILD ddccontrol-0.6.1.ebuild 1901 BLAKE2B 472030b31bd03e117076f6983278f6b6ceda215d4b7e85218a7aa438466ead6b3f20f11da0cd6aa04ea2fdfab34c1e716def15a7f1893be73c322c7c4cea7686 SHA512 fb306829a2b02dddb9f5e797c434bd8e58feb786e320db8149102d73147247c2f5fe92d66e6e8b01c16a0bab688621851ea6ba3fbc87b8f22fda48a44d4f5c91
|
||||
EBUILD ddccontrol-0.6.0.ebuild 2026 BLAKE2B e2416b9badcb23f465e2be748b16ca6b3286a5ea62fd11d247f5961dcf91bcf4204e858f3fb0ee3228641c68f900d09cc4bfc3e625ed61864fbaba96e98eb442 SHA512 9b1d65b7f4dacc6e06c0e43b56e070d8d4886809ba370184118358826c6ce4b7124b146f020c0151bee12e23d55f68996666ee14363c0ef4e0a42d03a10b4bff
|
||||
EBUILD ddccontrol-0.6.1.ebuild 2026 BLAKE2B e2416b9badcb23f465e2be748b16ca6b3286a5ea62fd11d247f5961dcf91bcf4204e858f3fb0ee3228641c68f900d09cc4bfc3e625ed61864fbaba96e98eb442 SHA512 9b1d65b7f4dacc6e06c0e43b56e070d8d4886809ba370184118358826c6ce4b7124b146f020c0151bee12e23d55f68996666ee14363c0ef4e0a42d03a10b4bff
|
||||
MISC metadata.xml 361 BLAKE2B 7878bf4653e703c0043af5c6649635fe8592a882378e681e9394b2f076ca50090e47174030a61a0426039448ce6a71115d5b67387aacd8eb96977209c9661b23 SHA512 8cbbe272d36870715ef58f5277c1a9d041b543ef16dc1ec0a19faf4b6cf1fff37088f29e183c1916b3f3d584c4305ed7c2e3cc38dff8f7198a3e68ed06bc9a2e
|
||||
|
@ -1,5 +1,5 @@
|
||||
DIST fastfetch-1.12.0.tar.gz 537924 BLAKE2B f7d815890193c1ad30cd1d714b9d9a751124dd34a838c9b81e7ac05392082d54e7c658ea93ce2d7ca44d4b8bff9d4cb55ea1e958731eccf1db14a53bc04072b2 SHA512 8a9b63b7eda6002771fe3c5852b31acb337c1a78d382bee8f1caa13c02e24cff1728506af2295c231f02d6ffba8b3bf9772d4a7f7f70938e83d256e74cc14de1
|
||||
DIST fastfetch-1.12.1.tar.gz 537953 BLAKE2B 1304cfaf02599dbaafe76ed514e675a2e7f684493c9fc4aeab4982b21a6fe6226b0563395ab5a3afa366494ae0c45174f73c79c0cb831434fe820e8a76936bb6 SHA512 04cc98aaf4d22bb064ba9ce7986c1fe4988659cff87a5eb9245907a00a03d95d3e27b589fc5da48743ed476988da98da27bc02fd7cdd5f7f04519a2a637547aa
|
||||
EBUILD fastfetch-0.1.9999.ebuild 2831 BLAKE2B 1e74286945d764fd2824c3f70cd576bd75c1d13823c4ca4b0a49ecb9d238f7c25411865db0b2b96d6f63d0f43a6a7f10acf8534cfa2994129dc0ccf03f6b783f SHA512 d42746335e3f2ea08309660499e2139d1a214bf36d9f1044d1c96c715a24b4e68b01d3d5920455f4cfd71f8c1af3562ed3977efc40fb4375ada41ec1e38cddea
|
||||
EBUILD fastfetch-0.2.9999.ebuild 2831 BLAKE2B 1e74286945d764fd2824c3f70cd576bd75c1d13823c4ca4b0a49ecb9d238f7c25411865db0b2b96d6f63d0f43a6a7f10acf8534cfa2994129dc0ccf03f6b783f SHA512 d42746335e3f2ea08309660499e2139d1a214bf36d9f1044d1c96c715a24b4e68b01d3d5920455f4cfd71f8c1af3562ed3977efc40fb4375ada41ec1e38cddea
|
||||
EBUILD fastfetch-1.12.0.ebuild 2831 BLAKE2B 1e74286945d764fd2824c3f70cd576bd75c1d13823c4ca4b0a49ecb9d238f7c25411865db0b2b96d6f63d0f43a6a7f10acf8534cfa2994129dc0ccf03f6b783f SHA512 d42746335e3f2ea08309660499e2139d1a214bf36d9f1044d1c96c715a24b4e68b01d3d5920455f4cfd71f8c1af3562ed3977efc40fb4375ada41ec1e38cddea
|
||||
EBUILD fastfetch-1.12.1.ebuild 2831 BLAKE2B 1e74286945d764fd2824c3f70cd576bd75c1d13823c4ca4b0a49ecb9d238f7c25411865db0b2b96d6f63d0f43a6a7f10acf8534cfa2994129dc0ccf03f6b783f SHA512 d42746335e3f2ea08309660499e2139d1a214bf36d9f1044d1c96c715a24b4e68b01d3d5920455f4cfd71f8c1af3562ed3977efc40fb4375ada41ec1e38cddea
|
||||
MISC metadata.xml 1072 BLAKE2B 91bd3ea6312ec3d312f617167c844a24b3b43dcd30cb8bd050d27e1e69dec85ed14abf4198741b21765ee08d3320920dca6877bb17dc7f4cc7e699729ac7f739 SHA512 a3efd1937db95fd42b447d559668b06cc1cdef7e67e8f6bec19f71b944d41628f2a1a68fc55f72ea1fa1319b25a960b660c6450ebf4509f3e21cad99505c4779
|
||||
|
@ -1,5 +1,5 @@
|
||||
AUX uptimed.init-r1 730 BLAKE2B 21d7b8f5fa4daee5a3807d35f749a467731b5e2ebc0e2b741cbe20ad9af32aefa52566fe99dedc31abf30c3f74d74ced97ce094f07203b1473bc79d9ee2546e2 SHA512 8a9e054b2ae3f5479504b0d466a96687f5be2c5d1d8fda740597ca21d8854b4ba4bc8576f8f903392e1b3c7564e3e9e80eb39f30f5a8df0b228d1bdae04725f0
|
||||
AUX uptimed.service 209 BLAKE2B 9f763df7f903aa9a2563041acad553906e0a69faf93280bceee3bb7856e67c1010d067c06ae699f4dd0389228392d5828e1bf75636c69171e2d21509330f6baf SHA512 949baf12782d4b8a976d29ec44bd31323500de763b82601634eea3721ce9035bb9b7ca906384e2b8ebd57371a1116a95dd78c3610c27fa1d93e36b9f897bcd98
|
||||
DIST uptimed-0.4.6.tar.gz 56796 BLAKE2B 9ea2e5f9e045f11f29232e51746bd4984fb93a8b9c36b652c4b247ab0923c1b162067aa20cb5bf0d8d2dee8e927aecea33b7be488b51f573ba525b6234b78e86 SHA512 035caba32182a807312b587b3cb3b6322027b7c8f3e69a3f0b52ea4f44ecfc40505fe58b6a1b56a87a967f1f8b1fbc075414a04b60717577e32972feadb9bc2d
|
||||
EBUILD uptimed-0.4.6-r1.ebuild 1138 BLAKE2B cc2a04860f92b68d2f734bc53d2ed20be8d28c53cda1c3e8a1e1dbb933b8d14428058cdc2cf1ed2fe7ed1b5518cd46eb276a9bea2a0d661e2ca28ccf1f382f4d SHA512 0763102da3c58786b6aeb3abf00e76f643cb04704624dc3821cf972913808f70772d21a4ab8cb99858b056feb49c858a4894d5758e629542b18c2bc6c6bc7f87
|
||||
EBUILD uptimed-0.4.6-r1.ebuild 1204 BLAKE2B 5bdeb70b03569a0ee099ce42f5f4d6ccbfdcfdac73077b95fc9f75cfe07af0186c374584dc1b2d7d2c47d8557c42ac0b6c877bb4eacdbd7c7db51344daaabf24 SHA512 de31e3444ad9b2ba19d0d267149309ce1fecf052686c6d8930a1a3b51e41b75960995e0282366deaa2e604c9a17da6d0c23a4d61716b1a1b61a53bf29a0c701e
|
||||
MISC metadata.xml 333 BLAKE2B bf68e69969537872f8a77b770b3eb3045bf9325226d0e2796cbc29356003823c33e4a66ffc68eb2ec5c381dbbed3428e137d4bead876280bdda566b8e04f5f1f SHA512 81f613cfdc5895b230285b6605d520ffdbddc3193a8aa32447129055adf0a0dcb76b64cc9de34495707b3e4d480cebca9b1d6a96d1b3db50113f0867a50c9602
|
||||
|
Binary file not shown.
@ -1,5 +1,3 @@
|
||||
DIST ledger-3.3.1.tar.gz 825005 BLAKE2B 72207dd53e8e8a201511cf9ca245c505e953fee4dc88e2be46753f4037be46dbd882ed94327f502622c1a23f332ddf9a94d2dfa60986fd82f192103612da6ca8 SHA512 6271f5beb0d0b9f157c06bf701f302b229bea1db5343f9d9239a8723039f248920d545bcc4fbea35646fdbcffb960f7830266b141a58ba88496ed34ee7d770a1
|
||||
DIST ledger-3.3.2.tar.gz 825274 BLAKE2B ee0901eaba234688cc36e399bd86118269d8691162feacf25e70ffaf28e8d572f47a62fb014126f5dce65c73135f21ad4364a642637a80d2577bf20b657fc9a4 SHA512 d5d7058f0e9a02ad1d46e6780675d446070824b321f0f4c1ea6ac0c3dd4f11f259113bc36cbc796e4bb6d0a7898d6a68a25cce639e27a2b2434eec11a612ecb0
|
||||
EBUILD ledger-3.3.1.ebuild 2392 BLAKE2B 0ca2fb25ab9bc07ad8da27d6800115c0791aa8d9c658f75fbe74a5743c2d9dd07f6d058cdd9fe23659a4fcdf72d1bd1ef44d44bc379b97d0d8f59c286a85492f SHA512 1bfff76995e6c3fbb6146d836e0399612baade304bd8b800575b880567e7dc0560fd17339537e7a55df30c336b098df564e165ef483015a8ef6be3f0fd95f957
|
||||
EBUILD ledger-3.3.2.ebuild 2396 BLAKE2B 01f711493f2960840a1ece642a8a0c8c13703f549ac0aee9759bfd47215e2067dd2ab981b2a74f6bb9492a6118e86b0a5708e02e0df4a22ce9bd41fe71a72ce4 SHA512 09f736adfe0dbc111aba490b51681abea61535d4bcd560d4ea1250faad63a51438109c60d223f29550ae6c3d4f4a0d5c96286baa8d6046a232656a0a978ca414
|
||||
EBUILD ledger-3.3.2.ebuild 2392 BLAKE2B 0ca2fb25ab9bc07ad8da27d6800115c0791aa8d9c658f75fbe74a5743c2d9dd07f6d058cdd9fe23659a4fcdf72d1bd1ef44d44bc379b97d0d8f59c286a85492f SHA512 1bfff76995e6c3fbb6146d836e0399612baade304bd8b800575b880567e7dc0560fd17339537e7a55df30c336b098df564e165ef483015a8ef6be3f0fd95f957
|
||||
MISC metadata.xml 307 BLAKE2B f3dac05e0bf7b2902ba20eb344829c1b835ff3847c71aaf1c53d28c5045b350fbf140e2f6b3cdb80f3be99b9fa3afffdd2c52d5081c6500c42233a402ce25a54 SHA512 db8c5c551a20e1e19151f31188fb1e61642591dbb01ad4e52b4542dabde3fd374ed234b7de6c9fdd11cf57477acc8dda07e26bc5ae8f251ab306309bf3772668
|
||||
|
@ -1,113 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
||||
CMAKE_REMOVE_MODULES_LIST=( FindPython Support )
|
||||
inherit bash-completion-r1 check-reqs cmake python-single-r1
|
||||
|
||||
DESCRIPTION="Double-entry accounting system with a command-line reporting interface"
|
||||
HOMEPAGE="https://www.ledger-cli.org/"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
|
||||
IUSE="debug doc python"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
CHECKREQS_MEMORY=8G
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/boost:=[python?]
|
||||
dev-libs/gmp:0=
|
||||
dev-libs/mpfr:0=
|
||||
python? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-libs/boost:=[${PYTHON_USEDEP}]
|
||||
dev-python/cheetah3:=[${PYTHON_USEDEP}]
|
||||
')
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-libs/utfcpp
|
||||
doc? (
|
||||
app-text/texlive[extra]
|
||||
sys-apps/texinfo
|
||||
virtual/texi2dvi
|
||||
)
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if use python; then
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use python; then
|
||||
check-reqs_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
# Want to type "info ledger" not "info ledger3"
|
||||
sed -i -e 's/ledger3/ledger/g' \
|
||||
doc/{CMakeLists.txt,ledger3.texi} test/CheckTexinfo.py \
|
||||
tools/{cleanup.sh,gendocs.sh,prepare-commit-msg,spellcheck.sh} \
|
||||
|| die "Failed to update info file name in file contents"
|
||||
|
||||
mv doc/ledger{3,}.texi || die "Failed to rename info file name"
|
||||
|
||||
rm -r lib/utfcpp || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_DOCS="$(usex doc)"
|
||||
-DBUILD_WEB_DOCS="$(usex doc)"
|
||||
-DUSE_PYTHON="$(usex python)"
|
||||
-DCMAKE_INSTALL_DOCDIR="/usr/share/doc/${PF}"
|
||||
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
|
||||
-DBUILD_DEBUG="$(usex debug)"
|
||||
-DUTFCPP_PATH="${ESYSROOT}/usr/include/utf8cpp"
|
||||
)
|
||||
if use python; then
|
||||
mycmakeargs+=(
|
||||
-DPython_EXECUTABLE="${PYTHON}"
|
||||
-DPython_INCLUDE_DIR="$(python_get_includedir)"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
|
||||
use doc && cmake_src_compile doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
newbashcomp contrib/${PN}-completion.bash ${PN}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Since version 3, vim support is released separately."
|
||||
elog "See https://github.com/ledger/vim-ledger"
|
||||
elog
|
||||
elog "For Emacs mode, emerge app-emacs/ledger-mode"
|
||||
}
|
||||
|
||||
# rainy day TODO:
|
||||
# - IUSE test
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,29 @@
|
||||
https://bugs.gentoo.org/906250
|
||||
https://github.com/mgieseki/dvisvgm/commit/b16a8d1c452d809118ceade4d2e8c6f9dfce48ac
|
||||
|
||||
From b16a8d1c452d809118ceade4d2e8c6f9dfce48ac Mon Sep 17 00:00:00 2001
|
||||
From: Martin Gieseking <martin.gieseking@uos.de>
|
||||
Date: Fri, 5 May 2023 22:22:00 +0200
|
||||
Subject: [PATCH] added missing includes
|
||||
|
||||
--- a/src/DVIActions.hpp
|
||||
+++ b/src/DVIActions.hpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#ifndef DVIACTIONS_HPP
|
||||
#define DVIACTIONS_HPP
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--- a/src/Pair.hpp
|
||||
+++ b/src/Pair.hpp
|
||||
@@ -22,6 +22,7 @@
|
||||
#define PAIR_HPP
|
||||
|
||||
#include <cmath>
|
||||
+#include <cstdint>
|
||||
#include <ostream>
|
||||
#include "macros.hpp"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
DIST libgepub-0.7.0.tar.xz 28536 BLAKE2B beeab3d3911353cb0cac78207cc9e18e3341afce94213757c8d246a2d01c42aa0eb37618cc066307ce2ec8f21dbb89982271f25a9552d6872d5e86a4345407c6 SHA512 2ab661a6379899ff818313205d818ef1239654afde9ebcc22fa55b5d961aee20dd9c8295a58ff1d1fb1ea281ddb6ee8644942a860b3ee9f6a4ba9d7447efc517
|
||||
DIST libgepub-0.7.1.tar.xz 28576 BLAKE2B a65ecdd13bfcc96fbf0e1998d24cc565f0bd60213f278fdf592dcdf1ad6a1b40c9c10e3ffc3fe9ac500d92f5471619432badd746dfc57538e96a2b6a138b0a26 SHA512 9a9c56cffab485b78f0fdf115e655c4f395ee6e3f00b203fee5dfbb2054aa58540ca1fe8dc9dd82460ae3b39e89471e128086be10e77b247d0ce7b195bfbe8e3
|
||||
EBUILD libgepub-0.7.0.ebuild 921 BLAKE2B acba85182bd5b84664dccfd678d985598d932f1aa65e9e10dd6f3ced8b97e79f4394743f157eea3540ff2e249f4ba1166f71f4bd3d5d54af2f6b0c4969ced24e SHA512 cc53f0090484e2befe18d0d2925d3ee50dbd63db15d71ba251d7d3db0c8ce4587e9ba705733e5d6a9813d98178ab7c929c5fed5661f3a537850eadd3e095fc37
|
||||
EBUILD libgepub-0.7.1.ebuild 922 BLAKE2B 4b1ed481f326bdc4e78bbbe81abed5a0dcfbd1fb8967b4be2c2810602d41bff518297d02402c37376a862156feb8189e1477f38fabbd8eb1bf179884f86d0494 SHA512 e11bae5e767f67e41f647ba96c2c1a40c18b66b301f56b21a3337d8473797d19cfb88bad2666e6a424aa6f35aa17a1cce532f9153bae18cd0cc4bb42ca2fce94
|
||||
EBUILD libgepub-0.7.1.ebuild 921 BLAKE2B df884cca915f064d91746a946f1a942f09805ca8977f3d1d7de285df7a3775834939a0c895ae4d1e4fb581a5db1f09815afa9c3a5c58f4b8bc4d44a1c5de9adb SHA512 17134723e8661729b8260822ff6f51c041142e0c781832c4008da3c82e9947f1dc80e698402ecffd4cd78c0515fe4255ae651264754ae38572df7e25f3acd04f
|
||||
MISC metadata.xml 436 BLAKE2B d829d0b00fef946cbc3356048e1499b944197362474a044f916cfe128f99d9ac041924315c1fb845f6e823d37a710e1f420f2fcff41306aad89f65223fa1d63c SHA512 6753be33014461b9eee51648ea9086e00bdd8406468ca5914a0ba42102b130defc2f1a9e28be8f1ffd99056bd8ec6ede0c86f958ec7181131353d5e03ca9c43c
|
||||
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST xetla-1.04-pkg.tar.gz 295025 BLAKE2B 9a373e77d53f77c5d05ab2cf5d12942281c6dd32158a6e16d6e8eb0494ded373e10b27a5d48a55ffdea35676c9d7eeeb5724818eb3311114448ae76a86526766 SHA512 4d214ae76eecaf4011ca1f49b21b60786c29b6c6652d05f024f37114f7bacbf1bfdd3f48d7ab7f4d0e3e9808986aea2de9703d498acdaa676ab0344b26af5e96
|
||||
EBUILD xetla-1.04.ebuild 522 BLAKE2B 3eb2886b2828d48228cf0b66064758872cbc6dd495a9f9494fe181bd5fcbd21748cde9fbeb211af6ccc1b4c8dea9450ebd60b43e3af4aa87eb8167876db85205 SHA512 e8b6d8ff36b00bde40ed1ad5a83a59d9ab5e86350de84cc63b1fa1a3d904a8ddbe75d73951fefaf4d04b3c5dbfbbab6720f82ad700de4f3048f3f72afa85f3bd
|
||||
EBUILD xetla-1.04.ebuild 409 BLAKE2B b18fef3f848966d6e3502a235660809b4b62ec9a099f9a2a2b48df0d26d5c27e63cc58909dd9b085bd63252641cc0110b78137c0702ef9ff42b705af0a771ceb SHA512 464ee472621d0367a9b437ce5c80aa3db1f43193aade689e5aa0679feae525a3667c2119baddbf842977e1f9cd5144df57a61900b9632f168ab6111540bdc665
|
||||
MISC metadata.xml 262 BLAKE2B e476ea04c86ed4c8225e65e2eab757ba330323bb3976769b3a066ca059a90fa597536aa74fe1ad9f924be96f13a5fdafa663a4ed6f802d06e03dfb7567f52fd0 SHA512 4c936b32a6c7160469a80d2c376ebf09ed8c42efe26beccfbfb0320ad285337f3351c1546a02865605f00c0320fe97dcf0ca1a1465d5d51f35e2347092a2679c
|
||||
|
@ -1,26 +1,20 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
SLOT="0"
|
||||
DESCRIPTION=" Arch (tla) interface for XEmacs"
|
||||
DESCRIPTION="Arch (tla) interface for XEmacs"
|
||||
XEMACS_PKG_CAT="standard"
|
||||
|
||||
RDEPEND="app-xemacs/ediff
|
||||
app-xemacs/xemacs-base
|
||||
app-xemacs/jde
|
||||
app-xemacs/mail-lib
|
||||
app-xemacs/dired
|
||||
app-xemacs/prog-modes
|
||||
"
|
||||
RDEPEND="app-xemacs/ediff
|
||||
app-xemacs/xemacs-base
|
||||
app-xemacs/jde
|
||||
app-xemacs/mail-lib
|
||||
app-xemacs/dired
|
||||
app-xemacs/prog-modes
|
||||
"
|
||||
RDEPEND="
|
||||
app-xemacs/ediff
|
||||
app-xemacs/xemacs-base
|
||||
app-xemacs/jde
|
||||
app-xemacs/mail-lib
|
||||
app-xemacs/dired
|
||||
app-xemacs/prog-modes"
|
||||
|
||||
KEYWORDS="~alpha amd64 ppc ppc64 ~riscv sparc x86"
|
||||
|
||||
inherit xemacs-packages
|
||||
|
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
DIST scitokens-cpp-1.0.1.tar.gz 309430 BLAKE2B cfb0a25bde68076334d37d0b47adcb2f1b794bf60330f612c3bfbe2588e420a2b427e9e9916ee14c2c348ed4448d781fad2068d35560b45740b81144aa12e6a6 SHA512 592d8c473ecdeed49c5552239d98e4da57313c8914b3c97c74a6bc4b1f4929b4490a33695e741972a8c83f6097d644fc4df94b3ca54d811c64dcf542b6467ea9
|
||||
DIST scitokens-cpp-1.0.2.tar.gz 311221 BLAKE2B 8f77f4f5ded34f7c572567c980ef0dabaf7e36d4395d41046a1bd8e1343299309ea81efb23b0120532cba365463a9ad2c5ff857f85be5df922830541513c11cd SHA512 c15784342eb70eb0ec1cd87d5a1e89446b8aa3bb070bfdef58960c2d94739b05d186ee33807ebc066a450a0211b3dd7c04ea613fd4870d7a2d0f8fe30e8a7453
|
||||
EBUILD scitokens-cpp-1.0.1-r1.ebuild 1409 BLAKE2B 7656555965f3efc6ccb0dcfbd5c126cfe56a23af47e1e47bf9cf622eaad7cdb8dfda8c46b608560b01d4bbf6ba0197b08cb603af8762a224e5527e24b7573d9f SHA512 a471c4ea80df0dbc5d2998c9ff6010a0ab33690abb0a552c224d176c906cef01197cf75b364492ab97423dce9182102c594cdd1d92caa596a1fc3e15789596a7
|
||||
EBUILD scitokens-cpp-1.0.1.ebuild 777 BLAKE2B ece63bbedbd9d5db682a490edaf2b25f1355f232a0af262b464ae5b72f72d9eb9ac6808d970bcc936e6bfad0ab3151a73231b9333fa2d74f76489dfc4e944a36 SHA512 a2f3caac29fa5e9f5531d71634a7509f8577f6f76eeff66a893797b3778bf3eca87b0343755ff50dc0e45c408b95bb43ca8f4bac90f0c030268572d2d19b675a
|
||||
EBUILD scitokens-cpp-1.0.2-r1.ebuild 1409 BLAKE2B 7656555965f3efc6ccb0dcfbd5c126cfe56a23af47e1e47bf9cf622eaad7cdb8dfda8c46b608560b01d4bbf6ba0197b08cb603af8762a224e5527e24b7573d9f SHA512 a471c4ea80df0dbc5d2998c9ff6010a0ab33690abb0a552c224d176c906cef01197cf75b364492ab97423dce9182102c594cdd1d92caa596a1fc3e15789596a7
|
||||
EBUILD scitokens-cpp-1.0.1-r1.ebuild 1406 BLAKE2B ece69ad335c397ec20a477dbe848ea1f86b7ab9b7a87e19550a37b53d77c1fa2f6ef33eb6d6078bde3725beb2a0fb7a3e766f78ce4486c90d54961066bed677a SHA512 8092a3fe73e5431ae80f18eaa0efc7077003f0f57da7ea658a83575c7bc35f48cdbf61e82be09d2e88c1b5d1b3d719d079ad62602ec702cb7e608f75eb60d40f
|
||||
EBUILD scitokens-cpp-1.0.1.ebuild 775 BLAKE2B 086c67fc0770efe20db4312b382806a08e3e59587ea22673ac278f8a0cde211f2254a746f3c8a32f29bab255c3d1b8eafdb3c9b4206be1358952b0429967d9f7 SHA512 4b8b72639de5c5915b2619555d6c157609da4a72a8f5fc7b730e811b87a1609e323627135ca1624ef374376ffb7becc22ed3dcd8d87c4aad3f4893b39311aef4
|
||||
EBUILD scitokens-cpp-1.0.2-r1.ebuild 1406 BLAKE2B ece69ad335c397ec20a477dbe848ea1f86b7ab9b7a87e19550a37b53d77c1fa2f6ef33eb6d6078bde3725beb2a0fb7a3e766f78ce4486c90d54961066bed677a SHA512 8092a3fe73e5431ae80f18eaa0efc7077003f0f57da7ea658a83575c7bc35f48cdbf61e82be09d2e88c1b5d1b3d719d079ad62602ec702cb7e608f75eb60d40f
|
||||
MISC metadata.xml 1067 BLAKE2B a3af60b824b07a0db1f2497b7a8d8dea6a4c5a0a225be98e0bd2c35e701197210d0905c213fda060536cacf68e7b0181bad0f849c3dc9eac709af8c1c1df9169 SHA512 e87768329cb90205fb98cba59ddb911414c202cf03de358030aca79766b9834b3a3be4f00ba1a50f5171281852b85b5dc0211a6b7943c4cf0de94e794dd4827a
|
||||
|
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
AUX README.gentoo 287 BLAKE2B a52c1897c2336512137090284a65c1d614deec67ac7c3b3b2432bb7fd40a61bd2edbde6b60a648129ca7440cc2d2a0bce89ece5fea1dceed4649b5deb204c8ba SHA512 518518b134c306f07f74e01d72cfed2571e9a34f4b88e2d71758884cd8b1d6af38c50e40b7d4fa4d8d732d9f9f294eab590800ccd75792456fb42078aa3fdebe
|
||||
DIST pg-gvm-22.5.1.tar.gz 38657 BLAKE2B e4c29e67650c101762157229dce7fa390f456e37d52ebc0f9c05beda8d5da8c11342857c87377b7bedc5e9e2d33c24b7f8a24e75fbce7cc5a28015d9d9235075 SHA512 aff713d9adceb6dedd4857acd70562bac80d024125637d47883d96bcfd47aa5cd0669c65d69dd307805bd3199a67ca76569cc1a65e19ea391b2c61fe8d359a82
|
||||
EBUILD pg-gvm-22.5.1.ebuild 837 BLAKE2B a2edd431f6de3f7d2b89a143dca210b0489badeb6e3bd732ecaff75fbbf782bf3cf7394ecbf4109008e5e88f584e988c2bfdb297c8e3a110379db9aa2b97e07e SHA512 aee59a58328c8d9e9e452afeda60e4cb50d6ace8cc2eb230264699b364df63100e2d349150f195b20c03b11ef1ef9ed8647e861281e7168e49ecb4a24f3e6d91
|
||||
MISC metadata.xml 906 BLAKE2B 21ca8bb4fa7c5fbdbec09365ce6c0480ae2eb889a14b0a3e4902a2dc50271e6d82d23c31b1e2bbbf583fc3d6f95a8f588bb529db25910caec81094aca6679e10 SHA512 2a13a44b1d86f38789a57a6daed0ec5f12c3365b0d31865628cb5d05095c7cb9eae451b3b48a6067edfb5b8ea18094be075afd00ec0dd483e26f0d99dfaf2c46
|
@ -0,0 +1,10 @@
|
||||
To use the extension in a database create the extension using
|
||||
CREATE EXTENSION "pg-gvm";
|
||||
|
||||
You can do this on the gvmd database running:
|
||||
|
||||
root ~ # sudo -u postgres psql gvmd
|
||||
gvmd=> CREATE EXTENSION "pg-gvm";
|
||||
gvmd=> \q
|
||||
|
||||
Please, read: https://github.com/greenbone/pg-gvm/#use-the-extension
|
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>foti.giuseppe@gmail.com</email>
|
||||
<name>Giuseppe Foti</name>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Greenbone Library for ical functions. This library contains functionality for ical object manipulation.
|
||||
This is a PostgreSQL server extension that adds several functions used by gvmd, e.g., iCalendar and host
|
||||
range evaluation. In previous versions, of GVM these functions were managed directly by gvmd while
|
||||
pg-gvm uses the extension management built into PostgreSQL.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="github">greenbone/pg-gvm</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake readme.gentoo-r1
|
||||
|
||||
DESCRIPTION="Greenbone Library for helper functions in PostgreSQL"
|
||||
HOMEPAGE="https://www.greenbone.net https://github.com/greenbone/pg-gvm"
|
||||
SRC_URI="https://github.com/greenbone/pg-gvm/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="GPL-3"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
# Tests requires a running database that match up with the current
|
||||
# testing slot. Won't run from ${ED}, want's to install too early.
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND="
|
||||
>=dev-libs/glib-2.42:2
|
||||
>=dev-libs/libical-1.0.0:=
|
||||
>=net-analyzer/gvm-libs-22.6
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=dev-db/postgresql-9.6[uuid]
|
||||
"
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
diff -rupN a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c
|
||||
--- a/src/backend/commands/collationcmds.c 2020-11-07 08:03:24.122756440 +0300
|
||||
+++ b/src/backend/commands/collationcmds.c 2020-11-07 08:04:18.168901199 +0300
|
||||
@@ -464,7 +464,7 @@ get_icu_language_tag(const char *localen
|
||||
UErrorCode status;
|
||||
|
||||
status = U_ZERO_ERROR;
|
||||
- uloc_toLanguageTag(localename, buf, sizeof(buf), TRUE, &status);
|
||||
+ uloc_toLanguageTag(localename, buf, sizeof(buf), true, &status);
|
||||
if (U_FAILURE(status))
|
||||
ereport(ERROR,
|
||||
(errmsg("could not convert locale name \"%s\" to language tag: %s",
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue