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,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,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,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
|
||||
}
|
@ -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'"
|
||||
}
|
@ -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"
|
||||
}
|
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
|
||||
}
|
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
|
||||
}
|
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
|
||||
|
@ -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
|
||||
|
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}]"
|
@ -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
|
||||
}
|
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.
@ -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)
|
@ -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…
Reference in new issue