Sync with portage [Sun Apr 12 01:40:53 MSK 2020].

develop 1631
root 4 years ago
parent bd2e075a72
commit b06f7b626c

Binary file not shown.

Binary file not shown.

@ -0,0 +1,9 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
DESCRIPTION="Group for Anope IRC services"
ACCT_GROUP_ID=417

@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<name>Sam James</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,8 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
ACCT_GROUP_ID=416

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>cluster@gentoo.org</email>
<name>Gentoo Cluster Project</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -0,0 +1,12 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
DESCRIPTION="User for Anope IRC services"
ACCT_USER_ID=417
ACCT_USER_GROUPS=( anope )
acct-user_add_deps

@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sam@cmpct.info</email>
<name>Sam James</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,12 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
DESCRIPTION="user for cyrus-imapd daemon"
ACCT_USER_ID=416
ACCT_USER_GROUPS=( mail )
acct-user_add_deps

@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>eras@gentoo.org</email>
<name>Eray Aslan</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,14 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
# Needed for statedumps
# https://github.com/gluster/glusterfs/commit/0e50c4b3ea734456c14e2d7a578463999bd332c3
ACCT_USER_ID=416
ACCT_USER_GROUPS=( "${PN}" )
acct-user_add_deps

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>cluster@gentoo.org</email>
<name>Gentoo Cluster Project</name>
</maintainer>
</pkgmetadata>

Binary file not shown.

@ -1 +1,2 @@
DIST keepassxc-2.5.3-src.tar.xz 6839148 BLAKE2B b3cc32f9abb42e662edec0c28967fca65a4f3c794f70bfe6c40c39375cad8cbc35eba95431b33119268230a324f83f2e5a53186ee8fc64cd366e20eac1341dc5 SHA512 8b1e3360b4ae5de170be6936291f7b309de09b2462fcd5a48f239c22f1c8b6ffe721aca8d1e9b6ae3881f7b16374850d7f4b809733244fd16d45eed6ad4f60c6
DIST keepassxc-2.5.4-src.tar.xz 6839396 BLAKE2B 5f7f415cab73c2665e3dff94c2bde039096b04a6e8e8a6ff4fe40d31cf4c6ff789f72d8c4c18ae0325c6db570933110a65348c4c359acadd2c89617435ffd6bd SHA512 8a70363dd579b95ccb05cb846aa34a5ed89de4305f3bef9e518e5986fe7f0313cb1daaa347f5b2267002f3fff4b71c87f5bb9073f6e6879d2556a2f0e4791dd3

@ -0,0 +1,97 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake xdg
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
HOMEPAGE="https://keepassxc.org"
if [[ "${PV}" != 9999 ]] ; then
if [[ "${PV}" == *_beta* ]] ; then
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
else
#SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/keepassxreboot/keepassxc/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~x86"
fi
else
inherit git-r3
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
fi
LICENSE="LGPL-2.1 GPL-2 GPL-3"
SLOT="0"
IUSE="autotype browser ccache debug keeshare +network test yubikey"
RDEPEND="
app-crypt/argon2:=
dev-libs/libgcrypt:=
>=dev-libs/libsodium-1.0.12:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
media-gfx/qrencode:=
sys-libs/readline:0=
sys-libs/zlib:=
autotype? (
dev-qt/qtx11extras:5
x11-libs/libX11
x11-libs/libXi
x11-libs/libXtst
)
keeshare? ( dev-libs/quazip )
yubikey? ( sys-auth/ykpers )
"
DEPEND="
${RDEPEND}
dev-qt/linguist-tools:5
dev-qt/qttest:5
"
BDEPEND="
ccache? ( dev-util/ccache )
"
# Not a runtime dependency but still needed (see bug #667092)
PDEPEND="
x11-misc/xsel
"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/${PN}-2.5.2-ccache_switch.patch"
)
src_prepare() {
use test || \
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DWITH_CCACHE="$(usex ccache)"
-DWITH_GUI_TESTS=OFF
-DWITH_TESTS="$(usex test)"
-DWITH_XC_AUTOTYPE="$(usex autotype)"
-DWITH_XC_BROWSER="$(usex browser)"
-DWITH_XC_FDOSECRETS=ON
-DWITH_XC_KEESHARE="$(usex keeshare)"
-DWITH_XC_NETWORKING="$(usex network)"
-DWITH_XC_SSHAGENT=ON
-DWITH_XC_UPDATECHECK=OFF
-DWITH_XC_YUBIKEY="$(usex yubikey)"
)
if [[ "${PV}" == *_beta* ]] ; then
mycmakeargs+=( -DOVERRIDE_VERSION="${PV/_/-}" )
fi
cmake_src_configure
}

@ -1,3 +1,2 @@
DIST needrestart-3.3.tar.gz 59814 BLAKE2B bfba00dee7c0f225efcaaa80b301eb38d0ea82645f253c8bef9294102f9f4183433ed1b6efe71a9dc34c65f76364ff3fc2344e840b34f97361f3ddcd0dc9ab4b SHA512 ea2f3cbe228a6b879905bd3b3de8b5e0bb2362e8d3cd566817d2e7d519d54207ff5923eb8e49cbd8ffe8ed50729f4da04bf4d55268e806f49157860584058d50
DIST needrestart-3.4.tar.gz 63219 BLAKE2B 892bb610001575b7e653e06380ba39bb91608db6b5cc491d1e89543a72a17f69547f2610ebe7f3e51835dc1af5a32604fe54f79b6565c9f97df194a87f5f7bdf SHA512 3d63a9c32112b1d4f5d0c6d66430323761c9e7c17f01f52d0572b64ebf113fc9b52838dada363667632ae51894312d891ae8016e8eb5cbd4e0d06fa37c603f25
DIST needrestart-3.5.tar.gz 67824 BLAKE2B 73af940efa578b145d89cb0724f7103edd0fe869bfb211596109b67fd16a8ddce83060942687c3ca0e861d9d545022845b64d90bc44e39997e8943b1575dd5f1 SHA512 e082ab92497cce7b65da9c625ba0bc2332cc7863c5b7d99a04593c646256da0302519fb7c9fc9823ce0058affdf7eb6a4587a1874881eda8aa4d07032093eb0b

@ -1,24 +0,0 @@
From bbd98c32fb5d33f42d1b9257f55a07d62b8de164 Mon Sep 17 00:00:00 2001
From: Craig Andrews <candrews@integralblue.com>
Date: Mon, 7 May 2018 11:28:33 -0400
Subject: [PATCH] [Kernel] Include /boot/kernel* while looking for linux kernel
images
Fixes kernel detection on Gentoo
---
perl/lib/NeedRestart/Kernel/Linux.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/perl/lib/NeedRestart/Kernel/Linux.pm b/perl/lib/NeedRestart/Kernel/Linux.pm
index 6f284f3..69a919c 100644
--- a/perl/lib/NeedRestart/Kernel/Linux.pm
+++ b/perl/lib/NeedRestart/Kernel/Linux.pm
@@ -131,7 +131,7 @@ sub nr_kernel_check_real($$) {
} grep {
# filter initrd images
(!m@^/boot/init@);
- } (</boot/vmlinu*>, </boot/*.img>);
+ } (</boot/vmlinu*>, </boot/*.img>, </boot/kernel*>);
$ui->progress_prep(scalar keys %kfiles, __ 'Scanning linux images...');

@ -1,42 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/liske/${PN}.git"
inherit git-r3
SRC_URI=""
KEYWORDS=""
else
SRC_URI="https://github.com/liske/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Restart daemons after library updates"
HOMEPAGE="https://fiasko-nw.net/~thomas/tag/needrestart.html https://github.com/liske/needrestart"
SLOT="0"
LICENSE="GPL-2+"
RDEPEND="
>=sys-apps/sed-4.2.2
dev-lang/perl:=
dev-perl/libintl-perl
dev-perl/Module-Find
dev-perl/Module-ScanDeps
dev-perl/Proc-ProcessTable
dev-perl/Sort-Naturally
dev-perl/TermReadKey
sys-apps/init-system-helpers
sys-apps/iucode_tool
"
DEPEND="${RDEPEND}
sys-devel/gettext
"
src_install() {
default
doman man/*.1
dodoc -r ex
}

@ -1,4 +1,2 @@
DIST puppet-agent_6.13.0-1stretch_amd64.deb 22432484 BLAKE2B 231f8683afbf4d2c5ded7bfec323baecbfd52446bb3483c2c16764bc57b79a18d256ecf94b27d4db1bbe88038d7f3eef037c500a39e3b66d641e4effa94cd2d3 SHA512 6101e84e5dbfa64bd336bb23595fe559165e4a159fa5de739aa1617e6825ab11ad62d1abbee26ff94b9f68caa7a192c0339a0c721efcc534ae9ddbba161af907
DIST puppet-agent_6.13.0-1stretch_i386.deb 22787442 BLAKE2B 1bcea00b2da5c5b0db51fdd12d3828492a9a56af3a8c84919258ac7b90f7d135df708aba602a6d517364ac8b42f1ee3f1c11596cca0e89809a72d1d04c7ecc58 SHA512 55afd1ec6d331808a2a5adcd9c41803d932bcd7e2653da42c81c8ea1179649ae7ac642993813d527b2f365fb4f21d67015a0c2eb5379de2184585475521f8726
DIST puppet-agent_6.14.0-1stretch_amd64.deb 22450130 BLAKE2B fe6e30d99357328a884944e59d7cb1c66ad9fc36642ba377ed99e23551c5cbf06cffc4336b47440389fee7a9f1996b8325d18335768187f5d052fcecae041f5b SHA512 41d87f1ab4ead019eb5ef90ad21e557db686729151618e4ec642ea6636feda383874f7d457de7e9e323cf44d9d410e7fb650edd6e69b186c2fdff5657955ac5a
DIST puppet-agent_6.14.0-1stretch_i386.deb 22792198 BLAKE2B 7638fd1edfeb22377ab22484dd0fd5377bab6ee5e3e01c64ffd8eae29b08e0182204446db23d8cf68018a58c2419ce22c4dda4fd10a6dfac64356d68a5478bfa SHA512 dc787dfeb2565fde00da6e991fb94435c56e804657a38268ad49d72783b9857de4e359d6d9002525759684ddcb48a00e2fdb73f069cd79da74237bcb9530a116

@ -1,75 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit eutils systemd unpacker
DESCRIPTION="general puppet client utils along with hiera and facter"
HOMEPAGE="https://puppetlabs.com/"
SRC_BASE="http://apt.puppetlabs.com/pool/stretch/puppet/${PN:0:1}/${PN}/${PN}_${PV}-1stretch"
SRC_URI="
amd64? ( ${SRC_BASE}_amd64.deb )
x86? ( ${SRC_BASE}_i386.deb )"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="puppetdb selinux"
RESTRICT="strip"
CDEPEND="!app-admin/puppet
!dev-ruby/hiera
!dev-ruby/facter
!app-emulation/virt-what
acct-user/puppet
acct-group/puppet"
DEPEND="
${CDEPEND}
app-admin/augeas"
RDEPEND="${CDEPEND}
app-portage/eix
sys-apps/dmidecode
sys-libs/libselinux
sys-libs/glibc
sys-libs/readline:0/7
sys-libs/ncurses:0[tinfo]
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
puppetdb? ( >=dev-ruby/puppetdb-termini-5.0.1 )"
S=${WORKDIR}
src_install() {
# conf.d
doconfd etc/default/puppet
doconfd etc/default/pxp-agent
# logrotate.d
insinto /etc/logrotate.d
doins etc/logrotate.d/pxp-agent
# puppet itself
insinto /etc/puppetlabs
doins -r etc/puppetlabs/*
# logdir for systemd
dodir var/log/puppetlabs/puppet/
fperms 0750 var/log/puppetlabs/puppet/
# the rest
insinto /opt
dodir opt/puppetlabs/puppet/cache
doins -r opt/*
fperms 0750 /opt/puppetlabs/puppet/cache
# init
newinitd "${FILESDIR}/puppet.initd" puppet
systemd_dounit lib/systemd/system/puppet.service
systemd_dounit lib/systemd/system/pxp-agent.service
systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
# symlinks
chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
dosym ../../opt/puppetlabs/bin/facter /usr/bin/facter
dosym ../../opt/puppetlabs/bin/hiera /usr/bin/hiera
dosym ../../opt/puppetlabs/bin/puppet /usr/bin/puppet
dosym ../../opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
}

@ -13,7 +13,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="puppetdb selinux"
RESTRICT="strip"

@ -1,5 +1,4 @@
DIST puppet-5.5.17.tar.gz 3090402 BLAKE2B 7722ec4196ee766c29eddd7dc73539a4a5a0e4cc781a84af25210488328b5ae01178ca64e8eef14152cbeca06dc8fe145b5e39ce6a120d7689fc32cbbbe16f9f SHA512 95c6cd836a9f732ccfe2d8b83096e79c32428c43390c0826663f896ca1388e1fe3b55d93a5a7548831e95de85247db717866c36786d591e207341c734d70168b
DIST puppet-5.5.18.tar.gz 2984835 BLAKE2B d5a1d023d3d26e04ccc81efa772131c06fc7ace8ec59c7efa97bddb775bb492d3256290824a87d54df5c28862cbba98c58cf41bb4a0c27a4128701652c06eee0 SHA512 86f210ee783ca36340b22463cd4ac237d8dc1c6a35526530af0696bb3f0373b0b22f690d3e3f8e31655ea182a33eb60b66b5826bd6c4d1b0059a8e46152416e6
DIST puppet-5.5.19.tar.gz 2993740 BLAKE2B aa6bde89489279769ee9a1ed5508fb223f7f0153b1b1991970018908eee70ff0816688c702b8dc779d01e1978ea7f9290c80523648730d5408a17674c11345fd SHA512 996fa155ca04c8c3c96c29cf65cd24eaf9e19e89fcf85345509dbd3673b28c263df5b62d6f016b8ac1c1da8ed86f0acf3100eae2656252bb10c542972db81de3
DIST puppet-6.13.0.tar.gz 2837171 BLAKE2B dc64b23fa2d5fcb978cfb03bf67f89ff0ae084883320f267bbb7fd613fd8948193658d717ecbf30f73e313c4530f872617a186675547509db9492589e4f226d6 SHA512 fb7abc9cf79a3de1daf597c0c1768ab4abcc11a236beb8294c5fc69d07ae23149216f7c8d33599365d3c10485f3fb3f8f5fe492e0e7312d19ffdaa0bc8b87d0c
DIST puppet-6.14.0.tar.gz 2842351 BLAKE2B db9a467d8e0f4f25d45c2f735ee9d11ac6ed4e47c16b95ded3ff9f1c5055ea866735bcda27c19c2988035d9592035e433ef0d79a19781c99f4e97388edf46b93 SHA512 066ad8de6393cb58b1f92fae450dc72dabcbe912cdbb3417848a66955fe17696a68abf67d86b107a2b1c54e7037d38da7264a9234a8833b56065c8e407ff57a4

@ -1,136 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby23 ruby24 ruby25"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC="doc:all"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit eutils ruby-fakegem eapi7-ver
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="https://puppet.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
dev-ruby/json:=
dev-ruby/semantic_puppet
>=dev-ruby/facter-3.0.0
dev-ruby/concurrent-ruby
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
ldap? ( dev-ruby/ruby-ldap )
shadow? ( dev-ruby/ruby-shadow )
sqlite? ( dev-ruby/sqlite3 )
virtual/ruby-ssl
dev-ruby/hocon"
ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0
acct-user/puppet
acct-group/puppet"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
all_ruby_prepare() {
# Avoid spec that require unpackaged json-schema.
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
# can't be run within portage.
epatch "${FILESDIR}/puppet-fix-tests-6.10.1.patch"
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet
keepdir /etc/puppetlabs/puppet/ssl
keepdir /var/lib/puppet/facts
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/lib/puppet
fperms 0750 /var/lib/puppet
fperms 0750 /etc/puppetlabs
fperms 0750 /etc/puppetlabs/puppet
fperms 0750 /etc/puppetlabs/puppet/ssl
fowners -R :puppet /etc/puppetlabs
fowners -R :puppet /var/lib/puppet
if use ldap ; then
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
fi
# ext and examples files
for f in $(find ext examples -type f) ; do
docinto "$(dirname ${f})"; dodoc "${f}"
done
}
pkg_postinst() {
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Portage Puppet module with Gentoo-specific resources:"
elog "http://forge.puppetlabs.com/gentoo/portage"
elog
elog "If updating from puppet 5 to 6, keep in mind that webrick (server/master)"
elog "suppert was removed for >=6.x, please migrate to puppetserver if you have"
elog "not already done so."
elog
}

@ -19,7 +19,7 @@ SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"

@ -1,131 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib systemd
DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="puppetdb"
# will need the same keywords as puppet
KEYWORDS="amd64 x86"
RDEPEND+="
>=virtual/jdk-1.8.0
app-admin/puppet-agent[puppetdb?]"
DEPEND+="acct-user/puppet
acct-group/puppet"
src_prepare() {
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/redhat/puppetserver.service || die
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/bin/puppetserver || die
sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' install.sh || die
sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
sed -i 's/var\/run/run/g' install.sh || die
default
}
src_compile() {
einfo "not compiling"
}
src_install() {
insinto /opt/puppetlabs/server/apps/puppetserver
insopts -m0774
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppet-server-release.jar
insinto /etc/puppetlabs/puppetserver
doins ext/config/logback.xml
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetserver/services.d
doins ext/system-config/services.d/bootstrap.cfg
doins ext/config/services.d/ca.cfg
insinto /etc/puppetlabs/puppetserver/conf.d
doins ext/config/conf.d/puppetserver.conf
doins ext/config/conf.d/auth.conf
doins ext/config/conf.d/global.conf
doins ext/config/conf.d/web-routes.conf
doins ext/config/conf.d/metrics.conf
doins ext/config/conf.d/webserver.conf
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetserver/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
doins ext/cli/ca
doins ext/cli/irb
doins ext/cli/foreground
doins ext/cli/gem
doins ext/cli/ruby
doins ext/cli/reload
doins ext/cli/start
doins ext/cli/stop
insinto /opt/puppetlabs/server/apps/puppetserver/cli
doins ext/cli_defaults/cli-defaults.sh
insinto /opt/puppetlabs/server/apps/puppetserver/bin
doins ext/bin/puppetserver
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
dosym ../../opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
dodir /opt/puppetlabs/server/apps/puppetserver/config/services.d
# other sys stuff
dodir /etc/puppetlabs/code
# needed for systemd
dodir /var/log/puppetlabs/puppetserver
dodir /etc/puppetlabs/puppet/ssl
fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
fperms -R 771 /etc/puppetlabs/puppet/ssl
# systemd type things
insinto /etc/systemd/system/puppetserver.service.d/
systemd_dounit ext/redhat/puppetserver.service
insinto /etc/default
newins ext/default puppetserver
# normal init type tasks
dosym ../default/puppetserver /etc/conf.d/puppetserver
newinitd "${FILESDIR}/puppetserver.init-r1" puppetserver
# misc
insinto /etc/logrotate.d
newins ext/puppetserver.logrotate.conf puppetserver
# cleanup
dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
fowners -R puppet:puppet /opt/puppetlabs/server/data
fperms -R 775 /opt/puppetlabs/server/data/puppetserver
fperms -R 700 /var/log/puppetlabs/puppetserver
insinto /opt/puppetlabs/server/data
doins ext/build-scripts/jruby-gem-list.txt
doins ext/build-scripts/mri-gem-list-no-dependencies.txt
insopts -m 0644
insinto /usr/lib/tmpfiles.d
newins ext/puppetserver.tmpfiles.conf puppetserver.conf
}
pkg_postinst() {
elog "to install you may want to run the following:"
elog
elog "puppet config set --section master vardir /opt/puppetlabs/server/data/puppetserver"
elog "puppet config set --section master logdir /var/log/puppetlabs/puppetserver"
elog "puppet config set --section master rundir /run/puppetlabs/puppetserver"
elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
elog "puppet config set --section master codedir /etc/puppetlabs/code"
elog
elog "# install puppetserver gems"
elog "cd /opt/puppetlabs/server/apps/puppetserver"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems }\" > jruby.conf"
elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
elog "done < /opt/puppetlabs/server/data/jruby-gem-list.txt"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/puppet/lib/ruby/vendor_gems }\" > jruby.conf"
elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
elog "done < /opt/puppetlabs/server/data/mri-gem-list-no-dependencies.txt"
}

@ -1,2 +1,3 @@
DIST sudo-1.8.31.tar.gz 3350674 BLAKE2B de5a968732fdd58933b4c513d13c43a08cb50075a00c3e0d338c9892570a416a2b3a8f19940c0893715f4eeab991e804831a87ef656ffd91e7f1ba047c119261 SHA512 b9e408a322938c7a712458e9012d8a5f648fba5b23a5057cf5d8372c7f931262595f1575c32c32b9cb1a04af670ff4611e7df48d197e5c4cc038d6b65439a28a
DIST sudo-1.8.31p1.tar.gz 3351312 BLAKE2B 85775ef574a3a1a9cc749809fe81f8350f7a4e3f46a905bc3392790b20bb7bc8e3c99fb504e01776f3a92aa6afa7972d3ff1c071aadd3a08ee1d2281f8b9ba50 SHA512 9344fd1d8a8445e8afb9c5628cdc832fe32ea29199f071f35fb6ec694371801556df560f4382afec199f468b1f3264ad5e3a89e964612e571b8d911f823724cc
DIST sudo-1.9.0rc2.tar.gz 3722476 BLAKE2B 490ecc4604c242a09d98bd1da3bb46c977f22d308d269a99c858f77576934e7d2fc27cd641bcca67323f74165eadbc6e63064e63759ba0e1d4a743b14b701bd7 SHA512 a68bd37e0d848dba1ea9e48313a3cac5153ea1be7635a1f5a342f245c183b486f2868f9217d2667dafed9d504a1442239c3a434b2bab2ff109aac980815e53fa

@ -0,0 +1,259 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit pam multilib libtool tmpfiles
MY_P="${P/_/}"
MY_P="${MY_P/beta/b}"
DESCRIPTION="Allows users or groups to run commands as other users"
HOMEPAGE="https://www.sudo.ws/"
if [[ ${PV} == "9999" ]] ; then
inherit mercurial
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
else
uri_prefix=
case ${P} in
*_beta*|*_rc*) uri_prefix=beta/ ;;
esac
SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~sparc-solaris"
fi
fi
# Basic license is ISC-style as-is, some files are released under
# 3-clause BSD license
LICENSE="ISC BSD"
SLOT="0"
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
DEPEND="
sys-libs/zlib:=
gcrypt? ( dev-libs/libgcrypt:= )
ldap? (
>=net-nds/openldap-2.1.30-r1
sasl? (
dev-libs/cyrus-sasl
net-nds/openldap[sasl]
)
)
pam? ( sys-libs/pam )
sasl? ( dev-libs/cyrus-sasl )
skey? ( >=sys-auth/skey-1.1.5-r1 )
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
sssd? ( sys-auth/sssd[sudo] )
"
RDEPEND="
${DEPEND}
>=app-misc/editor-wrapper-3
virtual/editor
ldap? ( dev-lang/perl )
pam? ( sys-auth/pambase )
selinux? ( sec-policy/selinux-sudo )
sendmail? ( virtual/mta )
"
BDEPEND="
sys-devel/bison
"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
pam? ( !skey )
skey? ( !pam )
"
MAKEOPTS+=" SAMPLES="
src_prepare() {
default
elibtoolize
}
set_secure_path() {
# FIXME: secure_path is a compile time setting. using PATH or
# ROOTPATH is not perfect, env-update may invalidate this, but until it
# is available as a sudoers setting this will have to do.
einfo "Setting secure_path ..."
# first extract the default ROOTPATH from build env
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
echo "${ROOTPATH}")
case "${SECURE_PATH}" in
*/usr/sbin*) ;;
*) SECURE_PATH=$(unset PATH;
. "${EPREFIX}"/etc/profile.env; echo "${PATH}")
;;
esac
if [[ -z ${SECURE_PATH} ]] ; then
ewarn " Failed to detect SECURE_PATH, please report this"
fi
# then remove duplicate path entries
cleanpath() {
local newpath thisp IFS=:
for thisp in $1 ; do
if [[ :${newpath}: != *:${thisp}:* ]] ; then
newpath+=:${thisp}
else
einfo " Duplicate entry ${thisp} removed..."
fi
done
SECURE_PATH=${newpath#:}
}
cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
# finally, strip gcc paths #136027
rmpath() {
local e newpath thisp IFS=:
for thisp in ${SECURE_PATH} ; do
for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
newpath+=:${thisp}
done
SECURE_PATH=${newpath#:}
}
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
einfo "... done"
}
src_configure() {
local SECURE_PATH
set_secure_path
# audit: somebody got to explain me how I can test this before I
# enable it.. - Diego
# plugindir: autoconf code is crappy and does not delay evaluation
# until `make` time, so we have to use a full path here rather than
# basing off other values.
myeconfargs=(
# requires some python eclass
--disable-python
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
--enable-zlib=system
--with-editor="${EPREFIX}"/usr/libexec/editor
--with-env-editor
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
--with-rundir="${EPREFIX}"/run/sudo
--with-vardir="${EPREFIX}"/var/db/sudo
--without-linux-audit
--without-opie
$(use_enable gcrypt)
$(use_enable nls)
$(use_enable sasl)
$(use_enable ssl openssl)
$(use_with ldap)
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
$(use_with offensive insults)
$(use_with offensive all-insults)
$(use_with pam)
$(use_with pam pam-login)
$(use_with secure-path secure-path "${SECURE_PATH}")
$(use_with selinux)
$(use_with sendmail)
$(use_with skey)
$(use_with sssd)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
if use ldap ; then
dodoc README.LDAP
cat <<-EOF > "${T}"/ldap.conf.sudo
# See ldap.conf(5) and README.LDAP for details
# This file should only be readable by root
# supported directives: host, port, ssl, ldap_version
# uri, binddn, bindpw, sudoers_base, sudoers_debug
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
EOF
if use sasl ; then
cat <<-EOF >> "${T}"/ldap.conf.sudo
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
EOF
fi
insinto /etc
doins "${T}"/ldap.conf.sudo
fperms 0440 /etc/ldap.conf.sudo
insinto /etc/openldap/schema
newins doc/schema.OpenLDAP sudo.schema
fi
pamd_mimic system-auth sudo auth account session
keepdir /var/db/sudo/lectured
fperms 0700 /var/db/sudo/lectured
fperms 0711 /var/db/sudo #652958
# Don't install into /run as that is a tmpfs most of the time
# (bug #504854)
rm -rf "${ED}"/run || die
find "${ED}" -type f -name "*.la" -delete || die #697812
}
pkg_postinst() {
tmpfiles_process sudo.conf
#652958
local sudo_db="${EROOT}/var/db/sudo"
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
chmod 711 "${sudo_db}" || die
fi
if use ldap ; then
ewarn
ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
ewarn
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
ewarn "configured in /etc/nsswitch.conf."
ewarn
ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
ewarn " sudoers: ldap files"
ewarn
fi
fi
if use prefix ; then
ewarn
ewarn "To use sudo, you need to change file ownership and permissions"
ewarn "with root privileges, as follows:"
ewarn
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
ewarn
fi
elog "To use the -A (askpass) option, you need to install a compatible"
elog "password program from the following list. Starred packages will"
elog "automatically register for the use with sudo (but will not force"
elog "the -A option):"
elog ""
elog " [*] net-misc/ssh-askpass-fullscreen"
elog " net-misc/x11-ssh-askpass"
elog ""
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
elog "variable to the program you want to use."
}

@ -30,10 +30,11 @@ fi
# 3-clause BSD license
LICENSE="ISC BSD"
SLOT="0"
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey sssd system-digest"
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
DEPEND="
sys-libs/zlib:=
gcrypt? ( dev-libs/libgcrypt:= )
ldap? (
>=net-nds/openldap-2.1.30-r1
sasl? (
@ -44,14 +45,11 @@ DEPEND="
pam? ( sys-libs/pam )
sasl? ( dev-libs/cyrus-sasl )
skey? ( >=sys-auth/skey-1.1.5-r1 )
sssd? ( sys-auth/sssd[sudo] )
system-digest? (
gcrypt? ( dev-libs/libgcrypt:= )
!gcrypt? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
)
sssd? ( sys-auth/sssd[sudo] )
"
RDEPEND="
${DEPEND}
@ -137,36 +135,34 @@ src_configure() {
# until `make` time, so we have to use a full path here rather than
# basing off other values.
myeconfargs=(
--enable-zlib=system
# requires some python eclass
--disable-python
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
--enable-zlib=system
--with-editor="${EPREFIX}"/usr/libexec/editor
--with-env-editor
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
--with-rundir="${EPREFIX}"/run/sudo
$(use_with secure-path secure-path "${SECURE_PATH}")
--with-vardir="${EPREFIX}"/var/db/sudo
--without-linux-audit
--without-opie
$(use_enable gcrypt)
$(use_enable nls)
$(use_enable sasl)
$(use_enable ssl openssl)
$(use_with ldap)
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
$(use_with offensive insults)
$(use_with offensive all-insults)
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
$(use_with ldap)
$(use_with pam)
$(use_with skey)
$(use_with sssd)
$(use_with pam pam-login)
$(use_with secure-path secure-path "${SECURE_PATH}")
$(use_with selinux)
$(use_with sendmail)
$(use_with skey)
$(use_with sssd)
)
if use system-digest && ! use gcrypt; then
myeconfargs+=("--enable-openssl")
else
myeconfargs+=("--disable-openssl")
fi
econf "${myeconfargs[@]}"
}
@ -209,7 +205,7 @@ src_install() {
# Don't install into /run as that is a tmpfs most of the time
# (bug #504854)
rm -rf "${ED}"/run
rm -rf "${ED}"/run || die
find "${ED}" -type f -name "*.la" -delete || die #697812
}

@ -1,2 +1,3 @@
DIST sysstat-12.2.1.tar.gz 1227707 BLAKE2B 566382d83a0230517d22e2630a9cb1aa631d761c914188a4e7fb15eddaedbd25b8a3dffa9893b1b2bbcc31d87a37cbe11b2b50ab0ec94a28f84018685d1b35c8 SHA512 a19d0978eb11071c228462cda496a59721541e57a1d15cb2d0964f287ac2d50b5587fa5bc2b8fe6be2a1f00cbf2e7c3bc59db6494e3e8c1906aa81437b30d073
DIST sysstat-12.3.1.tar.gz 1245248 BLAKE2B 69848c452642be992c7b4af33268c0d6b30f16e5ea44ec13b00ab57e6ec3b498d92b707a53757de9066138a9ee92b995765f44f75f692e1b3c68d829519d53ca SHA512 f67a2dac22748217687bd7f58521c0719754f13298fb5faed8a6d58c2bb1f8620428191d0415e816eea07bb3ca81453e057d03c7db0096430ad7d6ba6b7b611e
DIST sysstat-12.3.2.tar.gz 1335057 BLAKE2B e075d0def13cd786dd0c3c49d0770cfe3e946a6b6f500e4364bc30d79fdec08ee8b4c4a2ef3b0188da3435f5921e0b27c8dbd8845a6c6116cba88f8684992674 SHA512 e78feb082a6ccd634f1f1565769b56a6b7aee95853334e73395489445f6f0d96d2b5bdfeacec16f4530be8383ebc3b6b126e7df93abc3e67c409b3791d02e275

@ -0,0 +1,81 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit eutils flag-o-matic systemd toolchain-funcs
DESCRIPTION="System performance tools for Linux"
HOMEPAGE="http://pagesperso-orange.fr/sebastien.godard/"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="debug nls lm-sensors selinux static"
CDEPEND="
nls? ( virtual/libintl )
lm-sensors? ( sys-apps/lm-sensors:= )
"
DEPEND="
${CDEPEND}
nls? ( sys-devel/gettext )
"
RDEPEND="
${CDEPEND}
selinux? ( sec-policy/selinux-sysstat )
"
PATCHES=(
"${FILESDIR}"/${PN}-11.0.4-cron.patch
"${FILESDIR}"/${PN}-11.7.3-flags.patch
)
src_prepare() {
if use nls; then
strip-linguas -i nls/
local lingua pofile
for pofile in nls/*.po; do
lingua=${pofile/nls\/}
lingua=${lingua/.po}
if ! has ${lingua} ${LINGUAS}; then
rm "nls/${lingua}.po" || die
fi
done
fi
default
}
src_configure() {
tc-export AR
use static && append-ldflags -static
sa_lib_dir=/usr/lib/sa \
conf_dir=/etc \
econf \
$(use_enable lm-sensors sensors) \
$(use_enable nls) \
$(usex debug --enable-debuginfo '') \
--enable-copy-only \
--enable-documentation \
--enable-install-cron \
--with-systemdsystemunitdir=$(systemd_get_systemunitdir)
}
src_install() {
keepdir /var/log/sa
emake \
CHOWN=true \
DESTDIR="${D}" \
DOC_DIR=/usr/share/doc/${PF} \
MANGRPARG='' \
install
dodoc -r contrib/
newinitd "${FILESDIR}"/${PN}.init.d ${PN}
systemd_dounit ${PN}.service
rm "${D}"/usr/share/doc/${PF}/COPYING || die
}

Binary file not shown.

@ -71,6 +71,14 @@ multilib_src_install() {
for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do
dosym libbz2.so.${PV} /usr/$(get_libdir)/${v}
done
# Install libbz2.so.1.0 due to accidental soname change in 1.0.7.
# Reference: 98da0ad82192d21ad74ae52366ea8466e2acea24.
# OK to remove one year after 2020-04-11.
if [[ ! -L "${ED}/usr/$(get_libdir)/libbz2.so.1.0" ]]; then
dosym libbz2.so.${PV} "/usr/$(get_libdir)/libbz2.so.1.0"
fi
use static-libs && dolib.a libbz2.a
if multilib_is_native_abi ; then

@ -36,6 +36,13 @@ multilib_src_compile() {
multilib_src_install() {
meson_src_install
# Install libbz2.so.1.0 due to accidental soname change in 1.0.7.
# Reference: 98da0ad82192d21ad74ae52366ea8466e2acea24.
# OK to remove one year after 2020-04-11.
if [[ ! -L "${ED}/usr/$(get_libdir)/libbz2.so.1.0" ]]; then
dosym libbz2.so.1 "/usr/$(get_libdir)/libbz2.so.1.0"
fi
if multilib_is_native_abi ; then
gen_usr_ldscript -a bz2

@ -49,7 +49,7 @@
@@ -36,24 +36,10 @@
all: $(OBJS)
$(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.7 $(OBJS)
$(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.7 $(OBJS)
- $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.7
- rm -f libbz2.so.1.0
- ln -s libbz2.so.1.0.7 libbz2.so.1.0

@ -6,7 +6,7 @@
all: $(OBJS)
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.7 $(OBJS)
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.7
+ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.7 $(OBJS)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.7 $(OBJS)
+ $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.7
rm -f libbz2.so.1.0
ln -s libbz2.so.1.0.7 libbz2.so.1.0

@ -49,7 +49,7 @@
@@ -36,24 +36,10 @@
all: $(OBJS)
$(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
$(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
- $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
- rm -f libbz2.so.1.0
- ln -s libbz2.so.1.0.8 libbz2.so.1.0

@ -6,7 +6,7 @@
all: $(OBJS)
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
+ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
+ $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
rm -f libbz2.so.1.0
ln -s libbz2.so.1.0.8 libbz2.so.1.0

@ -1,3 +1,2 @@
DIST XADMaster-1.10.6.tar.gz 2064628 BLAKE2B 34203e5280a8e450db616849a953eb9f5147c8fe2922fabdcfce8585fd4bbe2c3aad76921368818e546d60d64b9c59de942cb63008edec83efa29ce4f5caae7f SHA512 f6e51943fd3ced9d0a0a2189db0a7a45d7f59e8109e78406b8c434f568fb53d791613e51437996cb1debae7d4490cdfabc9fa1fdfcc621ad97a43770af6b13e8
DIST XADMaster-1.10.7.tar.gz 2064770 BLAKE2B f6119dfb46f3d617fafb5847f41d6c0f3e5e87c8cd0763cd8e5986fae1d5b1c6e6761e9e7e4fa84125003979151b2b34d35ff47dc9be3271107cf53f1be22644 SHA512 3447b6d8f3f4fa5eea93c6628a1633017da6ff09c580d5ce4fd422027b3b79acbf38d6e41a059806d1e60eb25a9d66889938b32599168dc2c0ca648e1c1976b1
DIST universal-detector-1.1.tar.gz 196274 BLAKE2B d84dc1f850031213d88c288341edcbb588197f23ae0d10632ed129e73e4cc2b7670c8c862bba2165fcc7421c265e4dc3e791ea188e3d2b647bd1ab9b428bb866 SHA512 e514670b3d37b2472ed3e9cb0fdc3298a8479772264b7573411f104be554222bec2e01f73e1f35db95620fe785bee2dcf9ddc9c2b1f4ff6b522fa64d14d020f5

@ -1,60 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 toolchain-funcs
DESCRIPTION="Unpacker for various archiving formats, e.g. rar v3"
HOMEPAGE="https://unarchiver.c3.cx/"
SRC_URI="
https://github.com/MacPaw/XADMaster/archive/v${PV}/XADMaster-${PV}.tar.gz
https://github.com/MacPaw/universal-detector/archive/1.1/universal-detector-1.1.tar.gz
"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
BDEPEND="
sys-devel/gcc[objc]
"
RDEPEND="
app-arch/bzip2:=
dev-libs/icu:=
gnustep-base/gnustep-base
media-sound/wavpack
sys-libs/zlib
"
DEPEND="${RDEPEND}
${BDEPEND}
gnustep-base/gnustep-make[native-exceptions]
"
S="${WORKDIR}/XADMaster-${PV}"
src_prepare() {
default
# avoid jobserver warning "make[1]: warning: jobserver unavailable: using -j1"
sed -i -e 's:make:$(MAKE):g' Makefile.linux || die
mv "${WORKDIR}/universal-detector-1.1" "${WORKDIR}/UniversalDetector" || die
}
src_compile() {
emake -f Makefile.linux \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
OBJCC="$(tc-getCC)" \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
OBJCFLAGS="${CFLAGS}" \
LD="$(tc-getCXX)" \
LDFLAGS="-Wl,--whole-archive -fexceptions -fgnu-runtime ${LDFLAGS}"
}
src_install() {
dobin {ls,un}ar
doman Extra/{ls,un}ar.1
dobashcomp Extra/{ls,un}ar.bash_completion
}

@ -14,7 +14,7 @@ SRC_URI="
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
BDEPEND="
sys-devel/gcc[objc]

Binary file not shown.

@ -1,4 +1,4 @@
DIST dar-2.5.11.tar.gz 1891928 BLAKE2B 536cccca2533f7ddbc8b95972fe00e9c87a404481e6afbd7aa3634c00598403c18950eb876aefe71a818c3bf4df75bff5f3904dc69bd1d75880f6c8a349911a5 SHA512 36b90218a34ac7f41ce9ca0a2167cfb2fd243b23b8e84350153e8804f0faabf87291b4e4b061533bcb0ca079f087c074eeaa12a54ee8084dd386a072ac503847
DIST dar-2.5.18.tar.gz 1931746 BLAKE2B 3d47665a1ab955ab9467d8f10a686565c549e1be57e77a9bcf65f1ea25c9b70d6d148d4b9dc35112b3ca74f9df05505c74e3a7eaa211b6a8b466308121206a2f SHA512 cde787bb4c3a3a1014efdb5e437b963d762eb87c512e1de1d60471035c535965e03adb5f75abc2bc95633bb6fb61226027d836a87fc903995e3a27a540632e69
DIST dar-2.6.4.tar.gz 2110571 BLAKE2B 769fd08d72e3a33066749ea8c93cd7eec8091796343f27eb991e751843ccad440afe5e24e54e148865da64764d465e1a4a057005a80f9dcf103f0c960c295669 SHA512 ba78936e645cc06f94e64bf0e288398ee522b4be6c3501f9b21d7038d7a66a083386c7520aaaddd265de68937d017dcb2fd87bf06f3e2a91f444f3307b4c15b9
DIST dar-2.6.5.tar.gz 2104866 BLAKE2B c31e06abb384d03d0180d3dd99067916de96286838a1aef8748ae6119651ac142388633c7946d0c7864f41a42c555ac79b0811af7594c5d6370fb9c30b975bc9 SHA512 e646ac51c5c140ca3e573a4e63ba47af6fcf19c0aeaa0d4791dd7e781478c8981cd31e1a2418d2f1fd8ab92f2c9812f3b712bc0fcbbcdfbd131c8937100a4790
DIST dar-2.6.9.tar.gz 2137419 BLAKE2B 647dbd272832dabd8c6255ebc27040dceb428d7ea807146c5c4eabb7095eb7c57010a11a5bc3dfa73aa299c627e5230be9560ca5246b7591ed9705dac17181cd SHA512 9ee4624fa1cfa0e523653e3dca032a8b7ac200b3318ba21869c19a9102dd11a923c979e5186591011161a2ed07f3c7668b572620b3be197d4bfaea903c259151

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -66,6 +66,7 @@ src_configure() {
# Do _not_ use $(use_enable) until you have verified that the
# logic has been fixed by upstream.
local myconf=(
--disable-python-binding
--disable-upx
$(usex curl '' --disable-libcurl-linking)
$(usex dar32 --enable-mode=32 '')

@ -1,2 +1,3 @@
DIST mkstage4-0.1.tar.gz 15220 BLAKE2B 43f091615d4fbb19495c2103729556ec307501f93c60bd0df676f710868d932dc7bb7e0a1c2f6613d0cc2edc266f9b9f7b74e534e84a7d41a4bf4f66c09f98e4 SHA512 e42d23ffe214c9fef8dde94f8b8faa32490e9e553f182f042a2c4d713a72031c9560e291b6231a0ced812e43f80a58cb3fa5bfdc4ad7e132d7ea7c74525d64c5
DIST mkstage4-0.2.tar.gz 15998 BLAKE2B 47ce4335ea5dd9cc0defb2897912ce3169e1ef23d03435ed7500a33f26e5646b1b97aebcac286a93e631f11c491cb076831d62c7b565493458c0882e6f359b94 SHA512 31b77782e6b79db1cb1db7baf30a2bd96e828861a9085b257d554d0991ea16299c3cc9a6e3fa2af5738aeb3ffbd040f6627af3510ccb8fd744b59658acc2dd55
DIST mkstage4-0.3.tar.gz 18648 BLAKE2B 3a881bc1ec14f5c9795d49306966b586c30a8b415542fb500b5a2af7735008832ebc64f0a166ea4e2fdb48a555bd789b352784f1b05118116ae3f634937beed6 SHA512 6971bf4b43a2fdef0b54802b010c99e95caf896c8e109c54f5a6beb4db1714ea5639e0859ba3f958eed92b9fc6a3bb613bb82de440729e71e53543d60549d2db

@ -10,10 +10,10 @@
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
This is a bash script to create stage 4 tarballs either for the
running system, or a system at a specified mount point. It is
highly parameterized allowing the exclusion of sensitive user
data.
This is a bash script which can create stage 4 tarballs either
for the running system, or a system at a specified mount point.
It is highly parameterized allowing among other things the
exclusion of sensitive user data.
</longdescription>
<upstream>
<remote-id type="github">TheChymera/mkstage4</remote-id>

@ -0,0 +1,29 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Bash Utility for Creating Stage 4 Tarballs"
HOMEPAGE="https://github.com/TheChymera/mkstage4"
SRC_URI="https://github.com/TheChymera/mkstage4/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-util/bats )"
RDEPEND="
app-shells/bash
app-arch/tar
"
src_install() {
newbin mkstage4.sh mkstage4
einstalldocs
}
src_test() {
bats tests/* || die
}

@ -1,7 +1,7 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit git-r3
@ -20,4 +20,5 @@ RDEPEND="app-shells/bash
src_install() {
newbin mkstage4.sh mkstage4
einstalldocs
}

@ -12,7 +12,7 @@ SRC_URI="https://github.com/rdiff-backup/${PN}/releases/download/v${PV}/${P}.tar
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm ~mips ppc ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="examples"
DEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]

Binary file not shown.

@ -3,3 +3,4 @@ DIST Geekbench-2.4.3-Linux.tar.gz 3337551 BLAKE2B cb660f3c08cc812cb23374032490a1
DIST Geekbench-3.4.2-Linux.tar.gz 9986039 BLAKE2B 63d7e768d65bc033260a0d99da17df2e518750f19882e63dbc9bbe6ff0b52a8cddb35b9143e85c01838bf5d77a04599578fc0a57a3e6fd89e7aec8c8ffdd4f5b SHA512 a61a5d5481682baefdce64f6054c3373900e8cd585dcbfa2feabbf386032986b40b603619c552102401a83e0b748831d00af5b5b5278e88ef42dee176adf06e9
DIST Geekbench-4.4.1-Linux.tar.gz 71076124 BLAKE2B 14c2b80c971798e7d2bb256e76c7ab9c48e8c1c389e2f7547a436f706ac4f21c1e52e564cd584893071ee2f9f0a4747cd03ea72cc728ff8e4f369d5cc794d77a SHA512 fa687d33a7d7a2d09c544e3d17de93f41cfa77915c708cd1ef0743f84f7f83df9d3f8df2872a8f85ed2c4c872e3cd41932685ffeb19cdb0ea047ab5116713420
DIST Geekbench-5.1.0-Linux.tar.gz 92931499 BLAKE2B 0d1971d22ecb79451c59af3c77b987a0ed007a673122c74f4f4912815c8988194fed4e86ce7f059f78877b2aa79d436741bd07c7c124e5344e1a314b583bedcb SHA512 bfdb2e5a2954f6a481cc214ca9f384bbf6d06aac81306fbbbf0a0282d2dd016454a76eb93a218b97f2a556692dde0d9c0d3b0b97d9ab4d670460ae2e50b1925b
DIST Geekbench-5.1.1-Linux.tar.gz 92622793 BLAKE2B 178b57d02de43e995f4dc39bd9514bb30fbe470d82572ba43aac08004609c07c656285beb543b3e3832df39bc2e26e41bb8c7d1f617f0846f930183e67a73436 SHA512 0f0a8206ced8cbaf271d964ece273a800bdd1d5b5918130aca2e31cab59f7d716c1b714b96a934e5b0fab8a9b73d1fcdc7ea9cd7ef37963b1a923cdefb542a78

@ -0,0 +1,43 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
HOMEPAGE="https://www.geekbench.com/"
SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
LICENSE="geekbench"
SLOT="5"
RESTRICT="bindist mirror"
S="${WORKDIR}/Geekbench-${PV}-Linux"
QA_PREBUILT="
opt/geekbench5/geekbench5
opt/geekbench5/geekbench_x86_64
"
pkg_nofetch() {
elog "Please download ${A} from ${HOMEPAGE}/download/linux"
elog "and place it in your DISTDIR directory."
}
src_install() {
exeinto /opt/geekbench5
doexe geekbench5 geekbench_x86_64
insinto /opt/geekbench5
doins geekbench.plar
dodir /opt/bin
dosym ../geekbench5/geekbench5 /opt/bin/geekbench5
}
pkg_postinst() {
elog "If you have purchased a commercial license, you can enter"
elog "your email address and your license key with the following command:"
elog "geekbench5 -r <email address> <license key>"
}

Binary file not shown.

@ -11,7 +11,7 @@ SRC_URI="https://github.com/P-H-C/phc-winner-argon2/archive/${PV}.tar.gz -> ${P}
LICENSE="|| ( Apache-2.0 CC0-1.0 )"
SLOT="0/1"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86"
IUSE="static-libs"
S="${WORKDIR}/phc-winner-${P}"

@ -0,0 +1,17 @@
#!/sbin/openrc-run
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
name="jitterentropy daemon"
command="/usr/sbin/jitterentropy-rngd"
pidfile="/run/jitterentropy-rngd.pid"
command_args="--pid ${pidfile}"
depend() {
need localmount
before net
use logger
provide entropy
}

@ -6,7 +6,7 @@ EAPI=7
inherit linux-info systemd
DESCRIPTION="Jitter RNG daemon"
HOMEPAGE="http://www.chronox.de/jent.html"
HOMEPAGE="https://www.chronox.de/jent.html"
SRC_URI="https://github.com/smuellerDD/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
@ -21,4 +21,5 @@ PATCHES=(
src_install() {
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
UNITDIR="$(systemd_get_systemunitdir)" install
newinitd "${FILESDIR}"/jitterentropy-rngd-initd jitterentropy-rngd
}

Binary file not shown.

@ -1,3 +1,3 @@
DIST nano-4.6.tar.gz 2970798 BLAKE2B d6dfc702d374d1cbcd61080c8e0082b7931dc8c593c97eb705d878d25487a78dc1ebcb8004f742f5ecc3af1b5a31abcf6577e87aba96fb95d16029ff55e7af58 SHA512 76fb43495ca1f88ee8864eee5d023b6cd86bc35fba00151b4c6af53ae06e6b3828379e7d52a16c7df0956e9e04602a86ff8e8a7c1997320507ca041195bf004b
DIST nano-4.9.1.tar.gz 2995183 BLAKE2B a5e455d94e683bd3ae00c37bd4395465ded281e1cbf434a0035b2d816b53b6d24f3fc966c44c8da643122dc2920f8ddefb0d37574baafe947dd107e1ede7034d SHA512 155622092ee5a99dab30a6acd5cf35ecf087476aa48eabcdf7e1259af098483f84eef7569380fe7c47d4d69f63e61af10a3cc5c29c45f1242c17366c0f15835b
DIST nano-4.9.tar.gz 3000427 BLAKE2B 37ed08fa6b902951687ef26a527e1a0da3199946c73bed5d9fd0464a76af643b55a0900e7c1a1237af31867a7231f1b383dad423e780408560fa8246b18e30a4 SHA512 abce064a5cb55f730e41a7a8fbd8b2f9626fc6834b30cd05d62fe73b7f284d8cd80f44c6b84bb5370b980f00d3a71cf8c33408628229c2ee3b8a1670fa5e953c
DIST nano-4.9.2.tar.gz 2996106 BLAKE2B f3de611022f72de050f96b254a10fb9587014e4e239e34024d1941f9bd5d6abef17dbd1da95bba7cd328237137be1c79421ef7423cf40bab6a5577f9ae8ba587 SHA512 bbb43b63e03d104f168394c00778b5674249285c2400bb4664738a5badc7e5320b5a96f6b0275aa4e6f34f8127830564e87a8658442e358e5261116c595155b6

Binary file not shown.

@ -1,4 +1 @@
DIST diskimage-builder-2.33.0.tar.gz 434041 BLAKE2B 16d14c68e7a54b785426516ecced4adb53b4e84f36d36846732ef7c4823644375373249ceacd1371e39262ebc9050f2f86184718dc3fb17b44eaa20f561410c0 SHA512 125bdcc0a2d4249918485115c49482746e4f86cb7883d3689afd4288a0d18ca97bcb669b811034ccb159879520172ca37bd9f9d7ba4ea509f788be0f3cf2259b
DIST diskimage-builder-2.34.0.tar.gz 436267 BLAKE2B b234385fedb48ec32c7fb8b684bd5531e04e342b237cc2090bd69742774a58868a1021767fb281a06cff1507d7d0c109ecb26caea61d0075ddf1a0fff9b1b48b SHA512 ddad45d57fc59c64a07276492354a7ea6d6aea76e300f1fce202208159a285c51dfc851f6630287b19c9f5685315cdcab1125e37cea90a92c361ea38e82a5a33
DIST diskimage-builder-2.34.1.tar.gz 429161 BLAKE2B e408a3018b0628f82bacaeadc6d55527dac108ae6a0516761b43b684f0b3c98aaeba7303474b0abed38b526092c48c984dcd1d6af755a0a17c039899988c5261 SHA512 1f529a217ba249fc88e2ffb3647819aac8cd5ace9eaa2df0ca731a7aeff96d5203c68252f0dbc5918d01884a4ed10ed8badb50edb0b732835de9710929396569
DIST diskimage-builder-2.35.0.tar.gz 439947 BLAKE2B 9b148948caef031f44992aaa2b0463b6cc9390b0591fdfe6e82d8258becda61eb5aa0d87ae91ed73523057ae357dcf327d7ca9d8d6a1b66da7f2d535d6c32dc1 SHA512 c5ad15c7a793a6c4b17e09fb119ad1444273f930741ae68491ce3a95f416cf8bb76ed0f6df4e34e03359355426c9189f2f5a8b730cb9ffd027a0bbd676f62310

@ -1,39 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="Golden Disk Image builder."
HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
!~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="${CDEPEND}
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
sys-block/parted
sys-fs/multipath-tools
sys-fs/dosfstools
sys-apps/gptfdisk
!dev-python/dib-utils[${PYTHON_USEDEP}]"

@ -1,39 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="Golden Disk Image builder."
HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
!~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="${CDEPEND}
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
sys-block/parted
sys-fs/multipath-tools
sys-fs/dosfstools
sys-apps/gptfdisk
!dev-python/dib-utils[${PYTHON_USEDEP}]"

@ -1,39 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="Golden Disk Image builder."
HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
!~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
DEPEND="${CDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND="${CDEPEND}
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
sys-block/parted
sys-fs/multipath-tools
sys-fs/dosfstools
sys-apps/gptfdisk
!dev-python/dib-utils[${PYTHON_USEDEP}]"

@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0"

@ -1 +1,2 @@
DIST docker-compose-1.25.4.tar.gz 306513 BLAKE2B 86c779d794deca7ede0adc80041b17a96b21798d2807065e2c9ea804a95fcaf24a8b92fbcad6c7ce4d1b9d1fb3c9ad348b630e3f10bfd032202995a4c34ab019 SHA512 860153fb603d7efcc76535c9997446a2e6fe18f61769d4f05f51b531902a66072be11e3cff012ba80240b0a7802a032495a2a55e053a9784df92b82e5351b72e
DIST docker-compose-1.25.5.tar.gz 308569 BLAKE2B 5d5d1fd60f9bcb87f7e9628dbe10b275996f9af38fb8488a547f4cb5427e6f7aaac09a98a421a0c35a7c2c863713e5de9a490ad21adf080f74a7c3bc4336559b SHA512 efe59bd5e82e12e63c82341ccf5ca11eaebd47c8154a50b40d39bc98ec48c37532919335172a5667f036bab4e884df950ebc4b4ccab8174200cc7ea6683bbbd7

@ -0,0 +1,68 @@
# Copyright 2018-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit bash-completion-r1 distutils-r1
DESCRIPTION="Multi-container orchestration for Docker"
HOMEPAGE="https://github.com/docker/compose"
SRC_URI="https://github.com/docker/compose/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}]
>=dev-python/docker-py-3.7.0[${PYTHON_USEDEP}]
>=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
>=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
>=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}]
dev-python/paramiko[${PYTHON_USEDEP}]
>=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
>=dev-python/six-1.3.0[${PYTHON_USEDEP}]
>=dev-python/texttable-0.9.0[${PYTHON_USEDEP}]
>=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
test? (
>=dev-python/pytest-5[${PYTHON_USEDEP}]
dev-python/ddt[${PYTHON_USEDEP}]
)"
S="${WORKDIR}/compose-${PV}"
PATCHES=(
# Bug #679968 -- https://bugs.gentoo.org/679968
# Bug #681002 -- https://bugs.gentoo.org/681002
"${FILESDIR}"/${PN}-1.25.2-setup-py.patch
)
src_prepare() {
# Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
default
}
python_test() {
distutils_install_for_testing
${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}"
}
python_install_all() {
newbashcomp contrib/completion/bash/docker-compose ${PN}
insinto /usr/share/zsh/site-functions
doins contrib/completion/zsh/*
distutils-r1_python_install_all
}

@ -0,0 +1,33 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
description="Virtual Machine Management daemon (libvirt)"
LIBVIRTD_OPTS=${LIBVIRTD_OPTS:-"${LIBVIRTD_OPTS}"}
LIBVIRTD_TIMEOUT=${LIBVIRTD_TERMTIMEOUT:-"TERM/25/KILL/5"}
command="/usr/sbin/libvirtd"
command_args="${LIBVIRTD_OPTS}"
start_stop_daemon_args="-b --env KRB5_KTNAME=/etc/libvirt/krb5.tab"
pidfile="/run/libvirtd.pid"
retry="${LIBVIRTD_TERMTIMEOUT}"
depend() {
need virtlogd
use ceph dbus iscsid virtlockd
after cgconfig corosync ebtables iptables ip6tables nfs nfsmount ntp-client ntpdportmap rpc.statd sanlock xenconsoled
USE_FLAG_FIREWALLD
}
start_pre() {
# Test configuration directories in /etc/libvirt/ to be either not
# present or a directory, i.e. not a regular file, bug #532892
checkpath --directory /etc/libvirt/lxc || return 1
checkpath --directory /etc/libvirt/nwfilter || return 1
[ -L /etc/libvirt/qemu ] ||
checkpath --directory /etc/libvirt/qemu || return 1
[ -L /etc/libvirt/storage ] ||
checkpath --directory /etc/libvirt/storage || return 1
}

@ -0,0 +1,23 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
description="libvirt virtual machine lock manager"
command="/usr/sbin/virtlockd"
start_stop_daemon_args="-b"
pidfile="/run/virtlockd.pid"
extra_started_commands="reload"
description_reload="re-exec the daemon, while maintaining locks and clients"
depend() {
after ntp-client ntpd nfs nfsmount corosync
}
reload() {
ebegin "re-exec() virtlockd"
start-stop-daemon --signal SIGUSR1 \
--exec "${command}" --pidfile "${pidfile}"
}

@ -0,0 +1,23 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
description="libvirt virtual machine logging manager"
command="/usr/sbin/virtlogd"
start_stop_daemon_args="-b"
pidfile="/run/virtlogd.pid"
extra_started_commands="reload"
description_reload="re-exec the daemon, while maintaining open connections"
depend() {
after ntp-client ntpd nfs nfsmount corosync
}
reload() {
ebegin "re-exec() virtlogd"
start-stop-daemon --signal SIGUSR1 \
--exec "${command}" --pidfile "${pidfile}"
}

@ -219,7 +219,7 @@ src_prepare() {
default
# Tweak the init script:
cp "${FILESDIR}/libvirtd.init-r18" "${S}/libvirtd.init" || die
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
-i "${S}/libvirtd.init" || die "sed failed"
@ -328,8 +328,8 @@ my_src_install() {
newinitd "${S}/libvirtd.init" libvirtd
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd
newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests

@ -218,7 +218,7 @@ src_prepare() {
default
# Tweak the init script:
cp "${FILESDIR}/libvirtd.init-r18" "${S}/libvirtd.init" || die
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
-i "${S}/libvirtd.init" || die "sed failed"
@ -327,8 +327,8 @@ my_src_install() {
newinitd "${S}/libvirtd.init" libvirtd
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd
newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests

@ -0,0 +1,144 @@
From 8ffb7265af64ec81748335ec8f20e7ab542c3850 Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Tue, 24 Mar 2020 22:57:22 +0530
Subject: [PATCH] net: tulip: check frame size and r/w data length
Tulip network driver while copying tx/rx buffers does not check
frame size against r/w data length. This may lead to OOB buffer
access. Add check to avoid it.
Limit iterations over descriptors to avoid potential infinite
loop issue in tulip_xmit_list_update.
Reported-by: Li Qiang <pangpei.lq@antfin.com>
Reported-by: Ziming Zhang <ezrakiez@gmail.com>
Reported-by: Jason Wang <jasowang@redhat.com>
Tested-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/tulip.c | 36 +++++++++++++++++++++++++++---------
1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/hw/net/tulip.c b/hw/net/tulip.c
index cfac2719d3..1295f51d07 100644
--- a/hw/net/tulip.c
+++ b/hw/net/tulip.c
@@ -170,6 +170,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
} else {
len = s->rx_frame_len;
}
+
+ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
+ return;
+ }
pci_dma_write(&s->dev, desc->buf_addr1, s->rx_frame +
(s->rx_frame_size - s->rx_frame_len), len);
s->rx_frame_len -= len;
@@ -181,6 +185,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
} else {
len = s->rx_frame_len;
}
+
+ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
+ return;
+ }
pci_dma_write(&s->dev, desc->buf_addr2, s->rx_frame +
(s->rx_frame_size - s->rx_frame_len), len);
s->rx_frame_len -= len;
@@ -227,7 +235,8 @@ static ssize_t tulip_receive(TULIPState *s, const uint8_t *buf, size_t size)
trace_tulip_receive(buf, size);
- if (size < 14 || size > 2048 || s->rx_frame_len || tulip_rx_stopped(s)) {
+ if (size < 14 || size > sizeof(s->rx_frame) - 4
+ || s->rx_frame_len || tulip_rx_stopped(s)) {
return 0;
}
@@ -275,7 +284,6 @@ static ssize_t tulip_receive_nc(NetClientState *nc,
return tulip_receive(qemu_get_nic_opaque(nc), buf, size);
}
-
static NetClientInfo net_tulip_info = {
.type = NET_CLIENT_DRIVER_NIC,
.size = sizeof(NICState),
@@ -558,7 +566,7 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
if ((s->csr[6] >> CSR6_OM_SHIFT) & CSR6_OM_MASK) {
/* Internal or external Loopback */
tulip_receive(s, s->tx_frame, s->tx_frame_len);
- } else {
+ } else if (s->tx_frame_len <= sizeof(s->tx_frame)) {
qemu_send_packet(qemu_get_queue(s->nic),
s->tx_frame, s->tx_frame_len);
}
@@ -570,23 +578,31 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
}
}
-static void tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
+static int tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
{
int len1 = (desc->control >> TDES1_BUF1_SIZE_SHIFT) & TDES1_BUF1_SIZE_MASK;
int len2 = (desc->control >> TDES1_BUF2_SIZE_SHIFT) & TDES1_BUF2_SIZE_MASK;
+ if (s->tx_frame_len + len1 > sizeof(s->tx_frame)) {
+ return -1;
+ }
if (len1) {
pci_dma_read(&s->dev, desc->buf_addr1,
s->tx_frame + s->tx_frame_len, len1);
s->tx_frame_len += len1;
}
+ if (s->tx_frame_len + len2 > sizeof(s->tx_frame)) {
+ return -1;
+ }
if (len2) {
pci_dma_read(&s->dev, desc->buf_addr2,
s->tx_frame + s->tx_frame_len, len2);
s->tx_frame_len += len2;
}
desc->status = (len1 + len2) ? 0 : 0x7fffffff;
+
+ return 0;
}
static void tulip_setup_filter_addr(TULIPState *s, uint8_t *buf, int n)
@@ -651,13 +667,15 @@ static uint32_t tulip_ts(TULIPState *s)
static void tulip_xmit_list_update(TULIPState *s)
{
+#define TULIP_DESC_MAX 128
+ uint8_t i = 0;
struct tulip_descriptor desc;
if (tulip_ts(s) != CSR5_TS_SUSPENDED) {
return;
}
- for (;;) {
+ for (i = 0; i < TULIP_DESC_MAX; i++) {
tulip_desc_read(s, s->current_tx_desc, &desc);
tulip_dump_tx_descriptor(s, &desc);
@@ -675,10 +693,10 @@ static void tulip_xmit_list_update(TULIPState *s)
s->tx_frame_len = 0;
}
- tulip_copy_tx_buffers(s, &desc);
-
- if (desc.control & TDES1_LS) {
- tulip_tx(s, &desc);
+ if (!tulip_copy_tx_buffers(s, &desc)) {
+ if (desc.control & TDES1_LS) {
+ tulip_tx(s, &desc);
+ }
}
}
tulip_desc_write(s, s->current_tx_desc, &desc);
--
2.24.1

@ -496,10 +496,10 @@ qemu_src_configure() {
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
$(usex pulseaudio pa "")
$(usev sdl)
$(usev alsa)
$(usev oss)
$(usev sdl)
$(usex pulseaudio pa "")
)
conf_opts+=(
--audio-drv-list=$(printf "%s," "${audio_opts[@]}")

@ -0,0 +1,837 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python{3_6,3_7} )
PYTHON_REQ_USE="ncurses,readline"
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
FIRMWARE_ABI_VERSION="4.0.0-r50"
inherit eutils linux-info toolchain-funcs multilib python-r1 \
udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
EGIT_SUBMODULES=(
slirp
tests/fp/berkeley-{test,soft}float-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
SRC_URI="https://download.qemu.org/${P}.tar.xz
https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r1.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
+fdt glusterfs gnutls gtk infiniband iscsi jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
smartcard snappy spice ssh static static-user systemtap tci test usb
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
xfs +xkb"
COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb"
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
lm32 moxie tricore unicore32"
IUSE_USER_TARGETS="${COMMON_TARGETS}
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
tilegx"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
RESTRICT="!test? ( test )"
# Allow no targets to be built so that people can get a tools-only build.
# Block USE flag configurations known to not work.
REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
qemu_softmmu_targets_ppc64? ( fdt )
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy )
static-user? ( !plugins )
virtfs? ( xattr )
vte? ( gtk )
plugins? ( !static !static-user )
"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
#
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
#
# The attr lib isn't always linked in (although the USE flag is always
# respected). This is because qemu supports using the C library's API
# when available rather than always using the external library.
ALL_DEPEND="
>=dev-libs/glib-2.0[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
systemtap? ( dev-util/systemtap )
xattr? ( sys-apps/attr[static-libs(+)] )"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# softmmu targets (qemu-system-*).
SOFTMMU_TOOLS_DEPEND="
dev-libs/libxml2[static-libs(+)]
xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
app-accessibility/brltty[static-libs(+)]
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
bzip2? ( app-arch/bzip2[static-libs(+)] )
capstone? ( dev-libs/capstone:= )
caps? ( sys-libs/libcap-ng[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? (
sys-fabric/libibumad:=[static-libs(+)]
sys-fabric/libibverbs:=[static-libs(+)]
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
ncurses? (
sys-libs/ncurses:0=[unicode]
sys-libs/ncurses:0=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl,gbm]
)
png? ( media-libs/libpng:0=[static-libs(+)] )
pulseaudio? ( media-sound/pulseaudio )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[X]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
snappy? ( app-arch/snappy:= )
spice? (
>=app-emulation/spice-protocol-0.12.3
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-201905[binary]
~sys-firmware/ipxe-1.0.0_p20190728[binary]
~sys-firmware/seabios-1.12.0[binary,seavgabios]
~sys-firmware/sgabios-0.1_pre8[binary]
)
!pin-upstream-blobs? (
sys-firmware/edk2-ovmf
sys-firmware/ipxe
>=sys-firmware/seabios-1.10.2[seavgabios]
sys-firmware/sgabios
)"
PPC64_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-1.12.0[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-1.10.2[seavgabios]
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
sys-apps/texinfo
virtual/pkgconfig
doc? ( dev-python/sphinx )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
sys-devel/bc
)
"
CDEPEND="
!static? (
${ALL_DEPEND//\[static-libs(+)]}
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
)
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static? (
${ALL_DEPEND}
${SOFTMMU_TOOLS_DEPEND}
)
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
selinux? ( sec-policy/selinux-qemu )"
PATCHES=(
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
"${FILESDIR}"/${PN}-4.0.0-sanitize-interp_info.patch
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
"${FILESDIR}"/${PN}-4.2.0-CVE-2020-11102.patch #716518
"${WORKDIR}"/patches
)
QA_PREBUILT="
usr/share/qemu/hppa-firmware.img
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/s390-netboot.img
usr/share/qemu/u-boot.e500"
QA_WX_LOAD="usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
usr/bin/qemu-cris
usr/bin/qemu-m68k
usr/bin/qemu-microblaze
usr/bin/qemu-microblazeel
usr/bin/qemu-mips
usr/bin/qemu-mipsel
usr/bin/qemu-or1k
usr/bin/qemu-ppc
usr/bin/qemu-ppc64
usr/bin/qemu-ppc64abi32
usr/bin/qemu-sh4
usr/bin/qemu-sh4eb
usr/bin/qemu-sparc
usr/bin/qemu-sparc64
usr/bin/qemu-armeb
usr/bin/qemu-sparc32plus
usr/bin/qemu-s390x
usr/bin/qemu-unicore32"
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
kernel module loaded before running kvm. The easiest way to ensure that the
kernel module is loaded is to load it on boot.
For AMD CPUs the module is called 'kvm-amd'.
For Intel CPUs the module is called 'kvm-intel'.
Please review /etc/conf.d/modules for how to load these.
Make sure your user is in the 'kvm' group. Just run
$ gpasswd -a <USER> kvm
then have <USER> re-login.
For brand new installs, the default permissions on /dev/kvm might not let
you access it. You can tell udev to reset ownership/perms:
$ udevadm trigger -c add /dev/kvm
If you want to register binfmt handlers for qemu user targets:
For openrc:
# rc-update add qemu-binfmt
For systemd:
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
pkg_pretend() {
if use kernel_linux && kernel_is lt 2 6 25; then
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
elif use kernel_linux; then
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
ERROR_KVM="You must enable KVM in your kernel to continue"
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
ERROR_KVM_AMD+=" your kernel configuration."
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
ERROR_TUN+=" into your kernel or loaded as a module to use the"
ERROR_TUN+=" virtual network device if using -net tap."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
ERROR_VHOST_NET+=" support"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_INTEL"
fi
fi
use python && CONFIG_CHECK+=" ~DEBUG_FS"
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
# Now do the actual checks setup above
check_extra_config
fi
fi
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
eerror "instances are still pointing to it. Please update your"
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
eerror "and the right system binary (e.g. qemu-system-x86_64)."
die "update your virt configs to not use qemu-kvm"
fi
}
# Sanity check to make sure target lists are kept up-to-date.
check_targets() {
local var=$1 mak=$2
local detected sorted
pushd "${S}"/default-configs >/dev/null || die
# Force C locale until glibc is updated. #564936
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "${var}: ${sorted}"
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
die "sync ${var} to the list of targets"
fi
popd >/dev/null
}
handle_locales() {
# Make sure locale list is kept up-to-date.
local detected sorted
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "PLOCALES: ${sorted}"
eerror " po/*.po: ${detected}"
die "sync PLOCALES"
fi
# Deal with selective install of locales.
if use nls ; then
# Delete locales the user does not want. #577814
rm_loc() { rm po/$1.po || die; }
l10n_for_each_disabled_locale_do rm_loc
else
# Cheap hack to disable gettext .mo generation.
rm -f po/*.po
fi
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR LD NM OBJCOPY PKG_CONFIG
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# Run after we've applied all patches.
handle_locales
# Remove bundled copy of libfdt
rm -r dtc || die
}
##
# configures qemu based on the build directory and the build type
# we are using.
#
qemu_src_configure() {
debug-print-function ${FUNCNAME} "$@"
local buildtype=$1
local builddir="${S}/${buildtype}-build"
mkdir "${builddir}"
local conf_opts=(
--prefix=/usr
--sysconfdir=/etc
--bindir=/usr/bin
--libdir=/usr/$(get_libdir)
--datadir=/usr/share
--docdir=/usr/share/doc/${PF}/html
--mandir=/usr/share/man
--with-confsuffix=/qemu
--localstatedir=/var
--disable-bsd-user
--disable-guest-agent
--disable-strip
--disable-werror
# We support gnutls/nettle for crypto operations. It is possible
# to use gcrypt when gnutls/nettle are disabled (but not when they
# are enabled), but it's not really worth the hassle. Disable it
# all the time to avoid automatically detecting it. #568856
--disable-gcrypt
--python="${PYTHON}"
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
--host-cc="$(tc-getBUILD_CC)"
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
$(use_enable doc docs)
$(use_enable plugins)
$(use_enable tci tcg-interpreter)
$(use_enable xattr attr)
)
# Disable options not used by user targets. This simplifies building
# static user targets (USE=static-user) considerably.
conf_notuser() {
if [[ ${buildtype} == "user" ]] ; then
echo "--disable-${2:-$1}"
else
use_enable "$@"
fi
}
conf_opts+=(
--disable-bluez
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser caps cap-ng)
$(conf_notuser curl)
$(conf_notuser fdt)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser ncurses curses)
$(conf_notuser nfs libnfs)
$(conf_notuser numa)
$(conf_notuser opengl)
$(conf_notuser png vnc-png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_notuser sdl-image)
$(conf_notuser seccomp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser vhost-user-fs)
$(conf_notuser virgl virglrenderer)
$(conf_notuser virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
$(conf_notuser xkb xkbcommon)
)
if [[ ${buildtype} == "user" ]] ; then
conf_opts+=( --disable-libxml2 )
else
conf_opts+=( --enable-libxml2 )
fi
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev sdl)
$(usev alsa)
$(usev oss)
)
conf_opts+=(
--audio-drv-list=$(printf "%s," "${audio_opts[@]}")
)
fi
case ${buildtype} in
user)
conf_opts+=(
--enable-linux-user
--disable-system
--disable-blobs
--disable-tools
)
local static_flag="static-user"
;;
softmmu)
conf_opts+=(
--disable-linux-user
--enable-system
--disable-tools
)
local static_flag="static"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
--enable-tools
)
local static_flag="static"
;;
esac
local targets="${buildtype}_targets"
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
# We always want to attempt to build with PIE support as it results
# in a more secure binary. But it doesn't work with static or if
# the current GCC doesn't have PIE support.
if use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
tc-enables-pie && conf_opts+=( --enable-pie )
fi
echo "../configure ${conf_opts[*]}"
cd "${builddir}"
../configure "${conf_opts[@]}" || die "configure failed"
# FreeBSD's kernel does not support QEMU assigning/grabbing
# host USB devices yet
use kernel_FreeBSD && \
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
}
src_configure() {
local target
python_setup
softmmu_targets= softmmu_bins=()
user_targets= user_bins=()
for target in ${IUSE_SOFTMMU_TARGETS} ; do
if use "qemu_softmmu_targets_${target}"; then
softmmu_targets+=",${target}-softmmu"
softmmu_bins+=( "qemu-system-${target}" )
fi
done
for target in ${IUSE_USER_TARGETS} ; do
if use "qemu_user_targets_${target}"; then
user_targets+=",${target}-linux-user"
user_bins+=( "qemu-${target}" )
fi
done
softmmu_targets=${softmmu_targets#,}
user_targets=${user_targets#,}
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
qemu_src_configure "tools"
}
src_compile() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
default
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
default
fi
cd "${S}/tools-build"
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
pax-mark m */qemu-system-* #515550
emake -j1 check
emake -j1 check-report.html
fi
}
qemu_python_install() {
python_domodule "${S}/python/qemu"
python_doscript "${S}/scripts/kvm/vmxcap"
python_doscript "${S}/scripts/qmp/qmp-shell"
python_doscript "${S}/scripts/qmp/qemu-ga-client"
}
# Generate binfmt support files.
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
generate_initd() {
local out="${T}/qemu-binfmt"
local out_systemd="${T}/qemu.conf"
local d="${T}/binfmt.d"
einfo "Generating qemu binfmt scripts and configuration files"
# Generate the debian fragments first.
mkdir -p "${d}"
"${S}"/scripts/qemu-binfmt-conf.sh \
--debian \
--exportdir "${d}" \
--qemu-path "${EPREFIX}/usr/bin" \
|| die
# Then turn the fragments into a shell script we can source.
sed -E -i \
-e 's:^([^ ]+) (.*)$:\1="\2":' \
"${d}"/* || die
# Generate the init.d script by assembling the fragments from above.
local f qcpu package interpreter magic mask
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
for f in "${d}"/qemu-* ; do
source "${f}"
# Normalize the cpu logic like we do in the init.d for the native cpu.
qcpu=${package#qemu-}
case ${qcpu} in
arm*) qcpu="arm";;
mips*) qcpu="mips";;
ppc*) qcpu="ppc";;
s390*) qcpu="s390";;
sh*) qcpu="sh";;
sparc*) qcpu="sparc";;
esac
# we use 'printf' here to be portable across 'sh'
# implementations: #679168
cat <<EOF >>"${out}"
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
fi
EOF
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
done
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
}
src_install() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
emake DESTDIR="${ED}" install
# Install binfmt handler init script for user targets.
generate_initd
doinitd "${T}/qemu-binfmt"
# Install binfmt/qemu.conf.
insinto "/usr/share/qemu/binfmt.d"
doins "${T}/qemu.conf"
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
emake DESTDIR="${ED}" install
# This might not exist if the test failed. #512010
[[ -e check-report.html ]] && dodoc check-report.html
if use kernel_linux; then
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
fi
if use python; then
python_foreach_impl qemu_python_install
fi
fi
cd "${S}/tools-build"
emake DESTDIR="${ED}" install
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
pushd "${ED}"/usr/bin >/dev/null
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
cd "${S}"
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
# Disallow stripping of prebuilt firmware files.
dostrip -x ${QA_PREBUILT}
if [[ -n ${softmmu_targets} ]]; then
# Remove SeaBIOS since we're using the SeaBIOS packaged one
rm "${ED}/usr/share/qemu/bios.bin"
rm "${ED}/usr/share/qemu/bios-256k.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
fi
# Remove vgabios since we're using the seavgabios packaged one
rm "${ED}/usr/share/qemu/vgabios.bin"
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
# PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
fi
# Remove sgabios since we're using the sgabios packaged one
rm "${ED}/usr/share/qemu/sgabios.bin"
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
fi
# Remove iPXE since we're using the iPXE packaged one
rm "${ED}"/usr/share/qemu/pxe-*.rom
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
fi
fi
DISABLE_AUTOFORMATTING=true
readme.gentoo_create_doc
}
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
return 1
}
pkg_postinst() {
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
udev_reload
fi
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog
if use pin-upstream-blobs && firmware_abi_change; then
ewarn "This version of qemu pins new versions of firmware blobs:"
ewarn " $(best_version sys-firmware/edk2-ovmf)"
ewarn " $(best_version sys-firmware/ipxe)"
ewarn " $(best_version sys-firmware/seabios)"
ewarn " $(best_version sys-firmware/sgabios)"
ewarn "This might break resume of hibernated guests (started with a different"
ewarn "firmware version) and live migration to/from qemu versions with different"
ewarn "firmware. Please (cold) restart all running guests. For functional"
ewarn "guest migration ensure that all"
ewarn "hosts run at least"
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
fi
}
pkg_info() {
echo "Using:"
echo " $(best_version app-emulation/spice-protocol)"
echo " $(best_version sys-firmware/edk2-ovmf)"
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/seabios)"
if has_version 'sys-firmware/seabios[binary]'; then
echo " USE=binary"
else
echo " USE=''"
fi
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
}

@ -491,10 +491,12 @@ qemu_src_configure() {
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev sdl)
$(usev alsa)
$(usev oss)
$(usev sdl)
$(usex pulseaudio pa "")
)
conf_opts+=(
--audio-drv-list=$(printf "%s," "${audio_opts[@]}")

@ -1 +1,2 @@
DIST simh-3.11.1.tar.gz 2576391 BLAKE2B bebaba75d4264c47202cc0daca2023c03d2e87722798f1ab37c9e3b2cec0b80cd180fccc0077347b2cb5255d26e1ce35f99a908deaf252c1e60e22e0a381e66d SHA512 7c2f81a64d3016b9a44409fc336c804c0da836317745d47594cc48c64cb57dc8f22084d9086e3f86868ec485ee56ac63301f350cee6d275e705b7c5fc82875db
DIST simhv311-0.zip 2790607 BLAKE2B f9399977093f07d7f58067ed40e22f60e43228bbb1e0fdaa6b04408956962d9ea14b6dc57d758b819cee59f3bade9505a6802d42804df49622990402c0f22600 SHA512 e5fb6915c050e7402363cd9c1f99feb00874c3693905067ce901ffa86fc29a0cd2648684f111216b09a3c847f75812e2db2e2f2fa9f9d0db5dc932d53ec832fa

@ -0,0 +1,61 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
MY_PV="$(ver_rs 2 '-')" # 'a.b.c' -> 'a.b-c'
DESCRIPTION="a simulator for historical computers such as Vax, PDP-11 etc.)"
HOMEPAGE="http://simh.trailing-edge.com/"
SRC_URI="https://github.com/simh/simh/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="net-libs/libpcap"
DEPEND="${RDEPEND}"
S=${WORKDIR}/simh-${MY_PV}
PATCHES=(
"${FILESDIR}"/${PN}-3.11.0-respect-FLAGS.patch
"${FILESDIR}"/${PN}-3.11.0-fix-mkdir-race.patch
"${FILESDIR}"/${PN}-3.11.0-fcommon.patch
)
src_prepare() {
default
# fix linking on Darwin
if [[ ${CHOST} == *-darwin* ]] ; then
sed -e 's/-lrt//g' \
-i makefile || die
fi
}
src_compile() {
export GCC="$(tc-getCC)"
export LDFLAGS_O="${LDFLAGS}"
export CFLAGS_O="${CFLAGS}"
local my_makeopts=""
if tc-is-gcc && ver_test $(gcc-version) -lt 4.6 ; then
my_makeopts+=" NO_LTO=1"
fi
emake ${my_makeopts}
}
src_install() {
for BINFILE in BIN/* ; do
newbin ${BINFILE} "simh-$(basename ${BINFILE})"
done
insinto /usr/share/simh
doins VAX/*.bin
dodoc *.txt */*.txt
}

@ -14,7 +14,7 @@ SRC_URI="https://sourceforge.net/code-snapshots/svn/v/vi/vice-emu/code/${MY_P}.z
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame libav mpg123 ogg oss +opengl parport pci png portaudio pulseaudio sdl zlib"
REQUIRED_USE="|| ( gtk headless sdl ) gtk? ( zlib )"

@ -1,13 +1,11 @@
DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88c13b6d532f94f319ad29821faa699e828d90cfbe92c02b6e73b72eb16e565707c49885833fe557809ed16f4a6f0f182de9bb6e6 SHA512 a030fad55be5e1d909bc50e430c9a99846b88d7555f12749e101ba83f04df5af23eeb726b5ed78f847a66d11ac0a838bc69bd5bf8cf53da77ad454d2a2fe65cf
DIST wine-5.0.tar.xz 22469428 BLAKE2B d26938e707545d31ed932c67eaaa9fd137e42daa6facadeaea2897797ec816658edc1b89c649e0cb5c453ca53ebea5d7156fdd188f1afe2a55ca7834e012e276 SHA512 681de951804c3dd3ae8c677a0ea52d172b04cac58594698b191cd972b25899cd2030d01a25fc2ad2eb6b99976a30319d2bd5ba8b7ff98b1a8b43832fa6514b83
DIST wine-5.1.tar.xz 22500180 BLAKE2B bf77f24e4be2402afd083c28624e41761d63c1248c314870e0c5a6879fb1393992fe9d99bcafcea0a91599500d745a3ad199e31e857590707f026f1cf740ad31 SHA512 b842b533884f15a8fb71373258671d74aee997d9ed9ee0fb36f945cd2006b494f6cc6c91a8ca47e0ea5b0b39b108f2c4f155918823a7ddf3cd44b4e26ede9171
DIST wine-5.2.tar.xz 22837712 BLAKE2B ee9d4d4dd6c0669d1585cc6988d933dbc7aa5277a0f13e965dd9eecb621e475d33a832b316e37f1372a965efe517efafa9f857a38d9bf081026d221db96b7a0d SHA512 57fa66885c3b5f43e51324e24b8524f663ad67ff15b464ac7d58096d5921f523a59ef5f1dc1ea7aa65fa10d64b7cd832f421c1b773c72bc312d8544a61c33f8f
DIST wine-5.3.tar.xz 22918612 BLAKE2B dce58aec45f665e1014635eadc9cc00c969e46c87de5d41bc51168237d9fc01011dcfc3fa4c83ed4cbcdfe19a3747e5e32f87946434a6eba2a8547f1929b33f3 SHA512 40528f46ad10c11758308e3bf21ba73c7af133d4dda386d542acec3a5cb31e01be0eb102b94f9d82a2358e45597bf49bd1e82c463e3a26aff8c0827b5a0894b6
DIST wine-5.4.tar.xz 22917904 BLAKE2B ceaa8516ddc0c2421b92da0ef047465cfa9fc203dfce93b42ca76409bab5e24709d173a4ed519b78f32d8ee99ffd9f0d06ee4156357f995c75e434b0249a31e2 SHA512 892e8b875484ada01eaddab4ea50992f95cf3ced6730f8e2ca1f0765770d7fa53a21080c526772b9b3ac83b3559d3d68e83ad3af3afbe9d6f931d833afde7e98
DIST wine-5.5.tar.xz 23630916 BLAKE2B 52855c891bb2f6431d0cb02e7b64b28525ad952b548771dd7ff89f95842f9f8e27c941cef7e963b8fb4c7d84c6fd28dba8edfbab90ba683b9f32c41583837e0a SHA512 9c7870dd829effe5fd1be342f85a85e2d1f791bfd871279253dd91becd97dea41c6c4f7a9faec0153e58e360d4e3b4d659daf0d21f07a142d06534e0c229aacd
DIST wine-staging-5.0.tar.gz 9942644 BLAKE2B e5d040ae903c6e982c961db1c7c30cfbf7245f00cd0df7c10ceb182c5227f5a555f1a41b24eca982a12b4981edee937cfa5079e6c6fec378d475fca3057cbb7c SHA512 36849fc2c848db9949982619c4544b56468012a1f086cc92eb3e2027377c58c3c24daf508149e0e34a70e6b283edfd80833dc2f346c75f0be69f1fb2c5999cd6
DIST wine-staging-5.1.tar.gz 9924758 BLAKE2B 44a5710c126a1ea0a21dbac21826d2513191d79cb96f4a22adc5e6823d28b214d81af8f536914d4434402b5e2b70f89a25e2049cf12cbbde3f31ae2bc3bafab5 SHA512 ebb9bf0a0a3c7f108fff8b32ca79124d1da410fbfb320ad3298f3d92fabeb9ca81de6a4fefac344948a70c49771ffa3f0dc30de2ee6d6f61d158ed87a206a14e
DIST wine-5.6.tar.xz 23678216 BLAKE2B 7aee9a46c037d46d07a551a839056783c020d2e5c66c9caf9c8dacd5071cc9bc9df1c3ea56d6ec07cf83ac681baee6849e786a1202d99f139e1645c374c72704 SHA512 b12b0eff228ecd783fec8bf91f97e4387125226b172046d800e1fbffa303ceca32f1f647b9e8ceb24d303c23eb57188be14ddd8ba5fc04ba781a69186fbe6be4
DIST wine-staging-5.2.tar.gz 9898002 BLAKE2B f4dc43223cf89e6c76fc7898a98acdc9eb3d4a8e8279a38135f155d9a3fe6a2f7bbc52ece5c4a07cf801caa91c10e40f172271b442356e52a59c31a8a82db3c3 SHA512 dd2066db1eb4d424579bdf8d25f476eae0b86a6bea7b1f7ff2a21d7bf0209b4ef00d9c0ed29a7cab50c5dea4684acb5d342ebf02554b16fd0938a03e607f6270
DIST wine-staging-5.3.tar.gz 9904213 BLAKE2B 5a1a9b41a17533238151ad87ec631a9ff78f954fa51baaebac787bd4eba88730a3524e4778a55eb80fd4153302d443d859c0b27c149495cd72ab6263aa583a8a SHA512 df14a61c04b134a72dc8662ee331fd234e2c82bf82824cb01443ae6516aba0bdcb579e2dbedc1ada47de0f3a1265c5fe9ef5f8183094d74451845b78d0a81702
DIST wine-staging-5.4.tar.gz 9924147 BLAKE2B c82fa66470645e62e63e8760d68cb92e4a04c209db712371bc1a534756c6b16c109e247bb1866edc514bdb24ba6a9e9f4ccb5c0db204d51541da0af82fd3b96f SHA512 d4958e73cea34a4a722f516487116d9f77a22099cb80b9c79f2468fbe28855acec131dacecfd255a9934fb88bcf34809bfb2e2e518d89ac23bcae125b6d6c86b
DIST wine-staging-5.5.tar.gz 9920540 BLAKE2B 21b24fd3a2b3ee9c9ea029e1114d0faaf0b8a4ef732eafb4f7e0301886aee9160699867147c4087515a37edc57a42919c662b1e203bf9df674d78579b3be3c39 SHA512 8e926d73f275ed36b1c1e55235831c171b427501265a0e859accc7ca6b5077513bc2b3d37d973842b76b57a56798d11c101a387c626c96ed422d8a06cd908221
DIST wine-staging-5.6.tar.gz 9922611 BLAKE2B 945e7a6398d6f3f8f85f334a06462282647405cf0b7d0e9d1985c9c5daa460c1bb9f8dc66d090311aeb8136d0603e836084bbeb2904833f4f73d7fdd9dd9bef1 SHA512 7ddf5699834a6e04b094a7cae008175c874415d22554bac38176f3121b9533071ef610f8b5a0dd3ce3e4adf8a9d4ac214aa1cee7634959c5150b66fbb74710b7

@ -1,615 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n ltprune multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
GWP_V="20191222"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
themes? (
dev-libs/glib:2[${MULTILIB_USEDEP}]
x11-libs/cairo[${MULTILIB_USEDEP}]
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
)
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.9.4 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${pn_live_val} ]]; then
if use staging; then
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
eerror "cannot be used to set the commit. Instead, you may use the"
eerror "environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING"
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING"
eerror
return 1
fi
}
pkg_pretend() {
wine_build_environment_check || die
# Verify OSS support
if use oss && ! use kernel_FreeBSD; then
if ! has_version ">=media-sound/oss-4"; then
eerror "You cannot build wine with USE=oss without having support from a"
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
eerror
die
fi
fi
}
pkg_setup() {
wine_build_environment_check || die
wine_env_vcs_vars || die
WINE_VARIANT="${PN#wine}-${PV}"
WINE_VARIANT="${WINE_VARIANT#-}"
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
if use staging; then
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
ewarn "Wine bugzilla should explicitly state that staging was used."
local STAGING_EXCLUDE=""
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
ebegin "Running Wine-Staging patch installer"
(
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
cd "${STAGING_DIR}/patches"
source "${STAGING_DIR}/patches/patchinstall.sh"
)
eend $? || die "Failed to apply Wine-Staging patches"
fi
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir="${EPREFIX}/etc/wine"
$(use_with alsa)
$(use_with capi)
$(use_with lcms cms)
$(use_with cups)
$(use_with ncurses curses)
$(use_with udisks dbus)
$(use_with faudio)
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(use_with ldap)
--without-mingw # linux LDFLAGS leak in mingw32: bug #685172
$(use_enable mono mscoree)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with pcap)
$(use_with png)
$(use_with pulseaudio pulse)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l v4l2)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use staging && myconf+=(
--with-xattr
$(use_with themes gtk3)
$(use_with vaapi va)
)
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
# set AR and RANLIB to make QA scripts happy; #483342
tc-export PKG_CONFIG AR RANLIB
if use amd64; then
if [[ ${ABI} == amd64 ]]; then
myconf+=( --enable-win64 )
else
myconf+=( --disable-win64 )
fi
# Note: using --with-wine64 results in problems with multilib.eclass
# CC/LD hackery. We're using separate tools instead.
fi
ECONF_SOURCE=${S} \
econf "${myconf[@]}"
emake depend
}
multilib_src_test() {
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
if [[ ${ABI} == x86 ]]; then
if [[ $(id -u) == 0 ]]; then
ewarn "Skipping tests since they cannot be run under the root user."
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
return
fi
WINEPREFIX="${T}/.wine-${ABI}" \
Xemake test
fi
}
multilib_src_install_all() {
local DOCS=( ANNOUNCE AUTHORS README )
add_locale_docs() {
local locale_doc="documentation/README.$1"
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
}
l10n_for_each_locale_do add_locale_docs
einstalldocs
prune_libtool_files --all
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
fi
# Remove wineconsole if neither backend is installed #551124
if ! use X && ! use ncurses; then
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
rm_wineconsole() {
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
}
multilib_foreach_abi rm_wineconsole
fi
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
# Avoid double prefix from dosym and make_wrapper
MY_PREFIX=${MY_PREFIX#${EPREFIX}}
if use abi_x86_64 && ! use abi_x86_32; then
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${ED%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use staging; then
eselect wine register --staging ${P} || die
fi
fi
eselect wine update --all --if-unset || die
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
ewarn "implementation of iexplore. Many older windows applications"
ewarn "rely upon the existence of an iexplore implementation, so"
ewarn "you will likely need to install an external one, like via winetricks"
fi
if ! use mono; then
ewarn "Without Wine Mono, wine prefixes will not have a default"
ewarn "implementation of .NET. Many windows applications rely upon"
ewarn "the existence of a .NET implementation, so you will likely need"
ewarn "to install an external one, like via winetricks"
fi
}
pkg_prerm() {
eselect wine deregister ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine deregister --vanilla ${P} || die
else
if use staging; then
eselect wine deregister --staging ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n ltprune multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -44,7 +44,7 @@ fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
@ -73,6 +73,7 @@ COMMON_DEPEND="
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
@ -111,6 +112,7 @@ COMMON_DEPEND="
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
@ -164,7 +166,6 @@ usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
@ -307,6 +308,7 @@ pkg_setup() {
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
@ -351,7 +353,7 @@ src_prepare() {
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
ewarn "Wine bugzilla should explicitly state that staging was used."
local STAGING_EXCLUDE=""
local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
@ -426,6 +428,7 @@ multilib_src_configure() {
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
@ -442,6 +445,7 @@ multilib_src_configure() {
$(use_with fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gcrypt)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gssapi)
@ -469,6 +473,7 @@ multilib_src_configure() {
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with unwind)
$(use_with v4l v4l2)
$(use_with vkd3d)
$(use_with vulkan)

@ -166,7 +166,6 @@ usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()

@ -5,8 +5,8 @@ DIST wine-4.0.2.tar.xz 21668348 BLAKE2B f1aa8ba3add9ae1e6fbb930a0c557c0015a699b2
DIST wine-4.0.3.tar.xz 21680420 BLAKE2B a7caf4b82fa2594f77e31f29b2a3da59c08bb58f213268d61bdf48998345162bc36fbfc24db94d11cb07b6da347b3471e9d8976d9abfa0f76c183c0a519aa73e SHA512 a8fde0bcf600eaec56c3ce58c9aa992386784c85cf1c93aa84d50aff4c842b12a6b099c23391d3ad9a0059f3dc9069c0f8e00fad293305ba8a33afc70bf26e14
DIST wine-4.0.tar.xz 21644692 BLAKE2B 9c426ef2249c16e908a3617c2844d8b12a2df843721338b1cfb69459815b902cfa0ddf3d74c09dc900fb2ceb003e54d97a7c0afaac51a9caab7d21beb82e26c3 SHA512 7607fa7a3d5f7bcd3d8c4c9e7bb6e1987466110bbfc672782ebe57c6d9da348c58e76abf40b0a70c725dfd703163db6e194ee0e3db11a47b6b60e225163308dd
DIST wine-5.0.tar.xz 22469428 BLAKE2B d26938e707545d31ed932c67eaaa9fd137e42daa6facadeaea2897797ec816658edc1b89c649e0cb5c453ca53ebea5d7156fdd188f1afe2a55ca7834e012e276 SHA512 681de951804c3dd3ae8c677a0ea52d172b04cac58594698b191cd972b25899cd2030d01a25fc2ad2eb6b99976a30319d2bd5ba8b7ff98b1a8b43832fa6514b83
DIST wine-5.1.tar.xz 22500180 BLAKE2B bf77f24e4be2402afd083c28624e41761d63c1248c314870e0c5a6879fb1393992fe9d99bcafcea0a91599500d745a3ad199e31e857590707f026f1cf740ad31 SHA512 b842b533884f15a8fb71373258671d74aee997d9ed9ee0fb36f945cd2006b494f6cc6c91a8ca47e0ea5b0b39b108f2c4f155918823a7ddf3cd44b4e26ede9171
DIST wine-5.2.tar.xz 22837712 BLAKE2B ee9d4d4dd6c0669d1585cc6988d933dbc7aa5277a0f13e965dd9eecb621e475d33a832b316e37f1372a965efe517efafa9f857a38d9bf081026d221db96b7a0d SHA512 57fa66885c3b5f43e51324e24b8524f663ad67ff15b464ac7d58096d5921f523a59ef5f1dc1ea7aa65fa10d64b7cd832f421c1b773c72bc312d8544a61c33f8f
DIST wine-5.3.tar.xz 22918612 BLAKE2B dce58aec45f665e1014635eadc9cc00c969e46c87de5d41bc51168237d9fc01011dcfc3fa4c83ed4cbcdfe19a3747e5e32f87946434a6eba2a8547f1929b33f3 SHA512 40528f46ad10c11758308e3bf21ba73c7af133d4dda386d542acec3a5cb31e01be0eb102b94f9d82a2358e45597bf49bd1e82c463e3a26aff8c0827b5a0894b6
DIST wine-5.4.tar.xz 22917904 BLAKE2B ceaa8516ddc0c2421b92da0ef047465cfa9fc203dfce93b42ca76409bab5e24709d173a4ed519b78f32d8ee99ffd9f0d06ee4156357f995c75e434b0249a31e2 SHA512 892e8b875484ada01eaddab4ea50992f95cf3ced6730f8e2ca1f0765770d7fa53a21080c526772b9b3ac83b3559d3d68e83ad3af3afbe9d6f931d833afde7e98
DIST wine-5.5.tar.xz 23630916 BLAKE2B 52855c891bb2f6431d0cb02e7b64b28525ad952b548771dd7ff89f95842f9f8e27c941cef7e963b8fb4c7d84c6fd28dba8edfbab90ba683b9f32c41583837e0a SHA512 9c7870dd829effe5fd1be342f85a85e2d1f791bfd871279253dd91becd97dea41c6c4f7a9faec0153e58e360d4e3b4d659daf0d21f07a142d06534e0c229aacd
DIST wine-5.6.tar.xz 23678216 BLAKE2B 7aee9a46c037d46d07a551a839056783c020d2e5c66c9caf9c8dacd5071cc9bc9df1c3ea56d6ec07cf83ac681baee6849e786a1202d99f139e1645c374c72704 SHA512 b12b0eff228ecd783fec8bf91f97e4387125226b172046d800e1fbffa303ceca32f1f647b9e8ceb24d303c23eb57188be14ddd8ba5fc04ba781a69186fbe6be4

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n ltprune multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -35,7 +35,7 @@ SRC_URI="${SRC_URI}
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
@ -93,6 +93,7 @@ COMMON_DEPEND="
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
@ -141,7 +142,6 @@ usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
@ -272,6 +272,7 @@ pkg_setup() {
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
MY_DATADIR="${MY_DATAROOTDIR}"
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
@ -361,6 +362,7 @@ multilib_src_configure() {
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
@ -404,6 +406,7 @@ multilib_src_configure() {
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with unwind)
$(use_with v4l v4l2)
$(use_with vkd3d)
$(use_with vulkan)

@ -142,7 +142,6 @@ usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 2012-2019 Gentoo Authors
# Copyright 2012-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@ -22,7 +22,7 @@ fi
LICENSE="BSD"
SLOT="0/1"
KEYWORDS="amd64 arm64 ppc ppc64 ~sparc x86"
KEYWORDS="amd64 arm64 ppc ppc64 x86"
IUSE="debug test"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -1,7 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit leechcraft
@ -9,19 +9,21 @@ DESCRIPTION="Full-featured RSS/Atom feed reader for LeechCraft"
SLOT="0"
KEYWORDS=""
IUSE="debug mysql +sqlite postgres"
IUSE="debug mysql postgres +sqlite"
DEPEND="
~app-leechcraft/lc-core-${PV}[postgres?,sqlite?]
~app-leechcraft/lc-core-${PV}[postgres?]
dev-qt/qtcore:5
dev-qt/qtnetwork:5
dev-qt/qtprintsupport:5
dev-qt/qtsql:5[sqlite?,postgres?,mysql?]
dev-qt/qtsql:5
dev-qt/qtwebkit:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5"
RDEPEND="${DEPEND}
virtual/leechcraft-downloader-http"
dev-qt/qtsql:5[mysql?,postgres?,sqlite?]
virtual/leechcraft-downloader-http
"
REQUIRED_USE="|| ( mysql sqlite postgres )"

@ -1,9 +1,9 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit leechcraft
inherit xdg-utils leechcraft
DESCRIPTION="Azoth, the modular IM client for LeechCraft"
@ -37,11 +37,11 @@ COMMON_DEPEND="
)
sarin? (
dev-qt/qtconcurrent:5
net-libs/tox
net-libs/tox:=
)
woodpecker? ( dev-libs/kqoauth )
xmpp? (
>=net-libs/qxmpp-0.9.3-r1
>=net-libs/qxmpp-1.2.0
media? ( net-libs/qxmpp[speex] )
)
xtazy? ( ~app-leechcraft/lc-xtazy-${PV} )
@ -50,6 +50,7 @@ DEPEND="${COMMON_DEPEND}
doc? ( app-doc/doxygen[dot] )
"
RDEPEND="${COMMON_DEPEND}
dev-qt/qtsql:5[sqlite]
astrality? (
net-im/telepathy-mission-control
net-voip/telepathy-haze
@ -98,11 +99,11 @@ src_configure() {
-DENABLE_AZOTH_XTAZY=$(usex xtazy)
)
cmake-utils_src_configure
cmake_src_configure
}
src_install() {
cmake-utils_src_install
cmake_src_install
use doc && dodoc -r "${CMAKE_BUILD_DIR}"/out/html/*
}
@ -113,4 +114,10 @@ pkg_postinst() {
elog "so install the ones for languages you use to enable"
elog "spellchecking."
fi
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -3,7 +3,7 @@
EAPI=7
inherit leechcraft
inherit xdg-utils leechcraft
DESCRIPTION="Full-featured BitTorrent client plugin for LeechCraft"
@ -28,3 +28,11 @@ src_configure() {
)
cmake_src_configure
}
pkg_postinst() {
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,7 +1,7 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
inherit leechcraft
@ -13,19 +13,20 @@ IUSE="debug +metida +hestia"
DEPEND="
~app-leechcraft/lc-core-${PV}
dev-qt/qtdeclarative:5
dev-qt/qtprintsupport:5
dev-qt/qtsql:5
dev-qt/qtwebkit:5
dev-qt/qtxml:5
dev-qt/qtprintsupport:5
dev-qt/qtdeclarative:5
metida? (
dev-qt/qtnetwork:5
dev-qt/qtxmlpatterns:5
)
"
RDEPEND="${DEPEND}
dev-qt/qtsql:5[sqlite]
virtual/leechcraft-wysiwyg-editor
"
"
src_configure() {
local mycmakeargs=(
@ -33,5 +34,5 @@ src_configure() {
-DENABLE_BLOGIQUE_HESTIA=$(usex hestia)
)
cmake-utils_src_configure
cmake_src_configure
}

@ -11,10 +11,10 @@ DESCRIPTION="Core of LeechCraft, the modular network client"
SLOT="0"
KEYWORDS=""
IUSE="debug doc postgres +qwt +sqlite"
IUSE="debug doc postgres +qwt"
DEPEND="
>=dev-libs/boost-1.62
dev-libs/boost:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtdbus:5
@ -22,7 +22,7 @@ DEPEND="
dev-qt/qtgui:5
dev-qt/qtnetwork:5[ssl]
dev-qt/qtscript:5
dev-qt/qtsql:5[postgres?,sqlite?]
dev-qt/qtsql:5
dev-qt/qtwebkit:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
@ -30,6 +30,7 @@ DEPEND="
qwt? ( x11-libs/qwt:6 )
"
RDEPEND="${DEPEND}
dev-qt/qtsql:5[postgres?,sqlite]
dev-qt/qtsvg:5
|| (
kde-frameworks/oxygen-icons
@ -41,8 +42,6 @@ BDEPEND="
doc? ( app-doc/doxygen )
"
REQUIRED_USE="|| ( postgres sqlite )"
src_configure() {
local mycmakeargs=(
-DWITH_PLUGINS=False

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save