parent
b51eddaba0
commit
109f78ff87
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
|
||||
}
|
@ -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>
|
||||
|
@ -1 +1,2 @@
|
||||
DIST consul-1.14.3-vendor.tar.gz 40650363 BLAKE2B 1c15333d1a1053da871ccf032c8b21f6b1265a5c222395f217444de3c4472c755d205bad82d83ecdb520081830d11e4c7f113207fe83a7dac4860497518d5be8 SHA512 b1764b845bea8681d72858de4558fdfce4de1faaaf1fb5221eab12d8c9f512efbf1b8a118ea68c829660e23410381a2b71d12fc6d995a64be041d74ad616a663
|
||||
DIST consul-1.15.2-vendor.tar.gz 43070821 BLAKE2B 39e375cf6fcb17e9a633aa7048588560f8efc93aacad7a332210d509d0b50a74e525be5e56ad9e0aa642b43f68362b8e28beb264c4365a96dd98eab6f4d296d7 SHA512 b00cd569dee83c7850fc13e5591c55dd2903242349ec747cc7ac8f18ebd207858148521c62a1da914610988f95cd543fcc5f5771a1c072c09521a8af0a474ba6
|
||||
|
@ -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,4 +1,4 @@
|
||||
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
|
||||
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
|
||||
|
@ -1,4 +1,4 @@
|
||||
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
|
||||
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
|
||||
|
@ -1,4 +1,4 @@
|
||||
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
|
||||
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
|
||||
|
@ -1,4 +1,4 @@
|
||||
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
|
||||
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
|
||||
|
@ -1,4 +1,4 @@
|
||||
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
|
||||
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
|
||||
|
@ -1,8 +1,6 @@
|
||||
DIST rsyslog-8.2208.0.tar.gz 3262298 BLAKE2B c13920c755a24d8060335f3281a349d2f32c3c99de7351991e09e62302f6d9f61f4390b7945e30816c7d28afe5f757f6a49b2855e40e3f2f518a423662196b1b SHA512 e63f2465011722eb1bc99676ef6afd66e655af4fb9d751b3d8776499d054c422b195c65fef9ea6b9012d9fb334b7ed8a1c918167fecff389cbb79aa6b74acb73
|
||||
DIST rsyslog-8.2210.0.tar.gz 3266727 BLAKE2B fc94e7d9b7d828c35e6117ff44d40aa421b79ecd9072cc143177cb77ac6e84adaa5e2b9ae9a66e4bb70d8b93411715f63f0e3707e53c965ef892d9146ec43c92 SHA512 c665b7f7a3c5ef31c9b62b50f815cfbb52db0cbe4a06934f4f1c3cd2a56fb49c319d33857ee92ab843aa5894cac16c16b8eccdf83714f31ab57a95049c4af231
|
||||
DIST rsyslog-8.2212.0.tar.gz 3268012 BLAKE2B 72347c8281ce537cade415b73a5f15b80ad035ccf9091bcbb72952da32790064a8dd88416d3b7682e6fb77f23dbd51cb2b596587498d4cbccedf21c41c2c6305 SHA512 ca8c3d4c035f9dd5fb6b2d27c66f5e3211458cb1afbf2a73d3e268424a40e3e8746499d7db2e313cf2833f2f73640eb79924770198fb3009ef5461479cf80d15
|
||||
DIST rsyslog-8.2302.0.tar.gz 3273655 BLAKE2B 41ab639dcc93e325b6e092bc7c2c8fa60ce6192ec20033665930573ed5944af5830fc91aa3e607501c2b4759775efcd55631f82096e18ff1df67f00c3e956d6b SHA512 ebdf179c320425a137d1d20eef15163b342165435879e55531aa0dd9ae459fa35266696cc80fecae63a7e1eef31be51ba4154360e5dbe3c00471a84883c03168
|
||||
DIST rsyslog-doc-8.2208.0.tar.gz 6563848 BLAKE2B ec68684f1d7d895833f656ba6224a8013213a12b1bc7a28a268f2f629c25a3fbac7c379091f17eae24b6d71278c087e4a4cbed1656554de743fe5616a96559bf SHA512 428c2fe9e5025928d4a9d33f05f4eb20ac1bbde052b7fa2a8a0e45bfffe111eecc94eb2b6ec129de1011f0eabb106b4fb41d402b2a270e4148d3b1081e3b1da0
|
||||
DIST rsyslog-doc-8.2210.0.tar.gz 6572454 BLAKE2B feb865e3585ee441117f38de61748a6ca99767dae113cfcf2cd0d0a124cc692889be713134163fc91f4ab43b9fe530e3c7c0b84e4bd4e70081c4539297ae1406 SHA512 e7847a9307a91fdf87d6cf91d2391eb75869679905b9598310c456fb3fe1864fc06dbdc649778f5b3788e47ffda0a6d89cb894258e55db441f7df7e74b0ae9f4
|
||||
DIST rsyslog-doc-8.2212.0.tar.gz 6574799 BLAKE2B b81bef5a15c2c76a517617cb64682c663809f3308ffb2427beca180db7c91b4000fa72041ef83440134917e10ee6f4cd16ff58633d719bdb895c7316a87d8dc9 SHA512 bbecf2b9b9752f7d8a10bc3125c55e4def2a61108a65a717d7d86e7b63634e010ecd31fe40b2256611822d3dd17be20cbf9eb65efd787315723aba6b29cb3a8a
|
||||
DIST rsyslog-doc-8.2302.0.tar.gz 6586882 BLAKE2B bd79d53670234df46fae79234e03bbee05129dcd5bfe36d74595ce90e91ed8efa2d32cc817dadc9634a67eab7b9e640ad686685495cff75ebb1ff16730c8e904 SHA512 b922a4ed3e7b7235aa4a00c26a45b3b9f3a092679a7ce324543eea0c59cb34ad5a0ee2cac3a37e8964a4bc059cbcc661932496c7ff5765ef4f2da19cb6d35ee2
|
||||
|
@ -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"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST syslog-ng-3.38.1.tar.gz 5405048 BLAKE2B 7819cbe0caab7f580ca9f71181c84d64da838a238a6f8b8b79c8816e37e5691e72e1284de57d5066d3c681d8751950e5a32d65a1b1af4e064dd82f2c59899fe3 SHA512 3a3ef5c72d8c211ed2914791380061dcd48ea1ea95f636a1a8649dc5dee731a11e9ae000a37cbeeba624f4053b623b697e6c7f945a81153106c2365f4f09a847
|
||||
DIST syslog-ng-4.0.1.tar.gz 5452824 BLAKE2B a5c0328f3c88a38dbc07bb7af2a74c0037a6679525a29fca58620a8ef6b05ec13f3942d26767aded0049376ed30ce6a525686501914648a509997c5de2b48eb4 SHA512 5f83ee3cc4935218feb19f3f5065a68099e3ee291d806ad8810499ded9f9ef3b326b4b22841cd736354ed6a2ebc1ce8ae73f6abe981aa6f64c42da9ee3b1e22f
|
||||
DIST syslog-ng-4.1.1.tar.gz 5556174 BLAKE2B 3e1a9c394b8a88cc7b39a026950760cbc7796d67b62bb3c0f2970fd80c296e9bd75d1057fe81a0d22ac8488789d13607f19abc6aa38b3a38a30ff450ee66e3a0 SHA512 89abb7a53570b6f7c0dc76905c97d207447117f1db1aa0c0da97c17366ea833b6404f9c7fc318436fd01be2bab032eccca9712063a7c683780026e7e52493dc8
|
||||
|
@ -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 +1,2 @@
|
||||
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
|
||||
|
@ -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,3 +1,2 @@
|
||||
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
|
||||
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
|
@ -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
|
@ -1,3 +1,2 @@
|
||||
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
|
||||
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
|
@ -1,3 +1,2 @@
|
||||
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
|
||||
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
|
@ -1,3 +1,2 @@
|
||||
DIST certbot-2.3.0.gh.tar.gz 1335613 BLAKE2B af8ff393f92755e8e312f7596fe99abefa35c42cef6fa6688f7f3dd4a310205385fec81366df30d8edfe28d8abd3db447c9e1a3770fe31c3d45c69f04a038660 SHA512 5f52d9b0dd390fc696389a94ff897d803ee062feca50bb66972e197dcd79b0096b337cece2798557c3878903577171fd9afe1f18a4a2131ad7e6a62d0d945ebb
|
||||
DIST certbot-2.4.0.gh.tar.gz 1333159 BLAKE2B 534c7d090cc8a2b77b2dd8bd8c407409260c18e7741223a327bb240dac9685b1ca152d4a20bb0ec46d8717f89bd3de6f494019c57afe22a74db69641a3ed209e SHA512 c307c97154935a3a01b468d6e91505caba6073b4c01071c87382bdc08c892094d95d75b047047d3221b7d8018a61ce974c0f4defbfdee00b136af920fd579108
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST eclass-manpages-20230222.tar.xz 410124 BLAKE2B 7da1a4b539c227c386fd27e3fb6de4d0dc79c4b648491547df0dceb50ba93f27ef1105234ad5c0f6c6a409c8837e8a629029215782471651606375332223cc2e SHA512 4def4388095c82a187f5dfc6ffb0eff59cec922c606b0202e7995ff81209fa9fe48e22fb05d4b07be4cd7e10f78ef4f87d01362099333ad49619e45c4b8b9411
|
||||
DIST eclass-manpages-20230329.tar.xz 409168 BLAKE2B 5913afcf95174540546d238cc637689fe0c7de2013f4271ac3feee749eb2fede8b741e2409ba09060fd5c36941e36ee504be8a584201d04b368886f50abfd3ea SHA512 ee43c47f26b474acec2f778a5bf05c752198d2f5cce959a337eaa674465c92869e213dd4aea8243671825cea80bbfbec7040cac283354de4e8feeefeace46d32
|
||||
DIST eclass-manpages-20230417.tar.xz 409620 BLAKE2B 0e1b3cce23ee9f2a91b87c5de89819eca8fd50101e813ecf56c8a1d4147bf33006505425be95a2f1693ec084fbf9409c2aaf1dccf6d9cbf244e71ee1c0e1498d SHA512 2cef6f30e917979b9f56c11f953c27a8048842b432fc6641ea06daf479bc202d9ea2f8ce26769584f317bf3cde2c2f9736d2605546be1b1a10ea557177639de3
|
||||
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST ghostwriter-2.1.6.tar.gz 7757010 BLAKE2B a450093b1f072aeea7e6a6e27abbdb2c427387eb70b5ed2a5e49ea1f33fd9c4e4014742cc7905e644ab39838c488d9eddb79e0d3c87bde7ce6528cd810b02e15 SHA512 10ee557a07f468cc12391c2b5f77a6667aef76429b58bfdc03df32dd1cd8c44a61fe77da5318d5b23758ede40a5f8ab89cf4573a09708a6abc2d12ec5ceb71ad
|
||||
DIST ghostwriter-23.03.90.tar.xz 3064632 BLAKE2B f4e9605b37ff86f37af901a2b371fc6c03240df984ac8fda5fb568642b381b62838d01ce6845a0b8655ad7eae8c01eb54618a4de84f44ee601f11ba116ae53d3 SHA512 9c732c15e0f85334989e8f6e389f9e69e15dbd50081b44fba9fcfaa770f09a41213f7f2d70d4911cea340a7f97859f44489b9127544b461a0b2c5d7bc3eded77
|
||||
|
@ -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.
@ -0,0 +1 @@
|
||||
DIST jinx-0.6.tar.xz 16692 BLAKE2B 49a391b55b809dd6749ce264b4f732b5c902c1ea67a39e681327ddcf8f728271897202ecd282dc5c4999cf336a5b37c89b9863239291fc944cee352920d99189 SHA512 aa253836d04aec04674ca6dbbd1e73719bee78f4d01d4d93eef2cb05f4c3edc6ec4a11c352fb8952780523f187581fae9c33ea0d30416ec30803b7a196d03f60
|
@ -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>
|
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,82 @@
|
||||
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
|
@ -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,9 +1,12 @@
|
||||
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
|
||||
|
@ -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
|
||||
}
|
@ -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,2 +1,3 @@
|
||||
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
|
||||
|
@ -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
|
||||
}
|
@ -1,3 +1,8 @@
|
||||
DIST xen-4.15.4.tar.gz 40820669 BLAKE2B 22edaf817851856c777d02b5211be932c1731bf50fb582545f948c7e8f871937f7c94636496a480642fa7ed8222e12dda091a06638c75b9ee935f3ff9bc2aea0 SHA512 fa6a4991c0699025af163ed117f8d0523c0a482102464615025eb3575d755ffacec5df394e3fe01871cde6028678f654d99f8e3c2533b138765971a2a7994cb8
|
||||
DIST xen-4.16.3.tar.gz 45003057 BLAKE2B 6092cff33bffed1b6133daf8d3ce53c57204297e66df6ac58266b2da8d5585df62ae718cc8afaad36ebe6dabdce65b9979b0d13b88e60f2b23c01be21ae4db8e SHA512 b8cbd6f95681de5f824ada2d3cbe0653a38514a18df0dafcf811fb255219c7abec96f46217bdb0c83e1119f685da9a6af7194eeaa94f1cc3c892702782133b4f
|
||||
DIST xen-4.17.0.tar.gz 46484553 BLAKE2B a4665fb557eb264566179bc5b2678d44f694ef5b20bb7dc58c8a7e6fcdf0145f25a462cfe2ad35be67a4a5ca4579c03eb092954915953e2ab98ae90b4ea983f0 SHA512 8aa7c3025c81127a4f653411bc1cbe8fc27b767a2f96a2a454329a6773cb74d714ecc1ff011a8e7169c6b83b2cc5cb39c39798bd6b1178df75ce9ff00f5a1011
|
||||
DIST xen-gentoo-patches-4.16.1-gentoo-patchset-2.tar.bz2 5403 BLAKE2B 7fa3b4aa123b2deed260d02b8d34a35dd205207038edb92569278b25c6fe32e0f0e3857c07755553e047f0eb0d9fe7f8b0816e0f3d7f68aee7929afaf6611dfd SHA512 9e7d25640b24235acf756b031b8b7cee582dded65fe7b94a706c990232e9704d574036c3a9605f285e8e9534578d100a3f38719b27b22775f17ef8f68287997e
|
||||
DIST xen-gentoo-patches-4.17.0-gentoo-patchset-0.tar.bz2 4474 BLAKE2B aa367a4ccf96a61c04c52e415d7143ca946323d7d50d6ab16ad7a917279ad4b1aac802e35e7e306c3a244317db713e913dc8d6343717b2307ccd049adb956a0d SHA512 debba71b17be7b1bb9a70f01782c12c3c053cc2fb1f4ad95829356ee365878aad68430055d4b8c648ef1ff54cb9e3e7c03d40d14c560d51f8ac4fce2b8f82190
|
||||
DIST xen-upstream-patches-4.15.5-pre-patchset-0.tar.bz2 21880 BLAKE2B 89ef7b8cc56ca5a4738ce665aaa3461b61c554088b1b727e34ea417beb43f9b8eae403bae50449c0c96e79ff4b71edf9b6808071b1ca8f0b3878bf1cb9697c6e SHA512 0752d699168e3c2ba13a0ad886dd1d1f9affefc5e7fed9980b2a634012508f405c2accfcd7e92f79016bb869d2d0b09139266a952cc203bea37870fc7d910e51
|
||||
DIST xen-upstream-patches-4.16.4-pre-patchset-0.tar.bz2 60151 BLAKE2B 5c8a8f772ba6be5f776b3270b9f1e64df35c2be7b4e238262eb4ec6b4859576b3ecb448880e1e05ad53dbdaa71643e678978151b10d0d47c901ab3e3518b7eb0 SHA512 b33a9b2f602f18165e048ef6a339bc5bf3f800fb1f2449e2e1a6090774ce3ef07b1d7ea8e9e6449fae7b91afcc1a6e281c1bb218a56bca74ba7f12b491fab186
|
||||
DIST xen-upstream-patches-4.17.1-pre-patchset-0.tar.bz2 87023 BLAKE2B 4b6c66c20aecde5a696ee6879b1a9e9b365eba3a2e55c7b13153adb4c100081242a5f4498e17597697ac96a75685d88536309accb8dcebee45b31c9b35a3d7d8 SHA512 9da15f7726f2813a6dc701dbf67c1aa52a574c8049238c6d18d68bc0c0c80db98b925cd1cb7ec5627ff8b3489847608a185353cda6e599e6e5bffe75339b18a7
|
||||
|
@ -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"
|
||||
}
|
Binary file not shown.
@ -0,0 +1,87 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
LLVM_MAX_SLOT=16
|
||||
inherit toolchain-funcs llvm optfeature python-single-r1
|
||||
|
||||
AFL_PATCHSET="${PN}-4.06c-patches"
|
||||
DESCRIPTION="A fork of AFL, the popular compile-time instrumentation fuzzer"
|
||||
HOMEPAGE="https://github.com/AFLplusplus/AFLplusplus"
|
||||
SRC_URI="https://github.com/AFLplusplus/AFLplusplus/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${AFL_PATCHSET}.tar.xz"
|
||||
S="${WORKDIR}"/AFLplusplus-${PV}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="test"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Tests involve heavy use of LD_PRELOAD in some cases
|
||||
# This isn't compatible with sandbox
|
||||
RESTRICT="test"
|
||||
|
||||
# It turns out we need Clang too
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
>=sys-devel/llvm-13:=
|
||||
|| (
|
||||
sys-devel/clang:13
|
||||
sys-devel/clang:14
|
||||
sys-devel/clang:${LLVM_MAX_SLOT}
|
||||
)
|
||||
!app-forensics/afl"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-util/cmocka )"
|
||||
|
||||
QA_FLAGS_IGNORED="afl-gcc-cmplog-pass.so afl-gcc-cmptrs-pass.so"
|
||||
QA_PREBUILT="usr/share/afl/testcases/others/elf/small_exec.elf"
|
||||
|
||||
PATCHES=(
|
||||
"${WORKDIR}"/${AFL_PATCHSET}
|
||||
)
|
||||
|
||||
llvm_check_deps() {
|
||||
has_version -b "sys-devel/clang:${LLVM_SLOT}" && \
|
||||
has_version -b "sys-devel/llvm:${LLVM_SLOT}"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
llvm_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
mymake() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
CXX="$(tc-getCXX)" \
|
||||
CFLAGS_FLTO="" \
|
||||
LLVM_CONFIG="$(get_llvm_prefix ${LLVM_MAX_SLOT})"/bin/llvm-config \
|
||||
PREFIX="${EPREFIX}/usr" \
|
||||
HELPER_PATH="${EPREFIX}/usr/$(get_libdir)/afl" \
|
||||
DOC_PATH="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
MAN_PATH="${EPREFIX}/usr/share/man/man8" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
mymake
|
||||
}
|
||||
|
||||
src_test() {
|
||||
mymake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
mymake DESTDIR="${D}" install
|
||||
dostrip -x /usr/share/afl/testcases/
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# TODO: Any others?
|
||||
optfeature "fuzzing with AFL_USE_ASAN" sys-libs/compiler-rt-sanitizers[asan]
|
||||
optfeature "fuzzing with AFL_USE_MSAN" sys-libs/compiler-rt-sanitizers[msan]
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST qtxdg-tools-3.10.0.tar.xz 16704 BLAKE2B a43ebdaca879cbfc6f1b6cebcea4964c5486bd983b030a4b374605efeef9a9ad67e3176c95e33ad09c90df5e9432526dbf62ecfbb192df768509e213f57e383f SHA512 d5cdc14ceadf6b2ed7adaa7de383b9930d57d06a6c5294920764b403bcedfdb837de4a01e70f65f2957e18a9e866659406b88e35903376fb26b91f8620b95a55
|
||||
DIST qtxdg-tools-3.11.0.tar.xz 16716 BLAKE2B ef6b88e69b0b4e8896ba37f7b5f663234a5348759d430600396432f4abb52901001c54ec78bd706efa021b51d9ff514457ff8e123d5142a6562cd380dd5a15ee SHA512 da88f36130b7c23d1553bce252ddc783ae30ba91cd55fba065702376f6cc9c0353c0ad4bb099ed1b65964bd9d476ae431bfde46df110bccec832d3f57cbaa7f3
|
||||
DIST qtxdg-tools-3.9.1.tar.xz 16688 BLAKE2B c59032f55749616554036cded80050b3390f02741d6874d4e48ca943d0b37864d3565cc1bb0e39474cfbcc38b6b525e73c22a9e9d6277a319dd44a93935af982 SHA512 f5bea93ad927967edf13c07ee39a24297fbe06d03e450557afd519b26c3eeed6c9347747efbdc2e0c201a4d51f66cd80a5f2da143544149375d89f36baab5c3f
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Copyright 2022-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="User Tools from libqtxdg"
|
||||
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 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
|
||||
BDEPEND=">=dev-util/lxqt-build-tools-0.13.0"
|
||||
RDEPEND="
|
||||
>=dev-libs/libqtxdg-3.11.0
|
||||
>=dev-qt/qtcore-5.15:5
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
@ -1 +1,2 @@
|
||||
DIST tmux-mem-cpu-load-3.5.1.tar.gz 23020 BLAKE2B 2bbe2441c0fd687fee4ed2f27b8cea0fdbb0596c36fe8c791be110b880abe5d8c28a14960a9836552cf49b4f92d32a127be9271954853c5310f1628791138f7a SHA512 e08a3ad088021d4f4a3fb671a15cc8468a833501202391a63f57d3b53ea65934dc32869c3b7bbe47bce7d8ff2c9d1d35a5823a70c80d1218392aac82ed96e68f
|
||||
DIST tmux-mem-cpu-load-3.7.0.tar.gz 23374 BLAKE2B 61dfd556b22afd37d7011c2f31e1c1ee2632921c590ac273e92baf18f018d09eaffc628490d8c2bca973fc73dba67f83dfd380792c70f7fac8335cc9c732d7c3 SHA512 0a87d91e2d7ea0b687b0610b913aa782813fc80cc689c6f42fa2e1537715b7b2307edbfabf231fc0e13fe5aeaca1c0ffa4500ce338b37365ba0ac7a8b69e7385
|
||||
|
@ -0,0 +1,24 @@
|
||||
https://github.com/thewtex/tmux-mem-cpu-load/pull/95
|
||||
|
||||
From 59cca005e4c6d2fe9f90574a99afe78dcb6d8539 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Tue, 18 Apr 2023 04:25:00 +0100
|
||||
Subject: [PATCH] Fix build with GCC 13
|
||||
|
||||
GCC 13 (as usual for new compiler releases) shuffles around some internal includes so some
|
||||
are no longer transitively included.
|
||||
|
||||
See https://gnu.org/software/gcc/gcc-13/porting_to.html.
|
||||
|
||||
Bug: https://bugs.gentoo.org/895304
|
||||
--- a/common/cpu.h
|
||||
+++ b/common/cpu.h
|
||||
@@ -19,6 +19,7 @@
|
||||
#ifndef CPU_H_
|
||||
#define CPU_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <sys/types.h>
|
||||
|
||||
#if defined(__APPLE__) && defined(__MACH__)
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/thewtex/tmux-mem-cpu-load.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/thewtex/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="CPU, RAM memory, and load monitor for use with tmux"
|
||||
HOMEPAGE="https://github.com/thewtex/tmux-mem-cpu-load"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
DOCS=( AUTHORS README.rst )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.7.0-gcc13.patch
|
||||
)
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue