parent
59437ee255
commit
4f7205f224
@ -1,162 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-3.4.1.ebuild,v 1.7 2015/04/16 17:54:50 prometheanfire Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
#supports ruby20, but needs deps first
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
inherit elisp-common xemacs-elisp-common eutils user ruby-ng versionator
|
||||
|
||||
DESCRIPTION="A system automation and configuration management software"
|
||||
HOMEPAGE="http://puppetlabs.com/"
|
||||
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 hppa ppc sparc x86"
|
||||
IUSE="augeas diff doc emacs ldap minimal rrdtool selinux shadow sqlite3 vim-syntax xemacs"
|
||||
|
||||
ruby_add_rdepend "
|
||||
dev-ruby/hiera
|
||||
>=dev-ruby/facter-1.6.2
|
||||
augeas? ( dev-ruby/ruby-augeas )
|
||||
diff? ( dev-ruby/diff-lcs )
|
||||
doc? ( dev-ruby/rdoc )
|
||||
ldap? ( dev-ruby/ruby-ldap )
|
||||
shadow? ( dev-ruby/ruby-shadow )
|
||||
sqlite3? ( dev-ruby/sqlite3 )
|
||||
virtual/ruby-ssl"
|
||||
|
||||
DEPEND="${DEPEND}
|
||||
ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] )
|
||||
emacs? ( virtual/emacs )
|
||||
xemacs? ( app-editors/xemacs )"
|
||||
RDEPEND="${RDEPEND}
|
||||
ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] )
|
||||
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
|
||||
selinux? (
|
||||
sys-libs/libselinux[ruby]
|
||||
sec-policy/selinux-puppet
|
||||
)
|
||||
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
|
||||
>=app-portage/eix-0.18.0"
|
||||
|
||||
SITEFILE="50${PN}-mode-gentoo.el"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup puppet
|
||||
enewuser puppet -1 -1 /var/lib/puppet puppet
|
||||
}
|
||||
|
||||
all_ruby_compile() {
|
||||
if use emacs ; then
|
||||
elisp-compile ext/emacs/puppet-mode.el
|
||||
fi
|
||||
|
||||
if use xemacs ; then
|
||||
# Create a separate version for xemacs to be able to install
|
||||
# emacs and xemacs in parallel.
|
||||
mkdir ext/xemacs
|
||||
cp ext/emacs/* ext/xemacs/
|
||||
xemacs-elisp-compile ext/xemacs/puppet-mode.el
|
||||
fi
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
${RUBY} install.rb --destdir="${D}" install || die
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
#systemd stuffs
|
||||
insinto /usr/lib/systemd/system
|
||||
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
|
||||
insinto /usr/lib/tmpfiles.d
|
||||
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
|
||||
|
||||
newinitd "${FILESDIR}"/puppet.init-r1 puppet
|
||||
|
||||
# Initial configuration files
|
||||
insinto /etc/puppet
|
||||
|
||||
# Location of log and data files
|
||||
keepdir /var/log/puppet
|
||||
fowners -R puppet:puppet /var/log/puppet
|
||||
|
||||
if use minimal ; then
|
||||
rm "${ED}/etc/puppet/auth.conf"
|
||||
else
|
||||
insinto /usr/lib/systemd/system
|
||||
doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service"
|
||||
newinitd "${FILESDIR}"/puppetmaster.init-r1 puppetmaster
|
||||
newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster
|
||||
|
||||
insinto /etc/puppet
|
||||
|
||||
keepdir /etc/puppet/manifests
|
||||
keepdir /etc/puppet/modules
|
||||
|
||||
keepdir /var/lib/puppet/ssl
|
||||
keepdir /var/lib/puppet/facts
|
||||
keepdir /var/lib/puppet/files
|
||||
fowners -R puppet:puppet /var/lib/puppet
|
||||
fi
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} ext/emacs/puppet-mode.el*
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
if use xemacs ; then
|
||||
xemacs-elisp-install ${PN} ext/xemacs/puppet-mode.el*
|
||||
xemacs-elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
|
||||
fi
|
||||
|
||||
# ext and examples files
|
||||
for f in $(find ext examples -type f) ; do
|
||||
docinto "$(dirname ${f})"; dodoc "${f}"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
|
||||
elog "cause puppet to hang while installing packages."
|
||||
elog
|
||||
elog "Portage Puppet module with Gentoo-specific resources:"
|
||||
elog "http://forge.puppetlabs.com/gentoo/portage"
|
||||
elog
|
||||
|
||||
if [ \
|
||||
-f "${EPREFIX}/etc/puppet/puppetd.conf" -o \
|
||||
-f "${EPREFIX}/etc/puppet/puppetmaster.conf" -o \
|
||||
-f "${EPREFIX}/etc/puppet/puppetca.conf" \
|
||||
] ; then
|
||||
elog
|
||||
elog "Please remove deprecated config files."
|
||||
elog " /etc/puppet/puppetca.conf"
|
||||
elog " /etc/puppet/puppetd.conf"
|
||||
elog " /etc/puppet/puppetmasterd.conf"
|
||||
elog
|
||||
fi
|
||||
|
||||
if [ "$(get_major_version $REPLACING_VERSIONS)" = "2" ]; then
|
||||
elog
|
||||
elog "If you're upgrading from 2.x then we strongly suggest you to read:"
|
||||
elog "http://docs.puppetlabs.com/guides/upgrading.html"
|
||||
elog
|
||||
fi
|
||||
|
||||
use emacs && elisp-site-regen
|
||||
use xemacs && xemacs-elisp-site-regen
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use xemacs && xemacs-elisp-site-regen
|
||||
}
|
@ -1,191 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/puppet/puppet-3.7.4.ebuild,v 1.3 2015/04/16 17:54:50 prometheanfire Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
USE_RUBY="ruby19 ruby20"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec"
|
||||
|
||||
inherit elisp-common xemacs-elisp-common eutils user ruby-fakegem versionator
|
||||
|
||||
DESCRIPTION="A system automation and configuration management software"
|
||||
HOMEPAGE="http://puppetlabs.com/"
|
||||
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
|
||||
IUSE="augeas diff doc emacs ldap minimal rrdtool selinux shadow sqlite3 vim-syntax xemacs"
|
||||
|
||||
ruby_add_rdepend "
|
||||
dev-ruby/hiera
|
||||
>=dev-ruby/rgen-0.6.5 =dev-ruby/rgen-0.6*
|
||||
>=dev-ruby/facter-1.6.2 <dev-ruby/facter-3
|
||||
dev-ruby/json
|
||||
augeas? ( dev-ruby/ruby-augeas )
|
||||
diff? ( dev-ruby/diff-lcs )
|
||||
doc? ( dev-ruby/rdoc )
|
||||
ldap? ( dev-ruby/ruby-ldap )
|
||||
shadow? ( dev-ruby/ruby-shadow )
|
||||
sqlite3? ( dev-ruby/sqlite3 )
|
||||
virtual/ruby-ssl"
|
||||
|
||||
ruby_add_bdepend "test? ( dev-ruby/mocha:0.10 )"
|
||||
|
||||
DEPEND="${DEPEND}
|
||||
ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] )
|
||||
emacs? ( virtual/emacs )
|
||||
xemacs? ( app-editors/xemacs )"
|
||||
RDEPEND="${RDEPEND}
|
||||
ruby_targets_ruby19? ( dev-lang/ruby:1.9[yaml] )
|
||||
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
|
||||
selinux? (
|
||||
sys-libs/libselinux[ruby]
|
||||
sec-policy/selinux-puppet
|
||||
)
|
||||
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
|
||||
>=app-portage/eix-0.18.0"
|
||||
|
||||
SITEFILE="50${PN}-mode-gentoo.el"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup puppet
|
||||
enewuser puppet -1 -1 /var/lib/puppet puppet
|
||||
}
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid spec that require unpackaged json-schema.
|
||||
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
|
||||
|
||||
# Avoid Rails specs to avoid this dependency and because they
|
||||
# currently fail against Rails 4.1.
|
||||
find spec -type f -name '*rails*' -o -name '*active_record*' | xargs rm || die
|
||||
rm -r spec/unit/rails || die
|
||||
rm spec/unit/parser/collector_spec.rb || die
|
||||
|
||||
# Avoid specs that can only run in the puppet.git repository. This
|
||||
# should be narrowed down to the specific specs.
|
||||
rm spec/integration/parser/compiler_spec.rb spec/integration/parser/future_compiler_spec.rb || die
|
||||
|
||||
# Avoid failing spec that need further investigation.
|
||||
rm spec/unit/module_tool/metadata_spec.rb || die
|
||||
}
|
||||
|
||||
all_ruby_compile() {
|
||||
if use emacs ; then
|
||||
elisp-compile ext/emacs/puppet-mode.el
|
||||
fi
|
||||
|
||||
if use xemacs ; then
|
||||
# Create a separate version for xemacs to be able to install
|
||||
# emacs and xemacs in parallel.
|
||||
mkdir ext/xemacs
|
||||
cp ext/emacs/* ext/xemacs/
|
||||
xemacs-elisp-compile ext/xemacs/puppet-mode.el
|
||||
fi
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
each_fakegem_install
|
||||
#${RUBY} install.rb --destdir="${D}" install || die
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
all_fakegem_install
|
||||
|
||||
#systemd stuffs
|
||||
insinto /usr/lib/systemd/system
|
||||
doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
|
||||
insinto /usr/lib/tmpfiles.d
|
||||
newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
|
||||
|
||||
newinitd "${FILESDIR}"/puppet.init-r1 puppet
|
||||
|
||||
# Initial configuration files
|
||||
insinto /etc/puppet
|
||||
|
||||
# Location of log and data files
|
||||
keepdir /var/log/puppet
|
||||
fowners -R puppet:puppet /var/log/puppet
|
||||
|
||||
if use minimal ; then
|
||||
rm "${ED}/etc/puppet/auth.conf"
|
||||
else
|
||||
insinto /usr/lib/systemd/system
|
||||
doins "${WORKDIR}/all/${P}/ext/systemd/puppetmaster.service"
|
||||
newinitd "${FILESDIR}"/puppetmaster.init-r1 puppetmaster
|
||||
newconfd "${FILESDIR}"/puppetmaster.confd puppetmaster
|
||||
|
||||
insinto /etc/puppet
|
||||
|
||||
keepdir /etc/puppet/manifests
|
||||
keepdir /etc/puppet/modules
|
||||
|
||||
keepdir /var/lib/puppet/ssl
|
||||
keepdir /var/lib/puppet/facts
|
||||
keepdir /var/lib/puppet/files
|
||||
fowners -R puppet:puppet /var/lib/puppet
|
||||
fperms 0750 /var/lib/puppet
|
||||
fi
|
||||
fperms 0750 /etc/puppet
|
||||
fowners :puppet /etc/puppet
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} ext/emacs/puppet-mode.el*
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
if use xemacs ; then
|
||||
xemacs-elisp-install ${PN} ext/xemacs/puppet-mode.el*
|
||||
xemacs-elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
|
||||
fi
|
||||
|
||||
# ext and examples files
|
||||
for f in $(find ext examples -type f) ; do
|
||||
docinto "$(dirname ${f})"; dodoc "${f}"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
|
||||
elog "cause puppet to hang while installing packages."
|
||||
elog
|
||||
elog "Portage Puppet module with Gentoo-specific resources:"
|
||||
elog "http://forge.puppetlabs.com/gentoo/portage"
|
||||
elog
|
||||
|
||||
if [ \
|
||||
-f "${EPREFIX}/etc/puppet/puppetd.conf" -o \
|
||||
-f "${EPREFIX}/etc/puppet/puppetmaster.conf" -o \
|
||||
-f "${EPREFIX}/etc/puppet/puppetca.conf" \
|
||||
] ; then
|
||||
elog
|
||||
elog "Please remove deprecated config files."
|
||||
elog " /etc/puppet/puppetca.conf"
|
||||
elog " /etc/puppet/puppetd.conf"
|
||||
elog " /etc/puppet/puppetmasterd.conf"
|
||||
elog
|
||||
fi
|
||||
|
||||
if [ "$(get_major_version $REPLACING_VERSIONS)" = "2" ]; then
|
||||
elog
|
||||
elog "If you're upgrading from 2.x then we strongly suggest you to read:"
|
||||
elog "http://docs.puppetlabs.com/guides/upgrading.html"
|
||||
elog
|
||||
fi
|
||||
|
||||
use emacs && elisp-site-regen
|
||||
use xemacs && xemacs-elisp-site-regen
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use xemacs && xemacs-elisp-site-regen
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
commit 9e251c7574d074e424ea19024f743c754f321979
|
||||
Author: Devan Franchini <twitch153@gentoo.org>
|
||||
Date: Fri Jul 10 21:25:17 2015 -0400
|
||||
|
||||
config.py: Fixes package version checking regression
|
||||
|
||||
Previously webapp-config would not do any sanity checks when
|
||||
setting the package version. After adding a sanity check in 1.54
|
||||
I made the mistake of not being flexible enough and this caused
|
||||
a regression that prevented web apps with versions such as
|
||||
"20140929d"[1] to be installed. This commit fixes that while still
|
||||
allowing for some sanity checking.
|
||||
|
||||
[1]: https://github.com/gentoo/webapp-config/issues/2
|
||||
|
||||
diff --git a/WebappConfig/config.py b/WebappConfig/config.py
|
||||
index 6c915c3..3a176a0 100644
|
||||
--- a/WebappConfig/config.py
|
||||
+++ b/WebappConfig/config.py
|
||||
@@ -996,17 +996,20 @@ class Config:
|
||||
OUT.die('Invalid package name')
|
||||
|
||||
if len(args) > 1:
|
||||
- argsvr = args[1].split('.')
|
||||
- if len(argsvr) == 1:
|
||||
- OUT.die('Invalid package version: %(pvr)s'
|
||||
+ pvr = args[1]
|
||||
+ has_int = False # A package version should have at least one
|
||||
+ # numerical value, but we want to allow for
|
||||
+ # the flexibility of having any alphanumeric
|
||||
+ # value while checking to make sure it's sane.
|
||||
+
|
||||
+ for char in pvr:
|
||||
+ if char.isdigit():
|
||||
+ has_int = True
|
||||
+
|
||||
+ if not has_int:
|
||||
+ OUT.die('Invalid package version: "%(pvr)s"'
|
||||
% {'pvr': args[1]})
|
||||
|
||||
- pvr = ''
|
||||
- for i in range(0, len(argsvr)):
|
||||
- if not i == len(argsvr) - 1:
|
||||
- pvr += argsvr[i] + '.'
|
||||
- else:
|
||||
- pvr += argsvr[i]
|
||||
self.config.set('USER', 'pvr', pvr)
|
||||
|
||||
if (not options['dir'] and
|
@ -0,0 +1,351 @@
|
||||
From 67f9b6e3c5d2397446d39ab454f691c1ee46d2c0 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Julliard <julliard@winehq.org>
|
||||
Date: Sat, 30 Nov 2013 11:22:25 +0100
|
||||
Subject: [PATCH] configure: Update FreeType configure checks for the changed
|
||||
headers location.
|
||||
|
||||
---
|
||||
configure | 78 +++++++++++++++------------------------------------
|
||||
configure.ac | 40 +++++++-------------------
|
||||
dlls/gdi32/freetype.c | 62 ++++++++++++++--------------------------
|
||||
include/config.h.in | 33 ----------------------
|
||||
4 files changed, 54 insertions(+), 159 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 80348f3..9b2f2c2 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -11419,7 +11419,21 @@ test "$cross_compiling" = yes || FREETYPE_LIBS=${FREETYPE_LIBS:-`(freetype-confi
|
||||
FREETYPE_LIBS=${FREETYPE_LIBS:-"-lfreetype"}
|
||||
ac_save_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -lfreetype" >&5
|
||||
+for ac_header in ft2build.h
|
||||
+do :
|
||||
+ ac_fn_c_check_header_mongrel "$LINENO" "ft2build.h" "ac_cv_header_ft2build_h" "$ac_includes_default"
|
||||
+if test "x$ac_cv_header_ft2build_h" = xyes; then :
|
||||
+ cat >>confdefs.h <<_ACEOF
|
||||
+#define HAVE_FT2BUILD_H 1
|
||||
+_ACEOF
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+done
|
||||
+
|
||||
+ if test "$ac_cv_header_ft2build_h" = "yes"
|
||||
+ then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -lfreetype" >&5
|
||||
$as_echo_n "checking for -lfreetype... " >&6; }
|
||||
if ${ac_cv_lib_soname_freetype+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
@@ -11461,7 +11475,7 @@ fi
|
||||
if test "x$ac_cv_lib_soname_freetype" = "x"; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
|
||||
$as_echo "not found" >&6; }
|
||||
- ft_lib=no
|
||||
+ FREETYPE_LIBS=""
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_soname_freetype" >&5
|
||||
$as_echo "$ac_cv_lib_soname_freetype" >&6; }
|
||||
@@ -11470,51 +11484,11 @@ cat >>confdefs.h <<_ACEOF
|
||||
#define SONAME_LIBFREETYPE "$ac_cv_lib_soname_freetype"
|
||||
_ACEOF
|
||||
|
||||
- ft_lib=yes
|
||||
-fi
|
||||
- if test "$ft_lib" = "yes"
|
||||
- then
|
||||
- for ac_header in ft2build.h \
|
||||
- freetype/freetype.h \
|
||||
- freetype/ftglyph.h \
|
||||
- freetype/fttypes.h \
|
||||
- freetype/tttables.h \
|
||||
- freetype/ftsnames.h \
|
||||
- freetype/ttnameid.h \
|
||||
- freetype/ftoutln.h \
|
||||
- freetype/ftwinfnt.h \
|
||||
- freetype/ftmodapi.h \
|
||||
- freetype/ftlcdfil.h
|
||||
-do :
|
||||
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_FT2BUILD_H
|
||||
-# include <ft2build.h>
|
||||
-#endif
|
||||
-"
|
||||
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
|
||||
- cat >>confdefs.h <<_ACEOF
|
||||
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||
-_ACEOF
|
||||
-
|
||||
-fi
|
||||
-
|
||||
-done
|
||||
-
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <ft2build.h>
|
||||
-#include <freetype/fttrigon.h>
|
||||
-_ACEOF
|
||||
-if ac_fn_c_try_cpp "$LINENO"; then :
|
||||
|
||||
-$as_echo "#define HAVE_FREETYPE_FTTRIGON_H 1" >>confdefs.h
|
||||
+$as_echo "#define HAVE_FREETYPE 1" >>confdefs.h
|
||||
|
||||
- wine_cv_fttrigon=yes
|
||||
-else
|
||||
- wine_cv_fttrigon=no
|
||||
-fi
|
||||
-rm -f conftest.err conftest.i conftest.$ac_ext
|
||||
- ac_fn_c_check_type "$LINENO" "FT_TrueTypeEngineType" "ac_cv_type_FT_TrueTypeEngineType" "#include <freetype/ftmodapi.h>
|
||||
+ ac_fn_c_check_type "$LINENO" "FT_TrueTypeEngineType" "ac_cv_type_FT_TrueTypeEngineType" "#include <ft2build.h>
|
||||
+#include FT_MODULE_H
|
||||
"
|
||||
if test "x$ac_cv_type_FT_TrueTypeEngineType" = xyes; then :
|
||||
|
||||
@@ -11525,15 +11499,9 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
- if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
|
||||
- then
|
||||
-
|
||||
-$as_echo "#define HAVE_FREETYPE 1" >>confdefs.h
|
||||
-
|
||||
- else
|
||||
- FREETYPE_LIBS=""
|
||||
- fi
|
||||
+fi
|
||||
else
|
||||
+ FREETYPE_CFLAGS=""
|
||||
FREETYPE_LIBS=""
|
||||
fi
|
||||
CPPFLAGS=$ac_save_CPPFLAGS
|
||||
@@ -11541,14 +11509,14 @@ test -z "$FREETYPE_CFLAGS" || FREETYPE_CFLAGS=`echo " $FREETYPE_CFLAGS" | sed 's
|
||||
test -z "$FREETYPE_LIBS" || FREETYPE_LIBS=`echo " $FREETYPE_LIBS" | sed 's/ -L\([^/]\)/ -L\$(top_builddir)\/\1/g'`
|
||||
|
||||
fi
|
||||
-if test "x$ac_cv_header_freetype_freetype_h" != xyes -o "x$wine_cv_fttrigon" != xyes; then :
|
||||
+if test "x$ac_cv_lib_soname_freetype" = x; then :
|
||||
case "x$with_freetype" in
|
||||
xno) ;;
|
||||
*) as_fn_error $? "FreeType ${notice_platform}development files not found. Fonts will not be built.
|
||||
Use the --without-freetype option if you really want this." "$LINENO" 5 ;;
|
||||
esac
|
||||
fi
|
||||
-test "x$ac_cv_header_freetype_freetype_h" = xyes -a "x$wine_cv_fttrigon" = xyes || enable_fonts=${enable_fonts:-no}
|
||||
+test "x$ac_cv_lib_soname_freetype" = x && enable_fonts=${enable_fonts:-no}
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for parport header/ppdev.h" >&5
|
||||
$as_echo_n "checking for parport header/ppdev.h... " >&6; }
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 81b7027..c4021b4 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1463,42 +1463,22 @@ then
|
||||
WINE_PACKAGE_FLAGS(FREETYPE,[freetype2],[-lfreetype],
|
||||
[`(freetype-config --cflags || freetype2-config --cflags) 2>/dev/null`],
|
||||
[`(freetype-config --libs || freetype2-config --libs) 2>/dev/null`],
|
||||
- [WINE_CHECK_SONAME(freetype,FT_Init_FreeType,[ft_lib=yes],[ft_lib=no],[$FREETYPE_LIBS])
|
||||
- if test "$ft_lib" = "yes"
|
||||
+ [AC_CHECK_HEADERS([ft2build.h])
|
||||
+ if test "$ac_cv_header_ft2build_h" = "yes"
|
||||
then
|
||||
- AC_CHECK_HEADERS(ft2build.h \
|
||||
- freetype/freetype.h \
|
||||
- freetype/ftglyph.h \
|
||||
- freetype/fttypes.h \
|
||||
- freetype/tttables.h \
|
||||
- freetype/ftsnames.h \
|
||||
- freetype/ttnameid.h \
|
||||
- freetype/ftoutln.h \
|
||||
- freetype/ftwinfnt.h \
|
||||
- freetype/ftmodapi.h \
|
||||
- freetype/ftlcdfil.h,,,
|
||||
- [#ifdef HAVE_FT2BUILD_H
|
||||
-# include <ft2build.h>
|
||||
-#endif])
|
||||
- AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <ft2build.h>
|
||||
-#include <freetype/fttrigon.h>]])],[AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
|
||||
- [Define if you have the <freetype/fttrigon.h> header file.])
|
||||
- wine_cv_fttrigon=yes],[wine_cv_fttrigon=no])
|
||||
- AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <freetype/ftmodapi.h>])
|
||||
- dnl Check that we have at least freetype/freetype.h
|
||||
- if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
|
||||
- then
|
||||
- AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
|
||||
- else
|
||||
- FREETYPE_LIBS=""
|
||||
- fi
|
||||
+ WINE_CHECK_SONAME(freetype,FT_Init_FreeType,
|
||||
+ [AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
|
||||
+ AC_CHECK_TYPES(FT_TrueTypeEngineType,,,[#include <ft2build.h>
|
||||
+#include FT_MODULE_H])],
|
||||
+ [FREETYPE_LIBS=""],[$FREETYPE_LIBS])
|
||||
else
|
||||
+ FREETYPE_CFLAGS=""
|
||||
FREETYPE_LIBS=""
|
||||
fi])
|
||||
fi
|
||||
-WINE_ERROR_WITH(freetype,[test "x$ac_cv_header_freetype_freetype_h" != xyes -o "x$wine_cv_fttrigon" != xyes],
|
||||
+WINE_ERROR_WITH(freetype,[test "x$ac_cv_lib_soname_freetype" = x],
|
||||
[FreeType ${notice_platform}development files not found. Fonts will not be built.])
|
||||
-test "x$ac_cv_header_freetype_freetype_h" = xyes -a "x$wine_cv_fttrigon" = xyes || enable_fonts=${enable_fonts:-no}
|
||||
+test "x$ac_cv_lib_soname_freetype" = x && enable_fonts=${enable_fonts:-no}
|
||||
|
||||
dnl **** Check for parport (currently Linux only) ****
|
||||
AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
|
||||
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
|
||||
index fb4f2af..e230299 100644
|
||||
--- a/dlls/gdi32/freetype.c
|
||||
+++ b/dlls/gdi32/freetype.c
|
||||
@@ -77,6 +77,23 @@
|
||||
#undef SetRectRgn
|
||||
#endif /* HAVE_CARBON_CARBON_H */
|
||||
|
||||
+#ifdef HAVE_FT2BUILD_H
|
||||
+#include <ft2build.h>
|
||||
+#include FT_FREETYPE_H
|
||||
+#include FT_GLYPH_H
|
||||
+#include FT_TYPES_H
|
||||
+#include FT_TRUETYPE_TABLES_H
|
||||
+#include FT_SFNT_NAMES_H
|
||||
+#include FT_TRUETYPE_IDS_H
|
||||
+#include FT_OUTLINE_H
|
||||
+#include FT_TRIGONOMETRY_H
|
||||
+#include FT_MODULE_H
|
||||
+#include FT_WINFONTS_H
|
||||
+#ifdef FT_LCD_FILTER_H
|
||||
+#include FT_LCD_FILTER_H
|
||||
+#endif
|
||||
+#endif /* HAVE_FT2BUILD_H */
|
||||
+
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winternl.h"
|
||||
@@ -95,43 +112,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(font);
|
||||
|
||||
#ifdef HAVE_FREETYPE
|
||||
|
||||
-#ifdef HAVE_FT2BUILD_H
|
||||
-#include <ft2build.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FREETYPE_H
|
||||
-#include <freetype/freetype.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTGLYPH_H
|
||||
-#include <freetype/ftglyph.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_TTTABLES_H
|
||||
-#include <freetype/tttables.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTTYPES_H
|
||||
-#include <freetype/fttypes.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTSNAMES_H
|
||||
-#include <freetype/ftsnames.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_TTNAMEID_H
|
||||
-#include <freetype/ttnameid.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTOUTLN_H
|
||||
-#include <freetype/ftoutln.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTTRIGON_H
|
||||
-#include <freetype/fttrigon.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTWINFNT_H
|
||||
-#include <freetype/ftwinfnt.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTMODAPI_H
|
||||
-#include <freetype/ftmodapi.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
|
||||
-#include <freetype/ftlcdfil.h>
|
||||
-#endif
|
||||
-
|
||||
#ifndef HAVE_FT_TRUETYPEENGINETYPE
|
||||
typedef enum
|
||||
{
|
||||
@@ -186,7 +166,7 @@ MAKE_FUNCPTR(FT_Vector_Transform);
|
||||
MAKE_FUNCPTR(FT_Vector_Unit);
|
||||
static FT_Error (*pFT_Outline_Embolden)(FT_Outline *, FT_Pos);
|
||||
static FT_TrueTypeEngineType (*pFT_Get_TrueType_Engine_Type)(FT_Library);
|
||||
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
|
||||
+#ifdef FT_LCD_FILTER_H
|
||||
static FT_Error (*pFT_Library_SetLcdFilter)(FT_Library, FT_LcdFilter);
|
||||
#endif
|
||||
|
||||
@@ -924,7 +904,7 @@ static BOOL is_hinting_enabled(void)
|
||||
|
||||
static BOOL is_subpixel_rendering_enabled( void )
|
||||
{
|
||||
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
|
||||
+#ifdef FT_LCD_FILTER_H
|
||||
static int enabled = -1;
|
||||
if (enabled == -1)
|
||||
{
|
||||
@@ -3918,7 +3898,7 @@ static BOOL init_freetype(void)
|
||||
/* Don't warn if these ones are missing */
|
||||
pFT_Outline_Embolden = wine_dlsym(ft_handle, "FT_Outline_Embolden", NULL, 0);
|
||||
pFT_Get_TrueType_Engine_Type = wine_dlsym(ft_handle, "FT_Get_TrueType_Engine_Type", NULL, 0);
|
||||
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
|
||||
+#ifdef FT_LCD_FILTER_H
|
||||
pFT_Library_SetLcdFilter = wine_dlsym(ft_handle, "FT_Library_SetLcdFilter", NULL, 0);
|
||||
#endif
|
||||
|
||||
@@ -6706,7 +6686,7 @@ static DWORD get_glyph_outline(GdiFont *incoming_font, UINT glyph, UINT format,
|
||||
case WINE_GGO_HBGR_BITMAP:
|
||||
case WINE_GGO_VRGB_BITMAP:
|
||||
case WINE_GGO_VBGR_BITMAP:
|
||||
-#ifdef HAVE_FREETYPE_FTLCDFIL_H
|
||||
+#ifdef FT_LCD_FILTER_H
|
||||
{
|
||||
switch (ft_face->glyph->format)
|
||||
{
|
||||
diff --git a/include/config.h.in b/include/config.h.in
|
||||
index a14db5b..79f8b45 100644
|
||||
--- a/include/config.h.in
|
||||
+++ b/include/config.h.in
|
||||
@@ -132,39 +132,6 @@
|
||||
/* Define if FreeType 2 is installed */
|
||||
#undef HAVE_FREETYPE
|
||||
|
||||
-/* Define to 1 if you have the <freetype/freetype.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FREETYPE_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/ftglyph.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTGLYPH_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/ftlcdfil.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTLCDFIL_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/ftmodapi.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTMODAPI_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/ftoutln.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTOUTLN_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/ftsnames.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTSNAMES_H
|
||||
-
|
||||
-/* Define if you have the <freetype/fttrigon.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTTRIGON_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/fttypes.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTTYPES_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/ftwinfnt.h> header file. */
|
||||
-#undef HAVE_FREETYPE_FTWINFNT_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/ttnameid.h> header file. */
|
||||
-#undef HAVE_FREETYPE_TTNAMEID_H
|
||||
-
|
||||
-/* Define to 1 if you have the <freetype/tttables.h> header file. */
|
||||
-#undef HAVE_FREETYPE_TTTABLES_H
|
||||
-
|
||||
/* Define to 1 if the system has the type `fsblkcnt_t'. */
|
||||
#undef HAVE_FSBLKCNT_T
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
@ -0,0 +1,15 @@
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 5c163b8..b600cf7 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -52,7 +52,8 @@ __tooldeps__: libs/port libs/wine libs/wpp
|
||||
__builddeps__: __tooldeps__ include
|
||||
.PHONY: depend check test testclean crosstest __tooldeps__ __builddeps__
|
||||
|
||||
-loader server: libs/port libs/wine tools
|
||||
+loader: libs/port libs/wine tools
|
||||
+server: libs/port libs/wine tools include
|
||||
fonts: tools/sfnt2fon
|
||||
include: tools tools/widl
|
||||
libs/wine tools: libs/port
|
||||
|
@ -0,0 +1,35 @@
|
||||
From deb274226783ab886bdb44876944e156757efe2b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Beitler <dan@dablabs.com>
|
||||
Date: Sun, 18 May 2014 13:27:42 -0400
|
||||
Subject: [PATCH] msi: Prevent call to memset with a null pointer in
|
||||
get_tablecolumns function.
|
||||
|
||||
---
|
||||
dlls/msi/table.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/msi/table.c b/dlls/msi/table.c
|
||||
index 8012369..9ed9421 100644
|
||||
--- a/dlls/msi/table.c
|
||||
+++ b/dlls/msi/table.c
|
||||
@@ -671,7 +671,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF
|
||||
/* Note: _Columns table doesn't have non-persistent data */
|
||||
|
||||
/* if maxcount is non-zero, assume it's exactly right for this table */
|
||||
- memset( colinfo, 0, maxcount * sizeof(*colinfo) );
|
||||
+ if (colinfo) memset( colinfo, 0, maxcount * sizeof(*colinfo) );
|
||||
count = table->row_count;
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
@@ -684,7 +684,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF
|
||||
/* check the column number is in range */
|
||||
if (col < 1 || col > maxcount)
|
||||
{
|
||||
- ERR("column %d out of range\n", col);
|
||||
+ ERR("column %d out of range (maxcount: %d)\n", col, maxcount);
|
||||
continue;
|
||||
}
|
||||
/* check if this column was already set */
|
||||
--
|
||||
1.9.1
|
||||
|
@ -0,0 +1,368 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.6.2-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.21"
|
||||
MV="0.0.8"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.8"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,374 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.0.ebuild,v 1.13 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.21"
|
||||
MV="0.0.8"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.0"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libICE-1.0.8-r1[abi_x86_32(-)]
|
||||
>=x11-libs/libSM-1.2.1-r1[abi_x86_32(-)]
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( sys-auth/rtkit )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.5.17-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
myeconfargs+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(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 v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
use amd64 && use abi_x86_32 && tc-export PKG_CONFIG
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.10.ebuild,v 1.7 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.10"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,370 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.11-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.10"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.13.ebuild,v 1.7 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,370 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.14-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.14.ebuild,v 1.6 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,370 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.15-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.15.ebuild,v 1.6 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,370 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.16-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.16.ebuild,v 1.6 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,370 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.17-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.17.ebuild,v 1.6 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,370 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.18-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,383 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.18.ebuild,v 1.6 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,416 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.19-r1.ebuild,v 1.8 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
COMPHOLIOV="1.7.18-1"
|
||||
COMPHOLIO_PATCHES="wine-compholio-daily-${COMPHOLIOV}"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pipelight? ( https://github.com/compholio/wine-compholio-daily/archive/v${COMPHOLIOV}.tar.gz -> ${COMPHOLIO_PATCHES}.tar.gz )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pipelight? ( sys-apps/attr )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pipelight? ( >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
if use pipelight; then
|
||||
unpack "${COMPHOLIO_PATCHES}.tar.gz"
|
||||
# we use a separate pulseaudio patchset
|
||||
rm -r "${COMPHOLIO_PATCHES}/patches/06-winepulse" || die
|
||||
# ... and need special tools for binary patches
|
||||
mv "${COMPHOLIO_PATCHES}/patches/10-Missing_Fonts" "${T}" || die
|
||||
fi
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local f
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
if use pipelight; then
|
||||
PATCHES+=(
|
||||
"../${COMPHOLIO_PATCHES}/patches"/*/*.patch #507950
|
||||
"../${COMPHOLIO_PATCHES}/patches/patch-list.patch"
|
||||
)
|
||||
# epatch doesn't support binary patches
|
||||
ebegin "Applying Compholio font patches"
|
||||
for f in "${T}/10-Missing_Fonts"/*.patch; do
|
||||
"../${COMPHOLIO_PATCHES}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
|
||||
done
|
||||
eend
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
use netapi && ewarn "Disabling netapi in wine32; see https://bugs.gentoo.org/494394"
|
||||
# We currently don't have 32-bit libnetapi on amd64; #494394
|
||||
myeconfargs+=(
|
||||
--without-netapi
|
||||
--disable-win64
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myeconfargs+=( --with-pulse )
|
||||
use pipelight && myeconfargs+=( --with-xattr )
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
local l
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
if use pipelight; then
|
||||
ewarn "You installed Wine with the unofficial Compholio patchset for Pipelight"
|
||||
ewarn "support, which is unsupported by Wine developers. Please don't report"
|
||||
ewarn "bugs to Wine bugzilla unless you can reproduce them with USE=-pipelight"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,415 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.19-r2.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
STAGING_P="wine-staging-1.7.18-1"
|
||||
STAGING_DIR="${WORKDIR}/wine-staging-1.7.19"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.12"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
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="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl staging test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging; then
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_REPO;
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
if use staging; then
|
||||
# we use a separate pulseaudio patchset
|
||||
rm -r "${STAGING_DIR}/patches/06-winepulse" || die
|
||||
# ... and need special tools for binary patches
|
||||
mv "${STAGING_DIR}/patches/10-Missing_Fonts" "${T}" || die
|
||||
if ! use pipelight; then
|
||||
rm -r "${STAGING_DIR}/patches/97-Pipelight" || die
|
||||
fi
|
||||
fi
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local f
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
if use staging; then
|
||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
||||
ewarn "unless you can reproduce them with USE=-staging"
|
||||
|
||||
PATCHES+=(
|
||||
"${FILESDIR}/wine-1.7.19-makefile-race-cond.patch"
|
||||
"${STAGING_DIR}/patches"/*/*.patch #507950
|
||||
"${STAGING_DIR}/patches/patch-list.patch"
|
||||
)
|
||||
# epatch doesn't support binary patches
|
||||
ebegin "Applying Staging font patches"
|
||||
for f in "${T}/10-Missing_Fonts"/*.patch; do
|
||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
|
||||
done
|
||||
eend
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
use staging && myconf+=( --with-xattr )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,424 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.22-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.21"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
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="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl staging test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
gstreamer? ( pulseaudio )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
# winepulse patches needed for gstreamer due to http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging; then
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_REPO;
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
if use staging; then
|
||||
# we use a separate pulseaudio patchset
|
||||
rm -r "${STAGING_DIR}/patches/06-winepulse" || die
|
||||
# ... and need special tools for binary patches
|
||||
mv "${STAGING_DIR}/patches/10-Missing_Fonts" "${T}" || die
|
||||
if ! use pipelight; then
|
||||
rm -r "${STAGING_DIR}/patches/97-Pipelight" || die
|
||||
fi
|
||||
fi
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local f
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
if use gstreamer; then
|
||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
||||
ewarn "this patch has been reported to cause crashes in certain games."
|
||||
|
||||
PATCHES+=( "../${PULSE_PATCHES}"/gstreamer/*.patch )
|
||||
fi
|
||||
if use staging; then
|
||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
||||
ewarn "unless you can reproduce them with USE=-staging"
|
||||
|
||||
PATCHES+=(
|
||||
"${FILESDIR}/wine-1.7.19-makefile-race-cond.patch"
|
||||
"${STAGING_DIR}/patches"/*/*.patch #507950
|
||||
"${STAGING_DIR}/patches/patch-list.patch"
|
||||
)
|
||||
# epatch doesn't support binary patches
|
||||
ebegin "Applying Staging font patches"
|
||||
for f in "${T}/10-Missing_Fonts"/*.patch; do
|
||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
|
||||
done
|
||||
eend
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
use staging && myconf+=( --with-xattr )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,416 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.28.ebuild,v 1.4 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
COMPHOLIO_P="wine-compholio-${PV}"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
GST_P="wine-1.7.28-gstreamer-v4"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pipelight? ( https://github.com/compholio/wine-compholio-daily/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
|
||||
pulseaudio? ( https://github.com/compholio/wine-compholio-daily/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
|
||||
gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
# winepulse patches needed for gstreamer due to http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
netapi? ( net-fs/samba[netapi(+)] )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pipelight? ( sys-apps/attr )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
netapi? ( >=net-fs/samba-3.6.23-r1[netapi(+),abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pipelight? ( >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pipelight || use pulseaudio && unpack "${COMPHOLIO_P}.tar.gz"
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
use gstreamer && unpack "${GST_P}.patch.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local f
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
local COMPHOLIO_MAKE_ARGS="-W fonts-Missing_Fonts.ok"
|
||||
|
||||
use pulseaudio || COMPHOLIO_MAKE_ARGS="${COMPHOLIO_MAKE_ARGS} -W winepulse-PulseAudio_Support.ok"
|
||||
if use gstreamer; then
|
||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
||||
ewarn "this patch has been reported to cause crashes in certain games."
|
||||
|
||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
||||
fi
|
||||
if use pipelight; then
|
||||
ewarn "Applying the unofficial Compholio patchset for Pipelight support,"
|
||||
ewarn "which is unsupported by Wine developers. Please don't report bugs"
|
||||
ewarn "to Wine bugzilla unless you can reproduce them with USE=-pipelight"
|
||||
|
||||
# epatch doesn't support binary patches and we ship our own pulse patches
|
||||
emake -C "${WORKDIR}/${COMPHOLIO_P}/patches" \
|
||||
$(echo ${COMPHOLIO_MAKE_ARGS}) \
|
||||
series
|
||||
|
||||
PATCHES+=( $(sed -e "s:^:${WORKDIR}/${COMPHOLIO_P}/patches/:" \
|
||||
"${WORKDIR}/${COMPHOLIO_P}/patches/series") )
|
||||
|
||||
# epatch doesn't support binary patches
|
||||
ebegin "Applying Compholio font patches"
|
||||
for f in "${WORKDIR}/${COMPHOLIO_P}/patches/fonts-Missing_Fonts"/*.patch; do
|
||||
"../${COMPHOLIO_P}/debian/tools/gitapply.sh" < "${f}" \
|
||||
|| die "Failed to apply ${f}"
|
||||
done
|
||||
eend
|
||||
elif use pulseaudio; then
|
||||
PATCHES+=( "../${COMPHOLIO_P}/patches/winepulse-PulseAudio_Support"/*.patch )
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(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)
|
||||
--without-pcap
|
||||
$(use_with png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
use pipelight && myconf+=( --with-xattr )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,427 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.29-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="4.5.2"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
GST_P="wine-1.7.28-gstreamer-v4"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
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 )
|
||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl staging test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging || use pulseaudio; then
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_REPO;
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
use gstreamer && unpack "${GST_P}.patch.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local f
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
|
||||
local STAGING_MAKE_ARGS="-W fonts-Missing_Fonts.ok"
|
||||
|
||||
use pipelight || STAGING_MAKE_ARGS="${STAGING_MAKE_ARGS} -W winepulse-PulseAudio_Support.ok"
|
||||
if use gstreamer; then
|
||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
||||
ewarn "this patch has been reported to cause crashes in certain games."
|
||||
|
||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
||||
fi
|
||||
if use staging; then
|
||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
||||
ewarn "unless you can reproduce them with USE=-staging"
|
||||
|
||||
# epatch doesn't support binary patches and we ship our own pulse patches
|
||||
emake -C "${STAGING_DIR}/patches" \
|
||||
$(echo ${STAGING_MAKE_ARGS}) \
|
||||
series
|
||||
|
||||
PATCHES+=( $(sed -e "s:^:${STAGING_DIR}/patches/:" \
|
||||
"${STAGING_DIR}/patches/series") )
|
||||
|
||||
# epatch doesn't support binary patches
|
||||
ebegin "Applying Wine-Staging font patches"
|
||||
for f in "${STAGING_DIR}/patches/fonts-Missing_Fonts"/*.patch; do
|
||||
"${STAGING_DIR}/debian/tools/gitapply.sh" < "${f}" \
|
||||
|| die "Failed to apply ${f}"
|
||||
done
|
||||
eend
|
||||
elif use pulseaudio; then
|
||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
if use pulseaudio || use staging; then
|
||||
myconf+=( $(use_with pulseaudio pulse) )
|
||||
fi
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
)
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,369 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.3-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="0.0.8"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.3"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-1.7.0-freetype-header-location.patch #539830
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,373 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.3.ebuild,v 1.10 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="0.0.8"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.3"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
myeconfargs+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(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 v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,427 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.34.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.34"
|
||||
MV="4.5.4"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
GST_P="wine-1.7.34-gstreamer-v5"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
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 )
|
||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +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 +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
s3tc? ( media-libs/libtxc_dxtn[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging || use pulseaudio; then
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_REPO;
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
use gstreamer && unpack "${GST_P}.patch.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
|
||||
if use gstreamer; then
|
||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
||||
ewarn "this patch has been reported to cause crashes in certain games."
|
||||
|
||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
||||
fi
|
||||
if use staging; then
|
||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
||||
ewarn "unless you can reproduce them with USE=-staging"
|
||||
|
||||
# Apply temporary patch to wine-staging to allow for epatch as a backend to wine-staging's new patch script
|
||||
pushd "${STAGING_DIR}"
|
||||
epatch "${FILESDIR}"/wine-staging-gentoo-epatch-support.patch
|
||||
popd
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $?
|
||||
elif use pulseaudio; then
|
||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
if use pulseaudio || use staging; then
|
||||
myconf+=( $(use_with pulseaudio pulse) )
|
||||
fi
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with s3tc txc_dxtn)
|
||||
)
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,422 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.35.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.34"
|
||||
MV="4.5.4"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
GST_P="wine-1.7.34-gstreamer-v5"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
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 )
|
||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +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 +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
s3tc? ( media-libs/libtxc_dxtn[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging || use pulseaudio; then
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_REPO;
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
use gstreamer && unpack "${GST_P}.patch.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
|
||||
if use gstreamer; then
|
||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
||||
ewarn "this patch has been reported to cause crashes in certain games."
|
||||
|
||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
||||
fi
|
||||
if use staging; then
|
||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
||||
ewarn "unless you can reproduce them with USE=-staging"
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $?
|
||||
elif use pulseaudio; then
|
||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
if use pulseaudio || use staging; then
|
||||
myconf+=( $(use_with pulseaudio pulse) )
|
||||
fi
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with s3tc txc_dxtn)
|
||||
)
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,421 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.36.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.34"
|
||||
MV="4.5.4"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
GST_P="wine-1.7.34-gstreamer-v5"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
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 )
|
||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +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 +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
s3tc? ( media-libs/libtxc_dxtn[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging || use pulseaudio; then
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_REPO;
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
use gstreamer && unpack "${GST_P}.patch.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
|
||||
if use gstreamer; then
|
||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
||||
ewarn "this patch has been reported to cause crashes in certain games."
|
||||
|
||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
||||
fi
|
||||
if use staging; then
|
||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
||||
ewarn "unless you can reproduce them with USE=-staging"
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $?
|
||||
elif use pulseaudio; then
|
||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
if use pulseaudio || use staging; then
|
||||
myconf+=( $(use_with pulseaudio pulse) )
|
||||
fi
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with s3tc txc_dxtn)
|
||||
)
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,424 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.37.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.34"
|
||||
MV="4.5.4"
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
GST_P="wine-1.7.34-gstreamer-v5"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
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 )
|
||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +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 +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
vaapi? ( staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
if use staging || use pulseaudio; then
|
||||
EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
|
||||
unset ${PN}_LIVE_REPO;
|
||||
EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
|
||||
fi
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
||||
fi
|
||||
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
use gstreamer && unpack "${GST_P}.patch.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
)
|
||||
|
||||
if use gstreamer; then
|
||||
# See http://bugs.winehq.org/show_bug.cgi?id=30557
|
||||
ewarn "Applying experimental patch to fix GStreamer support. Note that"
|
||||
ewarn "this patch has been reported to cause crashes in certain games."
|
||||
|
||||
PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
|
||||
fi
|
||||
if use staging; then
|
||||
ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
|
||||
ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
|
||||
ewarn "unless you can reproduce them with USE=-staging"
|
||||
|
||||
local STAGING_EXCLUDE=""
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $?
|
||||
elif use pulseaudio; then
|
||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
if use pulseaudio || use staging; then
|
||||
myconf+=( $(use_with pulseaudio pulse) )
|
||||
fi
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,369 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.4-r1.ebuild,v 1.1 2015/07/11 07:54:37 np-hardass Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
|
||||
|
||||
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
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="0.0.8"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.4"
|
||||
WINE_GENTOO="wine-gentoo-2015.03.07"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# 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="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:0.10[${MULTILIB_USEDEP}]
|
||||
media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${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}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"${FILESDIR}"/${PN}-1.7.0-freetype-header-location.patch #539830
|
||||
"${FILESDIR}"/${PN}-gcc-4.9-null-pointer.patch #543446
|
||||
)
|
||||
use pulseaudio && PATCHES+=(
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
# 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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--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 nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use pulseaudio && myconf+=( --with-pulse )
|
||||
|
||||
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 ${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 )
|
||||
local l
|
||||
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
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
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_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,373 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.4.ebuild,v 1.11 2015/06/14 16:18:11 ulm Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
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-multilib eutils fdo-mime flag-o-matic gnome2-utils l10n multilib pax-utils toolchain-funcs virtualx
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
|
||||
inherit git-2
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.24"
|
||||
MV="0.0.8"
|
||||
PULSE_PATCHES="winepulse-patches-1.7.4"
|
||||
WINE_GENTOO="wine-gentoo-2013.06.24"
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix"
|
||||
HOMEPAGE="http://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
|
||||
)
|
||||
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2
|
||||
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses nls odbc openal opencl +opengl osmesa oss +perl +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
test? ( abi_x86_32 )
|
||||
elibc_glibc? ( threads )
|
||||
mono? ( abi_x86_32 )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
NATIVE_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0 )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
udisks? ( sys-apps/dbus )
|
||||
fontconfig? ( media-libs/fontconfig:= )
|
||||
gphoto2? ( media-libs/libgphoto2:= )
|
||||
openal? ( media-libs/openal:= )
|
||||
gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
|
||||
X? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXi
|
||||
x11-libs/libXxf86vm
|
||||
)
|
||||
xinerama? ( x11-libs/libXinerama )
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups:= )
|
||||
opencl? ( virtual/opencl )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
gsm? ( media-sound/gsm:= )
|
||||
jpeg? ( virtual/jpeg:0= )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lcms? ( media-libs/lcms:2= )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0 )
|
||||
nls? ( sys-devel/gettext )
|
||||
odbc? ( dev-db/unixODBC:= )
|
||||
osmesa? ( media-libs/mesa[osmesa] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
xml? ( dev-libs/libxml2 dev-libs/libxslt )
|
||||
scanner? ( media-gfx/sane-backends:= )
|
||||
ssl? ( net-libs/gnutls:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
v4l? ( media-libs/libv4l )
|
||||
xcomposite? ( x11-libs/libXcomposite )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
!amd64? ( ${NATIVE_DEPEND} )
|
||||
amd64? (
|
||||
abi_x86_64? ( ${NATIVE_DEPEND} )
|
||||
abi_x86_32? (
|
||||
truetype? ( >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] )
|
||||
udisks? ( >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] )
|
||||
fontconfig? ( >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] )
|
||||
gphoto2? ( >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] )
|
||||
openal? ( >=media-libs/openal-1.15.1[abi_x86_32(-)] )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
|
||||
>=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
|
||||
)
|
||||
X? (
|
||||
>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
|
||||
>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
|
||||
>=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
|
||||
)
|
||||
xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] )
|
||||
cups? ( >=net-print/cups-1.7.1-r1[abi_x86_32(-)] )
|
||||
opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
|
||||
opengl? (
|
||||
>=virtual/glu-9.0-r1[abi_x86_32(-)]
|
||||
>=virtual/opengl-7.0-r1[abi_x86_32(-)]
|
||||
)
|
||||
gsm? ( >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] )
|
||||
jpeg? ( >=virtual/jpeg-0-r2:0[abi_x86_32(-)] )
|
||||
ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] )
|
||||
lcms? ( >=media-libs/lcms-2.5:2[abi_x86_32(-)] )
|
||||
mp3? ( >=media-sound/mpg123-1.15.4[abi_x86_32(-)] )
|
||||
nls? ( >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] )
|
||||
odbc? ( >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] )
|
||||
osmesa? ( >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] )
|
||||
pulseaudio? ( >=media-sound/pulseaudio-5.0[abi_x86_32(-)] )
|
||||
xml? (
|
||||
>=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
|
||||
>=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
|
||||
)
|
||||
scanner? ( >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] )
|
||||
ssl? ( >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] )
|
||||
png? ( >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] )
|
||||
v4l? ( >=media-libs/libv4l-0.9.5[abi_x86_32(-)] )
|
||||
xcomposite? ( >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] )
|
||||
)
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dos? ( games-emulation/dosbox )
|
||||
perl? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
samba? ( >=net-fs/samba-3.0.25 )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )
|
||||
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# 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_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
|
||||
eerror "You need gcc-4.4+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
git-2_src_unpack
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
fi
|
||||
|
||||
unpack "${PULSE_PATCHES}.tar.bz2"
|
||||
unpack "${WINE_GENTOO}.tar.bz2"
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
local PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
|
||||
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
|
||||
"${FILESDIR}"/${PN}-1.7.2-osmesa-check.patch #429386
|
||||
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
|
||||
"../${PULSE_PATCHES}"/*.patch #421365
|
||||
)
|
||||
|
||||
autotools-utils_src_prepare
|
||||
|
||||
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' tools/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
local myeconfargs=( "${myeconfargs[@]}" )
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myeconfargs+=( --enable-win64 )
|
||||
else
|
||||
myeconfargs+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
local myeconfargs=( # common
|
||||
--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_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with ldap)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(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 v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
if use amd64 && use abi_x86_32; then
|
||||
# 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
|
||||
fi
|
||||
|
||||
multilib_parallel_foreach_abi do_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-multilib_src_compile depend
|
||||
autotools-multilib_src_compile all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
multilib_toolchain_setup x86
|
||||
local BUILD_DIR="${S}-${ABI}"
|
||||
cd "${BUILD_DIR}" || die
|
||||
WINEPREFIX="${T}/.wine-${ABI}" Xemake test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS=( "${DOCS[@]}" ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
autotools-multilib_src_install
|
||||
|
||||
emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
|
||||
if use gecko ; then
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
|
||||
use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
|
||||
fi
|
||||
if use mono ; then
|
||||
insinto /usr/share/wine/mono
|
||||
doins "${DISTDIR}"/wine-mono-${MV}.msi
|
||||
fi
|
||||
if ! use perl ; then
|
||||
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -1,3 +1,6 @@
|
||||
DIST mysql-cluster-gpl-7.2.19.tar.gz 25959966 SHA256 f4d8772108bbe30852129602f1d4106dc42adbe14d4bbc45065cb6e7314803b4 SHA512 2a30d6bdb82ff9b4c3bcdc2b44ed0707c2292efc45137ada62635b41424ecd4286b18718542fe2120e57636f998b38ac3768d4f9f6b018e65a82ef76d81a310e WHIRLPOOL 21cec46fdfcd3509f4dd01864976c19aefa2adc53212a0724e9b30bf0fa6d63be7d4395b68be13de942b1c399a174e8cfd3f65594921b70b7e6cec0d7dc95183
|
||||
DIST mysql-cluster-gpl-7.2.20.tar.gz 25999156 SHA256 60ca80b10680b5048cd358ae543ad16e8e8c31395aaa69163bde923b22085874 SHA512 62fac1db476e08109885660d2e2728bb0c2c8144acb602fdb679d802bcdc459254349eb914ae600f51dca33f42cd9dfa0db9a21b07edb0d0c316497a62e1fc6f WHIRLPOOL 8f8787151648f34f3cfd64d05da793e40e8fe3d053f5cff72ecff7b799a536bf56ead2e19fd72620fda967b6903bc5ec01fec171144f581f32c4e0f0426573b5
|
||||
DIST mysql-cluster-gpl-7.3.8.tar.gz 42400435 SHA256 eddcc2954ff7fbbc72b1266bd64a9548e9b9d7a4115d42b54c13257c226248ca SHA512 4118449bc9bd2c88caff1585ebfa6b2e2a85b960fa12bc50a00245d1a6d42b3411ee0b2e32b2b10afd46b97e01e5b4fad924dbed852b2ab49b43c123c649a2d3 WHIRLPOOL fc1c6cd68e1f1b0f0430c0374b24c41ba7df83f43897d71e023706228c63024dc10ad6a5eef1696a24a6898be4387a1e4cf47309cabf7abaebc1767ae66da773
|
||||
DIST mysql-cluster-gpl-7.3.9.tar.gz 42489084 SHA256 eba6e37313608514aa41b7f948ccaef3153bf46270f0153b0246492573621b78 SHA512 d7897b5b16ae9179c3ac93e078e55597b89cacaeb4c9ca4477eb8230eb6dbdddf220b55df9dc91b5600e43adcd0d9a1ab470bcc970c20eaa78cd8300ef9ee80e WHIRLPOOL cdfd11a78a52c6b69add0b468a3e87304fdacddb1eb856bdf4e64d28337b7530288fdc1c0a1e25523081bce42fada8a161cd186d20e765a793d4e7160a2b013b
|
||||
DIST mysql-extras-20150210-1758Z.tar.bz2 1494128 SHA256 1d82bc96e294b5479491fe2d8cf83f25f6b4d34c0033238848afde7cc7592e2c SHA512 0256cfe8af6f7c198d3e1aa15b6ac14363d4392422a379f24465e3e16dea75f3779bfe727fd74c404b126041bde2396ff521479c164b5d6c44a7340cad9fce33 WHIRLPOOL bde91051187f4f6f39a52d80d2a9648f9c05187ce200eea89c496cb9e99c70fe049f9f0b490ccfaaecd43081e6988841d94c3ede9fa4e9fb8773580f20047fbb
|
||||
DIST mysql-extras-20150710-1911Z.tar.bz2 1494443 SHA256 9a4755dce3c5b7dfebda87c2fd73eb7b94786be43a9bd97451a8134dc95e6983 SHA512 9a42616dafba562dad5485ea16d8a2b7521668323414329052a64e32da606860af9c0d8a1bdc634afc0e55d1d2329297488c90ff712eac0eb74d8843ca9081aa WHIRLPOOL 33ee7e5cc90a26722fa4f6ff7f8604ac1a1396a867a5ca45b81510cb26638fa57dc3f0e8f2471a8c05c26f5341765c2c370989fcb1602b30e7c05bc00b247e34
|
||||
|
@ -0,0 +1,124 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-cluster/mysql-cluster-7.2.20.ebuild,v 1.1 2015/07/10 20:37:23 grknight Exp $
|
||||
|
||||
EAPI=4
|
||||
MY_EXTRAS_VER="20150210-1758Z"
|
||||
BUILD="cmake"
|
||||
|
||||
inherit toolchain-funcs java-pkg-opt-2 mysql-v2
|
||||
# only to make repoman happy. it is really set in the eclass
|
||||
IUSE="$IUSE"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
# This is often broken still
|
||||
#EPATCH_EXCLUDE=''
|
||||
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
|
||||
RDEPEND="!media-sound/amarok[embedded]"
|
||||
|
||||
# Please do not add a naive src_unpack to this ebuild
|
||||
# If you want to add a single patch, copy the ebuild to an overlay
|
||||
# and create your own mysql-extras tarball, looking at 000_index.txt
|
||||
|
||||
# Official test instructions:
|
||||
# USE='cluster extraengine perl ssl community' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mysql-cluster-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
src_test() {
|
||||
|
||||
local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if ! use "minimal" ; then
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
|
||||
# create directories because mysqladmin might right out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# These are failing in MySQL 5.5 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# main.mysqld--help-notwin, ndb.ndbinfo, ndb_binlog.ndb_binlog_index
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
# sys_vars.plugin_dir_basic
|
||||
# fails because PLUGIN_DIR is set to MYSQL_LIBDIR64/plugin
|
||||
# instead of MYSQL_LIBDIR/plugin
|
||||
#
|
||||
# main.flush_read_lock_kill
|
||||
# fails because of unknown system variable 'DEBUG_SYNC'
|
||||
#
|
||||
# main.openssl_1
|
||||
# error message changing
|
||||
# -mysqltest: Could not open connection 'default': 2026 SSL connection
|
||||
# error: ASN: bad other signature confirmation
|
||||
# +mysqltest: Could not open connection 'default': 2026 SSL connection
|
||||
# error: error:00000001:lib(0):func(0):reason(1)
|
||||
#
|
||||
|
||||
for t in main.mysql_client_test \
|
||||
binlog.binlog_statement_insert_delayed main.information_schema \
|
||||
main.mysqld--help-notwin main.flush_read_lock_kill \
|
||||
sys_vars.plugin_dir_basic main.openssl_1 \
|
||||
ndb.ndbinfo ndb_binlog.ndb_binlog_index ; do
|
||||
mysql-v2_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
|
||||
--parallel=auto
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -0,0 +1,134 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-cluster/mysql-cluster-7.3.9.ebuild,v 1.1 2015/07/10 20:37:23 grknight Exp $
|
||||
|
||||
EAPI=5
|
||||
MY_EXTRAS_VER="20150710-1911Z"
|
||||
|
||||
inherit toolchain-funcs java-pkg-opt-2 mysql-multilib
|
||||
# only to make repoman happy. it is really set in the eclass
|
||||
IUSE="$IUSE"
|
||||
|
||||
# REMEMBER: also update eclass/mysql*.eclass before committing!
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
# When MY_EXTRAS is bumped, the index should be revised to exclude these.
|
||||
# This is often broken still
|
||||
#EPATCH_EXCLUDE=''
|
||||
|
||||
DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )"
|
||||
RDEPEND="!media-sound/amarok[embedded]"
|
||||
|
||||
# Please do not add a naive src_unpack to this ebuild
|
||||
# If you want to add a single patch, copy the ebuild to an overlay
|
||||
# and create your own mysql-extras tarball, looking at 000_index.txt
|
||||
|
||||
# Official test instructions:
|
||||
# USE='cluster extraengine perl ssl community' \
|
||||
# FEATURES='test userpriv -usersandbox' \
|
||||
# ebuild mysql-cluster-X.X.XX.ebuild \
|
||||
# digest clean package
|
||||
multilib_src_test() {
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
einfo "Server tests not available on non-native abi".
|
||||
return 0;
|
||||
fi
|
||||
|
||||
local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test"
|
||||
local retstatus_unit
|
||||
local retstatus_tests
|
||||
|
||||
# Bug #213475 - MySQL _will_ object strenously if your machine is named
|
||||
# localhost. Also causes weird failures.
|
||||
[[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
|
||||
|
||||
if ! use "minimal" ; then
|
||||
|
||||
if [[ $UID -eq 0 ]]; then
|
||||
die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
|
||||
fi
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
addpredict /this-dir-does-not-exist/t9.MYI
|
||||
|
||||
# Run CTest (test-units)
|
||||
cmake-utils_src_test
|
||||
retstatus_unit=$?
|
||||
[[ $retstatus_unit -eq 0 ]] || eerror "test-unit failed"
|
||||
|
||||
# Ensure that parallel runs don't die
|
||||
export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
|
||||
# Enable parallel testing, auto will try to detect number of cores
|
||||
# You may set this by hand.
|
||||
# The default maximum is 8 unless MTR_MAX_PARALLEL is increased
|
||||
export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
|
||||
|
||||
# create directories because mysqladmin might right out of order
|
||||
mkdir -p "${T}"/var-tests{,/log}
|
||||
|
||||
# These are failing in MySQL 5.5/5.6 for now and are believed to be
|
||||
# false positives:
|
||||
#
|
||||
# main.information_schema, binlog.binlog_statement_insert_delayed,
|
||||
# main.mysqld--help-notwin, funcs_1.is_triggers funcs_1.is_tables_mysql,
|
||||
# funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter,
|
||||
# perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt,
|
||||
# mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql
|
||||
# perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter
|
||||
# fails due to USE=-latin1 / utf8 default
|
||||
#
|
||||
# main.mysql_client_test:
|
||||
# segfaults at random under Portage only, suspect resource limits.
|
||||
#
|
||||
for t in \
|
||||
binlog.binlog_mysqlbinlog_filter \
|
||||
binlog.binlog_statement_insert_delayed \
|
||||
funcs_1.is_columns_mysql \
|
||||
funcs_1.is_tables_mysql \
|
||||
funcs_1.is_triggers \
|
||||
main.information_schema \
|
||||
main.mysqld--help-notwinfuncs_1.is_triggers \
|
||||
main.mysql_client_test \
|
||||
mysqld--help-notwin \
|
||||
perfschema.binlog_edge_mix \
|
||||
perfschema.binlog_edge_stmt \
|
||||
; do
|
||||
mysql-multilib_disable_test "$t" "False positives in Gentoo"
|
||||
done
|
||||
# ndb.ndbinfo, ndb_binlog.ndb_binlog_index: latin1/utf8
|
||||
for t in \
|
||||
ndb.ndbinfo \
|
||||
ndb_binlog.ndb_binlog_index ; do
|
||||
mysql-multilib_disable_test "$t" "False positives in Gentoo (NDB)"
|
||||
done
|
||||
|
||||
# Run mysql tests
|
||||
pushd "${TESTDIR}"
|
||||
|
||||
# run mysql-test tests
|
||||
perl mysql-test-run.pl --force --vardir="${T}/var-tests"
|
||||
retstatus_tests=$?
|
||||
[[ $retstatus_tests -eq 0 ]] || eerror "tests failed"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
popd
|
||||
|
||||
# Cleanup is important for these testcases.
|
||||
pkill -9 -f "${S}/ndb" 2>/dev/null
|
||||
pkill -9 -f "${S}/sql" 2>/dev/null
|
||||
|
||||
failures=""
|
||||
[[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
|
||||
[[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
|
||||
has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox"
|
||||
|
||||
[[ -z "$failures" ]] || die "Test failures: $failures"
|
||||
einfo "Tests successfully completed"
|
||||
|
||||
else
|
||||
|
||||
einfo "Skipping server tests due to minimal build."
|
||||
fi
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-gnome2/ruby-gnome2-2.2.5.ebuild,v 1.1 2015/07/11 06:50:00 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
inherit ruby-ng
|
||||
|
||||
DESCRIPTION="Ruby Gnome2 bindings"
|
||||
HOMEPAGE="http://ruby-gnome2.sourceforge.jp/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="Ruby"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
ruby_add_rdepend "
|
||||
>=dev-ruby/ruby-atk-${PV}
|
||||
>=dev-ruby/ruby-clutter-${PV}
|
||||
>=dev-ruby/ruby-clutter-gstreamer-${PV}
|
||||
>=dev-ruby/ruby-clutter-gtk-${PV}
|
||||
>=dev-ruby/ruby-gdkpixbuf2-${PV}
|
||||
>=dev-ruby/ruby-gdk3-${PV}
|
||||
>=dev-ruby/ruby-gio2-${PV}
|
||||
>=dev-ruby/ruby-gstreamer-${PV}
|
||||
>=dev-ruby/ruby-gtk2-${PV}
|
||||
>=dev-ruby/ruby-gtk3-${PV}
|
||||
>=dev-ruby/ruby-gtksourceview-${PV}
|
||||
>=dev-ruby/ruby-gtksourceview3-${PV}
|
||||
>=dev-ruby/ruby-pango-${PV}
|
||||
>=dev-ruby/ruby-poppler-${PV}
|
||||
>=dev-ruby/ruby-rsvg-${PV}
|
||||
>=dev-ruby/ruby-vte-${PV}
|
||||
>=dev-ruby/ruby-vte3-${PV}
|
||||
>=dev-ruby/ruby-webkit-gtk2-${PV}
|
||||
>=dev-ruby/ruby-webkit-gtk-${PV}"
|
@ -1,2 +1,3 @@
|
||||
DIST ruby-gnome2-all-1.1.8.tar.gz 1018612 SHA256 5118fc18eeff60cbe371e6461dc6329e7c544f1908219df42462274dace5968a SHA512 3ce05278fca4b402f5e8ec9883290022ad07ea800af436ee35ab6a4960e4004a0c076567c68587bee81a27d863ba54de19a7816585ce510d308b7e0e91fb1981 WHIRLPOOL b59ed271675ca8f9b80aeecd7d003537011a7162131176ca202b7a40fafae27cc8da687a50792985f07477dcf310a70d0c512692d649b3584d64653af9cf0e1b
|
||||
DIST ruby-gnome2-all-2.2.3.tar.gz 1657315 SHA256 1611038c2a49fe051dfcc779aeca8eb47273718d80a0680442504fd54e228154 SHA512 cf6b0c88c91e444f5ff65a4a863630c5455315c08f1b44a5f7c81db51f998d6e83ab62e00276edb4a81ea9942405d76724f52134d2388010ec0f157a6a5dc34e WHIRLPOOL e5a6347b360b64f6b690a28483f8618d58786bbbf1fd6c691952271c85bf1d96dc8c97f1e4ed541f6cf8afac56221950db30873cc83a24210b6feef969eaf4b7
|
||||
DIST ruby-gnome2-all-2.2.5.tar.gz 1696485 SHA256 ef22418c95ce9f997235aee1a1b4d1265fad023e78a8f452bdd9e95267dd52b9 SHA512 60693ec2db4c4159a634f33bf7021e078cc06e25d4e10c6ac0c8a30ac03f9b8119ed94d9b62408a2010c9c3d1f812dea3ab5c6c617eda5d4c73272d64934159e WHIRLPOOL 161ae5b591bd1b6ba3601d46bc4fcfa6c57b006bd5903ba5a8c7ec670f11e06091ce5314290e24b312ecb61ceef22fb91231079f03f16a873a4e890142389123
|
||||
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-gtksourceview/ruby-gtksourceview-2.2.5.ebuild,v 1.1 2015/07/11 06:44:01 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
RUBY_FAKEGEM_NAME="gtksourceview2"
|
||||
|
||||
inherit virtualx ruby-ng-gnome2
|
||||
|
||||
RUBY_S=ruby-gnome2-all-${PV}/gtksourceview2
|
||||
|
||||
DESCRIPTION="Ruby bindings for gtksourceview"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND+=" x11-libs/gtksourceview:2.0"
|
||||
DEPEND+=" x11-libs/gtksourceview:2.0"
|
||||
|
||||
ruby_add_rdepend ">=dev-ruby/ruby-gtk2-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid compilation of dependencies during test.
|
||||
sed -i -e '/system/,/^ end/ s:^:#:' test/run-test.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
VIRTUALX_COMMAND="${RUBY} test/run-test.rb"
|
||||
virtualmake || die
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST ruby-gnome2-all-2.2.3.tar.gz 1657315 SHA256 1611038c2a49fe051dfcc779aeca8eb47273718d80a0680442504fd54e228154 SHA512 cf6b0c88c91e444f5ff65a4a863630c5455315c08f1b44a5f7c81db51f998d6e83ab62e00276edb4a81ea9942405d76724f52134d2388010ec0f157a6a5dc34e WHIRLPOOL e5a6347b360b64f6b690a28483f8618d58786bbbf1fd6c691952271c85bf1d96dc8c97f1e4ed541f6cf8afac56221950db30873cc83a24210b6feef969eaf4b7
|
||||
DIST ruby-gnome2-all-2.2.5.tar.gz 1696485 SHA256 ef22418c95ce9f997235aee1a1b4d1265fad023e78a8f452bdd9e95267dd52b9 SHA512 60693ec2db4c4159a634f33bf7021e078cc06e25d4e10c6ac0c8a30ac03f9b8119ed94d9b62408a2010c9c3d1f812dea3ab5c6c617eda5d4c73272d64934159e WHIRLPOOL 161ae5b591bd1b6ba3601d46bc4fcfa6c57b006bd5903ba5a8c7ec670f11e06091ce5314290e24b312ecb61ceef22fb91231079f03f16a873a4e890142389123
|
||||
|
@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-gtksourceview3/ruby-gtksourceview3-2.2.5.ebuild,v 1.1 2015/07/11 05:58:59 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
inherit virtualx ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby Gtk3 bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" x11-libs/gtksourceview:3.0"
|
||||
RDEPEND+=" x11-libs/gtksourceview:3.0"
|
||||
|
||||
ruby_add_bdepend ">=dev-ruby/ruby-glib2-${PV}"
|
||||
ruby_add_rdepend ">=dev-ruby/ruby-gtk3-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid compilation of dependencies during test.
|
||||
sed -i -e '/system/,/^ end/ s:^:#:' test/run-test.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
VIRTUALX_COMMAND="${RUBY} test/run-test.rb"
|
||||
virtualmake || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST ruby-gnome2-all-1.1.8.tar.gz 1018612 SHA256 5118fc18eeff60cbe371e6461dc6329e7c544f1908219df42462274dace5968a SHA512 3ce05278fca4b402f5e8ec9883290022ad07ea800af436ee35ab6a4960e4004a0c076567c68587bee81a27d863ba54de19a7816585ce510d308b7e0e91fb1981 WHIRLPOOL b59ed271675ca8f9b80aeecd7d003537011a7162131176ca202b7a40fafae27cc8da687a50792985f07477dcf310a70d0c512692d649b3584d64653af9cf0e1b
|
||||
DIST ruby-gnome2-all-2.2.3.tar.gz 1657315 SHA256 1611038c2a49fe051dfcc779aeca8eb47273718d80a0680442504fd54e228154 SHA512 cf6b0c88c91e444f5ff65a4a863630c5455315c08f1b44a5f7c81db51f998d6e83ab62e00276edb4a81ea9942405d76724f52134d2388010ec0f157a6a5dc34e WHIRLPOOL e5a6347b360b64f6b690a28483f8618d58786bbbf1fd6c691952271c85bf1d96dc8c97f1e4ed541f6cf8afac56221950db30873cc83a24210b6feef969eaf4b7
|
||||
DIST ruby-gnome2-all-2.2.5.tar.gz 1696485 SHA256 ef22418c95ce9f997235aee1a1b4d1265fad023e78a8f452bdd9e95267dd52b9 SHA512 60693ec2db4c4159a634f33bf7021e078cc06e25d4e10c6ac0c8a30ac03f9b8119ed94d9b62408a2010c9c3d1f812dea3ab5c6c617eda5d4c73272d64934159e WHIRLPOOL 161ae5b591bd1b6ba3601d46bc4fcfa6c57b006bd5903ba5a8c7ec670f11e06091ce5314290e24b312ecb61ceef22fb91231079f03f16a873a4e890142389123
|
||||
|
@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-poppler/ruby-poppler-2.2.5.ebuild,v 1.1 2015/07/11 06:10:01 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby poppler-glib bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND+=" app-text/poppler[cairo]"
|
||||
DEPEND+=" app-text/poppler[cairo]"
|
||||
|
||||
ruby_add_rdepend "dev-ruby/ruby-gdkpixbuf2
|
||||
>=dev-ruby/ruby-glib2-${PV}
|
||||
>=dev-ruby/ruby-gtk2-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid compilation of dependencies during test.
|
||||
sed -i -e '/if have_make/,/^ end/ s:^:#:' test/run-test.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
${RUBY} test/run-test.rb || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST ruby-gnome2-all-1.1.8.tar.gz 1018612 SHA256 5118fc18eeff60cbe371e6461dc6329e7c544f1908219df42462274dace5968a SHA512 3ce05278fca4b402f5e8ec9883290022ad07ea800af436ee35ab6a4960e4004a0c076567c68587bee81a27d863ba54de19a7816585ce510d308b7e0e91fb1981 WHIRLPOOL b59ed271675ca8f9b80aeecd7d003537011a7162131176ca202b7a40fafae27cc8da687a50792985f07477dcf310a70d0c512692d649b3584d64653af9cf0e1b
|
||||
DIST ruby-gnome2-all-2.2.3.tar.gz 1657315 SHA256 1611038c2a49fe051dfcc779aeca8eb47273718d80a0680442504fd54e228154 SHA512 cf6b0c88c91e444f5ff65a4a863630c5455315c08f1b44a5f7c81db51f998d6e83ab62e00276edb4a81ea9942405d76724f52134d2388010ec0f157a6a5dc34e WHIRLPOOL e5a6347b360b64f6b690a28483f8618d58786bbbf1fd6c691952271c85bf1d96dc8c97f1e4ed541f6cf8afac56221950db30873cc83a24210b6feef969eaf4b7
|
||||
DIST ruby-gnome2-all-2.2.5.tar.gz 1696485 SHA256 ef22418c95ce9f997235aee1a1b4d1265fad023e78a8f452bdd9e95267dd52b9 SHA512 60693ec2db4c4159a634f33bf7021e078cc06e25d4e10c6ac0c8a30ac03f9b8119ed94d9b62408a2010c9c3d1f812dea3ab5c6c617eda5d4c73272d64934159e WHIRLPOOL 161ae5b591bd1b6ba3601d46bc4fcfa6c57b006bd5903ba5a8c7ec670f11e06091ce5314290e24b312ecb61ceef22fb91231079f03f16a873a4e890142389123
|
||||
|
@ -0,0 +1,17 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-vte/ruby-vte-2.2.5.ebuild,v 1.1 2015/07/11 06:14:02 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby vte bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND+=" >=x11-libs/vte-0.12.1:0"
|
||||
DEPEND+=" >=x11-libs/vte-0.12.1:0"
|
||||
|
||||
ruby_add_rdepend ">=dev-ruby/ruby-gtk2-${PV}"
|
@ -1 +1,2 @@
|
||||
DIST ruby-gnome2-all-2.2.3.tar.gz 1657315 SHA256 1611038c2a49fe051dfcc779aeca8eb47273718d80a0680442504fd54e228154 SHA512 cf6b0c88c91e444f5ff65a4a863630c5455315c08f1b44a5f7c81db51f998d6e83ab62e00276edb4a81ea9942405d76724f52134d2388010ec0f157a6a5dc34e WHIRLPOOL e5a6347b360b64f6b690a28483f8618d58786bbbf1fd6c691952271c85bf1d96dc8c97f1e4ed541f6cf8afac56221950db30873cc83a24210b6feef969eaf4b7
|
||||
DIST ruby-gnome2-all-2.2.5.tar.gz 1696485 SHA256 ef22418c95ce9f997235aee1a1b4d1265fad023e78a8f452bdd9e95267dd52b9 SHA512 60693ec2db4c4159a634f33bf7021e078cc06e25d4e10c6ac0c8a30ac03f9b8119ed94d9b62408a2010c9c3d1f812dea3ab5c6c617eda5d4c73272d64934159e WHIRLPOOL 161ae5b591bd1b6ba3601d46bc4fcfa6c57b006bd5903ba5a8c7ec670f11e06091ce5314290e24b312ecb61ceef22fb91231079f03f16a873a4e890142389123
|
||||
|
@ -0,0 +1,18 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-vte3/ruby-vte3-2.2.5.ebuild,v 1.1 2015/07/11 06:21:37 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
inherit ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby VTE bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" x11-libs/vte:2.90"
|
||||
RDEPEND+=" x11-libs/vte:2.90"
|
||||
|
||||
ruby_add_bdepend ">=dev-ruby/ruby-glib2-${PV}"
|
||||
ruby_add_rdepend ">=dev-ruby/ruby-gtk3-${PV}"
|
@ -1 +1,2 @@
|
||||
DIST ruby-gnome2-all-2.2.3.tar.gz 1657315 SHA256 1611038c2a49fe051dfcc779aeca8eb47273718d80a0680442504fd54e228154 SHA512 cf6b0c88c91e444f5ff65a4a863630c5455315c08f1b44a5f7c81db51f998d6e83ab62e00276edb4a81ea9942405d76724f52134d2388010ec0f157a6a5dc34e WHIRLPOOL e5a6347b360b64f6b690a28483f8618d58786bbbf1fd6c691952271c85bf1d96dc8c97f1e4ed541f6cf8afac56221950db30873cc83a24210b6feef969eaf4b7
|
||||
DIST ruby-gnome2-all-2.2.5.tar.gz 1696485 SHA256 ef22418c95ce9f997235aee1a1b4d1265fad023e78a8f452bdd9e95267dd52b9 SHA512 60693ec2db4c4159a634f33bf7021e078cc06e25d4e10c6ac0c8a30ac03f9b8119ed94d9b62408a2010c9c3d1f812dea3ab5c6c617eda5d4c73272d64934159e WHIRLPOOL 161ae5b591bd1b6ba3601d46bc4fcfa6c57b006bd5903ba5a8c7ec670f11e06091ce5314290e24b312ecb61ceef22fb91231079f03f16a873a4e890142389123
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-webkit-gtk/ruby-webkit-gtk-2.2.5.ebuild,v 1.1 2015/07/11 06:30:27 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
inherit virtualx ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby WebKitGtk bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" net-libs/webkit-gtk:3"
|
||||
RDEPEND+=" net-libs/webkit-gtk:3"
|
||||
|
||||
RUBY_S="ruby-gnome2-all-${PV}/webkit-gtk"
|
||||
|
||||
ruby_add_bdepend ">=dev-ruby/ruby-glib2-${PV}"
|
||||
ruby_add_rdepend ">=dev-ruby/ruby-gobject-introspection-${PV}
|
||||
>=dev-ruby/ruby-gtk3-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid unneeded dependency on test-unit-notify.
|
||||
sed -i -e '/notify/ s:^:#:' \
|
||||
../gobject-introspection/test/gobject-introspection-test-utils.rb \
|
||||
test/webkit-gtk-test-utils.rb || die
|
||||
}
|
||||
|
||||
each_ruby_configure() {
|
||||
:
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
VIRTUALX_COMMAND="${RUBY} test/run-test.rb"
|
||||
virtualmake || die
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
each_fakegem_install
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST ruby-gnome2-all-2.2.3.tar.gz 1657315 SHA256 1611038c2a49fe051dfcc779aeca8eb47273718d80a0680442504fd54e228154 SHA512 cf6b0c88c91e444f5ff65a4a863630c5455315c08f1b44a5f7c81db51f998d6e83ab62e00276edb4a81ea9942405d76724f52134d2388010ec0f157a6a5dc34e WHIRLPOOL e5a6347b360b64f6b690a28483f8618d58786bbbf1fd6c691952271c85bf1d96dc8c97f1e4ed541f6cf8afac56221950db30873cc83a24210b6feef969eaf4b7
|
||||
DIST ruby-gnome2-all-2.2.5.tar.gz 1696485 SHA256 ef22418c95ce9f997235aee1a1b4d1265fad023e78a8f452bdd9e95267dd52b9 SHA512 60693ec2db4c4159a634f33bf7021e078cc06e25d4e10c6ac0c8a30ac03f9b8119ed94d9b62408a2010c9c3d1f812dea3ab5c6c617eda5d4c73272d64934159e WHIRLPOOL 161ae5b591bd1b6ba3601d46bc4fcfa6c57b006bd5903ba5a8c7ec670f11e06091ce5314290e24b312ecb61ceef22fb91231079f03f16a873a4e890142389123
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-webkit-gtk2/ruby-webkit-gtk2-2.2.5.ebuild,v 1.1 2015/07/11 06:33:54 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
|
||||
|
||||
inherit virtualx ruby-ng-gnome2
|
||||
|
||||
DESCRIPTION="Ruby WebKitGtk+ for Gtk 2.0 bindings"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND+=" net-libs/webkit-gtk:2"
|
||||
RDEPEND+=" net-libs/webkit-gtk:2"
|
||||
|
||||
RUBY_S="ruby-gnome2-all-${PV}/webkit-gtk2"
|
||||
|
||||
ruby_add_bdepend ">=dev-ruby/ruby-glib2-${PV}"
|
||||
ruby_add_rdepend ">=dev-ruby/ruby-gobject-introspection-${PV}
|
||||
>=dev-ruby/ruby-gtk2-${PV}"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Avoid unneeded dependency on test-unit-notify.
|
||||
sed -i -e '/notify/ s:^:#:' \
|
||||
../gobject-introspection/test/gobject-introspection-test-utils.rb \
|
||||
test/webkit-gtk-test-utils.rb || die
|
||||
}
|
||||
|
||||
each_ruby_configure() {
|
||||
:
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
VIRTUALX_COMMAND="${RUBY} test/run-test.rb"
|
||||
virtualmake || die
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
each_fakegem_install
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue