parent
78ee9b8098
commit
1225cf000a
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
ACCT_GROUP_ID=230
|
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 graphite/carbon suite"
|
||||
ACCT_USER_ID=230
|
||||
ACCT_USER_GROUPS=( carbon )
|
||||
|
||||
acct-user_add_deps
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>sci-chemistry@gentoo.org</email>
|
||||
<name>Gentoo Chemistry Project</name>
|
||||
<maintainer type="person">
|
||||
<email>grobian@gentoo.org</email>
|
||||
<name>Fabian Groffen</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
Binary file not shown.
@ -1,92 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME2_LA_PUNT="yes"
|
||||
PYTHON_COMPAT=( python3_6 )
|
||||
PYTHON_REQ_USE="xml"
|
||||
|
||||
inherit gnome2 python-r1
|
||||
|
||||
DESCRIPTION="Input assistive technology intended for switch and pointer users"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Caribou"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
|
||||
|
||||
IUSE=""
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
COMMON_DEPEND="
|
||||
app-accessibility/at-spi2-core
|
||||
>=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}]
|
||||
>=x11-libs/gtk+-3:3[introspection]
|
||||
x11-libs/gtk+:2
|
||||
>=dev-libs/gobject-introspection-0.10.7:=
|
||||
dev-libs/libgee:0.8
|
||||
dev-libs/libxml2
|
||||
>=media-libs/clutter-1.5.11:1.0[introspection]
|
||||
x11-libs/libX11
|
||||
x11-libs/libxklavier
|
||||
x11-libs/libXtst
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key
|
||||
# pyatspi-2.1.90 needed to run caribou if pygobject:3 is installed
|
||||
# librsvg needed to load svg images in css styles
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dev-libs/glib[dbus]
|
||||
>=dev-python/pyatspi-2.1.90[${PYTHON_USEDEP}]
|
||||
>=gnome-base/gsettings-desktop-schemas-3
|
||||
gnome-base/librsvg:2
|
||||
sys-apps/dbus
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-libs/libxslt
|
||||
>=dev-util/intltool-0.35.5
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
# FIXME: Now this supports python3 too...
|
||||
# delete custom PYTHONPATH, useless on Gentoo and potential bug source
|
||||
# + caribou is python2 only so fix the shell scripts
|
||||
# sed -e '/export PYTHONPATH=.*python/ d' \
|
||||
# -e "s:@PYTHON@:${EPREFIX}/usr/bin/python2:" \
|
||||
# -i bin/{antler-keyboard,caribou-preferences}.in ||
|
||||
# die "sed failed"
|
||||
|
||||
gnome2_src_prepare
|
||||
|
||||
prepare_caribou() {
|
||||
mkdir -p "${BUILD_DIR}" || die
|
||||
}
|
||||
python_foreach_impl prepare_caribou
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir \
|
||||
gnome2_src_configure \
|
||||
--disable-docs \
|
||||
--disable-static \
|
||||
--enable-gtk3-module \
|
||||
--enable-gtk2-module \
|
||||
VALAC=$(type -P true)
|
||||
# vala is not needed for tarball builds, but configure checks for it...
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
python_foreach_impl run_in_build_dir gnome2_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
python_foreach_impl run_in_build_dir default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
python_foreach_impl run_in_build_dir gnome2_src_install
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=769323
|
||||
dodoc AUTHORS NEWS README # ChangeLog simply points to git log
|
||||
}
|
Binary file not shown.
@ -1,6 +1,3 @@
|
||||
DIST rarlinux-5.9.0_p20200330.tar.gz 606599 BLAKE2B 81803108938b82aec07e0a8aeffe764219c6965ddbda3ac73c04ee0c6c7f8ae6090bf7a39fc0215a639fec8f5b9af7f8518ae2c18bcd2a0f836c0560740fde38 SHA512 0c5328d3113e0c821d840dafdb7bc0b4f5161b8b7d76e2227bae3daa3bf55d99d06a167ece961157f69ec2494259bb56dcd87769b0782962614cc2c4de01892b
|
||||
DIST rarlinux-5.9.1_p20200625.tar.gz 606675 BLAKE2B fe8f26d422bc816fbba27405f9d2e4063e9af6e136ca4c270bb5274a67e99d9a7c97250b05e6041f3ed27517398b0500aad765a1f599474ff08ebb6bacf5b0a3 SHA512 3ed37adda5f5b2f5502ab2e549614dad2848157321a31174d7259aaf77cc773c6398eb0e19ee6597536c58a938289a587e7db9681e6c47c906a5307c2d362147
|
||||
DIST rarlinux-x64-5.9.0_p20200330.tar.gz 595460 BLAKE2B cc8e3dfdbd10a959b9643a4a6b12e8e346f6ed2797fee61fbfecd02b8570212f87514e749943e8998941fb00e026b300597ae52975ac326cc0a2962ba8d1a8a8 SHA512 a7d88a8705e4876686f880eee461180a3d2dac5c4bafb2efeec46a8c2bac2c07b09fc0827f39aa1417d0c8a64d3ed5b55244b08400ce5a0591984e0e9c5c853e
|
||||
DIST rarlinux-x64-5.9.1_p20200625.tar.gz 595595 BLAKE2B 68eb24da7ecb2fe8a2be68bc3c3397df85490f4cd5517a2dc5390ad0dafbdd0a04d15968276657d600cf6c127cd8f52b74e920f7ee9b86b7083b9edbf0a57141 SHA512 6e0aec1642118331bfe79a35fa654f7d5143e61c0315375fa21d862a3941b672c58eaed4da69b8ea23a024aaafcfd02a277251391e59220b845847d4b3b82562
|
||||
DIST winrar-x64-5.9.0_p20200330.exe 3226248 BLAKE2B 50459e4b476bf9ec6b59df712a61f5108442fdaf58f7ccb1c021f1638a3327e155a5b3573e0566d3a262b8129fc28c176ccc2e9a3edf2851986c8a5aeb3288d0 SHA512 8b0791eab87aeed9f30272f11fa304189f1f5d077457d3ea608c59e19dfd6ee9e05f98f03cba4803dbe24b5bb68f8332a59cd9bd2fae76d0da0405a92b8e3b3c
|
||||
DIST winrar-x64-5.9.1_p20200625.exe 3246712 BLAKE2B c0616e600b11aaa524154b9b0108ab1a62e09cdd27a968b5bf9fa6d742800c9006ee7655df39511f31b24506dd03eb431c3e016ea63a5fe8fff702ccd8d3b358 SHA512 da7a85d56f1ed4dd6204e51297175c90349a26896b223bf210055a0c38f315c59f9d9b8368d5c279049443467d962c72bad48a3c62c1d80f2260f8ecd4d17db6
|
||||
|
@ -1,109 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
DESCRIPTION="RAR compressor/uncompressor"
|
||||
HOMEPAGE="https://rarlab.com/"
|
||||
URI_x86="https://mirror.whissi.de/distfiles/rar/rarlinux-${PV}.tar.gz"
|
||||
URI_amd64="https://mirror.whissi.de/distfiles/rar/rarlinux-x64-${PV}.tar.gz"
|
||||
URI_w64="https://mirror.whissi.de/distfiles/rar/winrar-x64-${PV}.exe"
|
||||
SRC_URI="x86? ( ${URI_x86} )
|
||||
amd64? ( ${URI_amd64} )
|
||||
all_sfx? (
|
||||
${URI_x86}
|
||||
${URI_amd64}
|
||||
${URI_w64}
|
||||
)"
|
||||
|
||||
LICENSE="RAR BSD BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* amd64 x86"
|
||||
IUSE="all_sfx"
|
||||
RESTRICT="mirror bindist"
|
||||
|
||||
DEPEND="all_sfx? ( app-arch/unrar )"
|
||||
RDEPEND="sys-libs/glibc"
|
||||
|
||||
S="${WORKDIR}/${PN}"
|
||||
|
||||
QA_FLAGS_IGNORED="opt/rar/default.sfx
|
||||
opt/rar/default-elf32.sfx
|
||||
opt/rar/default-elf64.sfx
|
||||
opt/rar/default-win32.sfx
|
||||
opt/rar/default-win64.sfx
|
||||
opt/rar/WinCon.SFX
|
||||
opt/rar/WinCon64.SFX
|
||||
opt/rar/Zip.SFX
|
||||
opt/rar/Zip64.SFX
|
||||
opt/rar/unrar
|
||||
opt/rar/rar"
|
||||
QA_PRESTRIPPED=${QA_FLAGS_IGNORED}
|
||||
|
||||
src_unpack() {
|
||||
local _file
|
||||
|
||||
for _file in ${A}; do
|
||||
if [[ "${_file}" == rarli* ]]; then
|
||||
if [[ "${_file}" =~ x64 ]]; then
|
||||
if ! use amd64; then
|
||||
continue
|
||||
fi
|
||||
|
||||
unpack "${_file}"
|
||||
elif [[ ! "${_file}" =~ x64 ]]; then
|
||||
if ! use x86; then
|
||||
continue
|
||||
fi
|
||||
|
||||
unpack "${_file}"
|
||||
else
|
||||
die "Unknown SRC file '${_file}'!"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
rm -f "${S}"/license.txt
|
||||
|
||||
if use all_sfx ; then
|
||||
mkdir sfx
|
||||
cd sfx
|
||||
for _file in ${A}; do
|
||||
if [[ "${_file}" == rarli* ]]; then
|
||||
unpack "${_file}"
|
||||
if [[ "${_file}" =~ x64 ]]; then
|
||||
mv rar/default.sfx default-elf64.sfx || die
|
||||
else
|
||||
mv rar/default.sfx default-elf32.sfx || die
|
||||
fi
|
||||
elif [[ "${_file}" == winrar* ]]; then
|
||||
ln -s "${DISTDIR}"/${_file} w64.rar || die
|
||||
unpack ./w64.rar
|
||||
mv Default.SFX default-win32.sfx || die
|
||||
mv Default64.SFX default-win64.sfx || die
|
||||
else
|
||||
die "Unknown SFX file '${_file}'!"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
exeinto /opt/rar
|
||||
doexe rar unrar
|
||||
|
||||
dodir /opt/bin
|
||||
dosym ../rar/rar /opt/bin/rar
|
||||
dosym ../rar/unrar /opt/bin/unrar
|
||||
|
||||
insinto /opt/rar
|
||||
if use all_sfx ; then
|
||||
doins "${WORKDIR}"/sfx/*.{sfx,SFX}
|
||||
else
|
||||
doins default.sfx
|
||||
fi
|
||||
doins rarfiles.lst
|
||||
dodoc *.txt
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST gentoo-auth.asc.20191030.gz 6556 BLAKE2B 233df81a8c01ead6524fdded0c64aba7d930d0f9e6214c403e43aa97bc87502a4e1d68c6c415505db5f618d9309d5ba1279d1e9b9e068289002ad30896a500c9 SHA512 c752dc4b5d75937290e469e722ccd48a592413438a7d1c5bc5d4e07114077ae3dfb5fc3cbe6b96d672e4149737cd7db6dc8298e670e63745bdff7426e98fc03b
|
||||
DIST gentoo-auth.asc.20200704.gz 4540 BLAKE2B 8ae8a1947ae81e89aef6171b228e97a80331cc58336a0387bbda7c885ec5fff322d17b7fc462d7f3fe88a965455b94d1e16b705903843d75fa53481d525a1965 SHA512 da7d1aa76ea04f465e690560dd2d09306aa120b9f2771abc6fe06d5181c39c9e7db73ae0b9c01b864ccdd55a881a7e9c9716dd87446c809b901bb17c448878f5
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Gentoo Authority Keys (GLEP 79)"
|
||||
HOMEPAGE="https://www.gentoo.org/downloads/signatures/"
|
||||
SRC_URI="https://dev.gentoo.org/~mgorny/dist/openpgp-keys/gentoo-auth.asc.${PV}.gz"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
# Keys included:
|
||||
# ABD00913019D6354BA1D9A132839FE0D796198B1
|
||||
# 18F703D702B1B9591373148C55D3238EC050396E
|
||||
# 2C13823B8237310FA213034930D132FF0FF50EEB
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/openpgp-keys
|
||||
newins "gentoo-auth.asc.${PV}" gentoo-auth.asc
|
||||
newins - gentoo-auth-ownertrust.txt <<-EOF
|
||||
ABD00913019D6354BA1D9A132839FE0D796198B1:6:
|
||||
EOF
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST gentoo-release-test-sigs-20190224.tar.gz 3235 BLAKE2B 924c69a62d5321716f536144f0607bd3ec4a65d76be492adc729864fd9bef82df0086541ae13034a83152ea0c8dc3cbd168be6cff111a3484128a22cbc8ef1d4 SHA512 f8cc2e84bedbdf14ace6abe4aacf8f0c9810c77ff6ae0fac301829d9d4d5cf0c128a76516c773ac993879215bcdb0aab097e1e7e747d8e1a7c4cfc815bd4d3e6
|
||||
DIST gentoo-release.asc.20191030.gz 23981 BLAKE2B 307ceab69e309a53c2db191cf9d7a484318e852af648d93d9ad4bb2422737ab8de9257b457e5f201d86d226b348447acfbe57d259ce436150f75ccfb9f6ed60e SHA512 f3fbe0198f80f37784613c2a390c29f55e5b6291c44ee64d676806a26745017f8a9168573e13f6fc2fe93910927846c584b9f5cd017c4eac1cc875d7ed30cb8c
|
||||
DIST gentoo-release.asc.20200704.gz 17812 BLAKE2B 2173fa236db0ae08d58959732172d20fe0a6a8adc1e2ebcb33c3b9956684d26ebcf74b332a25c7d738d4820abb24c525404a6f255efcb7cedf0ab94c185a83f0 SHA512 fc5c7042570d813d906190f11869605983fcd8815cdb414d7060f8038c849d4f68426feff711a7303728c49c0515f9d836d2cc3fbbbf50811b94668194beca85
|
||||
|
@ -0,0 +1,48 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="OpenPGP keys used for Gentoo releases (snapshots, stages)"
|
||||
HOMEPAGE="https://www.gentoo.org/downloads/signatures/"
|
||||
SRC_URI="https://dev.gentoo.org/~mgorny/dist/openpgp-keys/gentoo-release.asc.${PV}.gz
|
||||
test? ( https://dev.gentoo.org/~mgorny/dist/openpgp-keys/gentoo-release-test-sigs-20190224.tar.gz )"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="test? ( app-crypt/gnupg )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
# Keys included:
|
||||
# DCD05B71EAB94199527F44ACDB6B8C1F96D8BF6D
|
||||
# D99EAC7379A850BCE47DA5F29E6438C817072058
|
||||
# 13EBBDBEDE7A12775DFDB1BABB572E0E2D182910
|
||||
# EF9538C9E8E64311A52CDEDFA13D0EF1914E7A72
|
||||
|
||||
src_test() {
|
||||
local old_umask=$(umask)
|
||||
umask 077
|
||||
|
||||
local -x GNUPGHOME=${T}/.gnupg
|
||||
mkdir "${GNUPGHOME}" || die
|
||||
einfo "Importing keys ..."
|
||||
gpg --import "gentoo-release.asc.${PV}" || die "Key import failed"
|
||||
|
||||
local f
|
||||
for f in gentoo-release-test-sigs*/*.asc; do
|
||||
einfo "Testing ${f##*/} ..."
|
||||
gpg -q --trust-model always --verify "${f}" || die "Verification failed on ${f}"
|
||||
done
|
||||
|
||||
umask "${old_umask}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/openpgp-keys
|
||||
newins "gentoo-release.asc.${PV}" gentoo-release.asc
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
DIST openvpn-blacklist_0.4.tar.gz 1808103 BLAKE2B b7890a9d591128b7f770b2cdbac1ad881c430f737707c2f7c5df41d4da0c1ae52d8ee87f3ffd378718a6788721cc0c988f49c8be9b31d868c4470c204a03bd95 SHA512 3301f7425520eb086306acb30bd718465208b5aa5606e879b65f936161d1955b93254d9c1dd6f5d66ec6480850652afadabb05db2a0df9fd5acb73a5ed5c19e3
|
||||
DIST openvpn-blacklist_0.5.tar.gz 1828347 BLAKE2B d55fe46b2efea312782283ac64c7678f8ad67fe8d09be3fb4f5ada25e17cef06dcaebd4d84d6b72a3aa1093088cf2e0319c6908ce77f9f4e9adecd468c69adf1 SHA512 589216cb2f10b6ea0cf2179f8b47ce2d2ed03916ad5d8a62e22dce71f432101a735d16093855ff43a1d6618fe94e75b9127bbd63408556197e91de6735e713aa
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person"><email>hanno@gentoo.org</email></maintainer>
|
||||
</pkgmetadata>
|
@ -1,32 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-single-r1
|
||||
|
||||
DESCRIPTION="Detection of weak openvpn keys produced by certain debian versions in 2006-2008"
|
||||
HOMEPAGE="http://packages.debian.org/sid/openvpn-blacklist"
|
||||
SRC_URI="mirror://debian/pool/main/o/${PN}/${PN}_${PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=${PYTHON_DEPS}
|
||||
REQUIRED_USE=${PYTHON_REQUIRED_USE}
|
||||
|
||||
src_prepare() {
|
||||
python_fix_shebang openvpn-vulnkey
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin openvpn-vulnkey
|
||||
doman openvpn-vulnkey.1
|
||||
dodir /usr/share/openvpn-blacklist
|
||||
cat "${S}/debian/blacklist.prefix" > "${D}/usr/share/openssl-blacklist/blacklist.RSA-2048"
|
||||
cut "${S}/blacklist.RSA-2048" -d ' ' -f 2 | cut -b13- | sort \
|
||||
>> "${D}/usr/share/openvpn-blacklist/blacklist.RSA-2048"
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-single-r1
|
||||
|
||||
DESCRIPTION="Detection of weak openvpn keys produced by certain debian versions in 2006-2008"
|
||||
HOMEPAGE="http://packages.debian.org/sid/openvpn-blacklist"
|
||||
SRC_URI="mirror://debian/pool/main/o/${PN}/${PN}_${PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=${PYTHON_DEPS}
|
||||
REQUIRED_USE=${PYTHON_REQUIRED_USE}
|
||||
|
||||
src_prepare() {
|
||||
python_fix_shebang openvpn-vulnkey
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin openvpn-vulnkey
|
||||
doman openvpn-vulnkey.1
|
||||
dodir /usr/share/openvpn-blacklist
|
||||
insinto /usr/share/openvpn-blacklist
|
||||
newins debian/blacklist.prefix blacklist.RSA-2048
|
||||
cut "${S}/blacklist.RSA-2048" -d ' ' -f 2 | cut -b13- | sort \
|
||||
>> "${D}/usr/share/openvpn-blacklist/blacklist.RSA-2048"|| die
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST seahorse-3.32.2.tar.xz 1278668 BLAKE2B cd3fe6794ca02b1b0fd4b833a7128b8180137441a788f1f3ec5bb4186517ebb9e7422fabab2d19f60420b36e6b1ecab8b8326c99122aad185b8e45927232708f SHA512 e372f79907fbc5d60a41ea0db3a91575b0b304c1727c6091f94eec28445cd836faa32754582c59fd1eb8ce784986e63b4c8cabbd46d5e4cacec1150d9ca08481
|
||||
DIST seahorse-3.34.1.tar.xz 1271616 BLAKE2B 64956d0ee4f15bc048f42cefd827aad91927b34eecf4a2e53d988c379b3eae1ce0ae29ef469c2ff80ec9cceeaf77a271c57e28cb98dd24ae55c048faff487c1d SHA512 d2dff7d73a0968c1a5a8d39460f08b67f6794f22812200f564ef719354ab5cc2dac2213cba0d4bc10a455aecb9f55de8ff39943db4482beaac9cfdc2ca1012b8
|
||||
|
@ -1,30 +0,0 @@
|
||||
From d9db29db567012b7c72e85e1be1fbf55fcc9b667 Mon Sep 17 00:00:00 2001
|
||||
From: Niels De Graef <nielsdegraef@gmail.com>
|
||||
Date: Sat, 11 May 2019 09:02:34 +0200
|
||||
Subject: [PATCH] gkr: Use 0 on empty flags
|
||||
|
||||
A Flags-type variable without any flag set can be replaced with 0, so
|
||||
this is a safe thing to do. It also prevents us from having to deal with
|
||||
the accidental API break in libsecret (see
|
||||
https://gitlab.gnome.org/GNOME/libsecret/merge_requests/19)
|
||||
---
|
||||
gkr/gkr-keyring-add.vala | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gkr/gkr-keyring-add.vala b/gkr/gkr-keyring-add.vala
|
||||
index 4e92a520..f60c9a22 100644
|
||||
--- a/gkr/gkr-keyring-add.vala
|
||||
+++ b/gkr/gkr-keyring-add.vala
|
||||
@@ -41,8 +41,7 @@ public class Seahorse.Gkr.KeyringAdd : Gtk.Dialog {
|
||||
|
||||
var cancellable = Dialog.begin_request(this);
|
||||
var service = Backend.instance().service;
|
||||
- Secret.Collection.create.begin(service, this.name_entry.text, null,
|
||||
- Secret.CollectionCreateFlags.COLLECTION_CREATE_NONE,
|
||||
+ Secret.Collection.create.begin(service, this.name_entry.text, null, 0,
|
||||
cancellable, (obj, res) => {
|
||||
/* Clear the operation without cancelling it since it is complete */
|
||||
Dialog.complete_request(this, false);
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,72 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome.org gnome2-utils meson xdg vala
|
||||
|
||||
DESCRIPTION="Manage your passwords and encryption keys"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse"
|
||||
|
||||
LICENSE="GPL-2+ FDL-1.1+"
|
||||
SLOT="0"
|
||||
IUSE="ldap zeroconf"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.44:2
|
||||
>=app-crypt/gcr-3.11.91:=
|
||||
>=app-crypt/gpgme-1.7.0
|
||||
>=x11-libs/gtk+-3.22.0:3
|
||||
>=app-crypt/gnupg-2.0.12
|
||||
>=app-crypt/libsecret-0.16
|
||||
dev-libs/libpwquality
|
||||
net-misc/openssh
|
||||
ldap? ( net-nds/openldap:= )
|
||||
>=net-libs/libsoup-2.33.92:2.4
|
||||
zeroconf? ( >=net-dns/avahi-0.6:=[dbus] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
$(vala_depend)
|
||||
dev-libs/appstream-glib
|
||||
dev-libs/libxml2:2
|
||||
dev-util/gdbus-codegen
|
||||
dev-util/glib-utils
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig
|
||||
app-crypt/gcr[vala]
|
||||
app-crypt/libsecret[vala]
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PV}-libsecret-0.20-compat.patch # included upstream for 3.34
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
xdg_src_prepare
|
||||
vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
-Dhelp=true
|
||||
-Dpgp-support=true
|
||||
-Dcheck-compatible-gpg=false # keep lowest version listed as compatible as min dep for gnupg RDEPEND
|
||||
-Dpkcs11-support=true
|
||||
-Dkeyservers-support=true
|
||||
-Dhkp-support=true
|
||||
$(meson_use ldap ldap-support)
|
||||
$(meson_use zeroconf key-sharing)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST eclass-manpages-20200213.tar.xz 411328 BLAKE2B 71ecb7fefddfa1e2f865841ca557581e78ba17776be0e678ad21fbe47a2494da0d4a13b11c6b449846b6f05ceebaa78add078e763c3b9c910d5a40c149dca6c5 SHA512 16a67c05beb36ff63b75c065fc92852c959cc4645939f7c5a8894a6eecf3a334abe117417d57e45fb222204f233755c6848f53569ca64f911bf7e05f33a0ab26
|
||||
DIST eclass-manpages-20200704.tar.xz 409212 BLAKE2B 0b8115d40520bf045bdce487cae53ee152e84d2d3ac47a7956530801c16be60f0cff72f6d7275c95b9ecb40e170cc279272ce846ea94a75ee25081b7f7e22a78 SHA512 8ad4a24352008072c65f4c9b0978b8dec029f9ed04efc13202742aa922b71521c59113ab80b6219dc65ea63279b3f0f3d4b720e542b524cdb0787879849d7ec7
|
||||
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
DESCRIPTION="Collection of Gentoo eclass manpages"
|
||||
HOMEPAGE="https://github.com/mgorny/eclass-to-manpage"
|
||||
SRC_URI="https://dev.gentoo.org/~mgorny/dist/eclass-manpages/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
# Keep the keywords stable. No need to change to ~arch.
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
|
||||
|
||||
BDEPEND="app-arch/xz-utils
|
||||
sys-apps/gawk"
|
||||
|
||||
src_install() {
|
||||
emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST ht-2.1.0.tar.bz2 884139 BLAKE2B c979563cbfc4df7e14f587b250fbf099d9f4683afddb3afc88693284c378c45466dfa3c47555fc69e83e2972cfabab63f3cdd42fd85602842854372131e4063d SHA512 6b5fc5fcbc63b9b7c85721158e044e4578ebfdc38618c760c0e6de06a276bccd3a960ab8bed172de788934515ad94d86349c4abd3228da66b1601deaaa2ce410
|
||||
DIST ht-2.1.1_pre20161206.tar.gz 1082309 BLAKE2B 4fb00b0aa6115da3b561436f9f9905c48d93d6768bcf207931bb46840727c85fb5c9a1afda8ed805f71e9ce242161a2b95e26add02ff5aedc407df7f11c6ddec SHA512 33d681ee8c978568dd0d187d6846994362625d000c316baab10c237175fa6a47dc0e7b61cfd503c4dfad8a01d27af7fc87cbf20109087e1d9280048c898fa621
|
||||
|
@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_P=${P/editor}
|
||||
|
||||
DESCRIPTION="A file viewer, editor and analyzer for text, binary, and executable files"
|
||||
HOMEPAGE="http://hte.sourceforge.net/ https://github.com/sebastianbiallas/ht/"
|
||||
#SRC_URI="mirror://sourceforge/hte/${MY_P}.tar.bz2"
|
||||
# tarball is done as: 'make dist' and then rename to mention latest commt
|
||||
SRC_URI="https://dev.gentoo.org/~slyfox/distfiles/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="X"
|
||||
|
||||
RDEPEND="sys-libs/ncurses:0=
|
||||
X? ( x11-libs/libX11 )
|
||||
>=dev-libs/lzo-2"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog KNOWNBUGS README TODO )
|
||||
|
||||
S=${WORKDIR}/${MY_P/_pre*}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.1.0-tinfo.patch
|
||||
"${FILESDIR}"/${PN}-2.1.0-gcc-6-uchar.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable X x11-textmode) \
|
||||
--enable-maintainermode
|
||||
}
|
||||
|
||||
src_install() {
|
||||
#For prefix
|
||||
chmod u+x "${S}/install-sh"
|
||||
|
||||
local HTML_DOCS="doc/*.html"
|
||||
doinfo doc/*.info
|
||||
|
||||
default
|
||||
}
|
@ -1,2 +1,4 @@
|
||||
DIST vis-0.5.tar.gz 390461 BLAKE2B e628891c48dbbd11ed706768a3c625ffe9edf4fea3cd77452b4b41ae0d50194a31647e4cc945b69fb3af8fe7fd76ebf5f7afd8c2baa356f5f9fd3cc04be129ca SHA512 fe6b0394006562177efdf06713d7b95cd12fabf90b171c262eb2620d2b0944e73d3d8bb61f4f0d43d32154f0490c338bbc161a89455b14bb8a9d22cd75097780
|
||||
DIST vis-0.6.tar.gz 397707 BLAKE2B 9768f3d5586afd261f3e82721c08bdfddcd1c51a4f76d45c2f75eb954feed49d1ebeb1ee2cb31675cf68b356a0d32bcc33454aa2fbf0fd5c77afeea0a73465cd SHA512 3809b40f75816e03e47e0c2c16d2681cc1c01ad50a3d051285d5f1e9ff0a333160e668228a129a1596109aa079dc8364d3ad060b88e9dba33bb1d60a15eaf4e2
|
||||
DIST vis-test-0.3.tar.gz 97814 BLAKE2B f62b216df3d846bb8bfdb14f6092309b55f6571cbc980e7a9aed46b1672fbaa65c007ac4617266dff3d5ad0293e3f5e7bd8390252817ebcdd6f64edb350f82ee SHA512 5f68a70cf6f1fb64f9b50c1a56940c966f205e51240c7dd1175bc15f3e42b475fb6842a53e36547113955c2efa359de0cc71e0800305b0e45881c319a14564e5
|
||||
DIST vis-test-0.4.tar.gz 98703 BLAKE2B dc9df00ae97ecd58022f885b25cb8163dd8b86f93d95cf93bbe1bd1efcc7690393efc4d47e3dccedc5f0ac6c33519136e6f13e6b9b9707f870b421aa3101537e SHA512 446eea2fdb7b15fd4962901e2076649964981217b9cf47112f16d1404da7cc024ba4b13164df0afa763363cef4f82db4ad9d7283a7554aead2165f29ca0bc9a5
|
||||
|
@ -0,0 +1,63 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PTV=0.4
|
||||
|
||||
DESCRIPTION="modern, legacy free, simple yet efficient vim-like editor"
|
||||
HOMEPAGE="https://github.com/martanne/vis"
|
||||
SRC_URI="https://github.com/martanne/vis/releases/download/v${PV}/${P}.tar.gz
|
||||
test? ( https://github.com/martanne/vis-test/releases/download/v${MY_PTV}/vis-test-${MY_PTV}.tar.gz )"
|
||||
LICENSE="ISC"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="+ncurses selinux test tre"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# - Known to also work with NetBSD curses
|
||||
# - ::lua package done for using >=dev-lang/lua-5.2
|
||||
# which is needed for syntax highlighting and settings but masked in ::gentoo
|
||||
DEPEND="dev-libs/libtermkey
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
tre? ( dev-libs/tre:= )"
|
||||
RDEPEND="${DEPEND}
|
||||
app-eselect/eselect-vi"
|
||||
|
||||
src_prepare() {
|
||||
if use test; then
|
||||
rm -r test || die
|
||||
mv "${WORKDIR}/vis-test-${MY_PTV}" test || die
|
||||
|
||||
# https://bugs.gentoo.org/722014 https://github.com/martanne/vis-test/pull/22
|
||||
sed -i 's;./ccan-config > config.h;./ccan-config "${CC}" ${CFLAGS} > config.h;' test/core/Makefile || die
|
||||
fi
|
||||
|
||||
sed -i 's|STRIP?=.*|STRIP=true|' Makefile || die
|
||||
sed -i 's|${DOCPREFIX}/vis|${DOCPREFIX}|' Makefile || die
|
||||
sed -i 's|DOCUMENTATION = LICENSE|DOCUMENTATION =|' Makefile || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
./configure \
|
||||
--prefix="${EPREFIX}"/usr \
|
||||
--docdir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
$(use_enable ncurses curses) \
|
||||
$(use_enable selinux) \
|
||||
$(use_enable tre) || die
|
||||
}
|
||||
|
||||
update_symlinks() {
|
||||
einfo "Calling eselect vi update --if-unset"
|
||||
eselect vi update --if-unset
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
update_symlinks
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
update_symlinks
|
||||
}
|
Binary file not shown.
@ -1,3 +1 @@
|
||||
DIST qemu-4.2.0-patches-r2.tar.xz 17868 BLAKE2B 3783d0f923ded66cce1195248981c83bbaf8b7ad2a270207e92e60b4d05d4787cd9324649c113a4616c2a9ddcef99841264f19915615b7a0a24dac9febed48ba SHA512 556f1c595a35ee4279b2d0890d90e48cd43d9d641ccca495e2494f62ab48dfc000dbe23718276271ced3d4b7680c814f8f8846195089ff56186f618063a83b48
|
||||
DIST qemu-4.2.0.tar.xz 62222068 BLAKE2B 27c9fbcd5093af425764674817ab9299224bd03f37b5983786f6f437fff1fab3b7da247c55c4ca8b8c42726b9867005944a2f7f04f2d0d94d753961615f901ef SHA512 2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56
|
||||
DIST qemu-5.0.0.tar.xz 62426192 BLAKE2B 785d02ef79c95b5c4f0556186054885f9893d4e8a9f4b4f2d6199a4e1ae9c31d7c79dd900305469217f85d61bbe74134b601d5c6c1b0eee2b74792d010f1fd63 SHA512 21ef0cbe107c468a40f0fa2635db2a40048c8790b629dfffca5cd62bb1b502ea8eb133bfc40df5ecf1489e2bffe87f6829aee041cb8a380ff04a8afa23b39fcf
|
||||
|
@ -1,834 +0,0 @@
|
||||
# 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,3_8} )
|
||||
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-r2.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.11.1-capstone_include_path.patch
|
||||
"${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
|
||||
"${FILESDIR}"/${PN}-4.2.0-ati-vga-crash.patch #719266
|
||||
"${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 RANLIB
|
||||
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 check
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/python/qemu"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
# we use 'printf' here to be portable across 'sh'
|
||||
# implementations: #679168
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dodoc check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-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
|
||||
}
|
@ -1,10 +1,9 @@
|
||||
DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88c13b6d532f94f319ad29821faa699e828d90cfbe92c02b6e73b72eb16e565707c49885833fe557809ed16f4a6f0f182de9bb6e6 SHA512 a030fad55be5e1d909bc50e430c9a99846b88d7555f12749e101ba83f04df5af23eeb726b5ed78f847a66d11ac0a838bc69bd5bf8cf53da77ad454d2a2fe65cf
|
||||
DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c8095629d48de4830b8a0c9558de859a9e02d9824fe85553fda2bc0820ca97022a0ca63ac28473dadfe827821220445dbf1a7fd15c7c98 SHA512 46eea45c982b475e3ff444cbd87c6a0a235fc8dcaf3d83d89655a10ed8841a9ddb09e5a638a05803f3bf2c3bd34165c16067aba561efa4c183ee396dc31cdf75
|
||||
DIST wine-5.10.tar.xz 23859084 BLAKE2B ee4d06f69e0259de4ec6cf1352c610aa2460762be49211e21f0fb91a7463a4e4ca82b7ea9272eac8ea0c8d1be955c2aefcbdabed37581c4fbf82e7b58a070d1c SHA512 669d6861525cd4ab000113e8d9c5e10822b62b293914542ee34a826696df66e1d2f09b09f576f714e4117e79e25d1fd0b2a06c57d29da0efa0bdfcb9fee59c60
|
||||
DIST wine-5.11.tar.xz 23881408 BLAKE2B 5da8ab91dcb462f6de460ae80830d6006866970fbc4a23bbd6a2243736ff004c0734282b45196d46e97bb8383c99b415c85f941b2ab613c72ae66995e0162460 SHA512 fac78a98e03e0305c85fff393b7c5d46a3fbe11aff4a0153771187d3ad0212189d1fa88947fc9fe0da7bd8327eb71283f28ff866c4d8b2bc759a2ad2197fc9a1
|
||||
DIST wine-5.8.tar.xz 23753648 BLAKE2B 086f37ce469f6d176eab8daa2d124b1774526727e2f6fe4ecdd39862c13ed493ac4164cf98848d5bc8cba3675e13365f6ea2b34591d518c40c34d09556851578 SHA512 7b9df380655a72e8b9e95ca271a62308262d8efabbeb2ad459071afc9ed51518b42b1f75b019fe8d6b53cf5185e9cfc45ac1b8a7092f118fa2aff14f99c012de
|
||||
DIST wine-5.12.tar.xz 23939672 BLAKE2B 97190653a754100fc2832f8bdc544529dc34cae97b6ae68a579dfb529af5c924d2e9b439f304784028ae84a730f3cf9911a20d132f645ab90532479092b39079 SHA512 1272b143d64ed6083cd797474f18dbd2bca7a38d488474ae5f054f47789b4fc1d386c7bbf8aa1bd86f9507908fc799b4f45e10e1d8c628c5bd52c42b1d74c8a8
|
||||
DIST wine-5.9.tar.xz 23802356 BLAKE2B 1879c164c647a5b849056e4149a809c390814ae832773a44347cf1902fd49cb6619b4add5ea2d421c189d92b5c907daa0d6f62c37c48a8bd68d0eaa9eb465433 SHA512 edc6d55a275cf37430a62dc6d6d86bff6d5a434e708dbd99d245018db7f6a0abe39581a1d91eb947f204a45ac94cc5c931745169a3b63a2aecf8db277553b74b
|
||||
DIST wine-staging-3f3a05f91c85cb5ccdc4c8185bcc862c6e96cd52.tar.gz 9835238 BLAKE2B 27c0e7fe418e7ee82c7b1cfc13c0c1508a7f4637ef7b8d64675ed4038a42961382170c064221a7bad70a4e168aef7d4e33974d06afc18fc6da4cf5db047b242e SHA512 b2ad84bed89e713f4dc4f01763c40dc785f39f180a8f926c1b9e944a581ffcfd5c422427314201df1359b4b1c27dc2261281353f44ae9408e800d6add7bde366
|
||||
DIST wine-staging-5.10-r1.tar.gz 9862728 BLAKE2B 4d70b0e4d71b4e06a57f9fa43a8d4c91dfdb149ab0dd6b92ff93928dc9f35ef56a0f9e3dc278b2db19d6dbab32a58478ed110d4cf0c35a3a598611afd39ca326 SHA512 5d6f495c157d4bd1558f976bd044b62e5ffce188b7d12c1e6d5b3d844aa2070503218778f48ca34a787a8b355ab2c09f76381499b7e474a1c047bdc3b15d803a
|
||||
DIST wine-staging-5.11.tar.gz 9859071 BLAKE2B ae8abb4b48291864ce6ea80300186da77f422da1790bc1a3fb697719fc1bce0f1b1fd41962fc104bf9792f1ac46d99181a1437f52d290e526671b7d5ac43ea75 SHA512 a5cff848077f937d8f910d6f8b4efc033435c99bc6eeb8cf2a39e812b09c9fad5602e91e761eb1a006a1487299f7d81ecf7597d104fcafd076a8692e086af1a5
|
||||
DIST wine-staging-5.8.tar.gz 9878712 BLAKE2B a96f7e4aa1d1dddcda1a9d6a30ab3b564fb365a09efde22e5b7abab1ac015da0bc242b2fec6d4ae14dc5ddad38e3314a5f8c430e6eb10853ed8619e805bf5787 SHA512 3ea2a90ab0613b680274c95cf7ef3d3a7d807571fb792e05fc1df9bbd7a35c80a0d7c38342fea8858c5557ae3f12287a7ce09d0cdab5064000b79ec6c891ad15
|
||||
DIST wine-staging-5.9.tar.gz 9861847 BLAKE2B 61eb21e4386b772b98472707ea927f74ee77e8ec39caa494b6db2cdafc4b00e3aee503f9828a8df1cea2bbc6fa3aaf272fe28b60965de26132d4761058b59f25 SHA512 8fcf448be21edc0ccf8afef75013298c8f1634b51cd4d927ee5a1d039552d7c29609f65f283519b6561d09eb6eeae91fa6db70b9e78e4fd8bb5318408b39fb33
|
||||
|
@ -1,536 +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}"
|
||||
|
||||
GWP_V="20191222"
|
||||
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
|
||||
HOMEPAGE="https://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
|
||||
"
|
||||
|
||||
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"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )
|
||||
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[${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}] )
|
||||
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}] )
|
||||
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 )
|
||||
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 ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "EGIT_OVERRIDE_COMMIT_WINE"
|
||||
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
|
||||
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)"
|
||||
|
||||
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)
|
||||
)
|
||||
|
||||
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
|
||||
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
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
DIST volatility-2.6.zip 4179806 BLAKE2B 0943551aff2e66769df0e9a8f8fbf01deae12ec8a035d0f549fa4a809f7b6ecb967af93755ae9aede4a43e9638737097275460377d61de413115c74cca4d76af SHA512 1c0b86f270188ba48a6a0ff1d7ad70bde500d0f720d7e1b9d76b6b9498368ae3eb29c5b1c7e7dd76ec9480b83b1e484b4130b4ced7458e4e03ca61fe7d13220f
|
@ -1,35 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Framework for analyzing volatile memory"
|
||||
HOMEPAGE="https://www.volatilityfoundation.org/"
|
||||
SRC_URI="https://downloads.volatilityfoundation.org/releases/${PV}/${P}.zip"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
S=${WORKDIR}/${PN}-master
|
||||
|
||||
DEPEND="app-arch/unzip"
|
||||
RDEPEND=">=dev-libs/distorm64-3[${PYTHON_USEDEP}]
|
||||
dev-libs/libpcre
|
||||
|| (
|
||||
dev-python/pycryptodome[${PYTHON_USEDEP}]
|
||||
dev-python/pycrypto[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
mkdir "${D}/usr/share/${PN}" || die
|
||||
mv "${D}/usr/contrib/plugins" "${D}/usr/share/${PN}/" || die
|
||||
rmdir --ignore-fail-on-non-empty "${D}/usr/contrib" || die
|
||||
mv "${D}/usr/tools" "${D}/usr/share/${PN}/" || die
|
||||
dosym vol.py /usr/bin/volatility
|
||||
}
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue