parent
64640565d0
commit
02b39f88b8
@ -1,4 +1,4 @@
|
||||
DIST httpd-2.2.31.tar.bz2 5610489 SHA256 f32f9d19f535dac63b06cb55dfc023b40dcd28196b785f79f9346779e22f26ac SHA512 5aa47d4b76f692bbd8b309135ff99152df98cf69b505b9daf3f13f7f2a31443eaf4995161adfbc47a133b4d0e091fda2d95fc6b87a956f0ada18d7466ee28e74 WHIRLPOOL a2e3e53c51719cb6f7e641b41788cd89ce7b4d2ea105b403bfa3b3d4479b69c5604228269062f66722594e105e91121d05b1c9f27ca7dc4ecfcf339da8b8375c
|
||||
DIST httpd-2.2.32.tar.bz2 5777509 SHA256 527bc9d8092d784daf08910dd6c9d2681d6a2325055b2cc69806a0a7df7ed650 SHA512 b1802579f4fc950705ddcf0a24f502ffadbd91d5693fdd3b290ac7ca40122f8fa48132ad1055afae9b841dd55e8bb343239be07ca431b0f60ea081f5c2fad2c3 WHIRLPOOL ee2f1cb74b77f4b3eae7d58bb9bf2728d95a6e215a460d85abf60e220b816cb0e22080169167e3610872e3165951f1cc9ac753f02e46dc75e047a98a1b7384a5
|
||||
DIST httpd-2.4.25.tar.bz2 6398218 SHA256 f87ec2df1c9fee3e6bfde3c8b855a3ddb7ca1ab20ca877bd0e2b6bf3f05c80b2 SHA512 6ba4ce1dcef71416cf1c0de2468c002767b5637a75744daf5beb0edd045749a751b3826c4132f594c48e4b33ca8e1b25ebfb63ac4c8b759ca066a89d3261fb22 WHIRLPOOL ccb783875632241e8acf7b43c59163c25b13357b307416abaa3adb0ac868fc547b3cff9585b347e98a8663ec26bea3edad4d42604e6ae86b0db5f769fc11d072
|
||||
DIST httpd-2.4.26.tar.bz2 6524642 SHA256 a07eb52fafc879e0149d31882f7da63173e72df4478db4dc69f7a775b663d387 SHA512 4b32f01f17c912011f24bf3991430d474be13836af41b26c072e3c1eab2b45a3c52851eb00423e046c59fc16e1f501d64daaee3f2469b2745857ec1982966c9a WHIRLPOOL ff70140efd98c53e741292949e980943e86c82cd7d4eda34a38b185a960fd9667c67cdb21abd346f492e746d503a90d5ee3b6492940b5f289716ecdbf57f628f
|
||||
DIST httpd-2.4.27.tar.bz2 6527394 SHA256 71fcc128238a690515bd8174d5330a5309161ef314a326ae45c7c15ed139c13a SHA512 7e7e8070715b74cb6890096a74e194f4c6a49c14bda685b1ad832e84312f1ac4316ea03a430e679502bfd8e1853aefa544ee002a20d0f7e994b9a590c74bc42c WHIRLPOOL 35aeaa01b2bf5772ad21d1011e619befd75fdaade5aa0ca7c61367e7b7a66af28dccf8729a53418f2598199721b68aac7d8c575797ed218150d00af4e8dd4dba
|
||||
|
@ -0,0 +1,105 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
inherit eutils systemd unpacker user
|
||||
|
||||
DESCRIPTION="general puppet client utils along with mcollective hiera and facter"
|
||||
HOMEPAGE="https://puppetlabs.com/"
|
||||
SRC_BASE="http://apt.puppetlabs.com/pool/xenial/puppet5/${PN:0:1}/${PN}/${PN}_${PV}-1xenial"
|
||||
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/mcollective
|
||||
!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-6.0
|
||||
<sys-libs/readline-7.0
|
||||
selinux? (
|
||||
sys-libs/libselinux[ruby]
|
||||
sec-policy/selinux-puppet
|
||||
)
|
||||
puppetdb? ( >=dev-ruby/puppetdb-termini-3.1.0 )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
QA_PREBUILT="
|
||||
/opt/puppetlabs/puppet
|
||||
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/2.1.0/x86_64-linux/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/mathn/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/io/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/dl/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/racc/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/enc/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/json/ext/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/rbconfig/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/digest/*
|
||||
/opt/puppetlabs/puppet/lib/ruby/2.1.0/x86_64-linux/*
|
||||
/opt/puppetlabs/puppet/lib/engines/*
|
||||
/opt/puppetlabs/puppet/lib/virt-what/*
|
||||
/opt/puppetlabs/puppet/lib/*
|
||||
/opt/puppetlabs/puppet/bin/*"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup puppet
|
||||
enewuser puppet -1 -1 /var/run/puppet puppet
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# conf.d
|
||||
doconfd etc/default/puppet
|
||||
doconfd etc/default/mcollective
|
||||
doconfd etc/default/pxp-agent
|
||||
# logrotate.d
|
||||
insinto /etc/logrotate.d
|
||||
doins etc/logrotate.d/mcollective
|
||||
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
|
||||
newinitd "${FILESDIR}/mcollective.initd" mcollective
|
||||
systemd_dounit lib/systemd/system/puppet.service
|
||||
systemd_dounit lib/systemd/system/mcollective.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/mco /usr/bin/mco
|
||||
dosym /opt/puppetlabs/bin/puppet /usr/bin/puppet
|
||||
dosym /opt/puppetlabs/puppet/bin/mcollectived /usr/sbin/mcollectived
|
||||
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
|
||||
dosym /opt/puppetlabs/puppet/bin/extlookup2hiera /usr/bin/extlookup2hiera
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
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.7.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" 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,4 @@
|
||||
DIST puppetserver-2.3.2.tar.gz 33673099 SHA256 81e92875c07f73e636143405804f1214f31f0f840d521f03289d93bd7b2a0899 SHA512 3ab750128bd11d1e3d9815a1c9907fc81b673281ec21def56318557c134635bca0418ed445d090da6257da9dd64e65a9c2b9e82257868d5a895459c7458cc731 WHIRLPOOL 55b679e1eed246ad10bea4f973ca51f65b50b2bf112a6d90d8bda600a1d0e4c09abf74756851a4844cf68705d1b94b9f80f688f1523813d9fe14fbc4424d14e0
|
||||
DIST puppetserver-2.4.0.tar.gz 33822659 SHA256 81d574f7483760bd70cafc079486fe14d243137612f0c130069d94ba7d4fded4 SHA512 c9afab58bb2f432874d302cb63fb213ead561e2bcecc44f776be49dc09eb86deda3019eae1bddb7369bb7bdc1a3d82f47f6053d526b2b28b189358a2bdded852 WHIRLPOOL 079186ecd239a1be1dde847b23a5fe1bc4dedc543b510f2197cd776bc59f943166d3f403727e1cc0ac0232a8519a36944cb4e6ec6bb6bfdc0e822405c4b7fd96
|
||||
DIST puppetserver-2.7.1.tar.gz 33989388 SHA256 9e2ad86fedb719e824d42055383dbbbb4f66c621e21c4c285e70b5c1dbc158c0 SHA512 91fd1ee7bf9726e3d2fca9a81227756076b1945b3ad6fd63bf5be85957cdda81601cd707af2533c53fe182fe6945ec48c75b0f7cfef5a64e81643adf633df778 WHIRLPOOL 3661d09f04e85db94320acf6afc842557bde66d969a7e3164edcc9f74e4f1f8a5849b7a766fcf98339d47652d6ae4cda1d766e5a09e5a54d062b27306863aa1d
|
||||
DIST puppetserver-5.0.0.tar.gz 66380485 SHA256 b1b62c31d31a69cf1912d6b785f53cbff219a98e0e7300b7f50114694b06ccbf SHA512 1dd7b332871abf12981a7ef33ee92a813275c86ca0cd72a24c3853679c3e93aaf264b76bf4108bf62c04021889e0b7ee0bb46963bd1f3df1f8e67c48e41698e8 WHIRLPOOL 89d15509f3afc96ccdae5370346c101dc48daa68dddbfc98b51151d0e706945858b4485d7358710223c43760f317b5aa6a27b247db3fa02d80077694b0ee4a9c
|
||||
|
@ -0,0 +1,127 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit multilib systemd tmpfiles 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.7.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/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' ext/redhat/puppetserver.service || die
|
||||
sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/g' ext/bin/puppetserver || die
|
||||
sed -i 's/sysconfig\/puppetserver/systemd\/system\/puppetserver\.service\.d\/gentoo\.conf/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
|
||||
doins jruby-9k.jar
|
||||
doins jruby-1_7.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/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
|
||||
# init type tasks
|
||||
newconfd ext/default puppetserver
|
||||
newinitd "${FILESDIR}/puppetserver.initd" puppetserver
|
||||
# systemd type things
|
||||
insinto /etc/systemd/system/puppetserver.service.d/
|
||||
newins ext/default gentoo.conf
|
||||
systemd_dounit ext/redhat/puppetserver.service
|
||||
# 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
|
||||
newins ext/build-scripts/gem-list.txt puppetserver-gem-list.txt
|
||||
newtmpfiles 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 "while read LINE"
|
||||
elog "do"
|
||||
elog " java -cp puppet-server-release.jar:jruby-1_7.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install $(echo $LINE |awk '{print $1}') --version $(echo $LINE |awk '{print $2}')"
|
||||
elog "done < /opt/puppetlabs/server/data/puppetserver-gem-list.txt"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST unrar-5.5.5.tar.gz 220377 SHA256 a4553839cb2f025d0d9c5633816a83a723e3938209f17620c8c15da06ed061ef SHA512 b0979641737e3ef18f6708cc19e335c312ac5c6e2a13206d5fed9a5564ac99042c45a842da95163e53c6415131a39a91e901aeb186016da2e3781164679a07ff WHIRLPOOL e22399e866fabeb6f0c1617ca6b8852cf1bd406c0e95e5480692fe33bed9a130dd678f93dde6401015928437b99949865a80b21774788fdb1c7a12e3175560f4
|
||||
DIST unrar-5.5.6.tar.gz 221099 SHA256 68a9d8f40c709b883bb15b21a9811907e56a07411d90aeaa992622ed9cf128c0 SHA512 591575ba573e7f1b658041595b8439c7f1f60d354bc2b0a6aa9d3be6340d4892b2752e8ce94a928cf0270a0e1c491ce3ee59b3c36167174c53cfd657b9c85837 WHIRLPOOL 5c43856c418fffccc1fe1202441b628a1491dc94873643044c9791947ebfeb21e281231c6ccacaa80df512d6f62cb9d0d1f555d53c1b7e2cae280e65ad8558d0
|
||||
DIST unrarsrc-5.4.5.tar.gz 226320 SHA256 e470c584332422893fb52e049f2cbd99e24dc6c6da971008b4e2ae4284f8796c SHA512 ba2abf11638b5ee026cb9e0c3576c94376a01ab3c5411b9bd0e8116d64879c81e76df16f98d850f0f0f5387dda046f38be64ddfb4fe57431cc4d97066d6e3c2f WHIRLPOOL c8e035ec183f41d8faf8345b49d2a4d20e21f9c6e27f14d7794389942df4954cd66ab4a5be2fdff6d369b514ae99d5d015f35a36143d686563b2a8efdfc77dce
|
||||
|
@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs
|
||||
|
||||
MY_PN=${PN}src
|
||||
|
||||
DESCRIPTION="Uncompress rar files"
|
||||
HOMEPAGE="http://www.rarlab.com/rar_add.htm"
|
||||
SRC_URI="http://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="unRAR"
|
||||
# subslot = soname version
|
||||
SLOT="0/5"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="!<=app-arch/unrar-gpl-0.0.1_p20080417"
|
||||
|
||||
S=${WORKDIR}/unrar
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-5.5.5-build.patch
|
||||
epatch "${FILESDIR}"/${PN}-5.5.5-honor-flags.patch
|
||||
epatch_user
|
||||
|
||||
local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
|
||||
else
|
||||
sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
|
||||
fi
|
||||
sed -i "${sed_args[@]}" makefile || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
mkdir -p build-{lib,bin}
|
||||
printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
|
||||
cp build-{lib,bin}/Makefile || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
unrar_make() {
|
||||
emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
|
||||
}
|
||||
|
||||
unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
|
||||
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
|
||||
ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
|
||||
|
||||
unrar_make -C build-bin
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin build-bin/unrar
|
||||
dodoc readme.txt
|
||||
|
||||
dolib.so build-lib/libunrar*
|
||||
|
||||
insinto /usr/include/libunrar${PV%.*.*}
|
||||
doins *.hpp
|
||||
dosym libunrar${PV%.*.*} /usr/include/libunrar
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
DIST burp-1.4.40.tar.bz2 712937 SHA256 4108eb45e14740de990d918a2adbb661d88f90de48d6e2e3a6b54fd12b16fa5e SHA512 b44ba3a63d3b75f6fee55bbfef70ac07fa87e78ddb22a398e31a86670dfa3f2db1c9dbc58de3d0038cdc409bd5ae52c8e901cb26975fd7dbe0f773c4841af10c WHIRLPOOL 636120b3fa2d4a3217567177f3c8abbdeb562d298043fd6bd685842287964d835f2a369e36db0bc32ce908ce8f96e4e2677569e6ca4bac80f8d9958a2364a62d
|
||||
DIST burp-2.0.54.tar.gz 558845 SHA256 26130da9791c57b1e194973ef1ea292dec57468bf4291a4d0eae880d192c1fd1 SHA512 dccc4d3679dd759028cd6b71d09ae4e49a511e5d94b4df2f112ad974abb507bbc8fffaf63ef85c847b0f9363b20a9e817179ab556c5a788acacb7a25e7600fa4 WHIRLPOOL 60e9bec56c08bc7ebc4700824eab34cf8cefdc5871140471eec5e05dbff4f4b83c2f7c6d5554d33dbb918f46e2c60159ba99a5da599938acd40b9d5b7b582978
|
||||
DIST burp-2.1.10.tar.gz 574716 SHA256 857492493fe8ba21c54dc77e36bdedd5009edb7be66e19c533c6c0d437927d99 SHA512 ebb9901c4f5b281f05fe96499067a3e85edb7dab3132a7e00b14f10a5bb2ce51ccb32ce466176ca9b2ffcba70c7bc168b258df2494bbc6e984391f1c3fd8803a WHIRLPOOL ffc01c898033cc112bf2a01bfc2b2871152f13cbeac4a8f8b96f4432476e75ccb170f36e8af7ecee7bce05601e87959803a8b1c96cfb7e717c7648d5399ff5e4
|
||||
DIST burp-2.1.8.tar.gz 568051 SHA256 d711a40838d5d5ace844cd68f7667c2dbf3995c81217837d4863941f172a9569 SHA512 44073b9e4ba78e50766bf7c1e6c28ac3b3f589e450d58be07f11c7a479f53ee4fa48c4b191cd693ce674253a8fc1b1b440a64644c31deb85b9f8eaabdf4073df WHIRLPOOL 365babbdbe62e35551605fab301f9c39206b5b9f941e6fbdc1e4198e06cea6458380fbb82b0377a9c316f24c25166a526f8bb549c1210f590054a615e80bc283
|
||||
DIST burp-2.1.12.tar.gz 576544 SHA256 78ebd3f9a37daf935f474b1e297f716172e44db45f6641966eca2b0fa3aafce1 SHA512 85715593178bc77640b246ed5d10278a16ff4151274391c88981366d284c5a4315c542912a0d590162418e7556450ebe523b97ff2f5123413d1ce01c5b140a45 WHIRLPOOL bed5f0fb92b42cd8de1425395dc7f774747061d7ef873eb2d59b2e31815c978c91eb9e25fd8ac7c5bdaa167377760f101fea24d16cb0c3c5ba569481b5e111fe
|
||||
|
@ -0,0 +1,114 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools systemd tmpfiles user versionator
|
||||
|
||||
DESCRIPTION="Network backup and restore client and server for Unix and Windows"
|
||||
HOMEPAGE="http://burp.grke.org/"
|
||||
SRC_URI="https://github.com/grke/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="acl ipv6 libressl test xattr"
|
||||
|
||||
CDEPEND="dev-libs/uthash
|
||||
net-libs/librsync
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/zlib
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
acl? ( sys-apps/acl )
|
||||
xattr? ( sys-apps/attr )"
|
||||
DEPEND="${CDEPEND}
|
||||
virtual/pkgconfig
|
||||
test? ( dev-libs/check )"
|
||||
RDEPEND="${CDEPEND}
|
||||
virtual/logger"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.0.54-ncurses_pkg-config.patch
|
||||
"${FILESDIR}"/${PN}-2.0.54-no_mkdir_run.patch
|
||||
"${FILESDIR}"/${PN}-2.0.54-protocol1_by_default.patch
|
||||
"${FILESDIR}"/${PN}-2.0.54-server_user.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup "${PN}"
|
||||
enewuser "${PN}" -1 "" "" "${PN}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--localstatedir=/var
|
||||
--sysconfdir=/etc/burp
|
||||
--enable-largefile
|
||||
$(use_enable acl)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable xattr)
|
||||
)
|
||||
# --runstatedir option will only work from autoconf-2.70 onwards
|
||||
runstatedir='/run/burp' \
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
fowners -R root:${PN} /var/spool/burp
|
||||
fperms 0770 /var/spool/burp
|
||||
|
||||
emake DESTDIR="${D}" install-configs
|
||||
fowners -R root:${PN} /etc/burp
|
||||
fperms 0775 /etc/burp
|
||||
fperms 0640 /etc/burp/burp-server.conf
|
||||
fperms 0750 /etc/burp/clientconfdir
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}2.initd ${PN}
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
|
||||
newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process ${PN}.conf
|
||||
|
||||
elog "Burp ebuilds now support the autoupgrade mechanism in both"
|
||||
elog "client and server mode. In both cases it is disabled by"
|
||||
elog "default. You almost certainly do NOT want to enable it in"
|
||||
elog "client mode because upgrades obtained this way will not be"
|
||||
elog "managed by Portage."
|
||||
|
||||
if [[ ! -e /etc/burp/CA/index.txt ]]; then
|
||||
elog ""
|
||||
elog "At first run burp server will generate DH parameters and SSL"
|
||||
elog "certificates. You should adjust configuration before."
|
||||
elog "Server configuration is located at"
|
||||
elog ""
|
||||
elog " /etc/burp/burp-server.conf"
|
||||
elog ""
|
||||
fi
|
||||
|
||||
# According to PMS this can be a space-separated list of version
|
||||
# numbers, even though in practice it is typically just one.
|
||||
local oldver
|
||||
for oldver in ${REPLACING_VERSIONS}; do
|
||||
if [[ $(get_major_version ${oldver}) -lt 2 ]]; then
|
||||
ewarn "Starting with version 2.0.54 we no longer patch bedup to use"
|
||||
ewarn "the server config file by default. If you use bedup, please"
|
||||
ewarn "update your scripts to invoke it as"
|
||||
ewarn ""
|
||||
ewarn " bedup -c /etc/burp/burp-server.conf"
|
||||
ewarn ""
|
||||
ewarn "Otherwise deduplication will not work!"
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1,3 +1,4 @@
|
||||
+
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
dnl require a recent autoconf
|
||||
@@ -276,21 +277,22 @@
|
||||
dnl -----------------------------------------------------------
|
||||
|
||||
have_ncurses=no
|
||||
-AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h],
|
||||
+m4_ifdef([PKG_CHECK_MODULES],
|
||||
[
|
||||
- AC_CHECK_LIB([ncurses], [curs_set],
|
||||
+ PKG_CHECK_MODULES([ncurses], [ncurses],
|
||||
[
|
||||
- NCURSES_LIBS="-lncurses"
|
||||
- have_ncurses=yes
|
||||
- AC_DEFINE([HAVE_NCURSES], [1], [Set to 1 if we have ncurses])
|
||||
- ]
|
||||
+ have_ncurses=yes
|
||||
+ NCURSES_LIBS="$ncurses_LIBS"
|
||||
+ CFLAGS="$CFLAGS $ncurses_CFLAGS -DHAVE_NCURSES_H=1"
|
||||
+ AC_DEFINE([HAVE_NCURSES], [1], [Set to 1 if we have ncurses])
|
||||
+ ],
|
||||
+ []
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
AC_SUBST([NCURSES_LIBS])
|
||||
|
||||
-
|
||||
dnl -----------------------------------------------------------
|
||||
dnl Check whether libcheck ('Check') is available
|
||||
dnl -----------------------------------------------------------
|
@ -1 +0,0 @@
|
||||
DIST fb2edit-0.0.9.tar.gz 242568 SHA256 6d64fe1597911170d6d6d59d4b36d406a9389a37c2ef5c68051176bf6f45f181 SHA512 a51eb9e7c7f70d55dc1eb06f4f7e03a031ce229570ee9620f6299cac6c2b435c8bcd702def7a50783055c066227d77b5c235f2bba231b328831b4666cc0f61b9 WHIRLPOOL 2f4ab29352318211c36fe1bfd739d69633f31ec0ce0c0a2edf4dac7965896074900f8c5b840943d900a5ff12d6cc3a819a19f7ea77201465446f17dcc9aba8cb
|
@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="a WYSIWYG FictionBook (fb2) editor"
|
||||
HOMEPAGE="http://fb2edit.lintest.ru/"
|
||||
SRC_URI="https://github.com/lintest/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
DEPEND="dev-libs/libxml2
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
dev-qt/qtwebkit:4
|
||||
dev-qt/qtxmlpatterns:4"
|
||||
RDEPEND="${DEPEND}
|
||||
x11-themes/hicolor-icon-theme"
|
||||
|
||||
DOCS=( AUTHORS README )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-fix-compiler-warnings.patch" )
|
||||
|
||||
src_prepare() {
|
||||
# drop -g from CFLAGS
|
||||
sed -i -e '/^add_definitions(-W/s/-g//' CMakeLists.txt || die 'sed failed'
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
@ -1,101 +0,0 @@
|
||||
commit 5a378858e83e95f88ffec5e14ae1fd8157101ed0
|
||||
Author: Kandrashin Denis <mail@lintest.ru>
|
||||
Date: Fri Jul 18 23:03:05 2014 +0400
|
||||
|
||||
Remove compiler warning
|
||||
|
||||
diff --git a/source/fb2main.cpp b/source/fb2main.cpp
|
||||
index 50c5a80..504ccd8 100644
|
||||
--- a/source/fb2main.cpp
|
||||
+++ b/source/fb2main.cpp
|
||||
@@ -27,6 +27,7 @@ FbMainWindow::FbMainWindow(const QString &filename, ViewMode mode)
|
||||
, isSwitched(false)
|
||||
, isUntitled(true)
|
||||
{
|
||||
+ Q_UNUSED(mode);
|
||||
connect(qApp, SIGNAL(logMessage(QtMsgType, QString)), SLOT(logMessage(QtMsgType, QString)));
|
||||
|
||||
setUnifiedTitleAndToolBarOnMac(true);
|
||||
@@ -50,16 +51,22 @@ FbMainWindow::FbMainWindow(const QString &filename, ViewMode mode)
|
||||
|
||||
void FbMainWindow::warning(int row, int col, const QString &msg)
|
||||
{
|
||||
+ Q_UNUSED(row);
|
||||
+ Q_UNUSED(col);
|
||||
logMessage(QtWarningMsg, msg.simplified());
|
||||
}
|
||||
|
||||
void FbMainWindow::error(int row, int col, const QString &msg)
|
||||
{
|
||||
+ Q_UNUSED(row);
|
||||
+ Q_UNUSED(col);
|
||||
logMessage(QtCriticalMsg, msg.simplified());
|
||||
}
|
||||
|
||||
void FbMainWindow::fatal(int row, int col, const QString &msg)
|
||||
{
|
||||
+ Q_UNUSED(row);
|
||||
+ Q_UNUSED(col);
|
||||
logMessage(QtFatalMsg, msg.simplified());
|
||||
}
|
||||
|
||||
@@ -164,6 +171,7 @@ void FbMainWindow::createActions()
|
||||
FbTextEdit *text = mainDock->text();
|
||||
FbHeadEdit *head = mainDock->head();
|
||||
FbCodeEdit *code = mainDock->code();
|
||||
+ Q_UNUSED(head)
|
||||
|
||||
menu = menuBar()->addMenu(tr("&File"));
|
||||
tool = addToolBar(tr("File"));
|
||||
diff --git a/source/fb2text.cpp b/source/fb2text.cpp
|
||||
index 0ea146f..aa2d276 100644
|
||||
--- a/source/fb2text.cpp
|
||||
+++ b/source/fb2text.cpp
|
||||
@@ -37,14 +37,14 @@ FbTextAction::FbTextAction(const QIcon &icon, const QString &text, QWebPage::Web
|
||||
{
|
||||
}
|
||||
|
||||
-QAction * FbTextAction::action(QWebPage::WebAction action)
|
||||
+QAction * FbTextAction::action()
|
||||
{
|
||||
return m_parent->pageAction(m_action);
|
||||
}
|
||||
|
||||
void FbTextAction::updateAction()
|
||||
{
|
||||
- if (QAction * act = action(m_action)) {
|
||||
+ if (QAction * act = action()) {
|
||||
if (isCheckable()) setChecked(act->isChecked());
|
||||
setEnabled(act->isEnabled());
|
||||
}
|
||||
@@ -52,7 +52,7 @@ void FbTextAction::updateAction()
|
||||
|
||||
void FbTextAction::connectAction()
|
||||
{
|
||||
- if (QAction * act = action(m_action)) {
|
||||
+ if (QAction * act = action()) {
|
||||
connect(this, SIGNAL(triggered(bool)), act, SIGNAL(triggered(bool)));
|
||||
connect(act, SIGNAL(changed()), this, SLOT(updateAction()));
|
||||
if (isCheckable()) setChecked(act->isChecked());
|
||||
@@ -65,7 +65,7 @@ void FbTextAction::connectAction()
|
||||
|
||||
void FbTextAction::disconnectAction()
|
||||
{
|
||||
- QAction * act = action(m_action);
|
||||
+ QAction * act = action();
|
||||
disconnect(act, 0, this, 0);
|
||||
disconnect(this, 0, act, 0);
|
||||
}
|
||||
diff --git a/source/fb2text.hpp b/source/fb2text.hpp
|
||||
index c1d1cb4..41f8a6c 100644
|
||||
--- a/source/fb2text.hpp
|
||||
+++ b/source/fb2text.hpp
|
||||
@@ -169,7 +169,7 @@ private slots:
|
||||
void updateAction();
|
||||
|
||||
private:
|
||||
- QAction * action(QWebPage::WebAction action);
|
||||
+ QAction * action();
|
||||
|
||||
private:
|
||||
QWebPage::WebAction m_action;
|
@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>pinkbyte@gentoo.org</email>
|
||||
<name>Sergey Popov</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<maintainer>
|
||||
<email>mail@lintest.ru</email>
|
||||
<name>Denis Kandrashin</name>
|
||||
</maintainer>
|
||||
<remote-id type="github">lintest/fb2edit</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,8 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<maintainer type="person">
|
||||
<email>bman@gentoo.org</email>
|
||||
<name>Aaron Bauman</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">vpcs</remote-id>
|
||||
<remote-id type="sourceforge">gns-3</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -0,0 +1,617 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
themes? ( staging )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? (
|
||||
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||
)
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
themes? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
x11-libs/cairo[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
)
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use staging || use d3d9; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use staging; then
|
||||
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
|
||||
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
|
||||
|
||||
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
|
||||
einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
if use d3d9; then
|
||||
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
|
||||
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $? || die "Failed to apply Wine-Staging patches"
|
||||
fi
|
||||
if use d3d9; then
|
||||
if use staging; then
|
||||
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
|
||||
else
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
fi
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with themes gtk3)
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine register --staging ${P} || die
|
||||
fi
|
||||
if use d3d9; then
|
||||
eselect wine register --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine deregister --staging ${P} || die
|
||||
fi
|
||||
if use d3d9; then
|
||||
eselect wine deregister --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,617 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
themes? ( staging )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? (
|
||||
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||
)
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
themes? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
x11-libs/cairo[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
)
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use staging || use d3d9; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use staging; then
|
||||
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
|
||||
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
|
||||
|
||||
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
|
||||
einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
if use d3d9; then
|
||||
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
|
||||
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $? || die "Failed to apply Wine-Staging patches"
|
||||
fi
|
||||
if use d3d9; then
|
||||
if use staging; then
|
||||
PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
|
||||
else
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
fi
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with themes gtk3)
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine register --staging ${P} || die
|
||||
fi
|
||||
if use d3d9; then
|
||||
eselect wine register --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine deregister --staging ${P} || die
|
||||
fi
|
||||
if use d3d9; then
|
||||
eselect wine deregister --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,551 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? (
|
||||
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||
)
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use d3d9; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use d3d9; then
|
||||
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
|
||||
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use d3d9; then
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use d3d9; then
|
||||
eselect wine register --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_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() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,551 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
D3D9_P="wine-d3d9-${PV}"
|
||||
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
d3d9? (
|
||||
media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||
)
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use d3d9; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use d3d9; then
|
||||
git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
|
||||
git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use d3d9; then
|
||||
PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
|
||||
PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use d3d9; then
|
||||
eselect wine register --d3d9 ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_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() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,586 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
themes? ( staging )
|
||||
vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
themes? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
x11-libs/cairo[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
)
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use staging; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environmental variables WINE_COMMIT, and STAGING_COMMIT."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
if use staging; then
|
||||
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
|
||||
git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
|
||||
|
||||
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
|
||||
einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $? || die "Failed to apply Wine-Staging patches"
|
||||
fi
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with themes gtk3)
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine register --staging ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine deregister --staging ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,509 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,509 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(get_version_component_range 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
WDC_V="20150204"
|
||||
WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
abi_x86_32? (
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-baselibs-20140508-r14
|
||||
!app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-db-20140508-r3
|
||||
!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-medialibs-20140508-r6
|
||||
!app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-opengl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-sdl-20140508-r1
|
||||
!app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-soundlibs-20140508
|
||||
!app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
|
||||
!<app-emulation/emul-linux-x86-xlibs-20140508
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:4.7.0 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-proto/xineramaproto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "WINE_COMMIT"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch
|
||||
)
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/icons/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,} # 404331
|
||||
dosym "${MY_PREFIX}"/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# Failglob for bin and man loops
|
||||
local glob_state=$(shopt -p failglob)
|
||||
shopt -s failglob
|
||||
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${D%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
local l
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
|
||||
done
|
||||
|
||||
eval "${glob_state}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools eutils
|
||||
|
||||
DESCRIPTION="A lightweight and flexible command-line JSON processor"
|
||||
HOMEPAGE="https://stedolan.github.com/jq/"
|
||||
SRC_URI="https://github.com/stedolan/jq/releases/download/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT CC-BY-3.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~x86 ~amd64-linux ~x64-macos"
|
||||
IUSE="oniguruma static-libs test +valgrind"
|
||||
|
||||
DEPEND="
|
||||
>=sys-devel/bison-3.0
|
||||
sys-devel/flex
|
||||
oniguruma? ( dev-libs/oniguruma[static-libs?] )
|
||||
test? ( valgrind? ( dev-util/valgrind ) )
|
||||
"
|
||||
RDEPEND="
|
||||
!static-libs? (
|
||||
oniguruma? ( dev-libs/oniguruma[static-libs?] )
|
||||
)
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5-dynamic-link.patch
|
||||
"${FILESDIR}"/${PN}-1.5-remove-automagic-dep-on-oniguruma.patch
|
||||
"${FILESDIR}"/${PN}-1.5-heap_buffer_overflow_in_tokenadd.patch
|
||||
)
|
||||
|
||||
sed -i '/^dist_doc_DATA/d' Makefile.am || die
|
||||
sed -i -r "s:(m4_define\(\[jq_version\],) .+\):\1 \[${PV}\]):" \
|
||||
configure.ac || die
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local econfargs=(
|
||||
# don't try to rebuild docs
|
||||
--disable-docs
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable valgrind)
|
||||
$(use_with oniguruma)
|
||||
)
|
||||
econf "${econfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( AUTHORS README )
|
||||
default
|
||||
|
||||
use static-libs || prune_libtool_files
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
DIST gnumeric-1.12.29.tar.xz 18738564 SHA256 5a35c56679027e5d0e61f67358c2feee458dc0f62494e32281c9a1a579ba7fb5 SHA512 342e0349e251240aaa916fde6eb69ee7588070d979434211b8fd54c6065db33f7148c1c40a954736ef9a7d0271a034f9cee5b66df81abd527504ade678591162 WHIRLPOOL b9541480207ea4175e1b92e75724adfc9bba3530a5b5d63e46d65673a9ab4b03fa900c109722e51df442ec10fac5c27e60d2705b95e163c870296a784da19762
|
||||
DIST gnumeric-1.12.31.tar.xz 18742540 SHA256 c8ace78e75c280dced3f15b27c44c7a98e8d21cd8361c6b2599cce191f6d6ae7 SHA512 e6d6cef034517015fffc2938e69f1b9e47f12ad7ae5fc6fcf7c5d95bda06d37c234048c2621fda8f2576a811b20698aea8a3313d020c1bceb8337f66f8d41fb6 WHIRLPOOL 442f31e38e55c901a838b9d58352c309f69077498829b8179643e4d9eb1d2f47de454cead4cee5c04c7de3ff50ad7d85606d65263703a2a47afabfbc1216405b
|
||||
DIST gnumeric-1.12.32.tar.xz 18748772 SHA256 a07bc83e2adaeb94bfa2c737c9a19d90381a19cb203dd7c4d5f7d6cfdbee6de8 SHA512 5403fb57fc36a304b9b595d57d4db96579f8b48cb18c074c6d3e3dc4f477286fdb5ef11aeabdd8e495ec697029e4d5e2fce21967c4060dbc19cdabc2fde444fc WHIRLPOOL 09bf8cab6cfc90fda0f28e9919fce24d7c62011a6cc94f0da4369e459776da503d04ead8ba1e85173399ac96dec2092c8b4e54dd4664093a362718906c603f3c
|
||||
DIST gnumeric-1.12.35.tar.xz 20019316 SHA256 77b1e3ce523578a807767ad71680fb865ac021d7bfadf93eada99ae094c06c0a SHA512 0781c0d003342653a7cb57d2f23d1222903f18fdce15f4276250aae66239fc5f0da6472d900a59d29b511fbf55b529f7923a68f346752cd242775d52f99aba11 WHIRLPOOL 1742b44b5cf4ab81eeb3ea5ec540d2cf2abec967da50bbf47d9009c40f150043282717a0e641e4ac58f7ec8cb286f0bc75cb932436458098317f11783cc8ebec
|
||||
|
@ -1,62 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
GNOME2_LA_PUNT="yes"
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit gnome2 flag-o-matic python-single-r1
|
||||
|
||||
DESCRIPTION="The GNOME Spreadsheet"
|
||||
HOMEPAGE="http://www.gnumeric.org/"
|
||||
LICENSE="GPL-2"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
|
||||
|
||||
IUSE="+introspection libgda perl python"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
# Missing gnome-extra/libgnomedb required version in tree
|
||||
# but its upstream is dead and will be dropped soon.
|
||||
|
||||
# lots of missing files, also fails tests due to 80-bit long story
|
||||
# upstream bug #721556
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
>=dev-libs/glib-2.38.0:2
|
||||
>=gnome-extra/libgsf-1.14.33:=
|
||||
>=x11-libs/goffice-0.10.28:0.10
|
||||
>=dev-libs/libxml2-2.4.12:2
|
||||
>=x11-libs/pango-1.24.0:=
|
||||
|
||||
>=x11-libs/gtk+-3.8.7:3
|
||||
x11-libs/cairo:=[svg]
|
||||
|
||||
introspection? ( >=dev-libs/gobject-introspection-1:= )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS}
|
||||
>=dev-python/pygobject-3:3[${PYTHON_USEDEP}] )
|
||||
libgda? ( gnome-extra/libgda:5[gtk] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-util/intltool-0.35.0
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
--disable-static \
|
||||
--with-zlib \
|
||||
$(use_with libgda gda) \
|
||||
$(use_enable introspection) \
|
||||
$(use_with perl) \
|
||||
$(use_with python)
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit gnome2-utils
|
||||
|
||||
DESCRIPTION="A time managing application (and panel plug-in) for the Xfce desktop environment"
|
||||
HOMEPAGE="https://git.xfce.org/apps/orage/"
|
||||
SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
|
||||
IUSE="berkdb +clock-panel-plugin dbus libnotify"
|
||||
|
||||
RDEPEND=">=dev-libs/libical-0.48:=
|
||||
dev-libs/popt:=
|
||||
>=x11-libs/gtk+-2.10:2=
|
||||
berkdb? ( >=sys-libs/db-4:= )
|
||||
clock-panel-plugin? ( >=xfce-base/xfce4-panel-4.10:= )
|
||||
dbus? ( >=dev-libs/dbus-glib-0.100:= )
|
||||
libnotify? ( >=x11-libs/libnotify-0.7:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/intltool
|
||||
sys-devel/gettext
|
||||
>=sys-devel/libtool-2.2.6
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--libexecdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
--docdir="${EPREFIX}"/usr/share/doc/${PF}/html
|
||||
$(use_enable clock-panel-plugin libxfce4panel)
|
||||
$(use_enable dbus)
|
||||
$(use_enable libnotify)
|
||||
$(use_with berkdb bdb4)
|
||||
)
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Replacing directory by symlink is unreliable
|
||||
if [[ -L ${EROOT}/usr/share/orage/doc/C ]]; then
|
||||
rm -f "${EROOT}/usr/share/orage/doc/C" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
S="${WORKDIR}/7plsrc.${PV//./}"
|
||||
DESCRIPTION="An encoder for packet radio"
|
||||
HOMEPAGE="http://home.t-online.de/home/dg1bbq/7plus.htm"
|
||||
SRC_URI="http://home.t-online.de/home/dg1bbq/7pl${PV//./}sr.tgz"
|
||||
|
||||
LICENSE="7plus"
|
||||
SLOT="0"
|
||||
KEYWORDS="~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="sys-apps/sed"
|
||||
RDEPEND=""
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
sed -e "s:CC = gcc:CC = $(tc-getCC):" \
|
||||
-e "s:= -O2:+=:" \
|
||||
-e "s:LDFLAGS = -s:LDFLAGS +=:" linux.mak > Makefile \
|
||||
|| die "sed Makefile failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake || die "emake failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin 7plus || die "dobin failed"
|
||||
dodoc 7pl_hist.nts 7plh_old.nts format.def
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST 7pl225sr.tgz 65122 SHA256 2d1f8fdd6e514d7e3fdae55a670555d5d30b31c6b14c59ae7af218af7f923e10 SHA512 c1c303b19ed14b3398a8a0c58eb505f03f27e957cfe3cbf2432db115a1efaf6a637e657490079791d245aebf6d2b14497e111b5d5cfd52637f25f135e5008476 WHIRLPOOL 769a758305a67bbfee56b7b2125725b4a5031d4a8d5047d635b45bd414899a28900b707d9b2a04c198511e4676e122e7b30b547d413b2c92eca9bd33fc6eefa7
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
</pkgmetadata>
|
@ -1,3 +1,4 @@
|
||||
DIST calibre-2.78.0.tar.xz 38739404 SHA256 d2b0b0c5451d3ac05ce9de0b801ddf8de7664fee45f273d7ee8445a1ec2f898b SHA512 0779ac385dde45ac4baee7cecb0916e245f3e1cf20662bad9d9a4278265390b1aa89c2b478601b57113e7de08a69343288488ee299e8b43332f0129e650aa0ca WHIRLPOOL 325fc344445078ef0df0a29b4cd8e32445a881ede89e3db87606166ff0c8b7db10b7cc34432e63c2bb49382537a5107686339b987f1be807d59a1786ddfd4a75
|
||||
DIST calibre-2.85.1.tar.xz 37783284 SHA256 8c8db280c51b26284bff1c066fb503ecef9e1f15f7e2e7b4f705c817ee041abd SHA512 ce29924213fa7461bbf2fc62f26bd53e4eafdf3b0dd58e241071592be4ee038cdb3ac6ac2982229dd0e52595a93aca7d921640ea55796950d1f3ac3c2742af4f WHIRLPOOL 1432f71c19c8ff41dede3370287813281557f3659c862e7a9fe76d548bf393d8dd889aa4dc92d514244b2d35ce25b962c2942ef3dec2bf1ebaa81b1ea6bd0c94
|
||||
DIST calibre-3.1.1.tar.xz 35841216 SHA256 cfa00b953cf68f0760a4588c8adad066749cce673178e85e4c249790c07f01d2 SHA512 1da11ede70d93fa608873726fdcd9b39f261c045ea874521b45211df951bdb15e62958f50628eb6cfcfef2ff14b89da74b0f89481f3671480dbc9589b096d695 WHIRLPOOL fa85b83fc2502cdbdb12259a0d56cff9867606088f62b6a147ee4fa0f99174d5e74a396239b07441124da839aa1000d8ba146b588290b30a70a1caa1166003c0
|
||||
DIST calibre-3.3.0.tar.xz 36308116 SHA256 0cd42109f432995a75bd921a37444c142cc25d178083857efbac756f615403ff SHA512 bb63f83d5e35079daba9ec6e7849e6a65c51cf0b2da9fc45b86a2b64cc147f862f08413730f3d2710793de7b045fc73913534dfca11b128ad0ea72e92033f977 WHIRLPOOL 151c6633f53e75b097276f026fedd083b8b7aa28b28e4d2d0de587a3e8280e40f04a13998b8eae5a9f54f1041e7a8b85fa8de99734437b4246bf66664ce31a7d
|
||||
|
@ -0,0 +1,276 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit eutils fdo-mime bash-completion-r1 multilib toolchain-funcs python-single-r1
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="http://calibre-ebook.com/"
|
||||
SRC_URI="http://download.calibre-ebook.com/${PV}/${P}.tar.xz"
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
unRAR
|
||||
"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
SLOT="0"
|
||||
IUSE="ios +udisks"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
>=app-text/podofo-0.8.2:=
|
||||
>=app-text/poppler-0.26.5[qt5]
|
||||
>=dev-libs/chmlib-0.40:=
|
||||
dev-libs/glib:2
|
||||
>=dev-libs/icu-57.1:=
|
||||
>=dev-python/apsw-3.13.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/beautifulsoup-3.0.5:python-2[${PYTHON_USEDEP}]
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
>=dev-python/cssselect-0.7.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/cssutils-1.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/dbus-python-1.2.4[${PYTHON_USEDEP}]
|
||||
>=dev-libs/dbus-glib-0.106
|
||||
>=sys-apps/dbus-1.10.8
|
||||
>=dev-python/lxml-3.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.2.5[${PYTHON_USEDEP}]
|
||||
dev-python/msgpack[${PYTHON_USEDEP}]
|
||||
dev-python/netifaces[${PYTHON_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
dev-python/psutil[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.1.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/PyQt5-5.8[gui,svg,webkit,widgets,network,printsupport,${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
media-fonts/liberation-fonts
|
||||
>=media-gfx/imagemagick-6.5.9[jpeg,png]
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-libs/libwmf-0.2.8
|
||||
>=media-gfx/optipng-0.7.6
|
||||
sys-libs/zlib
|
||||
virtual/libusb:1=
|
||||
virtual/python-dnspython[${PYTHON_USEDEP}]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrender
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
udisks? ( virtual/libudev )"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( || ( sys-fs/udisks:2 sys-fs/udisks:0 ) )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-python/setuptools-23.1.0[${PYTHON_USEDEP}]
|
||||
>=virtual/podofo-build-0.9.4
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
# no_updates: do not annoy user with "new version is availible all the time
|
||||
# disable_plugins: walking sec-hole, wait for upstream to use GHNS interface
|
||||
eapply \
|
||||
"${FILESDIR}/${PN}-2.9.0-no_updates_dialog.patch" \
|
||||
"${FILESDIR}/${PN}-disable_plugins.patch"
|
||||
|
||||
eapply_user
|
||||
|
||||
# Fix outdated version constant.
|
||||
#sed -e "s#\\(^numeric_version =\\).*#\\1 (${PV//./, })#" \
|
||||
# -i src/calibre/constants.py || \
|
||||
# die "sed failed to patch constants.py"
|
||||
|
||||
# Avoid sandbox violation in /usr/share/gnome/apps when linux.py
|
||||
# calls xdg-* (bug #258938).
|
||||
sed -e "s|'xdg-desktop-menu', 'install'|\\0, '--mode', 'user'|" \
|
||||
-e "s|check_call(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
|
||||
-e "s|\\(CurrentDir(tdir)\\), \\\\\$|\\1:|" \
|
||||
-e "s|, PreserveMIMEDefaults():|:|" \
|
||||
-e "s|'xdg-icon-resource', 'install'|\\0, '--mode', 'user'|" \
|
||||
-e "s|cmd\[2\]|cmd[4]|" \
|
||||
-e "s|cc(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
|
||||
-e "s|'xdg-mime', 'install'|\\0, '--mode', 'user'|" \
|
||||
-i src/calibre/linux.py || die "sed failed to patch linux.py"
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
sed -e "/^ self.check_call(\\[QMAKE\\] + qmc + \\[proname\\])$/a\
|
||||
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \
|
||||
'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \
|
||||
'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \
|
||||
'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \
|
||||
'-i', 'Makefile'])" \
|
||||
-i setup/build.py || die "sed failed to patch build.py"
|
||||
|
||||
# use system beautifulsoup, instead of bundled
|
||||
rm -f "${S}"/src/calibre/ebooks/BeautifulSoup.py \
|
||||
|| die "could not remove bundled beautifulsoup"
|
||||
find "${S}" -type f -name \*.py -exec \
|
||||
sed -e 's/calibre.ebooks.BeautifulSoup/BeautifulSoup/' -i {} + \
|
||||
|| die "could not sed bundled beautifulsoup out of the source tree"
|
||||
|
||||
# avoid failure of xdg tools to recognize vendor prefix
|
||||
sed -e "s|xdg-icon-resource install|xdg-icon-resource install --novendor|" \
|
||||
-e "s|'xdg-mime', 'install'|'xdg-mime', 'install', '--novendor'|" \
|
||||
-e "s|'xdg-desktop-menu', 'install'|'xdg-desktop-menu', 'install', '--novendor'|" \
|
||||
-i "${S}"/src/calibre/linux.py || die 'sed failed'
|
||||
|
||||
# don't create/install uninstaller
|
||||
sed '/self\.create_uninstaller()/d' -i src/calibre/linux.py || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bypass kbuildsycoca and update-mime-database in order to
|
||||
# avoid sandbox violations if xdg-mime tries to call them.
|
||||
cat - > "${T}/kbuildsycoca" <<-EOF
|
||||
#!${BASH}
|
||||
echo $0 : $@
|
||||
exit 0
|
||||
EOF
|
||||
|
||||
cp "${T}"/{kbuildsycoca,update-mime-database} || die
|
||||
chmod +x "${T}"/{kbuildsycoca,update-mime-database} || die
|
||||
|
||||
export QMAKE="${EPREFIX}/usr/$(get_libdir)/qt5/bin/qmake"
|
||||
|
||||
# Unset DISPLAY in order to prevent xdg-mime from triggering a sandbox
|
||||
# violation with kbuildsycoca as in bug #287067, comment #13.
|
||||
export -n DISPLAY
|
||||
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANGUAGE
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export XDG_CONFIG_HOME="${HOME}/.config"
|
||||
export XDG_DATA_HOME="${HOME}/.local/share"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${XDG_CONFIG_HOME}/calibre"
|
||||
mkdir -p "${XDG_DATA_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
tc-export CC CXX
|
||||
# Bug #334243 - respect LDFLAGS when building extensions
|
||||
export OVERRIDE_CFLAGS="$CFLAGS" OVERRIDE_LDFLAGS="$LDFLAGS"
|
||||
local libdir=$(get_libdir)
|
||||
[[ -n $libdir ]] || die "get_libdir returned an empty string"
|
||||
|
||||
# Bug #472690 - Avoid sandbox violation for /dev/dri/card0.
|
||||
local x
|
||||
for x in /dev/dri/card[0-9] ; do
|
||||
[[ -e ${x} ]] && addpredict ${x}
|
||||
done
|
||||
|
||||
#dodir "/usr/$(get_libdir)/python2.7/site-packages" # for init_calibre.py
|
||||
#dodir $(python_get_sitedir)
|
||||
PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \
|
||||
"${PYTHON}" setup.py install \
|
||||
--root="${D}" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/${libdir}" \
|
||||
--staging-root="${ED}usr" \
|
||||
--staging-libdir="${ED}usr/${libdir}" || die
|
||||
|
||||
# The menu entries end up here due to '--mode user' being added to
|
||||
# xdg-* options in src_prepare.
|
||||
dodir /usr/share/mime/packages
|
||||
chmod -fR a+rX,u+w,g-w,o-w "${HOME}"/.local
|
||||
mv "${HOME}"/.local/share/mime/packages/* "${ED}"usr/share/mime/packages/ ||
|
||||
die "failed to register mime types"
|
||||
dodir /usr/share/icons
|
||||
mv "${HOME}"/.local/share/icons/* "${ED}"usr/share/icons/ ||
|
||||
die "failed to install icon files"
|
||||
|
||||
domenu "${HOME}"/.local/share/applications/*.desktop ||
|
||||
die "failed to install .desktop menu files"
|
||||
|
||||
find "${ED}"usr/share -type d -empty -delete
|
||||
|
||||
cd "${ED}"/usr/share/calibre/fonts/liberation || die
|
||||
local x
|
||||
for x in * ; do
|
||||
[[ -f ${EPREFIX}usr/share/fonts/liberation-fonts/${x} ]] || continue
|
||||
ln -sf "../../../fonts/liberation-fonts/${x}" "${x}" || die
|
||||
done
|
||||
|
||||
einfo "Converting python shebangs"
|
||||
python_fix_shebang "${ED}"
|
||||
|
||||
einfo "Compiling python modules"
|
||||
python_optimize "${ED}"usr/lib/calibre
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
|
||||
bashcomp_alias calibre \
|
||||
lrfviewer \
|
||||
calibre-debug \
|
||||
ebook-meta \
|
||||
calibre-server \
|
||||
ebook-viewer \
|
||||
ebook-polish \
|
||||
fetch-ebook-metadata \
|
||||
lrf2lrs \
|
||||
ebook-convert \
|
||||
ebook-edit \
|
||||
calibre-smtp \
|
||||
ebook-device
|
||||
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Indentify stray directories from upstream's "Binary install"
|
||||
# method (see bug 622728).
|
||||
CALIBRE_LIB_DIR=/usr/$(get_libdir)/calibre
|
||||
CALIBRE_LIB_CONTENT=$(for x in "${ED%/}${CALIBRE_LIB_DIR}"/*; do
|
||||
printf -- "${x##*/} "; done) || die "Failed to list ${ED%/}${CALIBRE_LIB_DIR}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
[[ -n ${CALIBRE_LIB_DIR} ]] || die "CALIBRE_LIB_DIR is unset"
|
||||
local x
|
||||
for x in "${EROOT%/}${CALIBRE_LIB_DIR}"/*; do
|
||||
if [[ " ${CALIBRE_LIB_CONTENT} " != *" ${x##*/} "* ]]; then
|
||||
elog "Purging '${x}'"
|
||||
rm -rf "${x}"
|
||||
fi
|
||||
done
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
fdo-mime_mime_database_update
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST ferret-1.4.zip 38210 SHA256 aac505465ba66f0e85b500b6585d2b2454b91ab662abfaeb4beecbef510e61a8 SHA512 e4dacfb996c98be2ae922520387b2b37511fbe33cc934fe89d1bc3096682d74e649fc6a1ba469e1e2efe01bdc11526f0f72d06354b28fd74b884db215068655b WHIRLPOOL a3c92c952b864b3f620c5075624e18c1a1ae95e58e70c83a9233a4f0612333c01f78b11dabd7feba83fb2e7a1e8b469873c2b2314a35d2dd7ba8abc9264443fc
|
||||
DIST ferret-1.5.zip 41822 SHA256 b22c317ceae3f604a91c83c968f7471aebd0fd981e012e4459b066dce7a09adc SHA512 50ae3cea72b681507f76e7fde4cb5712305bc3b9e3a98d9fbfb3797d8834d7792967e76d87435442b7809b800c739108eaea1da52c7c5c7495710b564a41718a WHIRLPOOL 56c983a37299c33702b372683db641a9405ea9852a9cd5a052ee9960c6875ab5217b014dc9e0a93987be44516b02750dc680eb88ff539ab02933985d5b0e8d78
|
||||
DIST ferret-2.0.tar.gz 33070 SHA256 ca7824dbf9e0e2d51b33e40c0bc24bba43eb46c2cccc1bd52fffd6127060c60c SHA512 305784624c06b662e83712e2348619bc5998e85553dc860681177278a766f2a315920913593108fd147f2d4bfbb5bc02f064fba628ffad05b965814b52a1ca71 WHIRLPOOL 4d9c1befe59a369cd274ed0386dfe7c365afb25b083f678ae788213aa989481fae4ee38420f2907b5497d6eecb123719214e639f9d33dfa424998fb3a6cb3e6e
|
||||
|
@ -0,0 +1,22 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit vim-plugin
|
||||
|
||||
DESCRIPTION="vim plugin: enhanced multi-file search"
|
||||
HOMEPAGE="https://github.com/wincent/ferret"
|
||||
SRC_URI="https://github.com/wincent/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="vim"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm -rv test.rb doc/.gitignore || die
|
||||
# See bug 612282.
|
||||
mv ftplugin/qf.vim ftplugin/${PN}qf.vim || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST gflags-2.1.1.tar.gz 102015 SHA256 432edece8102fc141c2e3381e2eb5eabb1ce7614851cc96bdec4715105086238 SHA512 18d1a0a1271f12f0e87447e3a9d6810f531f5b190d84274465add5a928c189caac911ec2592422895961ab3c0c7566ff50c0c22f71d185ac3413c54bdbfb00ef WHIRLPOOL 608dc62262d8b4a0451dd3493b02fd35ad5214f1793f173ca5d93e631e15b59cc4557b2a2f9f5e67f72c2ad0d6cd343648b113bf4701fd8f6c3f5d949ac41813
|
||||
DIST gflags-2.1.2.tar.gz 95716 SHA256 d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662 SHA512 f636023c1150e4d536d2d472e40d643ff0b02d3c96d8cb7f31544df23e6255fa6c4fd927ef94a3660c250d3faeae7d8d78519fc5e856749a577347a78d9d9ab5 WHIRLPOOL 2b3bd528c0e2139042a239d50017d93637f5db7007adaa29d3ae3788e57219c8ae8931404ea95766e43d07f17cb9995954ab213b68699ec1de0d21b3b6f86066
|
||||
DIST gflags-2.2.0.tar.gz 96408 SHA256 466c36c6508a451734e4f4d76825cf9cd9b8716d2b70ef36479ae40f08271f88 SHA512 e2106ca70ff539024f888bca12487b3bf7f4f51928acf5ae3e1022f6bbd5e3b7882196ec50b609fd52f739e1f7b13eec7d4b3535d8216ec019a3577de6b4228d WHIRLPOOL dad0108c8a3217c82d0c098b387c527be6ddf0d4df936e49695777721d25b8df0f5ff456aa28bfa6cbfc69d535d395f3dbc898117332cd711864ce0f6524e58d
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-multilib
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/gflags/gflags.git"
|
||||
else
|
||||
SRC_URI="https://github.com/gflags/gflags/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Google's C++ argument parsing library"
|
||||
HOMEPAGE="http://gflags.github.io/gflags/"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/2.2"
|
||||
IUSE="static-libs test"
|
||||
|
||||
# AUTHORS.txt only links the google group
|
||||
DOCS=( ChangeLog.txt README.md )
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
-DBUILD_STATIC_LIBS=$(usex static-libs)
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
# avoid installing .cmake/packages, e.g.:
|
||||
# >>> /tmp/portage/dev-cpp/gflags-9999/homedir/.cmake/packages/gflags/a7fca4708532331c2d656af0fdc8b8b9
|
||||
-DREGISTER_INSTALL_PREFIX=OFF
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST glibmm-2.50.1.tar.xz 6444576 SHA256 1fd85051da9cb402cc8348cec72dfe4d79f9345df4a1dbf68703a4ded45846a4 SHA512 4f25c75c1628ca2f4db1c29cebc63187d372603066b06aa6a66c6da792f9e02cb4a413e41f058a81e2d5a2b38d625de13df76115b278f010ce2fc493fe6e6bbb WHIRLPOOL 54b656e04550a050994061db1498a3ac066b1e37643faa218ec1ef04604c0d37c799572b546e79c29f1b35586b1a5b0c354eca72151756eb99f4434a27fa7ae2
|
||||
DIST glibmm-2.52.0.tar.xz 6450592 SHA256 81b8abf21c645868c06779abc5f34efc1a51d5e61589dab2a2ed67faa8d4811e SHA512 45cbbe4ce4ba04dcadbcc3b46159dda194235c10a7287075724b0e1c19db2e4db061dc2a66823205f6884b30e2ef87ceafdf9cc2970212a2424535dbe3b9a262 WHIRLPOOL 11cd96f6cb28af494dd8fb63703069df12b8adeb2cba26f7b6d3bc92fd9206385001938db0584c2ee1167b4ca51746ca3a0496bb5fc3abcbdc94f6b3b5944d83
|
||||
|
@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome2 multilib-minimal
|
||||
|
||||
DESCRIPTION="C++ interface for glib2"
|
||||
HOMEPAGE="https://www.gtkmm.org"
|
||||
|
||||
LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system
|
||||
SLOT="2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE="doc debug test"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libsigc++-2.9.1:2[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
doc? ( app-doc/doxygen )
|
||||
"
|
||||
# dev-cpp/mm-common needed for eautoreconf
|
||||
|
||||
src_prepare() {
|
||||
if ! use test; then
|
||||
# don't waste time building tests
|
||||
sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' \
|
||||
-i Makefile.am Makefile.in || die "sed 1 failed"
|
||||
fi
|
||||
|
||||
# don't build examples - we want to install example sources, not binaries
|
||||
sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
|
||||
-i Makefile.am Makefile.in || die "sed 2 failed"
|
||||
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" gnome2_src_configure \
|
||||
$(use_enable debug debug-refcounting) \
|
||||
$(multilib_native_use_enable doc documentation) \
|
||||
--enable-deprecated-api
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
cd tests
|
||||
default
|
||||
|
||||
for i in */test; do
|
||||
${i} || die "Running tests failed at ${i}"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
gnome2_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find examples -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
|
||||
find examples -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
|
||||
dodoc -r examples
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST gtkmm-2.24.5.tar.xz 12022024 SHA256 0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72 SHA512 c50e52830977c37181439f4b82a30ac8bead0cf9022d2bec8225f8dc33e08414f863bf67056e1938fae8f888c09a5a6d757acc011fa9331a78caa6bb626dd51e WHIRLPOOL b1bd5d27f53fece724c3389eb938a9ba746fb168637cacd437f152e6753f0150e5227acaed8d9b93b8e2e497352d03d77bec3fe4a5029c144ef2270c28c31c46
|
||||
DIST gtkmm-3.22.0.tar.xz 12320816 SHA256 05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5 SHA512 0bc141ff09bc78697e89c6f071a1411cbc06e015ee664f3a6f9143bdb31793982e09533c8cff6d8c19cc53c4d32a1e5ad016db48141f5cfc21edfb333bf37988 WHIRLPOOL 8ec9f50c3f960dbe907d584c96adc0b4859b0d319c9c299f476cad8065390abb3f0b1c48cdf01303ce6f72a267b72d750d8dd5e4a011ce2d245e9acd649ee4b9
|
||||
DIST gtkmm-3.22.1.tar.xz 12338092 SHA256 6a0c2cc0894a69b666e688e5e6e93621d7625db5e77fd37551310d75c00896b0 SHA512 f2a924774c6f4a9a1ec66bde65201fc6b8e17bf48d306ad78bdcabe9a2ce4b8d67c0714b52406534708c1c505efc7ff5a651a1df21531568795202e2717d1eaf WHIRLPOOL 515c33d2914779d2e579d6a6e11f7b2740e7716870420a8f2200987ca8830585aeb10e4f4b19712fdc6f614b8e9fe9857e49a116481fd71637a4381b29f640d2
|
||||
|
@ -0,0 +1,72 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome2 multilib-minimal virtualx
|
||||
|
||||
DESCRIPTION="C++ interface for GTK+"
|
||||
HOMEPAGE="https://www.gtkmm.org"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="3.0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
|
||||
|
||||
IUSE="aqua doc test wayland X"
|
||||
REQUIRED_USE="|| ( aqua wayland X )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-cpp/glibmm-2.49.1:2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/gtk+-3.22.0:3[aqua?,wayland?,X?,${MULTILIB_USEDEP}]
|
||||
>=x11-libs/gdk-pixbuf-2.35.5:2[${MULTILIB_USEDEP}]
|
||||
>=dev-cpp/atkmm-2.24.2[${MULTILIB_USEDEP}]
|
||||
>=dev-cpp/cairomm-1.12.0[${MULTILIB_USEDEP}]
|
||||
>=dev-cpp/pangomm-2.38.2:1.4[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
media-gfx/graphviz
|
||||
dev-libs/libxslt
|
||||
app-doc/doxygen )
|
||||
"
|
||||
# eautoreconf needs mm-common
|
||||
|
||||
src_prepare() {
|
||||
if ! use test; then
|
||||
# don't waste time building tests
|
||||
sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
|
||||
|| die "sed 1 failed"
|
||||
fi
|
||||
|
||||
# don't waste time building examples
|
||||
sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
|
||||
|| die "sed 2 failed"
|
||||
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" gnome2_src_configure \
|
||||
--enable-api-atkmm \
|
||||
$(multilib_native_use_enable doc documentation) \
|
||||
$(use_enable aqua quartz-backend) \
|
||||
$(use_enable wayland wayland-backend) \
|
||||
$(use_enable X x11-backend)
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
virtx emake check
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
gnome2_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find demos -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
|
||||
find demos -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
|
||||
dodoc -r demos
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST pgpool-II-3.5.2.tar.gz 2227075 SHA256 5d29fd9c30141bfdaf15b51c7878766178e5df42fa5e160d0f7df2824d26104f SHA512 dd7268bce0019de30dfad01a8600af798127a4c2cc818e6f85ba30289e97c253d6faa392734d85ccbc97be3f04458c12af1bba541e5b8f3d2ee8268432e01d1a WHIRLPOOL 22939c855919b8399c1129ff4622eae159141e9bf05cc36aca456bfd582c7ab0dc7ec87df5ea96d7101f438e89bf4e06f46a5f63cfde22e505d0a3965c0496fc
|
||||
DIST pgpool-II-3.5.5.tar.gz 2243184 SHA256 8fa1ccf13ff4f7c1ab0f6d523090444f65d78923de11061b5027eb5d58318491 SHA512 f77888cbc5e2c15ae1035ee3a1965d4fd3d02cdfd5810c6c656456eaa0d73dae7471906bdf0848607723633da5b8d02145559b767735bcc9b7e4023b1d59efed WHIRLPOOL 5f4d4d9c3f6478b9b3ecda311c571e1f54805a07aa505acd32fbfb8fb2790183b732d6f86843a2b6614c74565efad7f9b3d962281cd2b1d23b54515448a1c84a
|
||||
DIST pgpool-II-3.6.1.tar.gz 2539510 SHA256 244f99a70198b5861a63b2fe3e44ac39d2819f6aa6497f62958c6afa2750d94c SHA512 9d4f0ecec3cf7478c7c4cd5cb1aa75614edca204d11b145f145d752c24bed7f7f4ea2880f6a3f9833aee0b5f428e8cf36e2f91bdef2f6065fb98019df546469a WHIRLPOOL 9a307a63e9179ecfc7a52d1f056d47f09543bf4e378fa0090cdaf90d141c70e89323b4cfcbc9bbd9fa2422ff76bea592f189bea78915445fb1779ce9089ef6e1
|
||||
DIST pgpool-II-3.6.4.tar.gz 2623625 SHA256 6ad78b9878d126e8da1e03e8edf3c8d56bb0754fe6432f633e81f6faaf8e6dbf SHA512 a44724b77faca12bc2b46a88e307c10f8099574b5a27720c98f2939fbfa61f41b4c3dc03565412972c351c10d57da4324a483c310b52f624f5ba87c2bd4d006f WHIRLPOOL 410136d359baa369f3d19136da54ba202c8b250bf364fc2f9b91a66190266ae523647cc89313211b63effbedd97168d026a2574be059dd0da7c8768b2d9714e7
|
||||
|
@ -0,0 +1,255 @@
|
||||
diff -ru a/src/include/parser/pg_config_manual.h b/src/include/parser/pg_config_manual.h
|
||||
--- a/src/include/parser/pg_config_manual.h 2017-05-11 05:53:04.000000000 -0400
|
||||
+++ b/src/include/parser/pg_config_manual.h 2017-07-08 20:28:47.733745889 -0400
|
||||
@@ -184,7 +184,7 @@
|
||||
* here's where to twiddle it. You can also override this at runtime
|
||||
* with the postmaster's -k switch.
|
||||
*/
|
||||
-#define DEFAULT_PGSOCKET_DIR "/tmp"
|
||||
+#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
|
||||
|
||||
/*
|
||||
* This is the default event source for Windows event log.
|
||||
diff -ru a/src/include/pcp/pcp_stream.h b/src/include/pcp/pcp_stream.h
|
||||
--- a/src/include/pcp/pcp_stream.h 2017-05-11 05:36:01.000000000 -0400
|
||||
+++ b/src/include/pcp/pcp_stream.h 2017-07-08 20:29:28.613506800 -0400
|
||||
@@ -48,6 +48,6 @@
|
||||
extern int pcp_write(PCP_CONNECTION *pc, void *buf, int len);
|
||||
extern int pcp_flush(PCP_CONNECTION *pc);
|
||||
|
||||
-#define UNIX_DOMAIN_PATH "/tmp"
|
||||
+#define UNIX_DOMAIN_PATH "/run/pgpool"
|
||||
|
||||
#endif /* PCP_STREAM_H */
|
||||
diff -ru a/src/include/pool.h b/src/include/pool.h
|
||||
--- a/src/include/pool.h 2017-05-11 05:53:04.000000000 -0400
|
||||
+++ b/src/include/pool.h 2017-07-08 20:27:09.330984074 -0400
|
||||
@@ -73,16 +73,16 @@
|
||||
#define HBA_CONF_FILE_NAME "pool_hba.conf"
|
||||
|
||||
/* pid file directory */
|
||||
-#define DEFAULT_LOGDIR "/tmp"
|
||||
+#define DEFAULT_LOGDIR "/run/pgpool"
|
||||
|
||||
/* Unix domain socket directory */
|
||||
-#define DEFAULT_SOCKET_DIR "/tmp"
|
||||
+#define DEFAULT_SOCKET_DIR "/run/postgresql"
|
||||
|
||||
/* Unix domain socket directory for watchdog IPC */
|
||||
-#define DEFAULT_WD_IPC_SOCKET_DIR "/tmp"
|
||||
+#define DEFAULT_WD_IPC_SOCKET_DIR "/run/pgpool"
|
||||
|
||||
/* pid file name */
|
||||
-#define DEFAULT_PID_FILE_NAME "/var/run/pgpool/pgpool.pid"
|
||||
+#define DEFAULT_PID_FILE_NAME "/run/pgpool/pgpool.pid"
|
||||
|
||||
/* status file name */
|
||||
#define STATUS_FILE_NAME "pgpool_status"
|
||||
diff -ru a/src/sample/pgpool.conf.sample b/src/sample/pgpool.conf.sample
|
||||
--- a/src/sample/pgpool.conf.sample 2017-05-11 05:53:04.000000000 -0400
|
||||
+++ b/src/sample/pgpool.conf.sample 2017-07-08 20:36:28.477717849 -0400
|
||||
@@ -31,10 +31,8 @@
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -53,10 +51,8 @@
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Backend Connection Settings -
|
||||
@@ -210,10 +206,10 @@
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# (change requires restart)
|
||||
-logdir = '/var/log/pgpool'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -490,10 +486,8 @@
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
||||
diff -ru a/src/sample/pgpool.conf.sample-master-slave b/src/sample/pgpool.conf.sample-master-slave
|
||||
--- a/src/sample/pgpool.conf.sample-master-slave 2017-05-11 05:53:04.000000000 -0400
|
||||
+++ b/src/sample/pgpool.conf.sample-master-slave 2017-07-08 20:37:17.914095382 -0400
|
||||
@@ -31,10 +31,8 @@
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -53,10 +51,8 @@
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Backend Connection Settings -
|
||||
@@ -210,10 +206,10 @@
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# (change requires restart)
|
||||
-logdir = '/tmp'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -489,10 +485,8 @@
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Virtual IP control Setting -
|
||||
diff -ru a/src/sample/pgpool.conf.sample-replication b/src/sample/pgpool.conf.sample-replication
|
||||
--- a/src/sample/pgpool.conf.sample-replication 2017-05-11 05:53:04.000000000 -0400
|
||||
+++ b/src/sample/pgpool.conf.sample-replication 2017-07-08 20:37:30.384022450 -0400
|
||||
@@ -31,10 +31,8 @@
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -53,10 +51,8 @@
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Backend Connection Settings -
|
||||
@@ -210,10 +206,10 @@
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# (change requires restart)
|
||||
-logdir = '/tmp'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -489,10 +485,8 @@
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
||||
diff -ru a/src/sample/pgpool.conf.sample-stream b/src/sample/pgpool.conf.sample-stream
|
||||
--- a/src/sample/pgpool.conf.sample-stream 2017-05-11 05:53:04.000000000 -0400
|
||||
+++ b/src/sample/pgpool.conf.sample-stream 2017-07-08 20:37:44.060609128 -0400
|
||||
@@ -31,10 +31,8 @@
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
||||
@@ -47,10 +45,8 @@
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -211,10 +207,10 @@
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# (change requires restart)
|
||||
-logdir = '/tmp'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -489,10 +485,8 @@
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
@ -0,0 +1,274 @@
|
||||
diff --git a/src/include/parser/pg_config_manual.h b/src/include/parser/pg_config_manual.h
|
||||
index d7e153b2..a4c9e87a 100644
|
||||
--- a/src/include/parser/pg_config_manual.h
|
||||
+++ b/src/include/parser/pg_config_manual.h
|
||||
@@ -193,7 +193,7 @@
|
||||
* here's where to twiddle it. You can also override this at runtime
|
||||
* with the postmaster's -k switch.
|
||||
*/
|
||||
-#define DEFAULT_PGSOCKET_DIR "/tmp"
|
||||
+#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
|
||||
|
||||
/*
|
||||
* This is the default event source for Windows event log.
|
||||
diff --git a/src/include/pcp/pcp_stream.h b/src/include/pcp/pcp_stream.h
|
||||
index 254b98cb..5883ad31 100644
|
||||
--- a/src/include/pcp/pcp_stream.h
|
||||
+++ b/src/include/pcp/pcp_stream.h
|
||||
@@ -48,6 +48,6 @@ extern int pcp_read(PCP_CONNECTION *pc, void *buf, int len);
|
||||
extern int pcp_write(PCP_CONNECTION *pc, void *buf, int len);
|
||||
extern int pcp_flush(PCP_CONNECTION *pc);
|
||||
|
||||
-#define UNIX_DOMAIN_PATH "/tmp"
|
||||
+#define UNIX_DOMAIN_PATH "/run/pgpool"
|
||||
|
||||
#endif /* PCP_STREAM_H */
|
||||
diff --git a/src/include/pool.h b/src/include/pool.h
|
||||
index d5dd63aa..a3ae197f 100644
|
||||
--- a/src/include/pool.h
|
||||
+++ b/src/include/pool.h
|
||||
@@ -73,16 +73,16 @@
|
||||
#define HBA_CONF_FILE_NAME "pool_hba.conf"
|
||||
|
||||
/* pid file directory */
|
||||
-#define DEFAULT_LOGDIR "/tmp"
|
||||
+#define DEFAULT_LOGDIR "/run/pgpool"
|
||||
|
||||
/* Unix domain socket directory */
|
||||
-#define DEFAULT_SOCKET_DIR "/tmp"
|
||||
+#define DEFAULT_SOCKET_DIR "/run/postgresql"
|
||||
|
||||
/* Unix domain socket directory for watchdog IPC */
|
||||
-#define DEFAULT_WD_IPC_SOCKET_DIR "/tmp"
|
||||
+#define DEFAULT_WD_IPC_SOCKET_DIR "/run/pgpool"
|
||||
|
||||
/* pid file name */
|
||||
-#define DEFAULT_PID_FILE_NAME "/var/run/pgpool/pgpool.pid"
|
||||
+#define DEFAULT_PID_FILE_NAME "/run/pgpool/pgpool.pid"
|
||||
|
||||
/* status file name */
|
||||
#define STATUS_FILE_NAME "pgpool_status"
|
||||
diff --git a/src/sample/pgpool.conf.sample b/src/sample/pgpool.conf.sample
|
||||
index d73c9bca..e95815ba 100644
|
||||
--- a/src/sample/pgpool.conf.sample
|
||||
+++ b/src/sample/pgpool.conf.sample
|
||||
@@ -31,10 +31,8 @@ listen_addresses = 'localhost'
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -53,10 +51,8 @@ pcp_listen_addresses = '*'
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Backend Connection Settings -
|
||||
@@ -210,13 +206,13 @@ syslog_ident = 'pgpool'
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# Can be specified as relative to the"
|
||||
# location of pgpool.conf file or
|
||||
# as an absolute path
|
||||
# (change requires restart)
|
||||
-logdir = '/var/log/pgpool'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -505,10 +501,8 @@ wd_authkey = ''
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
||||
diff --git a/src/sample/pgpool.conf.sample-master-slave b/src/sample/pgpool.conf.sample-master-slave
|
||||
index 612c10a7..ad385ba6 100644
|
||||
--- a/src/sample/pgpool.conf.sample-master-slave
|
||||
+++ b/src/sample/pgpool.conf.sample-master-slave
|
||||
@@ -31,10 +31,8 @@ listen_addresses = 'localhost'
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -53,10 +51,8 @@ pcp_listen_addresses = '*'
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Backend Connection Settings -
|
||||
@@ -210,13 +206,13 @@ syslog_ident = 'pgpool'
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# Can be specified as relative to the"
|
||||
# location of pgpool.conf file or
|
||||
# as an absolute path
|
||||
# (change requires restart)
|
||||
-logdir = '/tmp'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -504,10 +500,8 @@ wd_authkey = ''
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Virtual IP control Setting -
|
||||
diff --git a/src/sample/pgpool.conf.sample-replication b/src/sample/pgpool.conf.sample-replication
|
||||
index f47a7957..bd7ce73e 100644
|
||||
--- a/src/sample/pgpool.conf.sample-replication
|
||||
+++ b/src/sample/pgpool.conf.sample-replication
|
||||
@@ -31,10 +31,8 @@ listen_addresses = 'localhost'
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -53,10 +51,8 @@ pcp_listen_addresses = '*'
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
# - Backend Connection Settings -
|
||||
@@ -210,13 +206,13 @@ syslog_ident = 'pgpool'
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# Can be specified as relative to the"
|
||||
# location of pgpool.conf file or
|
||||
# as an absolute path
|
||||
# (change requires restart)
|
||||
-logdir = '/tmp'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -504,10 +500,8 @@ wd_authkey = ''
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
||||
diff --git a/src/sample/pgpool.conf.sample-stream b/src/sample/pgpool.conf.sample-stream
|
||||
index d57226b0..669a31d4 100644
|
||||
--- a/src/sample/pgpool.conf.sample-stream
|
||||
+++ b/src/sample/pgpool.conf.sample-stream
|
||||
@@ -31,10 +31,8 @@ listen_addresses = 'localhost'
|
||||
port = 9999
|
||||
# Port number
|
||||
# (change requires restart)
|
||||
-socket_dir = '/tmp'
|
||||
+socket_dir = '/run/postgresql'
|
||||
# Unix domain socket path
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
||||
@@ -47,10 +45,8 @@ pcp_listen_addresses = '*'
|
||||
pcp_port = 9898
|
||||
# Port number for pcp
|
||||
# (change requires restart)
|
||||
-pcp_socket_dir = '/tmp'
|
||||
+pcp_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for pcp
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
listen_backlog_multiplier = 2
|
||||
# Set the backlog parameter of listen(2) to
|
||||
@@ -211,13 +207,13 @@ syslog_ident = 'pgpool'
|
||||
# FILE LOCATIONS
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-pid_file_name = '/var/run/pgpool/pgpool.pid'
|
||||
+pid_file_name = '/run/pgpool/pgpool.pid'
|
||||
# PID file name
|
||||
# Can be specified as relative to the"
|
||||
# location of pgpool.conf file or
|
||||
# as an absolute path
|
||||
# (change requires restart)
|
||||
-logdir = '/tmp'
|
||||
+logdir = '/run/pgpool'
|
||||
# Directory of pgPool status file
|
||||
# (change requires restart)
|
||||
|
||||
@@ -504,10 +500,8 @@ wd_authkey = ''
|
||||
# Authentication key for watchdog communication
|
||||
# (change requires restart)
|
||||
|
||||
-wd_ipc_socket_dir = '/tmp'
|
||||
+wd_ipc_socket_dir = '/run/pgpool'
|
||||
# Unix domain socket path for watchdog IPC socket
|
||||
- # The Debian package defaults to
|
||||
- # /var/run/postgresql
|
||||
# (change requires restart)
|
||||
|
||||
|
@ -0,0 +1,98 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
POSTGRES_COMPAT=( 9.{2..6} )
|
||||
|
||||
inherit postgres-multi
|
||||
|
||||
MY_P="${PN/2/-II}-${PV}"
|
||||
|
||||
DESCRIPTION="Connection pool server for PostgreSQL"
|
||||
HOMEPAGE="http://www.pgpool.net/"
|
||||
SRC_URI="http://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
IUSE="doc memcached pam ssl static-libs"
|
||||
|
||||
RDEPEND="
|
||||
${POSTGRES_DEP}
|
||||
memcached? ( dev-libs/libmemcached )
|
||||
pam? ( sys-auth/pambase )
|
||||
ssl? ( dev-libs/openssl:* )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/bison
|
||||
!!dev-db/pgpool
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
pkg_setup() {
|
||||
postgres_new_user pgpool
|
||||
|
||||
postgres-multi_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}/pgpool_run_paths-3.6.4.patch"
|
||||
|
||||
postgres-multi_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
use memcached && \
|
||||
myconf="--with-memcached=\"${EROOT%/}/usr/include/libmemcached\""
|
||||
use pam && myconf+=' --with-pam'
|
||||
|
||||
postgres-multi_foreach econf \
|
||||
--disable-rpath \
|
||||
--sysconfdir="${EROOT%/}/etc/${PN}" \
|
||||
--with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
|
||||
--with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
|
||||
$(use_with ssl openssl) \
|
||||
$(use_enable static-libs static) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Even though we're only going to do an install for the best slot
|
||||
# available, the extension bits in src/sql need some things outside
|
||||
# of that directory built, too.
|
||||
postgres-multi_foreach emake
|
||||
postgres-multi_foreach emake -C src/sql
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# We only need the best stuff installed
|
||||
postgres-multi_forbest emake DESTDIR="${D}" install
|
||||
|
||||
# Except for the extension and .so files that each PostgreSQL slot needs
|
||||
postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
|
||||
|
||||
newinitd "${FILESDIR}/${PN}.initd" ${PN}
|
||||
newconfd "${FILESDIR}/${PN}.confd" ${PN}
|
||||
|
||||
# Documentation!
|
||||
dodoc NEWS TODO
|
||||
if use doc ; then
|
||||
postgres-multi_forbest emake DESTDIR="${D}" -C doc install
|
||||
fi
|
||||
|
||||
# Examples and extras
|
||||
# mv some files that get installed to /usr/share/pgpool-II so that
|
||||
# they all wind up in the same place
|
||||
mv "${ED%/}/usr/share/${PN/2/-II}" "${ED%/}/usr/share/${PN}" || die
|
||||
into "/usr/share/${PN}"
|
||||
dobin src/sample/{pgpool_recovery,pgpool_recovery_pitr,pgpool_remote_start}
|
||||
insinto "/usr/share/${PN}"
|
||||
doins src/sample/{{pcp,pgpool,pool_hba}.conf.sample*,pgpool.pam}
|
||||
|
||||
# One more thing: Evil la files!
|
||||
find "${ED}" -name '*.la' -exec rm -f {} +
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST pgtap-0.93.0.zip 219355 SHA256 d1fa168b5d089d031552103c985d1f4b681659ece2f976d27c070ad26f6c1d4c SHA512 6165f8bd107168a3955c3ec4c63277ce9fce31d7c375fdfe13cb31b7df71cb9aae4b20a1c2d961fba97e3ae207b45b8daf9174f0701a220e52f4ffb53dddea94 WHIRLPOOL 2352e71e004ad9486d6a5ed3b6c5967613caa06ea657af7394ea37249f16f266e611b64d3d2106bc737bf10e9810613b67f9eb79faadc578ca3ff16cd132a263
|
||||
DIST pgtap-0.97.0.zip 260089 SHA256 a29f739e5973b19d83e0448f62e5529d11e8c71546d57e80791b172140c9a76a SHA512 8d1a87b6060e28150c580383b0151553dc9c588145a3888d1b2313770283c327bb50820eee3db8cfa5d21e4664272c1538cd3784908fd042c7e788b4558a0df5 WHIRLPOOL 8f3c6114b3dac8c349e72a1608607518a44fa8f6a3ae67fca7213d4d96a63e8c44f6fd4d10ec768376af8f654641094c1e4cc7077fdb159292ac8f7cced1535d
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
POSTGRES_COMPAT=( 9.{2..6} )
|
||||
|
||||
inherit postgres-multi
|
||||
|
||||
DESCRIPTION="Unit testing for PostgreSQL"
|
||||
HOMEPAGE="http://pgtap.org/"
|
||||
SRC_URI="http://api.pgxn.org/dist/${PN}/${PV}/${P}.zip"
|
||||
|
||||
LICENSE="POSTGRESQL"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="${POSTGRES_DEP}
|
||||
dev-perl/TAP-Parser-SourceHandler-pgTAP
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
:
|
||||
}
|
@ -0,0 +1,116 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
POSTGRES_COMPAT=( 9.{2..6} )
|
||||
POSTGRES_USEDEP="server"
|
||||
|
||||
inherit autotools eutils postgres-multi versionator
|
||||
|
||||
MY_PV=$(replace_version_separator 3 '')
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DESCRIPTION="Geographic Objects for PostgreSQL"
|
||||
HOMEPAGE="http://postgis.net"
|
||||
SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc gtk static-libs test"
|
||||
|
||||
RDEPEND="
|
||||
${POSTGRES_DEP}
|
||||
dev-libs/json-c
|
||||
dev-libs/libxml2:2
|
||||
>=sci-libs/geos-3.5.0
|
||||
>=sci-libs/proj-4.6.0
|
||||
>=sci-libs/gdal-1.10.0
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
doc? (
|
||||
app-text/docbook-xsl-stylesheets
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
dev-libs/libxslt
|
||||
|| (
|
||||
media-gfx/imagemagick[png]
|
||||
media-gfx/graphicsmagick[imagemagick,png]
|
||||
)
|
||||
)
|
||||
virtual/pkgconfig
|
||||
test? ( dev-util/cunit )
|
||||
"
|
||||
|
||||
PGIS="$(get_version_component_range 1-2)"
|
||||
|
||||
REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
|
||||
|
||||
# Needs a running psql instance, doesn't work out of the box
|
||||
RESTRICT="test"
|
||||
|
||||
MAKEOPTS+=' -j1'
|
||||
|
||||
# These modules are built using the same *FLAGS that were used to build
|
||||
# dev-db/postgresql. The right thing to do is to ignore the current
|
||||
# *FLAGS settings.
|
||||
QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}/${PN}-2.2.0-arflags.patch"
|
||||
|
||||
local AT_M4DIR="macros"
|
||||
eautoreconf
|
||||
postgres-multi_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myargs=""
|
||||
use gtk && myargs+=" --with-gui"
|
||||
postgres-multi_foreach econf ${myargs}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
postgres-multi_foreach emake
|
||||
postgres-multi_foreach emake -C topology
|
||||
|
||||
if use doc ; then
|
||||
postgres-multi_foreach emake comments
|
||||
postgres-multi_foreach emake cheatsheets
|
||||
postgres-multi_forbest emake -C doc html
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
postgres-multi_foreach emake DESTDIR="${D}" install
|
||||
postgres-multi_foreach emake -C topology DESTDIR="${D}" install
|
||||
postgres-multi_forbest dobin ./utils/postgis_restore.pl
|
||||
|
||||
dodoc CREDITS TODO loader/README.* doc/*txt
|
||||
|
||||
docinto topology
|
||||
dodoc topology/{TODO,README}
|
||||
|
||||
if use doc ; then
|
||||
postgres-multi_foreach emake DESTDIR="${D}" comments-install
|
||||
|
||||
docinto html
|
||||
postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
|
||||
|
||||
docinto html/images
|
||||
postgres-multi_forbest dodoc doc/html/images/*
|
||||
fi
|
||||
|
||||
use static-libs || find "${ED}" -name '*.a' -delete
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ebegin "Refreshing PostgreSQL symlinks"
|
||||
postgresql-config update
|
||||
eend $?
|
||||
|
||||
elog "To finish installing PostGIS, follow the directions detailed at:"
|
||||
elog "http://postgis.net/docs/manual-${PGIS}/postgis_installation.html#create_new_db_extensions"
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
POSTGRES_COMPAT=( 9.{2..6} )
|
||||
POSTGRES_USEDEP="server,threads"
|
||||
|
||||
inherit eutils postgres-multi versionator
|
||||
|
||||
IUSE="doc perl"
|
||||
|
||||
DESCRIPTION="A replication system for the PostgreSQL Database Management System"
|
||||
HOMEPAGE="http://slony.info/"
|
||||
|
||||
# ${P}-docs.tar.bz2 contains man pages as well as additional documentation
|
||||
MAJ_PV=$(get_version_component_range 1-2)
|
||||
SRC_URI="http://main.slony.info/downloads/${MAJ_PV}/source/${P}.tar.bz2
|
||||
http://main.slony.info/downloads/${MAJ_PV}/source/${P}-docs.tar.bz2"
|
||||
|
||||
LICENSE="BSD GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
|
||||
DEPEND="${POSTGRES_DEP}
|
||||
perl? ( dev-perl/DBD-Pg )
|
||||
"
|
||||
|
||||
RDEPEND=${DEPEND}
|
||||
|
||||
REQUIRE_USE="${POSTGRES_REQ_USE}"
|
||||
|
||||
src_configure() {
|
||||
local slot_bin_dir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/bin"
|
||||
use perl && myconf=" --with-perltools=\"${slot_bin_dir}\""
|
||||
postgres-multi_foreach econf ${myconf} \
|
||||
--with-pgconfigdir="${slot_bin_dir}" \
|
||||
--with-slonybindir="${slot_bin_dir}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
postgres-multi_foreach emake DESTDIR="${D}" install
|
||||
|
||||
dodoc INSTALL README SAMPLE TODO UPGRADING share/slon.conf-sample
|
||||
|
||||
if use doc ; then
|
||||
cd "${S}"/doc
|
||||
dohtml -r *
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/slony1.init slony1
|
||||
newconfd "${FILESDIR}"/slony1.conf slony1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Slony-I installs its executables into a directory that is
|
||||
# processed by the PostgreSQL eselect module. Call it here so that
|
||||
# the symlinks will be created.
|
||||
ebegin "Refreshing PostgreSQL $(postgresql-config show) symlinks"
|
||||
postgresql-config update
|
||||
eend $?
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
DESCRIPTION="Swing components for date operations and palettes"
|
||||
HOMEPAGE="https://github.com/tdbear/microba"
|
||||
SRC_URI="https://github.com/tdbear/${PN}/archive/${PV}.zip -> ${P}.zip"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
CP_DEPEND="dev-java/jgraph:0"
|
||||
|
||||
RDEPEND="${CP_DEPEND}
|
||||
>=virtual/jre-1.6"
|
||||
|
||||
DEPEND="${CP_DEPEND}
|
||||
>=virtual/jdk-1.6"
|
||||
|
||||
S="${WORKDIR}/${P}"
|
||||
JAVA_SRC_DIR="src/main/java"
|
||||
|
||||
DOCS=(
|
||||
change.log.txt
|
||||
readme.txt
|
||||
README.md
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
java-pkg-simple_src_compile
|
||||
java-pkg_addres ${PN}.jar ${JAVA_SRC_DIR}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
java-pkg-simple_src_install
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST vala-0.32.1.tar.xz 2759528 SHA256 dd0d47e548a34cfb1e4b04149acd082a86414c49057ffb79902eb9a508a161a9 SHA512 d59db1bd9132f93f187c30ccabff9d21fe8685293a6494e5b009d883de4f844cc4b8dc5d3b6eb4e026a93490f2e4ff7ba83ff22a093c6f8f85e68d83f5fe1bb0 WHIRLPOOL d61a171cacb62f008e15408729b809f9a13f11880395526a9890ddfed1a41d0ad021c57c8d9d93ffdf6f99ee5231fffdb4fa1763d8b7238a8f62ae67f4aa22ca
|
||||
DIST vala-0.34.8.tar.xz 2778228 SHA256 22899bad63436ccfab4abc44face3bf4c1e4e72dea5891d67626dc360078c0a3 SHA512 03739173aa2b4e5d476037c77ac86543b97bd6eeb94f40dcce952da127e32baefa0dfa83f9d6e8ea254d4aee5ecd557964520926239bd119da72c771e30ece14 WHIRLPOOL b5874c5b08427d758fdd0e02f1f431296acc7451c609c75b06017e26ea11c835b89ddd1803de0a24f957b0c7f2ad6f4473c674b8cc76317a84c0d6d3b5ddaf8b
|
||||
DIST vala-0.34.9.tar.xz 2783952 SHA256 36662f77e36abf9ce6f46e3015c4512276e6361553bdcc2d75566ed83a1da19d SHA512 8128dfbb50d0db2317feb4a358310de972ecb6f4dccaceb4d55cf3a024f4d83422e3137c92238e1a0a0b4766367ad307909a1310445017c71944ac30fc68d01f WHIRLPOOL acd16be2cfea35257f041e5dcf4e5b68fd06f55929b55dcbb95624bc25c3b4230ab6cda98ef5dad7fceb31958a33318897698aec5fdbc5ba33d766cfc083b5c5
|
||||
|
@ -0,0 +1,32 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome2
|
||||
|
||||
DESCRIPTION="Compiler for the GObject type system"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0.34"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.32:2
|
||||
>=dev-libs/vala-common-${PV}
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
!${CATEGORY}/${PN}:0
|
||||
dev-libs/libxslt
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
test? (
|
||||
dev-libs/dbus-glib
|
||||
>=dev-libs/glib-2.26:2 )
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure --disable-unversioned
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST folks-0.11.2.tar.xz 1939808 SHA256 35a80a40e0cf68d5e86eff2ad55320f17427f66377c453ba5a1dbbd71755a1b8 SHA512 cefcbdad7e2924a65c066ecf2cadda61d56e9942b525242b4a2ec410a1ccf25a2db98987f38a5af5fb071e0a881f103462194591165f0699aa01296215926e4d WHIRLPOOL b108b704f3928f4dc4e6a855081c539d8c5262e98d1bab34454cc595b351f074f2691a2a12d4d0734b3d0693de7eac9ec144c45723c82b00dc0a47b1d4428986
|
||||
DIST folks-0.11.3.tar.xz 1950448 SHA256 2a2828a7c87fd39e5786f8f2cf0ebe47576a74974f1355c478a6dc747d7bcb64 SHA512 ff7061e07545d3c66045dd6fda1045023778b5cf6a4beb15ebd494076d9133564ec06eda22fe9c61bc91545900a0f0cb0bfa17e29046ef376c12e6b6043faa85 WHIRLPOOL a2f5447cc2aeae37939a5abe0ba4f009ba1155288ef6c8d6ffb47f97f5f2c397ab4887300f8c0e7e1c0f53654a26d79561c55d460184ef8d6adf4f03b7b8a4a4
|
||||
DIST folks-0.11.4.tar.xz 1972272 SHA256 a7b03ed30373e29f62fc3e6f498adce2d4909b852608fc2058a02fda9f80189a SHA512 bd4088322c34b5d6e633d7d5d83dfb61eb3499014adf6fecad27231ec63509401b2867186d019a2f7c92cc3b3f2e6cfbc80e0d4700d84ce7a08d8153af3d2392 WHIRLPOOL 07792b570e9acb8aa56d56038ab909d869dfb6d4ac8e5e0ffeff33492791ae167e2dd5ae7e34c10459832c70761e3a1d277ceaf70b7ec908e920e7d0c67f8b4f
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST glib-2.50.3.tar.xz 7589284 SHA256 82ee94bf4c01459b6b00cb9db0545c2237921e3060c0b74cff13fbc020cfd999 SHA512 ef35806c15170b6608445f255136c0bebd2d433adf903c2af2865f6a57b4f2fcfc1e4a7cea1a0dac48ff5fe26248fbf7886dba4a8d209506f0a94160df8fb7af WHIRLPOOL fc8effb457005a234ccb164d74026cec4af7f9a70eef0a8d58efebfacdcf0d7f7713042a9476e6a89e4effbdf4b0d59377811790557cc991cf6b397e5e984f93
|
||||
DIST glib-2.52.2.tar.xz 7672064 SHA256 f00e5d9e2a2948b1da25fcba734a6b7a40f556de8bc9f528a53f6569969ac5d0 SHA512 3ea49b75b6f80d9974ebd3c40518d5aaffffd9d9d008c1ae3302690fa34899b91ae59c87f8235077129bbd8b01ef19211efb89bc7fdb08d0254b07735b1ba92d WHIRLPOOL f8e6a75b95ace42291a49307f6d9ad30070eddc5160fee21165c0d23db929da92cc3b0e78b907b05ff8c60d6dd68b19139862a970af373ee720f7a5538554138
|
||||
DIST glib-2.52.3.tar.xz 7679972 SHA256 25ee7635a7c0fcd4ec91cbc3ae07c7f8f5ce621d8183511f414ded09e7e4e128 SHA512 a068f2519cfb82de8d4b7f004e7c1f15e841cad4046430a83b02b359d011e0c4077cdff447a1687ed7c68f1a11b4cf66b9ed9fc23ab5f0c7c6be84eb0ddc3017 WHIRLPOOL 733ab64abbd60c633833d662d6b58e011478f85d1b0ab48a4af4cbe79e6c9973ccc86247dec2897a0c7663edeee516a3f034c14ac9b5e7a3dba97a04a88298f0
|
||||
DIST pkg-config-0.28.tar.gz 1931203 SHA256 6b6eb31c6ec4421174578652c7e141fdaae2dabad1021f420d8713206ac1f845 SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320 WHIRLPOOL db4ddb4ce61724e629931c5ffccb4d7a551b4dc0f4efed5a966822307e4b5a786adee5705dd80ec0a9aa32cb1af9ad9615e307360e131fc34688207216161486
|
||||
|
@ -1 +1,2 @@
|
||||
DIST libpqxx-4.0.1.tar.gz 1582532 SHA256 097ceda2797761ce517faa5bee186c883df1c407cb2aada613a16773afeedc38 SHA512 00204985097ef8bb0a3376d6ba541dbb471d7c52d7135f6244a9f4acbf6c8e5254d6f813e4411421e49bb56f4a520fc6ac67e300141d724396ce0ac11bd3a95e WHIRLPOOL d377863f9200e7ed235f8a2cf132b554efa4223d5f542eea23d743ffe391a13d44da767ee2f70146558e5b393ba334656c09007241c1aadde750c00c16e25c12
|
||||
DIST libpqxx-5.0.1.tar.gz 743560 SHA256 21ba7167aeeb76142c0e865127514b4834cefde45eaab2d5eb79099188e21a06 SHA512 a097a419301d45e8078af08eb4667b7ae06c91d8bb62d57d26e0f6df138eeea350d4ba672a96271f724b3de86f3dd1d57da81aee093835c4b08b2084e98720ef WHIRLPOOL ca447f769f01a876edae5fd05c9b42fb6c33c5684ba61e07b1055586f332310290d85f2dfea9ba4d537100d427b342afd3f75ba948def9b70dabc68ac926d28a
|
||||
|
@ -0,0 +1,89 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-any-r1
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
|
||||
|
||||
DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
|
||||
SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
HOMEPAGE="http://pqxx.org/development/libpqxx/"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="doc static-libs"
|
||||
|
||||
RDEPEND="dev-db/postgresql:="
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
${RDEPEND}
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
app-text/xmlto
|
||||
)
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
sed -e 's/python/python2/' \
|
||||
-i tools/{splitconfig,template2mak.py} \
|
||||
|| die "Couldn't fix Python shebangs"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
use static-libs && myconf="--enable-static" || myconf="--enable-shared"
|
||||
|
||||
econf ${myconf} $(use_enable doc documentation)
|
||||
}
|
||||
|
||||
src_install () {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodoc AUTHORS ChangeLog NEWS README*
|
||||
use doc && dodoc -r doc/html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo "The tests need a running PostgreSQL server and an existing database."
|
||||
einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
|
||||
einfo "set PGPORT and PGHOST. Define them at the command line or in:"
|
||||
einfo " ${EROOT%/}/etc/libpqxx_test_env"
|
||||
|
||||
if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
|
||||
if [[ -f ${EROOT%/}/etc/libpqxx_test_env ]] ; then
|
||||
source "${EROOT%/}/etc/libpqxx_test_env"
|
||||
[[ -n $PGDATABASE ]] && export PGDATABASE
|
||||
[[ -n $PGHOST ]] && export PGHOST
|
||||
[[ -n $PGPORT ]] && export PGPORT
|
||||
[[ -n $PGUSER ]] && export PGUSER
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
|
||||
local server_version
|
||||
server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
|
||||
if [[ $? = 0 ]] ; then
|
||||
# Currently works with highest server version in tree
|
||||
#server_version=$(echo ${server_version} | cut -d " " -f 2 | cut -d "." -f -2 | tr -d .)
|
||||
#if [[ $server_version < 92 ]] ; then
|
||||
cd "${S}/test"
|
||||
emake check
|
||||
#else
|
||||
# eerror "Server version must be 8.4.x or below."
|
||||
# die "Server version isn't 8.4.x or below"
|
||||
#fi
|
||||
else
|
||||
eerror "Is the server running?"
|
||||
eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
|
||||
eerror " Role: ${PGUSER}"
|
||||
eerror " Database: ${PGDATABASE}"
|
||||
die "Couldn't connect to server."
|
||||
fi
|
||||
else
|
||||
eerror "PGDATABASE and PGUSER must be set to perform tests."
|
||||
eerror "Skipping tests."
|
||||
fi
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST vala-0.32.1.tar.xz 2759528 SHA256 dd0d47e548a34cfb1e4b04149acd082a86414c49057ffb79902eb9a508a161a9 SHA512 d59db1bd9132f93f187c30ccabff9d21fe8685293a6494e5b009d883de4f844cc4b8dc5d3b6eb4e026a93490f2e4ff7ba83ff22a093c6f8f85e68d83f5fe1bb0 WHIRLPOOL d61a171cacb62f008e15408729b809f9a13f11880395526a9890ddfed1a41d0ad021c57c8d9d93ffdf6f99ee5231fffdb4fa1763d8b7238a8f62ae67f4aa22ca
|
||||
DIST vala-0.34.8.tar.xz 2778228 SHA256 22899bad63436ccfab4abc44face3bf4c1e4e72dea5891d67626dc360078c0a3 SHA512 03739173aa2b4e5d476037c77ac86543b97bd6eeb94f40dcce952da127e32baefa0dfa83f9d6e8ea254d4aee5ecd557964520926239bd119da72c771e30ece14 WHIRLPOOL b5874c5b08427d758fdd0e02f1f431296acc7451c609c75b06017e26ea11c835b89ddd1803de0a24f957b0c7f2ad6f4473c674b8cc76317a84c0d6d3b5ddaf8b
|
||||
DIST vala-0.34.9.tar.xz 2783952 SHA256 36662f77e36abf9ce6f46e3015c4512276e6361553bdcc2d75566ed83a1da19d SHA512 8128dfbb50d0db2317feb4a358310de972ecb6f4dccaceb4d55cf3a024f4d83422e3137c92238e1a0a0b4766367ad307909a1310445017c71944ac30fc68d01f WHIRLPOOL acd16be2cfea35257f041e5dcf4e5b68fd06f55929b55dcbb95624bc25c3b4230ab6cda98ef5dad7fceb31958a33318897698aec5fdbc5ba33d766cfc083b5c5
|
||||
|
@ -0,0 +1,76 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME_ORG_MODULE="vala"
|
||||
|
||||
inherit gnome.org
|
||||
|
||||
DESCRIPTION="Build infrastructure for packages that use Vala"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
IUSE=""
|
||||
|
||||
# Previously ${PN} was part of dev-lang/vala
|
||||
RDEPEND="
|
||||
!<dev-lang/vala-0.10.4-r2
|
||||
!<dev-lang/vala-0.12.1-r1:0.12
|
||||
!<dev-lang/vala-0.14.2-r2:0.14
|
||||
!<dev-lang/vala-0.16.1-r2:0.16
|
||||
!<dev-lang/vala-0.17.5:0.18
|
||||
"
|
||||
DEPEND=""
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/aclocal
|
||||
doins vala.m4 vapigen/vapigen.m4
|
||||
insinto /usr/share/vala
|
||||
doins vapigen/Makefile.vapigen
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Hack to prevent alternatives_auto_makesym in previously installed
|
||||
# dev-lang/vala's pkg_postrm from overwriting vala-common's files
|
||||
if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
|
||||
ebegin "Removing old vala-0.10 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
|
||||
ebegin "Removing old vala-0.12 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
|
||||
ebegin "Removing old vala-0.14 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
|
||||
ebegin "Removing old vala-0.16 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
|
||||
eend $?
|
||||
if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
|
||||
ebegin "Removing old vala-0.16 makefile template"
|
||||
rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
fi
|
||||
if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
|
||||
ebegin "Removing old vala-0.18 macros"
|
||||
rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
|
||||
eend $?
|
||||
if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
|
||||
ebegin "Removing old vala-0.18 makefile template"
|
||||
rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
|
||||
eend $?
|
||||
fi
|
||||
fi
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST fmt-0.8.2.tbz 13668 SHA256 11a1b12037aea444b1ead54143bd0abde43752a57e1ac77dfeab98cac8f91808 SHA512 38f567a988176bb4628665e6f5e47dba4917a2f65310d222dcd7f14809a38fbd824e9ee05ba4de97a20aa2c57a813541c587c8c438b2ac1f93199dddaa441ae0 WHIRLPOOL 159c7d9dfe389707e6a566ae75c52cf4fb890d253c978baecb2ae9d93d03a06094e4e3098141bea9c6686143c53445449bc07bfec35922374cd3ae9774cccd98
|
||||
DIST fmt-0.8.3.tbz 13918 SHA256 b942f20b42d8e10812843995bfef504e7eae3f605908c2d00cd59cf91d5e3aec SHA512 9c63c9a3ae72e5d18041fc1ed03d36f4cdf66847aa960014e682bd7d576df516db9638d9d9df6fcfcaa863d243d37044c4f74dcf9e2518bd4ce6be0fa3994aea WHIRLPOOL 436d8248d6d2266f98ba353672d0c4b5b189a5b031ba69284004ec35d93e51bd2913343651611132dcc72bfe633e42754684c1d1f4ed39eaf34164283edd5011
|
||||
DIST fmt-0.8.4.tbz 14079 SHA256 7b6304eb1b4a34fabeb456628eeb236ea3ff96dc34651516b21562ace3d234e2 SHA512 d17407f15447172ad444fa288b9a16962b0e4829cb73f62004b0f8dad2bec60a7911ad11fd05545d61d7fdb88099e53694548c73368399ba183c53383e1dfd31 WHIRLPOOL d8a30d7b6219ae656d3e21a86b39a3e345a4301ba26739d63b82d6b0d880a9128d34de523f7a3d96592ece7caea13f7ada27599cfbc0cfbb77d6efa073105d77
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit findlib
|
||||
|
||||
DESCRIPTION="Combinators to devise OCaml Format pretty-printing functions"
|
||||
HOMEPAGE="http://erratique.ch/software/fmt https://github.com/dbuenzli/fmt"
|
||||
SRC_URI="http://erratique.ch/software/fmt/releases/${P}.tbz"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-ml/result:=[ocamlopt]
|
||||
dev-lang/ocaml:=[ocamlopt]
|
||||
dev-ml/uchar:=[ocamlopt]
|
||||
dev-ml/cmdliner:=[ocamlopt]"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ml/opam
|
||||
>=dev-ml/topkg-0.9
|
||||
dev-ml/ocamlbuild
|
||||
dev-ml/findlib"
|
||||
|
||||
src_compile() {
|
||||
ocaml pkg/pkg.ml build --tests $(usex test 'true' 'false') || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
ocaml pkg/pkg.ml test || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
opam-installer -i \
|
||||
--prefix="${ED}/usr" \
|
||||
--libdir="${D}/$(ocamlc -where)" \
|
||||
--docdir="${ED}/usr/share/doc/${PF}" \
|
||||
${PN}.install || die
|
||||
dodoc CHANGES.md README.md
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit findlib
|
||||
|
||||
DESCRIPTION="Library for binding to C libraries using pure OCaml"
|
||||
HOMEPAGE="https://github.com/ocamllabs/ocaml-ctypes"
|
||||
SRC_URI="https://github.com/ocamllabs/ocaml-ctypes/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-lang/ocaml-4.02:=[ocamlopt]
|
||||
virtual/libffi
|
||||
dev-ml/integers:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-ml/ounit dev-ml/lwt )"
|
||||
|
||||
src_compile() {
|
||||
emake -j1
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
findlib_src_install
|
||||
dodoc CHANGES.md README.md
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue