Sync with portage [Mon Dec 23 10:51:12 MSK 2019].

mhiretskiy 1543
root 4 years ago
parent 27ccab8004
commit 08e36ea474

Binary file not shown.

Binary file not shown.

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

@ -0,0 +1,9 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
DESCRIPTION="Group for gnustep-apps/sogo"
ACCT_GROUP_ID=475

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
<name>Bernard Cafarelli</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,9 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
DESCRIPTION="Group for net-misc/x2goserver"
ACCT_GROUP_ID=292

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
<name>Bernard Cafarelli</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,9 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
DESCRIPTION="Group for net-misc/x2goserver"
ACCT_GROUP_ID=291

Binary file not shown.

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

@ -0,0 +1,14 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
DESCRIPTION="User for gnustep-apps/sogo"
ACCT_USER_ID=475
ACCT_USER_GROUPS=( sogo )
ACCT_USER_HOME="/var/lib/sogo"
ACCT_USER_SHELL=/bin/bash
acct-user_add_deps

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
<name>Bernard Cafarelli</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,13 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
DESCRIPTION="User for net-misc/x2goserver"
ACCT_USER_ID=292
ACCT_USER_GROUPS=( x2goprint )
ACCT_USER_HOME="/var/spool/x2goprint"
acct-user_add_deps

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
<name>Bernard Cafarelli</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,13 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
DESCRIPTION="User for net-misc/x2goserver"
ACCT_USER_ID=291
ACCT_USER_GROUPS=( x2gouser )
ACCT_USER_HOME="/var/lib/x2go"
acct-user_add_deps

Binary file not shown.

@ -1,6 +1,2 @@
DIST puppet-agent_6.10.1-1stretch_amd64.deb 19712026 BLAKE2B 82f5d9d18a3171b230d0e6027b9b8409b51096e12c5fd88844643320a0f5f654bc79880b35565571a6367a2d95f7a8f90ac811c2df1f1ec6c1866508c7e112e0 SHA512 8b289f8690fb67d353bc004a281e3e32a118048523bb6c743fa8ff46f2583c155ddffc22a7898662b598128f5ef75d77fd9a99b43c4afb72a23a2bfa3959f0c6
DIST puppet-agent_6.10.1-1stretch_i386.deb 20055310 BLAKE2B 31bb9bd40f5098b666d911545b565654d84a422625536eff954256851089d211ea2660dbdab7b73df370efc0bbc41875617df3012ee734ec586af87967e8bc02 SHA512 33348839a245bcda4c76feae214d72bb36c1959c1b6f5f9c2db084ad1bb0018393ab6bd94e16ed987a23b2f253baf31f1df0453ead1cc6860941954ff31930c2
DIST puppet-agent_6.11.1-1stretch_amd64.deb 19948710 BLAKE2B 256588922cfacb1d8146cd1142c43d893a55dfb67d7f70ca311df6178e7f9a82a0702d8306e0575d3f817e53c091fd3010027512cb4ce95956bdfa968372cc21 SHA512 90c39d55a8761185f82c9ac106d696ae48a170679e6043b6b3db32254e918b1b9c1b32c4e9721e5751189f84f002415f21a627daa22738a8c1ae3cb5df514eb3
DIST puppet-agent_6.11.1-1stretch_i386.deb 20327410 BLAKE2B c2a105139df97395f54bb54d7ac971d914dcd3b69614dca55fe443d9fe5360118b899610a6d2d85b96b8b45715864df608d0783a3aabad3a2ae5555a0d510a2e SHA512 5d1173534beb53325d3c7c2fd500a7bd82a389fa8cbc9e867f6acbb6c2647190339d3b096e8a054aff268f27c5bd7de65c371a474b9c8263e8fa36bab75452bd
DIST puppet-agent_6.9.0-1stretch_amd64.deb 19846122 BLAKE2B 7f9133d1f5cb85f45c96490c230ee0cfda707db390a3a39be218fcd730e2298099e6d70c4f44bb5c6af46736c2c8aa7906a16375088c0119045dc77b53343b91 SHA512 f96cb1a6108a21192493b7b9958243e537ab41ce3ab6a7dde4d12bcd5da25ec6a5b29632acb87c4e156256578e8348c6fdfe26043539292f98203cce69b04fff
DIST puppet-agent_6.9.0-1stretch_i386.deb 20170516 BLAKE2B 391a61a847bc05f9f03885f2e2140ea42b4eeca247f3223f17a82d3ede2e1bbc88226f9794777f4b20e81943d94b11612f8d4ffd9f74c2f494bdc242fb05e1a1 SHA512 595dbe1591a8ee9d703a3efdf103a3095966b22cafd0fd63fb2a7b9274ea858b55d0b915ecc32e93c49bcbeba453654fc9126efe3855924fb5c5b6732e0af83d

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

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

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

@ -1,7 +1,4 @@
DIST puppet-4.10.12.tar.gz 3022218 BLAKE2B 03757857868b1544078ae5e40d6e438631c788f1b01a3e62ba90e477b754601d2c085228e084363ff20ee39728b02ebe8ca83e17f7c79dddae1c3968aef4e320 SHA512 ff7accf70b1d4de7282cf3b41246151c49c4758a41ace56a470e4723749638027011cf170747e66fa5812280e1612e754e12d92dd35fa6c93171f7187bb9cfa2
DIST puppet-5.5.14.tar.gz 3075736 BLAKE2B bfea82d40f9671cdefab0b10c9481e4fbad397dd0a4aa26f5d0fa9ffa94477a5cc59b3724ab9ae3ee2e7e9230881676582c328c804ce9138dc484b9bd92e0ec3 SHA512 861100c02e0b8a5bb232d266bcd5e54b0e32cf26954ea37f276690aa3159ffdb28195ab8691df61ee0098300d226ea1d369dbdff8aae69101c2bbe6068ede8b1
DIST puppet-5.5.16.tar.gz 3084466 BLAKE2B f3e2f12331b4794b90a81a4f80e626fcd3d5252b7cbdacc1d6243faa557540d3a68e5e23b7b5c3e4f4286774e9a9198e59fb15d7d7c41d7193754ed5c80dd624 SHA512 7d9e533e352a22e347ac6467094c4bdbde893c2503f47b4a2d175fd6e759e6662991efdd1a0a83d9495d22f28da4ae7a30cc771c5d90b8252c4618bd8837833a
DIST puppet-5.5.17.tar.gz 3090402 BLAKE2B 7722ec4196ee766c29eddd7dc73539a4a5a0e4cc781a84af25210488328b5ae01178ca64e8eef14152cbeca06dc8fe145b5e39ce6a120d7689fc32cbbbe16f9f SHA512 95c6cd836a9f732ccfe2d8b83096e79c32428c43390c0826663f896ca1388e1fe3b55d93a5a7548831e95de85247db717866c36786d591e207341c734d70168b
DIST puppet-6.10.1.tar.gz 2809383 BLAKE2B 1589dcfa7d73b81ab7fbc3fca4b2fe956f5d240d11583c484262d5243e4713bb4aa9cd5c655e9566468050ab2e5c0ec0cc720e3ff9088add0744e02147b4e3bb SHA512 211c9837eb4a77a54bf09811a1a84709eef06f17e0c5c9c598d01bce2e183e69974709ad4dfb8f5fecd7433c1ff52757aa699c623155d1a0742f2e07eaf2ec56
DIST puppet-6.11.1.tar.gz 2816525 BLAKE2B c4b188d5bf76b70a2748b86df78f1ca6ab99951cbc3a16377d3f2d38e165bc78ef8e5648cb09264a25ae81ac4d379b9323b1f2bbdea6679292c2cf38cabee662 SHA512 f44196206331448651e0ff0e865b09c6ccbb19115edeba4c58c8a29aa35e7d76676d5a3cb35c51cd511a44115c9c9434f1f90d5cbb0a5551a4004741d305c879
DIST puppet-6.9.0.tar.gz 2911311 BLAKE2B 1d58d0e976430031732de4f63c3ec100088f1d93894cf52caff252befeabe1ea3cf51939063143bd7c9011bb56f2a6420ba38ae230edea19ac8f1f135ed6f56f SHA512 4d1bc1a398c1e75bf8e832d477a0fff4fa3613510f8d59d73594e6fc2f2bbbedf050b1e7729b71bb1428c230f42fcf7b98f7a7683fc3c52cb36a596e20e6540b

@ -1,144 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby23 ruby24 ruby25"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC="doc:all"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit eutils user ruby-fakegem eapi7-ver
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="https://puppet.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
dev-ruby/json:=
>=dev-ruby/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
dev-ruby/hocon"
ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
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-5.5.14.patch"
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet
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 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
for v in ${REPLACING_VERSIONS}; do
if [ "$(ver_cut 1 "$v")" -eq "4" ]; then
elog
elog "Please see the following url for the release notes for puppet-5"
elog "https://docs.puppet.com/puppet/5.0/release_notes.html#if-youre-upgrading-from-puppet-4x"
elog
fi
done
}

@ -1,144 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby24 ruby25 ruby26"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC="doc:all"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit eutils user ruby-fakegem eapi7-ver
DESCRIPTION="A system automation and configuration management software."
HOMEPAGE="https://puppet.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
ruby_add_rdepend "
dev-ruby/hiera
dev-ruby/json:=
>=dev-ruby/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
dev-ruby/hocon"
ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
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-5.5.14.patch"
# fix systemd path
epatch "${FILESDIR}/puppet-systemd.patch"
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
insinto /usr/lib/systemd/system
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
insinto /usr/lib/tmpfiles.d
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init-4.x puppet
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 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
for v in ${REPLACING_VERSIONS}; do
if [ "$(ver_cut 1 "$v")" -eq "4" ]; then
elog
elog "Please see the following url for the release notes for puppet-5"
elog "https://docs.puppet.com/puppet/5.0/release_notes.html#if-youre-upgrading-from-puppet-4x"
elog
fi
done
}

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

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

@ -1,3 +1 @@
DIST puppetdb-6.6.0.tar.gz 43366185 BLAKE2B 224c13ff2583a7c8124f03845eca4756be6446e7470565c44d3fe1fcb756d5564ae2ded69d0bef1dda939efe082756c0e44afd3c6b0fc4268a744946860b5a02 SHA512 5076f52af51b7a3b43a0deb9cf1f10d77da98a5e531983d3661cda522c8d46f70882457934be6f70e77587b930077c0a4d2eaf7ed41eff9c6bcf4bc5ecbf2205
DIST puppetdb-6.7.1.tar.gz 43563417 BLAKE2B 902397b2bedb64f4ccb2d6932d6dbfb7d67c479640fb8429aecf3de558ce31ab0017175f183ee3e66268d802fc9901f5473271b6598414a7b57182bc1788f1e3 SHA512 58c6f3db268885e603bb1219f89c2aeb237c042fe7eccc95ce5622cfc739f971d9d37e0cc37cae335552d0d9845fccfd9425381faf6ec3534b20991bd9f7db0e
DIST puppetdb-6.7.2.tar.gz 43566885 BLAKE2B b90376330cb084c2c14154d647ce334673c526e6f9b9d4430e0be4b420132a0c4c518a0c8ed98b15cfacc6716044f78c384123f3ff87ea1463736a352744b840 SHA512 2e32f7a5a3daf37d74082aa3a66c26fa23643e456dbf80cd16815687f289093c96defc9bfa10c3502f9a9f9a7674cef83b838163f11339c13d4b12c82f8e0664

@ -1,92 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib systemd user
DESCRIPTION="PuppetDB collects data generated by Puppet."
HOMEPAGE="http://docs.puppetlabs.com/puppetdb/"
SRC_URI="https://downloads.puppetlabs.com/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
# will need the same keywords as puppet
KEYWORDS="amd64 x86"
RDEPEND+=">=virtual/jdk-1.8.0"
DEPEND+=""
pkg_setup() {
enewgroup puppetdb
enewuser puppetdb -1 -1 /opt/puppetlabs/server/data/puppetdb "puppetdb"
}
src_prepare() {
sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetdb.service || die
sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetdb || die
sed -i 's/sysconfig/conf\.d/g' install.sh || die
sed -i 's/var\/run/run/g' ext/puppetdb.tmpfiles.conf || die
sed -i 's/var\/run/run/g' install.sh || die
default
}
src_compile() {
einfo "not compiling"
}
src_install() {
dodir /opt/puppetlabs/server/data/puppetdb
insinto /opt/puppetlabs/server/apps/puppetdb
insopts -m0744
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppetdb.jar
insinto /etc/puppetlabs/puppetdb
doins ext/config/logback.xml
doins ext/config/bootstrap.cfg
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetdb/conf.d
doins ext/config/conf.d/jetty.ini
doins ext/config/conf.d/repl.ini
doins ext/config/conf.d/database.ini
doins ext/config/conf.d/config.ini
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetdb/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetdb/cli/apps
doins ext/cli/foreground
doins ext/cli/ssl-setup
doins ext/cli/config-migration
doins ext/cli/foreground
doins ext/cli/anonymize
doins ext/cli/reload
doins ext/cli/start
doins ext/cli/stop
insinto /opt/puppetlabs/server/apps/puppetdb/bin
doins ext/bin/puppetdb
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetdb/bin/puppetdb /opt/puppetlabs/server/bin/puppetdb
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetdb/bin/puppetdb /opt/puppetlabs/bin/puppetdb
dosym ../../opt/puppetlabs/server/apps/puppetdb/bin/puppetdb /usr/bin/puppetdb
# init type tasks
newconfd ext/default puppetdb
systemd_dounit ext/redhat/puppetdb.service
systemd_newtmpfilesd ext/puppetdb.tmpfiles.conf puppetdb.conf
newinitd "${FILESDIR}/puppetdb.initd-r2" puppetdb
# misc
insinto /etc/logrotate.d
newins ext/puppetdb.logrotate.conf puppetdb
fowners -R puppetdb:puppetdb /opt/puppetlabs/server/data/puppetdb
fperms -R 770 /opt/puppetlabs/server/data/puppetdb
}
pkg_postinst() {
elog "to install please run '/opt/puppetlabs/server/bin/puppetdb ssl-setup'"
elog
elog "to upgrade please run '/opt/puppetlabs/server/bin/puppetdb config-migration'"
}

@ -1,92 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib systemd user
DESCRIPTION="PuppetDB collects data generated by Puppet."
HOMEPAGE="http://docs.puppetlabs.com/puppetdb/"
SRC_URI="https://downloads.puppetlabs.com/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
# will need the same keywords as puppet
KEYWORDS="amd64 x86"
RDEPEND+=">=virtual/jdk-1.8.0"
DEPEND+=""
pkg_setup() {
enewgroup puppetdb
enewuser puppetdb -1 -1 /opt/puppetlabs/server/data/puppetdb "puppetdb"
}
src_prepare() {
sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetdb.service || die
sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetdb || die
sed -i 's/sysconfig/conf\.d/g' install.sh || die
sed -i 's/var\/run/run/g' ext/puppetdb.tmpfiles.conf || die
sed -i 's/var\/run/run/g' install.sh || die
default
}
src_compile() {
einfo "not compiling"
}
src_install() {
dodir /opt/puppetlabs/server/data/puppetdb
insinto /opt/puppetlabs/server/apps/puppetdb
insopts -m0744
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppetdb.jar
insinto /etc/puppetlabs/puppetdb
doins ext/config/logback.xml
doins ext/config/bootstrap.cfg
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetdb/conf.d
doins ext/config/conf.d/jetty.ini
doins ext/config/conf.d/repl.ini
doins ext/config/conf.d/database.ini
doins ext/config/conf.d/config.ini
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetdb/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetdb/cli/apps
doins ext/cli/foreground
doins ext/cli/ssl-setup
doins ext/cli/config-migration
doins ext/cli/foreground
doins ext/cli/anonymize
doins ext/cli/reload
doins ext/cli/start
doins ext/cli/stop
insinto /opt/puppetlabs/server/apps/puppetdb/bin
doins ext/bin/puppetdb
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetdb/bin/puppetdb /opt/puppetlabs/server/bin/puppetdb
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetdb/bin/puppetdb /opt/puppetlabs/bin/puppetdb
dosym ../../opt/puppetlabs/server/apps/puppetdb/bin/puppetdb /usr/bin/puppetdb
# init type tasks
newconfd ext/default puppetdb
systemd_dounit ext/redhat/puppetdb.service
systemd_newtmpfilesd ext/puppetdb.tmpfiles.conf puppetdb.conf
newinitd "${FILESDIR}/puppetdb.initd-r2" puppetdb
# misc
insinto /etc/logrotate.d
newins ext/puppetdb.logrotate.conf puppetdb
fowners -R puppetdb:puppetdb /opt/puppetlabs/server/data/puppetdb
fperms -R 770 /opt/puppetlabs/server/data/puppetdb
}
pkg_postinst() {
elog "to install please run '/opt/puppetlabs/server/bin/puppetdb ssl-setup'"
elog
elog "to upgrade please run '/opt/puppetlabs/server/bin/puppetdb config-migration'"
}

@ -13,7 +13,7 @@ LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
# will need the same keywords as puppet
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
RDEPEND+=">=virtual/jdk-1.8.0"
DEPEND+=""

@ -1,3 +1 @@
DIST puppetserver-6.6.0.tar.gz 59095750 BLAKE2B adbc08a68a1382106c43d27604c2cef52bd1d9875c5f555320d97d31dcf9d248c88baa2d6dfd37a855010fda76ad4d273a7bd5eca77bb216aabf6a120e41cee0 SHA512 2b43092752e246027a437398d6d23a4085caa2956a1453cec2e62f1001fca1c98bddca0a9d90c178ce9c89a06c26edcaee49416c1b8a4941e2bc4b6b5bb1fe0e
DIST puppetserver-6.7.1.tar.gz 59202711 BLAKE2B 9f88617811d05dc09ee568b40ff332f88e44998916df6d2c88a268fe443d35b62e4d94816acc49a87dd355925bb13e99f8694596831423013b96119a4e1a0727 SHA512 80af1266d122f131f8d5385acbcf712d3042e7665eb739491d1d3d06adec8c0d78009aaec86161ed4fdb180bf529a48b2964c784ec728d40319f63c6d2f8f0df
DIST puppetserver-6.7.2.tar.gz 59340246 BLAKE2B 635312cb2ea2f638617c10e05b9e1e8efa58caf3da8786155f44081f040a7b167d923e2266c57b43d855feb4bfd5280da85b5100a188e7f0f7dfde847f5abc45 SHA512 e2015554648dc861d513b5778c274e2b09c4ea2ebd53141d152a5bba1046ac6ef163083296c176008a7606581b8368df99aa72907e0edd59e687aa9991209fb5

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

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

@ -13,7 +13,7 @@ LICENSE="Apache-2.0"
SLOT="0"
IUSE="puppetdb"
# will need the same keywords as puppet
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
RDEPEND+="
>=virtual/jdk-1.8.0

Binary file not shown.

@ -1,6 +1,3 @@
DIST rarlinux-5.7.1_p20190427.tar.gz 559019 BLAKE2B 34da59809bbd846ea8a4fc90daed48e18efacafecf4b254e5b40b549ea172f7a399e5dd038d84427430d35392b8c3713921496f46bb9d9ea2e603938cac543c5 SHA512 9819e31cbc016aafdbb6b127b3a9ce427ead65bb0ac685ca0ede5fe1e27626054c2f0e3188b22fb9e4235780bac67f5b514178137891ecd3688ccab58e97ed6b
DIST rarlinux-5.8.0_p20191205.tar.gz 564176 BLAKE2B 78251a10d995c47766d2d6f0b553aaf1230e3d47b0098a7f137d499d3e182bbebd3d1c35551032f5c88166c646037733f9be8833b05a1aef136918cf2b29b556 SHA512 0b8d2347a4b14e26285dd99add5fdf9c2f1a9d9e1bf7524e7b31052d9aac6337e592da02ed5dc4dc9ab9020587bf89de865b53a5632ac76097c9410ec7cf916a
DIST rarlinux-x64-5.7.1_p20190427.tar.gz 546592 BLAKE2B 7ca3fcda8d4cba2595c82f6b14845427228904a0ba19e1cad6b812de3941b34f24a575e426198ff49db029f50420f68d693640a6e9fc71f01ccd78478a7e5b4a SHA512 818307bcfb6ed5879c505d085a0430a4b3d07aa2fa9c1f3e04964832e363ac6d2116511aa0cda20cb0d499358a819d1ed03b7db01ff68749da2764fa3487da4b
DIST rarlinux-x64-5.8.0_p20191205.tar.gz 551942 BLAKE2B 57fb02ee14571e508515b107adbce2055998cfc05c1c0b5d297fdb021c418c59c9e9cf594cdaa919c205193c7f4454af59d68c98559f85e3e8c3b00e7fec1c0b SHA512 625138adc3c9fb0ceca54c72ee53a0c260e9c9ca53df5c192386884474482dab34477b0efeba760366fd31c5c59cdb2baf6516977b5c61927606bbde146ee350
DIST winrar-x64-5.7.1_p20190427.exe 3145336 BLAKE2B 2f0a70c789d0d3cb97513c712c8179952841752dea7fe0af68bae518cbf74c51ccb9c8d1fb02f56d1f5a43823b53609a3c3bbc42ca6833923988af851874bd84 SHA512 d23d47b66770af4e13a04265d9e4a46d5e62b93361d45b2ad6720b89d638a3e4d59eced1fd8f86d7711708a4158cd5487cf2509c2feb3e32cee368ab113afe91
DIST winrar-x64-5.8.0_p20191205.exe 3214504 BLAKE2B 41b23a157c0af9d024bbf404c134bad5d026d5668eb18c7bc21b9627b5b82ea2dcfd81cbbcae8a7150a5f3cf1b7982477e23eeed3640dc0dbf29ccb190176a6a SHA512 7b55ab2daaa9a11e32b9d7ff3df1c76de6786d415a8d3650cfae9b5cd27003b53b67336c8916ed138ccb996797392f9dbd2f49aeea9ba5cef04f6331a82c0e0b

@ -1,109 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="RAR compressor/uncompressor"
HOMEPAGE="https://rarlab.com/"
URI_x86="https://mirror.whissi.de/distfiles/rar/rarlinux-${PV}.tar.gz"
URI_amd64="https://mirror.whissi.de/distfiles/rar/rarlinux-x64-${PV}.tar.gz"
URI_w64="https://mirror.whissi.de/distfiles/rar/winrar-x64-${PV}.exe"
SRC_URI="x86? ( ${URI_x86} )
amd64? ( ${URI_amd64} )
all_sfx? (
${URI_x86}
${URI_amd64}
${URI_w64}
)"
LICENSE="RAR BSD BSD-2"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE="all_sfx"
RESTRICT="mirror bindist"
DEPEND="all_sfx? ( app-arch/unrar )"
RDEPEND="sys-libs/glibc"
S="${WORKDIR}/${PN}"
QA_FLAGS_IGNORED="opt/rar/default.sfx
opt/rar/default-elf32.sfx
opt/rar/default-elf64.sfx
opt/rar/default-win32.sfx
opt/rar/default-win64.sfx
opt/rar/WinCon.SFX
opt/rar/WinCon64.SFX
opt/rar/Zip.SFX
opt/rar/Zip64.SFX
opt/rar/unrar
opt/rar/rar"
QA_PRESTRIPPED=${QA_FLAGS_IGNORED}
src_unpack() {
local _file
for _file in ${A}; do
if [[ "${_file}" == rarli* ]]; then
if [[ "${_file}" =~ x64 ]]; then
if ! use amd64; then
continue
fi
unpack "${_file}"
elif [[ ! "${_file}" =~ x64 ]]; then
if ! use x86; then
continue
fi
unpack "${_file}"
else
die "Unknown SRC file '${_file}'!"
fi
fi
done
rm -f "${S}"/license.txt
if use all_sfx ; then
mkdir sfx
cd sfx
for _file in ${A}; do
if [[ "${_file}" == rarli* ]]; then
unpack "${_file}"
if [[ "${_file}" =~ x64 ]]; then
mv rar/default.sfx default-elf64.sfx || die
else
mv rar/default.sfx default-elf32.sfx || die
fi
elif [[ "${_file}" == winrar* ]]; then
ln -s "${DISTDIR}"/${_file} w64.rar || die
unpack ./w64.rar
mv Default.SFX default-win32.sfx || die
mv Default64.SFX default-win64.sfx || die
else
die "Unknown SFX file '${_file}'!"
fi
done
fi
}
src_compile() { :; }
src_install() {
exeinto /opt/rar
doexe rar unrar
dodir /opt/bin
dosym ../rar/rar /opt/bin/rar
dosym ../rar/unrar /opt/bin/unrar
insinto /opt/rar
if use all_sfx ; then
doins "${WORKDIR}"/sfx/*.{sfx,SFX}
else
doins default.sfx
fi
doins rarfiles.lst
dodoc *.txt
}

@ -18,7 +18,7 @@ SRC_URI="x86? ( ${URI_x86} )
LICENSE="RAR BSD BSD-2"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
KEYWORDS="-* amd64 x86"
IUSE="all_sfx"
RESTRICT="mirror bindist"

Binary file not shown.

@ -1,2 +1 @@
DIST qca-2.2.0.tar.xz 691264 BLAKE2B 3b9196372c8a8f2e50a86a8a581a549d52a324cbfa919945683222d605747f7127af469a1de0310e24e823243ab4cd884a763b7baac94048e739f49d2a31dcbf SHA512 2a3f73bbd73ae8f74b2b4ec143bc010b7efaba267fc3349fc681623f29a288f69e5c457597f4964f88172a98e0a7eba6d2555675704d5d7026df794b8f772e69
DIST qca-2.2.1.tar.xz 691676 BLAKE2B d5bcc0d6e791811e1efcdbf2e09916fe40ad682b0e59b2993c73a5bd79e09fc28facdec81259a982bee05223c8dfce78b9a6b729ca4e566c0901a13b91575379 SHA512 3a0e8aa7cf3ea9a7244facaf1d521ebca2753af37636e7bf5f21c57ae880ac9682ae7d6d9fa5ce41b73568ff9538214956b89cd41228c2cb828d9068c2031a9c

@ -1,88 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit cmake-utils qmake-utils
DESCRIPTION="Qt Cryptographic Architecture (QCA)"
HOMEPAGE="https://userbase.kde.org/QCA"
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="2"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
IUSE="botan debug doc examples gcrypt gpg libressl logger nss pkcs11 sasl softstore +ssl test"
RESTRICT="!test? ( test )"
BDEPEND="
doc? ( app-doc/doxygen )
"
RDEPEND="
dev-qt/qtcore:5
botan? ( dev-libs/botan:= )
gcrypt? ( dev-libs/libgcrypt:= )
gpg? ( app-crypt/gnupg )
nss? ( dev-libs/nss )
pkcs11? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
dev-libs/pkcs11-helper
)
sasl? ( dev-libs/cyrus-sasl:2 )
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
libressl? ( dev-libs/libressl:= )
)
"
DEPEND="${RDEPEND}
test? (
dev-qt/qtnetwork:5
dev-qt/qttest:5
)
"
PATCHES=( "${FILESDIR}/${PN}-disable-pgp-test.patch" )
qca_plugin_use() {
echo -DWITH_${2:-$1}_PLUGIN=$(usex "$1")
}
src_configure() {
local mycmakeargs=(
-DQCA_FEATURE_INSTALL_DIR="${EPREFIX}$(qt5_get_mkspecsdir)/features"
-DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}$(qt5_get_plugindir)"
$(qca_plugin_use botan)
$(qca_plugin_use gcrypt)
$(qca_plugin_use gpg gnupg)
$(qca_plugin_use logger)
$(qca_plugin_use nss)
$(qca_plugin_use pkcs11)
$(qca_plugin_use sasl cyrus-sasl)
$(qca_plugin_use softstore)
$(qca_plugin_use ssl ossl)
-DBUILD_TESTS=$(usex test)
)
cmake-utils_src_configure
}
src_test() {
local -x QCA_PLUGIN_PATH="${BUILD_DIR}/lib/qca"
cmake-utils_src_test
}
src_install() {
cmake-utils_src_install
if use doc; then
pushd "${BUILD_DIR}" >/dev/null || die
doxygen Doxyfile || die
dodoc -r apidocs/html
popd >/dev/null || die
fi
if use examples; then
dodoc -r "${S}"/examples
fi
}

@ -11,7 +11,7 @@ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="2"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
IUSE="botan debug doc examples gcrypt gpg libressl logger nss pkcs11 sasl softstore +ssl test"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -1 +1 @@
DIST eclass-manpages-20191215.tar.xz 419924 BLAKE2B f179fa2380952383231dfe5af995da8f92531d942518f5d0c8a9e43fc4a664096f2830fbe37ca5b000886e50528756dc06f092644143731d29c68d77d0c25891 SHA512 61da27edef5fdda692448b352ebc7488b928029ec018097b2813763558e56f1c135ccf358f4a6d6df856a3632109e8d3045ec7e997eeab0e99d65d0aa66faa42
DIST eclass-manpages-20191222.tar.xz 420228 BLAKE2B 52686a2d4df6abdb9178a3782a2e7cf30bd3c1ae76c9e1c630365e3b6da8c85246fe5e680c49ffe3cabcd58d434b7137f61a9ee137ce08c89ca8946335651cd6 SHA512 165aa03679dbbbe05bb178e7fd65bd7ba62b6356575ffd809294e73c2b264747b4b0aa4f9ce2a3c12a2cdf27e4904adb295153d778172cd3ff5e912d399aad5d

Binary file not shown.

@ -1,2 +1 @@
DIST gedit-plugins-3.30.1.tar.xz 1354644 BLAKE2B ee42fb2fe47c9219442e0bbdaf21a14a834b8bc38558713ccf0ad384814812fd71f4d318624b4d2c149b26d304203a2b954ef49c3299877f4d067ae181bfe1d5 SHA512 0e777779288b51015d7ab539bf896a00d5226560f2cc2211daf777da87824eed858255318c421524933a540135e4bfdcc294ba7ed89f680a35aa48f7279cbc94
DIST gedit-plugins-3.32.2.tar.xz 1474264 BLAKE2B feb116ec201b9eb9630570818cc288f0044ecfc174fc84c7d812aa6dfba5cc3748b4e2351ffa2be0d3a593a58b2318c4296b54b84476fc887195ee27f27bb597 SHA512 2767bc766daba5e1c81ef5a00bc3589a301c02e0286a6622cf11a03b5b391ecbcf9456187563dad4f2916610ee9ddca4414ff4beb639820954385ee3f8091d2a

@ -3,7 +3,7 @@
EAPI="6"
GNOME2_LA_PUNT="yes" # plugins are dlopened
PYTHON_COMPAT=( python3_{5,6} )
PYTHON_COMPAT=( python3_{5,6,7,8} )
PYTHON_REQ_USE="xml"
VALA_MIN_API_VERSION="0.28"
@ -13,7 +13,7 @@ DESCRIPTION="Official plugins for gedit"
HOMEPAGE="https://wiki.gnome.org/Apps/Gedit/ShippedPlugins"
LICENSE="GPL-2+"
KEYWORDS="amd64 x86"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE_plugins="charmap git terminal vala"
@ -31,16 +31,18 @@ RDEPEND="
>=dev-libs/glib-2.32:2
>=dev-libs/libpeas-1.7.0[gtk]
>=x11-libs/gtk+-3.9:3
>=x11-libs/gtksourceview-3.21.3:3.0
>=x11-libs/gtksourceview-4.0.2:4
python? (
${PYTHON_DEPS}
>=app-editors/gedit-3.16[introspection,python,${PYTHON_USEDEP}]
dev-libs/libpeas[python,${PYTHON_USEDEP}]
>=dev-python/dbus-python-0.82[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=app-editors/gedit-3.16[introspection,python,${PYTHON_SINGLE_USEDEP}]
dev-libs/libpeas[python,${PYTHON_SINGLE_USEDEP}]
>=dev-python/dbus-python-0.82[${PYTHON_MULTI_USEDEP}]
dev-python/pycairo[${PYTHON_MULTI_USEDEP}]
dev-python/pygobject:3[cairo,${PYTHON_MULTI_USEDEP}]
')
>=x11-libs/gtk+-3.9:3[introspection]
>=x11-libs/gtksourceview-3.14:3.0[introspection]
>=x11-libs/gtksourceview-4.0.2:4[introspection]
x11-libs/pango[introspection]
x11-libs/gdk-pixbuf:2[introspection]
)
@ -50,9 +52,8 @@ RDEPEND="
vala? ( $(vala_depend) )
" # vte-0.52+ for feed_child API compatibility
DEPEND="${RDEPEND}
>=dev-util/intltool-0.50.2
dev-util/itstool
>=sys-devel/gettext-0.17
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
"

@ -0,0 +1,71 @@
From 49b6982336ad127b2b780d2ae7c1be1104d9dae5 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Tue, 10 Apr 2018 20:31:38 +0200
Subject: [PATCH] Fix build with QScintilla-2.10.3
---
src/app/qsci/lexers/qscilexerada.h | 3 ---
src/app/qsci/lexers/qscilexerhaskell.h | 3 ---
src/app/qsci/lexers/qscilexerlisp.h | 3 ---
src/app/qsci/lexers/qscilexernsis.h | 3 ---
4 files changed, 12 deletions(-)
diff --git a/src/app/qsci/lexers/qscilexerada.h b/src/app/qsci/lexers/qscilexerada.h
index 984f97e..30c6646 100644
--- a/src/app/qsci/lexers/qscilexerada.h
+++ b/src/app/qsci/lexers/qscilexerada.h
@@ -3,9 +3,6 @@
#include <Qsci/qscilexer.h>
-// located in SciLexer.h
-#define SCLEX_ADA 20
-
#define SCE_ADA_DEFAULT 0
#define SCE_ADA_WORD 1
#define SCE_ADA_IDENTIFIER 2
diff --git a/src/app/qsci/lexers/qscilexerhaskell.h b/src/app/qsci/lexers/qscilexerhaskell.h
index 78c8978..56a3614 100644
--- a/src/app/qsci/lexers/qscilexerhaskell.h
+++ b/src/app/qsci/lexers/qscilexerhaskell.h
@@ -3,9 +3,6 @@
#include <Qsci/qscilexer.h>
-// located in SciLexer.h
-#define SCLEX_HASKELL 68
-
#define SCE_HA_DEFAULT 0
#define SCE_HA_IDENTIFIER 1
#define SCE_HA_KEYWORD 2
diff --git a/src/app/qsci/lexers/qscilexerlisp.h b/src/app/qsci/lexers/qscilexerlisp.h
index 5b43d74..6e5dc32 100644
--- a/src/app/qsci/lexers/qscilexerlisp.h
+++ b/src/app/qsci/lexers/qscilexerlisp.h
@@ -3,9 +3,6 @@
#include <Qsci/qscilexer.h>
-// located in SciLexer.h
-#define SCLEX_LISP 21
-
#define SCE_LISP_DEFAULT 0
#define SCE_LISP_COMMENT 1
#define SCE_LISP_NUMBER 2
diff --git a/src/app/qsci/lexers/qscilexernsis.h b/src/app/qsci/lexers/qscilexernsis.h
index 8b009ec..06efc40 100644
--- a/src/app/qsci/lexers/qscilexernsis.h
+++ b/src/app/qsci/lexers/qscilexernsis.h
@@ -3,9 +3,6 @@
#include <Qsci/qscilexer.h>
-// located in SciLexer.h
-#define SCLEX_NSIS 43
-
#define SCE_NSIS_DEFAULT 0
#define SCE_NSIS_COMMENT 1
#define SCE_NSIS_STRINGDQ 2
--
2.17.0

@ -1,10 +1,10 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
COMMIT=5ba17f90ec173e773470bc80ea26bca9a3f093fd
inherit cmake-utils vcs-snapshot xdg-utils
inherit cmake-utils xdg
DESCRIPTION="QScintilla-based tabbed text editor with syntax highlighting"
HOMEPAGE="http://juffed.com/en/"
@ -29,9 +29,12 @@ DEPEND="${RDEPEND}"
DOCS=( ChangeLog README )
S="${WORKDIR}/Mezomish-${PN}-5ba17f9"
PATCHES=(
"${FILESDIR}/${P}-qscintilla-2.10.patch"
"${FILESDIR}/${P}-qt-5.11.patch"
"${FILESDIR}/${P}-qscintilla-2.10.3.patch"
)
src_prepare() {
@ -53,13 +56,3 @@ src_configure() {
)
cmake-utils_src_configure
}
pkg_postinst() {
xdg_mimeinfo_database_update
xdg_desktop_database_update
}
pkg_postrm() {
xdg_mimeinfo_database_update
xdg_desktop_database_update
}

Binary file not shown.

@ -1,2 +1,3 @@
DIST nxml-gentoo-schemas-20180611.tar.xz 11572 BLAKE2B e8a573e79d9531d676b8c52ba9c2869f765e6bb0326f3f00c99dd3ecfd19af6eaedbb06ddf84ae541690962a5e67b87726d6cc90a3bf7dd6d805b5c2c96b6321 SHA512 8473233141a56935e41a9d0371501f3fe055b21600746db29e14ec91d12a43da595e500a876eea8cdddd885358df0825055143e901eb599a2fcbac7147a04fa8
DIST nxml-gentoo-schemas-20191214.tar.xz 9908 BLAKE2B 7cf16c68ed13026c9b5d980ac982afd6daa757db8c2b8860f881014c36821da9e47eb127be6900cad0b2c96fe73bec451757c2ac263653a709b178529413c8da SHA512 22aa519ba674d4abfb1b07d29a8a71a8919ca7f75acb7810087a79c3b1a3eb0db4d8f02f6c1a424c4941f9823cf7417cb3d6854a354b8af8479096f09ffc6a8d
DIST nxml-gentoo-schemas-20191217.tar.xz 8752 BLAKE2B 42613ce535e6b65bf88fa0df307523ae50a43336af693c2744cc98b233980ce597ead0e8bc8023949c7d6f8fad0a25e899fc29196bb53aa3612e3afa363fdb4c SHA512 0cbda1d363f458cb7e4f7c4b9dc9db7cc58be8251128883c752cec10bd3c8882ade88fc61fe2627e242f0678e9d500a38436ebe305601e086f2e0511954b2665

@ -0,0 +1,24 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit elisp
DESCRIPTION="Extension for nxml-mode with Gentoo-specific schemas"
HOMEPAGE="https://gitweb.gentoo.org/proj/nxml-gentoo-schemas.git/"
SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
LICENSE="HPND"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
SITEFILE="60${PN}-gentoo.el"
src_compile() { :; }
src_install() {
insinto "${SITEETC}/${PN}"
doins schemas.xml *.rnc
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
}

Binary file not shown.

@ -1,3 +1 @@
DIST diskimage-builder-2.29.1.tar.gz 426780 BLAKE2B cd5b9c2cce5c289ef7f76ad41bf4b51ba6319c782be91b97a82d828c177912696ce6f94774d7294aca0d4af401d4d4e0ddd5fdd6d799e4e560ab03f971498b03 SHA512 cb083024739486c7651ce97ab36a30461754aae226af23b2ce757eca7c71e0fec42af07b8973f9c8344012238c4ae9d6252189ce6288d6451e020302f2dc35bf
DIST diskimage-builder-2.30.0.tar.gz 428448 BLAKE2B 4cb4c47c07885713f160a958aa2d80d57b9ae496961bce976beddab59f0760abadaaccc1db8c4f29458dd8f247d7d5c21164a34ef91a4d4b48212f1fa612dadd SHA512 4ed6e745b1184c0462ce0500fa5e5dc8754a7185b76a6b5963c5ca9e20ca0bce7f2a5166b4472ca69498cc5f00e8a6e7ae17fd3794e830679e4f3a22e74956c7
DIST diskimage-builder-2.32.0.tar.gz 435328 BLAKE2B 78f306430819d94045e3b8c424cdf7a0fee9a306a317e44cd363d53bbbcd1af1f06731b83b63e490bb8ad3903630daf84a544878b87d6c7f377786778229f276 SHA512 357b56aba979cabd7a857d6646412893361c05a83e4260d1ef468de1d6fb0fbc2582ab8bf37428c56a52fafcf708b86be470f2c885008b10368bc92a2b679a09

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

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

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

@ -1,9 +0,0 @@
DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2
DIST wine-3.20.tar.xz 21541928 BLAKE2B 9183dacd1c6ec15ae5283eca3d17db5a869bcba9a93800a422f0dea5d9cfb5d3124a3e942e8b6487cd4ba31cfeacdd66de39128dd66d64e1226d265eae922d3a SHA512 fb66d1d4b427f46dd048b13e53bcd15a5eaeb19039221fe98ec771140c33b3c245a974e52242eab5731ffa0de15f5932204032fe24f86e1a313ff8f11da59cc4
DIST wine-3.21.tar.xz 21573872 BLAKE2B 54d8733b19f1377f856c9496f6263eef1916e03caf82c6fcfa39b3e7bec1fecd87466dc92f3739d704a9161a32d9ee680b2cc5e5cdf27a582dc1d89d0b1a6639 SHA512 dd64a6778bf1b848c8fe14dc26cfca21f6c1c92714ca1b2e932a28560a2adc1f69aa1b2cba250f49a5df4f91a4accde677a2afaf960c200d3998eac1957b5c6b
DIST wine-4.0.tar.xz 21644692 BLAKE2B 9c426ef2249c16e908a3617c2844d8b12a2df843721338b1cfb69459815b902cfa0ddf3d74c09dc900fb2ceb003e54d97a7c0afaac51a9caab7d21beb82e26c3 SHA512 7607fa7a3d5f7bcd3d8c4c9e7bb6e1987466110bbfc672782ebe57c6d9da348c58e76abf40b0a70c725dfd703163db6e194ee0e3db11a47b6b60e225163308dd
DIST wine-4.1.tar.xz 21680916 BLAKE2B 1a040606e34e1aec6f63d9692c6cbf915f5b32c817116aed68203e6bdedb8cb129dad440f7e51e9fb2ebaf1aa537d1584333f06b8b2c5d68f9ff37921d5b8b95 SHA512 2b28fc82111552009a042d682ea8f4e54d90f14bb99f1fbe12732090e7562527c229683562630edada0b1f4143de226734337b20d1b23d711191dcc0a834e4dc
DIST wine-d3d9-3.20.tar.gz 50539 BLAKE2B 53549364113f9dd9d7c9383ec74cc7eafec61dca5bf1943bd87e51b810e6d85d5d0f86f426a22042ee8a23eb21b6b13c691c43d67de19e66550dd0abc3c0319b SHA512 67d452d46807ee9ca44414326a9b2b90403b5c4c611e34ade03a9b624066b62b056f3adde2c0b6d6bdd73066775a1b3eb43d7cf52f82456eb979f788c3e591b4
DIST wine-d3d9-3.21.tar.gz 50545 BLAKE2B fec93df7a464feba5ebd5c1f9f9b511a89065cc668122c4ddb2c91027b68e2aa93fe58832c4e143832c5b5f4ace57c640ab218525f0749bd5f1c632e80009660 SHA512 b2263d26b671b45a59c03ca5dc88aff35444e4d47caccf3de1493fa86ac834bb178819b9a80aa52838e510f814ed404e6c3ce9724aa6eea6a6d5f019253e6248
DIST wine-d3d9-4.0.tar.gz 50535 BLAKE2B a5815c4d1b8ea34a0afac565b01aaaa6af418a7d84bf12c4c0591e316d31987770d1d5e99837f1c63e91810db821a2cb76cba1b97c71d5fcee8060a48915e83d SHA512 98e2d4d47fdc376e4e8fed0624657d40ea0a077998baab1d89ef0320714e66f4899414b04fa747b78c172fb85732e9376553c0b20cfd1ae0807cb3de58cfe78a
DIST wine-d3d9-4.1.tar.gz 50520 BLAKE2B 53f1c4a7fe077776d648a927e75f11a8fa627d3fa15b01e22c18da7a4489ebc883470901e75afc99e07b85201ec05132be4c357923b8ab2ce6ac5f0beedeadd0 SHA512 2e8e3dca86a919a6e6bbdf87f2ffa67f90febcd4ba11351a20785c8dcf732077e1ae1ec0f34f3a4743cb23bb3d8483fd67d9e746e2887d000dd9f0220404b672

@ -1,55 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
<description>
This package must be kept in sync with repo/proj/wine repository.
Any changes need to be run past the maintainer to ensure the two repositories are kept in sync.
</description>
</maintainer>
<maintainer type="person">
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
<longdescription>
Wine is an Open Source implementation of the Windows API on top of X and Unix.
Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, and Solaris.
This variant of the Wine packaging includes the Gallium Nine patchset.
</longdescription>
<use>
<flag name="capi">Enable ISDN support via CAPI</flag>
<flag name="custom-cflags">Bypass strip-flags; use at your own peril</flag>
<flag name="d3d9">Apply highly experimental patches for Gallium Nine support.
This patch may break some applications.</flag>
<flag name="dos">Pull in <pkg>games-emulation/dosbox</pkg> to run DOS applications</flag>
<flag name="gecko">Add support for the Gecko engine when using iexplore</flag>
<flag name="gssapi">Use GSSAPI (Kerberos SSP support)</flag>
<flag name="gstreamer">Use <pkg>media-libs/gstreamer</pkg> to provide DirectShow functionality;</flag>
<flag name="mono">Add support for .NET using Wine's Mono add-on</flag>
<flag name="netapi">Use libnetapi from <pkg>net-fs/samba</pkg> to support Windows networks in netapi32.dll</flag>
<flag name="opencl">Enable OpenCL support</flag>
<flag name="osmesa">Add support for OpenGL in bitmaps using libOSMesa</flag>
<flag name="pcap">Support packet capture software (e.g. wireshark)</flag>
<flag name="perl">Install helpers written in perl (winedump/winemaker)</flag>
<flag name="prelink">Run prelink on DLLs during build;
For Gentoo hardened, do not disable if you do not know what this means as it can break things at runtime</flag>
<flag name="realtime">Pull in <pkg>sys-auth/rtkit</pkg> for low-latency pulseaudio support</flag>
<flag name="run-exes">Use Wine to open and run .EXE and .MSI files</flag>
<flag name="samba">Add support for NTLM auth. See:
https://web.archive.org/web/20160108123008/http://wiki.winehq.org:80/NtlmAuthSetupGuide and
https://web.archive.org/web/20150906013746/http://wiki.winehq.org/NtlmSigningAndSealing
(these pages are not currently in the updated WineHQ Wiki).</flag>
<flag name="sdl">Add support for gamepad detection using SDL</flag>
<flag name="udev">Use <pkg>virtual/libudev</pkg> to provide plug and play support</flag>
<flag name="vkd3d">Use <pkg>app-emulation/vkd3d</pkg> to provide Direct3D 12 support</flag>
<flag name="vulkan">Enable Vulkan drivers</flag>
</use>
<upstream>
<remote-id type="sourceforge">wine</remote-id>
<remote-id type="github">sarnex/wine-d3d9-patches</remote-id>
</upstream>
</pkgmetadata>

@ -1,577 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# 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 eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
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 gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
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}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.3 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${pn_live_val} ]]; then
if use 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 "environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
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}" git-r3_src_unpack
if use d3d9; then
EGIT_CHECKOUT_DIR="${D3D9_DIR}" EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}" git-r3_src_unpack
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--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 gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(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_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use 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 wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use 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
}

@ -1,577 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# 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 eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
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 gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
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}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.3 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${pn_live_val} ]]; then
if use 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 "environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
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}" git-r3_src_unpack
if use d3d9; then
EGIT_CHECKOUT_DIR="${D3D9_DIR}" EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}" git-r3_src_unpack
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--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 gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(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_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use 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 wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use 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
}

@ -1,578 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# 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 eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
MINOR_V=$(ver_cut 2)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
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 gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
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}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.5 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${pn_live_val} ]]; then
if use 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 "environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
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}" git-r3_src_unpack
if use d3d9; then
EGIT_CHECKOUT_DIR="${D3D9_DIR}" EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}" git-r3_src_unpack
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--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 gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(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_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use 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 wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use 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
}

@ -1,577 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# 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 eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
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 gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
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}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.5 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${pn_live_val} ]]; then
if use 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 "environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
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}" git-r3_src_unpack
if use d3d9; then
EGIT_CHECKOUT_DIR="${D3D9_DIR}" EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}" git-r3_src_unpack
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--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 gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(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_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use 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 wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use 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
}

@ -1,578 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# 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 eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
MY_PN="${PN%%-*}"
MY_P="${MY_PN}-${PV}"
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
EGIT_BRANCH="master"
inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
MAJOR_V=$(ver_cut 1)
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/${MY_P}"
D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
GWP_V="20180120"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
"
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 gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
osmesa? ( opengl )
test? ( abi_x86_32 )
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
RESTRICT="test"
COMMON_DEPEND="
X? (
x11-libs/libXcursor[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libXi[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
)
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
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}] )
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
)
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? (
virtual/glu[${MULTILIB_USEDEP}]
virtual/opengl[${MULTILIB_USEDEP}]
)
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
xml? (
dev-libs/libxml2[${MULTILIB_USEDEP}]
dev-libs/libxslt[${MULTILIB_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
app-emulation/wine-desktop-common
>app-eselect/eselect-wine-0.3
!app-emulation/wine:0
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
mono? ( app-emulation/wine-mono:4.7.5 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
)
pulseaudio? (
realtime? ( sys-auth/rtkit )
)
samba? ( >=net-fs/samba-3.0.25[winbind] )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
sys-devel/flex
>=sys-kernel/linux-headers-2.6
virtual/pkgconfig
virtual/yacc
X? ( x11-base/xorg-proto )
prelink? ( sys-devel/prelink )
xinerama? ( x11-base/xorg-proto )"
# These use a non-standard "Wine" category, which is provided by
# /etc/xdg/applications-merged/wine.menu
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
usr/share/applications/wine-notepad.desktop
usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()
# https://bugs.gentoo.org/show_bug.cgi?id=635222
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
DEPEND+=" dev-util/patchbin"
fi
wine_compiler_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
# GCC-specific bugs
if tc-is-gcc; then
# bug #549768
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
ebegin "Checking for gcc-5 ms_abi compiler bug"
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
# Run in subshell to prevent "Aborted" message
( "${T}"/pr66838 || false ) >/dev/null 2>&1
if ! eend $?; then
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/549768"
eerror
return 1
fi
fi
# bug #574044
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
if ! eend $?; then
eerror "Wine cannot be built with this version of gcc-5.3"
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
eerror "or use gcc-config to select a different compiler version."
eerror "See https://bugs.gentoo.org/574044"
eerror
return 1
fi
fi
fi
# Ensure compiler support
if use abi_x86_64; then
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
# Compile in subshell to prevent "Aborted" message
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
if ! eend $?; then
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
eerror
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
eerror
return 1
fi
fi
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
if use abi_x86_64; then
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
eerror "You need gcc-4.4+ to compile 64-bit wine"
die
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
eerror "You need clang-3.8+ to compile 64-bit wine"
die
fi
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
fi
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
ewarn "See package.env in man 5 portage for more information on how to do this."
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
fi
fi
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
eerror
return 1
fi
}
wine_env_vcs_vars() {
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
local pn_live_val="${pn_live_var}"
eval pn_live_val='$'${pn_live_val}
if [[ ! -z ${pn_live_val} ]]; then
if use 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 "environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
eerror
return 1
fi
fi
if [[ ! -z ${EGIT_COMMIT} ]]; then
eerror "Commits must now be specified using the environment variables:"
eerror " EGIT_OVERRIDE_COMMIT_WINE"
eerror " EGIT_OVERRIDE_COMMIT_SARNEX_WINE_D3D9_PATCHES"
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}" git-r3_src_unpack
if use d3d9; then
EGIT_CHECKOUT_DIR="${D3D9_DIR}" EGIT_REPO_URI="${D3D9_EGIT_REPO_URI}" git-r3_src_unpack
fi
fi
default
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
eapply_bin(){
local patch
for patch in ${PATCHES_BIN[@]}; do
patchbin --nogit < "${patch}" || die
done
}
local md5="$(md5sum server/protocol.def)"
if use d3d9; then
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
fi
default
eapply_bin
eautoreconf
# Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
fi
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
if ! use run-exes; then
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
# Edit wine.desktop to work for specific variant
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
# Duplicate manpages input files for wine64
local f
for f in loader/*.man.in; do
cp ${f} ${f/wine/wine64} || die
done
# Add wine64 manpages to Makefile
if use abi_x86_64; then
sed -i "/wine.man.in/i \
\\\twine64.man.in \\\\" loader/Makefile.in || die
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
\164\2/' loader/Makefile.in || die
fi
rm_man_file(){
local file="${1}"
loc=${2}
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
}
while read f; do
l10n_for_each_disabled_locale_do rm_man_file "${f}"
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
}
src_configure() {
wine_compiler_check || die
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
multilib-minimal_src_configure
}
multilib_src_configure() {
local myconf=(
--prefix="${MY_PREFIX}"
--datarootdir="${MY_DATAROOTDIR}"
--datadir="${MY_DATADIR}"
--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 gssapi)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with kerberos krb5)
$(use_with ldap)
--without-mingw # linux LDFLAGS leak in mingw32: bug #685172
$(use_enable mono mscoree)
$(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
$(use_with openal)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
$(use_with pcap)
$(use_with png)
$(use_with pulseaudio pulse)
$(use_with threads pthread)
$(use_with scanner sane)
$(use_with sdl)
$(use_enable test tests)
$(use_with truetype freetype)
$(use_with udev)
$(use_with v4l)
$(use_with vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
$(use_with xcomposite)
$(use_with xinerama)
$(use_with xml)
$(use_with xml xslt)
)
use 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 wine64 "${MY_PREFIX}"/bin/wine # 404331
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
fi
# Failglob for binloops, shouldn't be necessary, but including to stay safe
eshopts_push -s failglob #615218
# Make wrappers for binaries for handling multiple variants
# Note: wrappers instead of symlinks because some are shell which use basename
local b
for b in "${D%/}${MY_PREFIX}"/bin/*; do
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
done
eshopts_pop
}
pkg_postinst() {
eselect wine register ${P}
if [[ ${PN} == "wine-vanilla" ]]; then
eselect wine register --vanilla ${P} || die
else
if use 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
}

@ -1,4 +1,5 @@
DIST gentoo-wine-patches-20190511.tar.xz 58996 BLAKE2B 571c30d94341f567261893f884345b39eab42adc8b5c306a30d03943fd770055e070ae01e41e5add5b873063d3aaa69641faf81b16ac6039970d8a22b177dd7e SHA512 ccd74d0d6acecc7b24dc89466f93099bd6991d607a4fe89d68637d1fa82e02ebd76b532fe1afd8ab8de8ef3f2d49fe8d71f797796a9434f4b0f7a8183c084969
DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88c13b6d532f94f319ad29821faa699e828d90cfbe92c02b6e73b72eb16e565707c49885833fe557809ed16f4a6f0f182de9bb6e6 SHA512 a030fad55be5e1d909bc50e430c9a99846b88d7555f12749e101ba83f04df5af23eeb726b5ed78f847a66d11ac0a838bc69bd5bf8cf53da77ad454d2a2fe65cf
DIST wine-4.18.tar.xz 22263936 BLAKE2B 710d6d90ff1ef9adeb5bb9012c8f354985c1610f46607a144ef12499571373563f8ce204dc3dbed975a9ab47e0b07e65f8fe0ff3e38a698076d95c58fc0797c4 SHA512 794802289fa021092a86c939a3618563ad1523689cdafb6fd58aed06c6a5c867fc5ef0d3dbb2435a65c3eb0d3b982b37e983257a7a7d20c3b6d71df9bf5bf1f1
DIST wine-4.19.tar.xz 22283616 BLAKE2B 0d648d931737bc381bca3ad0fa2bfcc089c8324c47c80bdaa85aaddb5a63f5145ef5cc442da299591edbd1723ff1dd49fbf629363ec5e4c6152b7016aed612f3 SHA512 a86bd7ccfb1878445ea946e4ca72769c10b4d966bcc893536a8c3eaa29484ba687dc3a44755ec92a2ad6073e736985b814c0c682bf4f90b5ffe2bca0ebbf4b25
DIST wine-4.20.tar.xz 22314856 BLAKE2B c3734029583bf17929a92475f4ad3ac97df632d967b9f7fc2d9f076a7f8492ec144b41227812271703ee665a6a17e9b1e3eed6697d5f7394824d3783fcd8de5a SHA512 c01af88106b8a808fbceb6ace45882c300656a47913142ba7052283b358d6d5b4379895804e15a2ca1870a4e955ea3ca857ec042a8070ea4ffaefa0c7a84e701

@ -26,7 +26,7 @@ S="${WORKDIR}/${MY_P}"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}"
GWP_V="20190511"
GWP_V="20191222"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
@ -162,9 +162,9 @@ usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-4.8-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()

@ -1,5 +1,6 @@
DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2
DIST gentoo-wine-patches-20190511.tar.xz 58996 BLAKE2B 571c30d94341f567261893f884345b39eab42adc8b5c306a30d03943fd770055e070ae01e41e5add5b873063d3aaa69641faf81b16ac6039970d8a22b177dd7e SHA512 ccd74d0d6acecc7b24dc89466f93099bd6991d607a4fe89d68637d1fa82e02ebd76b532fe1afd8ab8de8ef3f2d49fe8d71f797796a9434f4b0f7a8183c084969
DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88c13b6d532f94f319ad29821faa699e828d90cfbe92c02b6e73b72eb16e565707c49885833fe557809ed16f4a6f0f182de9bb6e6 SHA512 a030fad55be5e1d909bc50e430c9a99846b88d7555f12749e101ba83f04df5af23eeb726b5ed78f847a66d11ac0a838bc69bd5bf8cf53da77ad454d2a2fe65cf
DIST wine-4.0.1.tar.xz 21665840 BLAKE2B b33b5ce8b4624dfbbbf473a88ed8c52d5e53855fa98ac3128e9b89dbeee6e92044ed1e662e1dc9669bd8d805424c36f2dd2c836c51bf6a5e4d78350926a13150 SHA512 dd240525e389f841123a569fd2f9b8da698b7707bc0de408dfd60ae73c5e24d522abb42b76571c840df52c686fdeae56e0a9c69db2cd31f04cdb345feeacf1dc
DIST wine-4.0.2.tar.xz 21668348 BLAKE2B f1aa8ba3add9ae1e6fbb930a0c557c0015a699b21ba9988c6832c9a1b5180f98cbaadc561fbe4a22e97ff78732ee121a14f5a82b0637c71a4856fa5524ff2f5a SHA512 14cb7eeba188562b73125c668f2020e1df6802e486552e422d3aa75b95f6fccedc0f87868f7e58ce71697941ff49757981ec93b9ef288da37ca8570658f194fc
DIST wine-4.0.3.tar.xz 21680420 BLAKE2B a7caf4b82fa2594f77e31f29b2a3da59c08bb58f213268d61bdf48998345162bc36fbfc24db94d11cb07b6da347b3471e9d8976d9abfa0f76c183c0a519aa73e SHA512 a8fde0bcf600eaec56c3ce58c9aa992386784c85cf1c93aa84d50aff4c842b12a6b099c23391d3ad9a0059f3dc9069c0f8e00fad293305ba8a33afc70bf26e14

@ -24,7 +24,7 @@ else
fi
S="${WORKDIR}/${MY_P}"
GWP_V="20190511"
GWP_V="20191222"
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
@ -139,9 +139,9 @@ usr/share/applications/wine-uninstaller.desktop
usr/share/applications/wine-winecfg.desktop"
PATCHES=(
"${PATCHDIR}/patches/${MY_PN}-4.8-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
"${PATCHDIR}/patches/${MY_PN}-4.7-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
)
PATCHES_BIN=()

Binary file not shown.

@ -1,2 +1,3 @@
DIST ruby.eselect-20170723.xz 1972 BLAKE2B 338f9fbb81ebe3c0fdcab77ab12cabd6aa334ac3bf64352cd801c8088d7c3ac4c452e647addc98497d104df24f7934d8cdd8b0008e4f52fb27306a80411f793b SHA512 9c0614bc7e2ce9811466f257035d74622a96db8d44aa0908414fbac7d4142c34350257b08ace7371901e46cc0c9a38c3f2acae3caea4fb354ccc37b8c919b48f
DIST ruby.eselect-20190121.xz 2000 BLAKE2B d04f9230e428526fb7ac7f6c274d7ac1b47af9f9bbb33cbfcec72cccdbe553db73a320e8a86190b88b4f9ee9c27fe0e5dabce1e1c5edfd4373d9a4bfcb457957 SHA512 aca2c46e39d3e0806a0ab942e8afe755992e5df98c50f4f2e012c93b8d6339e2a8400376e73187744a3d42a77725e03eed48b300f7d4d2da546a434184988f52
DIST ruby.eselect-20191222.xz 2000 BLAKE2B ec89dca67730ff3c6acba8906f9436866b45c3b7fc4c29be6614eddf7e5fbc1f9f9ff0bfe3ddfdc7309d242a5da6f8913cae738895fd6abcc39dc336f609d066 SHA512 72c3e3fe8c82474de25dbde9f1f63739e57be3e4e61a1f86e57c9dcaf92d72fd8d17263f8a326af771f64395febc82f5eb29e86b4b2a44af029b6c1fc41e43d2

@ -0,0 +1,22 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Manages multiple Ruby versions"
HOMEPAGE="https://wiki.gentoo.org/wiki/Ruby"
SRC_URI="https://dev.gentoo.org/~graaff/ruby-team/ruby.eselect-${PVR}.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND=">=app-admin/eselect-1.0.2"
S=${WORKDIR}
src_install() {
insinto /usr/share/eselect/modules
newins "${WORKDIR}/ruby.eselect-${PVR}" ruby.eselect
}

Binary file not shown.

@ -1,2 +1 @@
DIST bijiben-3.26.2.tar.xz 865148 BLAKE2B 77bb78745295d414153e18491fd16faad29defabaff4ad979db7cc6e6fe075e042dd8b04d321282fbfbf163541818019bc2cbda0f8562010dfc32f275f3f54e8 SHA512 1db8c5e605b5c6a0fcd8743365a53b6ab2d986a18d501a3f02e892bcfc8ba91e9ca933b6f2a4318f71724b40f190d0ebc18eabfe1332de6765b9bca09d36718e
DIST bijiben-3.32.2.tar.xz 659988 BLAKE2B a155b3ad4d340b6efe039ae8458be6665f5ea37935b2040d8aa59f4b019a7ce2a9bb42c309fbc212b8f87cd2e3db533305b64d6987b3b527435ab9906165a7ff SHA512 71573ced01a5e984998fc5ce97ebbd4fcf04a91165465697ff29ea67076a31654b8f66a93c3ed79b30a8af2e38fad3ac4bfc3047106411078c6cbb67c20d5c5d

@ -1,33 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit gnome2
DESCRIPTION="Note editor designed to remain simple to use"
HOMEPAGE="https://wiki.gnome.org/Apps/Bijiben"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RDEPEND="
>=dev-libs/glib-2.53.4:2
>=x11-libs/gtk+-3.11.4:3
>=gnome-extra/evolution-data-server-3.13.90:=
>=net-libs/webkit-gtk-2.10.0:4
net-libs/gnome-online-accounts:=
dev-libs/libxml2:2
app-misc/tracker:=
sys-apps/util-linux
"
DEPEND="${RDEPEND}
dev-libs/appstream-glib
dev-util/gdbus-codegen
dev-util/glib-utils
>=dev-util/intltool-0.50.1
dev-util/itstool
sys-devel/gettext
virtual/pkgconfig
"

@ -0,0 +1,49 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
inherit linux-info udev xdg distutils-r1
DESCRIPTION="A Linux device manager for Logitech's Unifying Receiver peripherals"
HOMEPAGE="https://pwr-solaar.github.io/Solaar/"
SRC_URI="https://github.com/pwr-Solaar/Solaar/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="doc"
RDEPEND="
acct-group/plugdev
dev-python/pygobject:3[${PYTHON_USEDEP}]
>=dev-python/pyudev-0.13[${PYTHON_USEDEP}]
x11-libs/gtk+:3[introspection]"
S="${WORKDIR}"/Solaar-${PV}
CONFIG_CHECK="~HID_LOGITECH_DJ ~HIDRAW"
python_prepare_all() {
# don't autostart (bug #494608)
sed -i '/yield autostart_path/d' setup.py || die
# grant plugdev group rw access
sed -i 's/#MODE=/MODE=/' rules.d/42-logitech-unify-permissions.rules || die
distutils-r1_python_prepare_all
}
python_install_all() {
distutils-r1_python_install_all
udev_dorules rules.d/*.rules
dodoc docs/devices.md
if use doc; then
dodoc -r docs/*
fi
}

@ -1,2 +1 @@
DIST tracker-miners-2.1.6.tar.xz 3456848 BLAKE2B 60b4af9ea755b79c2d31150d744468c6b980238eef542b9be382316eaf7310e137c501f9f705319e203ac3fba11e554202f6d1ee8e5a1ebcdf9b0d59aaa5e380 SHA512 3ded014c98f7be2b610fbe76c3a2b006a9ec85b090d2d3ca3e943e89b58b520da291ebfebe9efd579fe330fd49fced8f792eeba3b8e56f91fd2358bdaff4cdf2
DIST tracker-miners-2.2.2.tar.xz 2893476 BLAKE2B 30bfd0454c5429a708ee10a299210e800e2d713859a20206b8c96cb41f4a1d14c438266b198788056b4d2f7fd5a9b8b465d9d7b460e3e57ddbd56d98f89c5ae2 SHA512 41dda92ddde2ba473ac0887ab5a0c0918c8a26a99cdcd1c0a7d49cdce0f7b02ff080fa868df7e855d08ce5cf61fa55b3ef0737bc58a83e80d2096435efa11cf3

@ -1,67 +0,0 @@
From 5d24ba00a7735ab3b7b381a102dc5536c12c8133 Mon Sep 17 00:00:00 2001
From: Ernestas Kulik <ernestask@gnome.org>
Date: Sun, 7 Oct 2018 11:40:41 +0300
Subject: [PATCH 1/2] build: Fix libcue version comparison
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It currently performs a string comparison, as opposed to using
version_compare(), which leads to results like
“unknown >= 2.0.0 == True” when the dependency was not found.
Fixes https://gitlab.gnome.org/GNOME/tracker-miners/issues/32
(cherry picked from commit 6e281037a5f0abc12e5e8902e445f264200980b0)
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 4273638dd..c30ada4ed 100644
--- a/meson.build
+++ b/meson.build
@@ -317,7 +317,7 @@ conf.set('GSTREAMER_BACKEND_DISCOVERER', gstreamer_backend_name == 'Discoverer')
conf.set('GSTREAMER_BACKEND_GUPNP_DLNA', gstreamer_backend_name == 'GUPnP-DLNA')
conf.set('HAVE_HAL', battery_detection_library_name == 'hal')
conf.set('HAVE_LIBCUE', libcue.found())
-conf.set('HAVE_LIBCUE2', libcue.version() >= '2.0.0')
+conf.set('HAVE_LIBCUE2', libcue.version().version_compare('>= 2.0.0'))
conf.set('HAVE_LIBICU_CHARSET_DETECTION', charset_library_name == 'icu')
conf.set('HAVE_LIBEXIF', libexif.found())
conf.set('HAVE_LIBIPTCDATA', libiptcdata.found())
--
2.17.0
From ff6a076330ba1b5a383196795b18e2c069ac54c6 Mon Sep 17 00:00:00 2001
From: Sam Thursfield <sam@afuera.me.uk>
Date: Sun, 7 Oct 2018 23:42:28 +0200
Subject: [PATCH 2/2] build: Fix breakage when libcue isn't found
Commit 6e281037a5f0abc introduced a regression on systems where libcue
is not available.
Fixes https://gitlab.gnome.org/GNOME/tracker-miners/issues/33
(cherry picked from commit fd0eb3cd98f279591cbe8635eadf42027dd5ddae)
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index c30ada4ed..28072646a 100644
--- a/meson.build
+++ b/meson.build
@@ -317,7 +317,7 @@ conf.set('GSTREAMER_BACKEND_DISCOVERER', gstreamer_backend_name == 'Discoverer')
conf.set('GSTREAMER_BACKEND_GUPNP_DLNA', gstreamer_backend_name == 'GUPnP-DLNA')
conf.set('HAVE_HAL', battery_detection_library_name == 'hal')
conf.set('HAVE_LIBCUE', libcue.found())
-conf.set('HAVE_LIBCUE2', libcue.version().version_compare('>= 2.0.0'))
+conf.set('HAVE_LIBCUE2', libcue.found() and libcue.version().version_compare('>= 2.0.0'))
conf.set('HAVE_LIBICU_CHARSET_DETECTION', charset_library_name == 'icu')
conf.set('HAVE_LIBEXIF', libexif.found())
conf.set('HAVE_LIBIPTCDATA', libiptcdata.found())
--
2.17.0

@ -1,157 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
inherit gnome.org gnome2-utils meson python-any-r1 systemd xdg
DESCRIPTION="Collection of data extractors for Tracker/Nepomuk"
HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
IUSE="cue exif ffmpeg flac gif gsf +gstreamer iptc +iso +jpeg libav +pdf +playlist raw +rss seccomp test +taglib +tiff upower +vorbis +xml xmp xps"
RESTRICT="!test? ( test )"
REQUIRED_USE="cue? ( gstreamer )" # cue is currently only supported via gstreamer, not ffmpeg/libav
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
# tracker-2.1.7 currently always depends on ICU (theoretically could be libunistring instead); so choose ICU over enca always here for the time being (ICU is preferred)
RDEPEND="
>=dev-libs/glib-2.46:2
>=app-misc/tracker-2.1.0:=
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0 )
!gstreamer? (
ffmpeg? (
libav? ( media-video/libav:0= )
!libav? ( media-video/ffmpeg:0= ) ) )
>=sys-apps/dbus-1.3.1
xmp? ( >=media-libs/exempi-2.1.0:= )
flac? ( >=media-libs/flac-1.2.1 )
raw? ( media-libs/gexiv2 )
>=dev-libs/icu-4.8.1.2:=
cue? ( media-libs/libcue:= )
exif? ( >=media-libs/libexif-0.6 )
gsf? ( >=gnome-extra/libgsf-1.14.24:= )
xps? ( app-text/libgxps )
iptc? ( media-libs/libiptcdata )
jpeg? ( virtual/jpeg:0 )
iso? ( >=sys-libs/libosinfo-0.2.10 )
>=media-libs/libpng-1.2:0=
seccomp? ( >=sys-libs/libseccomp-2.0 )
tiff? ( media-libs/tiff:0 )
xml? ( >=dev-libs/libxml2-2.6 )
vorbis? ( >=media-libs/libvorbis-0.22 )
pdf? ( >=app-text/poppler-0.16.0[cairo] )
taglib? ( >=media-libs/taglib-1.6 )
playlist? ( >=dev-libs/totem-pl-parser-3:= )
upower? ( >=sys-power/upower-0.9.0 )
sys-libs/zlib:0
gif? ( media-libs/giflib:= )
rss? ( >=net-libs/libgrss-0.7:0 )
app-arch/gzip
"
DEPEND="${RDEPEND}
dev-util/glib-utils
>=dev-util/intltool-0.40.0
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
test? ( ${PYTHON_DEPS}
gstreamer? ( || ( media-plugins/gst-plugins-libav:1.0
media-plugins/gst-plugins-openh264:1.0 ) ) )
"
# intltool-merge manually called in meson.build in 2.1.5; might be properly gone by 2.2.0 (MR !29)
PATCHES=(
"${FILESDIR}"/${PV}-cue-meson-fixes.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
# Avoid gst-inspect calls that may trigger sandbox; instead assume the detection will succeed and add the needed test deps for that
if use gstreamer; then
sed -i -e 's:detect-h264-codec.sh:/bin/true:' tests/functional-tests/meson.build || die
else
sed -i -e 's:detect-h264-codec.sh:/bin/false:' tests/functional-tests/meson.build || die
fi
xdg_src_prepare
gnome2_environment_reset # sets gstreamer safety variables
}
src_configure() {
local media_extractor="none"
if use gstreamer ; then
media_extractor="gstreamer"
elif use ffmpeg ; then
media_extractor="libav"
fi
local emesonargs=(
-Dtracker_core=system
-Ddocs=true
-Dextract=true
$(meson_use test functional_tests)
-Dminer_apps=true
-Dminer_fs=true
$(meson_use rss miner_rss)
-Dwriteback=true
-Dabiword=true
-Ddvi=true
-Dicon=true
-Dmp3=true
-Dps=true
-Dtext=true
-Dunzip_ps_gz_files=true # spawns gunzip
-Dcue=$(usex cue enabled disabled)
-Dexif=$(usex exif enabled disabled)
-Dflac=$(usex flac enabled disabled)
-Dgif=$(usex gif enabled disabled)
-Dgsf=$(usex gsf enabled disabled)
-Diptc=$(usex iptc enabled disabled)
-Diso=$(usex iso enabled disabled)
-Djpeg=$(usex jpeg enabled disabled)
-Dpdf=$(usex pdf enabled disabled)
-Dplaylist=$(usex playlist enabled disabled)
-Dpng=enabled
-Draw=$(usex raw enabled disabled)
-Dtaglib=$(usex taglib enabled disabled)
-Dtiff=$(usex tiff enabled disabled)
-Dvorbis=$(usex vorbis enabled disabled)
-Dxml=$(usex xml enabled disabled)
-Dxmp=$(usex xmp enabled disabled)
-Dxps=$(usex xps enabled disabled)
-Dbattery_detection=$(usex upower upower none)
-Dcharset_detection=icu # enca is a possibility, but right now we have tracker core always dep on icu and icu is preferred over enca
-Dgeneric_media_extractor=${media_extractor}
# gupnp gstreamer_backend is in bad state, upstream suggests to use discoverer, which is the default
-Dsystemd_user_services="$(systemd_get_userunitdir)"
)
meson_src_configure
}
src_test() {
dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

@ -1,2 +1 @@
DIST tracker-2.1.8.tar.xz 2585924 BLAKE2B 8548f6a615c3357eb2f1a1656d81f50816cef2f59e23fe7bd2111eeade8b3e5c0a33abf1bc830a0baa9c1c1d74ee92d3e44da00cd6f65ab853ef04eb2f57a69e SHA512 447e519699bbb0c9802230629667a87ce39ec3f6bb9c605063319d5e6a019c95a76762fdc889b1a11280be08b8520f22f097f9c9779dcd7a6c7cf239b4da2696
DIST tracker-2.2.2.tar.xz 2792104 BLAKE2B 654dd5a6e4d8ea8a47d209f747e0dd4e02b7f6c862c4dedd92edf271cf3645b2a7d3f956f6aba5bf104df9972bc287b49a40d77892cb9a65e40c1007f5e3ca6c SHA512 2c18c324d4d98fb62bbf21eac8f647bd34463cee4d9f71d411e22d695fc28cc0c5334e2d41517875a5741213d9405e768f3efae6a8a4a8e72d01563c335f47a7

@ -1,66 +0,0 @@
From cff7f988fd2ed7894c3d16144e799d994637d3cf Mon Sep 17 00:00:00 2001
From: Mart Raudsepp <leio@gentoo.org>
Date: Wed, 13 Feb 2019 12:28:53 +0200
Subject: [PATCH 1/5] build: Separate options for manpages install and gtk-doc
generation
---
docs/meson.build | 10 +++++++---
meson.build | 6 +-----
meson_options.txt | 6 ++++--
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/docs/meson.build b/docs/meson.build
index 76e59797e..5e1d541bd 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,3 +1,7 @@
-subdir('tools')
-subdir('manpages')
-subdir('reference')
+if get_option('man')
+ subdir('manpages')
+endif
+if get_option('gtk-doc')
+ subdir('tools')
+ subdir('reference')
+endif
diff --git a/meson.build b/meson.build
index 7d61fe1a7..0fda24151 100644
--- a/meson.build
+++ b/meson.build
@@ -320,11 +320,7 @@ typelib_dir = gobject_introspection.get_pkgconfig_variable('typelibdir',
define_variable: [ 'libdir', libdir ])
subdir('src')
-
-if get_option('docs')
- subdir('docs')
-endif
-
+subdir('docs')
subdir('examples')
subdir('utils')
diff --git a/meson_options.txt b/meson_options.txt
index b36ba1d1e..0eb48aac4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,11 +1,13 @@
-option('docs', type: 'boolean', value: true,
- description: 'Enable the documentation')
option('fts', type: 'boolean', value: true,
description: 'Enable the Tracker full-text search feature')
option('functional_tests', type: 'boolean', value: true,
description: 'Enable the Tracker functional test suite')
+option('gtk-doc', type: 'boolean', value: true,
+ description: 'Generate API documentation with gtk-doc')
option('journal', type: 'boolean', value: true,
description: 'Enable database journal backup mechanism')
+option('man', type: 'boolean', value: true,
+ description: 'Install man pages')
option('network_manager', type: 'combo', choices: ['auto', 'no', 'yes'], value: 'auto',
description: 'Enable connection detection through NetworkManager')
--
2.17.0

@ -1,71 +0,0 @@
From d52a7bed9fdeef77bdcafd66c748adce14fde42d Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Tue, 6 Nov 2018 07:11:37 +0000
Subject: [PATCH 5/5] build: Restore right soversion to libraries
The previous change did not leave the expected .0 symlinks.
'soversion' is the actual version linked against. To match the scheme
used by libtool, we need to give the libraries a 'version' as well.
(cherry picked from commit 282cd5aa85852cc7f9e603dae435f6b528c4712a)
---
meson.build | 3 ++-
src/libtracker-control/meson.build | 1 +
src/libtracker-miner/meson.build | 1 +
src/libtracker-sparql-backend/meson.build | 1 +
4 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 0fda24151..593b9db44 100644
--- a/meson.build
+++ b/meson.build
@@ -15,7 +15,8 @@ tracker_interface_age = 0
tracker_binary_age = 100 * tracker_minor_version + tracker_micro_version - tracker_interface_age
# This the .Z used in libtracker-sparql-2.0.so.Z
-soversion = '0.@0@.@1@'.format(tracker_binary_age - tracker_interface_age, tracker_interface_age)
+soversion = '0'
+libversion = '@0@.@1@.@2@'.format(soversion, tracker_binary_age - tracker_interface_age, tracker_interface_age)
libdir = join_paths(get_option('prefix'), get_option('libdir'))
datadir = join_paths(get_option('prefix'), get_option('datadir'))
diff --git a/src/libtracker-control/meson.build b/src/libtracker-control/meson.build
index 81578e306..533ac538e 100644
--- a/src/libtracker-control/meson.build
+++ b/src/libtracker-control/meson.build
@@ -10,6 +10,7 @@ libtracker_control = library('tracker-control-' + tracker_api_version,
tracker_common_enum_header,
c_args: tracker_c_args,
soversion: soversion,
+ version: libversion,
install: true,
install_rpath: tracker_internal_libs_dir,
# This doesn't depend on tracker_common_dep because of
diff --git a/src/libtracker-miner/meson.build b/src/libtracker-miner/meson.build
index e53b21cf9..49c879057 100644
--- a/src/libtracker-miner/meson.build
+++ b/src/libtracker-miner/meson.build
@@ -60,6 +60,7 @@ libtracker_miner = library(
miner_enums[0], miner_enums[1], miner_sources,
c_args: tracker_c_args,
soversion: soversion,
+ version: libversion,
install: true,
install_rpath: tracker_internal_libs_dir,
# This doesn't depend on tracker_common_dep because of
diff --git a/src/libtracker-sparql-backend/meson.build b/src/libtracker-sparql-backend/meson.build
index c8415efb8..e54333bec 100644
--- a/src/libtracker-sparql-backend/meson.build
+++ b/src/libtracker-sparql-backend/meson.build
@@ -8,6 +8,7 @@ libtracker_sparql = library('tracker-sparql-' + tracker_api_version,
'tracker-backend.vala',
soversion: soversion,
+ version: libversion,
install: true,
install_rpath: tracker_internal_libs_dir,
--
2.17.0

@ -1,39 +0,0 @@
From 4238b0a27a3621f4181d38821a4eaee9f0ac1244 Mon Sep 17 00:00:00 2001
From: Andrea Azzarone <andrea.azzarone@canonical.com>
Date: Fri, 18 Jan 2019 16:14:57 +0000
Subject: [PATCH 3/5] tracker-monitor: Prevent stack smashing
Make sure to use GPOINTER_TO_UINT when using g_hash_table_lookup_extended() to
prevent stack smashing. This will make sure that in the architectures where
sizeof(GFileMonitorEvent) < sizeof(gpointer), g_hash_table_lookup_extended()
will not write more bytes than prev_event_type can hold.
Bug-Upstream: https://gitlab.gnome.org/GNOME/tracker/issues/71
Origin: upstream, commit:63c0a5d4413e53cb76089fda6f56b2d623c5de15
Applied-Upstream: 2.2.0
---
src/libtracker-miner/tracker-monitor.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/libtracker-miner/tracker-monitor.c b/src/libtracker-miner/tracker-monitor.c
index 54cd3e8fb..f2431b646 100644
--- a/src/libtracker-miner/tracker-monitor.c
+++ b/src/libtracker-miner/tracker-monitor.c
@@ -611,10 +611,12 @@ flush_cached_event (TrackerMonitor *monitor,
GFile *file,
gboolean is_directory)
{
- GFileMonitorEvent prev_event_type;
+ gpointer value = NULL;
if (g_hash_table_lookup_extended (monitor->priv->cached_events,
- file, NULL, (gpointer*) &prev_event_type)) {
+ file, NULL, &value)) {
+ GFileMonitorEvent prev_event_type = GPOINTER_TO_UINT (value);
+
g_hash_table_remove (monitor->priv->cached_events, file);
emit_signal_for_event (monitor, prev_event_type,
is_directory, file, NULL);
--
2.17.0

@ -1,49 +0,0 @@
From 77059dd4b98f422c1e474b9ee53cc05dde875cce Mon Sep 17 00:00:00 2001
From: Mart Raudsepp <leio@gentoo.org>
Date: Wed, 13 Feb 2019 20:09:45 +0200
Subject: [PATCH 2/5] libtracker-common: improve test_path_evaluate_name
environment handling
Under some environments $PWD might not point where we expect, so simply
use g_get_current_dir() instead.
g_getenv() is documented to return a pointer that may get overwritten
by subsequent calls to g_getenv, g_setenv of g_unsetenv. As even after
removing the second g_getenv, there's still g_setenv calls, take a copy.
---
tests/libtracker-common/tracker-file-utils-test.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tests/libtracker-common/tracker-file-utils-test.c b/tests/libtracker-common/tracker-file-utils-test.c
index d1ddf3004..71a82a5c8 100644
--- a/tests/libtracker-common/tracker-file-utils-test.c
+++ b/tests/libtracker-common/tracker-file-utils-test.c
@@ -131,14 +131,14 @@ test_path_list_filter_duplicates_with_exceptions ()
static void
test_path_evaluate_name (void)
{
- gchar *result, *expected;
+ gchar *result, *expected, *pwd, *home;
- const gchar *home = g_getenv ("HOME");
- const gchar *pwd = g_getenv ("PWD");
const gchar *test = "/one/two";
gchar *parent_dir;
+ home = g_strdup (g_getenv ("HOME"));
+ pwd = g_get_current_dir ();
g_setenv ("TEST_TRACKER_DIR", test, TRUE);
@@ -216,6 +216,8 @@ test_path_evaluate_name (void)
result = tracker_path_evaluate_name (tracker_test_helpers_get_nonutf8 ());
g_assert_cmpstr (result, ==, tracker_test_helpers_get_nonutf8 ());
+ g_free (home);
+ g_free (pwd);
g_unsetenv ("TEST_TRACKER_DIR");
}
--
2.17.0

@ -1,46 +0,0 @@
From e93ea9167dc4185b6c29b27abdab55b6bcd06c74 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Wed, 1 May 2019 13:38:34 +0200
Subject: [PATCH] g-ir-merge: Avoid recursive includes
Ensure the namespace is not part of the includes. This is a kludge and
shouldn't ever happen, except it does (in continuous, induced by vala).
The next big thing that would happen here is a rewrite of libtracker-sparql
vala bits so we don't need this merging anymore, so I won't put much
thought on it.
---
utils/g-ir-merge/g-ir-merge | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/utils/g-ir-merge/g-ir-merge b/utils/g-ir-merge/g-ir-merge
index ad79c2d29..321032a4a 100755
--- a/utils/g-ir-merge/g-ir-merge
+++ b/utils/g-ir-merge/g-ir-merge
@@ -89,12 +89,12 @@ def parse_inputs(files):
return includes, namespaces, c_includes
-def merge_includes(all_includes):
+def merge_includes(all_includes, namespace):
merged = {}
for element in all_includes:
name = element.get('name')
version = element.get('version')
- if name not in merged:
+ if name not in merged and name != namespace:
merged[name] = element
return list(merged.values())
@@ -153,7 +153,7 @@ def main():
all_includes, all_namespaces, all_c_includes = parse_inputs(args.files)
- includes = merge_includes(all_includes)
+ includes = merge_includes(all_includes, args.namespace)
namespace_contents, identifier_prefixes, symbol_prefixes, shared_libraries \
= merge_namespaces(all_namespaces)
--
2.20.1

@ -1,108 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{5,6,7} )
VALA_MAX_API_VERSION="0.44"
inherit bash-completion-r1 eapi7-ver gnome.org gnome2-utils linux-info meson python-any-r1 systemd vala xdg
DESCRIPTION="A tagging metadata database, search tool and indexer"
HOMEPAGE="https://wiki.gnome.org/Projects/Tracker"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0/2.0"
IUSE="gtk-doc +miners networkmanager stemmer"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
PV_SERIES=$(ver_cut 1-2)
# In 2.2.0 util-linux should only be necessary if glib is older than 2.52 at compile-time
RDEPEND="
>=dev-libs/glib-2.46:2
>=sys-apps/dbus-1.3.2
>=dev-libs/gobject-introspection-1.54:=
>=dev-libs/icu-4.8.1.2:=
>=dev-libs/json-glib-1.0
>=net-libs/libsoup-2.40.1:2.4
>=dev-libs/libxml2-2.7
>=dev-db/sqlite-3.20.0
networkmanager? ( >=net-misc/networkmanager-0.8 )
stemmer? ( dev-libs/snowball-stemmer )
sys-apps/util-linux
"
DEPEND="${RDEPEND}
dev-util/glib-utils
>=dev-util/intltool-0.40.0
$(vala_depend)
gtk-doc? ( >=dev-util/gtk-doc-1.8
app-text/docbook-xml-dtd:4.1.2 )
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
${PYTHON_DEPS}
" # g-ir-merge needs py3; functional tests need py2, so disabled for now due to mixup
# intltool-merge manually called in meson.build in 2.1.7; properly gone by 2.2.0
PDEPEND="miners? ( >=app-misc/tracker-miners-${PV_SERIES} )"
PATCHES=(
"${FILESDIR}"/${PV}-doc-options.patch # https://gitlab.gnome.org/GNOME/tracker/merge_requests/58
"${FILESDIR}"/${PV}-test-fix.patch # https://gitlab.gnome.org/GNOME/tracker/merge_requests/59
"${FILESDIR}"/${PV}-prevent-stack-smashing.patch
"${FILESDIR}"/${PV}-fix-library-symlinks.patch
"${FILESDIR}"/${PV}-vala-0.44-compat.patch # upstream commit e93ea9167dc
)
function inotify_enabled() {
if linux_config_exists; then
if ! linux_chkconfig_present INOTIFY_USER; then
ewarn "You should enable the INOTIFY support in your kernel."
ewarn "Check the 'Inotify support for userland' under the 'File systems'"
ewarn "option. It is marked as CONFIG_INOTIFY_USER in the config"
die 'missing CONFIG_INOTIFY'
fi
else
einfo "Could not check for INOTIFY support in your kernel."
fi
}
pkg_setup() {
linux-info_pkg_setup
inotify_enabled
python-any-r1_pkg_setup
}
src_prepare() {
xdg_src_prepare
vala_src_prepare
}
src_configure() {
local emesonargs=(
-Dfts=true
-Dfunctional_tests=false # python2, but g-ir-merge needs py3; https://gitlab.gnome.org/GNOME/tracker/merge_requests/40
$(meson_use gtk-doc)
-Dman=true
-Dnetwork_manager=$(usex networkmanager yes no)
-Dstemmer=$(usex stemmer yes no)
-Dunicode_support=icu
-Dbash_completion="$(get_bashcompdir)"
-Dsystemd_user_services="$(systemd_get_userunitdir)"
)
meson_src_configure
}
src_test() {
dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

Binary file not shown.

@ -76,7 +76,7 @@ pkg_postinst() {
cat >> "${EROOT}"/etc/sgml/sgml-docbook.cat <<-EOF
CATALOG "${EPREFIX}/etc/sgml/dsssl-docbook-stylesheets.cat"
EOF
eend
eend ${?}
fi
sgml-catalog-r1_pkg_postinst
}
@ -86,7 +86,7 @@ pkg_postrm() {
ebegin "Removing dsssl-docbook-stylesheets.cat from /etc/sgml/sgml-docbook.cat"
sed -i -e '/dsssl-docbook-stylesheets/d' \
"${EROOT}"/etc/sgml/sgml-docbook.cat
eend
eend ${?}
if [[ ! -s ${EROOT}/etc/sgml/sgml-docbook.cat ]]; then
rm -f "${EROOT}"/etc/sgml/sgml-docbook.cat
fi

@ -136,7 +136,7 @@ pkg_postinst() {
cat >> "${EROOT}"/etc/sgml/sgml-docbook.cat <<-EOF
CATALOG "${EPREFIX}/etc/sgml/${P}.cat"
EOF
eend
eend ${?}
fi
sgml-catalog-r1_pkg_postinst
}
@ -146,7 +146,7 @@ pkg_postrm() {
ebegin "Removing ${P}.cat from /etc/sgml/sgml-docbook.cat"
sed -i -e '/${P}/d' \
"${EROOT}"/etc/sgml/sgml-docbook.cat
eend
eend ${?}
if [[ ! -s ${EROOT}/etc/sgml/sgml-docbook.cat ]]; then
rm -f "${EROOT}"/etc/sgml/sgml-docbook.cat
fi

@ -73,7 +73,7 @@ pkg_postinst() {
cat >> "${EROOT}/etc/sgml/sgml-docbook.cat" <<-EOF
CATALOG "${EPREFIX}/etc/sgml/sgml-ent.cat"
EOF
eend
eend ${?}
fi
sgml-catalog-r1_pkg_postinst
@ -84,7 +84,7 @@ pkg_postrm() {
ebegin "Removing sgml-ent.cat from /etc/sgml/sgml-docbook.cat"
sed -i -e '/sgml-ent\.cat/d' \
"${EROOT}"/etc/sgml/sgml-docbook.cat
eend
eend ${?}
if [[ ! -s ${EROOT}/etc/sgml/sgml-docbook.cat ]]; then
rm -f "${EROOT}"/etc/sgml/sgml-docbook.cat
fi

@ -1 +1,2 @@
DIST u2ps-1.1.tar.gz 110892 BLAKE2B af0dd92d47a8530e8434983132c3bf0f0e6b88ff14cc9d7e73e95c842b4c1dad1b900d91c22a34c8f94373e62382841329e5b2e6b3aa9b51f6e5d6d6d164b596 SHA512 44a470268aafe7b90c17e14a15864924d0ba78b0c8707b9bf076e13b262a9d43d71b6527c5a995f82741e52fe2d07eac6a2626921e7465127a57405d4b5babd3
DIST u2ps-full-0.8.4.tar.gz 5496922 BLAKE2B 416a206b768328cf1a268b4706578610e6bed45ee7475d52de515e112e51bbfcc777b2f21603826d52da42b9c6a3bd10dd4e95920e77c14e957ad4a6d0888984 SHA512 31e5c22163a934a3e153ec95e2e5dd94ce79f71a72278a386a6446b1dd053161c896344c51b696c37d838eb3f06fa6fe1db6b5daa55812a06467b2525266363e

@ -0,0 +1,14 @@
diff -ruN u2ps-1.1.orig/Makefile u2ps-1.1/Makefile
--- u2ps-1.1.orig/Makefile 2019-02-17 20:01:48.000000000 +0100
+++ u2ps-1.1/Makefile 2019-12-22 20:43:17.667058496 +0100
@@ -18,8 +18,8 @@
install:
install -dm 0755 $(DESTDIR)$(bindir)
- install -sm 0755 u2ps $(DESTDIR)$(bindir)/u2ps
- install -sm 0755 psfrem $(DESTDIR)$(bindir)/psfrem
+ install -m 0755 u2ps $(DESTDIR)$(bindir)/u2ps
+ install -m 0755 psfrem $(DESTDIR)$(bindir)/psfrem
install -dm 0755 $(DESTDIR)$(basedir)
install -dm 0755 $(DESTDIR)$(basedir)/ProcSet
install -m 0644 res/*.ps $(DESTDIR)$(basedir)

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/project/${PN}.berlios/${PN}-full-${PV}.tar.gz"
LICENSE="GPL-3 GPL-3-with-font-exception free-noncomm"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
IUSE=""
DEPEND="

@ -0,0 +1,29 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A text to PostScript converter like a2ps, but supports UTF-8"
HOMEPAGE="https://github.com/arsv/u2ps"
SRC_URI="https://github.com/arsv/${PN}/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="app-text/ghostscript-gpl"
RDEPEND="${DEPEND}"
BDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${P}-nostrip.patch" )
src_configure() {
# this isnt autoconf, so econf fails...
./configure \
--prefix=/usr \
--datadir=/usr/share \
--mandir=/usr/share/man \
--with-gs=/usr/bin/gs \
|| die 'configure failed'
}

Binary file not shown.

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

Loading…
Cancel
Save