Sync with portage [Sat Sep 16 13:19:56 MSK 2017].

mhiretskiy
root 7 years ago
parent 56ed76f808
commit f558072931

@ -1 +1,2 @@
DIST calamares-3.1.3.tar.gz 4944637 SHA256 9a43dbe465f64f3f286bd13d2eea6a6cb790a561cf477521ae7dc54d49298c17 SHA512 2a8e38234b60aaf8f82cf146e79c364055485a3a50f385d7ff6744df973a67de390223a8fa7e3b5ffb854f997cd0de7e93c1c912dd5739d56dca92528d9522c0 WHIRLPOOL 524ef6dc5528e83ecad4d98f8d7ebb4398f50d683c30c13c4b2aeba1797d3aa725158e80b3a3d25fd6d2071a579882231b78f56f9f2bb1fdf46a3cbb88d10713
DIST calamares-3.1.4.tar.gz 4958385 SHA256 8255eb9b001b9b1271771c1796eb8217be78299c0a4e7f20e432b3dd4f5d371f SHA512 d3ced4222e21e6e9ab18fb90d4d591b1b59b5fd44841e56e41b2902d00f33a910e0ae287a6777c5d71eb08757cfca31d9210f6eabd00b3dd1dc6377413b54bb2 WHIRLPOOL 622122d9092bb4fff3fa40b0a08d5d71780da962c3fedd2d3c2336ff00242b25f2ba524b6ebdce48155ce0a9729a830b03d9aa3ad4c86bde3d3c26ab83574393

@ -0,0 +1,80 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{3_4,3_5} )
inherit kde5 python-r1
DESCRIPTION="Distribution-independent installer framework"
HOMEPAGE="https://calamares.io"
if [[ ${KDE_BUILD_TYPE} == live ]] ; then
EGIT_REPO_URI="https://github.com/${PN}/${PN}"
else
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
IUSE="+networkmanager pythonqt +upower"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep kparts)
$(add_frameworks_dep kservice)
$(add_qt_dep qtdbus)
$(add_qt_dep qtdeclarative)
$(add_qt_dep qtgui)
$(add_qt_dep qtnetwork)
$(add_qt_dep qtsvg)
$(add_qt_dep qtwebengine 'widgets')
$(add_qt_dep qtwidgets)
>=dev-cpp/yaml-cpp-0.5.1
>=dev-libs/boost-1.55:=[${PYTHON_USEDEP}]
sys-apps/dbus
sys-apps/dmidecode
sys-auth/polkit-qt[qt5(+)]
>=sys-libs/kpmcore-3.0.3:5=
pythonqt? ( >=dev-python/PythonQt-3.1:=[${PYTHON_USEDEP}] )
"
RDEPEND="${DEPEND}
app-admin/sudo
dev-libs/libatasmart
net-misc/rsync
>=sys-block/parted-3.0
|| ( sys-boot/grub:2 sys-boot/systemd-boot )
sys-boot/os-prober
sys-fs/squashfs-tools
virtual/udev
networkmanager? ( net-misc/networkmanager )
upower? ( sys-power/upower )
"
src_prepare() {
python_setup
export PYTHON_INCLUDE_DIRS="$(python_get_includedir)" \
PYTHON_INCLUDE_PATH="$(python_get_library_path)"\
PYTHON_CFLAGS="$(python_get_CFLAGS)"\
PYTHON_LIBS="$(python_get_LIBS)"
eapply_user
}
src_configure() {
local mycmakeargs=(
-DWEBVIEW_FORCE_WEBKIT=OFF
-DWITH_PYTHONQT=$(usex pythonqt)
)
kde5_src_configure
sed -i -e 's:pkexec /usr/bin/calamares:calamares-pkexec:' "${S}"/calamares.desktop
sed -i -e 's:Icon=calamares:Icon=drive-harddisk:' "${S}"/calamares.desktop
}
src_install() {
kde5_src_install
dobin "${FILESDIR}"/calamares-pkexec
}

@ -1,2 +1 @@
DIST cli53-0.8.7.tar.gz 4369907 SHA256 c05918a1c1e5e660bda4b6ca080234a5ccc7c02d8c5b5f9f761faa57f53fb95c SHA512 ee2efa13a01597312241f7a5ce7a9f0f299d24cab0e44099376c5592118c9ab62331d10f8ff29c3fe15467aa806aa1db14e1f05ae4c841f906695b67dc983991 WHIRLPOOL a716309b0713fca9b1f708dee4ee4b42ca11b86364708d7eab20b24ce16f906ca3ee2d2cd894ab97ba3b185b567f6eb4c3677027e86ee4337ceca989419718aa
DIST cli53-0.8.8.tar.gz 4371616 SHA256 31c4dcd25c0fa514d6d02f5668bd55295ec2d5c07ee3e2e5219034b9bbc3d37f SHA512 ee9e73094de3b0aff6679b12a08ca176104935bd40bff31ce9721bc8a2d23f2ef3338ea5711cec24336e091bae6c89454ba9990b7a4804f0d08c589ec44e0221 WHIRLPOOL d3106e1a050507f67d3e158c6ead422f05af02fa19a3e654f474d0770758266041cc4c7829e74b61d686d01a0a124e155f28f277c6d19fe441e63d2cb362c4ff
DIST cli53-0.8.9.tar.gz 4372517 SHA256 c3b17d5b445d9bbfe3caf9552d4c0bbec649fd630e8eb13cbb5bc49522b02d73 SHA512 14db2d69feaa5af9e82c77b6c837be55a5d97e438eb6efbb71857fa1630ec1aa5ec77648d0979ce69ca8fcf72478b55c55c12a5e5dbac20415e656fd9c8d0beb WHIRLPOOL 2606a227142211e06096467143106e5657ecc5f2072a3450dbf41af440bfe3dbdf1d385a55accb38c625e42501e3077926e2bee0265affac66b7c0d6f7413b76

@ -1,34 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
if [[ ${PV} == 9999 ]]; then
inherit golang-vcs
else
inherit golang-vcs-snapshot
SRC_URI="https://github.com/barnybug/cli53/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
DESCRIPTION="Command line tool for Amazon Route 53"
HOMEPAGE="https://github.com/barnybug/cli53"
LICENSE="MIT"
SLOT="0"
EGO_PN="github.com/barnybug/cli53"
S="${WORKDIR}/${P}/src/${EGO_PN}"
src_compile() {
GOPATH="${WORKDIR}/${P}" emake build
}
src_test() {
GOPATH="${WORKDIR}/${P}" go test -v || die
}
src_install() {
dobin cli53
dodoc CHANGELOG.md README.md
}

@ -1,3 +1,5 @@
DIST github-backup-utils-2.10.0.tar.gz 73061 SHA256 08c2f24adcbc1554fc6079a46f7b59e1cb2f21950546956f9c4367c25dc716a5 SHA512 e4ec432289da71e7c8d50023e4874b4aef5e99b27f67c42ebadc61473f5b0bce473f768ff19d1d611d91944ce887ad496535f1bc8d6557a31a99353e100f7776 WHIRLPOOL c33ccbff94e5c56f2017ff344170538822637261e7c87037db1e5c9abcae28276424aab0d7ed6b3c489148430a05cd488dca4871b302e69acf821f089a73c479
DIST github-backup-utils-2.11.0.tar.gz 75105 SHA256 ae28ab08b933a8288e9eb9a92df221b0762cd1e7e399b5c116405a0d5fc3175b SHA512 7d96aff4c2e2bcce7b2b2d32854e759d561de8e683a13d3890bbbc5177cea861a666a60527b4b6ec4d4d7e8123bfff4618b6dfd0c3db73b1829cca0c43c0a9ec WHIRLPOOL 05be640c5f95025cb694d4f8e1f1fda4a1d349889333f9ada1f15b48b3bb01d89b9bd4fb984549916f63815548efb272621d016cebdfddb803ec5fdd41b62377
DIST github-backup-utils-2.5.0.tar.gz 40850 SHA256 9cc7cd40f41e6071c36527ec7983b877e461452cd08d04439efd5fa9352900a0 SHA512 ecd5b85e0e2e300a9f40ecb8f545868554c7b48bdf800a21cf111ead80c185c96d475c67487c9b9e8af676f8c71a001730084abde79e05860b3e24004888292d WHIRLPOOL 15be1d603c9b61a4cff47e319ee1a66b64684dfd19f06c696bffb41b77dc756a895e25074d5a6dd19aeebaa3106fe12842cb22a639ed4abd3a6c2922e8cdbc1f
DIST github-backup-utils-2.6.0.tar.gz 45970 SHA256 7273cebcb23bc597432a2b66ab7e9367a4fb09a750cf2438f8957dc83dcf27c3 SHA512 a795e439f9d28e27b457c5b6eb42f35d6aea1527c2a01a26b81d6e86829db14a0b27a366d9358214bbe1c16540fe524fb0010d5f509c78ba5398c6bdbf04182e WHIRLPOOL fd1aeec46946190657e61e611a089b4a7cef53beb7b3f9a500b7117fcdbd89c5ef09681aff98ed5d559cc243f76180eb6eec0cc6f2fcfeed0789c159f5a09afe
DIST github-backup-utils-2.6.3.tar.gz 50884 SHA256 3a5e48ff250b64a9bcec69a269b0e93efda078b8b77afc992c12aa40ee7bb3d9 SHA512 dff092325ad6f3502c8c0afbea90a53469af0ab4b98eaa39a950022c5b4e199cd3b48b5ec0585e3ea39b9bbd707dd037e8e0ed00ed8c6858276ba1a8e1075290 WHIRLPOOL aa19640ee5583d5e64aaab7b5a9d5572c47a09dd11fd0bed30ffc6aad0a10ddfc4e258f4680180547f8327fbedc5866bde4b20bd5e962dfa8162cd8ecf5e6db3

@ -0,0 +1,48 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# See https://github.com/github/backup-utils/issues/135
PYTHON_COMPAT=(python2_7)
inherit python-any-r1
DESCRIPTION="Backup and recovery utilities for GitHub Enterprise"
HOMEPAGE="https://github.com/github/backup-utils"
SRC_URI="https://github.com/github/backup-utils/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
DEPEND="test? (
dev-util/checkbashisms
${PYTHON_DEPS}
)"
RDEPEND="net-misc/rsync"
MY_PN="${PN/#github-/}"
S="${WORKDIR}/${MY_PN}-${PV}"
src_compile() {
:;
}
src_install() {
dobin bin/*
insinto usr/share/${PN}
doins share/${PN}/version
exeinto usr/share/${PN}
doexe share/${PN}/bm.sh
doexe share/${PN}/ghe-*
insinto etc/${PN}
newins backup.config-example backup.config
}
src_test() {
emake test
}

@ -0,0 +1,48 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
# See https://github.com/github/backup-utils/issues/135
PYTHON_COMPAT=(python2_7)
inherit python-any-r1
DESCRIPTION="Backup and recovery utilities for GitHub Enterprise"
HOMEPAGE="https://github.com/github/backup-utils"
SRC_URI="https://github.com/github/backup-utils/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
DEPEND="test? (
dev-util/checkbashisms
${PYTHON_DEPS}
)"
RDEPEND="net-misc/rsync"
MY_PN="${PN/#github-/}"
S="${WORKDIR}/${MY_PN}-${PV}"
src_compile() {
:;
}
src_install() {
dobin bin/*
insinto usr/share/${PN}
doins share/${PN}/version
exeinto usr/share/${PN}
doexe share/${PN}/bm.sh
doexe share/${PN}/ghe-*
insinto etc/${PN}
newins backup.config-example backup.config
}
src_test() {
emake test
}

@ -14,7 +14,7 @@ SRC_URI="http://download.savannah.gnu.org/releases/hddtemp/${MY_P}.tar.bz2 mirro
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ppc sparc x86"
KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ppc ~ppc64 sparc x86"
IUSE="network-cron nls selinux"
DEPEND=""

@ -1,5 +1,6 @@
DIST puppet-3.8.7.tar.gz 2650247 SHA256 50460a3dd8d25118e25eb01178d09743dabc01cd185f6b2cc723bae21ff023c2 SHA512 f86568d4f33c8c18da270e089e1274ce2e3c705c116b078531bb66656f0bbb9a2fc95effbb8bf5355a082d4f32ce5b44e7f6e316937164aa0d71dd47e654c618 WHIRLPOOL 6e3b754f9e6f40c6037652dc7d746e616871a653640e2a91ab7dd3e70b4240c0b377d0f79c543ca95c5d661046c6431e30f263e0f18998cac0ca3089a4634273
DIST puppet-4.10.1.tar.gz 2954351 SHA256 271738d2b5aaec8faafd543076ac0d9012fcd6051bccd2f70a66cd479362c605 SHA512 d232f062b93485f7eea8abb9c5420462e313e6050e7335159f051f7c7af86338c006ae4edc09e0e1370784ee7b076911ca563a4cfc6a1f2afc7179bed08d2032 WHIRLPOOL 1a5b8c3fc87fdb4e23196cc13ad46c963cdb6314cfc0e4d3a6d44adad4545289cf41886c6150ee14fcd0d30d9b29f32987c6e31a7c39077a2c53aac7147c69dd
DIST puppet-4.10.6.tar.gz 2977099 SHA256 19250a3659339961953d48d71aa5951d52bcee3bac0a1e2f45042aa82fcf358a SHA512 f983005d161bbd5fb81dfd15a32cb0ae2417557bd4faa1a62d2fb10fffa55c91ea29c1577785af9642a2878c78405ab99c7e6ee4268fcedcc107c07a0a5bfdd1 WHIRLPOOL 4619f7e89a02560f2c6bd1194b1f50699348fcddf5889628884c807deb0afd9b530883d280db20086a787052d2456ef61b2eef84854e95724562f1a0225b2640
DIST puppet-4.10.8.tar.gz 2979824 SHA256 2a11f9230f2b681173107fcfe6574dc38d8061c7d369fa88525dfb652fb7f198 SHA512 9f3384702dd4938e1e00aeceb0745b760de32000e0dd59d5b846d1120a46026499176a51d0409e3a0ae414efc0872854c204d1941385695a4c57c209fbd1f28d WHIRLPOOL 06ed0f915786e6d0c5698a8bebfb68628d96b236b667ec44c994c043949cb4a47c8d42b2fbe8391178f38862fe816237d28501b4e39a6326d74ef2d62eb438eb
DIST puppet-4.8.1.tar.gz 2873371 SHA256 8b3ee6b60639e2a2839ad7403fab8f8ecc390a93e6e47b03f1b053aa262bcf17 SHA512 9ecde04c68874652b501e779764bb3227d226564e80f06c2c15bd982620529ec55f8e11911bcf68db994ee98287746761752538aa5aeee474ddf37f21976e2d1 WHIRLPOOL d3a4b0b4b15dceb75cb3f161b73843af53f5d21121ba1fb06fdae422ec458f62f5fa47d0f5c7bfb96e3e9b04eb62c4c1e1a97f7131101e4f6f4ff952127c0685
DIST puppet-5.1.0.tar.gz 2734018 SHA256 ceb8059704d2e79c1f9147716b596261e1c6c38da3313a2283def777ecf9193c SHA512 07019f40c5b7f18243f13abb899c2ff2ea4b135895ab98c13da3df50f8e720e2759f8eb39e349ff04286da7de504cffea3df8acf9711e8591b25001a2a3f9c15 WHIRLPOOL a5e4e44c68a503307b01729546121a03a0271bc68f8db139e7d52981f9ce9f6db4e24b18a252633794e7de1c7aceb6d833c817a291099081b31190060bb59d50

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

@ -0,0 +1,194 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby22 ruby23"
#RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit xemacs-elisp-common eutils user ruby-fakegem versionator
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="http://puppetlabs.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 experimental ldap rrdtool selinux shadow sqlite vim-syntax xemacs"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
>=dev-ruby/rgen-0.6.5
dev-ruby/json:=
>=dev-ruby/facter-3.0.0
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"
# ruby_add_bdepend "
# test? (
# dev-ruby/mocha:0.14
# =dev-ruby/rack-1*
# dev-ruby/rspec-its
# dev-ruby/rspec-collection_matchers
# >=dev-ruby/vcr-2.9:2
# >=dev-ruby/webmock-1.24:0
# )"
DEPEND+=" ${DEPEND}
xemacs? ( app-editors/xemacs )"
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"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
SITEFILE="50${PN}-mode-gentoo.el"
pkg_setup() {
enewgroup puppet
enewuser puppet -1 -1 /var/lib/puppet puppet
}
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-4.7.0.patch"
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
if use experimental; then
epatch "${FILESDIR}/43e2c935252b995134ce353e5e6312cf77aea480.patch"
fi
# Use working version of mocha
sed -i -e '1igem "mocha", "~>0.14.0"; gem "rack", "~>1.0"' spec/spec_helper.rb || die
# 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 specs that need further investigation.
sed -i -e '/should resolve external facts/,/^ end/ s:^:#:' \
spec/integration/indirector/facts/facter_spec.rb || die
sed -i -e "/describe 'cfacter'/,/^ end/ s:^:#:" spec/unit/defaults_spec.rb || die
rm -f spec/unit/indirector/ldap_spec.rb \
spec/unit/parser/functions/create_resources_spec.rb || die
# Avoid specs that rely on tools from other OSs
rm -f spec/unit/provider/package/{dnf,tdnf,yum}_spec.rb \
spec/unit/provider/user/directoryservice_spec.rb || die
# Avoid specs that depend on hiera-eyaml to avoid circular
# dependencies
rm -f spec/unit/functions/lookup_spec.rb || die
# Avoid specs that fail due to an unpackaged file
sed -i -e '/when loading pp resource types using auto loading/,/^ end/ s:^:#:' spec/unit/pops/loaders/loaders_spec.rb || die
}
all_ruby_compile() {
if use xemacs ; then
# Create a separate version for xemacs to be able to install
# emacs and xemacs in parallel.
mkdir ext/xemacs
cp ext/emacs/* ext/xemacs/
xemacs-elisp-compile ext/xemacs/puppet-mode.el
fi
}
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
newinitd "${FILESDIR}"/puppetmaster.init-4.x puppetmaster
newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster
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 xemacs ; then
xemacs-elisp-install ${PN} ext/xemacs/puppet-mode.el*
xemacs-elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
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
local v
for v in ${REPLACING_VERSIONS}; do
if [ "$(get_major_version $v)" = "3" ]; then
elog
elog "If you're upgrading from 3.x then please move everything in /etc/puppet to"
elog "/etc/puppetlabs/puppet"
elog "Also, puppet now uses config directories for modules and manifests."
elog "See https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_agent.html"
elog "and https://docs.puppetlabs.com/puppet/4.0/reference/upgrade_server.html"
elog "for more information."
elog
fi
done
use xemacs && xemacs-elisp-site-regen
}
pkg_postrm() {
use xemacs && xemacs-elisp-site-regen
}

@ -1,5 +1,4 @@
DIST dpkg_1.17.26.tar.xz 4410860 SHA256 aa4e758752cdfd7ecb118d7a7d31139a0c090c92aa494aa2e46603006deb1ec8 SHA512 4d2f2a7691dd34d47b62ec1f602d9bab612b151f05362607ec8e31037c4ba0baf5d609c46352240e9806e5781db8df9781e8a0ee9fd24faf54f8b43244a7e538 WHIRLPOOL 56decf0774f2d4405fb0934415c50749230c06fe9112e0ebb4458a8917538c83644eadb885d24350bbf713a6250dd5687956b70d47e22c06cf39ff87cb2d5a23
DIST dpkg_1.18.18.tar.xz 4501988 SHA256 c88b61e3d4660500753142689e8ddbeff1c731f29549f3338e6975f655936ff5 SHA512 7682c8ac523ff710acd6742b9a884ed8ec8537e3b38496f871f112fdfd2f874af6d676cfef2d31d2474c5637df043838c814ef4038097b009cf06b3d4e66029c WHIRLPOOL aabdc0df8e07fc5190e3bfa3ee29537b655410f739f5c7930086aba8e30745aceccbe671963b045d74acb2ace704a846b650c83c8fb515abbbccf5d71d70dde8
DIST dpkg_1.18.22.tar.xz 4520088 SHA256 eaf2ae88eae71f164167f75e9229af87fa9451bc58966fdec40db265b146ad69 SHA512 c4653b92d3b3ab3051e1cbe7abb757f75b8ab902a54dcd6e2379115d3f36ae7c5d6e0a00f34a3cec1a96484dc708197061824dd81e465d8627e726bfc48eb2b4 WHIRLPOOL e8478df090141a2cb0de745ee643c8f387a80aefe52d13d94e5c0385155a8efb1ae395ed2edbb6db09660b527232a7ca90e91adec433ca4f91af40cbfad7847d
DIST dpkg_1.18.23.tar.xz 4516252 SHA256 cc08802a0cea2ccd0c10716bc71531ff9b9234dd454b83a59f71117a37f36923 SHA512 4f9bed1fb0558fa6b003601b7be8d67eb592140b7f9ac4cf0bccb394e14b42a822cdc692c8c6e27ad2929719fe78659f21c128cb17618733d344fd3489f42be7 WHIRLPOOL 711083cdecafe9a54ad4fe13b804730ba56a3bc7e8c396624b6a87a8130d5151e7ecea8b518f8eb3aaba9dc64544f6a766b89500a517dcca8a585f7bc74af7cf
DIST dpkg_1.18.24.tar.xz 4530444 SHA256 d853081d3e06bfd46a227056e591f094e42e78fa8a5793b0093bad30b710d7b4 SHA512 74df36a49a1b6b2243db14bd7ee0b69e50c2f0e79fc87e86e9b3cba2261fb717e421f7190a3ba54b4680a2f83855e5857dcb2625aa56847133258567392f1d42 WHIRLPOOL 94406a061e39aa755e8bf9a4ec2584a117676b4309b2b94442490571fa1c0a91cc2631083630bf5c701fd9a894891c7658ac70e583ef89be16a2776f941445f0

@ -1,87 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils multilib autotools toolchain-funcs
DESCRIPTION="Package maintenance system for Debian"
HOMEPAGE="http://packages.qa.debian.org/dpkg"
SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris ~x86-solaris"
IUSE="+bzip2 +lzma nls selinux test unicode +update-alternatives +zlib"
RDEPEND="
>=dev-lang/perl-5.14.2:=
bzip2? ( app-arch/bzip2 )
lzma? ( app-arch/xz-utils )
selinux? ( sys-libs/libselinux )
zlib? ( >=sys-libs/zlib-1.1.4 )
"
DEPEND="
${RDEPEND}
app-arch/xz-utils
sys-devel/flex
virtual/pkgconfig
nls? (
app-text/po4a
>=sys-devel/gettext-0.18.2
)
test? (
dev-perl/IO-String
dev-perl/Test-Pod
virtual/perl-Test-Harness
)
"
DOCS=(
ChangeLog
THANKS
TODO
)
PATCHES=(
"${FILESDIR}"/${PN}-1.18.12-dpkg_buildpackage-test.patch
"${FILESDIR}"/${PN}-1.18.12-flags.patch
"${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
)
src_prepare() {
use nls && strip-linguas -i po
default
eautoreconf
}
src_configure() {
tc-export CC
econf \
$(use_enable nls) \
$(use_enable unicode) \
$(use_enable update-alternatives) \
$(use_with bzip2 libbz2) \
$(use_with lzma liblzma) \
$(use_with selinux libselinux) \
$(use_with zlib libz) \
--disable-compiler-warnings \
--disable-dselect \
--disable-silent-rules \
--disable-start-stop-daemon \
--localstatedir="${EPREFIX}"/var \
--without-libmd
}
src_compile() {
emake AR=$(tc-getAR)
}
src_install() {
default
keepdir /usr/$(get_libdir)/db/methods/{mnt,floppy,disk}
keepdir /usr/$(get_libdir)/db/{alternatives,info,methods,parts,updates}
prune_libtool_files
}

@ -1 +1,2 @@
DIST par2cmdline-0.7.3.tar.bz2 3129759 SHA256 dfd8cb54c8ce6672ca1f94ae180179d702bbd2c2f88b36dac256d7cf1edfad55 SHA512 85fe91f2e7cc1888171390f82fe2d12279e65eab17b3a6db209998aed316c5ea9dd5e63004cf975cbe460c1ef27860af31160e8757921c4027e27997dcd8be8a WHIRLPOOL e40818de0da3ddf5df8b17fdb2e62d39647161de1cd7368f615ccc05efbfabaa47dedf9e56181e638dba51bc1e41828afb415e26acddaa8881c7b73e70b1d288
DIST par2cmdline-0.7.4.tar.bz2 3129835 SHA256 e602db3d8bdc49e2cb9e0e089ec31cd262e661ef7450f5d556e43a97a299e71d SHA512 20f99556b4dae2e4467d781a96adab8d9f9a42dd43707de788b268eeea2bf59d92847e3c4faf413ea3de361360ef1236e97343ee8b625c9c2cd65ec9546e61ec WHIRLPOOL 38c11146bc7829352f33dbe57d68ed91e41547df5bd394efb6ea3d18ded5ca2770a98ac5c9364183afd9b46340218d9dc6239e7a15555a89702c473cb273e6d0

@ -0,0 +1,30 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit toolchain-funcs
DESCRIPTION="A PAR-2.0 file verification and repair tool"
HOMEPAGE="https://github.com/Parchive/par2cmdline"
SRC_URI="https://github.com/Parchive/${PN}/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="openmp"
DOCS="AUTHORS ChangeLog README" # NEWS is empty, PORTING and ROADMAP are for building
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_test() {
# test22 fails when run in parallel
emake -j1 check
}

@ -1,4 +1,3 @@
DIST xarchiver-0.5.4.10.tar.gz 1011648 SHA256 bb452d8ef4eabb52ab1313b3867156ea5030b75f9e59c59c7ef487c8db9dbea4 SHA512 847ac018d0fb8b4531d0751ba5f32e902e8e8bcc66399e1f083e56605e22ccf5f7ac9b883aee7df1ab0d01db98878c6ed784c08051b4ab8f164f959d370844a1 WHIRLPOOL b733cd4fed3d2735b2d84ddd6210fc511574239c8824ad790045e7794a4d4a9ad8185fd04d444646d70a19b26f1584f89b107cf2ae889b5f67b023214e480ddd
DIST xarchiver-0.5.4.11_p20170629.tar.gz 1052723 SHA256 2dabd6f5d96c5d886d9a5ed7d299cfc43d1fef88be37d1d298a78c4c01a63b45 SHA512 e63e9ddd98c5ec5708b74e993cb1901835c133e220ba95aa5a07cca01660fab5894533c57b39223db6155e2fc0ea014ce6eede853ebaf067de27f1e77c5e023f WHIRLPOOL 3516a976e6d5e161a1313d1e10d207e8344c26a0570fdd1cb1a271410bcf9ad2cab1fbce057f419e5e41833a56ff6995649a67abc47322a20f1de8f8e194035b
DIST xarchiver-0.5.4.8.tar.gz 987648 SHA256 0947dce52538876d31e18ab89270f5eb52fba2c21ce877a4d56cdb5de5048e81 SHA512 d3be46b87c9475bfde2a3449511a08b1abef3d90b0b2c0e1165e093fa54210dbc2182b986a55e12e11bed67b516732f498c8038b360df3f697603befc2a4a8b3 WHIRLPOOL ba602771a06adfda1dc5a8cf1323deb339159b9399a54f4e47d42d0e56601eb93769bb2ac58bcd39f09ceaf7de9f837d4ec91eae150d1a12fda64e509d08a273
DIST xarchiver-0.5.4.12.tar.gz 1074764 SHA256 62885813edce274055e8fccd3f360b61a74a3b0e4854080201638fd1f3306370 SHA512 18d177efed810576ee4dc4bc379817cbff390bcbfc541652d8288545bbb4a0e29b2136364e8675814a2780d06e2c5537ca4451a1c73a6becd45e1c0de7ba4554 WHIRLPOOL 6dbf1cb0784ef2a2a8a07c681a6a43329757c8b6cbd5f557a756cbdb53f5d8703065a141334ffddbc3fc03fce2f3acd6203615a04bb10cb3555eebc8c01256e6
DIST xarchiver-0.5.4.tar.bz2 1003045 SHA256 e63fa73979fcc56efe8cca9095fd915d31a1714ce9676246b8626f164e452ef4 SHA512 3b767c2601d94104e2fc72aa8d168afa5a154b5747a9b0518d1c348417e56e4c19d872a0029fb78decc897e0f3bc9573e17d0317b85f584e7275b0e519f5f30d WHIRLPOOL 3f5a277b05147daf29db0be26718ed51fa0bb6d2416ee41cdd8ce6c54bc66064fc5f313af39a32b428997f906c9fd4d1a0b8d60fe5d2d867b1137960b0cbe4d1

@ -1,48 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools gnome2-utils xdg-utils
DESCRIPTION="A GTK+ archive manager that can be used with Thunar"
HOMEPAGE="https://github.com/ib/xarchiver"
SRC_URI="https://github.com/ib/xarchiver/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-libs/glib-2:=
x11-libs/gtk+:3="
DEPEND="${RDEPEND}
dev-util/intltool
sys-devel/gettext
virtual/pkgconfig"
src_prepare() {
sed -e '/COPYING/d' -e '/NEWS/d' -i doc/Makefile.am || die
default
eautoreconf
}
pkg_postinst() {
xdg_desktop_database_update
GNOME2_ECLASS_ICONS="usr/share/icons/hicolor" \
gnome2_icon_cache_update
elog "You need external programs for some formats, including:"
elog "7zip - app-arch/p7zip"
elog "arj - app-arch/unarj app-arch/arj"
elog "lha - app-arch/lha"
elog "lzop - app-arch/lzop"
elog "rar - app-arch/unrar app-arch/rar"
elog "zip - app-arch/unzip app-arch/zip"
}
pkg_postrm() {
xdg_desktop_database_update
GNOME2_ECLASS_ICONS="usr/share/icons/hicolor" \
gnome2_icon_cache_update
}

@ -9,7 +9,7 @@ SRC_URI="https://github.com/restic/restic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="test"
DOCS=( README.rst CONTRIBUTING.md doc/design.rst doc/faq.rst doc/index.rst doc/manual.rst

@ -10,7 +10,7 @@ if [[ ${PV} == 9999* ]]; then
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
S=${WORKDIR}/certbot-${PV}/acme
fi

@ -10,7 +10,7 @@ if [[ ${PV} == 9999* ]]; then
S=${WORKDIR}/${P}/${PN}
else
SRC_URI="https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> certbot-${PV}.tar.gz"
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
S=${WORKDIR}/certbot-${PV}/acme
fi

@ -9,7 +9,7 @@ if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
fi
inherit distutils-r1

@ -9,7 +9,7 @@ if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
fi
inherit distutils-r1

@ -13,7 +13,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="23"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
KEYWORDS="alpha ~amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el hesiod jpeg kerberos livecd m17n-lib motif pax_kernel png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
REQUIRED_USE="?? ( aqua X )"

@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="24"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="alpha ~amd64 arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
REQUIRED_USE="?? ( aqua X )"

@ -12,7 +12,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="25"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
REQUIRED_USE="?? ( aqua X )"

@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="25"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
REQUIRED_USE="?? ( aqua X )"

@ -1 +1,2 @@
DIST ebuild-mode-1.37.tar.xz 30816 SHA256 f7368a8757036874dde542c69c26b824fe3da5241098f89a6b7d7e2665cbbf1d SHA512 1d570b213ad0c6eef8817f69c99c0862703b9bddc24477234dde542b697ba372a06bbe8e4a91179a7d528b720a7dbfc13bb92c8ea0a4d3b3b8684fa4ee0065c0 WHIRLPOOL 75928f5965bdfe66733e203588f01ab3b5de67a5958d33f41069d0793842bd9617ab0904ab71f95aeae04e0aa2f55646e4c545d6199cc1d357140b8fd1a714ab
DIST ebuild-mode-1.38.tar.xz 30744 SHA256 63f39bb1a09e29b86e5048f162f4779f287c8825e161a092e74530962947d3c3 SHA512 bfcc4fb100f7d9299e9b466c7661e865f9b93ee352780da1647f1a98159fe3e9eeb8cd4b7d1d9906d532316d1256ec7b6f821cac3d064cda15f2fd62ca7cb349 WHIRLPOOL ea61825ac0fd2d50ec9722088b03ed9664708dd6fac076ff3db8323bfdf8d1b2e351c7059f2f77471ea200b7a19d9f67ab233ebdb743ece80218f0e940fb0706

@ -0,0 +1,22 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit readme.gentoo-r1 elisp
DESCRIPTION="Emacs modes for editing ebuilds and other Gentoo specific files"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
DEPEND="sys-apps/texinfo"
DOCS="ChangeLog keyword-generation.sh"
ELISP_TEXINFO="${PN}.texi"
SITEFILE="50${PN}-gentoo-1.31.el"
DOC_CONTENTS="Some optional features may require installation of additional
packages, like app-portage/gentoolkit-dev for echangelog."

@ -1,4 +1,5 @@
DIST magit-1.2.2.tar.gz 111245 SHA256 8ed300887909d0990cf17b1f4a3b902944db2471ca93dbf0202724b3f44e5d0c SHA512 c7817a5231485e593e8f7aab8c01db19f433ff9b77d6635c95eec6beabb45901f1dbd9d02fad718436f9e25516df14714e7ca1b05b53244e8465dcc14a8cee7a WHIRLPOOL 4b7116bf2568f786a859299ed8039bee32fda51322e29f7ddd139a9ee5e3f3a3caa9d245fffed3e6c28f11b0e068c398f424450275de94a4559a9812634639a0
DIST magit-2.10.2.tar.gz 429389 SHA256 c550e6ffba4613a3aced45b3af03b175762e3a385c96d1e2ed480b9e2b43c446 SHA512 3309824a4a9fe36316912911f53a1c9aa8f93230b6461cf4bbcb9cdb38d474ba59c8450fe1722155959c8cf5610358ea9ec28723cdbbce226219f4cf1c5c4bd2 WHIRLPOOL 8f53d046585b077e4df8b8f5ddb82b2bb9d1673e1bd0cb4c0a0c81b04cde39efe899cfcd98386868376bfc900e598818b06132cd2cbb9774bf28e68843a1d21f
DIST magit-2.10.3.tar.gz 430343 SHA256 dc797db8da8683767ffa5d006f6e85d334892979c76057baf03c99bb0c6f669c SHA512 54cd4c54548583972111ffb18c3b4e0834e061d84d071d5b559fe4b800872eadc214d01c8efc4452ed725184ec5bb1954e897d94fdb82397c9e953aa7236532b WHIRLPOOL ab39f72babb68f619993e221ae03616e6a1c1eea62e2f106f9a4783bdb9e160ec04a183be38a7d2450aa0a75fe97ac119605e32b9f2b9f0983b437855a7c0166
DIST magit-2.11.0.tar.gz 451030 SHA256 5138509a3f5b1be3cbacdf4ddaace4ce4a3b6bafb4f209fffccf69ef99e329f7 SHA512 d32abdc9e89e77f65f05cc3dbec720320bc93d9ae827604c4f90acd115e76f8d05e445a96a141fbfbe88cdacca8383615fb73bddf01e776eeb3f63a459e973b6 WHIRLPOOL 12e2b85e39019998c20438fdf22b5e5ae8b601ab5ad0513bb0281e621bae11985e4ae4ce70a86d48be4e402c60c7606b77367876bf1b6a4ca0d5df2ace567947
DIST magit-2.9.0.tar.gz 421074 SHA256 0de38797cb89a5abe202f08ea371ab0070f5829587285cf48cb28340b5bbde78 SHA512 0a15e4b6c145c081929f4f49cb40f7827bb3e68b4122e9e76b74ea24ded4c3bd3ea5c431ef6d56b08705fe3b77f2d32ee4383c7eddc93de2a3170add098e15ed WHIRLPOOL e12d5e406531a1fa70da062c94e977384cfcd22f50e51867d4a436c2cc722acde3e62725304d867af7e63a9529287aaf547b8f973281d574bdbbf0878fb54bb5

@ -0,0 +1,29 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
NEED_EMACS=24
inherit elisp
DESCRIPTION="A Git porcelain inside Emacs"
HOMEPAGE="https://magit.vc/"
SRC_URI="https://github.com/magit/magit/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/${P}/lisp"
SITEFILE="50${PN}-gentoo.el"
ELISP_TEXINFO="../Documentation/*.texi"
DOCS="../README.md ../Documentation/AUTHORS.md ../Documentation/RelNotes/${PV}.txt"
DEPEND=">=app-emacs/dash-2.13.0 >=app-emacs/with-editor-2.6.0"
RDEPEND="${DEPEND} >=dev-vcs/git-1.9.4"
DEPEND="${DEPEND} sys-apps/texinfo"
src_prepare() {
default
echo "(setq magit-version \"${PV}\")" > magit-version.el || die
}

@ -11,7 +11,7 @@ SRC_URI="https://github.com/voxpupuli/puppet-mode/archive/${PV}.tar.gz -> ${P}.t
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~x86"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
DOCS="CHANGES.rst README.rst"
SITEFILE="50${PN}-1-gentoo.el"

@ -1,3 +1,4 @@
DIST docker-machine-0.10.0.tar.gz 1605832 SHA256 ed64698723436e68341a1ebd8486006293eac306bfa8628e924b38bfcb5b039d SHA512 337ed74474b5e55e10ccd7c8bb3b778d06fc2c56c1646678715548ddeb41a0b7320212d498ad96cbdd08137f78013506b569c4e0aa0a2f28169264d64d814f7c WHIRLPOOL 06802376ba23ec1706ad09c784e3ceb70aab439d88523c2845a69a895e9a31911737bbf889f91627caae79e31cf8039265382183f7112987f0de6aea58adf138
DIST docker-machine-0.12.0.tar.gz 1663612 SHA256 2238dbb8580ca2399c64fa6cda0089a9dde6142d4dcbb8d750aedbeee042fbfe SHA512 5fd27fcae1a44ed45db229342c93b3d53f0c193eaaf95d8f12d6e2be830c14c13154fd9338050f28b52bc0a5f8586bd72b802afc042b8d7f6c4d5dd5bc4c12ac WHIRLPOOL c0e6929447a1c6c582ce5e1aa2a01452661d9e1b9edcd43de75fd3300f200454c7b94196cf38a055befbebceb75decb7a303108ebd19e0512dae56d9ab55b6af
DIST docker-machine-0.12.2.tar.gz 1725590 SHA256 d8b89fcaa8226bd0ed294630b12740def88c70b1924ca4cc1ea05a19b25c05a3 SHA512 58b2ed13b56034f5bfb8374397aead67c669fc544409932f6c29ca56578ad61b3f584a8f32b281cafac56a9647d6e215ab5138045c2c6810a5d202c68bfdb3b0 WHIRLPOOL 391f7dc350ff45cc8754a1f17162b78879ebd81dee38be83cda4c7f78aaccaecf5917ad55fad6e22e9540401ddb10a355a3f17e91eddf2761686981dbf86dfed
DIST docker-machine-0.9.0.tar.gz 1603705 SHA256 8e445e70a92c98a5e73594d8aea07b31dda6fa4ed2d1e7643663f0267e05f25f SHA512 f405f4b50e493d8c3e7526e89c8b45edf9167c9c04a1dfc9dafad3070f32a9a38570f02b900ceb322a43c596558c07b8f0b060cc4afe1fe2b6b6f4af0179a779 WHIRLPOOL 39b504327264c6f0ba2268fac2fa03c1b4f5f93c9e347d6f459e4a5f6bbfe773c5c272fb63d10fb272b92aa622e7474679f67200583f10fb5156f3198b0c1adb

@ -0,0 +1,39 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EGO_PN=github.com/docker/machine
if [[ ${PV} = *9999* ]]; then
inherit golang-vcs
else
KEYWORDS="~amd64"
EGIT_COMMIT="v${PV}"
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
inherit golang-vcs-snapshot
fi
inherit golang-build
DESCRIPTION="Machine management for a container-centric world"
HOMEPAGE="https://docs.docker.com/machine/"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="hardened"
RESTRICT="test"
S=${WORKDIR}/${P}/src/${EGO_PN}
src_prepare() {
default
# don't pre-strip binaries
sed -e 's|\(GO_LDFLAGS := $(GO_LDFLAGS) -w\) -s|\1|' -i mk/main.mk ||die
}
src_compile() {
CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" GOPATH="${WORKDIR}/${P}" emake build || die
}
src_install() {
dobin bin/*
dodoc CHANGELOG.md CONTRIBUTING.md README.md ROADMAP.md
}

@ -1,2 +1,2 @@
DIST fuse-utils-1.3.2.tar.gz 490454 SHA256 45b664bf7b2130899bffad4606d8de824c002ee2f0af9683ad343630efe4190a SHA512 26c0b675355d79f5e8a1f28127101d473dd2996ff40c6fd13a92b99d2a54fbecce52cad42b6fb3dfba4d397a0e9b44e58ae5df7d958b9ddabd8702fe147f96f7 WHIRLPOOL aefe7c7b8d8d78925d2b5c4fc5f873e82d0386e6c4915b797edac5bebddc618701e60c44b0fdc30e99555d105e72b19297fe11ba14fd28a779a0707c274bb18d
DIST fuse-utils-1.3.3.tar.gz 491483 SHA256 e6242dbf3359be8b92b228fb3dc5753b17f2c3b6cf4a70c4c71b63c20fe9ded1 SHA512 f2b0afc61b178ae51f2dcbff70112e35213efe8885e4f89903d02e5613652b0620bc6fbf80cfb8ca761324894e2913739b9083f91a03e689086051f83d182805 WHIRLPOOL 65db3e48f2a49199c0800fbe116eae519c997f1b767a833b184e4320c43d6d33c210b838505c3a02b775856db5a23f093877cac4e3b1b96128dbd2c0b78c0f2b
DIST fuse-utils-1.3.4.tar.gz 493813 SHA256 d8615623f78001ec098f0bb262da6184930ab3654cfd4f00c3232f1a5f295fe0 SHA512 878f0481f7b62a989c1c1e947996b9c3ffafbfde4eb6c0af46aaabe765768f308ca26d3a451f438e48c795a6f08791c9ebf672448519a5d0790d5781c9bad6bb WHIRLPOOL 62ec95b67dadf10f0ba07ede8d44bf7084e7ed69edaf660046198b3424fd5ca42be487b1da222608d6869806cfd1841e4d06b03dba465e74e5ec6a7afdb4dc52

@ -12,8 +12,11 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="audiofile gcrypt jpeg png zlib"
RDEPEND=">=app-emulation/libspectrum-1.3.5[gcrypt?]
audiofile? ( >=media-libs/audiofile-0.3.6 )"
RDEPEND=">=app-emulation/libspectrum-1.4.0[gcrypt?,zlib?]
audiofile? ( >=media-libs/audiofile-0.3.6 )
jpeg? ( virtual/jpeg:0 )
png? ( media-libs/libpng:0 )
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}
virtual/pkgconfig"
@ -23,5 +26,5 @@ src_configure() {
$(use_with gcrypt libgcrypt) \
$(use_with jpeg libjpeg) \
$(use_with png libpng) \
$(use_with zlib )
$(use_with zlib)
}

@ -1,2 +1,2 @@
DIST fuse-1.3.7.tar.gz 1644585 SHA256 ba57f4b4c1a7ed398b8d85b7da14b85bd346023bed17d8d7b6ed3e0452e7b4b0 SHA512 68a251de93a71a6ca8c107a9bd4258e6b4f5643af5dd76c0855ebfcfcaba768b932e6d0d0ab7b521ecaef50d975b86b4bfb7094e9a72ec6bf7d94911823d0886 WHIRLPOOL aab8ffdfd40ebbac9f88736dff98891f0eb51e43548ceb0c4d1ccba241009304c431651ed0c034797290eb79e6ffdd97f45591dd6efb426a60f0e511f642cf0f
DIST fuse-1.3.8.tar.gz 1645303 SHA256 299b7efe342c6268a05e805c20427083bcec127ad36b1ebfd4ae7294978a7de1 SHA512 e048d984bfc405e8e9801812fcf4b0b62c8bdb67eb573a815157a1f76e4c752303c919dc62b351db25c156b944c4b1b6d28595f8ce86390221039852baf13aa6 WHIRLPOOL a1dec25d878e49c11a4d69b59cce594a4a0ee075ad7b758eaa9afda9dfc6cbb2f6fded96938c4ca8473416f7f741cf3d4314fcf015aaacdb87b69387378a1ed0
DIST fuse-1.4.0.tar.gz 1652821 SHA256 75ac811534c7e352f238b1959a7f6478661bc4103f96dd1166ec395ad7523d97 SHA512 e5d0e65820f54d0ac0447d50aa89ea4ba3e6bb717e270ae813c640a9b36fe015c68f194edacb5cbe8899ee7893c30cab4493ed297919e962e722e9d3e1f72001 WHIRLPOOL 64f043b26ff5e6dcc0c1f33c106328c61ac86c16844f9d56951737c96e1fdb20ed196edb2940a220089ed05e8ba524621b65f2984a9aa04d88ae67dd7123dcef

@ -15,18 +15,18 @@ IUSE="alsa ao fbcon gpm gtk joystick memlimit png sdl svga X xml"
# Only one UI back-end can be enabled at a time
REQUIRED_USE="^^ ( X fbcon gtk sdl svga )"
RDEPEND=">=app-emulation/libspectrum-1.3.5
RDEPEND=">=app-emulation/libspectrum-1.4.0
dev-libs/glib:2
X? ( x11-libs/libX11
x11-libs/libXext )
alsa? ( media-libs/alsa-lib )
ao? ( media-libs/libao )
gpm? ( sys-libs/gpm )
gtk? ( x11-libs/gtk+:3 )
joystick? ( media-libs/libjsw )
png? ( media-libs/libpng:0= sys-libs/zlib )
sdl? ( media-libs/libsdl )
svga? ( media-libs/svgalib )
png? ( media-libs/libpng:0= sys-libs/zlib )
X? ( x11-libs/libX11
x11-libs/libXext )
xml? ( dev-libs/libxml2:2 )"
DEPEND="${RDEPEND}
fbcon? ( virtual/linux-sources )
@ -53,12 +53,12 @@ src_configure() {
econf \
--without-win32 \
${guiflag} \
$(use_with gpm) \
$(use_with alsa) \
$(use_with ao libao) \
$(use_with gpm) \
$(use_with joystick) \
$(use_enable joystick ui-joystick) \
$(use_with xml libxml2) \
$(use_with png ) \
$(use_enable memlimit smallmem)
$(use_enable memlimit smallmem) \
$(use_with png) \
$(use_with xml libxml2)
}

@ -1,2 +1,2 @@
DIST libspectrum-1.3.5.tar.gz 502777 SHA256 674c3c973af342054a3613686a57f5ddd425c2b83cd84a07bcbe5c89f312461d SHA512 2c4447f94d0ada671f2ea17437bd71c85535d600917052fe835e66b634c833356a5b7e425fcd12666b31b3165453fcaa599e8a0fb60494e6a4583bd06f4a474f WHIRLPOOL 57fdcd23cc8eb1a8b1d55406b95e1db38600a057bf552b67e625ad82bd5126caaead0c064302622155b8485ab904cb8a76e1f44749b26d1bb75ea702cf42b115
DIST libspectrum-1.3.6.tar.gz 503554 SHA256 31c85d85bc17acbf7465f7d7805fc84dfc4830cee3715b929d4440aaacb6ef47 SHA512 691d4525468396b48f9fd8580b2d93060816094bbb8f8d581b537a1028f1cfa9ceac24a3032008456a8d0dfc144d8b753bbf01c3358fb5fdc50534d232d84d58 WHIRLPOOL af15c5d5c6092000baeebc577658cddf777b51d9a093208dd7bc1dd8c89e29debe5c325c06292b22528fa02f9c63dc480435afeec828eb78966bababc736d670
DIST libspectrum-1.4.0.tar.gz 514972 SHA256 6207d60e259fac2c2074b2149ff64914d656b658fb002d002a2be30bf0e6185f SHA512 4005133185bc677ac8c960fb3f731fa6dc29caa31e008ba59f1791626999717cb79e9be284d1534a3a3550fa2ea5f2b1616256f3deeac73853f5b8fe3031e3f3 WHIRLPOOL 46dcaaab260831c386f7c7d51fe7b4a79474a819cf51522738918ae1bb6250ada0483ecc6e4aca40a54b650f6b292e8aee31becc4e156747e22d08f83435d101

@ -3,6 +3,10 @@ DIST wine-2.1.tar.xz 18887032 SHA256 bfb9abf63691c93df28d9599aaa866dc2b4e27209b3
DIST wine-2.10.tar.xz 19209580 SHA256 488df7ffd2e81da455bf428fc9eb784bb4273a890334500895665711bd52f179 SHA512 8807e16a571bf45d99097ad5fdfb9fe755f6dbe84010a330fed82f1d48c76b7f19589bfc0e5dde0b9e49a608fd0501db3f7e3e129e4d9d34bcae03bc51a73139 WHIRLPOOL e9a8248aac31593fbac28a3d8d4e62bfce14a7c41cc416ebfca8606518d28efd31b32196133da211f75f48bd228bd5d21fcbbc0479293e813ed99b258b37126e
DIST wine-2.11.tar.xz 19251116 SHA256 efa96dade206aa21accf0da195335a805d38209d6a14320607c6308ebde4cc3c SHA512 691f329c47af5e51498287029988b8ca0777bfc3902ed80fd315004aba2337a938e79177e752efe86423c9b34544df3952b8c443bf43149356575fac75a779ac WHIRLPOOL 4933e1ce640b0abeebccd6969b5eaf4eec76cd135d9cfc1d904a902219f776a68f72e2bd1ae9019d69f0d0d81fd8ead0084785d1b9710590349365977f9c1817
DIST wine-2.12.tar.xz 19301968 SHA256 496c11af841487e6ec4e1953ac19b05a7f48e397da502653ffbd9fe9004213a7 SHA512 d44c1937d7d2d797150381f70317b810616d61355a59be096366d3507f59b678cffaf6d841cecf02bf9d2afa3dbf4d19270f80fb1d3ba5f0f93787d40c328f62 WHIRLPOOL 6f4b9baa6fcfe86f3d195fe603c2b9450a72a593c8f7042959b42a76880cb4ae680fde7beb70a8e823150849fda36c42985035de891ebf0088c8ffc2bceb15bf
DIST wine-2.13.tar.xz 19439328 SHA256 6fbca3ddd19b061ce65a267639efae93cf38cfabbe4a9c148a17a44703587ef8 SHA512 71873b9ec1605dd5f7502b87b0f3429c3d14a4196543d7304df455854b58ef82b8fafdcea91450cbfc01434a44886a0e0c4c4cf289ffb53167dde0f969cddc48 WHIRLPOOL 6faf1e6aeea2ab7ccc496ed85834f98eb25111c8f541c24d4876a142ad4acf7d9a4c08c2716e11fb6c92fe7aad29980cab912eb9dbb6759bdbdeca2f2f8e78a7
DIST wine-2.14.tar.xz 19447812 SHA256 03f934d95181f728600ca04d395f10e821ee38cfa31655e872e4d27d2a8795c6 SHA512 ff43d386d46c0c74449e667b61d8cebd5fa768c88e6220aa2f13df03d80b71b6c0bdf8cbab023aed96f7c88b9787a3be4989da892fa1778412534ae82a7279bb WHIRLPOOL 2d2784e1b2ddeac39a3cea4cb08a62d99d1d062d8d801874e8bf4f56d2538a4cb019418c60299556548028e2362dd533d9ea0956014a65ac7a367ed489c0c392
DIST wine-2.15.tar.xz 19463720 SHA256 d82d500cbf81fb08c711d3619bd52373138a05574d044f089af89707274868b3 SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 WHIRLPOOL 99c9497a44859ce310c764b3cd172d83ca1a2dce13633fee930ddbf1c40651ee4470f6bc9cfcb407ce65298a2afd73dc9edc536c2ba6f076631e5cf2085b8e61
DIST wine-2.16.tar.xz 19484716 SHA256 a561edcabecd6c44948e5b2ef11941b2ba047275240418fa2c98c1fdceda2c21 SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 WHIRLPOOL 92ae0a427d89b24d41d4565e333cf3b7499c1dfedb6d2a204f934975c35cb589d38b4f669890c1fd6a37b9fe8f34d98be3e7d0986e9ff99516fe00a004574520
DIST wine-2.2.tar.xz 18916364 SHA256 64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 WHIRLPOOL ffc3d357a76592651b589c6ac6608720d0258474890faf8fe3e20ac29cdd1496d569721256f9389d347bf2734a556099154fd18ef1b56f45bb46c4c15771d6ca
DIST wine-2.3.tar.xz 18931732 SHA256 afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 WHIRLPOOL 1f5ec8e5c32d124277e4c71d95726d3a5337575757c3029567c77165d65fcfec2ddf33d3863b4bf55c9eff7c3582c1ec7dbd76d84ed8bbbe89dd16db6b0128c1
DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0df8b36b9f90b69b72748e SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 WHIRLPOOL 558ab7b7517ad5e03366b4db974047eba776585e958a5b71bb2e93993e21bc725ea7a8bcf2a4354f34ca38c94ba99ccd15f2f8b5e4b58066bf339d3517eec56c
@ -16,6 +20,10 @@ DIST wine-d3d9-2.1.tar.gz 48385 SHA256 9fd80e3e2ea905272c42dbc14679e94c8e2f95510
DIST wine-d3d9-2.10.tar.gz 48713 SHA256 62a199a239fca4f172f9ff871086196f8eeb35483d7bcab4acb144c05e60debb SHA512 808241f545e60c0546ff3918cac28e2abb6fe8496e8ade3cfa8bf81612724e827d31787d1d320cbac80b71a5d6180bcc8e51249c12c099e44637e0bb9f4875cd WHIRLPOOL a8c58c5321107b958780348aebad41d57ac0a3a307e176715950e1ed1eae7d19d858db3f9b0e5cb86484919d683321ff6fc19ec1696ba5418e0d2dd861bfaff4
DIST wine-d3d9-2.11.tar.gz 48714 SHA256 3432863940fdb9ea6f36688d670c6fe800e7359d7b18723828447bedf694b786 SHA512 716dad66fce962246e57a29c239d6b69b78656a11d01a421b490ad61c2c3dd9850b34e2346319a6a35c2a01e0c28193adf78f21b9de1ffde95a06d5fae51fe0d WHIRLPOOL eeef55dca716a68e03b84d4f916955c4194810c1c460a55a30ac2c4257e256b8fc709837d7b35aa86ce3f523f2b9c11222b9096ae4d87979f1fee4a8257ddabb
DIST wine-d3d9-2.12.tar.gz 48716 SHA256 544e8b901b2fe1e0da90828f07683abf45794a3a41fdfae20eb5d29b5ee7d22b SHA512 8fe9b37ff54372984a234b18037bc736f69f2adf41478f037bc93e3d72893c46174fc3fbff78042ac66bb03d31ea85d293dbadc2b32630218ae53be8e360425d WHIRLPOOL 17f28bafb20c559424945ff92041a5c634b8775a8e97ed8aa940308fa815f2b3cfa48499a58a511fc5c33bde47db07008d168d8b0c103eec379ba27b33b8ffdd
DIST wine-d3d9-2.13.tar.gz 48711 SHA256 738583d1ad80ddeff5d437ef07885e25a2bba7da9d161ee01e45fef246edd327 SHA512 75481c73c88757c4f15eb00dc427d873ea71109f18fd64c758e858bb2fc2dc1ee7cc29ee912ec93f254186f2055277d07e2e4f1d2ee3c537c76601aa009cf632 WHIRLPOOL 57c5cd0903151eed7c2b719831581aa3216c0fc49a257f7fb9e872ca698a330b5a10d50c945937924c7efefa497dc14117a35c5b39fbccf14cb1fb711e5bbe98
DIST wine-d3d9-2.14.tar.gz 48718 SHA256 71a3aff0b348f033d4ca610e34ce6faa02eb2b5c822fa2e00b372de66541ffd4 SHA512 77aa93ac9b1a81581c27e74641722666026e2e6e03def57955a05fc76c6c02730271a562130dc87ed1caefc9b00b3e0421b2640fa17165aef2f8be5da0cf07d3 WHIRLPOOL 1319fdfb4426a0a294702a5c43641008654a1352d91d23b9bd422d83fb5cd50053110052eef09ae128dfb570523d9208272abd21cb5975adff060fe7d31ac5ad
DIST wine-d3d9-2.15.tar.gz 48717 SHA256 c0aa58e7fa3b595c38cf06fe72b54a096e43e526142a7576f839ed8aaa85cabf SHA512 5298de273fc95f65ee481416f8ed16059f244e3781058cb76ee60b6a85aaf8d977a619c75cccd08aadeac9aae9ad2e08b49c5b52ab141cbff351a4b001e7c434 WHIRLPOOL 63337e2c86be5ff2fc16ff0817719ed668360ad2258b095e88b98b1f31e382593b14cabdcb8be58a6dc0cc047cd67a3eb1f14d3ecb806ba2ac9c6f7102368c94
DIST wine-d3d9-2.16.tar.gz 48728 SHA256 2a681d28a4e042437c32ecf3f92c7abaadc862feba6aacf0df76469acab98f3e SHA512 f3950d7e34ec537b95b963fb3b35ee3729c1b3f9d8c225e96ae9ab9cf8011571ba22105a17309c481f3a504a8aa4d5ae04270691c49098924aa2f72463b79e08 WHIRLPOOL c1f3cb0922cb381f6e2aa7fd54538b98dbd04daa7f36f66742af4c544c80e894e33ebf4866520af35faec27519f0015cd5cc1139fe191bb0b3192cb2134035c3
DIST wine-d3d9-2.2.tar.gz 48387 SHA256 203ed60980ec584c09b413266728e3a93e2d980dbff9b4f65375a4e9744b5042 SHA512 6e9e031b51afc8ec200bbd252ff0d768c29af23907f782409834de593f896afb128f86fe012c95dc18e5f3c7267f170eb343d2a2c53d639933a337f0c1e04fab WHIRLPOOL 6b32c0dfd3068e87d94bbcd83718dd75a14b36d69b151e9257e04793d2d3ae78ce7da10b80cbc824ccefb6c11666241593f91963ddee6a58301f95bbde35285d
DIST wine-d3d9-2.3.tar.gz 48510 SHA256 fc17488a782def19fc02bf967128ab43236db49509e31771361a60fa3d17dd60 SHA512 58449f6b7ed7fd8182e2cce92e1d1195bf64a567c1cc92fd3f46af195e7e4039c3b2a128be9d3572d9067be6c1bb020f417c6d558bb551c60096c107067177b8 WHIRLPOOL f648a921cf4cd257a3a7dfbd3abf45d58c07782f329ec11c3a1eff3afe32e8040adb351d4a60e1b1f78c7cae0379f23468764ad162a101179d0f5b0e2c6d9413
DIST wine-d3d9-2.4.tar.gz 48502 SHA256 4c7084e733d95545b894b152b2c6c9564dfb8df594cfeb1512dad80743b39ae0 SHA512 623b1720b8cd79ab6ad2a177b9beb174f31e6fc402d6885fa2006223c855919c6f5d4267c64212ecf8cf1746430c9715c506343fb740828fc99910f916b10ebe WHIRLPOOL 9c0ea34dedc2e39ce36f1539a6d761ba07429b316a1f7fad49067eec5c28a5c60b33b3d2473cbf66b009d9772c1fb123414bfa201eb8df3e61f8efc38aa1f3fa
@ -30,6 +38,10 @@ DIST wine-staging-2.1.tar.gz 10101781 SHA256 1d193be2734ea495df2cae1dc54ce89204c
DIST wine-staging-2.10.tar.gz 10091114 SHA256 b361ec92b2e40de983b987f6564dbb75dcb121c6e2f0123fe1ae234fd81a591b SHA512 c3bf7027ddfd1405263cce844a7cbeb923e9de56cffdb296384449c0cc600b3c9a37c7fe09b62fb9ae0b47f97a2d4f208cc589f0e4205fa84ce5d112953ac2e7 WHIRLPOOL 01c5436179bcbd29ee0468f2f4d839ba805c064d80835fcd1d5e6eba562881c65ac576657a733c726ccf4b37473da6724ae06ebc023fb988d8810ed1f8096c6b
DIST wine-staging-2.11.tar.gz 10083147 SHA256 45c40fbca76cab987e7adfe47fc8e24692f896805c8a6dc6030da28e3bd842bc SHA512 e2d05ee88e1cc932c2890f1db867a9382f2c62a00ea7d63fc6bd7b3fab57ea2f0e4908313cbed08b92e48d5bc17753b0b78f6cdf2cb64e81aa5725fd86cbc695 WHIRLPOOL e2d13ed7d258b1ee442c8c87f852c1564ce5f262bd7cd31710b975882ab8cb454a1e2ec308c6c17e5bd0a691b0492fdea22a182323cb963c055592ce538db690
DIST wine-staging-2.12.tar.gz 10105899 SHA256 0f186d2268011c12094ecac8747378ad8f4ee7152e8854cb00496ba9565b7974 SHA512 a8c21c923153a42609e3ea9065b84208b01f3b14d55b7e68e548ebf6d27df956051b29dc2f053aec6287422c13eed5b6ec71e667ae6f46b1c80ae7c84a51b648 WHIRLPOOL 01cf39fa257e9975cfd16976e680117dac3d0ea3f9bc41e2d0a636023bd4afba0676587e41c55d4417cff97080b90eb11b3fe475970eec70be64f5c788c1cf88
DIST wine-staging-2.13.tar.gz 10137549 SHA256 0796440ebfa2aa651051e7081cc64f83774f966f26353876e024e42c59e24b46 SHA512 86077747d8a4f6e56dc1b0dda1688810defa9bcebaaadbf2419ce56e4590d4249881105e1dda24236f861baf0b1cc42019b2538de5d24a6d3c4f27c7a8248086 WHIRLPOOL e0c147519fde14f74031fcb7ba154c39583a9c817460d21ec50fdae40039136d46b8cc0ce9a8fb558ddbf8b62c6f0a572ad04a887c47046c0e921e6f08c4b44d
DIST wine-staging-2.14.tar.gz 10179829 SHA256 cd4c8e400a808cbfa5c5cf088ea874c761d09db897f25bc33eab840101020b19 SHA512 1e794f77309e94612f822b72872ac2726e37d219a40c4a45feb2fb56f4413c34eae966a4ae8708d502c837cd47db22979e9a05cb73b681703cd729f701cdb210 WHIRLPOOL 63f9ff9cd4d54d6ff91997a904e7cd612bb8bca905399e9c6950b274cd8218c0c04a40dca9f4e12180e1080f1631bfec38e3633fcd457e688e8f8883661a4e59
DIST wine-staging-2.15.tar.gz 10190900 SHA256 f2b5c43fbc185a6fd6399f4c351b83a172737977b2ebb1cbdeddd1838d044bc2 SHA512 75d64d103839da2daed6e5b2400185c0a5274d0e50b675283bbadff70cafe712e573701207d80c8e8af7f68d1d273efec3c0d705dc982c74b8574929daadecfa WHIRLPOOL 13239aa636fc102fb374ab8724b7dbce8e9b95f16797a4f5faf8a5e7789d60e6b485c7495ccef4568edbbb0549d657a6758642de2e98b449b0ced2725136e444
DIST wine-staging-2.16.tar.gz 10220855 SHA256 da0ef4b0eafe9cd1b9cf26a5b950088adf1308e17a0d6f4ae62516b6ee64248e SHA512 96585caf77569a31f516aefe230a8907ef91db29759f75075593b751985f294bf292a1c146d287a3f0859a6b6273560670c4bc734ef0fbecb0809574eb3f09ba WHIRLPOOL 66128c8d59593243e95d6765b9fd8ace59e85e365a5e8a41eeb17d370464005aef060ddf3d862d0a3638048fd92189860e69a3cbf7d24d3ce1e420200d4b3cf5
DIST wine-staging-2.2.tar.gz 10078327 SHA256 9d3cbf7e5f12c623d275457b910a158e0b176fcf50c09a5f8425864de604bc1d SHA512 8ad3f8ba4c6439a9ec4884a55018a67c9e2c2384830074646aac7b70cb9f4f5a20f760247ab42dc3d2f697cdac7ea5322be8ed12c435cb0bc185ac08fdd4dd91 WHIRLPOOL a34c19aaace64307de56d935cb0cef17d7c066c39b83c51e70ea76a20083f928bea55fe38d62b7a8250b0a9e8f00e0d2b744f43fcab433069ffb96625d955303
DIST wine-staging-2.3.tar.gz 10071742 SHA256 9a81be606836fab6203857f7937ff97575947f75d52c80fb5489418efb8b87e1 SHA512 8e8af1e36cc69c63ec3542f0ec4db18b6d8c16b5c9077eb211297f3a886519da71bcf72934bf8d6d72e44c7c9f765e1d00203d0d75cab8544f69f9b0c10a7133 WHIRLPOOL 50738a6e20890748d7eb01152244d34b259759f61b3587ba39815dc066fc8e2b66ce182e1ddbc912f50076a3599aa060ec6a94eeaab4513ce3a776711929b9b1
DIST wine-staging-2.4.tar.gz 10067020 SHA256 709cab12c0ebf7cf9504fd4a67eb851272309e00066ad81f184b0f55c63e9deb SHA512 55d11851697836b582ba54696cadc812ef6b14872440f5c3ed6fbe30a05abcb8abe2ab31a11ea4daeb354854c7c0e6549401d4b26b26621808bdeb89aeb206f9 WHIRLPOOL 8d344b7e6e89322c8dbbe6fd211851c90a45a33b514c182609cc60dc21939f791abc71d8665cd66e5c5161f159fe24c4772b99405833e3d11985a644e1335eaf

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -580,7 +580,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -613,5 +613,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -580,7 +580,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -613,5 +613,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -580,7 +580,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -613,5 +613,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -0,0 +1,617 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 || use d3d9; 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 "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
if use d3d9; then
if use staging; then
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
else
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
fi
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(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)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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
if use d3d9; then
eselect wine register --d3d9 ${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
if use d3d9; then
eselect wine deregister --d3d9 ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -0,0 +1,617 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 || use d3d9; 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 "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
if use d3d9; then
if use staging; then
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
else
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
fi
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(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)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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
if use d3d9; then
eselect wine register --d3d9 ${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
if use d3d9; then
eselect wine deregister --d3d9 ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -0,0 +1,617 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 || use d3d9; 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 "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
if use d3d9; then
if use staging; then
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
else
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
fi
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(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)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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
if use d3d9; then
eselect wine register --d3d9 ${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
if use d3d9; then
eselect wine deregister --d3d9 ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -0,0 +1,617 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 || use d3d9; 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 "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
if use d3d9; then
if use staging; then
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
else
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
fi
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(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)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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
if use d3d9; then
eselect wine register --d3d9 ${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
if use d3d9; then
eselect wine deregister --d3d9 ${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 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -578,7 +578,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -611,5 +611,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -580,7 +580,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -613,5 +613,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -148,7 +148,7 @@ RDEPEND="${COMMON_DEPEND}
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.0 )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
@ -580,7 +580,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -613,5 +613,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -3,6 +3,10 @@ DIST wine-2.1.tar.xz 18887032 SHA256 bfb9abf63691c93df28d9599aaa866dc2b4e27209b3
DIST wine-2.10.tar.xz 19209580 SHA256 488df7ffd2e81da455bf428fc9eb784bb4273a890334500895665711bd52f179 SHA512 8807e16a571bf45d99097ad5fdfb9fe755f6dbe84010a330fed82f1d48c76b7f19589bfc0e5dde0b9e49a608fd0501db3f7e3e129e4d9d34bcae03bc51a73139 WHIRLPOOL e9a8248aac31593fbac28a3d8d4e62bfce14a7c41cc416ebfca8606518d28efd31b32196133da211f75f48bd228bd5d21fcbbc0479293e813ed99b258b37126e
DIST wine-2.11.tar.xz 19251116 SHA256 efa96dade206aa21accf0da195335a805d38209d6a14320607c6308ebde4cc3c SHA512 691f329c47af5e51498287029988b8ca0777bfc3902ed80fd315004aba2337a938e79177e752efe86423c9b34544df3952b8c443bf43149356575fac75a779ac WHIRLPOOL 4933e1ce640b0abeebccd6969b5eaf4eec76cd135d9cfc1d904a902219f776a68f72e2bd1ae9019d69f0d0d81fd8ead0084785d1b9710590349365977f9c1817
DIST wine-2.12.tar.xz 19301968 SHA256 496c11af841487e6ec4e1953ac19b05a7f48e397da502653ffbd9fe9004213a7 SHA512 d44c1937d7d2d797150381f70317b810616d61355a59be096366d3507f59b678cffaf6d841cecf02bf9d2afa3dbf4d19270f80fb1d3ba5f0f93787d40c328f62 WHIRLPOOL 6f4b9baa6fcfe86f3d195fe603c2b9450a72a593c8f7042959b42a76880cb4ae680fde7beb70a8e823150849fda36c42985035de891ebf0088c8ffc2bceb15bf
DIST wine-2.13.tar.xz 19439328 SHA256 6fbca3ddd19b061ce65a267639efae93cf38cfabbe4a9c148a17a44703587ef8 SHA512 71873b9ec1605dd5f7502b87b0f3429c3d14a4196543d7304df455854b58ef82b8fafdcea91450cbfc01434a44886a0e0c4c4cf289ffb53167dde0f969cddc48 WHIRLPOOL 6faf1e6aeea2ab7ccc496ed85834f98eb25111c8f541c24d4876a142ad4acf7d9a4c08c2716e11fb6c92fe7aad29980cab912eb9dbb6759bdbdeca2f2f8e78a7
DIST wine-2.14.tar.xz 19447812 SHA256 03f934d95181f728600ca04d395f10e821ee38cfa31655e872e4d27d2a8795c6 SHA512 ff43d386d46c0c74449e667b61d8cebd5fa768c88e6220aa2f13df03d80b71b6c0bdf8cbab023aed96f7c88b9787a3be4989da892fa1778412534ae82a7279bb WHIRLPOOL 2d2784e1b2ddeac39a3cea4cb08a62d99d1d062d8d801874e8bf4f56d2538a4cb019418c60299556548028e2362dd533d9ea0956014a65ac7a367ed489c0c392
DIST wine-2.15.tar.xz 19463720 SHA256 d82d500cbf81fb08c711d3619bd52373138a05574d044f089af89707274868b3 SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 WHIRLPOOL 99c9497a44859ce310c764b3cd172d83ca1a2dce13633fee930ddbf1c40651ee4470f6bc9cfcb407ce65298a2afd73dc9edc536c2ba6f076631e5cf2085b8e61
DIST wine-2.16.tar.xz 19484716 SHA256 a561edcabecd6c44948e5b2ef11941b2ba047275240418fa2c98c1fdceda2c21 SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 WHIRLPOOL 92ae0a427d89b24d41d4565e333cf3b7499c1dfedb6d2a204f934975c35cb589d38b4f669890c1fd6a37b9fe8f34d98be3e7d0986e9ff99516fe00a004574520
DIST wine-2.2.tar.xz 18916364 SHA256 64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 WHIRLPOOL ffc3d357a76592651b589c6ac6608720d0258474890faf8fe3e20ac29cdd1496d569721256f9389d347bf2734a556099154fd18ef1b56f45bb46c4c15771d6ca
DIST wine-2.3.tar.xz 18931732 SHA256 afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 WHIRLPOOL 1f5ec8e5c32d124277e4c71d95726d3a5337575757c3029567c77165d65fcfec2ddf33d3863b4bf55c9eff7c3582c1ec7dbd76d84ed8bbbe89dd16db6b0128c1
DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0df8b36b9f90b69b72748e SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 WHIRLPOOL 558ab7b7517ad5e03366b4db974047eba776585e958a5b71bb2e93993e21bc725ea7a8bcf2a4354f34ca38c94ba99ccd15f2f8b5e4b58066bf339d3517eec56c
@ -16,6 +20,10 @@ DIST wine-d3d9-2.1.tar.gz 48385 SHA256 9fd80e3e2ea905272c42dbc14679e94c8e2f95510
DIST wine-d3d9-2.10.tar.gz 48713 SHA256 62a199a239fca4f172f9ff871086196f8eeb35483d7bcab4acb144c05e60debb SHA512 808241f545e60c0546ff3918cac28e2abb6fe8496e8ade3cfa8bf81612724e827d31787d1d320cbac80b71a5d6180bcc8e51249c12c099e44637e0bb9f4875cd WHIRLPOOL a8c58c5321107b958780348aebad41d57ac0a3a307e176715950e1ed1eae7d19d858db3f9b0e5cb86484919d683321ff6fc19ec1696ba5418e0d2dd861bfaff4
DIST wine-d3d9-2.11.tar.gz 48714 SHA256 3432863940fdb9ea6f36688d670c6fe800e7359d7b18723828447bedf694b786 SHA512 716dad66fce962246e57a29c239d6b69b78656a11d01a421b490ad61c2c3dd9850b34e2346319a6a35c2a01e0c28193adf78f21b9de1ffde95a06d5fae51fe0d WHIRLPOOL eeef55dca716a68e03b84d4f916955c4194810c1c460a55a30ac2c4257e256b8fc709837d7b35aa86ce3f523f2b9c11222b9096ae4d87979f1fee4a8257ddabb
DIST wine-d3d9-2.12.tar.gz 48716 SHA256 544e8b901b2fe1e0da90828f07683abf45794a3a41fdfae20eb5d29b5ee7d22b SHA512 8fe9b37ff54372984a234b18037bc736f69f2adf41478f037bc93e3d72893c46174fc3fbff78042ac66bb03d31ea85d293dbadc2b32630218ae53be8e360425d WHIRLPOOL 17f28bafb20c559424945ff92041a5c634b8775a8e97ed8aa940308fa815f2b3cfa48499a58a511fc5c33bde47db07008d168d8b0c103eec379ba27b33b8ffdd
DIST wine-d3d9-2.13.tar.gz 48711 SHA256 738583d1ad80ddeff5d437ef07885e25a2bba7da9d161ee01e45fef246edd327 SHA512 75481c73c88757c4f15eb00dc427d873ea71109f18fd64c758e858bb2fc2dc1ee7cc29ee912ec93f254186f2055277d07e2e4f1d2ee3c537c76601aa009cf632 WHIRLPOOL 57c5cd0903151eed7c2b719831581aa3216c0fc49a257f7fb9e872ca698a330b5a10d50c945937924c7efefa497dc14117a35c5b39fbccf14cb1fb711e5bbe98
DIST wine-d3d9-2.14.tar.gz 48718 SHA256 71a3aff0b348f033d4ca610e34ce6faa02eb2b5c822fa2e00b372de66541ffd4 SHA512 77aa93ac9b1a81581c27e74641722666026e2e6e03def57955a05fc76c6c02730271a562130dc87ed1caefc9b00b3e0421b2640fa17165aef2f8be5da0cf07d3 WHIRLPOOL 1319fdfb4426a0a294702a5c43641008654a1352d91d23b9bd422d83fb5cd50053110052eef09ae128dfb570523d9208272abd21cb5975adff060fe7d31ac5ad
DIST wine-d3d9-2.15.tar.gz 48717 SHA256 c0aa58e7fa3b595c38cf06fe72b54a096e43e526142a7576f839ed8aaa85cabf SHA512 5298de273fc95f65ee481416f8ed16059f244e3781058cb76ee60b6a85aaf8d977a619c75cccd08aadeac9aae9ad2e08b49c5b52ab141cbff351a4b001e7c434 WHIRLPOOL 63337e2c86be5ff2fc16ff0817719ed668360ad2258b095e88b98b1f31e382593b14cabdcb8be58a6dc0cc047cd67a3eb1f14d3ecb806ba2ac9c6f7102368c94
DIST wine-d3d9-2.16.tar.gz 48728 SHA256 2a681d28a4e042437c32ecf3f92c7abaadc862feba6aacf0df76469acab98f3e SHA512 f3950d7e34ec537b95b963fb3b35ee3729c1b3f9d8c225e96ae9ab9cf8011571ba22105a17309c481f3a504a8aa4d5ae04270691c49098924aa2f72463b79e08 WHIRLPOOL c1f3cb0922cb381f6e2aa7fd54538b98dbd04daa7f36f66742af4c544c80e894e33ebf4866520af35faec27519f0015cd5cc1139fe191bb0b3192cb2134035c3
DIST wine-d3d9-2.2.tar.gz 48387 SHA256 203ed60980ec584c09b413266728e3a93e2d980dbff9b4f65375a4e9744b5042 SHA512 6e9e031b51afc8ec200bbd252ff0d768c29af23907f782409834de593f896afb128f86fe012c95dc18e5f3c7267f170eb343d2a2c53d639933a337f0c1e04fab WHIRLPOOL 6b32c0dfd3068e87d94bbcd83718dd75a14b36d69b151e9257e04793d2d3ae78ce7da10b80cbc824ccefb6c11666241593f91963ddee6a58301f95bbde35285d
DIST wine-d3d9-2.3.tar.gz 48510 SHA256 fc17488a782def19fc02bf967128ab43236db49509e31771361a60fa3d17dd60 SHA512 58449f6b7ed7fd8182e2cce92e1d1195bf64a567c1cc92fd3f46af195e7e4039c3b2a128be9d3572d9067be6c1bb020f417c6d558bb551c60096c107067177b8 WHIRLPOOL f648a921cf4cd257a3a7dfbd3abf45d58c07782f329ec11c3a1eff3afe32e8040adb351d4a60e1b1f78c7cae0379f23468764ad162a101179d0f5b0e2c6d9413
DIST wine-d3d9-2.4.tar.gz 48502 SHA256 4c7084e733d95545b894b152b2c6c9564dfb8df594cfeb1512dad80743b39ae0 SHA512 623b1720b8cd79ab6ad2a177b9beb174f31e6fc402d6885fa2006223c855919c6f5d4267c64212ecf8cf1746430c9715c506343fb740828fc99910f916b10ebe WHIRLPOOL 9c0ea34dedc2e39ce36f1539a6d761ba07429b316a1f7fad49067eec5c28a5c60b33b3d2473cbf66b009d9772c1fb123414bfa201eb8df3e61f8efc38aa1f3fa

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -517,7 +517,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -547,5 +547,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -517,7 +517,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -547,5 +547,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -517,7 +517,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -547,5 +547,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -0,0 +1,551 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg 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 selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.0 )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 d3d9; 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 "environmental variables WINE_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use d3d9; then
eselect wine register --d3d9 ${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 d3d9; then
eselect wine deregister --d3d9 ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -0,0 +1,551 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg 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 selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 d3d9; 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 "environmental variables WINE_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use d3d9; then
eselect wine register --d3d9 ${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 d3d9; then
eselect wine deregister --d3d9 ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -0,0 +1,551 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg 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 selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 d3d9; 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 "environmental variables WINE_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use d3d9; then
eselect wine register --d3d9 ${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 d3d9; then
eselect wine deregister --d3d9 ${P} || die
fi
fi
eselect wine update --all --if-unset || die
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -0,0 +1,551 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
fi
LICENSE="LGPL-2.1"
SLOT="${PV}"
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg 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 selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )" # 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}] )
d3d9? (
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
)
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 d3d9; 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 "environmental variables WINE_COMMIT, and D3D9_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use d3d9; then
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use d3d9; then
eselect wine register --d3d9 ${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 d3d9; then
eselect wine deregister --d3d9 ${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 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -515,7 +515,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -545,5 +545,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -517,7 +517,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -547,5 +547,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -133,7 +133,7 @@ RDEPEND="${COMMON_DEPEND}
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.0 )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
@ -517,7 +517,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -547,5 +547,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -1,2 +1,3 @@
DIST wine-mono-4.6.4.msi 45592064 SHA256 91b7d58177b9a9355edf007dab94535471aebdddae12734ceb4a219d2ecc4152 SHA512 1d50df5d4d000998c74fbee79b8ffc691d88ee3b34db9fd7124e0df68d6f84768ece489ac8c3f5f3141c2073c8666b93ae23ca6cd652a6542a821df3d1b66b6d WHIRLPOOL 54b77eabdb357822a89f3ff0d318755d0bae60a4a1df44ad33e663138d3f874f2bd271368df86e350ecc96908e77e82cc9ff7eef6cd80e20998b5cfc068703df
DIST wine-mono-4.7.0.msi 64625152 SHA256 7698474dd9cb9eb80796b5812dff37386ba97b78b21ca23b20079ca5ad6ca5a1 SHA512 07cd2b26f3bfe6fc796a126b83e9c0aa655d3e8152af536ae2e8ae419013742706ddae6f93cc2341c94a2f3b8ae7d1b27d12f891d371928189291428f9ed877c WHIRLPOOL 9cdc9e4f680b0c7b6e46938a88c665f7702472c524521135ada7791e31c36a8ecbe95ed8720e2d67b53aa65c16e87c0fb85b654059ce0e146d401f99bcd5f0df
DIST wine-mono-4.7.1.msi 56470528 SHA256 2c8d5db7f833c3413b2519991f5af1f433d59a927564ec6f38a3f1f8b2c629aa SHA512 d47f21fa3ddb31522366056a2062cf7b77eec0a12f96dc05326561c9d2604405128441ff40d1b9567a6e6cd1c19ee03444d2ba02dd3b8dd2d150030dfb52f765 WHIRLPOOL fb0bd7af90924e20389f1d63c5089961a3f8cc23295b19820920347d3092a25bacea1838e5fb789dc0660896e5caedf6cff8629e96f3ab9055fa45ac444ecaf3

@ -9,6 +9,6 @@
Wine Mono is a package containing Mono and other projects, intended as a replacement for the .NET runtime and class libraries in Wine. It works in conjunction with Wine's builtin mscoree.dll, and it is not intended to be useful for any other purpose.
</longdescription>
<upstream>
<remote-id type="github">makewokherd/wine-mono</remote-id>
<remote-id type="github">madewokherd/wine-mono</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,21 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
SLOT="${PV}"
KEYWORDS="~amd64 ~x86"
DEPEND="!!app-emulation/wine:0"
S="${WORKDIR}"
src_install() {
insinto /usr/share/wine/mono
doins "${DISTDIR}/${P}.msi"
}

@ -3,6 +3,10 @@ DIST wine-2.1.tar.xz 18887032 SHA256 bfb9abf63691c93df28d9599aaa866dc2b4e27209b3
DIST wine-2.10.tar.xz 19209580 SHA256 488df7ffd2e81da455bf428fc9eb784bb4273a890334500895665711bd52f179 SHA512 8807e16a571bf45d99097ad5fdfb9fe755f6dbe84010a330fed82f1d48c76b7f19589bfc0e5dde0b9e49a608fd0501db3f7e3e129e4d9d34bcae03bc51a73139 WHIRLPOOL e9a8248aac31593fbac28a3d8d4e62bfce14a7c41cc416ebfca8606518d28efd31b32196133da211f75f48bd228bd5d21fcbbc0479293e813ed99b258b37126e
DIST wine-2.11.tar.xz 19251116 SHA256 efa96dade206aa21accf0da195335a805d38209d6a14320607c6308ebde4cc3c SHA512 691f329c47af5e51498287029988b8ca0777bfc3902ed80fd315004aba2337a938e79177e752efe86423c9b34544df3952b8c443bf43149356575fac75a779ac WHIRLPOOL 4933e1ce640b0abeebccd6969b5eaf4eec76cd135d9cfc1d904a902219f776a68f72e2bd1ae9019d69f0d0d81fd8ead0084785d1b9710590349365977f9c1817
DIST wine-2.12.tar.xz 19301968 SHA256 496c11af841487e6ec4e1953ac19b05a7f48e397da502653ffbd9fe9004213a7 SHA512 d44c1937d7d2d797150381f70317b810616d61355a59be096366d3507f59b678cffaf6d841cecf02bf9d2afa3dbf4d19270f80fb1d3ba5f0f93787d40c328f62 WHIRLPOOL 6f4b9baa6fcfe86f3d195fe603c2b9450a72a593c8f7042959b42a76880cb4ae680fde7beb70a8e823150849fda36c42985035de891ebf0088c8ffc2bceb15bf
DIST wine-2.13.tar.xz 19439328 SHA256 6fbca3ddd19b061ce65a267639efae93cf38cfabbe4a9c148a17a44703587ef8 SHA512 71873b9ec1605dd5f7502b87b0f3429c3d14a4196543d7304df455854b58ef82b8fafdcea91450cbfc01434a44886a0e0c4c4cf289ffb53167dde0f969cddc48 WHIRLPOOL 6faf1e6aeea2ab7ccc496ed85834f98eb25111c8f541c24d4876a142ad4acf7d9a4c08c2716e11fb6c92fe7aad29980cab912eb9dbb6759bdbdeca2f2f8e78a7
DIST wine-2.14.tar.xz 19447812 SHA256 03f934d95181f728600ca04d395f10e821ee38cfa31655e872e4d27d2a8795c6 SHA512 ff43d386d46c0c74449e667b61d8cebd5fa768c88e6220aa2f13df03d80b71b6c0bdf8cbab023aed96f7c88b9787a3be4989da892fa1778412534ae82a7279bb WHIRLPOOL 2d2784e1b2ddeac39a3cea4cb08a62d99d1d062d8d801874e8bf4f56d2538a4cb019418c60299556548028e2362dd533d9ea0956014a65ac7a367ed489c0c392
DIST wine-2.15.tar.xz 19463720 SHA256 d82d500cbf81fb08c711d3619bd52373138a05574d044f089af89707274868b3 SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 WHIRLPOOL 99c9497a44859ce310c764b3cd172d83ca1a2dce13633fee930ddbf1c40651ee4470f6bc9cfcb407ce65298a2afd73dc9edc536c2ba6f076631e5cf2085b8e61
DIST wine-2.16.tar.xz 19484716 SHA256 a561edcabecd6c44948e5b2ef11941b2ba047275240418fa2c98c1fdceda2c21 SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 WHIRLPOOL 92ae0a427d89b24d41d4565e333cf3b7499c1dfedb6d2a204f934975c35cb589d38b4f669890c1fd6a37b9fe8f34d98be3e7d0986e9ff99516fe00a004574520
DIST wine-2.2.tar.xz 18916364 SHA256 64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 WHIRLPOOL ffc3d357a76592651b589c6ac6608720d0258474890faf8fe3e20ac29cdd1496d569721256f9389d347bf2734a556099154fd18ef1b56f45bb46c4c15771d6ca
DIST wine-2.3.tar.xz 18931732 SHA256 afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 WHIRLPOOL 1f5ec8e5c32d124277e4c71d95726d3a5337575757c3029567c77165d65fcfec2ddf33d3863b4bf55c9eff7c3582c1ec7dbd76d84ed8bbbe89dd16db6b0128c1
DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0df8b36b9f90b69b72748e SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 WHIRLPOOL 558ab7b7517ad5e03366b4db974047eba776585e958a5b71bb2e93993e21bc725ea7a8bcf2a4354f34ca38c94ba99ccd15f2f8b5e4b58066bf339d3517eec56c
@ -17,6 +21,10 @@ DIST wine-staging-2.1.tar.gz 10101781 SHA256 1d193be2734ea495df2cae1dc54ce89204c
DIST wine-staging-2.10.tar.gz 10091114 SHA256 b361ec92b2e40de983b987f6564dbb75dcb121c6e2f0123fe1ae234fd81a591b SHA512 c3bf7027ddfd1405263cce844a7cbeb923e9de56cffdb296384449c0cc600b3c9a37c7fe09b62fb9ae0b47f97a2d4f208cc589f0e4205fa84ce5d112953ac2e7 WHIRLPOOL 01c5436179bcbd29ee0468f2f4d839ba805c064d80835fcd1d5e6eba562881c65ac576657a733c726ccf4b37473da6724ae06ebc023fb988d8810ed1f8096c6b
DIST wine-staging-2.11.tar.gz 10083147 SHA256 45c40fbca76cab987e7adfe47fc8e24692f896805c8a6dc6030da28e3bd842bc SHA512 e2d05ee88e1cc932c2890f1db867a9382f2c62a00ea7d63fc6bd7b3fab57ea2f0e4908313cbed08b92e48d5bc17753b0b78f6cdf2cb64e81aa5725fd86cbc695 WHIRLPOOL e2d13ed7d258b1ee442c8c87f852c1564ce5f262bd7cd31710b975882ab8cb454a1e2ec308c6c17e5bd0a691b0492fdea22a182323cb963c055592ce538db690
DIST wine-staging-2.12.tar.gz 10105899 SHA256 0f186d2268011c12094ecac8747378ad8f4ee7152e8854cb00496ba9565b7974 SHA512 a8c21c923153a42609e3ea9065b84208b01f3b14d55b7e68e548ebf6d27df956051b29dc2f053aec6287422c13eed5b6ec71e667ae6f46b1c80ae7c84a51b648 WHIRLPOOL 01cf39fa257e9975cfd16976e680117dac3d0ea3f9bc41e2d0a636023bd4afba0676587e41c55d4417cff97080b90eb11b3fe475970eec70be64f5c788c1cf88
DIST wine-staging-2.13.tar.gz 10137549 SHA256 0796440ebfa2aa651051e7081cc64f83774f966f26353876e024e42c59e24b46 SHA512 86077747d8a4f6e56dc1b0dda1688810defa9bcebaaadbf2419ce56e4590d4249881105e1dda24236f861baf0b1cc42019b2538de5d24a6d3c4f27c7a8248086 WHIRLPOOL e0c147519fde14f74031fcb7ba154c39583a9c817460d21ec50fdae40039136d46b8cc0ce9a8fb558ddbf8b62c6f0a572ad04a887c47046c0e921e6f08c4b44d
DIST wine-staging-2.14.tar.gz 10179829 SHA256 cd4c8e400a808cbfa5c5cf088ea874c761d09db897f25bc33eab840101020b19 SHA512 1e794f77309e94612f822b72872ac2726e37d219a40c4a45feb2fb56f4413c34eae966a4ae8708d502c837cd47db22979e9a05cb73b681703cd729f701cdb210 WHIRLPOOL 63f9ff9cd4d54d6ff91997a904e7cd612bb8bca905399e9c6950b274cd8218c0c04a40dca9f4e12180e1080f1631bfec38e3633fcd457e688e8f8883661a4e59
DIST wine-staging-2.15.tar.gz 10190900 SHA256 f2b5c43fbc185a6fd6399f4c351b83a172737977b2ebb1cbdeddd1838d044bc2 SHA512 75d64d103839da2daed6e5b2400185c0a5274d0e50b675283bbadff70cafe712e573701207d80c8e8af7f68d1d273efec3c0d705dc982c74b8574929daadecfa WHIRLPOOL 13239aa636fc102fb374ab8724b7dbce8e9b95f16797a4f5faf8a5e7789d60e6b485c7495ccef4568edbbb0549d657a6758642de2e98b449b0ced2725136e444
DIST wine-staging-2.16.tar.gz 10220855 SHA256 da0ef4b0eafe9cd1b9cf26a5b950088adf1308e17a0d6f4ae62516b6ee64248e SHA512 96585caf77569a31f516aefe230a8907ef91db29759f75075593b751985f294bf292a1c146d287a3f0859a6b6273560670c4bc734ef0fbecb0809574eb3f09ba WHIRLPOOL 66128c8d59593243e95d6765b9fd8ace59e85e365a5e8a41eeb17d370464005aef060ddf3d862d0a3638048fd92189860e69a3cbf7d24d3ce1e420200d4b3cf5
DIST wine-staging-2.2.tar.gz 10078327 SHA256 9d3cbf7e5f12c623d275457b910a158e0b176fcf50c09a5f8425864de604bc1d SHA512 8ad3f8ba4c6439a9ec4884a55018a67c9e2c2384830074646aac7b70cb9f4f5a20f760247ab42dc3d2f697cdac7ea5322be8ed12c435cb0bc185ac08fdd4dd91 WHIRLPOOL a34c19aaace64307de56d935cb0cef17d7c066c39b83c51e70ea76a20083f928bea55fe38d62b7a8250b0a9e8f00e0d2b744f43fcab433069ffb96625d955303
DIST wine-staging-2.3.tar.gz 10071742 SHA256 9a81be606836fab6203857f7937ff97575947f75d52c80fb5489418efb8b87e1 SHA512 8e8af1e36cc69c63ec3542f0ec4db18b6d8c16b5c9077eb211297f3a886519da71bcf72934bf8d6d72e44c7c9f765e1d00203d0d75cab8544f69f9b0c10a7133 WHIRLPOOL 50738a6e20890748d7eb01152244d34b259759f61b3587ba39815dc066fc8e2b66ce182e1ddbc912f50076a3599aa060ec6a94eeaab4513ce3a776711929b9b1
DIST wine-staging-2.4.tar.gz 10067020 SHA256 709cab12c0ebf7cf9504fd4a67eb851272309e00066ad81f184b0f55c63e9deb SHA512 55d11851697836b582ba54696cadc812ef6b14872440f5c3ed6fbe30a05abcb8abe2ab31a11ea4daeb354854c7c0e6549401d4b26b26621808bdeb89aeb206f9 WHIRLPOOL 8d344b7e6e89322c8dbbe6fd211851c90a45a33b514c182609cc60dc21939f791abc71d8665cd66e5c5161f159fe24c4772b99405833e3d11985a644e1335eaf

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -0,0 +1,586 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/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 +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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/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}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 "environmental variables WINE_COMMIT, and STAGING_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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
}

@ -0,0 +1,586 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/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 +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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/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}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 "environmental variables WINE_COMMIT, and STAGING_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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
}

@ -0,0 +1,586 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/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 +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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/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}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 "environmental variables WINE_COMMIT, and STAGING_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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
}

@ -0,0 +1,586 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(get_version_component_range 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
fi
S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
WDC_V="20150204"
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
"
if [[ ${PV} == "9999" ]] ; then
STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/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 +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
s3tc? ( staging )
test? ( abi_x86_32 )
themes? ( staging )
vaapi? ( staging )" # 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/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}] )
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
gsm? ( media-sound/gsm:=[${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}] )
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}] )
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}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)
abi_x86_32? (
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-db-20140508-r3
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-opengl-20140508-r1
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-sdl-20140508-r1
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-soundlibs-20140508
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
!<app-emulation/emul-linux-x86-xlibs-20140508
)"
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[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.1 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
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-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
prelink? ( sys-devel/prelink )
staging? (
dev-lang/perl
dev-perl/XML-Simple
)
xinerama? ( x11-proto/xineramaproto )"
# 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"
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 "${FILESDIR}"/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 "${FILESDIR}"/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 "${FILESDIR}"/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 "environmental variables WINE_COMMIT, and STAGING_COMMIT."
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environmental variables"
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
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_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}"
MY_MANDIR="${MY_DATADIR}/man"
}
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
if use staging; then
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
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: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
local PATCHES=(
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
)
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=""
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
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
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 "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
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}"
--docdir="${MY_DOCDIR}"
--includedir="${MY_INCLUDEDIR}"
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
--libexecdir="${MY_LIBEXECDIR}"
--localstatedir="${MY_LOCALSTATEDIR}"
--mandir="${MY_MANDIR}"
--sysconfdir=/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 fontconfig)
$(use_with ssl gnutls)
$(use_enable gecko mshtml)
$(use_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with X x)
$(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}
if use abi_x86_64 && ! use abi_x86_32; then
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
fi
# Failglob for bin and man loops
local glob_state=$(shopt -p failglob)
shopt -s failglob
# 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 "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
# respect LINGUAS when installing man pages, #469418
local l
for l in de fr pl; do
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
done
eval "${glob_state}"
}
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 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

@ -6,7 +6,7 @@ EAPI=6
PLOCALES="ar 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 sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
PLOCALE_BACKUP="en"
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
@ -552,7 +552,7 @@ pkg_postinst() {
eselect wine update --all --if-unset || die
fdo-mime_desktop_database_update
xdg_desktop_database_update
if ! use gecko; then
ewarn "Without Wine Gecko, wine prefixes will not have a default"
@ -582,5 +582,5 @@ pkg_prerm() {
}
pkg_postrm() {
fdo-mime_desktop_database_update
xdg_desktop_database_update
}

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

Loading…
Cancel
Save