Gentoo Archives: gentoo-commits

From: NP Hardass <np-hardass@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine/, app-emulation/wine/files/
Date: Sun, 10 Jul 2016 05:29:33
Message-Id: 1468128549.b64196973d3c0b1094647c7b331ddc12af364539.np-hardass@gentoo
1 commit: b64196973d3c0b1094647c7b331ddc12af364539
2 Author: NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jul 5 20:11:18 2016 +0000
4 Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 10 05:29:09 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6419697
7
8 app-emulation/wine: Mega update, fixes and closes 6 bugs and 1 PR
9
10 Rearrange deps (Thanks to Andreas Sturmlechner)
11 Closes: #1625
12
13 Handle when staging has different mono/gecko
14 Gentoo-Bug: 586114
15
16 Switch from capi4k to libcapi
17 Gentoo-Bug: 583828
18
19 Fix compilation with gnutls-3.5
20 Gentoo-Bug: 587028
21
22 X requires typetype; remove wineconsole w/o X or ncurses
23 Gentoo-Bug: 551124
24
25 Split build checks so compilations happen once
26 Fix gcc version checks for clang support
27 Gentoo-Bug: 449378
28
29 Clean up compiler checks and use ebegin and eend
30
31 Make USE=oss warning verbose for linux users
32 Gentoo-Bug: 577154
33
34 Require dosbox that contains compatibility patches
35
36 app-emulation/wine/Manifest | 4 +
37 .../wine/files/wine-1.8-gnutls-3.5-compat.patch | 39 ++++
38 .../{wine-1.8-r1.ebuild => wine-1.8-r2.ebuild} | 197 ++++++++++++--------
39 .../{wine-1.8.1-r1.ebuild => wine-1.8.1-r2.ebuild} | 197 ++++++++++++--------
40 .../{wine-1.8.2.ebuild => wine-1.8.2-r1.ebuild} | 199 +++++++++++++--------
41 app-emulation/wine/wine-1.8.2.ebuild | 131 ++++++++------
42 .../{wine-1.9.11.ebuild => wine-1.9.10-r1.ebuild} | 197 ++++++++++++--------
43 .../{wine-1.9.9.ebuild => wine-1.9.11-r1.ebuild} | 197 ++++++++++++--------
44 .../{wine-1.9.4-r1.ebuild => wine-1.9.4-r2.ebuild} | 195 ++++++++++++--------
45 .../{wine-1.9.5-r1.ebuild => wine-1.9.5-r2.ebuild} | 195 ++++++++++++--------
46 .../{wine-1.9.7-r1.ebuild => wine-1.9.6-r2.ebuild} | 195 ++++++++++++--------
47 .../{wine-1.9.6-r1.ebuild => wine-1.9.7-r2.ebuild} | 195 ++++++++++++--------
48 .../{wine-1.9.8.ebuild => wine-1.9.8-r1.ebuild} | 195 ++++++++++++--------
49 .../{wine-1.9.10.ebuild => wine-1.9.9-r1.ebuild} | 197 ++++++++++++--------
50 app-emulation/wine/wine-9999.ebuild | 198 ++++++++++++--------
51 15 files changed, 1613 insertions(+), 918 deletions(-)
52
53 diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest
54 index ed9d140..34a73e4 100644
55 --- a/app-emulation/wine/Manifest
56 +++ b/app-emulation/wine/Manifest
57 @@ -32,3 +32,7 @@ DIST wine_gecko-2.40-x86.msi 31741440 SHA256 1a29d17435a52b7663cea6f30a0771f7409
58 DIST wine_gecko-2.40-x86_64.msi 33056768 SHA256 c3e28988e7d92221596fc4c569d10eb4dd2ca64b9f4970bf77e791f5dd8c9230 SHA512 af171193f221f2cd51f6dc3382a9b1c658ef2553213be32f201c05f7122eb6883838be97c3ec66177b1e3922df64c409745c3223acb01910680a5476c3f01478 WHIRLPOOL d11234b593f4190ae8fa99bec8363c0047f6de08b186752b9f49764519ee9f4aafd017a16c0496581a0f4791e1109273846cec0314d9e320423d51723cd2083a
59 DIST wine_gecko-2.44-x86.msi 34832896 SHA256 77a64ad17571b3a00386a88b9b1b1ea4b7e759061675568bee0ec238fb456d39 SHA512 6c3b6ccbab0081d8ab188a9a031050ca8fd7ef8f1de0efa3a57569d6166397f91bf13037402e3437cc8cfc4fc25e7c2f8be32f66500306d567055e89aae0797d WHIRLPOOL 59c269a6d6e3ba829bd24cf81eba991f91bb0c1995a1841b7e548593f544088959093ba29eb83b53f38f77e71780d8288f0b12a212862af1374f954d61f24999
60 DIST wine_gecko-2.44-x86_64.msi 36273152 SHA256 628e5a0d3b7406cbd2f031139be06e2ef695081fc77ee18dc06748e649ff6661 SHA512 71dcbd28ff048fc587ed796f2f09815f624774742abc192d9aa1104485f5d8cd93b2308fb72506f82d0ea5032dd6c7ed2af4ac95121e7b2367e7a6dd77cb042f WHIRLPOOL a327f2b5a8f47498967b80e06336918006b71b4e1b90a96943faa6f05e481273203259ab6f8a3b45ba85249344c76c100880ad88dd346a94ee45327fffb2f3a1
61 +DIST wine_gecko-2.47-beta1-x86.msi 49209856 SHA256 2b570f0d011a7b3711a00f6de1e60d2c04bacf2a4587ba158296ff18f6861891 SHA512 7e2a0502ad2e04bcbf604dc266a4b55f8ce592e2a555ee4d5fe6797fd965f18c08371b2ae65c0fc2bdd452cc14ced1b89f839589cc99832c43bff9f71de680b0 WHIRLPOOL 2bae533925cb9d225af7d1f663d6be7b771f09be5e34fd836c933366e80d529f9b7805b4f062f61994df725a59d5cc6c7f5bcf01245f9981310f11256dac4032
62 +DIST wine_gecko-2.47-beta1-x86_64.msi 50761216 SHA256 af843bb7e49d00906fc9a612ca4829cf18609f94e32b7729696d776fc0447d10 SHA512 9f8b8e8615e2142c682877134583a3fd18f3c33a9bfb41254b0a141f7139bfab21a4f6ac0e207c88db3a322907cf404dafdb08803e37a938a4e0e6ea6d3ebe3c WHIRLPOOL fe5e7c8eaf841fb099ec2912329cd6a2c5217aff5a7e6b268e39d64c9e837bddf61e9f4d2b4276a260f51e409cd6c47882182c9349a7f6081cf7b5566daeb227
63 +DIST wine_gecko-2.47-x86.msi 49266176 SHA256 3b8a361f5d63952d21caafd74e849a774994822fb96c5922b01d554f1677643a SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4 WHIRLPOOL 2b4e3e88d530106d942200e5cdc67e51fc529c51864dee687ff1d6ae4cc94557481f74797a5ca7c1de8ca5ad00f7d9cb71e484ab24d73867d1032ccd88c0c376
64 +DIST wine_gecko-2.47-x86_64.msi 50806272 SHA256 c565ea25e50ea953937d4ab01299e4306da4a556946327d253ea9b28357e4a7d SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41 WHIRLPOOL c7619954da22a47dae86ef4c6c0cfbece41943edcceb2c21babe610e0a0b2197b244ebbddd2f3986ee4d5251b062e5f3b8e079426ec77c311b928d18c8451677
65
66 diff --git a/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch b/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch
67 new file mode 100644
68 index 0000000..291c4a5
69 --- /dev/null
70 +++ b/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch
71 @@ -0,0 +1,39 @@
72 +From bf5ac531a030bce9e798ab66bc53e84a65ca8fdb Mon Sep 17 00:00:00 2001
73 +From: Michael Cronenworth <mike@××××××.com>
74 +Date: Thu, 16 Jun 2016 00:21:13 -0500
75 +Subject: [PATCH] secur32: Provide a static declaration for
76 + gnutls_cipher_get_block_size.
77 +
78 +Instead of providing an extern provide a static declaration. The
79 +function return type changed from signed to unsigned in GnuTLS 3.5.
80 +
81 +Signed-off-by: Michael Cronenworth <mike@××××××.com>
82 +Signed-off-by: Alexandre Julliard <julliard@××××××.org>
83 +---
84 + dlls/secur32/schannel_gnutls.c | 3 +--
85 + 1 file changed, 1 insertion(+), 2 deletions(-)
86 +
87 +diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c
88 +index b10b629..bcadd47 100644
89 +--- a/dlls/secur32/schannel_gnutls.c
90 ++++ b/dlls/secur32/schannel_gnutls.c
91 +@@ -42,7 +42,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(secur32);
92 + WINE_DECLARE_DEBUG_CHANNEL(winediag);
93 +
94 + /* Not present in gnutls version < 2.9.10. */
95 +-extern int gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm);
96 ++static int (*pgnutls_cipher_get_block_size)(gnutls_cipher_algorithm_t algorithm);
97 +
98 + static void *libgnutls_handle;
99 + #define MAKE_FUNCPTR(f) static typeof(f) * p##f
100 +@@ -52,7 +52,6 @@ MAKE_FUNCPTR(gnutls_certificate_allocate_credentials);
101 + MAKE_FUNCPTR(gnutls_certificate_free_credentials);
102 + MAKE_FUNCPTR(gnutls_certificate_get_peers);
103 + MAKE_FUNCPTR(gnutls_cipher_get);
104 +-MAKE_FUNCPTR(gnutls_cipher_get_block_size);
105 + MAKE_FUNCPTR(gnutls_cipher_get_key_size);
106 + MAKE_FUNCPTR(gnutls_credentials_set);
107 + MAKE_FUNCPTR(gnutls_deinit);
108 +--
109 +2.1.4
110 +
111
112 diff --git a/app-emulation/wine/wine-1.8-r1.ebuild b/app-emulation/wine/wine-1.8-r2.ebuild
113 similarity index 76%
114 rename from app-emulation/wine/wine-1.8-r1.ebuild
115 rename to app-emulation/wine/wine-1.8-r2.ebuild
116 index 9819193..8b73b5b 100644
117 --- a/app-emulation/wine/wine-1.8-r1.ebuild
118 +++ b/app-emulation/wine/wine-1.8-r2.ebuild
119 @@ -23,6 +23,8 @@ fi
120
121 GV="2.40"
122 MV="4.5.6"
123 +STAGING_GV="2.40"
124 +STAGING_MV="4.5.6"
125 STAGING_P="wine-staging-${PV}"
126 STAGING_DIR="${WORKDIR}/${STAGING_P}"
127 WINE_GENTOO="wine-gentoo-2015.03.07"
128 @@ -30,11 +32,20 @@ GST_P="wine-1.8-gstreamer-1.0"
129 DESCRIPTION="Free implementation of Windows(tm) on Unix"
130 HOMEPAGE="http://www.winehq.org/"
131 SRC_URI="${SRC_URI}
132 - gecko? (
133 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
134 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
135 + !staging? (
136 + gecko? (
137 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
138 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
139 + )
140 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
141 + )
142 + staging? (
143 + gecko? (
144 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
145 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
146 + )
147 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
148 )
149 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
150 https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
151 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
152
153 @@ -47,32 +58,22 @@ fi
154
155 LICENSE="LGPL-2.1"
156 SLOT="0"
157 -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"
158 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
159 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
160 - test? ( abi_x86_32 )
161 + X? ( truetype )
162 elibc_glibc? ( threads )
163 mono? ( abi_x86_32 )
164 + osmesa? ( opengl )
165 pipelight? ( staging )
166 s3tc? ( staging )
167 - vaapi? ( staging )
168 - osmesa? ( opengl )" #286560
169 + test? ( abi_x86_32 )
170 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
171
172 # FIXME: the test suite is unsuitable for us; many tests require net access
173 # or fail due to Xvfb's opengl limitations.
174 RESTRICT="test"
175
176 COMMON_DEPEND="
177 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
178 - capi? ( net-dialup/capi4k-utils )
179 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
180 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
181 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
182 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
183 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
184 - gstreamer? (
185 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
186 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
187 - )
188 X? (
189 x11-libs/libXcursor[${MULTILIB_USEDEP}]
190 x11-libs/libXext[${MULTILIB_USEDEP}]
191 @@ -80,36 +81,47 @@ COMMON_DEPEND="
192 x11-libs/libXi[${MULTILIB_USEDEP}]
193 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
194 )
195 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
196 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
197 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
198 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
199 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
200 - opengl? (
201 - virtual/glu[${MULTILIB_USEDEP}]
202 - virtual/opengl[${MULTILIB_USEDEP}]
203 - )
204 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
205 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
206 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
207 + gstreamer? (
208 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
209 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
210 + )
211 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
212 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
213 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
214 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
215 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
216 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
217 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
218 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
219 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
220 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
221 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
222 + opengl? (
223 + virtual/glu[${MULTILIB_USEDEP}]
224 + virtual/opengl[${MULTILIB_USEDEP}]
225 + )
226 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
227 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
228 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
229 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
230 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
231 - xml? (
232 - dev-libs/libxml2[${MULTILIB_USEDEP}]
233 - dev-libs/libxslt[${MULTILIB_USEDEP}]
234 - )
235 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
236 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
237 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
238 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
239 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
240 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
241 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
242 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
243 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
244 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
245 + xml? (
246 + dev-libs/libxml2[${MULTILIB_USEDEP}]
247 + dev-libs/libxslt[${MULTILIB_USEDEP}]
248 + )
249 abi_x86_32? (
250 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
251 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
252 @@ -128,28 +140,36 @@ COMMON_DEPEND="
253 )"
254
255 RDEPEND="${COMMON_DEPEND}
256 - dos? ( games-emulation/dosbox )
257 - perl? ( dev-lang/perl dev-perl/XML-Simple )
258 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
259 + perl? (
260 + dev-lang/perl
261 + dev-perl/XML-Simple
262 + )
263 + pulseaudio? (
264 + realtime? ( sys-auth/rtkit )
265 + )
266 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
267 samba? ( >=net-fs/samba-3.0.25[winbind] )
268 selinux? ( sec-policy/selinux-wine )
269 - udisks? ( sys-fs/udisks:2 )
270 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
271 + udisks? ( sys-fs/udisks:2 )"
272
273 # tools/make_requests requires perl
274 DEPEND="${COMMON_DEPEND}
275 - staging? ( dev-lang/perl dev-perl/XML-Simple )
276 + sys-devel/flex
277 + >=sys-kernel/linux-headers-2.6
278 + virtual/pkgconfig
279 + virtual/yacc
280 X? (
281 x11-proto/inputproto
282 x11-proto/xextproto
283 x11-proto/xf86vidmodeproto
284 )
285 - xinerama? ( x11-proto/xineramaproto )
286 prelink? ( sys-devel/prelink )
287 - >=sys-kernel/linux-headers-2.6
288 - virtual/pkgconfig
289 - virtual/yacc
290 - sys-devel/flex"
291 + staging? (
292 + dev-lang/perl
293 + dev-perl/XML-Simple
294 + )
295 + xinerama? ( x11-proto/xineramaproto )"
296
297 # These use a non-standard "Wine" category, which is provided by
298 # /etc/xdg/applications-merged/wine.menu
299 @@ -158,42 +178,51 @@ usr/share/applications/wine-notepad.desktop
300 usr/share/applications/wine-uninstaller.desktop
301 usr/share/applications/wine-winecfg.desktop"
302
303 -wine_build_environment_check() {
304 +wine_compiler_check() {
305 [[ ${MERGE_TYPE} = "binary" ]] && return 0
306
307 - # bug #549768
308 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
309 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
310 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
311 - # Run in subshell to prevent "Aborted" message
312 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
313 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
314 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
315 - eerror "or use gcc-config to select a different compiler version."
316 - eerror "See https://bugs.gentoo.org/549768"
317 - eerror
318 - return 1
319 + # GCC-specific bugs
320 + if tc-is-gcc; then
321 + # bug #549768
322 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
323 + ebegin "Checking for gcc-5 ms_abi compiler bug"
324 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
325 + # Run in subshell to prevent "Aborted" message
326 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
327 + eend $?
328 + if [[ $? -ne 0 ]] ; then
329 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
330 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
331 + eerror "or use gcc-config to select a different compiler version."
332 + eerror "See https://bugs.gentoo.org/549768"
333 + eerror
334 + return 1
335 + fi
336 fi
337 - fi
338 - # bug #574044
339 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
340 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
341 - # Compile in subshell to prevent "Aborted" message
342 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
343 - eerror "Wine cannot be built with this version of gcc-5.3"
344 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
345 - eerror "or use gcc-config to select a different compiler version."
346 - eerror "See https://bugs.gentoo.org/574044"
347 - eerror
348 - return 1
349 + # bug #574044
350 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
351 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
352 + # Compile in subshell to prevent "Aborted" message
353 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
354 + eend $?
355 + if [[ $? -ne 0 ]] ; then
356 + eerror "Wine cannot be built with this version of gcc-5.3"
357 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
358 + eerror "or use gcc-config to select a different compiler version."
359 + eerror "See https://bugs.gentoo.org/574044"
360 + eerror
361 + return 1
362 + fi
363 fi
364 fi
365
366 + # Ensure compiler support
367 if use abi_x86_64; then
368 - einfo "Checking for builtin_ms_va_list ..."
369 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
370 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
371 - else
372 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
373 + # Compile in subshell to prevent "Aborted" message
374 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
375 + eend $?
376 + if [[ $? -ne 0 ]]; then
377 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
378 eerror
379 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
380 @@ -201,6 +230,10 @@ wine_build_environment_check() {
381 return 1
382 fi
383 fi
384 +}
385 +
386 +wine_build_environment_check() {
387 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
388
389 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
390 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
391 @@ -211,7 +244,19 @@ wine_build_environment_check() {
392 }
393
394 pkg_pretend() {
395 + wine_compiler_check || die
396 wine_build_environment_check || die
397 +
398 + # Verify OSS support
399 + if use oss && ! use kernel_FreeBSD; then
400 + local oss_vers=$(best_version media-sound/oss)
401 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
402 + eerror "You cannot build wine with USE=oss without having support from a"
403 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
404 + eerror
405 + die
406 + fi
407 + fi
408 }
409
410 pkg_setup() {
411 @@ -255,8 +300,9 @@ src_prepare() {
412 "${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
413 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
414 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
415 - "${WORKDIR}/${GST_P}.patch"
416 "${FILESDIR}"/${PN}-sysmacros.patch #580046
417 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
418 + "${WORKDIR}/${GST_P}.patch"
419 )
420 if use staging; then
421 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
422 @@ -409,6 +455,13 @@ multilib_src_install_all() {
423 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
424 fi
425
426 + # Remove wineconsole if neither backend is installed #551124
427 + if ! use X && ! use ncurses; then
428 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
429 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
430 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
431 + fi
432 +
433 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
434 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
435
436
437 diff --git a/app-emulation/wine/wine-1.8.1-r1.ebuild b/app-emulation/wine/wine-1.8.1-r2.ebuild
438 similarity index 77%
439 rename from app-emulation/wine/wine-1.8.1-r1.ebuild
440 rename to app-emulation/wine/wine-1.8.1-r2.ebuild
441 index 693adfb..be42443 100644
442 --- a/app-emulation/wine/wine-1.8.1-r1.ebuild
443 +++ b/app-emulation/wine/wine-1.8.1-r2.ebuild
444 @@ -23,6 +23,8 @@ fi
445
446 GV="2.40"
447 MV="4.5.6"
448 +STAGING_GV="2.40"
449 +STAGING_MV="4.5.6"
450 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
451 STAGING_P="wine-staging-${PV}"
452 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
453 @@ -31,11 +33,20 @@ GST_P="wine-1.8-gstreamer-1.0"
454 DESCRIPTION="Free implementation of Windows(tm) on Unix"
455 HOMEPAGE="http://www.winehq.org/"
456 SRC_URI="${SRC_URI}
457 - gecko? (
458 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
459 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
460 + !staging? (
461 + gecko? (
462 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
463 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
464 + )
465 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
466 + )
467 + staging? (
468 + gecko? (
469 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
470 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
471 + )
472 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
473 )
474 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
475 https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
476 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
477
478 @@ -48,32 +59,22 @@ fi
479
480 LICENSE="LGPL-2.1"
481 SLOT="0"
482 -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"
483 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
484 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
485 - test? ( abi_x86_32 )
486 + X? ( truetype )
487 elibc_glibc? ( threads )
488 mono? ( abi_x86_32 )
489 + osmesa? ( opengl )
490 pipelight? ( staging )
491 s3tc? ( staging )
492 - vaapi? ( staging )
493 - osmesa? ( opengl )" #286560
494 + test? ( abi_x86_32 )
495 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
496
497 # FIXME: the test suite is unsuitable for us; many tests require net access
498 # or fail due to Xvfb's opengl limitations.
499 RESTRICT="test"
500
501 COMMON_DEPEND="
502 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
503 - capi? ( net-dialup/capi4k-utils )
504 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
505 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
506 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
507 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
508 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
509 - gstreamer? (
510 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
511 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
512 - )
513 X? (
514 x11-libs/libXcursor[${MULTILIB_USEDEP}]
515 x11-libs/libXext[${MULTILIB_USEDEP}]
516 @@ -81,36 +82,47 @@ COMMON_DEPEND="
517 x11-libs/libXi[${MULTILIB_USEDEP}]
518 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
519 )
520 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
521 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
522 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
523 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
524 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
525 - opengl? (
526 - virtual/glu[${MULTILIB_USEDEP}]
527 - virtual/opengl[${MULTILIB_USEDEP}]
528 - )
529 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
530 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
531 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
532 + gstreamer? (
533 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
534 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
535 + )
536 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
537 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
538 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
539 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
540 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
541 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
542 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
543 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
544 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
545 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
546 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
547 + opengl? (
548 + virtual/glu[${MULTILIB_USEDEP}]
549 + virtual/opengl[${MULTILIB_USEDEP}]
550 + )
551 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
552 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
553 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
554 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
555 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
556 - xml? (
557 - dev-libs/libxml2[${MULTILIB_USEDEP}]
558 - dev-libs/libxslt[${MULTILIB_USEDEP}]
559 - )
560 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
561 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
562 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
563 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
564 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
565 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
566 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
567 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
568 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
569 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
570 + xml? (
571 + dev-libs/libxml2[${MULTILIB_USEDEP}]
572 + dev-libs/libxslt[${MULTILIB_USEDEP}]
573 + )
574 abi_x86_32? (
575 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
576 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
577 @@ -129,28 +141,36 @@ COMMON_DEPEND="
578 )"
579
580 RDEPEND="${COMMON_DEPEND}
581 - dos? ( games-emulation/dosbox )
582 - perl? ( dev-lang/perl dev-perl/XML-Simple )
583 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
584 + perl? (
585 + dev-lang/perl
586 + dev-perl/XML-Simple
587 + )
588 + pulseaudio? (
589 + realtime? ( sys-auth/rtkit )
590 + )
591 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
592 samba? ( >=net-fs/samba-3.0.25[winbind] )
593 selinux? ( sec-policy/selinux-wine )
594 - udisks? ( sys-fs/udisks:2 )
595 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
596 + udisks? ( sys-fs/udisks:2 )"
597
598 # tools/make_requests requires perl
599 DEPEND="${COMMON_DEPEND}
600 - staging? ( dev-lang/perl dev-perl/XML-Simple )
601 + sys-devel/flex
602 + >=sys-kernel/linux-headers-2.6
603 + virtual/pkgconfig
604 + virtual/yacc
605 X? (
606 x11-proto/inputproto
607 x11-proto/xextproto
608 x11-proto/xf86vidmodeproto
609 )
610 - xinerama? ( x11-proto/xineramaproto )
611 prelink? ( sys-devel/prelink )
612 - >=sys-kernel/linux-headers-2.6
613 - virtual/pkgconfig
614 - virtual/yacc
615 - sys-devel/flex"
616 + staging? (
617 + dev-lang/perl
618 + dev-perl/XML-Simple
619 + )
620 + xinerama? ( x11-proto/xineramaproto )"
621
622 # These use a non-standard "Wine" category, which is provided by
623 # /etc/xdg/applications-merged/wine.menu
624 @@ -159,42 +179,51 @@ usr/share/applications/wine-notepad.desktop
625 usr/share/applications/wine-uninstaller.desktop
626 usr/share/applications/wine-winecfg.desktop"
627
628 -wine_build_environment_check() {
629 +wine_compiler_check() {
630 [[ ${MERGE_TYPE} = "binary" ]] && return 0
631
632 - # bug #549768
633 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
634 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
635 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
636 - # Run in subshell to prevent "Aborted" message
637 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
638 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
639 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
640 - eerror "or use gcc-config to select a different compiler version."
641 - eerror "See https://bugs.gentoo.org/549768"
642 - eerror
643 - return 1
644 + # GCC-specific bugs
645 + if tc-is-gcc; then
646 + # bug #549768
647 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
648 + ebegin "Checking for gcc-5 ms_abi compiler bug"
649 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
650 + # Run in subshell to prevent "Aborted" message
651 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
652 + eend $?
653 + if [[ $? -ne 0 ]] ; then
654 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
655 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
656 + eerror "or use gcc-config to select a different compiler version."
657 + eerror "See https://bugs.gentoo.org/549768"
658 + eerror
659 + return 1
660 + fi
661 fi
662 - fi
663 - # bug #574044
664 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
665 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
666 - # Compile in subshell to prevent "Aborted" message
667 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
668 - eerror "Wine cannot be built with this version of gcc-5.3"
669 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
670 - eerror "or use gcc-config to select a different compiler version."
671 - eerror "See https://bugs.gentoo.org/574044"
672 - eerror
673 - return 1
674 + # bug #574044
675 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
676 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
677 + # Compile in subshell to prevent "Aborted" message
678 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
679 + eend $?
680 + if [[ $? -ne 0 ]] ; then
681 + eerror "Wine cannot be built with this version of gcc-5.3"
682 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
683 + eerror "or use gcc-config to select a different compiler version."
684 + eerror "See https://bugs.gentoo.org/574044"
685 + eerror
686 + return 1
687 + fi
688 fi
689 fi
690
691 + # Ensure compiler support
692 if use abi_x86_64; then
693 - einfo "Checking for builtin_ms_va_list ..."
694 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
695 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
696 - else
697 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
698 + # Compile in subshell to prevent "Aborted" message
699 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
700 + eend $?
701 + if [[ $? -ne 0 ]]; then
702 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
703 eerror
704 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
705 @@ -202,6 +231,10 @@ wine_build_environment_check() {
706 return 1
707 fi
708 fi
709 +}
710 +
711 +wine_build_environment_check() {
712 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
713
714 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
715 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
716 @@ -212,7 +245,19 @@ wine_build_environment_check() {
717 }
718
719 pkg_pretend() {
720 + wine_compiler_check || die
721 wine_build_environment_check || die
722 +
723 + # Verify OSS support
724 + if use oss && ! use kernel_FreeBSD; then
725 + local oss_vers=$(best_version media-sound/oss)
726 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
727 + eerror "You cannot build wine with USE=oss without having support from a"
728 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
729 + eerror
730 + die
731 + fi
732 + fi
733 }
734
735 pkg_setup() {
736 @@ -256,8 +301,9 @@ src_prepare() {
737 "${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
738 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
739 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
740 - "${WORKDIR}/${GST_P}.patch"
741 "${FILESDIR}"/${PN}-sysmacros.patch #580046
742 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
743 + "${WORKDIR}/${GST_P}.patch"
744 )
745 if use staging; then
746 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
747 @@ -415,6 +461,13 @@ multilib_src_install_all() {
748 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
749 fi
750
751 + # Remove wineconsole if neither backend is installed #551124
752 + if ! use X && ! use ncurses; then
753 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
754 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
755 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
756 + fi
757 +
758 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
759 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
760
761
762 diff --git a/app-emulation/wine/wine-1.8.2.ebuild b/app-emulation/wine/wine-1.8.2-r1.ebuild
763 similarity index 77%
764 copy from app-emulation/wine/wine-1.8.2.ebuild
765 copy to app-emulation/wine/wine-1.8.2-r1.ebuild
766 index 64a4bc5..b01ffd8 100644
767 --- a/app-emulation/wine/wine-1.8.2.ebuild
768 +++ b/app-emulation/wine/wine-1.8.2-r1.ebuild
769 @@ -18,11 +18,13 @@ if [[ ${PV} == "9999" ]] ; then
770 else
771 MAJOR_V=$(get_version_component_range 1-2)
772 SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
773 - KEYWORDS="-* amd64 x86 ~x86-fbsd"
774 + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
775 fi
776
777 GV="2.40"
778 MV="4.5.6"
779 +STAGING_GV="2.40"
780 +STAGING_MV="4.5.6"
781 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
782 STAGING_P="wine-staging-${PV}"
783 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
784 @@ -31,11 +33,20 @@ GST_P="wine-1.8-gstreamer-1.0"
785 DESCRIPTION="Free implementation of Windows(tm) on Unix"
786 HOMEPAGE="http://www.winehq.org/"
787 SRC_URI="${SRC_URI}
788 - gecko? (
789 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
790 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
791 + !staging? (
792 + gecko? (
793 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
794 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
795 + )
796 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
797 + )
798 + staging? (
799 + gecko? (
800 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
801 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
802 + )
803 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
804 )
805 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
806 https://dev.gentoo.org/~np-hardass/distfiles/${PN}/${GST_P}.patch.bz2
807 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
808
809 @@ -48,32 +59,22 @@ fi
810
811 LICENSE="LGPL-2.1"
812 SLOT="0"
813 -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"
814 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
815 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
816 - test? ( abi_x86_32 )
817 + X? ( truetype )
818 elibc_glibc? ( threads )
819 mono? ( abi_x86_32 )
820 + osmesa? ( opengl )
821 pipelight? ( staging )
822 s3tc? ( staging )
823 - vaapi? ( staging )
824 - osmesa? ( opengl )" #286560
825 + test? ( abi_x86_32 )
826 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
827
828 # FIXME: the test suite is unsuitable for us; many tests require net access
829 # or fail due to Xvfb's opengl limitations.
830 RESTRICT="test"
831
832 COMMON_DEPEND="
833 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
834 - capi? ( net-dialup/capi4k-utils )
835 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
836 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
837 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
838 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
839 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
840 - gstreamer? (
841 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
842 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
843 - )
844 X? (
845 x11-libs/libXcursor[${MULTILIB_USEDEP}]
846 x11-libs/libXext[${MULTILIB_USEDEP}]
847 @@ -81,36 +82,47 @@ COMMON_DEPEND="
848 x11-libs/libXi[${MULTILIB_USEDEP}]
849 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
850 )
851 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
852 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
853 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
854 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
855 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
856 - opengl? (
857 - virtual/glu[${MULTILIB_USEDEP}]
858 - virtual/opengl[${MULTILIB_USEDEP}]
859 - )
860 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
861 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
862 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
863 + gstreamer? (
864 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
865 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
866 + )
867 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
868 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
869 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
870 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
871 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
872 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
873 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
874 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
875 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
876 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
877 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
878 + opengl? (
879 + virtual/glu[${MULTILIB_USEDEP}]
880 + virtual/opengl[${MULTILIB_USEDEP}]
881 + )
882 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
883 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
884 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
885 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
886 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
887 - xml? (
888 - dev-libs/libxml2[${MULTILIB_USEDEP}]
889 - dev-libs/libxslt[${MULTILIB_USEDEP}]
890 - )
891 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
892 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
893 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
894 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
895 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
896 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
897 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
898 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
899 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
900 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
901 + xml? (
902 + dev-libs/libxml2[${MULTILIB_USEDEP}]
903 + dev-libs/libxslt[${MULTILIB_USEDEP}]
904 + )
905 abi_x86_32? (
906 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
907 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
908 @@ -129,28 +141,36 @@ COMMON_DEPEND="
909 )"
910
911 RDEPEND="${COMMON_DEPEND}
912 - dos? ( games-emulation/dosbox )
913 - perl? ( dev-lang/perl dev-perl/XML-Simple )
914 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
915 + perl? (
916 + dev-lang/perl
917 + dev-perl/XML-Simple
918 + )
919 + pulseaudio? (
920 + realtime? ( sys-auth/rtkit )
921 + )
922 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
923 samba? ( >=net-fs/samba-3.0.25[winbind] )
924 selinux? ( sec-policy/selinux-wine )
925 - udisks? ( sys-fs/udisks:2 )
926 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
927 + udisks? ( sys-fs/udisks:2 )"
928
929 # tools/make_requests requires perl
930 DEPEND="${COMMON_DEPEND}
931 - staging? ( dev-lang/perl dev-perl/XML-Simple )
932 + sys-devel/flex
933 + >=sys-kernel/linux-headers-2.6
934 + virtual/pkgconfig
935 + virtual/yacc
936 X? (
937 x11-proto/inputproto
938 x11-proto/xextproto
939 x11-proto/xf86vidmodeproto
940 )
941 - xinerama? ( x11-proto/xineramaproto )
942 prelink? ( sys-devel/prelink )
943 - >=sys-kernel/linux-headers-2.6
944 - virtual/pkgconfig
945 - virtual/yacc
946 - sys-devel/flex"
947 + staging? (
948 + dev-lang/perl
949 + dev-perl/XML-Simple
950 + )
951 + xinerama? ( x11-proto/xineramaproto )"
952
953 # These use a non-standard "Wine" category, which is provided by
954 # /etc/xdg/applications-merged/wine.menu
955 @@ -159,42 +179,51 @@ usr/share/applications/wine-notepad.desktop
956 usr/share/applications/wine-uninstaller.desktop
957 usr/share/applications/wine-winecfg.desktop"
958
959 -wine_build_environment_check() {
960 +wine_compiler_check() {
961 [[ ${MERGE_TYPE} = "binary" ]] && return 0
962
963 - # bug #549768
964 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
965 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
966 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
967 - # Run in subshell to prevent "Aborted" message
968 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
969 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
970 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
971 - eerror "or use gcc-config to select a different compiler version."
972 - eerror "See https://bugs.gentoo.org/549768"
973 - eerror
974 - return 1
975 + # GCC-specific bugs
976 + if tc-is-gcc; then
977 + # bug #549768
978 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
979 + ebegin "Checking for gcc-5 ms_abi compiler bug"
980 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
981 + # Run in subshell to prevent "Aborted" message
982 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
983 + eend $?
984 + if [[ $? -ne 0 ]] ; then
985 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
986 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
987 + eerror "or use gcc-config to select a different compiler version."
988 + eerror "See https://bugs.gentoo.org/549768"
989 + eerror
990 + return 1
991 + fi
992 fi
993 - fi
994 - # bug #574044
995 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
996 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
997 - # Compile in subshell to prevent "Aborted" message
998 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
999 - eerror "Wine cannot be built with this version of gcc-5.3"
1000 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1001 - eerror "or use gcc-config to select a different compiler version."
1002 - eerror "See https://bugs.gentoo.org/574044"
1003 - eerror
1004 - return 1
1005 + # bug #574044
1006 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1007 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
1008 + # Compile in subshell to prevent "Aborted" message
1009 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
1010 + eend $?
1011 + if [[ $? -ne 0 ]] ; then
1012 + eerror "Wine cannot be built with this version of gcc-5.3"
1013 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1014 + eerror "or use gcc-config to select a different compiler version."
1015 + eerror "See https://bugs.gentoo.org/574044"
1016 + eerror
1017 + return 1
1018 + fi
1019 fi
1020 fi
1021
1022 + # Ensure compiler support
1023 if use abi_x86_64; then
1024 - einfo "Checking for builtin_ms_va_list ..."
1025 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
1026 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
1027 - else
1028 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
1029 + # Compile in subshell to prevent "Aborted" message
1030 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
1031 + eend $?
1032 + if [[ $? -ne 0 ]]; then
1033 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1034 eerror
1035 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1036 @@ -202,6 +231,10 @@ wine_build_environment_check() {
1037 return 1
1038 fi
1039 fi
1040 +}
1041 +
1042 +wine_build_environment_check() {
1043 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
1044
1045 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
1046 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1047 @@ -212,7 +245,19 @@ wine_build_environment_check() {
1048 }
1049
1050 pkg_pretend() {
1051 + wine_compiler_check || die
1052 wine_build_environment_check || die
1053 +
1054 + # Verify OSS support
1055 + if use oss && ! use kernel_FreeBSD; then
1056 + local oss_vers=$(best_version media-sound/oss)
1057 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
1058 + eerror "You cannot build wine with USE=oss without having support from a"
1059 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1060 + eerror
1061 + die
1062 + fi
1063 + fi
1064 }
1065
1066 pkg_setup() {
1067 @@ -256,8 +301,9 @@ src_prepare() {
1068 "${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
1069 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
1070 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
1071 - "${WORKDIR}/${GST_P}.patch"
1072 "${FILESDIR}"/${PN}-sysmacros.patch #580046
1073 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
1074 + "${WORKDIR}/${GST_P}.patch"
1075 )
1076 if use staging; then
1077 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
1078 @@ -415,6 +461,13 @@ multilib_src_install_all() {
1079 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
1080 fi
1081
1082 + # Remove wineconsole if neither backend is installed #551124
1083 + if ! use X && ! use ncurses; then
1084 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
1085 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
1086 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
1087 + fi
1088 +
1089 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
1090 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
1091
1092
1093 diff --git a/app-emulation/wine/wine-1.8.2.ebuild b/app-emulation/wine/wine-1.8.2.ebuild
1094 index 64a4bc5..0da62bb 100644
1095 --- a/app-emulation/wine/wine-1.8.2.ebuild
1096 +++ b/app-emulation/wine/wine-1.8.2.ebuild
1097 @@ -50,11 +50,11 @@ LICENSE="LGPL-2.1"
1098 SLOT="0"
1099 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"
1100 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1101 - test? ( abi_x86_32 )
1102 elibc_glibc? ( threads )
1103 mono? ( abi_x86_32 )
1104 pipelight? ( staging )
1105 s3tc? ( staging )
1106 + test? ( abi_x86_32 )
1107 vaapi? ( staging )
1108 osmesa? ( opengl )" #286560
1109
1110 @@ -63,17 +63,6 @@ REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1111 RESTRICT="test"
1112
1113 COMMON_DEPEND="
1114 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1115 - capi? ( net-dialup/capi4k-utils )
1116 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1117 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1118 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1119 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1120 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1121 - gstreamer? (
1122 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1123 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1124 - )
1125 X? (
1126 x11-libs/libXcursor[${MULTILIB_USEDEP}]
1127 x11-libs/libXext[${MULTILIB_USEDEP}]
1128 @@ -83,34 +72,45 @@ COMMON_DEPEND="
1129 )
1130 xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1131 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1132 + capi? ( net-dialup/capi4k-utils )
1133 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1134 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1135 - opengl? (
1136 - virtual/glu[${MULTILIB_USEDEP}]
1137 - virtual/opengl[${MULTILIB_USEDEP}]
1138 - )
1139 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1140 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1141 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1142 + gstreamer? (
1143 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1144 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1145 + )
1146 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1147 ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1148 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1149 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1150 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1151 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1152 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1153 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1154 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1155 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1156 + opengl? (
1157 + virtual/glu[${MULTILIB_USEDEP}]
1158 + virtual/opengl[${MULTILIB_USEDEP}]
1159 + )
1160 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
1161 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1162 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1163 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1164 staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
1165 - xml? (
1166 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1167 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1168 - )
1169 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1170 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1171 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1172 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1173 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1174 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1175 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
1176 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1177 + xml? (
1178 + dev-libs/libxml2[${MULTILIB_USEDEP}]
1179 + dev-libs/libxslt[${MULTILIB_USEDEP}]
1180 + )
1181 abi_x86_32? (
1182 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1183 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1184 @@ -130,27 +130,35 @@ COMMON_DEPEND="
1185
1186 RDEPEND="${COMMON_DEPEND}
1187 dos? ( games-emulation/dosbox )
1188 - perl? ( dev-lang/perl dev-perl/XML-Simple )
1189 + perl? (
1190 + dev-lang/perl
1191 + dev-perl/XML-Simple
1192 + )
1193 + pulseaudio? (
1194 + realtime? ( sys-auth/rtkit )
1195 + )
1196 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
1197 samba? ( >=net-fs/samba-3.0.25[winbind] )
1198 selinux? ( sec-policy/selinux-wine )
1199 - udisks? ( sys-fs/udisks:2 )
1200 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
1201 + udisks? ( sys-fs/udisks:2 )"
1202
1203 # tools/make_requests requires perl
1204 DEPEND="${COMMON_DEPEND}
1205 - staging? ( dev-lang/perl dev-perl/XML-Simple )
1206 + sys-devel/flex
1207 + >=sys-kernel/linux-headers-2.6
1208 + virtual/pkgconfig
1209 + virtual/yacc
1210 + prelink? ( sys-devel/prelink )
1211 + staging? (
1212 + dev-lang/perl
1213 + dev-perl/XML-Simple
1214 + )
1215 X? (
1216 x11-proto/inputproto
1217 x11-proto/xextproto
1218 x11-proto/xf86vidmodeproto
1219 )
1220 - xinerama? ( x11-proto/xineramaproto )
1221 - prelink? ( sys-devel/prelink )
1222 - >=sys-kernel/linux-headers-2.6
1223 - virtual/pkgconfig
1224 - virtual/yacc
1225 - sys-devel/flex"
1226 + xinerama? ( x11-proto/xineramaproto )"
1227
1228 # These use a non-standard "Wine" category, which is provided by
1229 # /etc/xdg/applications-merged/wine.menu
1230 @@ -159,37 +167,41 @@ usr/share/applications/wine-notepad.desktop
1231 usr/share/applications/wine-uninstaller.desktop
1232 usr/share/applications/wine-winecfg.desktop"
1233
1234 -wine_build_environment_check() {
1235 +wine_compiler_check() {
1236 [[ ${MERGE_TYPE} = "binary" ]] && return 0
1237
1238 - # bug #549768
1239 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1240 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
1241 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
1242 - # Run in subshell to prevent "Aborted" message
1243 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
1244 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1245 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1246 - eerror "or use gcc-config to select a different compiler version."
1247 - eerror "See https://bugs.gentoo.org/549768"
1248 - eerror
1249 - return 1
1250 + # GCC-specific bugs
1251 + if tc-is-gcc; then
1252 + # bug #549768
1253 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1254 + einfo "Checking for gcc-5 ms_abi compiler bug ..."
1255 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
1256 + # Run in subshell to prevent "Aborted" message
1257 + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
1258 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1259 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1260 + eerror "or use gcc-config to select a different compiler version."
1261 + eerror "See https://bugs.gentoo.org/549768"
1262 + eerror
1263 + return 1
1264 + fi
1265 fi
1266 - fi
1267 - # bug #574044
1268 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1269 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
1270 - # Compile in subshell to prevent "Aborted" message
1271 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
1272 - eerror "Wine cannot be built with this version of gcc-5.3"
1273 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1274 - eerror "or use gcc-config to select a different compiler version."
1275 - eerror "See https://bugs.gentoo.org/574044"
1276 - eerror
1277 - return 1
1278 + # bug #574044
1279 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1280 + einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
1281 + # Compile in subshell to prevent "Aborted" message
1282 + if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
1283 + eerror "Wine cannot be built with this version of gcc-5.3"
1284 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1285 + eerror "or use gcc-config to select a different compiler version."
1286 + eerror "See https://bugs.gentoo.org/574044"
1287 + eerror
1288 + return 1
1289 + fi
1290 fi
1291 fi
1292
1293 + # Ensure compiler support
1294 if use abi_x86_64; then
1295 einfo "Checking for builtin_ms_va_list ..."
1296 if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
1297 @@ -202,6 +214,10 @@ wine_build_environment_check() {
1298 return 1
1299 fi
1300 fi
1301 +}
1302 +
1303 +wine_build_environment_check() {
1304 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
1305
1306 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
1307 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1308 @@ -212,6 +228,7 @@ wine_build_environment_check() {
1309 }
1310
1311 pkg_pretend() {
1312 + wine_compiler_check || die
1313 wine_build_environment_check || die
1314 }
1315
1316
1317 diff --git a/app-emulation/wine/wine-1.9.11.ebuild b/app-emulation/wine/wine-1.9.10-r1.ebuild
1318 similarity index 77%
1319 rename from app-emulation/wine/wine-1.9.11.ebuild
1320 rename to app-emulation/wine/wine-1.9.10-r1.ebuild
1321 index 529dfbe..fb182df 100644
1322 --- a/app-emulation/wine/wine-1.9.11.ebuild
1323 +++ b/app-emulation/wine/wine-1.9.10-r1.ebuild
1324 @@ -23,6 +23,8 @@ fi
1325
1326 GV="2.44"
1327 MV="4.6.2"
1328 +STAGING_GV="2.47-beta1"
1329 +STAGING_MV="4.6.2"
1330 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
1331 STAGING_P="wine-staging-${PV}"
1332 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
1333 @@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
1334 DESCRIPTION="Free implementation of Windows(tm) on Unix"
1335 HOMEPAGE="http://www.winehq.org/"
1336 SRC_URI="${SRC_URI}
1337 - gecko? (
1338 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
1339 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
1340 + !staging? (
1341 + gecko? (
1342 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
1343 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
1344 + )
1345 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
1346 + )
1347 + staging? (
1348 + gecko? (
1349 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
1350 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
1351 + )
1352 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
1353 )
1354 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
1355 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
1356
1357 if [[ ${PV} == "9999" ]] ; then
1358 @@ -50,32 +61,21 @@ fi
1359
1360 LICENSE="LGPL-2.1"
1361 SLOT="0"
1362 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 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"
1363 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
1364 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1365 - test? ( abi_x86_32 )
1366 + X? ( truetype )
1367 elibc_glibc? ( threads )
1368 + osmesa? ( opengl )
1369 pipelight? ( staging )
1370 s3tc? ( staging )
1371 - vaapi? ( staging )
1372 - osmesa? ( opengl )" #286560
1373 + test? ( abi_x86_32 )
1374 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
1375
1376 # FIXME: the test suite is unsuitable for us; many tests require net access
1377 # or fail due to Xvfb's opengl limitations.
1378 RESTRICT="test"
1379
1380 COMMON_DEPEND="
1381 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1382 - capi? ( net-dialup/capi4k-utils )
1383 - d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
1384 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1385 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1386 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1387 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1388 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1389 - gstreamer? (
1390 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1391 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1392 - )
1393 X? (
1394 x11-libs/libXcursor[${MULTILIB_USEDEP}]
1395 x11-libs/libXext[${MULTILIB_USEDEP}]
1396 @@ -83,36 +83,48 @@ COMMON_DEPEND="
1397 x11-libs/libXi[${MULTILIB_USEDEP}]
1398 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1399 )
1400 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1401 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1402 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1403 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1404 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1405 - opengl? (
1406 - virtual/glu[${MULTILIB_USEDEP}]
1407 - virtual/opengl[${MULTILIB_USEDEP}]
1408 - )
1409 + d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
1410 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1411 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1412 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1413 + gstreamer? (
1414 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1415 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1416 + )
1417 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1418 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1419 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1420 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1421 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1422 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1423 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1424 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1425 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1426 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1427 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1428 + opengl? (
1429 + virtual/glu[${MULTILIB_USEDEP}]
1430 + virtual/opengl[${MULTILIB_USEDEP}]
1431 + )
1432 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
1433 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1434 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1435 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1436 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
1437 - xml? (
1438 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1439 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1440 - )
1441 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1442 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1443 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1444 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
1445 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1446 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1447 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1448 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
1449 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1450 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1451 + xml? (
1452 + dev-libs/libxml2[${MULTILIB_USEDEP}]
1453 + dev-libs/libxslt[${MULTILIB_USEDEP}]
1454 + )
1455 abi_x86_32? (
1456 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1457 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1458 @@ -131,28 +143,36 @@ COMMON_DEPEND="
1459 )"
1460
1461 RDEPEND="${COMMON_DEPEND}
1462 - dos? ( games-emulation/dosbox )
1463 - perl? ( dev-lang/perl dev-perl/XML-Simple )
1464 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1465 + perl? (
1466 + dev-lang/perl
1467 + dev-perl/XML-Simple
1468 + )
1469 + pulseaudio? (
1470 + realtime? ( sys-auth/rtkit )
1471 + )
1472 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
1473 samba? ( >=net-fs/samba-3.0.25[winbind] )
1474 selinux? ( sec-policy/selinux-wine )
1475 - udisks? ( sys-fs/udisks:2 )
1476 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
1477 + udisks? ( sys-fs/udisks:2 )"
1478
1479 # tools/make_requests requires perl
1480 DEPEND="${COMMON_DEPEND}
1481 - staging? ( dev-lang/perl dev-perl/XML-Simple )
1482 + sys-devel/flex
1483 + >=sys-kernel/linux-headers-2.6
1484 + virtual/pkgconfig
1485 + virtual/yacc
1486 X? (
1487 x11-proto/inputproto
1488 x11-proto/xextproto
1489 x11-proto/xf86vidmodeproto
1490 )
1491 - xinerama? ( x11-proto/xineramaproto )
1492 prelink? ( sys-devel/prelink )
1493 - >=sys-kernel/linux-headers-2.6
1494 - virtual/pkgconfig
1495 - virtual/yacc
1496 - sys-devel/flex"
1497 + staging? (
1498 + dev-lang/perl
1499 + dev-perl/XML-Simple
1500 + )
1501 + xinerama? ( x11-proto/xineramaproto )"
1502
1503 # These use a non-standard "Wine" category, which is provided by
1504 # /etc/xdg/applications-merged/wine.menu
1505 @@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
1506 usr/share/applications/wine-uninstaller.desktop
1507 usr/share/applications/wine-winecfg.desktop"
1508
1509 -wine_build_environment_check() {
1510 +wine_compiler_check() {
1511 [[ ${MERGE_TYPE} = "binary" ]] && return 0
1512
1513 - # bug #549768
1514 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1515 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
1516 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
1517 - # Run in subshell to prevent "Aborted" message
1518 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
1519 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1520 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1521 - eerror "or use gcc-config to select a different compiler version."
1522 - eerror "See https://bugs.gentoo.org/549768"
1523 - eerror
1524 - return 1
1525 + # GCC-specific bugs
1526 + if tc-is-gcc; then
1527 + # bug #549768
1528 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1529 + ebegin "Checking for gcc-5 ms_abi compiler bug"
1530 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
1531 + # Run in subshell to prevent "Aborted" message
1532 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
1533 + eend $?
1534 + if [[ $? -ne 0 ]] ; then
1535 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1536 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1537 + eerror "or use gcc-config to select a different compiler version."
1538 + eerror "See https://bugs.gentoo.org/549768"
1539 + eerror
1540 + return 1
1541 + fi
1542 fi
1543 - fi
1544 - # bug #574044
1545 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1546 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
1547 - # Compile in subshell to prevent "Aborted" message
1548 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
1549 - eerror "Wine cannot be built with this version of gcc-5.3"
1550 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1551 - eerror "or use gcc-config to select a different compiler version."
1552 - eerror "See https://bugs.gentoo.org/574044"
1553 - eerror
1554 - return 1
1555 + # bug #574044
1556 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1557 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
1558 + # Compile in subshell to prevent "Aborted" message
1559 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
1560 + eend $?
1561 + if [[ $? -ne 0 ]] ; then
1562 + eerror "Wine cannot be built with this version of gcc-5.3"
1563 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1564 + eerror "or use gcc-config to select a different compiler version."
1565 + eerror "See https://bugs.gentoo.org/574044"
1566 + eerror
1567 + return 1
1568 + fi
1569 fi
1570 fi
1571
1572 + # Ensure compiler support
1573 if use abi_x86_64; then
1574 - einfo "Checking for builtin_ms_va_list ..."
1575 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
1576 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
1577 - else
1578 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
1579 + # Compile in subshell to prevent "Aborted" message
1580 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
1581 + eend $?
1582 + if [[ $? -ne 0 ]]; then
1583 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1584 eerror
1585 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1586 @@ -204,6 +233,10 @@ wine_build_environment_check() {
1587 return 1
1588 fi
1589 fi
1590 +}
1591 +
1592 +wine_build_environment_check() {
1593 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
1594
1595 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
1596 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1597 @@ -214,7 +247,19 @@ wine_build_environment_check() {
1598 }
1599
1600 pkg_pretend() {
1601 + wine_compiler_check || die
1602 wine_build_environment_check || die
1603 +
1604 + # Verify OSS support
1605 + if use oss && ! use kernel_FreeBSD; then
1606 + local oss_vers=$(best_version media-sound/oss)
1607 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
1608 + eerror "You cannot build wine with USE=oss without having support from a"
1609 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1610 + eerror
1611 + die
1612 + fi
1613 + fi
1614 }
1615
1616 pkg_setup() {
1617 @@ -263,6 +308,7 @@ src_prepare() {
1618 "${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
1619 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
1620 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
1621 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
1622 )
1623 if use staging; then
1624 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
1625 @@ -429,6 +475,13 @@ multilib_src_install_all() {
1626 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
1627 fi
1628
1629 + # Remove wineconsole if neither backend is installed #551124
1630 + if ! use X && ! use ncurses; then
1631 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
1632 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
1633 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
1634 + fi
1635 +
1636 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
1637 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
1638
1639
1640 diff --git a/app-emulation/wine/wine-1.9.9.ebuild b/app-emulation/wine/wine-1.9.11-r1.ebuild
1641 similarity index 77%
1642 rename from app-emulation/wine/wine-1.9.9.ebuild
1643 rename to app-emulation/wine/wine-1.9.11-r1.ebuild
1644 index 529dfbe..fb182df 100644
1645 --- a/app-emulation/wine/wine-1.9.9.ebuild
1646 +++ b/app-emulation/wine/wine-1.9.11-r1.ebuild
1647 @@ -23,6 +23,8 @@ fi
1648
1649 GV="2.44"
1650 MV="4.6.2"
1651 +STAGING_GV="2.47-beta1"
1652 +STAGING_MV="4.6.2"
1653 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
1654 STAGING_P="wine-staging-${PV}"
1655 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
1656 @@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
1657 DESCRIPTION="Free implementation of Windows(tm) on Unix"
1658 HOMEPAGE="http://www.winehq.org/"
1659 SRC_URI="${SRC_URI}
1660 - gecko? (
1661 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
1662 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
1663 + !staging? (
1664 + gecko? (
1665 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
1666 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
1667 + )
1668 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
1669 + )
1670 + staging? (
1671 + gecko? (
1672 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
1673 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
1674 + )
1675 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
1676 )
1677 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
1678 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
1679
1680 if [[ ${PV} == "9999" ]] ; then
1681 @@ -50,32 +61,21 @@ fi
1682
1683 LICENSE="LGPL-2.1"
1684 SLOT="0"
1685 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 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"
1686 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
1687 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1688 - test? ( abi_x86_32 )
1689 + X? ( truetype )
1690 elibc_glibc? ( threads )
1691 + osmesa? ( opengl )
1692 pipelight? ( staging )
1693 s3tc? ( staging )
1694 - vaapi? ( staging )
1695 - osmesa? ( opengl )" #286560
1696 + test? ( abi_x86_32 )
1697 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
1698
1699 # FIXME: the test suite is unsuitable for us; many tests require net access
1700 # or fail due to Xvfb's opengl limitations.
1701 RESTRICT="test"
1702
1703 COMMON_DEPEND="
1704 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1705 - capi? ( net-dialup/capi4k-utils )
1706 - d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
1707 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1708 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1709 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1710 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1711 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1712 - gstreamer? (
1713 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1714 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1715 - )
1716 X? (
1717 x11-libs/libXcursor[${MULTILIB_USEDEP}]
1718 x11-libs/libXext[${MULTILIB_USEDEP}]
1719 @@ -83,36 +83,48 @@ COMMON_DEPEND="
1720 x11-libs/libXi[${MULTILIB_USEDEP}]
1721 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1722 )
1723 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1724 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1725 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1726 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1727 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1728 - opengl? (
1729 - virtual/glu[${MULTILIB_USEDEP}]
1730 - virtual/opengl[${MULTILIB_USEDEP}]
1731 - )
1732 + d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
1733 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1734 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1735 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1736 + gstreamer? (
1737 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1738 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1739 + )
1740 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1741 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1742 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1743 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1744 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1745 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1746 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1747 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1748 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1749 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1750 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1751 + opengl? (
1752 + virtual/glu[${MULTILIB_USEDEP}]
1753 + virtual/opengl[${MULTILIB_USEDEP}]
1754 + )
1755 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
1756 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1757 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1758 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1759 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
1760 - xml? (
1761 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1762 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1763 - )
1764 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1765 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1766 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1767 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
1768 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1769 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1770 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1771 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
1772 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1773 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1774 + xml? (
1775 + dev-libs/libxml2[${MULTILIB_USEDEP}]
1776 + dev-libs/libxslt[${MULTILIB_USEDEP}]
1777 + )
1778 abi_x86_32? (
1779 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1780 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1781 @@ -131,28 +143,36 @@ COMMON_DEPEND="
1782 )"
1783
1784 RDEPEND="${COMMON_DEPEND}
1785 - dos? ( games-emulation/dosbox )
1786 - perl? ( dev-lang/perl dev-perl/XML-Simple )
1787 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1788 + perl? (
1789 + dev-lang/perl
1790 + dev-perl/XML-Simple
1791 + )
1792 + pulseaudio? (
1793 + realtime? ( sys-auth/rtkit )
1794 + )
1795 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
1796 samba? ( >=net-fs/samba-3.0.25[winbind] )
1797 selinux? ( sec-policy/selinux-wine )
1798 - udisks? ( sys-fs/udisks:2 )
1799 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
1800 + udisks? ( sys-fs/udisks:2 )"
1801
1802 # tools/make_requests requires perl
1803 DEPEND="${COMMON_DEPEND}
1804 - staging? ( dev-lang/perl dev-perl/XML-Simple )
1805 + sys-devel/flex
1806 + >=sys-kernel/linux-headers-2.6
1807 + virtual/pkgconfig
1808 + virtual/yacc
1809 X? (
1810 x11-proto/inputproto
1811 x11-proto/xextproto
1812 x11-proto/xf86vidmodeproto
1813 )
1814 - xinerama? ( x11-proto/xineramaproto )
1815 prelink? ( sys-devel/prelink )
1816 - >=sys-kernel/linux-headers-2.6
1817 - virtual/pkgconfig
1818 - virtual/yacc
1819 - sys-devel/flex"
1820 + staging? (
1821 + dev-lang/perl
1822 + dev-perl/XML-Simple
1823 + )
1824 + xinerama? ( x11-proto/xineramaproto )"
1825
1826 # These use a non-standard "Wine" category, which is provided by
1827 # /etc/xdg/applications-merged/wine.menu
1828 @@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
1829 usr/share/applications/wine-uninstaller.desktop
1830 usr/share/applications/wine-winecfg.desktop"
1831
1832 -wine_build_environment_check() {
1833 +wine_compiler_check() {
1834 [[ ${MERGE_TYPE} = "binary" ]] && return 0
1835
1836 - # bug #549768
1837 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1838 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
1839 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
1840 - # Run in subshell to prevent "Aborted" message
1841 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
1842 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1843 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1844 - eerror "or use gcc-config to select a different compiler version."
1845 - eerror "See https://bugs.gentoo.org/549768"
1846 - eerror
1847 - return 1
1848 + # GCC-specific bugs
1849 + if tc-is-gcc; then
1850 + # bug #549768
1851 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1852 + ebegin "Checking for gcc-5 ms_abi compiler bug"
1853 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
1854 + # Run in subshell to prevent "Aborted" message
1855 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
1856 + eend $?
1857 + if [[ $? -ne 0 ]] ; then
1858 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1859 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1860 + eerror "or use gcc-config to select a different compiler version."
1861 + eerror "See https://bugs.gentoo.org/549768"
1862 + eerror
1863 + return 1
1864 + fi
1865 fi
1866 - fi
1867 - # bug #574044
1868 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1869 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
1870 - # Compile in subshell to prevent "Aborted" message
1871 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
1872 - eerror "Wine cannot be built with this version of gcc-5.3"
1873 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1874 - eerror "or use gcc-config to select a different compiler version."
1875 - eerror "See https://bugs.gentoo.org/574044"
1876 - eerror
1877 - return 1
1878 + # bug #574044
1879 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1880 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
1881 + # Compile in subshell to prevent "Aborted" message
1882 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
1883 + eend $?
1884 + if [[ $? -ne 0 ]] ; then
1885 + eerror "Wine cannot be built with this version of gcc-5.3"
1886 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1887 + eerror "or use gcc-config to select a different compiler version."
1888 + eerror "See https://bugs.gentoo.org/574044"
1889 + eerror
1890 + return 1
1891 + fi
1892 fi
1893 fi
1894
1895 + # Ensure compiler support
1896 if use abi_x86_64; then
1897 - einfo "Checking for builtin_ms_va_list ..."
1898 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
1899 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
1900 - else
1901 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
1902 + # Compile in subshell to prevent "Aborted" message
1903 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
1904 + eend $?
1905 + if [[ $? -ne 0 ]]; then
1906 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1907 eerror
1908 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1909 @@ -204,6 +233,10 @@ wine_build_environment_check() {
1910 return 1
1911 fi
1912 fi
1913 +}
1914 +
1915 +wine_build_environment_check() {
1916 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
1917
1918 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
1919 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1920 @@ -214,7 +247,19 @@ wine_build_environment_check() {
1921 }
1922
1923 pkg_pretend() {
1924 + wine_compiler_check || die
1925 wine_build_environment_check || die
1926 +
1927 + # Verify OSS support
1928 + if use oss && ! use kernel_FreeBSD; then
1929 + local oss_vers=$(best_version media-sound/oss)
1930 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
1931 + eerror "You cannot build wine with USE=oss without having support from a"
1932 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1933 + eerror
1934 + die
1935 + fi
1936 + fi
1937 }
1938
1939 pkg_setup() {
1940 @@ -263,6 +308,7 @@ src_prepare() {
1941 "${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
1942 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
1943 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
1944 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
1945 )
1946 if use staging; then
1947 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
1948 @@ -429,6 +475,13 @@ multilib_src_install_all() {
1949 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
1950 fi
1951
1952 + # Remove wineconsole if neither backend is installed #551124
1953 + if ! use X && ! use ncurses; then
1954 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
1955 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
1956 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
1957 + fi
1958 +
1959 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
1960 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
1961
1962
1963 diff --git a/app-emulation/wine/wine-1.9.4-r1.ebuild b/app-emulation/wine/wine-1.9.4-r2.ebuild
1964 similarity index 76%
1965 rename from app-emulation/wine/wine-1.9.4-r1.ebuild
1966 rename to app-emulation/wine/wine-1.9.4-r2.ebuild
1967 index 44b40e1..e63c554 100644
1968 --- a/app-emulation/wine/wine-1.9.4-r1.ebuild
1969 +++ b/app-emulation/wine/wine-1.9.4-r2.ebuild
1970 @@ -23,6 +23,8 @@ fi
1971
1972 GV="2.44"
1973 MV="4.5.6"
1974 +STAGING_GV="2.44"
1975 +STAGING_MV="4.5.6"
1976 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
1977 STAGING_P="wine-staging-${PV}"
1978 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
1979 @@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
1980 DESCRIPTION="Free implementation of Windows(tm) on Unix"
1981 HOMEPAGE="http://www.winehq.org/"
1982 SRC_URI="${SRC_URI}
1983 - gecko? (
1984 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
1985 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
1986 + !staging? (
1987 + gecko? (
1988 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
1989 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
1990 + )
1991 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
1992 + )
1993 + staging? (
1994 + gecko? (
1995 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
1996 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
1997 + )
1998 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
1999 )
2000 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
2001 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
2002
2003 if [[ ${PV} == "9999" ]] ; then
2004 @@ -46,32 +57,22 @@ fi
2005
2006 LICENSE="LGPL-2.1"
2007 SLOT="0"
2008 -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"
2009 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
2010 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2011 - test? ( abi_x86_32 )
2012 + X? ( truetype )
2013 elibc_glibc? ( threads )
2014 mono? ( abi_x86_32 )
2015 + osmesa? ( opengl )
2016 pipelight? ( staging )
2017 s3tc? ( staging )
2018 - vaapi? ( staging )
2019 - osmesa? ( opengl )" #286560
2020 + test? ( abi_x86_32 )
2021 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
2022
2023 # FIXME: the test suite is unsuitable for us; many tests require net access
2024 # or fail due to Xvfb's opengl limitations.
2025 RESTRICT="test"
2026
2027 COMMON_DEPEND="
2028 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2029 - capi? ( net-dialup/capi4k-utils )
2030 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2031 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2032 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2033 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2034 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2035 - gstreamer? (
2036 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2037 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2038 - )
2039 X? (
2040 x11-libs/libXcursor[${MULTILIB_USEDEP}]
2041 x11-libs/libXext[${MULTILIB_USEDEP}]
2042 @@ -79,36 +80,47 @@ COMMON_DEPEND="
2043 x11-libs/libXi[${MULTILIB_USEDEP}]
2044 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2045 )
2046 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2047 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2048 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2049 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2050 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2051 - opengl? (
2052 - virtual/glu[${MULTILIB_USEDEP}]
2053 - virtual/opengl[${MULTILIB_USEDEP}]
2054 - )
2055 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2056 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2057 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2058 + gstreamer? (
2059 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2060 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2061 + )
2062 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2063 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2064 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2065 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2066 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2067 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2068 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2069 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2070 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2071 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2072 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2073 + opengl? (
2074 + virtual/glu[${MULTILIB_USEDEP}]
2075 + virtual/opengl[${MULTILIB_USEDEP}]
2076 + )
2077 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
2078 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2079 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2080 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2081 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2082 - xml? (
2083 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2084 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2085 - )
2086 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2087 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2088 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2089 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2090 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2091 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2092 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2093 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
2094 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2095 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2096 + xml? (
2097 + dev-libs/libxml2[${MULTILIB_USEDEP}]
2098 + dev-libs/libxslt[${MULTILIB_USEDEP}]
2099 + )
2100 abi_x86_32? (
2101 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2102 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2103 @@ -127,28 +139,36 @@ COMMON_DEPEND="
2104 )"
2105
2106 RDEPEND="${COMMON_DEPEND}
2107 - dos? ( games-emulation/dosbox )
2108 - perl? ( dev-lang/perl dev-perl/XML-Simple )
2109 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2110 + perl? (
2111 + dev-lang/perl
2112 + dev-perl/XML-Simple
2113 + )
2114 + pulseaudio? (
2115 + realtime? ( sys-auth/rtkit )
2116 + )
2117 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
2118 samba? ( >=net-fs/samba-3.0.25[winbind] )
2119 selinux? ( sec-policy/selinux-wine )
2120 - udisks? ( sys-fs/udisks:2 )
2121 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
2122 + udisks? ( sys-fs/udisks:2 )"
2123
2124 # tools/make_requests requires perl
2125 DEPEND="${COMMON_DEPEND}
2126 - staging? ( dev-lang/perl dev-perl/XML-Simple )
2127 + sys-devel/flex
2128 + >=sys-kernel/linux-headers-2.6
2129 + virtual/pkgconfig
2130 + virtual/yacc
2131 X? (
2132 x11-proto/inputproto
2133 x11-proto/xextproto
2134 x11-proto/xf86vidmodeproto
2135 )
2136 - xinerama? ( x11-proto/xineramaproto )
2137 prelink? ( sys-devel/prelink )
2138 - >=sys-kernel/linux-headers-2.6
2139 - virtual/pkgconfig
2140 - virtual/yacc
2141 - sys-devel/flex"
2142 + staging? (
2143 + dev-lang/perl
2144 + dev-perl/XML-Simple
2145 + )
2146 + xinerama? ( x11-proto/xineramaproto )"
2147
2148 # These use a non-standard "Wine" category, which is provided by
2149 # /etc/xdg/applications-merged/wine.menu
2150 @@ -157,42 +177,51 @@ usr/share/applications/wine-notepad.desktop
2151 usr/share/applications/wine-uninstaller.desktop
2152 usr/share/applications/wine-winecfg.desktop"
2153
2154 -wine_build_environment_check() {
2155 +wine_compiler_check() {
2156 [[ ${MERGE_TYPE} = "binary" ]] && return 0
2157
2158 - # bug #549768
2159 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2160 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
2161 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
2162 - # Run in subshell to prevent "Aborted" message
2163 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
2164 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2165 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2166 - eerror "or use gcc-config to select a different compiler version."
2167 - eerror "See https://bugs.gentoo.org/549768"
2168 - eerror
2169 - return 1
2170 + # GCC-specific bugs
2171 + if tc-is-gcc; then
2172 + # bug #549768
2173 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2174 + ebegin "Checking for gcc-5 ms_abi compiler bug"
2175 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
2176 + # Run in subshell to prevent "Aborted" message
2177 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2178 + eend $?
2179 + if [[ $? -ne 0 ]] ; then
2180 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2181 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2182 + eerror "or use gcc-config to select a different compiler version."
2183 + eerror "See https://bugs.gentoo.org/549768"
2184 + eerror
2185 + return 1
2186 + fi
2187 fi
2188 - fi
2189 - # bug #574044
2190 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2191 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
2192 - # Compile in subshell to prevent "Aborted" message
2193 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
2194 - eerror "Wine cannot be built with this version of gcc-5.3"
2195 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2196 - eerror "or use gcc-config to select a different compiler version."
2197 - eerror "See https://bugs.gentoo.org/574044"
2198 - eerror
2199 - return 1
2200 + # bug #574044
2201 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2202 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2203 + # Compile in subshell to prevent "Aborted" message
2204 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
2205 + eend $?
2206 + if [[ $? -ne 0 ]] ; then
2207 + eerror "Wine cannot be built with this version of gcc-5.3"
2208 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2209 + eerror "or use gcc-config to select a different compiler version."
2210 + eerror "See https://bugs.gentoo.org/574044"
2211 + eerror
2212 + return 1
2213 + fi
2214 fi
2215 fi
2216
2217 + # Ensure compiler support
2218 if use abi_x86_64; then
2219 - einfo "Checking for builtin_ms_va_list ..."
2220 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
2221 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
2222 - else
2223 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2224 + # Compile in subshell to prevent "Aborted" message
2225 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2226 + eend $?
2227 + if [[ $? -ne 0 ]]; then
2228 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2229 eerror
2230 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2231 @@ -200,6 +229,10 @@ wine_build_environment_check() {
2232 return 1
2233 fi
2234 fi
2235 +}
2236 +
2237 +wine_build_environment_check() {
2238 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
2239
2240 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
2241 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2242 @@ -210,7 +243,19 @@ wine_build_environment_check() {
2243 }
2244
2245 pkg_pretend() {
2246 + wine_compiler_check || die
2247 wine_build_environment_check || die
2248 +
2249 + # Verify OSS support
2250 + if use oss && ! use kernel_FreeBSD; then
2251 + local oss_vers=$(best_version media-sound/oss)
2252 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
2253 + eerror "You cannot build wine with USE=oss without having support from a"
2254 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2255 + eerror
2256 + die
2257 + fi
2258 + fi
2259 }
2260
2261 pkg_setup() {
2262 @@ -254,6 +299,7 @@ src_prepare() {
2263 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
2264 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
2265 "${FILESDIR}"/${PN}-sysmacros.patch #580046
2266 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
2267 )
2268 if use staging; then
2269 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
2270 @@ -411,6 +457,13 @@ multilib_src_install_all() {
2271 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
2272 fi
2273
2274 + # Remove wineconsole if neither backend is installed #551124
2275 + if ! use X && ! use ncurses; then
2276 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
2277 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
2278 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
2279 + fi
2280 +
2281 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
2282 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
2283
2284
2285 diff --git a/app-emulation/wine/wine-1.9.5-r1.ebuild b/app-emulation/wine/wine-1.9.5-r2.ebuild
2286 similarity index 76%
2287 rename from app-emulation/wine/wine-1.9.5-r1.ebuild
2288 rename to app-emulation/wine/wine-1.9.5-r2.ebuild
2289 index c42e24d..48e5cdc 100644
2290 --- a/app-emulation/wine/wine-1.9.5-r1.ebuild
2291 +++ b/app-emulation/wine/wine-1.9.5-r2.ebuild
2292 @@ -23,6 +23,8 @@ fi
2293
2294 GV="2.44"
2295 MV="4.6.0"
2296 +STAGING_GV="2.44"
2297 +STAGING_MV="4.6.0"
2298 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
2299 STAGING_P="wine-staging-${PV}"
2300 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
2301 @@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
2302 DESCRIPTION="Free implementation of Windows(tm) on Unix"
2303 HOMEPAGE="http://www.winehq.org/"
2304 SRC_URI="${SRC_URI}
2305 - gecko? (
2306 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
2307 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
2308 + !staging? (
2309 + gecko? (
2310 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
2311 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
2312 + )
2313 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
2314 + )
2315 + staging? (
2316 + gecko? (
2317 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
2318 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
2319 + )
2320 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
2321 )
2322 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
2323 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
2324
2325 if [[ ${PV} == "9999" ]] ; then
2326 @@ -46,31 +57,21 @@ fi
2327
2328 LICENSE="LGPL-2.1"
2329 SLOT="0"
2330 -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"
2331 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
2332 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2333 - test? ( abi_x86_32 )
2334 + X? ( truetype )
2335 elibc_glibc? ( threads )
2336 + osmesa? ( opengl )
2337 pipelight? ( staging )
2338 s3tc? ( staging )
2339 - vaapi? ( staging )
2340 - osmesa? ( opengl )" #286560
2341 + test? ( abi_x86_32 )
2342 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
2343
2344 # FIXME: the test suite is unsuitable for us; many tests require net access
2345 # or fail due to Xvfb's opengl limitations.
2346 RESTRICT="test"
2347
2348 COMMON_DEPEND="
2349 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2350 - capi? ( net-dialup/capi4k-utils )
2351 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2352 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2353 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2354 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2355 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2356 - gstreamer? (
2357 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2358 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2359 - )
2360 X? (
2361 x11-libs/libXcursor[${MULTILIB_USEDEP}]
2362 x11-libs/libXext[${MULTILIB_USEDEP}]
2363 @@ -78,36 +79,47 @@ COMMON_DEPEND="
2364 x11-libs/libXi[${MULTILIB_USEDEP}]
2365 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2366 )
2367 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2368 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2369 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2370 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2371 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2372 - opengl? (
2373 - virtual/glu[${MULTILIB_USEDEP}]
2374 - virtual/opengl[${MULTILIB_USEDEP}]
2375 - )
2376 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2377 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2378 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2379 + gstreamer? (
2380 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2381 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2382 + )
2383 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2384 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2385 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2386 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2387 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2388 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2389 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2390 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2391 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2392 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2393 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2394 + opengl? (
2395 + virtual/glu[${MULTILIB_USEDEP}]
2396 + virtual/opengl[${MULTILIB_USEDEP}]
2397 + )
2398 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
2399 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2400 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2401 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2402 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2403 - xml? (
2404 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2405 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2406 - )
2407 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2408 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2409 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2410 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2411 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2412 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2413 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2414 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
2415 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2416 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2417 + xml? (
2418 + dev-libs/libxml2[${MULTILIB_USEDEP}]
2419 + dev-libs/libxslt[${MULTILIB_USEDEP}]
2420 + )
2421 abi_x86_32? (
2422 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2423 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2424 @@ -126,28 +138,36 @@ COMMON_DEPEND="
2425 )"
2426
2427 RDEPEND="${COMMON_DEPEND}
2428 - dos? ( games-emulation/dosbox )
2429 - perl? ( dev-lang/perl dev-perl/XML-Simple )
2430 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2431 + perl? (
2432 + dev-lang/perl
2433 + dev-perl/XML-Simple
2434 + )
2435 + pulseaudio? (
2436 + realtime? ( sys-auth/rtkit )
2437 + )
2438 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
2439 samba? ( >=net-fs/samba-3.0.25[winbind] )
2440 selinux? ( sec-policy/selinux-wine )
2441 - udisks? ( sys-fs/udisks:2 )
2442 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
2443 + udisks? ( sys-fs/udisks:2 )"
2444
2445 # tools/make_requests requires perl
2446 DEPEND="${COMMON_DEPEND}
2447 - staging? ( dev-lang/perl dev-perl/XML-Simple )
2448 + sys-devel/flex
2449 + >=sys-kernel/linux-headers-2.6
2450 + virtual/pkgconfig
2451 + virtual/yacc
2452 X? (
2453 x11-proto/inputproto
2454 x11-proto/xextproto
2455 x11-proto/xf86vidmodeproto
2456 )
2457 - xinerama? ( x11-proto/xineramaproto )
2458 prelink? ( sys-devel/prelink )
2459 - >=sys-kernel/linux-headers-2.6
2460 - virtual/pkgconfig
2461 - virtual/yacc
2462 - sys-devel/flex"
2463 + staging? (
2464 + dev-lang/perl
2465 + dev-perl/XML-Simple
2466 + )
2467 + xinerama? ( x11-proto/xineramaproto )"
2468
2469 # These use a non-standard "Wine" category, which is provided by
2470 # /etc/xdg/applications-merged/wine.menu
2471 @@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
2472 usr/share/applications/wine-uninstaller.desktop
2473 usr/share/applications/wine-winecfg.desktop"
2474
2475 -wine_build_environment_check() {
2476 +wine_compiler_check() {
2477 [[ ${MERGE_TYPE} = "binary" ]] && return 0
2478
2479 - # bug #549768
2480 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2481 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
2482 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
2483 - # Run in subshell to prevent "Aborted" message
2484 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
2485 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2486 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2487 - eerror "or use gcc-config to select a different compiler version."
2488 - eerror "See https://bugs.gentoo.org/549768"
2489 - eerror
2490 - return 1
2491 + # GCC-specific bugs
2492 + if tc-is-gcc; then
2493 + # bug #549768
2494 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2495 + ebegin "Checking for gcc-5 ms_abi compiler bug"
2496 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
2497 + # Run in subshell to prevent "Aborted" message
2498 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2499 + eend $?
2500 + if [[ $? -ne 0 ]] ; then
2501 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2502 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2503 + eerror "or use gcc-config to select a different compiler version."
2504 + eerror "See https://bugs.gentoo.org/549768"
2505 + eerror
2506 + return 1
2507 + fi
2508 fi
2509 - fi
2510 - # bug #574044
2511 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2512 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
2513 - # Compile in subshell to prevent "Aborted" message
2514 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
2515 - eerror "Wine cannot be built with this version of gcc-5.3"
2516 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2517 - eerror "or use gcc-config to select a different compiler version."
2518 - eerror "See https://bugs.gentoo.org/574044"
2519 - eerror
2520 - return 1
2521 + # bug #574044
2522 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2523 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2524 + # Compile in subshell to prevent "Aborted" message
2525 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
2526 + eend $?
2527 + if [[ $? -ne 0 ]] ; then
2528 + eerror "Wine cannot be built with this version of gcc-5.3"
2529 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2530 + eerror "or use gcc-config to select a different compiler version."
2531 + eerror "See https://bugs.gentoo.org/574044"
2532 + eerror
2533 + return 1
2534 + fi
2535 fi
2536 fi
2537
2538 + # Ensure compiler support
2539 if use abi_x86_64; then
2540 - einfo "Checking for builtin_ms_va_list ..."
2541 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
2542 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
2543 - else
2544 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2545 + # Compile in subshell to prevent "Aborted" message
2546 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2547 + eend $?
2548 + if [[ $? -ne 0 ]]; then
2549 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2550 eerror
2551 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2552 @@ -199,6 +228,10 @@ wine_build_environment_check() {
2553 return 1
2554 fi
2555 fi
2556 +}
2557 +
2558 +wine_build_environment_check() {
2559 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
2560
2561 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
2562 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2563 @@ -209,7 +242,19 @@ wine_build_environment_check() {
2564 }
2565
2566 pkg_pretend() {
2567 + wine_compiler_check || die
2568 wine_build_environment_check || die
2569 +
2570 + # Verify OSS support
2571 + if use oss && ! use kernel_FreeBSD; then
2572 + local oss_vers=$(best_version media-sound/oss)
2573 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
2574 + eerror "You cannot build wine with USE=oss without having support from a"
2575 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2576 + eerror
2577 + die
2578 + fi
2579 + fi
2580 }
2581
2582 pkg_setup() {
2583 @@ -253,6 +298,7 @@ src_prepare() {
2584 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
2585 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
2586 "${FILESDIR}"/${PN}-sysmacros.patch #580046
2587 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
2588 )
2589 if use staging; then
2590 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
2591 @@ -413,6 +459,13 @@ multilib_src_install_all() {
2592 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
2593 fi
2594
2595 + # Remove wineconsole if neither backend is installed #551124
2596 + if ! use X && ! use ncurses; then
2597 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
2598 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
2599 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
2600 + fi
2601 +
2602 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
2603 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
2604
2605
2606 diff --git a/app-emulation/wine/wine-1.9.7-r1.ebuild b/app-emulation/wine/wine-1.9.6-r2.ebuild
2607 similarity index 76%
2608 rename from app-emulation/wine/wine-1.9.7-r1.ebuild
2609 rename to app-emulation/wine/wine-1.9.6-r2.ebuild
2610 index cab49fb..f9bb12c 100644
2611 --- a/app-emulation/wine/wine-1.9.7-r1.ebuild
2612 +++ b/app-emulation/wine/wine-1.9.6-r2.ebuild
2613 @@ -23,6 +23,8 @@ fi
2614
2615 GV="2.44"
2616 MV="4.6.0"
2617 +STAGING_GV="2.44"
2618 +STAGING_MV="4.6.0"
2619 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
2620 STAGING_P="wine-staging-${PV}"
2621 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
2622 @@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
2623 DESCRIPTION="Free implementation of Windows(tm) on Unix"
2624 HOMEPAGE="http://www.winehq.org/"
2625 SRC_URI="${SRC_URI}
2626 - gecko? (
2627 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
2628 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
2629 + !staging? (
2630 + gecko? (
2631 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
2632 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
2633 + )
2634 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
2635 + )
2636 + staging? (
2637 + gecko? (
2638 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
2639 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
2640 + )
2641 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
2642 )
2643 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
2644 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
2645
2646 if [[ ${PV} == "9999" ]] ; then
2647 @@ -46,31 +57,21 @@ fi
2648
2649 LICENSE="LGPL-2.1"
2650 SLOT="0"
2651 -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"
2652 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
2653 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2654 - test? ( abi_x86_32 )
2655 + X? ( truetype )
2656 elibc_glibc? ( threads )
2657 + osmesa? ( opengl )
2658 pipelight? ( staging )
2659 s3tc? ( staging )
2660 - vaapi? ( staging )
2661 - osmesa? ( opengl )" #286560
2662 + test? ( abi_x86_32 )
2663 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
2664
2665 # FIXME: the test suite is unsuitable for us; many tests require net access
2666 # or fail due to Xvfb's opengl limitations.
2667 RESTRICT="test"
2668
2669 COMMON_DEPEND="
2670 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2671 - capi? ( net-dialup/capi4k-utils )
2672 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2673 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2674 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2675 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2676 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2677 - gstreamer? (
2678 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2679 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2680 - )
2681 X? (
2682 x11-libs/libXcursor[${MULTILIB_USEDEP}]
2683 x11-libs/libXext[${MULTILIB_USEDEP}]
2684 @@ -78,36 +79,47 @@ COMMON_DEPEND="
2685 x11-libs/libXi[${MULTILIB_USEDEP}]
2686 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2687 )
2688 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2689 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2690 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2691 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2692 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2693 - opengl? (
2694 - virtual/glu[${MULTILIB_USEDEP}]
2695 - virtual/opengl[${MULTILIB_USEDEP}]
2696 - )
2697 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2698 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2699 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2700 + gstreamer? (
2701 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2702 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2703 + )
2704 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2705 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2706 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2707 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2708 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2709 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2710 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2711 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2712 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2713 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2714 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2715 + opengl? (
2716 + virtual/glu[${MULTILIB_USEDEP}]
2717 + virtual/opengl[${MULTILIB_USEDEP}]
2718 + )
2719 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
2720 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2721 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2722 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2723 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2724 - xml? (
2725 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2726 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2727 - )
2728 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2729 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2730 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2731 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2732 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2733 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2734 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2735 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
2736 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2737 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2738 + xml? (
2739 + dev-libs/libxml2[${MULTILIB_USEDEP}]
2740 + dev-libs/libxslt[${MULTILIB_USEDEP}]
2741 + )
2742 abi_x86_32? (
2743 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2744 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2745 @@ -126,28 +138,36 @@ COMMON_DEPEND="
2746 )"
2747
2748 RDEPEND="${COMMON_DEPEND}
2749 - dos? ( games-emulation/dosbox )
2750 - perl? ( dev-lang/perl dev-perl/XML-Simple )
2751 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2752 + perl? (
2753 + dev-lang/perl
2754 + dev-perl/XML-Simple
2755 + )
2756 + pulseaudio? (
2757 + realtime? ( sys-auth/rtkit )
2758 + )
2759 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
2760 samba? ( >=net-fs/samba-3.0.25[winbind] )
2761 selinux? ( sec-policy/selinux-wine )
2762 - udisks? ( sys-fs/udisks:2 )
2763 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
2764 + udisks? ( sys-fs/udisks:2 )"
2765
2766 # tools/make_requests requires perl
2767 DEPEND="${COMMON_DEPEND}
2768 - staging? ( dev-lang/perl dev-perl/XML-Simple )
2769 + sys-devel/flex
2770 + >=sys-kernel/linux-headers-2.6
2771 + virtual/pkgconfig
2772 + virtual/yacc
2773 X? (
2774 x11-proto/inputproto
2775 x11-proto/xextproto
2776 x11-proto/xf86vidmodeproto
2777 )
2778 - xinerama? ( x11-proto/xineramaproto )
2779 prelink? ( sys-devel/prelink )
2780 - >=sys-kernel/linux-headers-2.6
2781 - virtual/pkgconfig
2782 - virtual/yacc
2783 - sys-devel/flex"
2784 + staging? (
2785 + dev-lang/perl
2786 + dev-perl/XML-Simple
2787 + )
2788 + xinerama? ( x11-proto/xineramaproto )"
2789
2790 # These use a non-standard "Wine" category, which is provided by
2791 # /etc/xdg/applications-merged/wine.menu
2792 @@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
2793 usr/share/applications/wine-uninstaller.desktop
2794 usr/share/applications/wine-winecfg.desktop"
2795
2796 -wine_build_environment_check() {
2797 +wine_compiler_check() {
2798 [[ ${MERGE_TYPE} = "binary" ]] && return 0
2799
2800 - # bug #549768
2801 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2802 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
2803 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
2804 - # Run in subshell to prevent "Aborted" message
2805 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
2806 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2807 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2808 - eerror "or use gcc-config to select a different compiler version."
2809 - eerror "See https://bugs.gentoo.org/549768"
2810 - eerror
2811 - return 1
2812 + # GCC-specific bugs
2813 + if tc-is-gcc; then
2814 + # bug #549768
2815 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2816 + ebegin "Checking for gcc-5 ms_abi compiler bug"
2817 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
2818 + # Run in subshell to prevent "Aborted" message
2819 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2820 + eend $?
2821 + if [[ $? -ne 0 ]] ; then
2822 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2823 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2824 + eerror "or use gcc-config to select a different compiler version."
2825 + eerror "See https://bugs.gentoo.org/549768"
2826 + eerror
2827 + return 1
2828 + fi
2829 fi
2830 - fi
2831 - # bug #574044
2832 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2833 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
2834 - # Compile in subshell to prevent "Aborted" message
2835 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
2836 - eerror "Wine cannot be built with this version of gcc-5.3"
2837 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2838 - eerror "or use gcc-config to select a different compiler version."
2839 - eerror "See https://bugs.gentoo.org/574044"
2840 - eerror
2841 - return 1
2842 + # bug #574044
2843 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2844 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2845 + # Compile in subshell to prevent "Aborted" message
2846 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
2847 + eend $?
2848 + if [[ $? -ne 0 ]] ; then
2849 + eerror "Wine cannot be built with this version of gcc-5.3"
2850 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2851 + eerror "or use gcc-config to select a different compiler version."
2852 + eerror "See https://bugs.gentoo.org/574044"
2853 + eerror
2854 + return 1
2855 + fi
2856 fi
2857 fi
2858
2859 + # Ensure compiler support
2860 if use abi_x86_64; then
2861 - einfo "Checking for builtin_ms_va_list ..."
2862 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
2863 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
2864 - else
2865 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2866 + # Compile in subshell to prevent "Aborted" message
2867 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2868 + eend $?
2869 + if [[ $? -ne 0 ]]; then
2870 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2871 eerror
2872 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2873 @@ -199,6 +228,10 @@ wine_build_environment_check() {
2874 return 1
2875 fi
2876 fi
2877 +}
2878 +
2879 +wine_build_environment_check() {
2880 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
2881
2882 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
2883 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2884 @@ -209,7 +242,19 @@ wine_build_environment_check() {
2885 }
2886
2887 pkg_pretend() {
2888 + wine_compiler_check || die
2889 wine_build_environment_check || die
2890 +
2891 + # Verify OSS support
2892 + if use oss && ! use kernel_FreeBSD; then
2893 + local oss_vers=$(best_version media-sound/oss)
2894 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
2895 + eerror "You cannot build wine with USE=oss without having support from a"
2896 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2897 + eerror
2898 + die
2899 + fi
2900 + fi
2901 }
2902
2903 pkg_setup() {
2904 @@ -253,6 +298,7 @@ src_prepare() {
2905 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
2906 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
2907 "${FILESDIR}"/${PN}-sysmacros.patch #580046
2908 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
2909 )
2910 if use staging; then
2911 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
2912 @@ -410,6 +456,13 @@ multilib_src_install_all() {
2913 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
2914 fi
2915
2916 + # Remove wineconsole if neither backend is installed #551124
2917 + if ! use X && ! use ncurses; then
2918 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
2919 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
2920 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
2921 + fi
2922 +
2923 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
2924 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
2925
2926
2927 diff --git a/app-emulation/wine/wine-1.9.6-r1.ebuild b/app-emulation/wine/wine-1.9.7-r2.ebuild
2928 similarity index 76%
2929 rename from app-emulation/wine/wine-1.9.6-r1.ebuild
2930 rename to app-emulation/wine/wine-1.9.7-r2.ebuild
2931 index cab49fb..f9bb12c 100644
2932 --- a/app-emulation/wine/wine-1.9.6-r1.ebuild
2933 +++ b/app-emulation/wine/wine-1.9.7-r2.ebuild
2934 @@ -23,6 +23,8 @@ fi
2935
2936 GV="2.44"
2937 MV="4.6.0"
2938 +STAGING_GV="2.44"
2939 +STAGING_MV="4.6.0"
2940 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
2941 STAGING_P="wine-staging-${PV}"
2942 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
2943 @@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
2944 DESCRIPTION="Free implementation of Windows(tm) on Unix"
2945 HOMEPAGE="http://www.winehq.org/"
2946 SRC_URI="${SRC_URI}
2947 - gecko? (
2948 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
2949 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
2950 + !staging? (
2951 + gecko? (
2952 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
2953 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
2954 + )
2955 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
2956 + )
2957 + staging? (
2958 + gecko? (
2959 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
2960 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
2961 + )
2962 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
2963 )
2964 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
2965 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
2966
2967 if [[ ${PV} == "9999" ]] ; then
2968 @@ -46,31 +57,21 @@ fi
2969
2970 LICENSE="LGPL-2.1"
2971 SLOT="0"
2972 -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"
2973 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
2974 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2975 - test? ( abi_x86_32 )
2976 + X? ( truetype )
2977 elibc_glibc? ( threads )
2978 + osmesa? ( opengl )
2979 pipelight? ( staging )
2980 s3tc? ( staging )
2981 - vaapi? ( staging )
2982 - osmesa? ( opengl )" #286560
2983 + test? ( abi_x86_32 )
2984 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
2985
2986 # FIXME: the test suite is unsuitable for us; many tests require net access
2987 # or fail due to Xvfb's opengl limitations.
2988 RESTRICT="test"
2989
2990 COMMON_DEPEND="
2991 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2992 - capi? ( net-dialup/capi4k-utils )
2993 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2994 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2995 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2996 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2997 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2998 - gstreamer? (
2999 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3000 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3001 - )
3002 X? (
3003 x11-libs/libXcursor[${MULTILIB_USEDEP}]
3004 x11-libs/libXext[${MULTILIB_USEDEP}]
3005 @@ -78,36 +79,47 @@ COMMON_DEPEND="
3006 x11-libs/libXi[${MULTILIB_USEDEP}]
3007 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3008 )
3009 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3010 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3011 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3012 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3013 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3014 - opengl? (
3015 - virtual/glu[${MULTILIB_USEDEP}]
3016 - virtual/opengl[${MULTILIB_USEDEP}]
3017 - )
3018 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3019 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3020 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3021 + gstreamer? (
3022 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3023 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3024 + )
3025 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3026 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3027 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3028 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3029 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3030 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3031 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3032 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3033 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3034 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3035 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3036 + opengl? (
3037 + virtual/glu[${MULTILIB_USEDEP}]
3038 + virtual/opengl[${MULTILIB_USEDEP}]
3039 + )
3040 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
3041 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3042 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3043 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3044 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
3045 - xml? (
3046 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3047 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3048 - )
3049 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3050 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3051 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3052 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
3053 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3054 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3055 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3056 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
3057 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3058 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3059 + xml? (
3060 + dev-libs/libxml2[${MULTILIB_USEDEP}]
3061 + dev-libs/libxslt[${MULTILIB_USEDEP}]
3062 + )
3063 abi_x86_32? (
3064 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3065 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3066 @@ -126,28 +138,36 @@ COMMON_DEPEND="
3067 )"
3068
3069 RDEPEND="${COMMON_DEPEND}
3070 - dos? ( games-emulation/dosbox )
3071 - perl? ( dev-lang/perl dev-perl/XML-Simple )
3072 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3073 + perl? (
3074 + dev-lang/perl
3075 + dev-perl/XML-Simple
3076 + )
3077 + pulseaudio? (
3078 + realtime? ( sys-auth/rtkit )
3079 + )
3080 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
3081 samba? ( >=net-fs/samba-3.0.25[winbind] )
3082 selinux? ( sec-policy/selinux-wine )
3083 - udisks? ( sys-fs/udisks:2 )
3084 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
3085 + udisks? ( sys-fs/udisks:2 )"
3086
3087 # tools/make_requests requires perl
3088 DEPEND="${COMMON_DEPEND}
3089 - staging? ( dev-lang/perl dev-perl/XML-Simple )
3090 + sys-devel/flex
3091 + >=sys-kernel/linux-headers-2.6
3092 + virtual/pkgconfig
3093 + virtual/yacc
3094 X? (
3095 x11-proto/inputproto
3096 x11-proto/xextproto
3097 x11-proto/xf86vidmodeproto
3098 )
3099 - xinerama? ( x11-proto/xineramaproto )
3100 prelink? ( sys-devel/prelink )
3101 - >=sys-kernel/linux-headers-2.6
3102 - virtual/pkgconfig
3103 - virtual/yacc
3104 - sys-devel/flex"
3105 + staging? (
3106 + dev-lang/perl
3107 + dev-perl/XML-Simple
3108 + )
3109 + xinerama? ( x11-proto/xineramaproto )"
3110
3111 # These use a non-standard "Wine" category, which is provided by
3112 # /etc/xdg/applications-merged/wine.menu
3113 @@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
3114 usr/share/applications/wine-uninstaller.desktop
3115 usr/share/applications/wine-winecfg.desktop"
3116
3117 -wine_build_environment_check() {
3118 +wine_compiler_check() {
3119 [[ ${MERGE_TYPE} = "binary" ]] && return 0
3120
3121 - # bug #549768
3122 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3123 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
3124 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
3125 - # Run in subshell to prevent "Aborted" message
3126 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
3127 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3128 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3129 - eerror "or use gcc-config to select a different compiler version."
3130 - eerror "See https://bugs.gentoo.org/549768"
3131 - eerror
3132 - return 1
3133 + # GCC-specific bugs
3134 + if tc-is-gcc; then
3135 + # bug #549768
3136 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3137 + ebegin "Checking for gcc-5 ms_abi compiler bug"
3138 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
3139 + # Run in subshell to prevent "Aborted" message
3140 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3141 + eend $?
3142 + if [[ $? -ne 0 ]] ; then
3143 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3144 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3145 + eerror "or use gcc-config to select a different compiler version."
3146 + eerror "See https://bugs.gentoo.org/549768"
3147 + eerror
3148 + return 1
3149 + fi
3150 fi
3151 - fi
3152 - # bug #574044
3153 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3154 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
3155 - # Compile in subshell to prevent "Aborted" message
3156 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
3157 - eerror "Wine cannot be built with this version of gcc-5.3"
3158 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3159 - eerror "or use gcc-config to select a different compiler version."
3160 - eerror "See https://bugs.gentoo.org/574044"
3161 - eerror
3162 - return 1
3163 + # bug #574044
3164 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3165 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3166 + # Compile in subshell to prevent "Aborted" message
3167 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
3168 + eend $?
3169 + if [[ $? -ne 0 ]] ; then
3170 + eerror "Wine cannot be built with this version of gcc-5.3"
3171 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3172 + eerror "or use gcc-config to select a different compiler version."
3173 + eerror "See https://bugs.gentoo.org/574044"
3174 + eerror
3175 + return 1
3176 + fi
3177 fi
3178 fi
3179
3180 + # Ensure compiler support
3181 if use abi_x86_64; then
3182 - einfo "Checking for builtin_ms_va_list ..."
3183 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
3184 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
3185 - else
3186 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
3187 + # Compile in subshell to prevent "Aborted" message
3188 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
3189 + eend $?
3190 + if [[ $? -ne 0 ]]; then
3191 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
3192 eerror
3193 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
3194 @@ -199,6 +228,10 @@ wine_build_environment_check() {
3195 return 1
3196 fi
3197 fi
3198 +}
3199 +
3200 +wine_build_environment_check() {
3201 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
3202
3203 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
3204 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
3205 @@ -209,7 +242,19 @@ wine_build_environment_check() {
3206 }
3207
3208 pkg_pretend() {
3209 + wine_compiler_check || die
3210 wine_build_environment_check || die
3211 +
3212 + # Verify OSS support
3213 + if use oss && ! use kernel_FreeBSD; then
3214 + local oss_vers=$(best_version media-sound/oss)
3215 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
3216 + eerror "You cannot build wine with USE=oss without having support from a"
3217 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3218 + eerror
3219 + die
3220 + fi
3221 + fi
3222 }
3223
3224 pkg_setup() {
3225 @@ -253,6 +298,7 @@ src_prepare() {
3226 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
3227 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
3228 "${FILESDIR}"/${PN}-sysmacros.patch #580046
3229 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
3230 )
3231 if use staging; then
3232 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
3233 @@ -410,6 +456,13 @@ multilib_src_install_all() {
3234 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
3235 fi
3236
3237 + # Remove wineconsole if neither backend is installed #551124
3238 + if ! use X && ! use ncurses; then
3239 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
3240 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
3241 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
3242 + fi
3243 +
3244 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
3245 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
3246
3247
3248 diff --git a/app-emulation/wine/wine-1.9.8.ebuild b/app-emulation/wine/wine-1.9.8-r1.ebuild
3249 similarity index 76%
3250 rename from app-emulation/wine/wine-1.9.8.ebuild
3251 rename to app-emulation/wine/wine-1.9.8-r1.ebuild
3252 index 7edb229..bd899ef 100644
3253 --- a/app-emulation/wine/wine-1.9.8.ebuild
3254 +++ b/app-emulation/wine/wine-1.9.8-r1.ebuild
3255 @@ -23,6 +23,8 @@ fi
3256
3257 GV="2.44"
3258 MV="4.6.2"
3259 +STAGING_GV="2.44"
3260 +STAGING_MV="4.6.2"
3261 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
3262 STAGING_P="wine-staging-${PV}"
3263 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
3264 @@ -30,11 +32,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
3265 DESCRIPTION="Free implementation of Windows(tm) on Unix"
3266 HOMEPAGE="http://www.winehq.org/"
3267 SRC_URI="${SRC_URI}
3268 - gecko? (
3269 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
3270 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
3271 + !staging? (
3272 + gecko? (
3273 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
3274 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
3275 + )
3276 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
3277 + )
3278 + staging? (
3279 + gecko? (
3280 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
3281 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
3282 + )
3283 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
3284 )
3285 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
3286 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
3287
3288 if [[ ${PV} == "9999" ]] ; then
3289 @@ -46,31 +57,21 @@ fi
3290
3291 LICENSE="LGPL-2.1"
3292 SLOT="0"
3293 -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"
3294 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
3295 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3296 - test? ( abi_x86_32 )
3297 + X? ( truetype )
3298 elibc_glibc? ( threads )
3299 + osmesa? ( opengl )
3300 pipelight? ( staging )
3301 s3tc? ( staging )
3302 - vaapi? ( staging )
3303 - osmesa? ( opengl )" #286560
3304 + test? ( abi_x86_32 )
3305 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
3306
3307 # FIXME: the test suite is unsuitable for us; many tests require net access
3308 # or fail due to Xvfb's opengl limitations.
3309 RESTRICT="test"
3310
3311 COMMON_DEPEND="
3312 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3313 - capi? ( net-dialup/capi4k-utils )
3314 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3315 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3316 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3317 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3318 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3319 - gstreamer? (
3320 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3321 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3322 - )
3323 X? (
3324 x11-libs/libXcursor[${MULTILIB_USEDEP}]
3325 x11-libs/libXext[${MULTILIB_USEDEP}]
3326 @@ -78,36 +79,47 @@ COMMON_DEPEND="
3327 x11-libs/libXi[${MULTILIB_USEDEP}]
3328 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3329 )
3330 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3331 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3332 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3333 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3334 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3335 - opengl? (
3336 - virtual/glu[${MULTILIB_USEDEP}]
3337 - virtual/opengl[${MULTILIB_USEDEP}]
3338 - )
3339 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3340 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3341 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3342 + gstreamer? (
3343 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3344 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3345 + )
3346 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3347 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3348 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3349 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3350 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3351 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3352 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3353 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3354 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3355 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3356 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3357 + opengl? (
3358 + virtual/glu[${MULTILIB_USEDEP}]
3359 + virtual/opengl[${MULTILIB_USEDEP}]
3360 + )
3361 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
3362 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3363 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3364 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3365 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
3366 - xml? (
3367 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3368 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3369 - )
3370 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3371 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3372 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3373 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
3374 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3375 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3376 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3377 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
3378 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3379 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3380 + xml? (
3381 + dev-libs/libxml2[${MULTILIB_USEDEP}]
3382 + dev-libs/libxslt[${MULTILIB_USEDEP}]
3383 + )
3384 abi_x86_32? (
3385 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3386 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3387 @@ -126,28 +138,36 @@ COMMON_DEPEND="
3388 )"
3389
3390 RDEPEND="${COMMON_DEPEND}
3391 - dos? ( games-emulation/dosbox )
3392 - perl? ( dev-lang/perl dev-perl/XML-Simple )
3393 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3394 + perl? (
3395 + dev-lang/perl
3396 + dev-perl/XML-Simple
3397 + )
3398 + pulseaudio? (
3399 + realtime? ( sys-auth/rtkit )
3400 + )
3401 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
3402 samba? ( >=net-fs/samba-3.0.25[winbind] )
3403 selinux? ( sec-policy/selinux-wine )
3404 - udisks? ( sys-fs/udisks:2 )
3405 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
3406 + udisks? ( sys-fs/udisks:2 )"
3407
3408 # tools/make_requests requires perl
3409 DEPEND="${COMMON_DEPEND}
3410 - staging? ( dev-lang/perl dev-perl/XML-Simple )
3411 + sys-devel/flex
3412 + >=sys-kernel/linux-headers-2.6
3413 + virtual/pkgconfig
3414 + virtual/yacc
3415 X? (
3416 x11-proto/inputproto
3417 x11-proto/xextproto
3418 x11-proto/xf86vidmodeproto
3419 )
3420 - xinerama? ( x11-proto/xineramaproto )
3421 prelink? ( sys-devel/prelink )
3422 - >=sys-kernel/linux-headers-2.6
3423 - virtual/pkgconfig
3424 - virtual/yacc
3425 - sys-devel/flex"
3426 + staging? (
3427 + dev-lang/perl
3428 + dev-perl/XML-Simple
3429 + )
3430 + xinerama? ( x11-proto/xineramaproto )"
3431
3432 # These use a non-standard "Wine" category, which is provided by
3433 # /etc/xdg/applications-merged/wine.menu
3434 @@ -156,42 +176,51 @@ usr/share/applications/wine-notepad.desktop
3435 usr/share/applications/wine-uninstaller.desktop
3436 usr/share/applications/wine-winecfg.desktop"
3437
3438 -wine_build_environment_check() {
3439 +wine_compiler_check() {
3440 [[ ${MERGE_TYPE} = "binary" ]] && return 0
3441
3442 - # bug #549768
3443 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3444 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
3445 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
3446 - # Run in subshell to prevent "Aborted" message
3447 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
3448 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3449 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3450 - eerror "or use gcc-config to select a different compiler version."
3451 - eerror "See https://bugs.gentoo.org/549768"
3452 - eerror
3453 - return 1
3454 + # GCC-specific bugs
3455 + if tc-is-gcc; then
3456 + # bug #549768
3457 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3458 + ebegin "Checking for gcc-5 ms_abi compiler bug"
3459 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
3460 + # Run in subshell to prevent "Aborted" message
3461 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3462 + eend $?
3463 + if [[ $? -ne 0 ]] ; then
3464 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3465 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3466 + eerror "or use gcc-config to select a different compiler version."
3467 + eerror "See https://bugs.gentoo.org/549768"
3468 + eerror
3469 + return 1
3470 + fi
3471 fi
3472 - fi
3473 - # bug #574044
3474 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3475 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
3476 - # Compile in subshell to prevent "Aborted" message
3477 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
3478 - eerror "Wine cannot be built with this version of gcc-5.3"
3479 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3480 - eerror "or use gcc-config to select a different compiler version."
3481 - eerror "See https://bugs.gentoo.org/574044"
3482 - eerror
3483 - return 1
3484 + # bug #574044
3485 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3486 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3487 + # Compile in subshell to prevent "Aborted" message
3488 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
3489 + eend $?
3490 + if [[ $? -ne 0 ]] ; then
3491 + eerror "Wine cannot be built with this version of gcc-5.3"
3492 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3493 + eerror "or use gcc-config to select a different compiler version."
3494 + eerror "See https://bugs.gentoo.org/574044"
3495 + eerror
3496 + return 1
3497 + fi
3498 fi
3499 fi
3500
3501 + # Ensure compiler support
3502 if use abi_x86_64; then
3503 - einfo "Checking for builtin_ms_va_list ..."
3504 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
3505 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
3506 - else
3507 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
3508 + # Compile in subshell to prevent "Aborted" message
3509 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
3510 + eend $?
3511 + if [[ $? -ne 0 ]]; then
3512 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
3513 eerror
3514 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
3515 @@ -199,6 +228,10 @@ wine_build_environment_check() {
3516 return 1
3517 fi
3518 fi
3519 +}
3520 +
3521 +wine_build_environment_check() {
3522 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
3523
3524 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
3525 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
3526 @@ -209,7 +242,19 @@ wine_build_environment_check() {
3527 }
3528
3529 pkg_pretend() {
3530 + wine_compiler_check || die
3531 wine_build_environment_check || die
3532 +
3533 + # Verify OSS support
3534 + if use oss && ! use kernel_FreeBSD; then
3535 + local oss_vers=$(best_version media-sound/oss)
3536 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
3537 + eerror "You cannot build wine with USE=oss without having support from a"
3538 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3539 + eerror
3540 + die
3541 + fi
3542 + fi
3543 }
3544
3545 pkg_setup() {
3546 @@ -253,6 +298,7 @@ src_prepare() {
3547 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
3548 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
3549 "${FILESDIR}"/${PN}-sysmacros.patch #580046
3550 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
3551 )
3552 if use staging; then
3553 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
3554 @@ -410,6 +456,13 @@ multilib_src_install_all() {
3555 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
3556 fi
3557
3558 + # Remove wineconsole if neither backend is installed #551124
3559 + if ! use X && ! use ncurses; then
3560 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
3561 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
3562 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
3563 + fi
3564 +
3565 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
3566 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
3567
3568
3569 diff --git a/app-emulation/wine/wine-1.9.10.ebuild b/app-emulation/wine/wine-1.9.9-r1.ebuild
3570 similarity index 77%
3571 rename from app-emulation/wine/wine-1.9.10.ebuild
3572 rename to app-emulation/wine/wine-1.9.9-r1.ebuild
3573 index 529dfbe..243e832 100644
3574 --- a/app-emulation/wine/wine-1.9.10.ebuild
3575 +++ b/app-emulation/wine/wine-1.9.9-r1.ebuild
3576 @@ -23,6 +23,8 @@ fi
3577
3578 GV="2.44"
3579 MV="4.6.2"
3580 +STAGING_GV="2.44"
3581 +STAGING_MV="4.6.2"
3582 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
3583 STAGING_P="wine-staging-${PV}"
3584 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
3585 @@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
3586 DESCRIPTION="Free implementation of Windows(tm) on Unix"
3587 HOMEPAGE="http://www.winehq.org/"
3588 SRC_URI="${SRC_URI}
3589 - gecko? (
3590 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
3591 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
3592 + !staging? (
3593 + gecko? (
3594 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
3595 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
3596 + )
3597 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
3598 + )
3599 + staging? (
3600 + gecko? (
3601 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
3602 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
3603 + )
3604 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
3605 )
3606 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
3607 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
3608
3609 if [[ ${PV} == "9999" ]] ; then
3610 @@ -50,32 +61,21 @@ fi
3611
3612 LICENSE="LGPL-2.1"
3613 SLOT="0"
3614 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 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"
3615 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
3616 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3617 - test? ( abi_x86_32 )
3618 + X? ( truetype )
3619 elibc_glibc? ( threads )
3620 + osmesa? ( opengl )
3621 pipelight? ( staging )
3622 s3tc? ( staging )
3623 - vaapi? ( staging )
3624 - osmesa? ( opengl )" #286560
3625 + test? ( abi_x86_32 )
3626 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
3627
3628 # FIXME: the test suite is unsuitable for us; many tests require net access
3629 # or fail due to Xvfb's opengl limitations.
3630 RESTRICT="test"
3631
3632 COMMON_DEPEND="
3633 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3634 - capi? ( net-dialup/capi4k-utils )
3635 - d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
3636 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3637 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3638 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3639 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3640 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3641 - gstreamer? (
3642 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3643 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3644 - )
3645 X? (
3646 x11-libs/libXcursor[${MULTILIB_USEDEP}]
3647 x11-libs/libXext[${MULTILIB_USEDEP}]
3648 @@ -83,36 +83,48 @@ COMMON_DEPEND="
3649 x11-libs/libXi[${MULTILIB_USEDEP}]
3650 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3651 )
3652 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3653 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3654 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3655 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3656 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3657 - opengl? (
3658 - virtual/glu[${MULTILIB_USEDEP}]
3659 - virtual/opengl[${MULTILIB_USEDEP}]
3660 - )
3661 + d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
3662 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3663 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3664 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3665 + gstreamer? (
3666 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3667 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3668 + )
3669 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3670 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3671 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3672 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3673 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3674 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3675 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3676 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3677 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3678 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3679 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3680 + opengl? (
3681 + virtual/glu[${MULTILIB_USEDEP}]
3682 + virtual/opengl[${MULTILIB_USEDEP}]
3683 + )
3684 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
3685 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3686 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3687 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3688 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
3689 - xml? (
3690 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3691 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3692 - )
3693 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3694 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3695 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3696 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
3697 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3698 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3699 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3700 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
3701 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3702 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3703 + xml? (
3704 + dev-libs/libxml2[${MULTILIB_USEDEP}]
3705 + dev-libs/libxslt[${MULTILIB_USEDEP}]
3706 + )
3707 abi_x86_32? (
3708 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3709 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3710 @@ -131,28 +143,36 @@ COMMON_DEPEND="
3711 )"
3712
3713 RDEPEND="${COMMON_DEPEND}
3714 - dos? ( games-emulation/dosbox )
3715 - perl? ( dev-lang/perl dev-perl/XML-Simple )
3716 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3717 + perl? (
3718 + dev-lang/perl
3719 + dev-perl/XML-Simple
3720 + )
3721 + pulseaudio? (
3722 + realtime? ( sys-auth/rtkit )
3723 + )
3724 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
3725 samba? ( >=net-fs/samba-3.0.25[winbind] )
3726 selinux? ( sec-policy/selinux-wine )
3727 - udisks? ( sys-fs/udisks:2 )
3728 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
3729 + udisks? ( sys-fs/udisks:2 )"
3730
3731 # tools/make_requests requires perl
3732 DEPEND="${COMMON_DEPEND}
3733 - staging? ( dev-lang/perl dev-perl/XML-Simple )
3734 + sys-devel/flex
3735 + >=sys-kernel/linux-headers-2.6
3736 + virtual/pkgconfig
3737 + virtual/yacc
3738 X? (
3739 x11-proto/inputproto
3740 x11-proto/xextproto
3741 x11-proto/xf86vidmodeproto
3742 )
3743 - xinerama? ( x11-proto/xineramaproto )
3744 prelink? ( sys-devel/prelink )
3745 - >=sys-kernel/linux-headers-2.6
3746 - virtual/pkgconfig
3747 - virtual/yacc
3748 - sys-devel/flex"
3749 + staging? (
3750 + dev-lang/perl
3751 + dev-perl/XML-Simple
3752 + )
3753 + xinerama? ( x11-proto/xineramaproto )"
3754
3755 # These use a non-standard "Wine" category, which is provided by
3756 # /etc/xdg/applications-merged/wine.menu
3757 @@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
3758 usr/share/applications/wine-uninstaller.desktop
3759 usr/share/applications/wine-winecfg.desktop"
3760
3761 -wine_build_environment_check() {
3762 +wine_compiler_check() {
3763 [[ ${MERGE_TYPE} = "binary" ]] && return 0
3764
3765 - # bug #549768
3766 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3767 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
3768 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
3769 - # Run in subshell to prevent "Aborted" message
3770 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
3771 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3772 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3773 - eerror "or use gcc-config to select a different compiler version."
3774 - eerror "See https://bugs.gentoo.org/549768"
3775 - eerror
3776 - return 1
3777 + # GCC-specific bugs
3778 + if tc-is-gcc; then
3779 + # bug #549768
3780 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3781 + ebegin "Checking for gcc-5 ms_abi compiler bug"
3782 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
3783 + # Run in subshell to prevent "Aborted" message
3784 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3785 + eend $?
3786 + if [[ $? -ne 0 ]] ; then
3787 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3788 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3789 + eerror "or use gcc-config to select a different compiler version."
3790 + eerror "See https://bugs.gentoo.org/549768"
3791 + eerror
3792 + return 1
3793 + fi
3794 fi
3795 - fi
3796 - # bug #574044
3797 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3798 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
3799 - # Compile in subshell to prevent "Aborted" message
3800 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
3801 - eerror "Wine cannot be built with this version of gcc-5.3"
3802 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3803 - eerror "or use gcc-config to select a different compiler version."
3804 - eerror "See https://bugs.gentoo.org/574044"
3805 - eerror
3806 - return 1
3807 + # bug #574044
3808 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3809 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3810 + # Compile in subshell to prevent "Aborted" message
3811 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
3812 + eend $?
3813 + if [[ $? -ne 0 ]] ; then
3814 + eerror "Wine cannot be built with this version of gcc-5.3"
3815 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3816 + eerror "or use gcc-config to select a different compiler version."
3817 + eerror "See https://bugs.gentoo.org/574044"
3818 + eerror
3819 + return 1
3820 + fi
3821 fi
3822 fi
3823
3824 + # Ensure compiler support
3825 if use abi_x86_64; then
3826 - einfo "Checking for builtin_ms_va_list ..."
3827 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
3828 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
3829 - else
3830 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
3831 + # Compile in subshell to prevent "Aborted" message
3832 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
3833 + eend $?
3834 + if [[ $? -ne 0 ]]; then
3835 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
3836 eerror
3837 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
3838 @@ -204,6 +233,10 @@ wine_build_environment_check() {
3839 return 1
3840 fi
3841 fi
3842 +}
3843 +
3844 +wine_build_environment_check() {
3845 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
3846
3847 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
3848 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
3849 @@ -214,7 +247,19 @@ wine_build_environment_check() {
3850 }
3851
3852 pkg_pretend() {
3853 + wine_compiler_check || die
3854 wine_build_environment_check || die
3855 +
3856 + # Verify OSS support
3857 + if use oss && ! use kernel_FreeBSD; then
3858 + local oss_vers=$(best_version media-sound/oss)
3859 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
3860 + eerror "You cannot build wine with USE=oss without having support from a"
3861 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3862 + eerror
3863 + die
3864 + fi
3865 + fi
3866 }
3867
3868 pkg_setup() {
3869 @@ -263,6 +308,7 @@ src_prepare() {
3870 "${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615
3871 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
3872 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
3873 + "${FILESDIR}"/${PN}-1.8-gnutls-3.5-compat.patch #587028
3874 )
3875 if use staging; then
3876 ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
3877 @@ -429,6 +475,13 @@ multilib_src_install_all() {
3878 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
3879 fi
3880
3881 + # Remove wineconsole if neither backend is installed #551124
3882 + if ! use X && ! use ncurses; then
3883 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
3884 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
3885 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
3886 + fi
3887 +
3888 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
3889 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
3890
3891
3892 diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
3893 index 529dfbe..e7bbd72 100644
3894 --- a/app-emulation/wine/wine-9999.ebuild
3895 +++ b/app-emulation/wine/wine-9999.ebuild
3896 @@ -21,8 +21,10 @@ else
3897 KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
3898 fi
3899
3900 -GV="2.44"
3901 +GV="2.47"
3902 MV="4.6.2"
3903 +STAGING_GV="2.47"
3904 +STAGING_MV="4.6.2"
3905 [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
3906 STAGING_P="wine-staging-${PV}"
3907 STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
3908 @@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07"
3909 DESCRIPTION="Free implementation of Windows(tm) on Unix"
3910 HOMEPAGE="http://www.winehq.org/"
3911 SRC_URI="${SRC_URI}
3912 - gecko? (
3913 - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
3914 - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
3915 + !staging? (
3916 + gecko? (
3917 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi )
3918 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
3919 + )
3920 + mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
3921 + )
3922 + staging? (
3923 + gecko? (
3924 + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi )
3925 + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi )
3926 + )
3927 + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi )
3928 )
3929 - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi )
3930 https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
3931
3932 if [[ ${PV} == "9999" ]] ; then
3933 @@ -50,32 +61,21 @@ fi
3934
3935 LICENSE="LGPL-2.1"
3936 SLOT="0"
3937 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 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"
3938 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
3939 REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3940 - test? ( abi_x86_32 )
3941 + X? ( truetype )
3942 elibc_glibc? ( threads )
3943 + osmesa? ( opengl )
3944 pipelight? ( staging )
3945 s3tc? ( staging )
3946 - vaapi? ( staging )
3947 - osmesa? ( opengl )" #286560
3948 + test? ( abi_x86_32 )
3949 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
3950
3951 # FIXME: the test suite is unsuitable for us; many tests require net access
3952 # or fail due to Xvfb's opengl limitations.
3953 RESTRICT="test"
3954
3955 COMMON_DEPEND="
3956 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3957 - capi? ( net-dialup/capi4k-utils )
3958 - d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
3959 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3960 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3961 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3962 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3963 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3964 - gstreamer? (
3965 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3966 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3967 - )
3968 X? (
3969 x11-libs/libXcursor[${MULTILIB_USEDEP}]
3970 x11-libs/libXext[${MULTILIB_USEDEP}]
3971 @@ -83,36 +83,48 @@ COMMON_DEPEND="
3972 x11-libs/libXi[${MULTILIB_USEDEP}]
3973 x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3974 )
3975 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3976 alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3977 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3978 cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3979 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3980 - opengl? (
3981 - virtual/glu[${MULTILIB_USEDEP}]
3982 - virtual/opengl[${MULTILIB_USEDEP}]
3983 - )
3984 + d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] )
3985 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3986 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3987 gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3988 + gstreamer? (
3989 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3990 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3991 + )
3992 jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3993 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3994 lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3995 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3996 mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3997 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3998 netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3999 nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
4000 odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
4001 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
4002 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
4003 + opengl? (
4004 + virtual/glu[${MULTILIB_USEDEP}]
4005 + virtual/opengl[${MULTILIB_USEDEP}]
4006 + )
4007 osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
4008 pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
4009 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4010 pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
4011 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
4012 - xml? (
4013 - dev-libs/libxml2[${MULTILIB_USEDEP}]
4014 - dev-libs/libxslt[${MULTILIB_USEDEP}]
4015 - )
4016 scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
4017 ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
4018 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4019 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
4020 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
4021 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
4022 v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
4023 vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
4024 xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
4025 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
4026 + xml? (
4027 + dev-libs/libxml2[${MULTILIB_USEDEP}]
4028 + dev-libs/libxslt[${MULTILIB_USEDEP}]
4029 + )
4030 abi_x86_32? (
4031 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
4032 !<app-emulation/emul-linux-x86-baselibs-20140508-r14
4033 @@ -131,28 +143,36 @@ COMMON_DEPEND="
4034 )"
4035
4036 RDEPEND="${COMMON_DEPEND}
4037 - dos? ( games-emulation/dosbox )
4038 - perl? ( dev-lang/perl dev-perl/XML-Simple )
4039 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
4040 + perl? (
4041 + dev-lang/perl
4042 + dev-perl/XML-Simple
4043 + )
4044 + pulseaudio? (
4045 + realtime? ( sys-auth/rtkit )
4046 + )
4047 s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
4048 samba? ( >=net-fs/samba-3.0.25[winbind] )
4049 selinux? ( sec-policy/selinux-wine )
4050 - udisks? ( sys-fs/udisks:2 )
4051 - pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
4052 + udisks? ( sys-fs/udisks:2 )"
4053
4054 # tools/make_requests requires perl
4055 DEPEND="${COMMON_DEPEND}
4056 - staging? ( dev-lang/perl dev-perl/XML-Simple )
4057 + sys-devel/flex
4058 + >=sys-kernel/linux-headers-2.6
4059 + virtual/pkgconfig
4060 + virtual/yacc
4061 X? (
4062 x11-proto/inputproto
4063 x11-proto/xextproto
4064 x11-proto/xf86vidmodeproto
4065 )
4066 - xinerama? ( x11-proto/xineramaproto )
4067 prelink? ( sys-devel/prelink )
4068 - >=sys-kernel/linux-headers-2.6
4069 - virtual/pkgconfig
4070 - virtual/yacc
4071 - sys-devel/flex"
4072 + staging? (
4073 + dev-lang/perl
4074 + dev-perl/XML-Simple
4075 + )
4076 + xinerama? ( x11-proto/xineramaproto )"
4077
4078 # These use a non-standard "Wine" category, which is provided by
4079 # /etc/xdg/applications-merged/wine.menu
4080 @@ -161,42 +181,51 @@ usr/share/applications/wine-notepad.desktop
4081 usr/share/applications/wine-uninstaller.desktop
4082 usr/share/applications/wine-winecfg.desktop"
4083
4084 -wine_build_environment_check() {
4085 +wine_compiler_check() {
4086 [[ ${MERGE_TYPE} = "binary" ]] && return 0
4087
4088 - # bug #549768
4089 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
4090 - einfo "Checking for gcc-5 ms_abi compiler bug ..."
4091 - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
4092 - # Run in subshell to prevent "Aborted" message
4093 - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then
4094 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
4095 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
4096 - eerror "or use gcc-config to select a different compiler version."
4097 - eerror "See https://bugs.gentoo.org/549768"
4098 - eerror
4099 - return 1
4100 + # GCC-specific bugs
4101 + if tc-is-gcc; then
4102 + # bug #549768
4103 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
4104 + ebegin "Checking for gcc-5 ms_abi compiler bug"
4105 + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die
4106 + # Run in subshell to prevent "Aborted" message
4107 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
4108 + eend $?
4109 + if [[ $? -ne 0 ]] ; then
4110 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
4111 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
4112 + eerror "or use gcc-config to select a different compiler version."
4113 + eerror "See https://bugs.gentoo.org/549768"
4114 + eerror
4115 + return 1
4116 + fi
4117 fi
4118 - fi
4119 - # bug #574044
4120 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
4121 - einfo "Checking for gcc-5-3 stack realignment compiler bug ..."
4122 - # Compile in subshell to prevent "Aborted" message
4123 - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then
4124 - eerror "Wine cannot be built with this version of gcc-5.3"
4125 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
4126 - eerror "or use gcc-config to select a different compiler version."
4127 - eerror "See https://bugs.gentoo.org/574044"
4128 - eerror
4129 - return 1
4130 + # bug #574044
4131 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
4132 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
4133 + # Compile in subshell to prevent "Aborted" message
4134 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1
4135 + eend $?
4136 + if [[ $? -ne 0 ]] ; then
4137 + eerror "Wine cannot be built with this version of gcc-5.3"
4138 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
4139 + eerror "or use gcc-config to select a different compiler version."
4140 + eerror "See https://bugs.gentoo.org/574044"
4141 + eerror
4142 + return 1
4143 + fi
4144 fi
4145 fi
4146
4147 + # Ensure compiler support
4148 if use abi_x86_64; then
4149 - einfo "Checking for builtin_ms_va_list ..."
4150 - if ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) ; then
4151 - einfo "$(tc-getCC) supports builtin_ms_va_list, enabling 64-bit wine"
4152 - else
4153 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
4154 + # Compile in subshell to prevent "Aborted" message
4155 + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
4156 + eend $?
4157 + if [[ $? -ne 0 ]]; then
4158 eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
4159 eerror
4160 eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
4161 @@ -204,6 +233,10 @@ wine_build_environment_check() {
4162 return 1
4163 fi
4164 fi
4165 +}
4166 +
4167 +wine_build_environment_check() {
4168 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
4169
4170 if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
4171 eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
4172 @@ -214,7 +247,19 @@ wine_build_environment_check() {
4173 }
4174
4175 pkg_pretend() {
4176 + wine_compiler_check || die
4177 wine_build_environment_check || die
4178 +
4179 + # Verify OSS support
4180 + if use oss && ! use kernel_FreeBSD; then
4181 + local oss_vers=$(best_version media-sound/oss)
4182 + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then
4183 + eerror "You cannot build wine with USE=oss without having support from a"
4184 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
4185 + eerror
4186 + die
4187 + fi
4188 + fi
4189 }
4190
4191 pkg_setup() {
4192 @@ -429,6 +474,13 @@ multilib_src_install_all() {
4193 rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
4194 fi
4195
4196 + # Remove wineconsole if neither backend is installed #551124
4197 + if ! use X && ! use ncurses; then
4198 + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
4199 + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
4200 + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
4201 + fi
4202 +
4203 use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
4204 use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}