parent
99146ce4e6
commit
479db4c8f3
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29471 BLAKE2B d930f7fe827fe01c42bc29a50c58b0fb6e8e1a8ca35a21cfec948f23093de336da6803b0c174ba14664e2d0c02eea38158a47688c01a98ab0fa6f4228f120c93 SHA512 d12c0217fdc26ad13626c7f038cb0384f86dc969022d00576e28c2cc0ed5670c194144b2fe914d6bb535cc0dbcdb7d78a57ddf9dd64bd26ae58507ae16d21766
|
||||
TIMESTAMP 2023-04-16T17:39:49Z
|
||||
MANIFEST Manifest.files.gz 29441 BLAKE2B abdcdc378b10adbd34a5878ee9a57359c3d23fd42429108e4fc69b3ce7103c8e0c8db25b4511f5e5770a0033a794b423a04699451204e248be22deeb8c03d1b8 SHA512 fa11b6f4b51e7aea5b8e396a98ab7ba40a014d205a8ebe7b25bb5e37ae4925e8b5b26638491991a564c324dbd1c8da7868d2fd26fb38bf3cde9fe38d876ff48e
|
||||
TIMESTAMP 2023-04-18T11:39:54Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmQ8MuVfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmQ+gYpfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klDfvBAAi32RcWb4IKyT+9SYVgFDwSA5/BAqqfatAE770avC72nRmc3ACSEfg/Kt
|
||||
5L0WVeUlDq7C+PQHUvdft10Ah5DRC3KouRvHSH/7o0FBgYmTcYltsdR0Qovx0Sxr
|
||||
uSt/LENxQYjyI3Asj+tDUTPdruK5w0TvYh8sl3cppv/FfB7+TBCUNTRgt7ttloJW
|
||||
NO/AMB4s9lc+iD8petY9ukBXysmr1n7ycBaodnGGZfVtYSpMr3s0Zv+5qVpc+JTT
|
||||
dacbHHwKc+wtp3GxQhI8sUUXASq+Xaxq6/QmM7JWvpF8x6wQ2XSbjVxctuH1v65l
|
||||
AwEy+R/DLER5TdwABbEXnO/0/x7nZAv86JbsAwFf5/fzbJbGPC02/J6britQOHj9
|
||||
lFPlvluK8qirqH+FlCW/LtOeJN0XtsGpAmzAK9bofaB3oAyUdBldA1zbukjD1zYF
|
||||
qosnOPq8EwG/zw8WgIGcIeZ2XW7OwypNaQz2rkGjtSgSx32MKQO0O9b/5/64UJqo
|
||||
ZjOOfuQnWRhJDJYFW2JyEs+EUaSJ+EnNmRI2WD7x4DVlTCR6WP7ZvVxf627XtQT/
|
||||
8AELgtP1hZEk7+SStPKjJNXgaqaPrfZdw/vXXw/GQDc3z7hxI17Ojd5Nf4cUFnLk
|
||||
Mgxg/Clk0gepP4QSfHSGT1qV1NgLhPE67gSGAJpy8o4Z1EAgeGg=
|
||||
=EhsM
|
||||
klBgaA/+KEYNxQ1OoNKWahfmpeXUhLkYHQUlak1N83H1TrYNNnD42bmmBgkIboyz
|
||||
YCjXZTmscwc+JYk71E6NxRz2ZL/RdtfwUqUO2o4ggEi8ydVJufvj67hbVF+NvxQD
|
||||
UusviheDSGdHiod1J2H82wT5gIkxglaz9dAFS73MfyiPRZFfqAzcaMVAfCB0O/05
|
||||
nlsB8laXXl1ATjCuWKPRrkwwnhHJfMEKgsOeQtDCCk74b+0t4Cw/MHRHivg1Fs4K
|
||||
uPOTTc2J3uqhfHfcFqR22T/jqWwsS1VXJcIk0equBErfbhA5xfH7rcDmPqj3clBw
|
||||
EEtDAjCPYzQfs8z4KeGxVIW1IgLOswJtKfQGHWU92qMIWDAYxm8L4P1FQg+H3qbS
|
||||
K6E/JwkBYzdnuUrfct1UBWFFKLqBGydDe4bB7r+OQRvOByQek8J4BeXf0ViO3bli
|
||||
9FYMHVBwKiSbZkkbwEClIhlhS9YY2m5fgCluVRJyW/JqTAMdRNBaHSOLNuNU/Zd3
|
||||
1fPzO/O8AMuT/HhE3LyFpXT0AreFSuyV31Od87Qklartwnq8IkCaEfnd/PToBq+q
|
||||
GaMcGgA2q4JqW63qM8I8SyNqE3wqQ/NcHHqI2ngsPq2fZlIi939XFybVsXV7v+U2
|
||||
J8KmFrsqoeadto4iYfzPgZPNo1cu2bRaWjQma46o2iJMElhWR2M=
|
||||
=rkv/
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
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
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
AUX clog-1.3.0-gcc13.patch 244 BLAKE2B c8a69255cd4a886ec9d2457ebd6a16bca727bf54532cc40f2cbf70694f589c63703b99fd4cca26814d6b31335267efa4655fc6e86d8351fa6d4d52ee33bfb87d SHA512 86b90352598f17476ec19476c82d03971597321b759f22bd7d86e39536bcd2e6aaf87c6f9c2bc11865281bf61354b352279dcc8da29bca7a83f07a85b94c60f3
|
||||
DIST clog-1.3.0.tar.gz 705807 BLAKE2B 5e78cf1ed209ef7dae301175e11048eec3e9227ca740ae444a0302e5ee40af260349c9b02d8fe86a159c2db9bc29b5854240000f793e868b270a5852eb552229 SHA512 dfd4ae9c5e31be1620c246edd4b1642ff2351589da04c4fb805d3566e3efe0958ba6978fea567d40b7faeb217ba9f7b42b201a059f939c35564ee8f40b8b452a
|
||||
EBUILD clog-1.3.0-r1.ebuild 500 BLAKE2B f809e0708f67a442e53b8cf0e5870ee9fa74911a864ead90838ad52417796d8e01cf7f929937a4a499786ded7f1da663afac9a10829f610b8610eac2f8fb9158 SHA512 598f70dc8ceef4ccab9059998a44668e69c010f2ebe8dcd6cdf9476b9084f6fcfcf402da682ddec0f0dbef22422a295cb4bb9ab86a7af1f34ec794e353019e8e
|
||||
MISC metadata.xml 167 BLAKE2B 868e3b584722eaacf68273db062bb773d8c7e5d7ab2b81ca7e8397643bf7cc106c3a1033594401c99c54f667bb45d6b73f9048fc335580bbd44b4589ad26a832 SHA512 30caadd1496c3b9969136038239a1d8e01f236726b4022c2d7e19ca7575f25f735e556835e581afbf44fbd3e4104c40f2b5ef5fa70118d75c881fdf871962d0a
|
||||
EBUILD clog-1.3.0-r1.ebuild 543 BLAKE2B ee4beb4374222344d26ac6a397fe98ec34fc8e29da2eee76a27a1eb8ead789736432e771da18402eb115c60d97ee3d0bfe3c2c0c1aa067c2089a172b2a6636a0 SHA512 dcdfa83bae0a2ca3338e8284251dd43b4aba64fcb75516281db50567c3c96f1c54a7d5c8701d4dbfcdefb08769651ad465cb559f77b231c957e786a5a48644bb
|
||||
MISC metadata.xml 258 BLAKE2B 1e35313b18c13b5307a42b8c6dc62617c7c414fd0ef37c1e876f6b6ae916522d80535cf43275bc189f0b924c8534c4bcf9c210261f7d6277e9211bb5f75ab4b8 SHA512 d928244e2a27a0ccbe110cd36fe330af64f9e329a271f4edc0bdadfedbc8b30daa07b6226a921c023cd2920b77b56790f5fafa1171fcb0f63c6b22223f410a35
|
||||
|
@ -0,0 +1,11 @@
|
||||
https://github.com/GothenburgBitFactory/libshared/pull/71
|
||||
--- a/src/libshared/src/JSON2.h
|
||||
+++ b/src/libshared/src/JSON2.h
|
||||
@@ -27,6 +27,7 @@
|
||||
#ifndef INCLUDED_JSON2
|
||||
#define INCLUDED_JSON2
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
class JSON2
|
@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="github">GothenburgBitFactory/clog</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -0,0 +1,57 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit go-module systemd
|
||||
|
||||
DESCRIPTION="A tool for service discovery, monitoring and configuration"
|
||||
HOMEPAGE="https://www.consul.io"
|
||||
GIT_COMMIT="5e08e229dbdaed5adf3ca99afe9df247c51507da"
|
||||
|
||||
SRC_URI="https://github.com/zmedico/consul/archive/v${PV}-vendor.tar.gz -> ${P}-vendor.tar.gz"
|
||||
|
||||
LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT"
|
||||
RESTRICT="test"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
|
||||
BDEPEND="dev-go/gox"
|
||||
COMMON_DEPEND="
|
||||
acct-group/consul
|
||||
acct-user/consul"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
S=${WORKDIR}/${P}-vendor
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -e 's|^GIT_DATE=.*|GIT_DATE=2023-03-30T17:51:19Z|' -i GNUmakefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# The dev target sets causes build.sh to set appropriate XC_OS
|
||||
# and XC_ARCH, and skips generation of an unused zip file,
|
||||
# avoiding a dependency on app-arch/zip.
|
||||
GIT_DESCRIBE="v${PV}" \
|
||||
GIT_DIRTY="" \
|
||||
GIT_COMMIT="${GIT_COMMIT}" \
|
||||
emake dev-build
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/consul
|
||||
|
||||
keepdir /etc/consul.d
|
||||
insinto /etc/consul.d
|
||||
doins "${FILESDIR}/"*.json.example
|
||||
|
||||
keepdir /var/log/consul
|
||||
fowners consul:consul /var/log/consul
|
||||
|
||||
newinitd "${FILESDIR}/consul.initd" "${PN}"
|
||||
newconfd "${FILESDIR}/consul.confd" "${PN}"
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
|
||||
systemd_dounit "${FILESDIR}/consul.service"
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
DIST git-credential-gopass-1.15.3-deps.tar.xz 36895816 BLAKE2B 16b480c0e0f40f8b8e5802f25ef45d117dc96853d9fab89c9c7f11bda57bd681fb3f03bf7231a5b848196e079bb6717775389c86e8130e2b1f2238791ff2148b SHA512 7952aa7223839b8d0967b96b3dedbd2361df50b5108210de98237d7445d5941c06d98e295a7f7e25e57e466fd062933f6ef71a630cbbbfbf8d55a035a46c9558
|
||||
DIST git-credential-gopass-1.15.3.tar.gz 20583 BLAKE2B caf091710a0fa4f6ac461c6beec4fe2add797cbaf7794a4675544fd3e878cd0e57c27280040605cca3879598922912194b70aa70e237a688362dfd9186b5824e SHA512 c3be30d502d77865dba660780903d195c2d328045150627a7a3412ec987f92ed931995e6fc6663a623b32de637cb600f878e633175ce5b813bfcafb0fc4a1b8d
|
||||
DIST git-credential-gopass-1.15.4-deps.tar.xz 33138508 BLAKE2B 7cbb930e55f1ed53f3ce8c47e51d8066d1a518801d5d364b8c8b90b376910e916e34c5f2493cb062ac5c03e0b9aeb96119f129a8655b6ad3f1d9fec4600cb0a1 SHA512 14ecefd8b36513195cae86d355d974d596e859c46450121350af2d2aaf27f592b54e55e697c200eb89e94959f278e65712dbb4d534d0c1bcbc711fb4db829625
|
||||
DIST git-credential-gopass-1.15.4.tar.gz 20592 BLAKE2B 2fef319cb7c1d90c89512f305fffbbe88ce5efa25bde798adfebdbf1a29847b1c62d51ca4ece4262c6746e5abb0f31e01804e827de8fdd364fa6bfbe2a9fd414 SHA512 4e456c35fb5fb4d91fada4c2ccafa5a48c9261746653dd363638b1fccfeea647f465d0956146a18bb0d50ffb8bd2c7502497efcac54095db7d37441074aeb6cb
|
||||
EBUILD git-credential-gopass-1.15.3.ebuild 566 BLAKE2B 79d21810446b14fe210b2f2a49d453e9e826934c45de4c9819c6d3b553dc6bfd407b8f7732ae14488eb2b26c7b5b502d7970cb07dce3cf977bab2740f399e21e SHA512 da1a40c4eb672ae35c51933e7b2ea43dd221e06e27d30b3c87eef95253ce1d45e6db0e917abae0ac13e022a04813412903683e8f33b27385a105a76800b3cd09
|
||||
DIST git-credential-gopass-1.15.5-deps.tar.xz 182896696 BLAKE2B 59cd74ff4be1dfd83d221327d041506c41799f67d8559f5a12341a70f2c63e36d03f8f99628ac973a02cbb42ba920366642f124a6315a8ff0d388d384c912b85 SHA512 64f34fecad85562cdf4db48030703b991bb2f6448e1fbd17ab0063f193c328f78e9630b7e64e9f1e4417f011b6a087e2e9fb19fe4adbac3ff36c3a315da933a6
|
||||
DIST git-credential-gopass-1.15.5.tar.gz 23210 BLAKE2B 18f58e3e72778b9e3493288e2ab546413e09ed49b3d2764ed72d0cc444d4c03afd7fc4a4ecc1f378320296c6c7a488e0ec0e42ee688ad1b51c999c5a030e8339 SHA512 de67f21b27dc4f8e5437b465a748dabf3563393b09aefff08016fe367ffd847b3ad196d034589a05e1723763abf56395ab08372a05b86005cca11a3cc4cfb91f
|
||||
EBUILD git-credential-gopass-1.15.4.ebuild 566 BLAKE2B 79d21810446b14fe210b2f2a49d453e9e826934c45de4c9819c6d3b553dc6bfd407b8f7732ae14488eb2b26c7b5b502d7970cb07dce3cf977bab2740f399e21e SHA512 da1a40c4eb672ae35c51933e7b2ea43dd221e06e27d30b3c87eef95253ce1d45e6db0e917abae0ac13e022a04813412903683e8f33b27385a105a76800b3cd09
|
||||
EBUILD git-credential-gopass-1.15.5.ebuild 567 BLAKE2B b54520728f6d984c8d9bf57cb9295a78709b1a146a4c2750d38f555e7de67c9ed7c6569478ad3b093760be732089c37cbf4a723b9e8219c63dfedea613838908 SHA512 49b1cc5e3397d4853f53b4c9d333fef60e86f55086e241b7856bac6acb990f84984ca793e94ca846c0d7d623e8f15bb01bd3ba7cf6fa03e17be49e31efe72559
|
||||
MISC metadata.xml 263 BLAKE2B 406fed6e34644b2aa7b04586fb3cc42c37dd6c097db64e0d713418b36654e82b8b46491ec49774a7e1e2203dbfad0ff24965ed816e126fa3a80ea108d5f2495e SHA512 e5a37932228eb86fb5a3593b2d69130bff196a096efbe28ded5e7ed78d4e37e1e0fe03c28ba6cbba7a2791197e59d3eca73ed2a5e4d06c87c352938db5ff2c60
|
||||
|
@ -1,7 +1,7 @@
|
||||
DIST gopass-hibp-1.15.3-deps.tar.xz 37693396 BLAKE2B 24bb949660e9e38fe03ab2c6d1af2a4c46501352149d0532a99d1f8bede20aa10936af02d4cc4e94036eee50db21cab7e91c31aa9d15e34b4bf4ae88cc31e284 SHA512 060bf251850efb39590028a40d2922d3a2299550b4259c96b58e52a5ebc99e52bd341811f1a27676c5b5a0ab25d7094de3514e7f2d733caf64537bdb1cee56f6
|
||||
DIST gopass-hibp-1.15.3.tar.gz 24961 BLAKE2B 477a5bdd285e1ff53a24e1f9f7e860b3226bc936a1283d058ba7b614a9578bdaa36fae9367584b182057c0dc114f10dafebea11149f1d3841ff7d263a7a7edd2 SHA512 da0e894a3429c40a3c5351f09edd21a9eb0552fde7cabee9f33f0b37346ef61af24d66aed0e81cc99d8f1ada716a5bf0182c2e604c1bf2b8d38de077c359ad18
|
||||
DIST gopass-hibp-1.15.4-deps.tar.xz 33365976 BLAKE2B 15c125423cc52b89a93d650c30a94b95452d923884ef3637c5e04aef9885e89dfce4e1f2205ab18a362eea6624439accdb15420bc8fa950d4755cc741638deb6 SHA512 7f1312372ea9f134e81069de62d97d475c402e899248534923a9e5b3557360004dd92a01ca4bb0f1e3289c599bc027999742a9d24aa6922d8b2653f0e18a1f40
|
||||
DIST gopass-hibp-1.15.4.tar.gz 24968 BLAKE2B 04c20ac2e29fd4268a01aca998ac32884c41b8e9a5f40772427a54a737ada5bcd6da0224a5e5939db082ddb5cc216deb24c9eea6db9320f8c89618bbff5fcfbe SHA512 64cd2beed3c1089b0be474722caba9511abdfac875c1a47ee29d2ec26591edf613801d0d3687a58d1cb67d9235093922fe5372effc96a373f49b09e7ffec54b1
|
||||
EBUILD gopass-hibp-1.15.3.ebuild 553 BLAKE2B 986120dd09df04341032118efe8aa47c53869600a17f4ed792780a5d9f6361aaeffd7c08ce009818167d8e302beb59d8e427dd2bdea8127e803678a1948d1d56 SHA512 f010dad6210f1d627d7759c2b36f533aed9eaf4355de34ee5ab6a726373be085712a78bc41efbc27b6ce1e11908e925ea00df8435019a43d1d0ec51b26760de6
|
||||
DIST gopass-hibp-1.15.5-deps.tar.xz 182857584 BLAKE2B 0e0c536b02ac2c22daa299513815351e0890361dd2f3fb7cf2bf33c7c980371321b3e009599242190f51acf14f83be1c32948999e29aa54ad4e6b17a8c9087d0 SHA512 9b81e1a30a111f58b81e2e88a13e955ab406c31922287990968ef21e575d611d7754e0d7e0ee82191fbe6d2f72f3d30cf34b632c5ba548c1d165e218e2803698
|
||||
DIST gopass-hibp-1.15.5.tar.gz 27096 BLAKE2B df6a87ba6279d3dc0f1403861e5829d2fd5f5ec1b2aadf4c1cb27d6380d50df482af115ec78ae807e20660c5cd1fbd4336849271959647259a5626896b85f923 SHA512 d32ad613a25b52e9fbdc655ac15ebac8456882be9dcc462f186a888e4f82070cfe295f0e359faa4cf01b3c562d01328ce1dcb835df85707957c79a84c52d9fcf
|
||||
EBUILD gopass-hibp-1.15.4.ebuild 553 BLAKE2B 986120dd09df04341032118efe8aa47c53869600a17f4ed792780a5d9f6361aaeffd7c08ce009818167d8e302beb59d8e427dd2bdea8127e803678a1948d1d56 SHA512 f010dad6210f1d627d7759c2b36f533aed9eaf4355de34ee5ab6a726373be085712a78bc41efbc27b6ce1e11908e925ea00df8435019a43d1d0ec51b26760de6
|
||||
EBUILD gopass-hibp-1.15.5.ebuild 554 BLAKE2B 2019204ec3c5fe09d70ccd752603ca7d4301664df72fe3b5515da41572da42582e4885cd075a5de1dcced63a4d2522d0745b99ef3c3cb631af22520979cf2ae4 SHA512 188cb3d4d02f4fde2a8b69c084d53e3994854db2daa95c1914681b8a8536c04b09211bea814a98bdf85c074ae7c6e2718766b3ed1d78d00ad5a35235cdd8e79f
|
||||
MISC metadata.xml 253 BLAKE2B 9355711340b552cd5fcf8809184c92c33b39050b43c582a351f5423f3772f895fe192f0cf7261e00250cb424cbe846002b4d0c9357fa18d3fa6eff3f5afd0c30 SHA512 70093621a9cea5ade5ec64ab0f87c5d84b8f52e3b3c2ee6cfc1929a3cb833bda2ae2773b12647e473bc96fe3d39b33030942f30f9733aa5d2d2054410239319c
|
||||
|
@ -1,8 +1,8 @@
|
||||
AUX gopass-jsonapi-1.15.3-skip-test.patch 502 BLAKE2B 9083240b8becc8fdb2b906f44414f8a4fc333c729c854e8b8bcee11e1f32dd69ffb8b3c44c59da97a97e0d10efae8d85618ea81fc9ebaeafbc81789adda98b47 SHA512 cdb08b50aece5b95596beba9ab65a2950f1366fcc36697a80fb24641ee198cb11515d7c1667a45961ae3454a0b6c1cc9cdcb98aa573b10c2070f6ca241e2e44f
|
||||
DIST gopass-jsonapi-1.15.3-deps.tar.xz 37462824 BLAKE2B c6ec5937e0b029f70f378cc5ebda5b3dd70f426d67e0327f1851f68712fa6fc438841f2b1c6a403283a3a8a339c683970c10d11191d2ca282e0ebcc7c912876e SHA512 d41ff73f693283d33d9c0812ba929cf9fa2df51e616d653652cb2b2ffc8dd56f5b0a123cbdcf0659b579eb7dd6aa7895dd3a20b6df0420dc112dbdf48d5f5a72
|
||||
DIST gopass-jsonapi-1.15.3.tar.gz 32273 BLAKE2B ed0befce03a00336329f322a9d682a8237e72fc01816b1d3df35813cc360711f19051614fea8562e0fe47e1cd96607f4347cf57a08f5372b0a60896fa9fb88ed SHA512 90f1ddb51ed006e7504895f3b686192eec7571243601c3ab24e7525144c0ed338519a710258b5edd8d5b0b9b0bc8c6c319f37e3fb67ba1c938273be30b739989
|
||||
DIST gopass-jsonapi-1.15.4-deps.tar.xz 33151484 BLAKE2B 40ce78be07dcc3a795da0e76f5b66b2a2a95b222170655773f5ee62e849780d8d6c618233f19f28af3087e116935d6fc7f5ac0ba653158b5ea27014776d9ed26 SHA512 820f92f7ae7dbe9b546ddf7573c72a3b4a2516610932e499e6e15dbcb6a2fc16a5a8710b02c730d0e7654dd1ac9c0e57eb753df1236ef1b6edc2ae86b2e999b5
|
||||
DIST gopass-jsonapi-1.15.4.tar.gz 32293 BLAKE2B 5796bf2c8eceb50dc05643e27ec8673ca4bb350a57776b57e6b3aaa7379c643efbafe9eea1662af9615a68adad03ef82eb76fa01ae209fa59a0cffaecfe225a7 SHA512 9471210eb1feb6bdefd88c2c051fd2327ac0915963c6958f9ca2991139437e21c964e7da549d1803367c2b77b6755211921651ffaa2a14925b00826410cb4651
|
||||
EBUILD gopass-jsonapi-1.15.3.ebuild 603 BLAKE2B 3eaac674ad6d8aa2d60d2b2d6c83d08444f45734babe1dee02483715cf7c5f242255b3a5db71f394b5616c2755bd7935d084aacf7175c0726d6c56a48dde8288 SHA512 41d23267da2cc956741a327f925415a7c52da87bfa7defd1aefd0bf9fecf7dc9b7a4431b9304f27c7a29c225e90eb0563af16fbc670154764fd4ba7a87a3e896
|
||||
DIST gopass-jsonapi-1.15.5-deps.tar.xz 182924608 BLAKE2B 1f17479dea38308fbf779ce772505af75461217b1d4f76f730b1a7747ffad8d2229712d0c740632c86a1e1a88aff093c67e500a35c12eac09563eaa28febc418 SHA512 bf51d1b9b83ce8056dfd7d88f17f2fea5efbe62a4f44fa68ffe3fdf317758782c9c6313de190db79462bc6a41188615e8995ea9ea7e01215f8f8381fbb597734
|
||||
DIST gopass-jsonapi-1.15.5.tar.gz 34898 BLAKE2B f0cfe7aba96cf9eed7b1fcdaaeb031a280e3e57515de1e4c8ac72f2fe9ed35d553c21c068aa542d46b96f0726214a50d403acf545b77f1862a7d2a1d6e729d15 SHA512 dbc8de9cf16f1c20af1e94bc1c0a7c168b76db28a889f0f51d04f8a922f6ec70fd6b921ef5413708bd6832f79e82521f48feef3f9eb9742062d1e2c806ff3067
|
||||
EBUILD gopass-jsonapi-1.15.4.ebuild 603 BLAKE2B 3eaac674ad6d8aa2d60d2b2d6c83d08444f45734babe1dee02483715cf7c5f242255b3a5db71f394b5616c2755bd7935d084aacf7175c0726d6c56a48dde8288 SHA512 41d23267da2cc956741a327f925415a7c52da87bfa7defd1aefd0bf9fecf7dc9b7a4431b9304f27c7a29c225e90eb0563af16fbc670154764fd4ba7a87a3e896
|
||||
EBUILD gopass-jsonapi-1.15.5.ebuild 604 BLAKE2B 15ac6f3e7efad36c6daa14855a250fbb093b37323b5611583ebbc03f76c1f8344771353ebc46ac91792d055b36298db4dd1dd3793e4473d54f1cc1bbac4f2214 SHA512 ca900a69003ef4d6203779c34da7005e7707714fb8e80a9ad6acd3df329201ad08f05c07fc59f6557cb02dd1e5e959a869773edce35555437a8504934d0c8abf
|
||||
MISC metadata.xml 256 BLAKE2B 2184101c756bf7e34131b4e44dd51a30fb5195c57901d5373ed648b172e4689887fd94be3ca19b5cb021b4c99ff2f0d3ad81ea12696b857471769ba61e349891 SHA512 12c961836136e3a833b04d0e8111a1797d1f004e6dea69fc843f42280b844ff158b8333f4a1ea5ea45886d66f6f42f9658efc18d1ce9300c6147ae7c23a1700f
|
||||
|
@ -1,7 +1,7 @@
|
||||
DIST gopass-summon-provider-1.15.3-deps.tar.xz 37377176 BLAKE2B 52da3b10cd05df981c2f1fc74d3a37b4136ac383f8388965d384573562ba70a52fa6894440f9f19378b24a4df6116ef7882684a4c3c4c2f30a5408715fcb2894 SHA512 e616b6ef0c6d300f62761e63a9184a243d34630269e0a2a85c9294e6b209a349421fba73c21b50df93c2e7ffd70582e162681b50c28c3effecae51d766b1515c
|
||||
DIST gopass-summon-provider-1.15.3.tar.gz 17573 BLAKE2B 641f84b3ad27fa3af961a3d2463e7b476343238284b45575f9a76b12d811f1426943888129b19c1e60ca22debb560854ebded9b9966c16b0dc91e30f929892ff SHA512 d06734997651492aeb3d6b91bf8b15a48da3c2b7a5e7c8dec6fa40fa90e4e0e05ba89a73e100f27e1523f2c426e30f6fb07faf14151e98fe81e7403a468dcc33
|
||||
DIST gopass-summon-provider-1.15.4-deps.tar.xz 33138508 BLAKE2B 7cbb930e55f1ed53f3ce8c47e51d8066d1a518801d5d364b8c8b90b376910e916e34c5f2493cb062ac5c03e0b9aeb96119f129a8655b6ad3f1d9fec4600cb0a1 SHA512 14ecefd8b36513195cae86d355d974d596e859c46450121350af2d2aaf27f592b54e55e697c200eb89e94959f278e65712dbb4d534d0c1bcbc711fb4db829625
|
||||
DIST gopass-summon-provider-1.15.4.tar.gz 17546 BLAKE2B 9c0a8fc50ed4f39139d5b14e389066afc42814ff60036022877fe933b598f100b2169455b4576a2d83d18ea19c8ebce852510940e2c24e8a61073f074509c444 SHA512 6ba06f561379284bc1344ca6982f8bb7ed6641c790bc4907b235fc5a330551f829b21aadb4a72f962692d5d36bde68845f798eb9cc4116787a9015fd2bfc65d3
|
||||
EBUILD gopass-summon-provider-1.15.3.ebuild 561 BLAKE2B 6422ddb6a47f1e95179509967460a10a79c0f96585b090225cacebbec517c773ba7087f4292f8f00035a02c04f8f5a8bb12ade3777ad499fada2f8db082ab842 SHA512 bbefdeba7b483a239e2514e3316d07fddd8441aab57cf9cd479aaf23d59598dc4801b4089e9bcd4449244ed6bb2f133fd6c76b43f3394a18df89c941f354ae7d
|
||||
DIST gopass-summon-provider-1.15.5-deps.tar.xz 182896696 BLAKE2B 59cd74ff4be1dfd83d221327d041506c41799f67d8559f5a12341a70f2c63e36d03f8f99628ac973a02cbb42ba920366642f124a6315a8ff0d388d384c912b85 SHA512 64f34fecad85562cdf4db48030703b991bb2f6448e1fbd17ab0063f193c328f78e9630b7e64e9f1e4417f011b6a087e2e9fb19fe4adbac3ff36c3a315da933a6
|
||||
DIST gopass-summon-provider-1.15.5.tar.gz 19679 BLAKE2B fbb4606ae6459537fc5f4c05fc7df7cd8191277a6e2435809bb352b92c88616ff93aa90f2597a62ef8c870fae310f659698ba9a6c4a9d7643730d05d3932c485 SHA512 c9009ca4fa282890b596abe9dd357cb550d70eaa74f30a9e5edfa659d1e646cf33bf105167f6627cee1818fe962f83af9e06294139697110bf593cd8a5f91ddb
|
||||
EBUILD gopass-summon-provider-1.15.4.ebuild 561 BLAKE2B 6422ddb6a47f1e95179509967460a10a79c0f96585b090225cacebbec517c773ba7087f4292f8f00035a02c04f8f5a8bb12ade3777ad499fada2f8db082ab842 SHA512 bbefdeba7b483a239e2514e3316d07fddd8441aab57cf9cd479aaf23d59598dc4801b4089e9bcd4449244ed6bb2f133fd6c76b43f3394a18df89c941f354ae7d
|
||||
EBUILD gopass-summon-provider-1.15.5.ebuild 562 BLAKE2B 8e3544bddd8067f1c5bfe56afea8697f4a55c0439894ca950b76950ac144332d9cbe3d79693fdcdee9f1e6d31f4b8d79be49426b237d56bc21024838d453efcc SHA512 29bbd160392510391a0e124a69ee1f286021c3f6584cbee6f0626c5e2b230ba7f3be23b84a8ce6f51b625c6baac56b542c5a05e2ddf39b56a53a976edb86f479
|
||||
MISC metadata.xml 264 BLAKE2B 287a185ac5ffd0004918df5d9dfe9906bd46140af3d5e437d00a3cdbdfb9fbb8184910368d47de1439a7e3e957f26f9bf70adbcaa8277320c94d53ce68d63c9e SHA512 91b9fccf54e6644ab6dbb291672c1c45bf93f9dab6a853a249ab782a0b385c4ff7441f41c41c22665347570e244a5b242287517e0557fdc4a2c3f8597580dde2
|
||||
|
@ -1,8 +1,8 @@
|
||||
AUX gopass-1.15.3-skip-tests.patch 1339 BLAKE2B eace50e5abd1fa4f3af646d57b19196743860480c255c9c51a4378947b439d899536bc7098d2694bb0adc2e1aa009fa9b6c5027684595ebbd6f9b8f6a1a67ecb SHA512 d0eb04de5166289e350c1174a5fc5ebe60020b4d39a32fc6f714e38aa4be87a98e53266e05d4846a360ba4bce6e29ddb376709cd40a573b0cf01b198c5ead27c
|
||||
DIST gopass-1.15.3-deps.tar.xz 36970888 BLAKE2B e338ba7a6a248694d33116a68aefc3abbe3b6b3a9a86896b5a0c5286824bffb94bb2715c8e9c1fc6ad0715897fa39e8fd46c0734adaafe5318dcdbc0eb0ac4b2 SHA512 2a5a011b170cf2635ab33399dec5661bb7ce297508878a82f38a3b6090c4b75086592da59ff07b81873ee67786be345d3092c69730b7e3c4234b048df1898ae4
|
||||
DIST gopass-1.15.3.tar.gz 2293686 BLAKE2B f6a5191dbb6642f448103d0b5017d792be2d7ab7d1156ceeebe52dc7bdaf9b027bf417982f0eb7a189ad09a8df06eab1fc2a637c8219a72721d583542ab51372 SHA512 1638c681c4343ff42247d7de5c153e9f992d34fc46b97a5199047c38f2658d968e8bd81029447f7768b39bf432464eb2a24d25215a7cff228e108b3ca4536220
|
||||
DIST gopass-1.15.4-deps.tar.xz 34045072 BLAKE2B d8525a166df31c99b20a1a7262c2e287b7e429dcd010183585fbac7e58ae8ce4d5430fb936da0b9a85fd8a2f0ff08555d02140a649fddc07c818e11b3bcdb287 SHA512 0953101962d77116e788858652a98ffa3b8c0bd58137f59791da45d6e73cfd5fa39e40edd400c5d881cc549fc1b155b17dda48c6f59d9e06b6c000b259098d2a
|
||||
DIST gopass-1.15.4.tar.gz 2301976 BLAKE2B f947d0e7b7ba599743404a231d9b09380d0069489543e1cc306eb11a3dbf369368dc8c8a464abac04558907fa6c93982a56575b79b7920ee84a46c94beb815ae SHA512 c6cf67de3b3ace253822ea9890a50ecbd2829eb7b625d05327d1b3549ed3ff6b84d1155f71276fa94b6392012b0c87b4b9e488ca0d14915d40af77fc21325603
|
||||
EBUILD gopass-1.15.3.ebuild 1190 BLAKE2B 589e1cf1d7b5e1b09fb9cf76e1b13492002145c07c2a22757c33bf32c85c2bba456e38ecf6207ce3ea0c87ef15a2a187b5bf7e2cf9b7c593e06d8fe69cbbc957 SHA512 e190278ebe96c152676c9f42218d13dd6b68e287195a68210cedc1d05c9e51546632af7891d489e733f87e12982710461a78be44d625ecf6e0957258fba78cd4
|
||||
EBUILD gopass-1.15.4.ebuild 1191 BLAKE2B bc8e3f108d6312cca80102a913e7115acca7141aebe50c75a6f0c3ec33eaa46b4d90ffdc27c94d1060cf4fb7feea45cc00bd62616df91d5982b5abfcb8d7771f SHA512 85f54c97e067971a7c9433c738b1d3b06766acdba0a6a03e7d354dcef17b951f090ecddc76a73bd4b524f668740da1e683300c5c88dd1461bd7ecbdb24656cfb
|
||||
DIST gopass-1.15.5-deps.tar.xz 182300292 BLAKE2B 12878d90f59c1e15f18eefed331ffcb195292f9895243918cf6e66cc0d90b95bf0b0fa098ba80fb77ec559476c88b79e56102f191bfee6f6b68ef00dbcd7572b SHA512 1ba502d9074fd722c82a998791d291b2fba98c35339f404757b7ae10b3bb8971329e4a8c74bcf4b589e67dede0bf04b240d8a3db9812f4aa75bbd7f7ef9c1c51
|
||||
DIST gopass-1.15.5.tar.gz 2304217 BLAKE2B bc20ce1f738e01800def34dac131199c249742cb1383af8bd97b0f441b47163b10ba2a3cc41962c933e343b88ce37c60c74665a599724353f3d5a245cc42cc75 SHA512 4e99db0020e87cb494fa33e6d63a6d3d7af10ebff79a32c95bfb18201f881c5e99ce6593c87cb43a6aa2f38bfcae23b1496eee9fbc88026aad41871ca83a94be
|
||||
EBUILD gopass-1.15.4.ebuild 1190 BLAKE2B 589e1cf1d7b5e1b09fb9cf76e1b13492002145c07c2a22757c33bf32c85c2bba456e38ecf6207ce3ea0c87ef15a2a187b5bf7e2cf9b7c593e06d8fe69cbbc957 SHA512 e190278ebe96c152676c9f42218d13dd6b68e287195a68210cedc1d05c9e51546632af7891d489e733f87e12982710461a78be44d625ecf6e0957258fba78cd4
|
||||
EBUILD gopass-1.15.5.ebuild 1191 BLAKE2B bc8e3f108d6312cca80102a913e7115acca7141aebe50c75a6f0c3ec33eaa46b4d90ffdc27c94d1060cf4fb7feea45cc00bd62616df91d5982b5abfcb8d7771f SHA512 85f54c97e067971a7c9433c738b1d3b06766acdba0a6a03e7d354dcef17b951f090ecddc76a73bd4b524f668740da1e683300c5c88dd1461bd7ecbdb24656cfb
|
||||
MISC metadata.xml 328 BLAKE2B c2f9ccbecd22c02caa71d0cc889f2850dcdb69a76c8858554c6671e5187d95a9bcb7504195d5d7eb0fdf1ec9c54a9c5ec2da19d105d6c604298891adae521e34 SHA512 da7ed556759a305068c5513802b629e474f0cad21b6914c826fe2406485e1eb8b725463fab982f33f3e4adbb7923b7911b8aa6431c8ca88fc6004c4213b2b693
|
||||
|
@ -1,496 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit autotools linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="clickhouse curl dbi debug doc elasticsearch +gcrypt gnutls imhttp"
|
||||
IUSE+=" impcap jemalloc kafka kerberos kubernetes mdblookup"
|
||||
IUSE+=" mongodb mysql normalize omhttp omhttpfs omudpspoof +openssl"
|
||||
IUSE+=" postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp +ssl"
|
||||
IUSE+=" systemd test usertools +uuid xxhash zeromq"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
BDEPEND=">=sys-devel/autoconf-archive-2015.02.24
|
||||
sys-apps/lsb-release
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
imhttp? (
|
||||
dev-libs/apr-util
|
||||
www-servers/civetweb
|
||||
virtual/libcrypt:=
|
||||
)
|
||||
impcap? ( net-libs/libpcap )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( dev-db/mysql-connector-c:= )
|
||||
normalize? (
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
clickhouse? ( >=net-misc/curl-7.35.0 )
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? (
|
||||
>=dev-libs/hiredis-0.11.0:=
|
||||
dev-libs/libevent[threads(+)]
|
||||
)
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
>=dev-libs/openssl-0.9.8y:0=
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
dev-libs/openssl:0=
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-4:=[drafts]
|
||||
)"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
BDEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
BDEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
BDEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
BDEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-8.2112.0-pr5024-configure.patch )
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# https://github.com/rsyslog/rsyslog/issues/3626
|
||||
sed -i \
|
||||
-e '\|^#!/bin/bash$|a exit 77' \
|
||||
tests/mmkubernetes-cache-expir*.sh \
|
||||
|| die "Failed to disabled known test failure mmkubernetes-cache-expir*.sh"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
--disable-imfile-tests # Some imfile tests fail (noticed in version 8.2208.0)
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without dependencies
|
||||
--enable-imbatchreport
|
||||
--enable-imdiag
|
||||
--enable-imdocker
|
||||
--enable-imfile
|
||||
--enable-improg
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without dependencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmtaghostname
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
--enable-fmunflatten
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmdb2diag
|
||||
--enable-pmlastmsg
|
||||
$(use_enable normalize pmnormalize)
|
||||
--enable-pmnull
|
||||
--enable-pmpanngfw
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis imhiredis)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable clickhouse)
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable imhttp)
|
||||
$(use_enable impcap)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
systemd_newunit "${FILESDIR}/${PN}.service" ${PN}.service
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/${PN}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/${PN}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
if ! hash certtool &>/dev/null; then
|
||||
die "certtool not found! Is net-libs/gnutls[tools] is installed?"
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" || die
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -0,0 +1,178 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit autotools python-single-r1 systemd
|
||||
|
||||
MY_PV_MM=$(ver_cut 1-2)
|
||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
||||
HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/"
|
||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
|
||||
test? ( python )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.10.1:2
|
||||
>=dev-libs/ivykis-0.42.4
|
||||
>=dev-libs/libpcre-6.1:=
|
||||
!dev-libs/eventlog
|
||||
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
|
||||
caps? ( sys-libs/libcap )
|
||||
dbi? ( >=dev-db/libdbi-0.9.0 )
|
||||
geoip2? ( dev-libs/libmaxminddb:= )
|
||||
http? ( net-misc/curl )
|
||||
json? ( >=dev-libs/json-c-0.9:= )
|
||||
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
smtp? ( net-libs/libesmtp:= )
|
||||
snmp? ( net-analyzer/net-snmp:0= )
|
||||
spoof-source? ( net-libs/libnet:1.1= )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
dev-libs/openssl:0="
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-libs/criterion )"
|
||||
BDEPEND="
|
||||
>=sys-devel/bison-3.7.6
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig"
|
||||
|
||||
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
|
||||
contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
|
||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local f
|
||||
|
||||
# disable python-modules test as it requires additional python modules not
|
||||
# packaged in Gentoo
|
||||
sed -i '/MAKE/s/.*/exit 0/g' modules/python-modules/test_pymodules.sh || die
|
||||
|
||||
use python && python_fix_shebang .
|
||||
|
||||
# remove bundled libs
|
||||
rm -r lib/ivykis || die
|
||||
|
||||
# drop scl modules requiring json
|
||||
if use !json; then
|
||||
sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
|
||||
fi
|
||||
|
||||
# drop scl modules requiring http
|
||||
if use !http; then
|
||||
sed -i -r '/slack|telegram/d' scl/Makefile.am || die
|
||||
fi
|
||||
|
||||
# use gentoo default path
|
||||
if use systemd; then
|
||||
sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
|
||||
-i contrib/systemd/syslog-ng@default || die
|
||||
fi
|
||||
|
||||
for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
|
||||
sed \
|
||||
-e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
|
||||
"/etc/init.d/syslog-ng reload")#g" \
|
||||
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
||||
done
|
||||
|
||||
for f in syslog-ng.conf.gentoo.hardened.in \
|
||||
syslog-ng.conf.gentoo.in; do
|
||||
sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
||||
done
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--disable-docs
|
||||
--disable-java
|
||||
--disable-java-modules
|
||||
--disable-riemann
|
||||
--enable-manpages
|
||||
--localstatedir=/var/lib/syslog-ng
|
||||
--sysconfdir=/etc/syslog-ng
|
||||
--with-embedded-crypto
|
||||
--with-ivykis=system
|
||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng
|
||||
--with-pidfile-dir=/var/run
|
||||
--with-python-packages=none
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
$(use_enable amqp)
|
||||
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
|
||||
$(use_enable caps linux-caps)
|
||||
$(use_enable dbi sql)
|
||||
$(use_enable geoip2)
|
||||
$(use_enable http)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable json)
|
||||
$(use_enable kafka)
|
||||
$(use_enable mongodb)
|
||||
$(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
|
||||
$(use_enable pacct)
|
||||
$(use_enable python)
|
||||
$(use_enable redis)
|
||||
$(use_enable smtp)
|
||||
$(use_enable snmp afsnmp)
|
||||
$(use_enable spoof-source)
|
||||
$(use_enable systemd)
|
||||
$(use_enable tcpd tcp-wrapper)
|
||||
)
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Install default configuration
|
||||
insinto /etc/default
|
||||
doins contrib/systemd/syslog-ng@default
|
||||
|
||||
insinto /etc/syslog-ng
|
||||
newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
||||
|
||||
newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
|
||||
newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
|
||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
use python && python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# bug #355257
|
||||
if ! has_version app-admin/logrotate ; then
|
||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
||||
elog "for logrotate to use."
|
||||
fi
|
||||
|
||||
if use systemd; then
|
||||
ewarn "The service file for systemd has changed to support multiple instances."
|
||||
ewarn "To start the default instance issue:"
|
||||
ewarn "# systemctl start syslog-ng@default"
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST lxqt-archiver-0.7.0.tar.xz 181612 BLAKE2B 41ad378f20a9a8f3d7ccfc7406d480eecfad41c991781f503947b37ee26eec5de38b44ea318507dc209a2f2f6d68db65e0f9cdf61920a47fb2d02dd975960f86 SHA512 d86fd636b1b2345ead8c4dc0161311b3e361d274902c5b34b9aaccf1a0b9af46d329fbec0d2249197b8e1c837d6949f723451f67fdc9ca4c6b7f1c2cf59daeca
|
||||
DIST lxqt-archiver-0.8.0.tar.xz 181572 BLAKE2B 7bbd2b229cd8c546c86d742c13dac4bd00e24e85a146879290652a9ae41c9ced621738d06284fe285c81f2d5f8e43a5126b9bc61e286342cfb9d7fa935c330ee SHA512 70266581478e75505f708eccee4fd1680c1ff012dd4e99138d0c2d17fb8dfab24d9d5e5453d5d4a3f7a9b8437e8a980c3edf190f3e319400c46a655ba7db4898
|
||||
EBUILD lxqt-archiver-0.7.0.ebuild 1288 BLAKE2B 3e2a54ca740079896c95fee12b66e61823936e821b2ef96721d09c6bb092545ac388202b8bbbbb48af5f485c515a1a89358a1e11b4fc9fc93cb5d0613d529cfd SHA512 d32e1d1f22a83f20b5e2ad80b1ef9bf0708be0353507d7c0795b43106999dbbd0a7e487f456ffc180eb68edad1e2ca2b2cc4255769237c12b0548db22caa5cb9
|
||||
EBUILD lxqt-archiver-0.8.0.ebuild 1290 BLAKE2B a4e6d292677a8d03b1a5122828116be9d10226689719e99cd4b6320ffafa173748037017a9b1d97b4600f72ee75958f3d86429b83e9b81caccebf42986ec9390 SHA512 2a47b201c4cb828499a48805f9a94f88ac9e9e9e554f7969846e2cb95809e32cbef9958adffc3623ee853cc6b499c1e68ea2a32e7655350809d5d90c4fb2ae58
|
||||
MISC metadata.xml 330 BLAKE2B 1f25c787f9b43ef0ef62206ca9ab67dfab8b95b2786fc84248541159507290229b291b9f83541adc196b58a9dcad7c0f3abd18c5c899a98978dc72403386896d SHA512 12f4638550e157da50134bf6c7cb480bd49661b9655900efdbb12a023c4bd4cd13018d7caa672096329691cf8556f89c9d13d6710463048329c8e3bd5f04f6ee
|
||||
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MY_PV="$(ver_cut 1-2)"
|
||||
|
||||
inherit cmake xdg-utils
|
||||
|
||||
DESCRIPTION="Qt GUI File Archiver"
|
||||
HOMEPAGE="https://lxqt-project.org/"
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~loong ~riscv ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2 GPL-2+"
|
||||
SLOT="0"
|
||||
|
||||
BDEPEND="
|
||||
>=dev-qt/linguist-tools-5.15:5
|
||||
>=dev-util/lxqt-build-tools-0.13.0
|
||||
"
|
||||
DEPEND="
|
||||
dev-libs/glib:2
|
||||
dev-libs/json-glib
|
||||
>=dev-qt/qtcore-5.15:5
|
||||
>=dev-qt/qtgui-5.15:5
|
||||
>=dev-qt/qtwidgets-5.15:5
|
||||
>=dev-qt/qtx11extras-5.15:5
|
||||
>=x11-libs/libfm-qt-1.3:=
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
|
||||
elog "Please note that this is only a graphical front-end, and additional"
|
||||
elog "packages are needed to have support for specific file formats."
|
||||
elog "For example, to be able to work with the 7-Zip format, the"
|
||||
elog "'app-arch/p7zip' package may be used."
|
||||
elog "For the full list of supported formats, see the 'README.md' file:"
|
||||
elog "https://github.com/lxqt/lxqt-archiver/blob/master/README.md"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
@ -1,59 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
PARENT_PN="certbot"
|
||||
PARENT_P="${PARENT_PN}-${PV}"
|
||||
|
||||
if [[ "${PV}" == *9999 ]]; then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
EGIT_SUBMODULES=()
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
|
||||
else
|
||||
SRC_URI="
|
||||
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
|
||||
-> ${PARENT_P}.gh.tar.gz
|
||||
"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="
|
||||
https://github.com/certbot/certbot
|
||||
https://letsencrypt.org/
|
||||
"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
S="${WORKDIR}/${PARENT_P}/${PN}"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-2.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/josepy-1.13.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-17.5.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
|
||||
distutils_enable_tests pytest
|
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
DIST eclass-manpages-20230222.tar.xz 410124 BLAKE2B 7da1a4b539c227c386fd27e3fb6de4d0dc79c4b648491547df0dceb50ba93f27ef1105234ad5c0f6c6a409c8837e8a629029215782471651606375332223cc2e SHA512 4def4388095c82a187f5dfc6ffb0eff59cec922c606b0202e7995ff81209fa9fe48e22fb05d4b07be4cd7e10f78ef4f87d01362099333ad49619e45c4b8b9411
|
||||
DIST eclass-manpages-20230329.tar.xz 409168 BLAKE2B 5913afcf95174540546d238cc637689fe0c7de2013f4271ac3feee749eb2fede8b741e2409ba09060fd5c36941e36ee504be8a584201d04b368886f50abfd3ea SHA512 ee43c47f26b474acec2f778a5bf05c752198d2f5cce959a337eaa674465c92869e213dd4aea8243671825cea80bbfbec7040cac283354de4e8feeefeace46d32
|
||||
EBUILD eclass-manpages-20230222.ebuild 773 BLAKE2B d6993bd685d0ffda61771db0ccc5b8c1d9abbd01b352f7f904cf1b81b26e677a34683d1c07a27aba31eabd920737dacafb9463c54ec4c695476a652b4650e535 SHA512 ed9e8ba1137df8ca59287103f42b4355e7d952af911244b2c09779edeb095f5a2bf72af0e973cb6020c06d28ff623f6fc7d9761d23ed2219c4d0402acb63b822
|
||||
DIST eclass-manpages-20230417.tar.xz 409620 BLAKE2B 0e1b3cce23ee9f2a91b87c5de89819eca8fd50101e813ecf56c8a1d4147bf33006505425be95a2f1693ec084fbf9409c2aaf1dccf6d9cbf244e71ee1c0e1498d SHA512 2cef6f30e917979b9f56c11f953c27a8048842b432fc6641ea06daf479bc202d9ea2f8ce26769584f317bf3cde2c2f9736d2605546be1b1a10ea557177639de3
|
||||
EBUILD eclass-manpages-20230329.ebuild 773 BLAKE2B d6993bd685d0ffda61771db0ccc5b8c1d9abbd01b352f7f904cf1b81b26e677a34683d1c07a27aba31eabd920737dacafb9463c54ec4c695476a652b4650e535 SHA512 ed9e8ba1137df8ca59287103f42b4355e7d952af911244b2c09779edeb095f5a2bf72af0e973cb6020c06d28ff623f6fc7d9761d23ed2219c4d0402acb63b822
|
||||
EBUILD eclass-manpages-20230417.ebuild 773 BLAKE2B d6993bd685d0ffda61771db0ccc5b8c1d9abbd01b352f7f904cf1b81b26e677a34683d1c07a27aba31eabd920737dacafb9463c54ec4c695476a652b4650e535 SHA512 ed9e8ba1137df8ca59287103f42b4355e7d952af911244b2c09779edeb095f5a2bf72af0e973cb6020c06d28ff623f6fc7d9761d23ed2219c4d0402acb63b822
|
||||
EBUILD eclass-manpages-99999999.ebuild 717 BLAKE2B 539cacbb1e30897fcf7217eb7420273a11e342eb19ce270d6ded5f25a7dbab87cb6719cff57d4a63bf78d58dcaec565bdbca41f4689c5ee557adb09f60be6376 SHA512 b1a601332d1b82808a698d463026dc093a1afd93d93ef2845ff71773b79c4f12c6925f8b90101cda725e5b6c479c230aaf0d15fe8767e05648689dd9d1fcb0fb
|
||||
MISC metadata.xml 546 BLAKE2B 3fcaa67cd9ba2aebeae79ad37612fda556b7e42ec1692293d26201e82b7101cc8894e3fa8ed9acb4026fa0eb7e9c54ae6919872cd8e61c0f0d63ae3a323206b0 SHA512 6fb2a7db8da921bc6d3b22444ed401ef73c2a2d25ca4e4170234763ec98a108a63d05167660ce4e173d4e9604053269c04a66d617897045b2482b3febbc7e33c
|
||||
|
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST ghostwriter-2.1.6.tar.gz 7757010 BLAKE2B a450093b1f072aeea7e6a6e27abbdb2c427387eb70b5ed2a5e49ea1f33fd9c4e4014742cc7905e644ab39838c488d9eddb79e0d3c87bde7ce6528cd810b02e15 SHA512 10ee557a07f468cc12391c2b5f77a6667aef76429b58bfdc03df32dd1cd8c44a61fe77da5318d5b23758ede40a5f8ab89cf4573a09708a6abc2d12ec5ceb71ad
|
||||
DIST ghostwriter-23.03.90.tar.xz 3064632 BLAKE2B f4e9605b37ff86f37af901a2b371fc6c03240df984ac8fda5fb568642b381b62838d01ce6845a0b8655ad7eae8c01eb54618a4de84f44ee601f11ba116ae53d3 SHA512 9c732c15e0f85334989e8f6e389f9e69e15dbd50081b44fba9fcfaa770f09a41213f7f2d70d4911cea340a7f97859f44489b9127544b461a0b2c5d7bc3eded77
|
||||
EBUILD ghostwriter-2.1.6.ebuild 874 BLAKE2B 7fe5e9087e91fdfbc1d86800bc627e9277ad392aac977b1f234c1c1b764ed5fe40066de3ead589bf1e82e277c9f5fb2b778aa681c49107c6b3d61fc0716774b6 SHA512 08b73f1c83c8c974cf8290e0d899c0df8f086ba594accfcb0372da3ae7865d924ab2007de4b7916746185d105286b3e4db172b0f23df349b019ee33db4e29d14
|
||||
EBUILD ghostwriter-23.03.90.ebuild 754 BLAKE2B ec776568e5ae1c37097e2fb0652b1cfb0f437d2e1bf3725be7d2976de0aebb091c220d69eda4d1852de4dd9217d9e686d95d34e593b29daf2535839a190f39ce SHA512 8c7d2cf185c8380d561c4b6422d0ed873636588f762e13d436feb58bb35d1d3c05daf3726d677e28ee084f17e9880ca3271b5bd0df8ecfc41e66be69098af061
|
||||
MISC metadata.xml 637 BLAKE2B 77c8336715f20d50879b7e21ecffaf27e926aea0c564dedaaa1460b09190343a72bbf78c9ce0691ca161cad180be76a27aab235533c6054abf205ad40119e4b9 SHA512 db5a7928a155b77ac41a3fa771fd6512f64320c4d435a6dba1b1ebb3200e172b5fa586f63f052beb79514ed4eb5b80527dde8aef2274fbfccd3b3055b3569581
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
KDE_ORG_CATEGORY="office"
|
||||
ECM_HANDBOOK="optional"
|
||||
KFMIN=5.104.0
|
||||
QTMIN=5.15.5
|
||||
inherit ecm gear.kde.org
|
||||
|
||||
DESCRIPTION="Cross-platform, aesthetic, distraction-free markdown editor"
|
||||
HOMEPAGE="https://ghostwriter.kde.org/"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
app-text/hunspell:=
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtsvg-${QTMIN}:5
|
||||
>=dev-qt/qtwebchannel-${QTMIN}:5
|
||||
>=dev-qt/qtwebengine-${QTMIN}:5[widgets]
|
||||
>=dev-qt/qtwidgets-${QTMIN}:5
|
||||
virtual/opengl
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-qt/qtconcurrent-${QTMIN}:5
|
||||
"
|
||||
BDEPEND="
|
||||
>=dev-qt/linguist-tools-${QTMIN}:5
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=( CHANGELOG.md README.md )
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
AUX 50a-gentoo.el 38 BLAKE2B e96c6cf48d1522d89450e11d339c76210c672377208b56951791b83c6ef22b2c872d313084e199dd5d7b533a99106a87dbc7f15b5ee6126f71bf5f2e84165ffa SHA512 5c00bcabe2d7cc03013dc7a54b2c653940c08098ca5646d7c73624cb1ca04376ae9dcf88a7166b1925c69f0c5d192d90f6bd790fdef8ed8c3b0f9d163c987da5
|
||||
DIST a.el-1.0.0.tar.gz 19740 BLAKE2B c5bb72fd206b1b33798c90982f7111f7cd100e6e36580bce267b6d6295a82b536a00cddeed3cf9bf94964b451429769f705358a731cbe5054a2683fc90d4bf14 SHA512 3a795fb2cf613bafabbf2c788dc1edd4dbd26871043a9225f3db61542f1d5c95102355d9223498dc4dbe5aba446e9b8a22437b6e6799c3a0f2ad213bc35b2556
|
||||
EBUILD a-1.0.0.ebuild 627 BLAKE2B 3f69b93eea92299d5ee5e5e7d5f5059455e3dc1e1699fe839a577089a3a9b13a1fdd8231eec0b7bd1c6d6053e53b6488f04c170a831683956eda80adfc90c2e5 SHA512 1aec9266cee7bb1e67f352b67bfbdb5eebef6e34f2636d1c641299280422a734f5227448c45c3e4396d0117b28aad4e0258e4c799faa52d3a27086b07c2ac240
|
||||
EBUILD a-1.0.0.ebuild 496 BLAKE2B e64c31c95c899669639343b2e4895d3c46adcc969e28374ee8ff8131970744e87a92d593ecab30a4625c5922027f8add9fbc557d6cf52a7ef667ece370bf4380 SHA512 2d1e79f2275924fd6e52e1cf4145076c052cf5f6cba77e58b70c5a589e1a1bc5271e724e7d339b58c8b91b5b060c6f63d0291159b73b98c25664d3e21d9f3f64
|
||||
MISC metadata.xml 593 BLAKE2B 58d0e7438e7d43af9b2bc9b998cb80cfc7328988f421bab49fc0147b8edd0d85938dff46fac08e5c123f74d81cbd5e83a13d8de5f65a12f1beb134fc3677ba6e SHA512 9c00a6a7554c7000cff70b36f9cae8da18b6dbedd1b8a9cedd478da2028ecb00bc44567b75f21b79c3e1768aa9b01d4521e7fda6f23edb31610b4919ac5789ac
|
||||
|
@ -1,6 +1,6 @@
|
||||
AUX 50bnf-mode-gentoo.el 172 BLAKE2B d1b8ea4b0e3557be9af576297ead7354d43f199bb9766d4c87299af82717dd3fda7057a7b56589db916a12de4cb896289f1ff699ecf60306fd903d75d395be2c SHA512 925e29ff36a3be50fa207f56457d3d671e723c2800c6f092b1e6b6c84acc63e12253cd7782ccb16ecd67cf6ad535cf3ec96ef9de804a8b0e7d61ecd99345e13c
|
||||
DIST bnf-mode-0.4.5.tar.gz 26998 BLAKE2B 41a5eb1970da86f00cfcabe21b71f78a2169cf9e2c0838c192999f86a66f178fdee279fba84a6683833f911f5666856a96f16c25351bda6f543584214e901b12 SHA512 df2d57a7d2bff8cbdfafcecd22241b3b8218a95c929db5b419a969300814fddc209968eaf2b6761407aaf553b6e456b372d16bd47c0d51ae3b24507112c20f9f
|
||||
DIST bnf-mode-0.4.5_pre20220102.tar.gz 27103 BLAKE2B 816637a440cfbe009873ea1c5033532a24ef1b8e842415665458b18d3ba7e9f37a1521e67e43c6287a598c8eb671b514563b1d255031ad255ec51ad5995579cd SHA512 d3d7215efb19c313aba1a99100616b1ee7345d41933921d5150c6d72c7afc5f4b86e085a07bddce78aac7400cf605d8d0ba1c24232df79ad01fef5744567778f
|
||||
EBUILD bnf-mode-0.4.5.ebuild 630 BLAKE2B 046fa699e0d2b49311aee1bea6eafafb1bbc3b9ec1bc9591426a6d5ec355b9158d57614c844add2d8d1ce0d8b8bac355319e24851dbb7137fbab695a7f2db48a SHA512 a9b9693e055c1d2799cf935727aad8cc736bed12aeb05682c901b07191e76ab7a11fa71b1be6e5ca0b15722e8c15e160092edc87c4e60c6efd323d22a5419cd3
|
||||
EBUILD bnf-mode-0.4.5.ebuild 534 BLAKE2B 04b7a51bf584d5f041ac2459e2b5667eb0b083b8b1bdd143ae47a065fb20b545d02f861185326825294e3bf58b9ad84fd43732c0ebbbf5c25df34c3bd74d2b53 SHA512 889bc910b49def926e3da1c828e906df976d6295673b414efd517308688639d6e3d49c72e8128e54574cec5a098021c46c62e3949268aa6dc3d7944e90bcfb96
|
||||
EBUILD bnf-mode-0.4.5_pre20220102.ebuild 743 BLAKE2B e372d07c645f2eda937d656328310288366c902a5cb3dae19a3cd9a64f0e3e67e704d8bf56124ffacdcb7311e26371fedc168825eecec1e0cfc94ecd65ad9e8e SHA512 18137927d56da82f7b0e73981bc2cea0b939fc959f33e344747eab49aa68f4ab19f4fb4d1dd4f6b7309094c4377be611b9cabc3851af2ee2bce5c50fb659d75e
|
||||
MISC metadata.xml 427 BLAKE2B 2c065ae81e1fc6ba03fb589859ccf2c0769d3bf703d6e515f3d57f8c2ad019dd5fb0ca33afba2b14fa8d352163ce88d72035fae8faae4a8e5a2887bbec0ec7a3 SHA512 2646248b5df55a5c972c4da58da163558233f3eaf877e5bf366b432ebc0ad5c7939076c7089c3a62c0c790c71f01537489f668a7003ce4b45e6e27ffe1549d44
|
||||
|
@ -1,4 +1,4 @@
|
||||
AUX 50doom-modeline-gentoo.el 77 BLAKE2B 0b7e10cff2a5e20083f8ba376e3e72ea1fc423cb8fa605b59cfc601aac72fe8611a6b558924c52b1f74ef2413d2efea806c929fa1d4b8b212cabbb9ef62d730f SHA512 6dc0e3ec4c48923a850466c86b97a63472e0861dcd8bfc8d346cac17e3cf1f0aa03fe0c3d9b75efaa73ec919073024320d3b4cfc17e8c1a2c0b2a17a43c72339
|
||||
DIST doom-modeline-3.3.2.tar.gz 61363 BLAKE2B 2b80748265f911954e1726dc30e6bacf4ba7ffb6eb589e8f67c366b818e212376039eb025d380937b327f7d3d4a980ec6bfe0589ac38af1e0d678a8f6038b97f SHA512 ff0b41c5f8dc7e5a4a5bccaa710b445a1894948893cd7dea6c564d3a9b1be5cd7cd005e6a28613a6800526d5158faebfef51d21b9e911d97416821210954f0b3
|
||||
EBUILD doom-modeline-3.3.2.ebuild 906 BLAKE2B 55517f278cfeef5e74593271c32414c97e98755fa1c4849410ffed1f5fe19f434f9e07f2949647c5b9fb7702ba8c66403e7824c5add1e174894d243213d84249 SHA512 5f66e098774d902d8ee61837c5f5ac5180eada17333cddd9be1195bfb369f049c15ae006b4a88a626d2d956217c7f618ef8f3d5ac83abe16cc4cd2a2ac7e5ef8
|
||||
EBUILD doom-modeline-3.3.2.ebuild 684 BLAKE2B 219fe787946a1be4dcc961f1075516627361510c4f5692a6b22ef1979b60d1d366aa766b72218e84d95d776714206d3b6205fd5068f650a1b481018ee67feaae SHA512 005a0d8ce43cc80450f760c70a9ad80d401946ba4c6673af26c16f8b84017512a7686ce6ca38f75b4bf21ca4a0ec52400bc6ee20643d48b1bfdf524ab0578902
|
||||
MISC metadata.xml 437 BLAKE2B 4510e1869b8871d0c054ec00c7c639125d52f451ffc129fe5a8255026ddd3c2fe36d8e9f5ef9a47c7f0b87b356d67e16cc2ab84b6414b7399b402df3fb0d3d89 SHA512 cda6737b5873ec737482048c543f9a5e8a8137d13072d663c8b714e0607c47c8d77ffdef9a2d9c8713c0c321c0e7bd3cd1531546f53c045000853badd575e61e
|
||||
|
@ -0,0 +1,5 @@
|
||||
AUX 50jinx-gentoo.el 190 BLAKE2B 8b113ff9d9d377b46055bd4c485aa8e7e93db737b1997ba0c6ee951691441a66e16c31bd2ac4485d1f34b8f170c5046da1bb927b582004482f43dc87a962bd4e SHA512 d09e497620b9f7056c7c55cee35bd0bba2cb2a5aaad4d3b760364b28c3ce2a76da7c07d31fd49e33025754a8883bce390fdf3c2e0c6f855182f2326aff0c689a
|
||||
AUX jinx-0.6-try-load-path.patch 1066 BLAKE2B 73746f6bab3633f7d9a22410c8726685d778dcbed60bcee9a1dd4e3eef8dc49e97d30c8b15364a865be2718bca5f6a27e34b526fa022302fbd77d1f5b00d23a1 SHA512 ca610b05fb205fb74d38d84871fbf507ad5a9bbf878858ae40e195d8dd6bda0a350e3e4352d6403a0b3c58ce3a0b2c9b6b1a6a156d3ff933477fe00bed138ba4
|
||||
DIST jinx-0.6.tar.xz 16692 BLAKE2B 49a391b55b809dd6749ce264b4f732b5c902c1ea67a39e681327ddcf8f728271897202ecd282dc5c4999cf336a5b37c89b9863239291fc944cee352920d99189 SHA512 aa253836d04aec04674ca6dbbd1e73719bee78f4d01d4d93eef2cb05f4c3edc6ec4a11c352fb8952780523f187581fae9c33ea0d30416ec30803b7a196d03f60
|
||||
EBUILD jinx-0.6.ebuild 880 BLAKE2B 35139546fd7ff06b7f8eb361f11263befedfb820a4f65871ba99d3c1e0f004f0b15b580eb361c05e5233cfdf8a4c4a222f7b02f06494de3e9e19b2d7cbc2be3c SHA512 a6120ceac27d5124bde41c631f5aea1bed4e3ea5cf752fbc59adc5101dcf84e5e3d9d2da09f01579d754044adcbb9786704892eec1ae416f479adf38be070e33
|
||||
MISC metadata.xml 596 BLAKE2B 637e6f9f170f3ce64857712ff8156e123e42fa1e3495291ca05fc260f69ba267df6536c08b2a1ba042d8cc13f86f499d1e5f8dd223b89efd2c62ca38a9f37d2d SHA512 1fd1a6b8ba360f7aa2c03e8c318482b564afcf2392c20fe0c70d96b181df9323706c3b81bd3aa98916b65cff29aafcf9c9a486bfbbd55b775ff7adee85886950
|
@ -0,0 +1,4 @@
|
||||
;;; app-emacs/jinx site configuration -*- lexical-binding: t; -*-
|
||||
(add-to-list 'load-path "@SITELISP@")
|
||||
(add-to-list 'load-path "@EMACSMODULES@")
|
||||
(load "@SITELISP@/jinx-autoload.el" nil t)
|
@ -0,0 +1,32 @@
|
||||
From 3c0aa84130e07cf69219adce8a3494e76977fc26 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@gentoo.org>
|
||||
Date: Tue, 18 Apr 2023 01:29:55 +0200
|
||||
Subject: [PATCH] Try searching the whole load-path for jinx-mod
|
||||
|
||||
* jinx.el (jinx--load-module): Try to (locate-library module)
|
||||
before trying to look for a sibling file of jinx.el.
|
||||
---
|
||||
https://github.com/minad/jinx/pull/42
|
||||
|
||||
jinx.el | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/jinx.el b/jinx.el
|
||||
index d0cf56d..e829d50 100644
|
||||
--- a/jinx.el
|
||||
+++ b/jinx.el
|
||||
@@ -472,6 +472,11 @@ If VISIBLE is non-nil, only include visible overlays."
|
||||
(let ((default-directory
|
||||
(file-name-directory (locate-library "jinx.el" t)))
|
||||
(module (file-name-with-extension "jinx-mod" module-file-suffix)))
|
||||
+
|
||||
+ (let ((located-module (locate-library module)))
|
||||
+ (when located-module
|
||||
+ (setq module located-module)))
|
||||
+
|
||||
(unless (file-exists-p module)
|
||||
(let ((command
|
||||
`("cc" "-I." "-O2" "-Wall" "-Wextra" "-fPIC" "-shared"
|
||||
--
|
||||
2.40.0
|
||||
|
@ -0,0 +1,44 @@
|
||||
# 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"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/jinx-0.6-try-load-path.patch
|
||||
)
|
||||
|
||||
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
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>arsen@gentoo.org</email>
|
||||
<description>Arsen Arsenović</description>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>sam@gentoo.org</email>
|
||||
<description>Sam James</description>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>gnu-emacs@gentoo.org</email>
|
||||
<name>Gentoo GNU Emacs project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">minad/jinx</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,4 +1,4 @@
|
||||
AUX 50typescript-mode-gentoo.el 188 BLAKE2B 842bb64c905de119338975c0717c2ab4db5111644889c1da8d325f55efb67fd29c456d938718eb27e947e0d7c13cbb0ddb39c956099c09a24962e86349ceecda SHA512 2ffd54a6730c7f152a375227482720649865be1097a4f758152dab4b6f113eef5fa3acb9c6cf704db08f27dd85553ed6af2c1a4a25390042cd4e73b8146cb150
|
||||
DIST typescript-mode-0.4.tar.gz 65534 BLAKE2B b72047749cac571ad4a109b0d8650319137c2f75672882940092bff097e3a8c877b59cb51aa89b28a6cbeacfddbd6730e634a5a33305c006d401d326fd7f5704 SHA512 5bb38ab14fa9b022744b790e62740a95cee4ca906bab9eaaea8804cfae78c4ead54770d7e53d323ee57799bff5101cc10b7327105b7b0d0b17c74bda64203972
|
||||
EBUILD typescript-mode-0.4.ebuild 728 BLAKE2B 08495dd9a5bbd2f89b10fe63930f34fddd9346659b0f21414e58baacf6f4c1fe22e963d1863b168777dd867b94e1ec5d9830685be8d5307e836e005da56e3ceb SHA512 aa0226ceb715d933c1d592fdb2df73c3ec1bf523e9ea2a24d73214895d247ad11106276396ffc3560d051e711695d2398a1ad8eb54aa8ea5ac1d45e1faa8e2c3
|
||||
EBUILD typescript-mode-0.4.ebuild 669 BLAKE2B 73a666e93f5a51d7d78f0654be742f17197236f7f8747006db9d4e39e1c9cd58fae1a7d9992909b54bcf1155820f235f0c56ca134dbb39aa8894dc86e451b359 SHA512 8c52c042f824e39870c118c65296a6c39ac2a3df64aef01063fbb76c66e1ac64e2afe08f72b4cc8d2e90474176cf6998bf90192d334bacb9b12ae246a8b1e2ea
|
||||
MISC metadata.xml 449 BLAKE2B ff09587f78cdef036ea37525c48ec09eff9192d5849256816440477652ea568594eca5e5505a3266ed0834ced527856a01d1093a996c334f657199c445966553 SHA512 6c7ce95e48733f316befb85f986b524b2fcda730ab82979c8dc2ee72c0bd7d58ad6992ce5fb76452375b946c1f502f29e997099064cc1dbce1c790ef872d97cc
|
||||
|
Binary file not shown.
@ -0,0 +1,173 @@
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||
inherit flag-o-matic meson-multilib python-any-r1
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
|
||||
EGIT_SUBMODULES=(
|
||||
# picky about headers and is cross-compiled making -I/usr/include troublesome
|
||||
include/{spirv,vulkan}
|
||||
subprojects/libdisplay-info
|
||||
)
|
||||
else
|
||||
HASH_DXVK=caf31033d711460e86781b16a4d9b0f41fa9e817 # matches proton-8.0.1c
|
||||
HASH_SPIRV=0bcc624926a25a2a273d07877fd25a6ff5ba1cfb
|
||||
HASH_VULKAN=98f440ce6868c94f5ec6e198cc1adda4760e8849
|
||||
HASH_DISPLAYINFO=d39344f466caae0495ebac4d49b03a886d83ba3a
|
||||
SRC_URI="
|
||||
https://github.com/doitsujin/dxvk/archive/${HASH_DXVK}.tar.gz
|
||||
-> ${PN}-${HASH_DXVK::10}.tar.gz
|
||||
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
|
||||
-> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
|
||||
https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
|
||||
-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
|
||||
https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/${PN}-libdisplay-info-${HASH_DISPLAYINFO::10}.tar.bz2"
|
||||
S="${WORKDIR}/${PN}-${HASH_DXVK}"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
# setup_dxvk.sh is no longer provided, fetch old until a better solution
|
||||
SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
|
||||
|
||||
DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
|
||||
HOMEPAGE="https://github.com/doitsujin/dxvk/"
|
||||
|
||||
LICENSE="ZLIB Apache-2.0 MIT"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
|
||||
REQUIRED_USE="
|
||||
|| ( d3d9 d3d10 d3d11 dxgi )
|
||||
d3d10? ( d3d11 )
|
||||
d3d11? ( dxgi )"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-util/glslang
|
||||
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||
local tool=-w64-mingw32-g++
|
||||
for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
|
||||
if ! type -P ${tool} >/dev/null; then
|
||||
eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
|
||||
eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
use abi_x86_32 && use abi_x86_64 &&
|
||||
eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
|
||||
die "USE=crossdev-mingw is set but ${tool} was not found"
|
||||
elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
|
||||
eerror "${PN} requires GCC to be built with --enable-threads=posix"
|
||||
eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
|
||||
die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
|
||||
mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
|
||||
mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
|
||||
mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
sed "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" \
|
||||
"${DISTDIR}"/setup_dxvk.sh > setup_dxvk.sh || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||
|
||||
# AVX has a history of causing issues with this package, disable for safety
|
||||
# https://bugs.winehq.org/show_bug.cgi?id=43516
|
||||
# https://bugs.winehq.org/show_bug.cgi?id=45289
|
||||
append-flags -mno-avx
|
||||
|
||||
if [[ ${CHOST} != *-mingw* ]]; then
|
||||
if [[ ! -v MINGW_BYPASS ]]; then
|
||||
unset AR CC CXX RC STRIP
|
||||
filter-flags '-fstack-clash-protection' #758914
|
||||
filter-flags '-fstack-protector*' #870136
|
||||
filter-flags '-fuse-ld=*'
|
||||
filter-flags '-mfunction-return=thunk*' #878849
|
||||
fi
|
||||
|
||||
CHOST_amd64=x86_64-w64-mingw32
|
||||
CHOST_x86=i686-w64-mingw32
|
||||
CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
|
||||
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
|
||||
# unset again so meson eclass will set ${CHOST}-gcc + others
|
||||
use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
|
||||
|
||||
local emesonargs=(
|
||||
--prefix="${EPREFIX}"/usr/lib/${PN}
|
||||
--{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
|
||||
$(meson_use {,enable_}d3d9)
|
||||
$(meson_use {,enable_}d3d10)
|
||||
$(meson_use {,enable_}d3d11)
|
||||
$(meson_use {,enable_}dxgi)
|
||||
$(usev !debug --strip) # portage won't strip .dll, so allow it here
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dobin setup_dxvk.sh
|
||||
dodoc README.md dxvk.conf
|
||||
|
||||
find "${ED}" -type f -name '*.a' -delete || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
[[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! ${REPLACING_VERSIONS} ]]; then
|
||||
elog "To enable ${PN} on a wine prefix, you can run the following command:"
|
||||
elog
|
||||
elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
|
||||
elog
|
||||
elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
|
||||
elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
|
||||
elog "removed upstream, handling may change in the future."
|
||||
elif [[ -v DXVK_HAD_OVERLAY ]]; then
|
||||
# temporary warning until this version is more widely used
|
||||
elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
|
||||
elog "If you were using symbolic links in wine prefixes it may be necessary to"
|
||||
elog "refresh them by re-running the command:"
|
||||
elog
|
||||
elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
|
||||
elog
|
||||
elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
|
||||
elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
|
||||
fi
|
||||
|
||||
if [[ ! ${REPLACING_VERSIONS##* } ]] ||
|
||||
ver_test ${REPLACING_VERSIONS##* } -lt 2.0
|
||||
then
|
||||
elog
|
||||
elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
|
||||
elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
|
||||
elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
|
||||
fi
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
DIST aho-corasick-0.7.18.crate 112923 BLAKE2B 4f6947d1aacf89ccfab0592cdc55fa61ef09cea38231d3f758765dbce328a810c0b588be4ba96e81d64955379ee005722d22a7aec39caea6e72342245d7ca34f SHA512 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00
|
||||
DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671
|
||||
DIST arc-swap-1.5.0.crate 65351 BLAKE2B c6b278134f6e29551302e27131639f3bc5bfb05042701cf6c12aab1697f211be0942c44919d374e196ef03605fb137334b42decb9623a137b6ead346586c2105 SHA512 b668a75b2ac77a9d2df3f29b70c8c22e5a961cd2478cd76b6d313e0e1ff809508887451b895f057d160860daa4b02cb74616ab8daa34d163ef3f42a009842031
|
||||
DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
|
||||
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
|
||||
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
|
||||
DIST capng-0.2.2.crate 24372 BLAKE2B 85cf114065f0f103a9e1583b11316c5a95d5fa9f5d70448d6749b500e956e4e0c6fb4f5e548a7490d191ecae878624cf4ea1e5026a6a0796c8269e68de70af0e SHA512 132c446c36eea932a39190b284d0f2f29b50334dc8c12043e43a1eca90366a56b2034c649740ac20ded4c4e91147226237cbbcee18750dfc281154644d6fa0db
|
||||
DIST cc-1.0.78.crate 61375 BLAKE2B fd4765cf5ae0dc7018bc6b56298cd0fa9bf6fe23545e845670d98ce73baee55354e77c6d87cf047f10b074f3d742deca8b5631a250c69b347b4a1fc653965d43 SHA512 b85bec4c75cb1d1e252419052e9dd22b6892e54ea36195ff483a04f785b5b103e82b30b778459fd45324ffeb2463aa4f5696baeff2779c25ffe9f65eb99ae893
|
||||
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
|
||||
DIST clap-2.34.0.crate 202210 BLAKE2B f383adf1d757ac4b68995132b33837686ce451f85a02a8d05d2c746da398510d05d46330f3efade063c3952aacb1754cdac73dd0afcae0df5340a89f9353aa1c SHA512 c648a761b9996a7e7464a538bb53621bae22090b846a42c3b729beca3363958ae67e3da9f93f58b10a10e043cadf7ff930388680d168646178c2824177832db8
|
||||
DIST env_logger-0.10.0.crate 36574 BLAKE2B d2f387682059fe9b4566ab995be449c58c57b8df5e5d8bd5ffd153aec1648721d8a9606d3f9aa034263651f5182043e08b6cc08d2d29d0a10f6cc61df9949a06 SHA512 4dd02f9d333a1f15657167ef4bd403eda5426cad17e0a4a43fa20cc65449345eb4d3fae2d6b10a3480016b9e23497fac13ed7e70b40c9450ef430be9f910d3e4
|
||||
DIST errno-0.2.8.crate 9276 BLAKE2B b73738deb47d1f76ec91ffd15558126d32312647b82677290725669edb01b8f34a503172fad6518ebf0ffb1633ef0afaf0750982b9384a9fb87833d31721c9a8 SHA512 1f513743224cd9a9b7e4caaf33dab075a4a79efa90c9f46c9edfb0c8600daccd3ad2677ba2116621e19fcf8be456954da5d611cbcea4b6f1410f7731828b50d1
|
||||
DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
|
||||
DIST error-chain-0.12.4.crate 29274 BLAKE2B d082bcbce47411477e8b597cfcb76985cc7d6f1696926cb5314f4e84d2c8642939f5263e110aaef56353ec086a21874a8093bcea1d018be81c86ca42c2c30d71 SHA512 c0ee19a0ba2d79ff1843148d0a582045e68466a9dc429e5f3c8a3a75bc1b6e0d6de03ad69fce851bc0297e7db77b2c6817a13c37e1c3d4501ed41db8a454bf79
|
||||
DIST futures-0.3.21.crate 49935 BLAKE2B 290dee4f7662a473d82350092c0b12a8270f6d6f5eae9e4f7e06a6abf59e2d9f2d33e5e62e2682fcf6e109d62f651cb37cc467cff2b20f909c72b5fee2cb7683 SHA512 723fc190e4480fd812a852656fa6509a188f0d06adaa1c22ef24ec4afa7688a1c5d3961e5747f0812d073fc672b0e084af6ad5e5c3fac3ea5829466f993ad865
|
||||
DIST futures-channel-0.3.21.crate 31961 BLAKE2B e99f37cdeac080c8bad2203fd24b48eb62918166104ad6cc531c8f69d3e0c3a5898ca27f19693e2c143c9049a7d244f9af49c16fecba12233f9ff3f1d01e35b0 SHA512 1c10398657949b53b6df196cc44d8e4b3acf53b4d216be6f5f631d8d4b500f5c344e2cc7d5a5642ced6c5480511884611be6d429f56a0ede4a716b9c5770cb76
|
||||
DIST futures-core-0.3.21.crate 14601 BLAKE2B 73cf4c422202a34cc9916509939fab35c79093a6c1aeb99e35763727ebf7d3a06ae203684d75cc74183126f0cd95dec1530f136ffa2a0e69354c554883e3af1f SHA512 b60e7892436ae28fd2240f17816f934f6caeac663d67b8efc7d519ebb4b0bd921f0b732b6176bd4b472d2fbe346d39a37ba394401e15afa93af8294ceea90976
|
||||
DIST futures-executor-0.3.21.crate 17306 BLAKE2B fd20c7f0b4996cc10e3b3d30c33630a42eb363ac7893af4ae5c476775f8e4f3724ac110648252b6cfb3d652d352fbb5833f2647d262a4c9ae999de1fa69340a3 SHA512 597732f96b45ce21f7a0b149f62cbdc54a80010bfa5421ab0ef7345c501c197e1c8fe109fa2d1c813d5c2e872b4670e0fbd96e2572cc3e9d2646b68f41c78147
|
||||
DIST futures-io-0.3.21.crate 8902 BLAKE2B e673342d3fae38e5a6a20c426cb1127353b4f15459b4c27965566f7f2f13f0773ac6ec850b0d679bea37d68219edf6cdf9d1d0eed37665f4ff51c6060b81466c SHA512 dde0b79c4ba208b4c92c699457efbd515d331ab612e7b7df735b3b8f2ab79c012b1ba329ddaf488d68c69dbd119aa231b833b81cbcc0cc2f55c656f68dc22bd8
|
||||
DIST futures-macro-0.3.21.crate 11250 BLAKE2B c981e6d56971871102591b6f14b13f0ed75499627036a90cb71a3e11336db408d11ea0feced484d9ea454f47db74951cdfc61377af267359f46cb6462cc3fc0c SHA512 a79d4d3e487d05554e05e04f3a631fc9f0b5c525126eed550ee30eed16d4c457dc39274efac53558a3e33a119b8ff9d3552ce367359eec9d05105b278f7677c0
|
||||
DIST futures-sink-0.3.21.crate 7843 BLAKE2B e4b2ac98e89063b23f5e278cad1df6b1b8f96d4f0df0cb035ce964b91e97f88c7a1a4942ec4010cb4da5f4a3552487eac048a6bfcef637bf1f83398d7f38758e SHA512 9bc0198495b5a1b3ed25fcf7b053a235bba0a43a4226bf085d9027537a57add1686ef61179bf2a2d4189945cb5a05a8d64ba6e6e647c56245666d51e138d113f
|
||||
DIST futures-task-0.3.21.crate 11815 BLAKE2B ec3f2e2c025e9a482d86912099e68722099c22c0024669906036504d0e70998cb9cb5fd4074928d21847334611ccfcbe6d3e2f686c4d4d7d4436f1e7f501b8fb SHA512 8f3b27865d8c7a290471903297e3c0b52caebfaa55550a4738d7915008b893fce67c7d9ae5c5bd03f2a42ee72a96aa0245c4bee70fc06977b3493eb81bca2033
|
||||
DIST futures-util-0.3.21.crate 153768 BLAKE2B b3bc5632bbc7616d33f74361d68f83e0cb051125475101c84212ea2bd03307e927cd125e2f93eeb0f84946cc45d3964a590dcbfcfff88d3ce1970f127e71aed3 SHA512 ff952fb74a54e793de943e3aee2ac771357bf9f1aa5de89af128868c46a6b44e414fc4ea97f2d9b201ff7ff41023e119f1adf90d314343ff53ab987c3e07f5d4
|
||||
DIST heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f
|
||||
DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
|
||||
DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
|
||||
DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2
|
||||
DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
|
||||
DIST io-lifetimes-1.0.4.crate 35815 BLAKE2B 82485bfd13189e0762f7ee501626df0dc741e152ceed875b91a3eed6608686b6d454939d557a0bc29d6bf210dfbe56d35131beb141fc95250544ab8ea992482b SHA512 1b2b151561dc79d1467b699590b2cb5d4acb39f75f38c05a94edb6d1543acca541b5a083fe7b606bc37cb2812692b7acb46996d0b096b96b0b085d31b1336775
|
||||
DIST is-terminal-0.4.2.crate 7577 BLAKE2B 4ef84768184203b58e2b155256e35fd7a74169a8ccd52c3c74aec7fb1d6aeefe6232d049bbdbc40ede2acaf0be453caac19f758cf1abfd04cd1efdf4022c4996 SHA512 ce4997ce1b9f529a7d1b875985cde02440de288a0e823f2f5a9647e3a34658c5f56d254e85dd7f152a987f08f428bd82ce7e2af626c4b3c76cde50e8ae1e9374
|
||||
DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f21df60a8cf8dcbad1808d8c1bdb0b7857ce7734b92c0f23fb1ec56f8564e779f27eea953d0ffbfcd3f84 SHA512 44a732a102d60b58e72fe76c43a1d185fa12ff08d04eeacf03234368552f84d3de87a2ea0a6e7a56b8cfa74cb6f6697005afcee26f45afe0c2fc7dce5da3b593
|
||||
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
|
||||
DIST libc-0.2.139.crate 638983 BLAKE2B e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598 SHA512 ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4
|
||||
DIST libseccomp-sys-0.2.1.crate 11601 BLAKE2B 77a77d6d1f8ef6f5d25b35c299032738aed0a404c855cb84223a7334caaf57392fbd8f0915f4f7be875778176cbfdb8062eabbf7b414d3c198a5d41cd8a466ef SHA512 b53b13f95ac487d802ff051b4cee32be2dfa496846f3104a61399a53a07a7d6fb6b4543088765858e26e060e22e0bf93f8cb3a175c06dae4719f918844c7fe0f
|
||||
DIST linux-raw-sys-0.1.4.crate 878981 BLAKE2B b8708b06e48ef4e32d820b5a0e25ce12d3d985d729a2d7fef46d0b3b4518b4ad40d037d4689fb2270f9c2583dc031d0f4daa26500197e6c32bffd1400357934c SHA512 ee6d5a7a08b183681ae00890784c9e6b72e4c987b2ce2d7de6e7308b7a10d4a2b532db3d5121523bf5d4a262407f3033af4f4c1fd9f09be091523366fa30d768
|
||||
DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
|
||||
DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6
|
||||
DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
|
||||
DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
|
||||
DIST num_threads-0.1.6.crate 7334 BLAKE2B 416efdf395b0299b6b01e1508823afdda08cf67ca54e1d644fc5accbb0490945a492a34bc5ba70c3e838e6405d17ddce164ef87468bd9da27097de8994ad9577 SHA512 b2d9897e29e59353379b6372a629fc7f9afc89f777b4410eaeac7b4729527948a8dbecb175f056899f9076693ef855cc0d40e725cc54f28af588fbac5f7ce3b6
|
||||
DIST pin-project-lite-0.2.9.crate 27713 BLAKE2B d6985b5add432fb6287d1b0c9fb0cc91a195f82c5a748a9ea430e4ba884717ec7b16d730b5ea62de5b2bfead1771da2d115b3776e12e605f70f2538f374a28fa SHA512 cef0b77233adca712db1183f780732ea577cf1b27c2643de221d54c837c75ce749f907e24a967be7474812c7682cba613a3fc5d553a9578a1b80569da0e562e4
|
||||
DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
|
||||
DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
|
||||
DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
|
||||
DIST proc-macro2-1.0.40.crate 40559 BLAKE2B d83cf7283393a82ca65263afc375d123bd2f48b719c9eab6859c52dc0c2b9b4b5af3090a0ebd0fedf0e1095f0bafbc443016f751a0485dc654bcd80a6f71e326 SHA512 bb179524bd41e36735010a7ec53e096359ffc3688ab97806a45ed9cfb17e8688ce352bbb8cd3bd4e15a4299e8500603c86591b17cfa31bca03f299f6f6347992
|
||||
DIST quote-1.0.20.crate 28160 BLAKE2B db257025f64817b1b58eecb8e64e63f1782d8a7fcb42ed6c3364254ec5a26705e49ce0637c880b0355b99a77473ce3083caae2cfabbd1a1a7e4fc826bae2cb7c SHA512 d12f4a425273b99ae655da11fcf5dad2609e20ad3e7d85cde08c7d09f444a5c7a3505470bad2d48b1ba8ea59ebf38ab87aa1052e47ec414acfc05dcb07d438be
|
||||
DIST regex-1.6.0.crate 239329 BLAKE2B 646405e681ce572ebe2dc51a3339f0f8204143f9b2b8f8e74a4c80379c43c3581363ad347610a384d5ee831cf1425f74ddd944a658b1da2461e8068c5521af69 SHA512 b4861c9cc13d6fb224f67057fd3522f04576591b3d7ae0d3581dce42ca2b2bff96860cf2a7f4dfab00e46a1d29e6473f6723c4aeb02e34ed6d5f205b66f07876
|
||||
DIST regex-syntax-0.6.27.crate 297300 BLAKE2B 4ca1a2e23d04e29c5925085ea4ab7ebcc398dfe135eacaab1e686aa8be43a110a28e8bec05a6910183f9a6bb1fd0d635fcb1a60b5a6a03fed4d2cf937a542a5a SHA512 5cc705a5dda08cbdb4dbcf3fa98763cadcda13d9c3ba407b35f3e88d77935efc2704bb40b3fb5aad7dfbad0df43bcb4c4cad9732defb954e2228a0739f7c37c6
|
||||
DIST rustix-0.36.7.crate 290628 BLAKE2B 7cdd5610fb4c5c079de7dcead4d68115c67f56c77404dfc946c80062c44b5e821bdfc1c1ac0139c1dc9f0a7bca73076136dc38a08c1b690f00ea25353b9259ba SHA512 ed5fd16a983d2549ed8322c261fca651fcf0dfbd4eb1f7bfd896830434768fac317cb410ccf7fcf03a8b29f3de7dd06b5b4b6be4278f4fa13aa46f462a9e66ad
|
||||
DIST slab-0.4.7.crate 16647 BLAKE2B f567cc822e7b84f64a0b0372c22a0463d260871455a33df025808a0476dcbbd4e051a117d8896d96d6d3d0655b7c296cd691ca22edc54486440f4e2e0f5d1e1b SHA512 659a9ca3323fc2cd236f6cb9eb6feeae8a1f5fa046fa239a34cd7a5ab8a7eadb9e5977e8d5cc41e9138900dd7c75ebc0601480771c5fdd2e084ee76619b82521
|
||||
DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
|
||||
DIST structopt-0.3.26.crate 53798 BLAKE2B 04be64637d18bcc87d261320668023459a42c167bb5a4c52216df556a7dd19be28032e7bf759cbcf710a3729a9dfaeb20c29f37f35fcf33533db583ac4fa049a SHA512 dec27090b57107473c9d398db68bde3b1b5191e7c7980d7d2c20fc723f92c64a6cf1d391d5122a103222c4262253d8073fd0fdfb11c74f235af79b2ae0caf069
|
||||
DIST structopt-derive-0.4.18.crate 20996 BLAKE2B 2ae17e0d365a7ce7a4d0e007513623ee0d5acf45afdc3844114e02975b855fd1a9f7df404a24044cf33a3a4cc4142eccc34d1e97925646d54d460a89baa28275 SHA512 68a7f9c2ed987993fdd8bb7e81c31969a1fdf5351c58cba9de61a2f5957aba1626be4b0742f31d4de502301675ba24b0d91dd3acb24f5607bdeec83070626a57
|
||||
DIST syn-1.0.98.crate 235451 BLAKE2B 0667c24d7f6b9bf4c0a5f45fb51c903303a87c72d445ad824e05ab98a158f9beda0d00721144c486335b6a830db47fe57a34831cff6995f478c969c4d0a039dc SHA512 fe5dda742e085e14b6aea5617d3f9dd19ffd46009f34b119c0d74ec693042f641e594f75ff027dbfa38f3d5149a94eb6187248ee9d09d41dab9cc2cfc18fab18
|
||||
DIST syslog-6.0.1.crate 9552 BLAKE2B eb4414c675842fd8cbde4e0c9ecec5dd0f43ca2877a082d634e145202df6817cee86e2edb11f1b78cfa5b0e5df98a42b6cdb2bf1b70c562661dfa9c03da142ba SHA512 fc3e0ef078d2414420e717b66517e9fc668a03b5d0cd0001aed6e477a92f2873877b873159bdf964e4cd670519e5a308bc7357674bd67ac320754221415aa36c
|
||||
DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
|
||||
DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
|
||||
DIST time-0.3.11.crate 91807 BLAKE2B d5b80416590bf48c8f403cc0e2ad735b95d98048dc335737fe509c44f805cc911fa55d6af611d3a05150b2a9ebedf005e8903a4daf66e245a5d5f290ed661c46 SHA512 214bb8c5573d3ee405a923f55e22ac3d659c30ba413f5e960e17d8f226d094133e2b52084e34efc6ece2311e13a862f2fcded9783937d69709d11144a8d6b48d
|
||||
DIST unicode-ident-1.0.2.crate 34951 BLAKE2B f03f7a040142785675a800672bb363dcf7aae266eebf50425436100249442f27b18837f9e297d93b59a9254c349e13222f8af892a9c0fbf2bac676df8a1b0e1e SHA512 60d78668b762eb842c15ee554c0c1175393702c805f1a874957d49104e9152ad2d0316966553fb14cb520aa858a84da223bf426d55e4ac23de3324a3bebc301c
|
||||
DIST unicode-segmentation-1.9.0.crate 93241 BLAKE2B 359904bcaadfd161128d40a896a2d10e5dfdb4098de245c949ae3fffecce9b4b6b999bbc2c6ca522944733ab0074e50fe829690183639c312bba8f8d0ad24456 SHA512 7d0ea37bfb24a1a803b1cd40b7b0c0e6e44ebf9a474fdedf0dcca1ead25662e19f44af29b87de1b000c3cc75fec93320938bb3ab9d9e82298eda324bb97e7294
|
||||
DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4
|
||||
DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9
|
||||
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
|
||||
DIST vhost-0.6.0.crate 196931 BLAKE2B e988df6489c33332c4b5a804ab1f79a1318ef07c46a531cc56df71529246678fa0469e2520708bb2b71dbdf3c8abdc7385f84c25701850139c26ff13cde88b82 SHA512 13d6d2966d596072d0afb559e4702d2a43fa6a85ebec5345bab0455483cfef0c4a70908737955d2423e380839ad0d57118203f3f2c582653d590dc52498cfe1c
|
||||
DIST vhost-user-backend-0.8.0.crate 17703 BLAKE2B 9a4c9ab7f5eb1433b70500972ee580e0c34114da5db4d153f4130943114232d6e977357632e0fb57719c99c05c7074df04fe58d3bac9cd66500211a02f0fe728 SHA512 25ed03b2600c063ef3a75d6115e34451459bdeba80488c937e1f0caeb30412211b021387d682010d7f318d427322f6582e0e2dbc81097a7bfa014a27856dd04a
|
||||
DIST virtio-bindings-0.1.0.crate 20293 BLAKE2B e511229ae22a53dd9cd1d2aeb235026c139d11ccd2e528eb78848e3586067c027d6f1b7d538276f74548d0949fe60a5d052caeb7f693b3d7d6d8baeb3ab550cd SHA512 ba27ff5790528942b1ed4a20851d426f0a66415970b98957b4bdfc5d3505897874ee9c0242be16d55964799b790f2acd76a1f0c38aa90aff3e3c337584d357ec
|
||||
DIST virtio-queue-0.7.0.crate 146031 BLAKE2B 8fb2970e87051787e8891393edb345e3b0045681da5d07d5f75c6695580e57faf172c469a8f14b785c5d622e699613696e3544f8a4d06fa66e58a3546c4c191f SHA512 45891b3411915999d1758b0825699ea07912f83cca5802e56d33023378c268d29d77c3a7b52c0a0828b2256ead0ef6264753db2a78a8f571eb9787b879cc544a
|
||||
DIST virtiofsd-v1.5.1.tar.gz 112534 BLAKE2B 52c86ab9d4842ecd496aed3f09a98be96d7ee0eda43a2519eb066be1f648963b155386f9eac1a1c878c12fd05d928f88700c6a7a840c0f34dfa6f86caab15fec SHA512 a50b3fac6d5eafc691ef4fc8808acb4dc03261f01623f6675a234d457231f96181e9cf6c8ac68b4fe1b1c97257faf56bc6d0c2776142c9dbfe82b4e9bde0e34a
|
||||
DIST vm-memory-0.10.0.crate 68989 BLAKE2B 469a22ecf49d00b44c58b11856db46be02ec7abb783a451ed7f57080989d63d2ce1d66bec3ab8f2b92da8c2e8c685a6d5f652570cff9a48368eca037bc2ed6d9 SHA512 7bdeb565f4bdd6b0df39fb753c97addd18a51b5d788076f60f98cb8d532612a6d41c533f8d3bd3ffcb0304f045fe8b1f69762efdf29f957b27959b6be66420ea
|
||||
DIST vmm-sys-util-0.11.1.crate 56848 BLAKE2B c5de8659cfe17914f008e5f74e45929421e2f8cfd9a801a8a5478e7934f94ce299aa91b9951374a6cb9f94a8311f76ae841b87170685e3d5250337da42d6629a SHA512 7395b730bf5e42ca75a73b2d75b2f624958474549c9ee63d4fc63a5a81c51b1e0c370e79d4290b4d6768499498a2941989845d5816c76e3eb1f5b43fdd0c8286
|
||||
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
|
||||
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
|
||||
DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
|
||||
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
|
||||
DIST windows-sys-0.42.0.crate 3006791 BLAKE2B 7a0962364ecc416cf0ae7e49cce1298a12d819003e488f6e77aff1a52710f00378638b6a05db5557a031e1b75659587657971ddc63eaab35495133762f99a7b2 SHA512 b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354
|
||||
DIST windows_aarch64_gnullvm-0.42.1.crate 362795 BLAKE2B 722b45789bcd1d973803b327d44072fbf9c904d448e29ae9e56d2f9d1a3e9b64e06883e4bf5ebf141f1e924235858fd1472e07a744cc5b16a0a3a4fc8ec8f6d4 SHA512 51eb9fa7ea441a9fef590c12576a8bbef74932d40fafde8f9e3a28f2734ce5aee6dd5fa478fb3847443241c8c392bb4abbc6014c71260bf924431779f7184f73
|
||||
DIST windows_aarch64_msvc-0.42.1.crate 664655 BLAKE2B f4a060b802016a6d77a8ea6ac44c35dfec384acef9c45f932e2b6aca9d3ac48ae031f99e5b58f270d6020b8796e9dd06f7e8ffa7cc5610ea3f69181c2be7adc8 SHA512 f6412bae4b041201ef94e5a159ce90fd6b09816350204d4f573c1afdfb0a6d62d7887fbc2e416b40ec1d4478db521be492edf4703d87482d6d0006a51b827538
|
||||
DIST windows_i686_gnu-0.42.1.crate 733428 BLAKE2B c1ca24973aca06b255d9317735cca7a13f7f69293da52dad41df43a5cdf48aac3d40d8b6765cf564905fb71cb548308d757f01167efe7a61da7bd2e2a7080f0a SHA512 61c3271b07df1d4585c875d27cf1686c8f595dcbb79626e8d15ff47228f7b7a4556d3d994566ccceee0d6795a4c76767f85f4579282fc9eed731e04c7e193a57
|
||||
DIST windows_i686_msvc-0.42.1.crate 722583 BLAKE2B e03978daa0ac95d7bd9f594b28360dab647a1fe525f0ae4b44e6842d93c5674d9f202e8bbca99a0d30ecf7d138af0c48eec8e69e08bf285db51e32bcf83a2c54 SHA512 8afa4f92cb7bd96d4fdbefbd8e7bcaa37dee52224d5d8b950c5a537d3bb805bf9781097b8bd44d96e8b62b1290e3a3020557502fa3b357a53df6fea36b318932
|
||||
DIST windows_x86_64_gnu-0.42.1.crate 697614 BLAKE2B 3cef0a3da3ce142bbdf932dbb54eb6473070c5722c9ec791dc4077efe2d774d51f8b3d06b3321f8f21cc49764f44d54b3432ee7a0d9376925b422b197f5d557e SHA512 f4c16b587fe407dee1f39df029c52302a0fbd5f519816a8d974fe9c2f928043b14037c701c0f3c9cf2e5c765e82430fd4b71615fe63a66a88159f7b15506f892
|
||||
DIST windows_x86_64_gnullvm-0.42.1.crate 362788 BLAKE2B fff81e63b86ad04ce22ad3e05ec4cc02c0b791384c93bafb50832f6db9cb7fd9301ad3845339a08dd8cadac1d59f3e8dc9d5f56d7a987989dbfc16b9131af67b SHA512 8cc988b5995a4726bb7518b7fccff528274ad9b2b0160fe247eb240f9ced10db95afe7bff91bfc5a08ebd8237b6821e4a4abad1ff9da45022f1ce7e7586bcf05
|
||||
DIST windows_x86_64_msvc-0.42.1.crate 664606 BLAKE2B 6c460cfa392aad0d11add200d652a42ee1a60052570527c4e85405f765255375729d4e26287f5246dcad65fa89ccadea23c5135171b311e6da5027e33149c547 SHA512 a651b1a34f101125f929c1d1f5e933691c7a5c19d0bb0c501fb6812236d2771805428e3bd5e05be7d72715595f5fc9e7978dd7934e5d92e9b78a41c2ece695b2
|
||||
EBUILD virtiofsd-1.5.1.ebuild 2577 BLAKE2B dd911bec2d213d7b51aab218ecf585c6e975d56fc38e4f2b4bb39f2c6e53bd87ab04c372cf7403b9e288e0de3452ea5f33d714de731f12215bdfed84233d3fb9 SHA512 4d2c0f0b5082d656b736d43dab57c02f0f01ed6cfe09292919e81971fd37588b12c5db4ddac022376e82698e5c9ea60f3c5e7146039488cdb21b76aea047c37e
|
||||
EBUILD virtiofsd-9999.ebuild 2577 BLAKE2B dd911bec2d213d7b51aab218ecf585c6e975d56fc38e4f2b4bb39f2c6e53bd87ab04c372cf7403b9e288e0de3452ea5f33d714de731f12215bdfed84233d3fb9 SHA512 4d2c0f0b5082d656b736d43dab57c02f0f01ed6cfe09292919e81971fd37588b12c5db4ddac022376e82698e5c9ea60f3c5e7146039488cdb21b76aea047c37e
|
||||
MISC metadata.xml 489 BLAKE2B bc6fc4d8ed57fb5a61ea1e2097e8e6deb1ddc302a55d5e5b25995686701c20bffdf066c7d68c84f94aa99ff0bf0551eb8ad44bda627e92741b995c355c28e33c SHA512 db2f4049f8e48b16198cc06c70ce46ca94875590ef82d75d3363fd4ec67de4d5ea35a544f709e466bb8689b9100605439f3207d22f1a06fce7428b1fb706a5c7
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>michal.privoznik@gmail.com</email>
|
||||
<name>Michal Privoznik</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>virtualization@gentoo.org</email>
|
||||
<name>Gentoo Virtualization Project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="gitlab">virtio-fs/virtiofsd</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,126 @@
|
||||
# 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-0.2.8
|
||||
errno-dragonfly-0.1.2
|
||||
error-chain-0.12.4
|
||||
futures-0.3.21
|
||||
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
|
||||
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-1.0.4
|
||||
proc-macro-error-attr-1.0.4
|
||||
proc-macro2-1.0.40
|
||||
quote-1.0.20
|
||||
regex-1.6.0
|
||||
regex-syntax-0.6.27
|
||||
rustix-0.36.7
|
||||
slab-0.4.7
|
||||
strsim-0.8.0
|
||||
structopt-0.3.26
|
||||
structopt-derive-0.4.18
|
||||
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-0.6.0
|
||||
vhost-user-backend-0.8.0
|
||||
virtio-bindings-0.1.0
|
||||
virtio-queue-0.7.0
|
||||
vm-memory-0.10.0
|
||||
vmm-sys-util-0.11.1
|
||||
winapi-0.3.9
|
||||
winapi-i686-pc-windows-gnu-0.4.0
|
||||
winapi-util-0.1.5
|
||||
winapi-x86_64-pc-windows-gnu-0.4.0
|
||||
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.gz
|
||||
$(cargo_crate_uris ${CRATES})"
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 Unlicense"
|
||||
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
|
||||
}
|
@ -0,0 +1,126 @@
|
||||
# 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-0.2.8
|
||||
errno-dragonfly-0.1.2
|
||||
error-chain-0.12.4
|
||||
futures-0.3.21
|
||||
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
|
||||
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-1.0.4
|
||||
proc-macro-error-attr-1.0.4
|
||||
proc-macro2-1.0.40
|
||||
quote-1.0.20
|
||||
regex-1.6.0
|
||||
regex-syntax-0.6.27
|
||||
rustix-0.36.7
|
||||
slab-0.4.7
|
||||
strsim-0.8.0
|
||||
structopt-0.3.26
|
||||
structopt-derive-0.4.18
|
||||
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-0.6.0
|
||||
vhost-user-backend-0.8.0
|
||||
virtio-bindings-0.1.0
|
||||
virtio-queue-0.7.0
|
||||
vm-memory-0.10.0
|
||||
vmm-sys-util-0.11.1
|
||||
winapi-0.3.9
|
||||
winapi-i686-pc-windows-gnu-0.4.0
|
||||
winapi-util-0.1.5
|
||||
winapi-x86_64-pc-windows-gnu-0.4.0
|
||||
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.gz
|
||||
$(cargo_crate_uris ${CRATES})"
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 Unlicense"
|
||||
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
|
||||
}
|
@ -1,13 +1,17 @@
|
||||
DIST vkd3d-proton-08909d9856.tar.gz 1424776 BLAKE2B cb29a927b28980283c96d9a1ac99ef98570b72edbec147314b2884e2d8c78c23b8b7cdab4530b9098e55a25801a9fad3e5a8ae48695b994c226d05fd380c905b SHA512 ca79dfccf638f65546f8654bbb3819b6b72e8a6fd2cf9c5d697444b91244e96d55d059c971afc6b0709c762575a27024862a482dc0159a58804f7d4072746660
|
||||
DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
|
||||
DIST vkd3d-proton-2.8.tar.gz 1435183 BLAKE2B 8b265e6dac1dd0ed6377ea6bc0ecffa7eccb8360f890bf2c996395b9db90e132ede9bddf6e889a9302466cccdcd2000f1e7ad9ece740b797c44f081b7ca1bb98 SHA512 d708fe62d64487b4430862b93913ba45f2889268c5efb9b1dc69fd48a665fcffc06a7bb91afc13b06a35fd82005a3115dc85f1de74d65f6958fd6f0c02a54007
|
||||
DIST vkd3d-proton-dxil-spirv-9e2c26d15c.tar.gz 698285 BLAKE2B 034627322183771c67ac7f927f3883bb186ee1f17657e825f542331dcc4d907d65c764dd6e01603ac77d1205c92500be016a6f0df1e742b6e71f9a189d8287da SHA512 42e385f33b97444bf02a6f662094c256b5f92d5fd444fd3545a52b55aa30e23db2d794a62543de97baaf59cc4b6a1e8429d10b88c01c4bd0d71f5e086319b2d1
|
||||
DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
|
||||
DIST vkd3d-proton-dxil-spirv-babf511d4c.tar.gz 695011 BLAKE2B 49e13065037edec80815b19907664d9681bc191303032db2e1678fbff5e144846c2ee267fdf5c1d4c31a1a30f2c14275f8e276a771253fabb8bbea8936be4eb4 SHA512 b310e4e856b4571ce13cce8539bd1640c7578b132558c009fcc04c24b4b10a86b620542891442dd81feaa8f6ad63d2d05021ca228d1c5f46eebe384fdb30f77e
|
||||
DIST vkd3d-proton-spirv-headers-1d31a10040.tar.gz 445679 BLAKE2B 3dac88269df92428fd93ca187eb417ec0156ff0b24200daf85526aaa92c30ba8743102764e20c47d783ed0704fa690c1bf60944ef81bbdd296890dde5fb9fcaa SHA512 2536619cd7854954892dbb5ab5cd97e4e95fe3f5c121c4b2022426ae734fc20c1ebadbae1da7689f5ca18397075c54e4f16ad525b8ee873c4b0ffdc07aaacc03
|
||||
DIST vkd3d-proton-spirv-headers-87d5b782be.tar.gz 439180 BLAKE2B 9c64a1b7aa408172bb57b38ca0e3d31221c7dfecfcd9afc77449c14e76f60f7436f1a54a794bf4959f4575f177e1024621c6ff696f7fb19b545877e0a527031c SHA512 d6ce02e53c259e508d1d72d81cc6aa6b3019e7ecd6a8878d81d8681d9734756f66c762ebd4b8b1d0f9fbb7a8f1f18d72aeb27c56822d810aca5a3e53c51c1ef6
|
||||
DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
|
||||
DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
|
||||
DIST vkd3d-proton-vulkan-headers-9f93cbe76a.tar.gz 1811251 BLAKE2B 6993e6e7301925a949a8ee18d7d0dec48adc8d4c66bb759929891241b64dd8f4bf4e563e86b40020123d5eced74b3ab02b86f3488b7d782c3cd4536079a3ddec SHA512 d0a157a560b58b676bbef115097423a4ab22928cd08a1010d2f3695bbf5fe3af79653b8db6ec00fa061ff46010749dc13526488f53cac6860af2a1918d873a19
|
||||
DIST vkd3d-proton-vulkan-headers-b7a86d3b2b.tar.gz 1753074 BLAKE2B a2588e84edd09a04c3622a95310acc781432d6a962c69c1f5a709b65e2bfeb5196d9d217b0d261532c4b5c1424f13ff64d33728303c989fdbce3048741add486 SHA512 377ada7a9721c225067c6548475109cf4ad1f3d677b835fbe7a4bc7520621acd816cc59d4b75b23bc28f25891b556792cf853b98c0dfb915856774ff27eb6aba
|
||||
EBUILD vkd3d-proton-2.6.ebuild 6185 BLAKE2B 5d86945bcb6193370e55b3b295fef3a865fa1abe397026c6456e08f764c34e1d473fc0b55c4b9797e3812f16c676412524dea73235c10189eb8f4fc50642f2a8 SHA512 0a884190cad38b587d2cc5791f60792d58907135d76ca31265f706bae2bec40281fabc66478c59af3781643c91747563815a80427fd69a2ce317ae1921a8416c
|
||||
EBUILD vkd3d-proton-2.8.ebuild 6661 BLAKE2B cf769ef74a29aeac41fee8b6d6d59522d22ede312723aed52a381fe94ccd8366dcf37fc436099487eafe738ba5c8b1ae23f92df9b5ee21ca2a47fabf92ccbd04 SHA512 272f6875fb49a250a8c08dd7ca5b81148d8e4ec916984089f2385afeb03aecca07904c9c672f048a4cdf41f18eeefeef136631c8cd8ff1673ad450fda6a262e9
|
||||
EBUILD vkd3d-proton-2.8_p20230207.ebuild 6723 BLAKE2B b55700e5d85ab8e2245e411c513f8c3ffaeedc7016640940a51eb2ee2bbfc8262eb5ac32bd6311fd1fd18eddea9ec2f978f4f946a66b2f71a3e8e8f6c45aac22 SHA512 eb90e6abb12d4ed61d1eefaee76066f26075511ae2299099871be99bead4592c9237d2bb1287920677dc8c08411d8c12c2d830306f8e059b4c499db6a3bb0452
|
||||
EBUILD vkd3d-proton-9999.ebuild 6663 BLAKE2B bb56548c08e6632f095851dc403b2b610819798babf3a66f36f709018fe3d469eac320e4f8c27488bb0d040e301ab776d46139a97cc538eb09257077a9902ca9 SHA512 e396296b59aea3a220b6d9cdc1e2445632470bc6a3337b77058f517c2bef9b5b3992d4b95c5f0a03f3dc4cdd1836921330e51e68557b345f64249600d15a6d2d
|
||||
MISC metadata.xml 618 BLAKE2B 4382557118c0ea56972d05a10c9cc1f94a4fbcc58a414f1cd5e4354ce6ed1de15c95377f167ed5627231c2887ecce3c00756908720458fedddea5ed6732771ff SHA512 b5cc86b412c30ee5d54868a87c9f4892337c83988b738806532cd9e2cc295a2326e776030c19cae9a2e9dd4f5f615b1d962ec48a4b310fd8a94ec4024dde99ab
|
||||
|
@ -0,0 +1,179 @@
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||
inherit flag-o-matic meson-multilib toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git"
|
||||
EGIT_SUBMODULES=(
|
||||
# uses hacks / recent features and easily breaks, keep bundled headers
|
||||
# (also cross-compiled and -I/usr/include is troublesome)
|
||||
subprojects/{SPIRV,Vulkan}-Headers
|
||||
subprojects/dxil-spirv
|
||||
subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
|
||||
)
|
||||
else
|
||||
HASH_VKD3D=08909d98565065994612e529feb0cad04e498a8e # matches proton-8.0.1c
|
||||
HASH_DXIL=9e2c26d15c0eeac91fb8c6dda3aff8f6a602c0b6
|
||||
HASH_SPIRV=1d31a100405cf8783ca7a31e31cdd727c9fc54c3
|
||||
HASH_SPIRV_DXIL=87d5b782bec60822aa878941e6b13c0a9a954c9b
|
||||
HASH_VULKAN=9f93cbe76abe9f6cb4a36df10b08fa3b78ae0027
|
||||
SRC_URI="
|
||||
https://github.com/HansKristian-Work/vkd3d-proton/archive/${HASH_VKD3D}.tar.gz
|
||||
-> ${PN}-${HASH_VKD3D::10}.tar.gz
|
||||
https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
|
||||
-> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
|
||||
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
|
||||
-> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
|
||||
https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
|
||||
-> ${PN}-spirv-headers-${HASH_SPIRV_DXIL::10}.tar.gz
|
||||
https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
|
||||
-> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${HASH_VKD3D}"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
|
||||
HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
|
||||
|
||||
LICENSE="LGPL-2.1+ Apache-2.0 MIT"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 crossdev-mingw debug extras"
|
||||
|
||||
BDEPEND="
|
||||
dev-util/glslang
|
||||
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||
local tool=-w64-mingw32-g++
|
||||
for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
|
||||
if ! type -P ${tool} >/dev/null; then
|
||||
eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
|
||||
eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
use abi_x86_32 && use abi_x86_64 &&
|
||||
eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
|
||||
die "USE=crossdev-mingw is enabled, but ${tool} was not found"
|
||||
elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
|
||||
eerror "${PN} requires GCC to be built with --enable-threads=posix"
|
||||
eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
|
||||
die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
|
||||
fi
|
||||
done
|
||||
tool=-w64-mingw32-widl
|
||||
for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
|
||||
if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
|
||||
eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
|
||||
eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
|
||||
die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
|
||||
mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
|
||||
mv ../SPIRV-Headers-${HASH_SPIRV} subprojects/SPIRV-Headers || die
|
||||
mv ../Vulkan-Headers-${HASH_VULKAN} subprojects/Vulkan-Headers || die
|
||||
|
||||
# dxil and vkd3d's spirv headers currently mismatch and incompatible
|
||||
rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
|
||||
mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
|
||||
subprojects/dxil-spirv/third_party/spirv-headers || die
|
||||
# ln -s ../../../SPIRV-Headers/include \
|
||||
# subprojects/dxil-spirv/third_party/spirv-headers || die
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
|
||||
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
# without .git, meson sets vkd3d_build as 0x${PV} leading to failure
|
||||
sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
|
||||
sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||
|
||||
if [[ ${CHOST} != *-mingw* ]]; then
|
||||
if [[ ! -v MINGW_BYPASS ]]; then
|
||||
unset AR CC CXX RC STRIP WIDL
|
||||
filter-flags '-fstack-clash-protection' #758914
|
||||
filter-flags '-fstack-protector*' #870136
|
||||
filter-flags '-fuse-ld=*'
|
||||
filter-flags '-mfunction-return=thunk*' #878849
|
||||
fi
|
||||
|
||||
CHOST_amd64=x86_64-w64-mingw32
|
||||
CHOST_x86=i686-w64-mingw32
|
||||
CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
|
||||
|
||||
# preferring meson eclass' cross file over upstream's but, unlike
|
||||
# dxvk, we lose static options in the process (from build-win*.txt)
|
||||
append-ldflags -static -static-libgcc -static-libstdc++
|
||||
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
|
||||
# unset again so meson eclass will set ${CHOST}-gcc + others
|
||||
use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
|
||||
|
||||
# prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
|
||||
# possible, but eclasses don't handle that so setup machine files
|
||||
local widl=$(tc-getPROG WIDL widl)
|
||||
use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
|
||||
printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
|
||||
|
||||
local emesonargs=(
|
||||
--prefix="${EPREFIX}"/usr/lib/${PN}
|
||||
--{bin,lib}dir=x${ABI: -2}
|
||||
--{cross,native}-file="${T}"/widl.${ABI}.ini
|
||||
$(meson_use {,enable_}extras)
|
||||
$(meson_use debug enable_trace)
|
||||
$(usev !debug --strip) # portage won't strip .dll, so allow it here
|
||||
-Denable_tests=false # needs wine/vulkan and is intended for manual use
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dobin setup_vkd3d_proton.sh
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -type f -name '*.a' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! ${REPLACING_VERSIONS} ]]; then
|
||||
elog "To enable ${PN} on a wine prefix, you can run the following command:"
|
||||
elog
|
||||
elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
|
||||
elog
|
||||
elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
|
||||
fi
|
||||
|
||||
if [[ ! ${REPLACING_VERSIONS##* } ]] ||
|
||||
ver_test ${REPLACING_VERSIONS##* } -lt 2.7
|
||||
then
|
||||
elog
|
||||
elog ">=${PN}-2.7 requires drivers and Wine to support vulkan-1.3, meaning:"
|
||||
elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
|
||||
fi
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
DIST vkd3d-1.6.tar.xz 785844 BLAKE2B 6dff7aaad966b378809c87969a54568b943c52bec072fa03becdb40c4ff098168924c363e642aa42049f4468ff75013175fb847cc213278a4e10ea54e906a288 SHA512 0f640c1b139f5ccce8e6d1986d1439c2b0d14e7ac533216d2408dbeee07172eee51549311db22464c2ae89070ca15191aaffd967749676586984561ce1d4b38f
|
||||
DIST vkd3d-1.7.tar.xz 807176 BLAKE2B 1e2b03c8440bdf9306e9c08d557dd6b622c689e94f7d4bcb4ce752cbfbe48ddb0b577f9fee14ab8ac2fc08395205328efc5b437a8fc67d5bb0fd868db0902378 SHA512 008c63742d939e8dc755bd382208d52e145d3ad7a5fe7ae71d41be3e3efd609b513add2ec43c6947a183b6a7595e3f0d8bdc6628835577fa5b7f7ec8a5dea347
|
||||
EBUILD vkd3d-1.6.ebuild 953 BLAKE2B 7bc70de3a18044a97ad4323df4d2bba852109e968425c9cae9c4b0250f3977eaef933d64b6eac1d0a603868ab4a798370b73b151403454a61ce29bc626593b95 SHA512 62e5827659163f08fcc1cb247202a5e8e303a4e018ba9220ce171a9d40c4e66926baf8abec9d9b020004b996357ee21fe1772bf295c356c358d003040c2089ee
|
||||
EBUILD vkd3d-1.7.ebuild 955 BLAKE2B 6c07bfaf9fef56957b298efa120a79d4b20a5ab7da8af1ac5d47a8b12e2e08566c080c8fcb8498bd7dff3c1c70c2bd5e7bf4d8452cd019cc8441683716776fd6 SHA512 4ff642fb41072a96ed8f8571bf1effe3ba2628f08e3b957ca0d2da29143da2db42b60f0c42b55e6065588aa8c997d713d14530eaafaec63e92987fc5826930ab
|
||||
EBUILD vkd3d-1.7.ebuild 953 BLAKE2B 0e57f0cdb2b971e06df97e10df11d18d00ec517d809a72eb77352f621322767b69fb4601f4c9a22d326a0557cb6bc5c78ee9cd59dcdb130acf37e2b86820c207 SHA512 48082c3b522bbca92debe3121731623e8c5fbd8e302e23394250a4af77ddc1cdd917a72a3d732efe64fcaeb169930f755e632a4b2a2cefbd4f9112faa471bda6
|
||||
MISC metadata.xml 563 BLAKE2B c976a16a495bdb5863811acda56b2cc628683a63fc2a22c18d2a09775d3a38c845e00f83b97b318d9a0e5267bb470dd56d334dc9f43e3716784254802b8db60b SHA512 3d5afb7890b3b10ad424fcfe3fa2b42a9227ba0b82be8ab85308126966f476798818ee0ecc88c53105b218f465a72b213efe00968112431169884a4a6f48c6a8
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
|
||||
HOMEPAGE="https://wiki.winehq.org/Mono"
|
||||
SRC_URI="
|
||||
shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.tar.xz )
|
||||
!shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.msi )"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
|
||||
SLOT="${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+shared"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/wine/mono
|
||||
|
||||
if use shared; then
|
||||
doins -r ${P}
|
||||
else
|
||||
doins "${DISTDIR}"/${P}-x86.msi
|
||||
fi
|
||||
}
|
@ -1,11 +1,14 @@
|
||||
AUX README.gentoo 2365 BLAKE2B f8cef4abd8f97cd1e4b6594049fb698d8d2bd570968c433681bb5438f698ca2e0f90172ff45edd64b0ad3a0270b9043b8699ef657ebc6213b81206919a35c0b0 SHA512 543f27ee24e8e73c4decf48c35674f1833672004d62420eb1dd89bb00651a6ac2d86b3f9eb83f00d6ff0537802bfaa4b70c98a5845e3447d306d8ece33a60eae
|
||||
AUX README.gentoo 2365 BLAKE2B 2b86abd79b855ac916334cba56ed0c255e858d51c245db0fa90058b5a9cd51044ab6dbd118acadf134bd5f6bd48fc179dd68edc39333ba0b0c0cd88d5ec901b6 SHA512 94e70c27bd368052ac2479c396bd882696437b809a01a546e940a2c7d48ebb59564d1ec32d17bbf35b966b02ee74aa586cfcf89784574336e89cc36a6026a424
|
||||
AUX wine-proton-7.0.4-musl.patch 505 BLAKE2B 5c6d46c505e38c19e4c92e05243244739e6a2b84ebc548989167b65fe5ede439c628b510bce57ff8cd7ca765114c13dbb098116ba201ceba44069bf38daf5a64 SHA512 5e687119aa461e3440d3c7bbb2318db04ffbe414329931877b59a3f9752ee36e492bb25dda9b26c2f741664665487a34575423b24718e3f1b65f2d850c3681aa
|
||||
AUX wine-proton-7.0.4-noexecstack.patch 223 BLAKE2B dff1867e2977bd14fcfab9dfa2c2f1d3288f7edca75ddd7c9f02bfd06e9f63fac37bd59ea8aa891e13ab77bac35b369825d5490a9175ed9a7736e523b61d8944 SHA512 4ba3677042b693e513fc7a133c76a509f63d0ca20633d1e8d448bca9534c0d1a0fc58e77fa9b28fd8d936393605e97ee6e3bb5fac00872d6ac5808b7712586e3
|
||||
AUX wine-proton-7.0.4-restore-menubuilder.patch 572 BLAKE2B 7ace97fb82498d8f19297cab205d8b9ca07c5293172a0b017b5d887ec1f5daeb3ed64eb0a322904e528a72f4a225813c27b544015587d71fce97c41b6b1463a2 SHA512 1384f06d4264e22d332eb12fabd7408b8e250e39c195460f876460fe40d35d617c73100815c395f481e3af66676ccaa1a14592c05f1e5b092bfafe2f87112106
|
||||
AUX wine-proton-7.0.4-unwind.patch 1694 BLAKE2B 954cb0a395c3b45afc7a3f39f33d34cf041b9cf5a6c77d0a217d296c4c8d1f6503322c4f77188c4729b98318913b9bc86d37b7573713643590550297a0ae372a SHA512 f958e811a4754614bc9e7223f727e2c581c18607dccf14c6d7014012ff29107bd850540a40ff7a62e7bae6b87ae1ac28fd104fbbaf9ce954bf3acb38ddbeb7df
|
||||
AUX wine-proton-8.0.1c-unwind.patch 1488 BLAKE2B 1a6d69484fb36f94f32d74679e809cfd7666363bede5dddedd2449e07251823b1ce86a717e06d342eec782aff501f27bc23433511c163da0b2a50c411df7ac53 SHA512 82ff0510fcab35471aa0db8f32f48cd62dbf78b3f5f36e3d191b86be55cb476df1ee689e5cd53c95d4f02199b5900eb0c8a45959693739a6c35e4c8b3cfa243f
|
||||
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
|
||||
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
|
||||
DIST proton-wine-8.0-1c.tar.gz 48204851 BLAKE2B 5a746cf4d10e605ce30e93a5116e73c4ae893a6ccb105984afa3e65e0ec64780ca58462fe5fc89e51aef0499fdc52be9756254878d8f7f28160a1cf4ed0ee3a9 SHA512 67dbd73287409aaecd5cfab29f79ddf455bbbd25e79289c66828bd4f0fac3003e68afe3e65ea39e18e2390b825342a52285c4be1368928606628b72a274b5456
|
||||
EBUILD wine-proton-7.0.5.ebuild 10514 BLAKE2B 598b8593b601dbcc4d23c888cfe849f8fd62e225a718a0f9436748a673871900a58f119244766f706aa45c5d7373f691969f550ffb81cd0f01de475d01f817d1 SHA512 a61e86c1cf0d180512da2e07b4bdc029307d760dee138bb90d747852be92c1cd98a9552824a651e646d3322d810ae80f0dbcc8f72fb840c669b5a073cc167f62
|
||||
EBUILD wine-proton-7.0.6.ebuild 10515 BLAKE2B a825980f96c63d0710efc8fb670c0d29dc10ca8f59c27c932700751b8aed305a754e3e7c1b3c2d752b87cc63f53610a4230298366842dac9f04b4277f6758a36 SHA512 79cf374648ff540f2a8644191765ad10b34754a4ad9f6dd6ac0f0f3b4c70a23d956068c55450b05405d7919ba5c9a875749f53644c8b313b0e32229a26886147
|
||||
EBUILD wine-proton-7.0.9999.ebuild 10515 BLAKE2B a825980f96c63d0710efc8fb670c0d29dc10ca8f59c27c932700751b8aed305a754e3e7c1b3c2d752b87cc63f53610a4230298366842dac9f04b4277f6758a36 SHA512 79cf374648ff540f2a8644191765ad10b34754a4ad9f6dd6ac0f0f3b4c70a23d956068c55450b05405d7919ba5c9a875749f53644c8b313b0e32229a26886147
|
||||
EBUILD wine-proton-7.0.6.ebuild 10519 BLAKE2B 4f3009aa1c1bc54dfacc9a264b9ff411dc402c4964ffda280563626d757ba4fc56f83da1019b414a2590b3d9c159fccc656079786c7af16d2c35d8b7ce6ab0ab SHA512 ea934f2f71e7054bb52861453da351e81b7272aab09caf617162ca0f23aa90e6b0003daa5b9ec01caa735207f18d0cb75643b912b8d9209bbd0c141aa6716778
|
||||
EBUILD wine-proton-7.0.9999.ebuild 10519 BLAKE2B 4f3009aa1c1bc54dfacc9a264b9ff411dc402c4964ffda280563626d757ba4fc56f83da1019b414a2590b3d9c159fccc656079786c7af16d2c35d8b7ce6ab0ab SHA512 ea934f2f71e7054bb52861453da351e81b7272aab09caf617162ca0f23aa90e6b0003daa5b9ec01caa735207f18d0cb75643b912b8d9209bbd0c141aa6716778
|
||||
EBUILD wine-proton-8.0.1c.ebuild 10571 BLAKE2B 61318d905fc5fae990c115d14ff130cd49c34347d19c3c000889b5f6caab1a3b71295c3f2dbbeba9d316bcc1b6c1d22cbb2df8b5254868d37f53ee67967d8556 SHA512 5ef719ed250cb85a95072b0f9bbdb2c0daab41180a3a86aaab109ec66bb6aa1265a5bd97aeec3072704b2b95e1c30f5e152aa4e3f61d271794284e8c029e8ace
|
||||
MISC metadata.xml 1222 BLAKE2B 75e8a33a16e4d718c5299ae719cdd009e9ac6f0d2eafb112c9e38e7d860a51d7f4d5be14912c1c812718b36fd4d71a9d3ddf2c68f5a076fc71f5d47fab120736 SHA512 3fc770b9d6f1e7cb7cba7fc28f90d5f51ad431f38e757dcb47b03543985d0919e29b6648b8c3f6bb6e1c7b172bb164cde35e2fea24564e476088c1a91e6131c8
|
||||
|
@ -0,0 +1,36 @@
|
||||
Fix build with llvm-libunwind, and also fix for non-llvm libunwind
|
||||
when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
|
||||
its rtlib and expects it from llvm-libunwind.
|
||||
|
||||
The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
|
||||
--- a/dlls/ntdll/unix/dwarf.h
|
||||
+++ b/dlls/ntdll/unix/dwarf.h
|
||||
@@ -257,5 +257,7 @@
|
||||
};
|
||||
|
||||
+#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
|
||||
extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
|
||||
+#endif
|
||||
|
||||
static unsigned char dwarf_get_u1( const unsigned char **p )
|
||||
--- a/dlls/ntdll/unix/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/unix/signal_x86_64.c
|
||||
@@ -648,5 +648,5 @@
|
||||
int rc;
|
||||
|
||||
-#ifdef __APPLE__
|
||||
+#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
|
||||
rc = unw_getcontext( &unw_context );
|
||||
if (rc == UNW_ESUCCESS)
|
||||
@@ -774,4 +774,5 @@
|
||||
CONTEXT *context = params->context;
|
||||
struct dwarf_eh_bases bases;
|
||||
+#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
|
||||
const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
|
||||
|
||||
@@ -779,4 +780,5 @@
|
||||
return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
|
||||
&bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
|
||||
+#endif
|
||||
#ifdef HAVE_LIBUNWIND
|
||||
return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,
|
@ -0,0 +1,329 @@
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit autotools flag-o-matic multilib multilib-build python-any-r1
|
||||
inherit readme.gentoo-r1 toolchain-funcs wrapper
|
||||
|
||||
WINE_GECKO=2.47.3
|
||||
WINE_MONO=7.4.1
|
||||
WINE_PV=$(ver_rs 2 -)
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
|
||||
EGIT_BRANCH="experimental_$(ver_cut 1-2)"
|
||||
else
|
||||
SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-wine-${WINE_PV}"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Valve Software's fork of Wine"
|
||||
HOMEPAGE="https://github.com/ValveSoftware/wine/"
|
||||
|
||||
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
|
||||
SLOT="${PV}"
|
||||
IUSE="
|
||||
+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
|
||||
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
|
||||
perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb v4l
|
||||
+xcomposite xinerama"
|
||||
|
||||
# tests are non-trivial to run, can hang easily, don't play well with
|
||||
# sandbox, and several need real opengl/vulkan or network access
|
||||
RESTRICT="test"
|
||||
|
||||
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
|
||||
WINE_DLOPEN_DEPEND="
|
||||
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
|
||||
media-libs/freetype[${MULTILIB_USEDEP}]
|
||||
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
|
||||
media-libs/vulkan-loader[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrender[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||
ssl? (
|
||||
dev-libs/gmp:=[${MULTILIB_USEDEP}]
|
||||
net-libs/gnutls:=[${MULTILIB_USEDEP}]
|
||||
)
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
|
||||
WINE_COMMON_DEPEND="
|
||||
${WINE_DLOPEN_DEPEND}
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
unwind? (
|
||||
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
|
||||
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )"
|
||||
RDEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
|
||||
gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
|
||||
mono? ( app-emulation/wine-mono:${WINE_MONO} )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-LibXML
|
||||
)
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
sys-kernel/linux-headers
|
||||
x11-base/xorg-proto"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-lang/perl
|
||||
sys-devel/binutils
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )
|
||||
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
|
||||
IDEPEND=">=app-eselect/eselect-wine-2"
|
||||
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
__clear_cache # unused on amd64+x86 (bug #900332)
|
||||
res_getservers # false positive
|
||||
)
|
||||
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-7.0.4-musl.patch
|
||||
"${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
|
||||
"${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
|
||||
"${FILESDIR}"/${PN}-8.0.1c-unwind.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||
local mingw=-w64-mingw32
|
||||
for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
|
||||
if ! type -P ${mingw}-gcc >/dev/null; then
|
||||
eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
|
||||
eerror "yourself by installing sys-devel/crossdev then running:"
|
||||
eerror
|
||||
eerror " crossdev --target ${mingw}"
|
||||
eerror
|
||||
eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
eerror "--> Note that mingw builds are default for ${PN} even without this USE."
|
||||
die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# sanity check, bumping these has a history of oversights
|
||||
local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
|
||||
dlls/appwiz.cpl/addons.c || die)
|
||||
if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
|
||||
local gmfatal=
|
||||
[[ ${PV} == *9999 ]] && gmfatal=nonfatal
|
||||
${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
# ensure .desktop calls this variant + slot
|
||||
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
|
||||
|
||||
# similarly to staging, append to `wine --version` for identification
|
||||
sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
|
||||
|
||||
# always update for patches (including user's wrt #432348)
|
||||
eautoreconf
|
||||
tools/make_requests || die # perl
|
||||
dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
WINE_PREFIX=/usr/lib/${P}
|
||||
WINE_DATADIR=/usr/share/${P}
|
||||
|
||||
local conf=(
|
||||
--prefix="${EPREFIX}"${WINE_PREFIX}
|
||||
--datadir="${EPREFIX}"${WINE_DATADIR}
|
||||
--includedir="${EPREFIX}"/usr/include/${P}
|
||||
--libdir="${EPREFIX}"${WINE_PREFIX}
|
||||
--mandir="${EPREFIX}"${WINE_DATADIR}/man
|
||||
|
||||
# upstream (Valve) doesn't really support misc configurations (e.g.
|
||||
# adds vulkan code not always guarded by --with-vulkan), so force
|
||||
# some major options that are typically needed by games either way
|
||||
--with-freetype
|
||||
--with-mingw # needed by many, notably Blizzard titles
|
||||
--with-opengl
|
||||
--with-vulkan
|
||||
--with-x
|
||||
|
||||
# ...and disable most options unimportant for games and unused by
|
||||
# Proton rather than expose as volatile USEs with little support
|
||||
--without-capi
|
||||
--without-cups
|
||||
--without-gphoto
|
||||
--without-gssapi
|
||||
--without-krb5
|
||||
--without-netapi
|
||||
--without-opencl
|
||||
--without-pcap
|
||||
--without-sane
|
||||
ac_cv_lib_soname_odbc=
|
||||
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_enable mono mscoree)
|
||||
--disable-tests
|
||||
$(use_with alsa)
|
||||
$(use_with fontconfig)
|
||||
$(use_with gstreamer)
|
||||
$(use_with nls gettext)
|
||||
$(use_with osmesa)
|
||||
--without-oss # media-sound/oss is not packaged (OSSv4)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with sdl)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_with udev)
|
||||
$(use_with udisks dbus) # dbus is only used for udisks
|
||||
$(use_with unwind)
|
||||
$(use_with usb)
|
||||
$(use_with v4l v4l2)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
)
|
||||
|
||||
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
|
||||
filter-lto # build failure
|
||||
use custom-cflags || strip-flags # can break in obscure ways at runtime
|
||||
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||
|
||||
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
|
||||
# https://github.com/gentoo/gentoo/pull/28355
|
||||
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
|
||||
append-ldflags -fuse-ld=bfd
|
||||
|
||||
# build using upstream's way (--with-wine64)
|
||||
# order matters: configure+compile 64->32, install 32->64
|
||||
local -i bits
|
||||
for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
|
||||
(
|
||||
einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
|
||||
|
||||
mkdir ../build${bits} || die
|
||||
cd ../build${bits} || die
|
||||
|
||||
pe_arch=i386
|
||||
if (( bits == 64 )); then
|
||||
pe_arch=x86_64
|
||||
: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
|
||||
conf+=( --enable-win64 )
|
||||
elif use amd64; then
|
||||
conf+=(
|
||||
$(usev abi_x86_64 --with-wine64=../build64)
|
||||
TARGETFLAGS=-m32 # for widl
|
||||
)
|
||||
# _setup is optional, but use over Wine's auto-detect (+#472038)
|
||||
multilib_toolchain_setup x86
|
||||
fi
|
||||
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
|
||||
|
||||
# CROSSCC is no longer recognized by Wine, but still use for now
|
||||
# (future handling for CROSS* variables is subject to changes)
|
||||
conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
|
||||
|
||||
# use *FLAGS for mingw, but strip unsupported
|
||||
: "${CROSSCFLAGS:=$(
|
||||
# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
|
||||
append-cflags '-fno-strict-aliasing'
|
||||
filter-flags '-fstack-clash-protection' #758914
|
||||
filter-flags '-fstack-protector*' #870136
|
||||
filter-flags '-mfunction-return=thunk*' #878849
|
||||
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
|
||||
: "${CROSSLDFLAGS:=$(
|
||||
filter-flags '-fuse-ld=*'
|
||||
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
|
||||
export CROSS{C,LD}FLAGS
|
||||
|
||||
ECONF_SOURCE=${S} econf "${conf[@]}"
|
||||
)
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use abi_x86_64 && emake -C ../build64 # do first
|
||||
use abi_x86_32 && emake -C ../build32
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
|
||||
use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
|
||||
|
||||
# symlink for plain 'wine' and install its man pages if 64bit-only #404331
|
||||
if use abi_x86_64 && use !abi_x86_32; then
|
||||
dosym wine64 ${WINE_PREFIX}/bin/wine
|
||||
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
|
||||
local man
|
||||
for man in ../build64/loader/wine.*man; do
|
||||
: "${man##*/wine}"
|
||||
: "${_%.*}"
|
||||
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
|
||||
newins ${man} wine.1
|
||||
done
|
||||
fi
|
||||
|
||||
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
|
||||
"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
|
||||
|
||||
# create variant wrappers for eselect-wine
|
||||
local bin
|
||||
for bin in "${ED}"${WINE_PREFIX}/bin/*; do
|
||||
make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
|
||||
done
|
||||
|
||||
# don't let portage try to strip PE files with the wrong
|
||||
# strip executable and instead handle it here (saves ~120MB)
|
||||
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
|
||||
use debug ||
|
||||
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
|
||||
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
|
||||
|
||||
dodoc ANNOUNCE AUTHORS README* documentation/README*
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
|
||||
|
||||
eselect wine update --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect wine update --if-unset || die
|
||||
}
|
@ -0,0 +1,369 @@
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
inherit autotools edo flag-o-matic multilib multilib-build
|
||||
inherit python-any-r1 toolchain-funcs wrapper
|
||||
|
||||
WINE_GECKO=2.47.4
|
||||
WINE_MONO=7.4.0
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git"
|
||||
WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
|
||||
else
|
||||
(( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
|
||||
SRC_URI="
|
||||
https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-$(ver_cut 1-2).tar.xz
|
||||
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
S="${WORKDIR}/wine-$(ver_cut 1-2)"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
|
||||
HOMEPAGE="https://wiki.winehq.org/Wine-Staging"
|
||||
|
||||
LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
|
||||
SLOT="${PV}"
|
||||
IUSE="
|
||||
+X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
|
||||
llvm-libunwind debug custom-cflags +fontconfig +gecko gphoto2
|
||||
+gstreamer kerberos +mingw +mono netapi nls opencl +opengl osmesa
|
||||
pcap perl pulseaudio samba scanner +sdl selinux smartcard +ssl
|
||||
+truetype udev udisks +unwind usb v4l +vulkan wayland +xcomposite
|
||||
xinerama"
|
||||
REQUIRED_USE="
|
||||
X? ( truetype )
|
||||
crossdev-mingw? ( mingw )" # bug #551124 for truetype
|
||||
|
||||
# tests are non-trivial to run, can hang easily, don't play well with
|
||||
# sandbox, and several need real opengl/vulkan or network access
|
||||
RESTRICT="test"
|
||||
|
||||
# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
|
||||
WINE_DLOPEN_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrender[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
opengl? (
|
||||
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
)
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
cups? ( net-print/cups[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
|
||||
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
|
||||
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )"
|
||||
WINE_COMMON_DEPEND="
|
||||
${WINE_DLOPEN_DEPEND}
|
||||
X? (
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
|
||||
smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
unwind? (
|
||||
llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
|
||||
!llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
|
||||
wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )"
|
||||
RDEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
dos? ( games-emulation/dosbox )
|
||||
gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
|
||||
gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
|
||||
mono? ( app-emulation/wine-mono:${WINE_MONO} )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-LibXML
|
||||
)
|
||||
samba? ( net-fs/samba[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="
|
||||
${WINE_COMMON_DEPEND}
|
||||
sys-kernel/linux-headers
|
||||
X? ( x11-base/xorg-proto )"
|
||||
# gitapply.sh prefers git but can fallback to patch+extras
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
|| (
|
||||
dev-vcs/git
|
||||
(
|
||||
sys-apps/gawk
|
||||
sys-apps/util-linux
|
||||
)
|
||||
)
|
||||
dev-lang/perl
|
||||
sys-devel/binutils
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
mingw? ( !crossdev-mingw? (
|
||||
>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
|
||||
) )
|
||||
nls? ( sys-devel/gettext )"
|
||||
IDEPEND=">=app-eselect/eselect-wine-2"
|
||||
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
__clear_cache # unused on amd64+x86 (bug #900334)
|
||||
res_getservers # false positive
|
||||
)
|
||||
QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
|
||||
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-7.17-noexecstack.patch
|
||||
"${FILESDIR}"/${PN}-7.20-unwind.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
|
||||
if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
|
||||
local mingw=-w64-mingw32
|
||||
for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
|
||||
if ! type -P ${mingw}-gcc >/dev/null; then
|
||||
eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
|
||||
eerror "yourself by installing sys-devel/crossdev then running:"
|
||||
eerror
|
||||
eerror " crossdev --target ${mingw}"
|
||||
eerror
|
||||
eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
|
||||
git-r3_src_unpack
|
||||
|
||||
EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
|
||||
EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
|
||||
EGIT_CHECKOUT_DIR=${S}
|
||||
einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
|
||||
git-r3_src_unpack
|
||||
else
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patchinstallargs=(
|
||||
--all
|
||||
--no-autoconf
|
||||
-W winemenubuilder-Desktop_Icon_Path #652176
|
||||
${MY_WINE_STAGING_CONF}
|
||||
)
|
||||
|
||||
edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
|
||||
|
||||
# sanity check, bumping these has a history of oversights
|
||||
local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
|
||||
dlls/appwiz.cpl/addons.c || die)
|
||||
if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
|
||||
local gmfatal=
|
||||
[[ ${PV} == *9999 ]] && gmfatal=nonfatal
|
||||
${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
# ensure .desktop calls this variant + slot
|
||||
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
|
||||
|
||||
# always update for patches (including user's wrt #432348)
|
||||
eautoreconf
|
||||
tools/make_requests || die # perl
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
WINE_PREFIX=/usr/lib/${P}
|
||||
WINE_DATADIR=/usr/share/${P}
|
||||
|
||||
local conf=(
|
||||
--prefix="${EPREFIX}"${WINE_PREFIX}
|
||||
--datadir="${EPREFIX}"${WINE_DATADIR}
|
||||
--includedir="${EPREFIX}"/usr/include/${P}
|
||||
--libdir="${EPREFIX}"${WINE_PREFIX}
|
||||
--mandir="${EPREFIX}"${WINE_DATADIR}/man
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_enable mono mscoree)
|
||||
--disable-tests
|
||||
$(use_with X x)
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with cups)
|
||||
$(use_with fontconfig)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gstreamer)
|
||||
$(use_with kerberos gssapi)
|
||||
$(use_with kerberos krb5)
|
||||
$(use_with mingw)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
--without-oss # media-sound/oss is not packaged (OSSv4)
|
||||
$(use_with pcap)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with scanner sane)
|
||||
$(use_with sdl)
|
||||
$(use_with smartcard pcsclite)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with udisks dbus) # dbus is only used for udisks
|
||||
$(use_with unwind)
|
||||
$(use_with usb)
|
||||
$(use_with v4l v4l2)
|
||||
$(use_with vulkan)
|
||||
$(use_with wayland)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
)
|
||||
|
||||
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
|
||||
filter-lto # build failure
|
||||
use mingw || filter-flags -fno-plt # build failure
|
||||
use custom-cflags || strip-flags # can break in obscure ways at runtime
|
||||
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
|
||||
|
||||
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
|
||||
# https://github.com/gentoo/gentoo/pull/28355
|
||||
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
|
||||
append-ldflags -fuse-ld=bfd
|
||||
|
||||
# build using upstream's way (--with-wine64)
|
||||
# order matters: configure+compile 64->32, install 32->64
|
||||
local -i bits
|
||||
for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
|
||||
(
|
||||
einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
|
||||
|
||||
mkdir ../build${bits} || die
|
||||
cd ../build${bits} || die
|
||||
|
||||
pe_arch=i386
|
||||
if (( bits == 64 )); then
|
||||
pe_arch=x86_64
|
||||
: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
|
||||
conf+=( --enable-win64 )
|
||||
elif use amd64; then
|
||||
conf+=(
|
||||
$(usev abi_x86_64 --with-wine64=../build64)
|
||||
TARGETFLAGS=-m32 # for widl
|
||||
)
|
||||
# _setup is optional, but use over Wine's auto-detect (+#472038)
|
||||
multilib_toolchain_setup x86
|
||||
fi
|
||||
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
|
||||
|
||||
if use mingw; then
|
||||
# CROSSCC is no longer recognized by Wine, but still use for now
|
||||
# (future handling for CROSS* variables is subject to changes)
|
||||
conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
|
||||
|
||||
# use *FLAGS for mingw, but strip unsupported
|
||||
: "${CROSSCFLAGS:=$(
|
||||
# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
|
||||
append-cflags '-fno-strict-aliasing'
|
||||
filter-flags '-fstack-clash-protection' #758914
|
||||
filter-flags '-fstack-protector*' #870136
|
||||
filter-flags '-mfunction-return=thunk*' #878849
|
||||
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
|
||||
: "${CROSSLDFLAGS:=$(
|
||||
filter-flags '-fuse-ld=*'
|
||||
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
|
||||
export CROSS{C,LD}FLAGS
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} econf "${conf[@]}"
|
||||
)
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use abi_x86_64 && emake -C ../build64 # do first
|
||||
use abi_x86_32 && emake -C ../build32
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
|
||||
use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
|
||||
|
||||
# symlink for plain 'wine' and install its man pages if 64bit-only #404331
|
||||
if use abi_x86_64 && use !abi_x86_32; then
|
||||
dosym wine64 ${WINE_PREFIX}/bin/wine
|
||||
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
|
||||
local man
|
||||
for man in ../build64/loader/wine.*man; do
|
||||
: "${man##*/wine}"
|
||||
: "${_%.*}"
|
||||
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
|
||||
newins ${man} wine.1
|
||||
done
|
||||
fi
|
||||
|
||||
use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
|
||||
"${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
|
||||
|
||||
# create variant wrappers for eselect-wine
|
||||
local bin
|
||||
for bin in "${ED}"${WINE_PREFIX}/bin/*; do
|
||||
make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
|
||||
done
|
||||
|
||||
# don't let portage try to strip PE files with the wrong
|
||||
# strip executable and instead handle it here (saves ~120MB)
|
||||
if use mingw; then
|
||||
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
|
||||
use debug ||
|
||||
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
|
||||
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
|
||||
fi
|
||||
|
||||
dodoc ANNOUNCE AUTHORS README* documentation/README*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine update --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect wine update --if-unset || die
|
||||
}
|
@ -0,0 +1,541 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..10} )
|
||||
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
REPO="xen.git"
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
else
|
||||
KEYWORDS="amd64 ~arm ~arm64 x86"
|
||||
|
||||
SEABIOS_VER="1.16.0"
|
||||
EDK2_COMMIT="7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5"
|
||||
EDK2_OPENSSL_VERSION="1_1_1j"
|
||||
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
|
||||
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
|
||||
|
||||
XEN_GENTOO_PATCHSET_NUM=2
|
||||
XEN_GENTOO_PATCHSET_BASE=4.15.3
|
||||
XEN_PRE_PATCHSET_NUM=0
|
||||
XEN_PRE_VERSION_BASE=4.15.4
|
||||
|
||||
XEN_BASE_PV="${PV}"
|
||||
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
|
||||
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
|
||||
fi
|
||||
if [[ -z "${XEN_GENTOO_PATCHSET_BASE}" ]]; then
|
||||
XEN_GENTOO_PATCHSET_BASE="${XEN_BASE_PV}"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
|
||||
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
|
||||
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
|
||||
)
|
||||
"
|
||||
|
||||
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
|
||||
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
|
||||
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
|
||||
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
|
||||
fi
|
||||
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
|
||||
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
|
||||
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
|
||||
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="Xen tools including QEMU and xl"
|
||||
HOMEPAGE="https://xenproject.org"
|
||||
DOCS=( README )
|
||||
|
||||
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
ipxe? ( rombios )
|
||||
ovmf? ( hvm )
|
||||
pygrub? ( python )
|
||||
rombios? ( hvm )
|
||||
system-ipxe? ( rombios )
|
||||
?? ( ipxe system-ipxe )
|
||||
?? ( qemu system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
lzma? ( app-arch/xz-utils )
|
||||
qemu? (
|
||||
dev-libs/glib:2
|
||||
sys-libs/pam
|
||||
)
|
||||
app-arch/bzip2
|
||||
dev-libs/libnl:3
|
||||
dev-libs/lzo:2
|
||||
dev-libs/yajl
|
||||
sys-apps/util-linux
|
||||
sys-fs/e2fsprogs
|
||||
sys-libs/ncurses
|
||||
sys-libs/zlib
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2[-minimal]
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)
|
||||
selinux? ( sec-policy/selinux-xen )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-misc/pax-utils
|
||||
>=sys-kernel/linux-headers-4.11
|
||||
x11-libs/pixman
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
x86? ( sys-devel/dev86
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
sys-power/iasl )
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
|
||||
ovmf? (
|
||||
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||
$(python_gen_impl_dep sqlite)
|
||||
)
|
||||
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||
amd64? ( sys-power/iasl
|
||||
system-seabios? (
|
||||
|| (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/seabios-bin
|
||||
)
|
||||
)
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
arm64? ( sys-power/iasl
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
doc? (
|
||||
app-text/ghostscript-gpl
|
||||
app-text/pandoc
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-texlive/texlive-latexextra
|
||||
media-gfx/transfig
|
||||
)
|
||||
hvm? ( x11-base/xorg-proto )
|
||||
qemu? (
|
||||
app-arch/snappy:=
|
||||
dev-util/meson
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/libsdl2[X]
|
||||
)
|
||||
)
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
dev-lang/ocaml[ocamlopt] )
|
||||
python? ( >=dev-lang/swig-4.0.0 )"
|
||||
|
||||
BDEPEND="dev-lang/perl
|
||||
sys-devel/bison
|
||||
sys-devel/gettext"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="
|
||||
usr/libexec/xen/boot/hvmloader
|
||||
usr/libexec/xen/boot/ovmf.bin
|
||||
usr/libexec/xen/boot/xen-shim
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_EXECSTACK="
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/libexec/xen/bin/elf2dmp
|
||||
usr/libexec/xen/bin/ivshmem-client
|
||||
usr/libexec/xen/bin/ivshmem-server
|
||||
usr/libexec/xen/bin/qemu-edid
|
||||
usr/libexec/xen/bin/qemu-img
|
||||
usr/libexec/xen/bin/qemu-io
|
||||
usr/libexec/xen/bin/qemu-keymap
|
||||
usr/libexec/xen/bin/qemu-nbd
|
||||
usr/libexec/xen/bin/qemu-pr-helper
|
||||
usr/libexec/xen/bin/qemu-storage-daemon
|
||||
usr/libexec/xen/bin/qemu-system-i386
|
||||
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||
usr/libexec/xen/boot/ovmf.bin
|
||||
usr/libexec/xen/boot/xen-shim
|
||||
usr/libexec/xen/libexec/qemu-pr-helper
|
||||
usr/libexec/xen/libexec/virtfs-proxy-helper
|
||||
usr/libexec/xen/libexec/virtiofsd
|
||||
usr/libexec/xen/libexec/xen-bridge-helper
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
|
||||
# collisions with app-emulation/qemu.
|
||||
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
|
||||
tools/qemu-xen/include/net/net.h \
|
||||
tools/qemu-xen/Makefile \
|
||||
tools/qemu-xen/qemu-bridge-helper.c \
|
||||
tools/qemu-xen/qemu-options.hx \
|
||||
|| die
|
||||
|
||||
if use ovmf; then
|
||||
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||
|
||||
# Bug #816987
|
||||
pushd tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli > /dev/null
|
||||
eapply "${FILESDIR}/${PN}-4.15.1-brotli-gcc11.patch"
|
||||
popd > /dev/null
|
||||
|
||||
pushd tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli > /dev/null
|
||||
eapply "${FILESDIR}/${PN}-4.15.1-brotli-gcc11.patch"
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
# ipxe
|
||||
if use ipxe; then
|
||||
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
|
||||
|
||||
# gcc 11
|
||||
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
|
||||
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
|
||||
fi
|
||||
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# drop flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
if use sdl; then
|
||||
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||
tools/Makefile || die
|
||||
else
|
||||
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||
tools/qemu-xen-traditional/xen-setup || die
|
||||
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||
tools/Makefile || die
|
||||
fi
|
||||
else
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
|
||||
-i config/Paths.mk.in || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# fix bashishm
|
||||
sed -e '/Usage/s/\$//g' \
|
||||
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# disable capstone (Bug #673474)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable glusterfs
|
||||
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable jpeg automagic
|
||||
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable png automagic
|
||||
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable docker (Bug #732970)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable abi-dumper (Bug #791172)
|
||||
sed -e 's/$(ABI_DUMPER) /echo /g' \
|
||||
-i tools/libs/libs.mk || die
|
||||
|
||||
# Remove -Werror
|
||||
find . -type f \( -name Makefile -o -name "*.mk" \) \
|
||||
-exec sed -i \
|
||||
-e 's/-Werror //g' \
|
||||
-e '/^CFLAGS *+= -Werror$/d' \
|
||||
-e 's/, "-Werror"//' \
|
||||
{} + || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
--libexecdir="${EPREFIX}/usr/libexec"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--disable-golang
|
||||
--disable-werror
|
||||
--disable-xen
|
||||
--enable-tools
|
||||
--enable-docs
|
||||
$(use_enable api xenapi)
|
||||
$(use_enable ipxe)
|
||||
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
|
||||
$(use_enable ocaml ocamltools)
|
||||
$(use_enable ovmf)
|
||||
$(use_enable rombios)
|
||||
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
|
||||
)
|
||||
|
||||
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
|
||||
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
|
||||
use amd64 && myconf+=( $(use_enable qemu-traditional) )
|
||||
tc-ld-disable-gold # Bug 669570
|
||||
econf ${myconf[@]}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
# bug #845099
|
||||
if use ipxe; then
|
||||
local -x NO_WERROR=1
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
|
||||
|
||||
if use doc; then
|
||||
emake -C docs build
|
||||
else
|
||||
emake -C docs man-pages
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Created at runtime
|
||||
rm -rv "${ED}/var/run" || die
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
dodoc -r docs/{pdf,txt}
|
||||
else
|
||||
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||
fi
|
||||
dodoc ${DOCS[@]}
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
|
||||
keepdir /var/lib/xen/dump
|
||||
keepdir /var/lib/xen/xenpaging
|
||||
keepdir /var/lib/xenstored
|
||||
keepdir /var/log/xen
|
||||
|
||||
if use python; then
|
||||
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
|
||||
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
|
||||
fi
|
||||
|
||||
python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "https://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config system at boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
if ! use hvm; then
|
||||
echo
|
||||
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||
elog "support enable the hvm use flag."
|
||||
elog "An x86 or amd64 system is required to build HVM support."
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||
fi
|
||||
}
|
@ -0,0 +1,532 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
REPO="xen.git"
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
|
||||
SEABIOS_VER="1.16.0"
|
||||
EDK2_COMMIT="7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5"
|
||||
EDK2_OPENSSL_VERSION="1_1_1j"
|
||||
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
|
||||
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
|
||||
|
||||
XEN_GENTOO_PATCHSET_NUM=2
|
||||
XEN_GENTOO_PATCHSET_BASE=4.16.1
|
||||
XEN_PRE_PATCHSET_NUM=0
|
||||
XEN_PRE_VERSION_BASE=4.16.3
|
||||
|
||||
XEN_BASE_PV="${PV}"
|
||||
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
|
||||
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
|
||||
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
|
||||
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
|
||||
)
|
||||
"
|
||||
|
||||
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
|
||||
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
|
||||
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
|
||||
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
|
||||
fi
|
||||
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
|
||||
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
|
||||
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
|
||||
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="Xen tools including QEMU and xl"
|
||||
HOMEPAGE="https://xenproject.org"
|
||||
DOCS=( README )
|
||||
|
||||
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
ipxe? ( rombios )
|
||||
ovmf? ( hvm )
|
||||
pygrub? ( python )
|
||||
rombios? ( hvm )
|
||||
system-ipxe? ( rombios )
|
||||
?? ( ipxe system-ipxe )
|
||||
?? ( qemu system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
lzma? ( app-arch/xz-utils )
|
||||
qemu? (
|
||||
dev-libs/glib:2
|
||||
sys-libs/pam
|
||||
)
|
||||
zstd? ( app-arch/zstd )
|
||||
app-arch/bzip2
|
||||
app-arch/zstd
|
||||
dev-libs/libnl:3
|
||||
dev-libs/lzo:2
|
||||
dev-libs/yajl
|
||||
sys-apps/util-linux
|
||||
sys-fs/e2fsprogs
|
||||
sys-libs/ncurses
|
||||
sys-libs/zlib
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2[-minimal]
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)
|
||||
selinux? ( sec-policy/selinux-xen )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-misc/pax-utils
|
||||
>=sys-kernel/linux-headers-4.11
|
||||
x11-libs/pixman
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
x86? ( sys-devel/dev86
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
sys-power/iasl )
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
|
||||
ovmf? (
|
||||
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||
$(python_gen_impl_dep sqlite)
|
||||
)
|
||||
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||
amd64? ( sys-power/iasl
|
||||
system-seabios? (
|
||||
|| (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/seabios-bin
|
||||
)
|
||||
)
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
arm64? ( sys-power/iasl
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
doc? (
|
||||
app-text/ghostscript-gpl
|
||||
app-text/pandoc
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-texlive/texlive-latexextra
|
||||
media-gfx/transfig
|
||||
)
|
||||
hvm? ( x11-base/xorg-proto )
|
||||
qemu? (
|
||||
app-arch/snappy:=
|
||||
dev-util/meson
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/libsdl2[X]
|
||||
)
|
||||
)
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
dev-lang/ocaml[ocamlopt] )
|
||||
python? ( >=dev-lang/swig-4.0.0 )"
|
||||
|
||||
BDEPEND="dev-lang/perl
|
||||
sys-devel/bison
|
||||
sys-devel/gettext"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="
|
||||
usr/libexec/xen/boot/hvmloader
|
||||
usr/libexec/xen/boot/ovmf.bin
|
||||
usr/libexec/xen/boot/xen-shim
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_EXECSTACK="
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/libexec/xen/bin/elf2dmp
|
||||
usr/libexec/xen/bin/ivshmem-client
|
||||
usr/libexec/xen/bin/ivshmem-server
|
||||
usr/libexec/xen/bin/qemu-edid
|
||||
usr/libexec/xen/bin/qemu-img
|
||||
usr/libexec/xen/bin/qemu-io
|
||||
usr/libexec/xen/bin/qemu-keymap
|
||||
usr/libexec/xen/bin/qemu-nbd
|
||||
usr/libexec/xen/bin/qemu-pr-helper
|
||||
usr/libexec/xen/bin/qemu-storage-daemon
|
||||
usr/libexec/xen/bin/qemu-system-i386
|
||||
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||
usr/libexec/xen/boot/ovmf.bin
|
||||
usr/libexec/xen/boot/xen-shim
|
||||
usr/libexec/xen/libexec/qemu-pr-helper
|
||||
usr/libexec/xen/libexec/virtfs-proxy-helper
|
||||
usr/libexec/xen/libexec/virtiofsd
|
||||
usr/libexec/xen/libexec/xen-bridge-helper
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
|
||||
# collisions with app-emulation/qemu.
|
||||
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
|
||||
tools/qemu-xen/include/net/net.h \
|
||||
tools/qemu-xen/meson.build \
|
||||
tools/qemu-xen/qemu-bridge-helper.c \
|
||||
tools/qemu-xen/qemu-options.hx \
|
||||
|| die
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
if use ovmf; then
|
||||
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||
|
||||
# Bug #816987
|
||||
pushd tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli > /dev/null
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}/ovmf/${PN}-4.15.1-brotli-gcc11.patch"
|
||||
popd > /dev/null
|
||||
|
||||
pushd tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli > /dev/null
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}/ovmf/${PN}-4.15.1-brotli-gcc11.patch"
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
# ipxe
|
||||
if use ipxe; then
|
||||
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
|
||||
|
||||
# gcc 11
|
||||
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
|
||||
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
|
||||
fi
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# drop flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
if use sdl; then
|
||||
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||
tools/Makefile || die
|
||||
else
|
||||
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||
tools/qemu-xen-traditional/xen-setup || die
|
||||
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||
tools/Makefile || die
|
||||
fi
|
||||
else
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
|
||||
-i config/Paths.mk.in || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# fix bashishm
|
||||
sed -e '/Usage/s/\$//g' \
|
||||
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# disable capstone (Bug #673474)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable glusterfs
|
||||
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable jpeg automagic
|
||||
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable png automagic
|
||||
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable docker (Bug #732970)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable abi-dumper (Bug #791172)
|
||||
sed -e 's/$(ABI_DUMPER) /echo /g' \
|
||||
-i tools/libs/libs.mk || die
|
||||
|
||||
# Remove -Werror
|
||||
find . -type f \( -name Makefile -o -name "*.mk" \) \
|
||||
-exec sed -i \
|
||||
-e 's/-Werror //g' \
|
||||
-e '/^CFLAGS *+= -Werror$/d' \
|
||||
-e 's/, "-Werror"//' \
|
||||
{} + || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
--libexecdir="${EPREFIX}/usr/libexec"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--disable-golang
|
||||
--disable-werror
|
||||
--disable-xen
|
||||
--enable-tools
|
||||
--enable-docs
|
||||
$(use_enable api xenapi)
|
||||
$(use_enable ipxe)
|
||||
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
|
||||
$(use_enable ocaml ocamltools)
|
||||
$(use_enable ovmf)
|
||||
$(use_enable rombios)
|
||||
$(use_enable systemd)
|
||||
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
|
||||
)
|
||||
|
||||
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
|
||||
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
|
||||
use amd64 && myconf+=( $(use_enable qemu-traditional) )
|
||||
tc-ld-disable-gold # Bug 669570
|
||||
econf ${myconf[@]}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
# bug #845099
|
||||
if use ipxe; then
|
||||
local -x NO_WERROR=1
|
||||
fi
|
||||
|
||||
emake \
|
||||
HOSTCC="$(tc-getBUILD_CC)" \
|
||||
HOSTCXX="$(tc-getBUILD_CXX)" \
|
||||
CC="$(tc-getCC)" \
|
||||
CXX="$(tc-getCXX)" \
|
||||
LD="$(tc-getLD)" \
|
||||
AR="$(tc-getAR)" \
|
||||
OBJDUMP="$(tc-getOBJDUMP)" \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
build-tools ${myopt}
|
||||
|
||||
if use doc; then
|
||||
emake -C docs build
|
||||
else
|
||||
emake -C docs man-pages
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Created at runtime
|
||||
rm -rv "${ED}/var/run" || die
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
dodoc -r docs/{pdf,txt}
|
||||
else
|
||||
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||
fi
|
||||
dodoc ${DOCS[@]}
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
|
||||
keepdir /var/lib/xen/dump
|
||||
keepdir /var/lib/xen/xenpaging
|
||||
keepdir /var/lib/xenstored
|
||||
keepdir /var/log/xen
|
||||
|
||||
if use python; then
|
||||
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
|
||||
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
|
||||
fi
|
||||
|
||||
python_optimize
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -0,0 +1,533 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
REPO="xen.git"
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
|
||||
SEABIOS_VER="1.16.0"
|
||||
EDK2_COMMIT="7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5"
|
||||
EDK2_OPENSSL_VERSION="1_1_1j"
|
||||
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
|
||||
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
|
||||
|
||||
XEN_GENTOO_PATCHSET_NUM=0
|
||||
XEN_GENTOO_PATCHSET_BASE=4.17.0
|
||||
XEN_PRE_PATCHSET_NUM=0
|
||||
XEN_PRE_VERSION_BASE=4.17.0
|
||||
|
||||
XEN_BASE_PV="${PV}"
|
||||
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
|
||||
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
|
||||
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
|
||||
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
|
||||
)
|
||||
"
|
||||
|
||||
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
|
||||
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
|
||||
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
|
||||
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
|
||||
fi
|
||||
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
|
||||
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
|
||||
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
|
||||
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="Xen tools including QEMU and xl"
|
||||
HOMEPAGE="https://xenproject.org"
|
||||
DOCS=( README )
|
||||
|
||||
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
ipxe? ( rombios )
|
||||
ovmf? ( hvm )
|
||||
pygrub? ( python )
|
||||
rombios? ( hvm )
|
||||
system-ipxe? ( rombios )
|
||||
?? ( ipxe system-ipxe )
|
||||
?? ( qemu system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
lzma? ( app-arch/xz-utils )
|
||||
qemu? (
|
||||
dev-libs/glib:2
|
||||
sys-libs/pam
|
||||
)
|
||||
zstd? ( app-arch/zstd )
|
||||
app-arch/bzip2
|
||||
app-arch/zstd
|
||||
dev-libs/libnl:3
|
||||
dev-libs/lzo:2
|
||||
dev-libs/yajl
|
||||
sys-apps/util-linux
|
||||
sys-fs/e2fsprogs
|
||||
sys-libs/ncurses
|
||||
sys-libs/zlib
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2[-minimal]
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)
|
||||
selinux? ( sec-policy/selinux-xen )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-misc/pax-utils
|
||||
>=sys-kernel/linux-headers-4.11
|
||||
x11-libs/pixman
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
x86? ( sys-devel/dev86
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
sys-power/iasl )
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
|
||||
ovmf? (
|
||||
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||
$(python_gen_impl_dep sqlite)
|
||||
)
|
||||
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||
amd64? ( sys-power/iasl
|
||||
system-seabios? (
|
||||
|| (
|
||||
sys-firmware/seabios
|
||||
sys-firmware/seabios-bin
|
||||
)
|
||||
)
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
arm64? ( sys-power/iasl
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
doc? (
|
||||
app-text/ghostscript-gpl
|
||||
app-text/pandoc
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-texlive/texlive-latexextra
|
||||
media-gfx/transfig
|
||||
)
|
||||
hvm? ( x11-base/xorg-proto )
|
||||
qemu? (
|
||||
app-arch/snappy:=
|
||||
dev-util/meson
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/libsdl2[X]
|
||||
)
|
||||
)
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
dev-lang/ocaml[ocamlopt] )
|
||||
python? ( >=dev-lang/swig-4.0.0 )"
|
||||
|
||||
BDEPEND="dev-lang/perl
|
||||
sys-devel/bison
|
||||
sys-devel/gettext"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="
|
||||
usr/libexec/xen/boot/hvmloader
|
||||
usr/libexec/xen/boot/ovmf.bin
|
||||
usr/libexec/xen/boot/xen-shim
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_EXECSTACK="
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/libexec/xen/bin/elf2dmp
|
||||
usr/libexec/xen/bin/ivshmem-client
|
||||
usr/libexec/xen/bin/ivshmem-server
|
||||
usr/libexec/xen/bin/qemu-edid
|
||||
usr/libexec/xen/bin/qemu-img
|
||||
usr/libexec/xen/bin/qemu-io
|
||||
usr/libexec/xen/bin/qemu-keymap
|
||||
usr/libexec/xen/bin/qemu-nbd
|
||||
usr/libexec/xen/bin/qemu-pr-helper
|
||||
usr/libexec/xen/bin/qemu-storage-daemon
|
||||
usr/libexec/xen/bin/qemu-system-i386
|
||||
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||
usr/libexec/xen/boot/ovmf.bin
|
||||
usr/libexec/xen/boot/xen-shim
|
||||
usr/libexec/xen/libexec/qemu-pr-helper
|
||||
usr/libexec/xen/libexec/virtfs-proxy-helper
|
||||
usr/libexec/xen/libexec/virtiofsd
|
||||
usr/libexec/xen/libexec/xen-bridge-helper
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
|
||||
# collisions with app-emulation/qemu.
|
||||
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
|
||||
tools/qemu-xen/include/net/net.h \
|
||||
tools/qemu-xen/meson.build \
|
||||
tools/qemu-xen/qemu-bridge-helper.c \
|
||||
tools/qemu-xen/qemu-options.hx \
|
||||
|| die
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
if use ovmf; then
|
||||
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||
|
||||
# Bug #816987
|
||||
pushd tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli > /dev/null
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}/ovmf/${PN}-4.15.1-brotli-gcc11.patch"
|
||||
popd > /dev/null
|
||||
|
||||
pushd tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli > /dev/null
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}/ovmf/${PN}-4.15.1-brotli-gcc11.patch"
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
# ipxe
|
||||
if use ipxe; then
|
||||
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
|
||||
|
||||
# gcc 11
|
||||
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
|
||||
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
|
||||
fi
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# drop flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
if use sdl; then
|
||||
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||
tools/Makefile || die
|
||||
else
|
||||
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||
tools/qemu-xen-traditional/xen-setup || die
|
||||
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||
tools/Makefile || die
|
||||
fi
|
||||
else
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
|
||||
-i config/Paths.mk.in || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# fix bashishm
|
||||
sed -e '/Usage/s/\$//g' \
|
||||
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# disable capstone (Bug #673474)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable glusterfs
|
||||
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable jpeg automagic
|
||||
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable png automagic
|
||||
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable docker (Bug #732970)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable abi-dumper (Bug #791172)
|
||||
sed -e 's/$(ABI_DUMPER) /echo /g' \
|
||||
-i tools/libs/libs.mk || die
|
||||
|
||||
# Remove -Werror
|
||||
find . -type f \( -name Makefile -o -name "*.mk" \) \
|
||||
-exec sed -i \
|
||||
-e 's/-Werror //g' \
|
||||
-e '/^CFLAGS *+= -Werror$/d' \
|
||||
-e 's/, "-Werror"//' \
|
||||
{} + || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
--libexecdir="${EPREFIX}/usr/libexec"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--disable-golang
|
||||
--disable-pvshim
|
||||
--disable-werror
|
||||
--disable-xen
|
||||
--enable-tools
|
||||
--enable-docs
|
||||
$(use_enable api xenapi)
|
||||
$(use_enable ipxe)
|
||||
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
|
||||
$(use_enable ocaml ocamltools)
|
||||
$(use_enable ovmf)
|
||||
$(use_enable rombios)
|
||||
$(use_enable systemd)
|
||||
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
|
||||
)
|
||||
|
||||
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
|
||||
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
|
||||
use amd64 && myconf+=( $(use_enable qemu-traditional) )
|
||||
tc-ld-disable-gold # Bug 669570
|
||||
econf ${myconf[@]}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
# bug #845099
|
||||
if use ipxe; then
|
||||
local -x NO_WERROR=1
|
||||
fi
|
||||
|
||||
emake \
|
||||
HOSTCC="$(tc-getBUILD_CC)" \
|
||||
HOSTCXX="$(tc-getBUILD_CXX)" \
|
||||
CC="$(tc-getCC)" \
|
||||
CXX="$(tc-getCXX)" \
|
||||
LD="$(tc-getLD)" \
|
||||
AR="$(tc-getAR)" \
|
||||
OBJDUMP="$(tc-getOBJDUMP)" \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
build-tools ${myopt}
|
||||
|
||||
if use doc; then
|
||||
emake -C docs build
|
||||
else
|
||||
emake -C docs man-pages
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Created at runtime
|
||||
rm -rv "${ED}/var/run" || die
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
dodoc -r docs/{pdf,txt}
|
||||
else
|
||||
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||
fi
|
||||
dodoc ${DOCS[@]}
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
|
||||
keepdir /var/lib/xen/dump
|
||||
keepdir /var/lib/xen/xenpaging
|
||||
keepdir /var/lib/xenstored
|
||||
keepdir /var/log/xen
|
||||
|
||||
if use python; then
|
||||
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
|
||||
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
|
||||
fi
|
||||
|
||||
python_optimize
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -0,0 +1,187 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..10} )
|
||||
|
||||
inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
|
||||
SRC_URI=""
|
||||
else
|
||||
KEYWORDS="amd64 ~arm -x86"
|
||||
|
||||
XEN_GENTOO_PATCHSET_NUM=
|
||||
XEN_GENTOO_PATCHSET_BASE=
|
||||
XEN_PRE_PATCHSET_NUM=0
|
||||
XEN_PRE_VERSION_BASE=4.15.4
|
||||
|
||||
XEN_BASE_PV="${PV}"
|
||||
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
|
||||
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
|
||||
fi
|
||||
if [[ -z "${XEN_GENTOO_PATCHSET_BASE}" ]]; then
|
||||
XEN_GENTOO_PATCHSET_BASE="${XEN_BASE_PV}"
|
||||
fi
|
||||
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
|
||||
|
||||
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
|
||||
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
|
||||
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
|
||||
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
|
||||
fi
|
||||
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
|
||||
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_BASE_PV})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
|
||||
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
|
||||
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="https://xenproject.org"
|
||||
|
||||
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="debug efi flask"
|
||||
REQUIRED_USE="arm? ( debug )"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22 )
|
||||
flask? ( sys-apps/checkpolicy )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
# no tests are available for the hypervisor
|
||||
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
|
||||
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
|
||||
RESTRICT="test splitdebug strip"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-4.15-efi.patch
|
||||
|
||||
# Enable XSM-FLASK
|
||||
use flask && eapply "${FILESDIR}"/${PN}-4.15-flask.patch
|
||||
|
||||
# Workaround new gcc-11 options
|
||||
sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="/boot"
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
xen_make() {
|
||||
# Setting clang to either 'y' or 'n' tells Xen's build system
|
||||
# whether or not clang is used.
|
||||
local clang=n
|
||||
if tc-is-clang; then
|
||||
clang=y
|
||||
fi
|
||||
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake \
|
||||
V=1 \
|
||||
LDFLAGS="$(raw-ldflags)" \
|
||||
HOSTCC="$(tc-getBUILD_CC)" \
|
||||
HOSTCXX="$(tc-getBUILD_CXX)" \
|
||||
clang="${clang}" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
cd xen || die
|
||||
|
||||
touch gentoo-config || die
|
||||
if use arm; then
|
||||
echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
|
||||
fi
|
||||
if use debug; then
|
||||
cat <<-EOF >> gentoo-config || die
|
||||
CONFIG_DEBUG=y
|
||||
CONFIG_CRASH_DEBUG=y
|
||||
EOF
|
||||
fi
|
||||
if use flask; then
|
||||
echo "CONFIG_XSM=y" >> gentoo-config || die
|
||||
fi
|
||||
|
||||
# remove flags
|
||||
unset CFLAGS
|
||||
|
||||
tc-ld-disable-gold # Bug 700374
|
||||
|
||||
xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
xen_make -C xen
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
xen_make DESTDIR="${D}" -C xen install
|
||||
|
||||
# make install likes to throw in some extra EFI bits if it built
|
||||
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide:"
|
||||
elog " https://wiki.gentoo.org/wiki/Xen"
|
||||
|
||||
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
|
||||
|
||||
ewarn
|
||||
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
|
||||
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
|
||||
ewarn "to work fine."
|
||||
ewarn
|
||||
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
|
||||
ewarn
|
||||
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
|
||||
}
|
@ -0,0 +1,174 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
|
||||
SRC_URI=""
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm -x86"
|
||||
|
||||
XEN_GENTOO_PATCHSET_NUM=2
|
||||
XEN_GENTOO_PATCHSET_BASE=4.16.1
|
||||
XEN_PRE_PATCHSET_NUM=0
|
||||
XEN_PRE_VERSION_BASE=4.16.3
|
||||
|
||||
XEN_BASE_PV="${PV}"
|
||||
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
|
||||
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
|
||||
fi
|
||||
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
|
||||
|
||||
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
|
||||
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
|
||||
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
|
||||
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
|
||||
fi
|
||||
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
|
||||
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
|
||||
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
|
||||
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="https://xenproject.org"
|
||||
|
||||
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+boot-symlinks debug efi flask"
|
||||
REQUIRED_USE="arm? ( debug )"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22 )
|
||||
flask? ( sys-apps/checkpolicy )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
# no tests are available for the hypervisor
|
||||
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
|
||||
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
|
||||
RESTRICT="test splitdebug strip"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
# Symlinks do not work on fat32 volumes # 829765
|
||||
if ! use boot-symlinks || use efi; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"/no-boot-symlinks/${PN}-4.16-no-symlinks.patch
|
||||
fi
|
||||
|
||||
# Workaround new gcc-11 options
|
||||
sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="/boot"
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
xen_make() {
|
||||
# Setting clang to either 'y' or 'n' tells Xen's build system
|
||||
# whether or not clang is used.
|
||||
local clang=n
|
||||
if tc-is-clang; then
|
||||
clang=y
|
||||
fi
|
||||
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake \
|
||||
V=1 \
|
||||
LDFLAGS="$(raw-ldflags)" \
|
||||
HOSTCC="$(tc-getBUILD_CC)" \
|
||||
HOSTCXX="$(tc-getBUILD_CXX)" \
|
||||
CC="$(tc-getCC)" \
|
||||
CXX="$(tc-getCXX)" \
|
||||
LD="$(tc-getLD)" \
|
||||
AR="$(tc-getAR)" \
|
||||
OBJDUMP="$(tc-getOBJDUMP)" \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
clang="${clang}" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
cd xen || die
|
||||
|
||||
touch gentoo-config || die
|
||||
if use arm; then
|
||||
echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
|
||||
fi
|
||||
if use debug; then
|
||||
cat <<-EOF >> gentoo-config || die
|
||||
CONFIG_DEBUG=y
|
||||
CONFIG_CRASH_DEBUG=y
|
||||
EOF
|
||||
fi
|
||||
if use flask; then
|
||||
echo "CONFIG_XSM=y" >> gentoo-config || die
|
||||
fi
|
||||
|
||||
# remove flags
|
||||
unset CFLAGS
|
||||
|
||||
tc-ld-disable-gold # Bug 700374
|
||||
|
||||
xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
xen_make -C xen
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
xen_make DESTDIR="${D}" -C xen install
|
||||
|
||||
# make install likes to throw in some extra EFI bits if it built
|
||||
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
|
||||
}
|
@ -0,0 +1,174 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
|
||||
SRC_URI=""
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm -x86"
|
||||
|
||||
XEN_GENTOO_PATCHSET_NUM=0
|
||||
XEN_GENTOO_PATCHSET_BASE=4.17.0
|
||||
XEN_PRE_PATCHSET_NUM=0
|
||||
XEN_PRE_VERSION_BASE=4.17.0
|
||||
|
||||
XEN_BASE_PV="${PV}"
|
||||
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
|
||||
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
|
||||
fi
|
||||
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
|
||||
|
||||
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
|
||||
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
|
||||
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
|
||||
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
|
||||
fi
|
||||
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
|
||||
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
|
||||
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
|
||||
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
|
||||
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="https://xenproject.org"
|
||||
|
||||
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+boot-symlinks debug efi flask"
|
||||
REQUIRED_USE="arm? ( debug )"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22 )
|
||||
flask? ( sys-apps/checkpolicy )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
# no tests are available for the hypervisor
|
||||
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
|
||||
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
|
||||
RESTRICT="test splitdebug strip"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"
|
||||
fi
|
||||
|
||||
# Symlinks do not work on fat32 volumes # 829765
|
||||
if ! use boot-symlinks || use efi; then
|
||||
eapply "${XEN_GENTOO_PATCHES_DIR}"/no-boot-symlinks/${PN}-4.16-no-symlinks.patch
|
||||
fi
|
||||
|
||||
# Workaround new gcc-11 options
|
||||
sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="/boot"
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
xen_make() {
|
||||
# Setting clang to either 'y' or 'n' tells Xen's build system
|
||||
# whether or not clang is used.
|
||||
local clang=n
|
||||
if tc-is-clang; then
|
||||
clang=y
|
||||
fi
|
||||
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake \
|
||||
V=1 \
|
||||
LDFLAGS="$(raw-ldflags)" \
|
||||
HOSTCC="$(tc-getBUILD_CC)" \
|
||||
HOSTCXX="$(tc-getBUILD_CXX)" \
|
||||
CC="$(tc-getCC)" \
|
||||
CXX="$(tc-getCXX)" \
|
||||
LD="$(tc-getLD)" \
|
||||
AR="$(tc-getAR)" \
|
||||
OBJDUMP="$(tc-getOBJDUMP)" \
|
||||
RANLIB="$(tc-getRANLIB)" \
|
||||
clang="${clang}" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
cd xen || die
|
||||
|
||||
touch gentoo-config || die
|
||||
if use arm; then
|
||||
echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
|
||||
fi
|
||||
if use debug; then
|
||||
cat <<-EOF >> gentoo-config || die
|
||||
CONFIG_DEBUG=y
|
||||
CONFIG_CRASH_DEBUG=y
|
||||
EOF
|
||||
fi
|
||||
if use flask; then
|
||||
echo "CONFIG_XSM=y" >> gentoo-config || die
|
||||
fi
|
||||
|
||||
# remove flags
|
||||
unset CFLAGS
|
||||
|
||||
tc-ld-disable-gold # Bug 700374
|
||||
|
||||
xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
xen_make -C xen
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
xen_make DESTDIR="${D}" -C xen install
|
||||
|
||||
# make install likes to throw in some extra EFI bits if it built
|
||||
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue