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-any/
Date: Sun, 05 Nov 2017 05:53:36
Message-Id: 1509861194.cb6a4083a23854d90963bed8d9fed613788444b9.np-hardass@gentoo
1 commit: cb6a4083a23854d90963bed8d9fed613788444b9
2 Author: NP-Hardass <NP-Hardass <AT> gentoo <DOT> org>
3 AuthorDate: Sun Nov 5 05:38:25 2017 +0000
4 Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
5 CommitDate: Sun Nov 5 05:53:14 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb6a4083
7
8 app-emulation/wine-any: Bump to 2.18
9
10 Package-Manager: Portage-2.3.13, Repoman-2.3.4
11
12 app-emulation/wine-any/Manifest | 3 +
13 app-emulation/wine-any/wine-any-2.18.ebuild | 634 ++++++++++++++++++++++++++++
14 2 files changed, 637 insertions(+)
15
16 diff --git a/app-emulation/wine-any/Manifest b/app-emulation/wine-any/Manifest
17 index 2d4f6fbc6a5..6e21a9dd972 100644
18 --- a/app-emulation/wine-any/Manifest
19 +++ b/app-emulation/wine-any/Manifest
20 @@ -9,6 +9,7 @@ DIST wine-2.14.tar.xz 19447812 SHA256 03f934d95181f728600ca04d395f10e821ee38cfa3
21 DIST wine-2.15.tar.xz 19463720 SHA256 d82d500cbf81fb08c711d3619bd52373138a05574d044f089af89707274868b3 SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 WHIRLPOOL 99c9497a44859ce310c764b3cd172d83ca1a2dce13633fee930ddbf1c40651ee4470f6bc9cfcb407ce65298a2afd73dc9edc536c2ba6f076631e5cf2085b8e61
22 DIST wine-2.16.tar.xz 19484716 SHA256 a561edcabecd6c44948e5b2ef11941b2ba047275240418fa2c98c1fdceda2c21 SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 WHIRLPOOL 92ae0a427d89b24d41d4565e333cf3b7499c1dfedb6d2a204f934975c35cb589d38b4f669890c1fd6a37b9fe8f34d98be3e7d0986e9ff99516fe00a004574520
23 DIST wine-2.17.tar.xz 19505528 SHA256 7edc95739043ccc55957af663fb910318283dc5d1db42cd7f0224e30acfcea69 SHA512 cb10c876e689aa601c68673aab32c0514dd174692a01bdb3afc78d5e6079b0e77f48783af2f54245f397c762da3b4e5f2c1d39d2ce7fdb3b117d338b95c24810 WHIRLPOOL 196427a68ab3b1261cb63bafd7f82b7a688ad439fa82ae3fc04b18c9da14cc8e95b827ca8ddd07124e1179c55ed0e0aba3bdcb4639b724a6dacf4952e8827e16
24 +DIST wine-2.18.tar.xz 19546360 SHA256 9f0931129878157d717cb39f16cd33bf49f40aac77331c93d0ad30f2ccac4f50 SHA512 61cc39fa3d2b0a0ab3c5d17579865e6aea76dd9513a4b3c45975a2d5c05f2b4ba952b97eef547131a014763c7f692a08df29bc2ebf7e4ac7e2616e6a7822ddb9 WHIRLPOOL e864dd1705c0480d3f3095aa02ab1e7bc5b41693cd6b791cdf05e636c7099562020ac3adcba6421653efdf5dbe232b5abe9071792785e008ea30dedbb63e080e
25 DIST wine-2.2.tar.xz 18916364 SHA256 64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 WHIRLPOOL ffc3d357a76592651b589c6ac6608720d0258474890faf8fe3e20ac29cdd1496d569721256f9389d347bf2734a556099154fd18ef1b56f45bb46c4c15771d6ca
26 DIST wine-2.3.tar.xz 18931732 SHA256 afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 WHIRLPOOL 1f5ec8e5c32d124277e4c71d95726d3a5337575757c3029567c77165d65fcfec2ddf33d3863b4bf55c9eff7c3582c1ec7dbd76d84ed8bbbe89dd16db6b0128c1
27 DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0df8b36b9f90b69b72748e SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 WHIRLPOOL 558ab7b7517ad5e03366b4db974047eba776585e958a5b71bb2e93993e21bc725ea7a8bcf2a4354f34ca38c94ba99ccd15f2f8b5e4b58066bf339d3517eec56c
28 @@ -27,6 +28,7 @@ DIST wine-d3d9-2.14.tar.gz 48718 SHA256 71a3aff0b348f033d4ca610e34ce6faa02eb2b5c
29 DIST wine-d3d9-2.15.tar.gz 48717 SHA256 c0aa58e7fa3b595c38cf06fe72b54a096e43e526142a7576f839ed8aaa85cabf SHA512 5298de273fc95f65ee481416f8ed16059f244e3781058cb76ee60b6a85aaf8d977a619c75cccd08aadeac9aae9ad2e08b49c5b52ab141cbff351a4b001e7c434 WHIRLPOOL 63337e2c86be5ff2fc16ff0817719ed668360ad2258b095e88b98b1f31e382593b14cabdcb8be58a6dc0cc047cd67a3eb1f14d3ecb806ba2ac9c6f7102368c94
30 DIST wine-d3d9-2.16.tar.gz 48728 SHA256 2a681d28a4e042437c32ecf3f92c7abaadc862feba6aacf0df76469acab98f3e SHA512 f3950d7e34ec537b95b963fb3b35ee3729c1b3f9d8c225e96ae9ab9cf8011571ba22105a17309c481f3a504a8aa4d5ae04270691c49098924aa2f72463b79e08 WHIRLPOOL c1f3cb0922cb381f6e2aa7fd54538b98dbd04daa7f36f66742af4c544c80e894e33ebf4866520af35faec27519f0015cd5cc1139fe191bb0b3192cb2134035c3
31 DIST wine-d3d9-2.17.tar.gz 48722 SHA256 557ae75a68529f282f1f5e7e9991892d7d994f199060ced43db22291ec66fe71 SHA512 530d44a968a68e06449da2286b8c9740a80b681ff610f6ddc87e6fb569e6c29181341266a04238965a7bfc209e20c1521847b70daa8d3532c2a269db0d200154 WHIRLPOOL 0c70a88949eaa27ebbc28a6951651e4b55166c1d54a8db6d9fdfe3f516d2f4e24ba0f08defddf637b9c2ed0702b250af4d41146684b79e90d84aefe284351059
32 +DIST wine-d3d9-2.18.tar.gz 48722 SHA256 d1b5210d4228ddcc60f76b4a8694d5feb4e3c68ca4436666ee182c8b14f25356 SHA512 0e66c51e1957b27ccb9f326b0aaf2b0d09b7bbc9d03e1d321aa1789d2560b8e60fd83c4e86999d96a03aa73a37c96f34d93245763969a314150900741aa03933 WHIRLPOOL c879d7ca20e2b339ab1ad862274320ceced84693311dfc02652a83304d0beb263a59e8978fae65ad50bbb51eaac51988ab2a0105c50dafa9176caf1baa791506
33 DIST wine-d3d9-2.2.tar.gz 48387 SHA256 203ed60980ec584c09b413266728e3a93e2d980dbff9b4f65375a4e9744b5042 SHA512 6e9e031b51afc8ec200bbd252ff0d768c29af23907f782409834de593f896afb128f86fe012c95dc18e5f3c7267f170eb343d2a2c53d639933a337f0c1e04fab WHIRLPOOL 6b32c0dfd3068e87d94bbcd83718dd75a14b36d69b151e9257e04793d2d3ae78ce7da10b80cbc824ccefb6c11666241593f91963ddee6a58301f95bbde35285d
34 DIST wine-d3d9-2.3.tar.gz 48510 SHA256 fc17488a782def19fc02bf967128ab43236db49509e31771361a60fa3d17dd60 SHA512 58449f6b7ed7fd8182e2cce92e1d1195bf64a567c1cc92fd3f46af195e7e4039c3b2a128be9d3572d9067be6c1bb020f417c6d558bb551c60096c107067177b8 WHIRLPOOL f648a921cf4cd257a3a7dfbd3abf45d58c07782f329ec11c3a1eff3afe32e8040adb351d4a60e1b1f78c7cae0379f23468764ad162a101179d0f5b0e2c6d9413
35 DIST wine-d3d9-2.4.tar.gz 48502 SHA256 4c7084e733d95545b894b152b2c6c9564dfb8df594cfeb1512dad80743b39ae0 SHA512 623b1720b8cd79ab6ad2a177b9beb174f31e6fc402d6885fa2006223c855919c6f5d4267c64212ecf8cf1746430c9715c506343fb740828fc99910f916b10ebe WHIRLPOOL 9c0ea34dedc2e39ce36f1539a6d761ba07429b316a1f7fad49067eec5c28a5c60b33b3d2473cbf66b009d9772c1fb123414bfa201eb8df3e61f8efc38aa1f3fa
36 @@ -45,6 +47,7 @@ DIST wine-staging-2.14.tar.gz 10179829 SHA256 cd4c8e400a808cbfa5c5cf088ea874c761
37 DIST wine-staging-2.15.tar.gz 10190900 SHA256 f2b5c43fbc185a6fd6399f4c351b83a172737977b2ebb1cbdeddd1838d044bc2 SHA512 75d64d103839da2daed6e5b2400185c0a5274d0e50b675283bbadff70cafe712e573701207d80c8e8af7f68d1d273efec3c0d705dc982c74b8574929daadecfa WHIRLPOOL 13239aa636fc102fb374ab8724b7dbce8e9b95f16797a4f5faf8a5e7789d60e6b485c7495ccef4568edbbb0549d657a6758642de2e98b449b0ced2725136e444
38 DIST wine-staging-2.16.tar.gz 10220855 SHA256 da0ef4b0eafe9cd1b9cf26a5b950088adf1308e17a0d6f4ae62516b6ee64248e SHA512 96585caf77569a31f516aefe230a8907ef91db29759f75075593b751985f294bf292a1c146d287a3f0859a6b6273560670c4bc734ef0fbecb0809574eb3f09ba WHIRLPOOL 66128c8d59593243e95d6765b9fd8ace59e85e365a5e8a41eeb17d370464005aef060ddf3d862d0a3638048fd92189860e69a3cbf7d24d3ce1e420200d4b3cf5
39 DIST wine-staging-2.17.tar.gz 10211107 SHA256 f511bf3438dc418b4f667513bf1ae419255e4ee62229e9205c0c64b047222183 SHA512 b652f6a852a1382c1b8275e172b7ac7608749c34aef5c0c5387cf262bf0da8db67a77ce397d49e53f3e2a8f210a3dbea1a9b3f3feb15c7d5bad8952b6fb7b53c WHIRLPOOL c45dc5fc91bc774f9f28bb06dff959391829fafac398bef198755395afe5a65bb2d32ba3ce157607a6040481955926866ed8f0760850bfca821be8599f4d7b64
40 +DIST wine-staging-2.18.tar.gz 10243957 SHA256 69c75d3ca17b1c3617cd0934a9e9ad6fca37c6679900d2cb63f6981aa1026cc8 SHA512 fe18b53d4160596d134ceed392f6459e9c183381f4712add43d8422e77d7d5d89ff34a3bb3afbd7740f250d85dfda0f3501e9600a41270790ae02138ed6d7dc7 WHIRLPOOL 2dc1429a7a4f13ee01b1317f1937ef7ec6b42c3cfdd78ff78bb8273e1056751edb2ac119904ba48ab645b430f269a9361a6d42bcbb5dfb46bd15a129569d3194
41 DIST wine-staging-2.2.tar.gz 10078327 SHA256 9d3cbf7e5f12c623d275457b910a158e0b176fcf50c09a5f8425864de604bc1d SHA512 8ad3f8ba4c6439a9ec4884a55018a67c9e2c2384830074646aac7b70cb9f4f5a20f760247ab42dc3d2f697cdac7ea5322be8ed12c435cb0bc185ac08fdd4dd91 WHIRLPOOL a34c19aaace64307de56d935cb0cef17d7c066c39b83c51e70ea76a20083f928bea55fe38d62b7a8250b0a9e8f00e0d2b744f43fcab433069ffb96625d955303
42 DIST wine-staging-2.3.tar.gz 10071742 SHA256 9a81be606836fab6203857f7937ff97575947f75d52c80fb5489418efb8b87e1 SHA512 8e8af1e36cc69c63ec3542f0ec4db18b6d8c16b5c9077eb211297f3a886519da71bcf72934bf8d6d72e44c7c9f765e1d00203d0d75cab8544f69f9b0c10a7133 WHIRLPOOL 50738a6e20890748d7eb01152244d34b259759f61b3587ba39815dc066fc8e2b66ce182e1ddbc912f50076a3599aa060ec6a94eeaab4513ce3a776711929b9b1
43 DIST wine-staging-2.4.tar.gz 10067020 SHA256 709cab12c0ebf7cf9504fd4a67eb851272309e00066ad81f184b0f55c63e9deb SHA512 55d11851697836b582ba54696cadc812ef6b14872440f5c3ed6fbe30a05abcb8abe2ab31a11ea4daeb354854c7c0e6549401d4b26b26621808bdeb89aeb206f9 WHIRLPOOL 8d344b7e6e89322c8dbbe6fd211851c90a45a33b514c182609cc60dc21939f791abc71d8665cd66e5c5161f159fe24c4772b99405833e3d11985a644e1335eaf
44
45 diff --git a/app-emulation/wine-any/wine-any-2.18.ebuild b/app-emulation/wine-any/wine-any-2.18.ebuild
46 new file mode 100644
47 index 00000000000..5fb96a29e62
48 --- /dev/null
49 +++ b/app-emulation/wine-any/wine-any-2.18.ebuild
50 @@ -0,0 +1,634 @@
51 +# Copyright 1999-2017 Gentoo Foundation
52 +# Distributed under the terms of the GNU General Public License v2
53 +
54 +EAPI=6
55 +
56 +PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
57 +PLOCALE_BACKUP="en"
58 +
59 +inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
60 +
61 +MY_PN="${PN%%-*}"
62 +MY_P="${MY_PN}-${PV}"
63 +
64 +if [[ ${PV} == "9999" ]] ; then
65 + EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
66 + EGIT_BRANCH="master"
67 + inherit git-r3
68 + SRC_URI=""
69 + #KEYWORDS=""
70 +else
71 + MAJOR_V=$(get_version_component_range 1)
72 + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
73 + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
74 +fi
75 +S="${WORKDIR}/${MY_P}"
76 +
77 +STAGING_P="wine-staging-${PV}"
78 +STAGING_DIR="${WORKDIR}/${STAGING_P}"
79 +D3D9_P="wine-d3d9-${PV}"
80 +D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
81 +GWP_V="20170830"
82 +PATCHDIR="${WORKDIR}/gentoo-wine-patches"
83 +
84 +DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
85 +HOMEPAGE="https://www.winehq.org/"
86 +SRC_URI="${SRC_URI}
87 + https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
88 +"
89 +
90 +if [[ ${PV} == "9999" ]] ; then
91 + STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
92 + D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
93 +else
94 + SRC_URI="${SRC_URI}
95 + staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
96 + d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
97 +fi
98 +
99 +LICENSE="LGPL-2.1"
100 +SLOT="${PV}"
101 +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
102 +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
103 + X? ( truetype )
104 + elibc_glibc? ( threads )
105 + osmesa? ( opengl )
106 + pipelight? ( staging )
107 + s3tc? ( staging )
108 + test? ( abi_x86_32 )
109 + themes? ( staging )
110 + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
111 +
112 +# FIXME: the test suite is unsuitable for us; many tests require net access
113 +# or fail due to Xvfb's opengl limitations.
114 +RESTRICT="test"
115 +
116 +COMMON_DEPEND="
117 + X? (
118 + x11-libs/libXcursor[${MULTILIB_USEDEP}]
119 + x11-libs/libXext[${MULTILIB_USEDEP}]
120 + x11-libs/libXfixes[${MULTILIB_USEDEP}]
121 + x11-libs/libXrandr[${MULTILIB_USEDEP}]
122 + x11-libs/libXi[${MULTILIB_USEDEP}]
123 + x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
124 + )
125 + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
126 + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
127 + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
128 + d3d9? (
129 + media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
130 + x11-libs/libX11[${MULTILIB_USEDEP}]
131 + x11-libs/libXext[${MULTILIB_USEDEP}]
132 + x11-libs/libxcb[${MULTILIB_USEDEP}]
133 + )
134 + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
135 + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
136 + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
137 + gstreamer? (
138 + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
139 + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
140 + )
141 + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
142 + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
143 + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
144 + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
145 + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
146 + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
147 + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
148 + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
149 + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
150 + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
151 + opengl? (
152 + virtual/glu[${MULTILIB_USEDEP}]
153 + virtual/opengl[${MULTILIB_USEDEP}]
154 + )
155 + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
156 + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
157 + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
158 + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
159 + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
160 + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
161 + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
162 + themes? (
163 + dev-libs/glib:2[${MULTILIB_USEDEP}]
164 + x11-libs/cairo[${MULTILIB_USEDEP}]
165 + x11-libs/gtk+:3[${MULTILIB_USEDEP}]
166 + )
167 + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
168 + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
169 + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
170 + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
171 + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
172 + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
173 + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
174 + xml? (
175 + dev-libs/libxml2[${MULTILIB_USEDEP}]
176 + dev-libs/libxslt[${MULTILIB_USEDEP}]
177 + )
178 + abi_x86_32? (
179 + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
180 + !<app-emulation/emul-linux-x86-baselibs-20140508-r14
181 + !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
182 + !<app-emulation/emul-linux-x86-db-20140508-r3
183 + !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
184 + !<app-emulation/emul-linux-x86-medialibs-20140508-r6
185 + !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
186 + !<app-emulation/emul-linux-x86-opengl-20140508-r1
187 + !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
188 + !<app-emulation/emul-linux-x86-sdl-20140508-r1
189 + !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
190 + !<app-emulation/emul-linux-x86-soundlibs-20140508
191 + !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
192 + !<app-emulation/emul-linux-x86-xlibs-20140508
193 + )"
194 +
195 +RDEPEND="${COMMON_DEPEND}
196 + app-emulation/wine-desktop-common
197 + >app-eselect/eselect-wine-0.3
198 + !app-emulation/wine:0
199 + dos? ( >=games-emulation/dosbox-0.74_p20160629 )
200 + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
201 + mono? ( app-emulation/wine-mono:4.7.1 )
202 + perl? (
203 + dev-lang/perl
204 + dev-perl/XML-Simple
205 + )
206 + pulseaudio? (
207 + realtime? ( sys-auth/rtkit )
208 + )
209 + s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
210 + samba? ( >=net-fs/samba-3.0.25[winbind] )
211 + selinux? ( sec-policy/selinux-wine )
212 + udisks? ( sys-fs/udisks:2 )"
213 +
214 +# tools/make_requests requires perl
215 +DEPEND="${COMMON_DEPEND}
216 + sys-devel/flex
217 + >=sys-kernel/linux-headers-2.6
218 + virtual/pkgconfig
219 + virtual/yacc
220 + X? (
221 + x11-proto/inputproto
222 + x11-proto/xextproto
223 + x11-proto/xf86vidmodeproto
224 + )
225 + prelink? ( sys-devel/prelink )
226 + staging? (
227 + dev-lang/perl
228 + dev-perl/XML-Simple
229 + )
230 + xinerama? ( x11-proto/xineramaproto )"
231 +
232 +# These use a non-standard "Wine" category, which is provided by
233 +# /etc/xdg/applications-merged/wine.menu
234 +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
235 +usr/share/applications/wine-notepad.desktop
236 +usr/share/applications/wine-uninstaller.desktop
237 +usr/share/applications/wine-winecfg.desktop"
238 +
239 +PATCHES=(
240 + "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
241 + "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
242 + "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
243 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
244 +)
245 +PATCHES_BIN=()
246 +
247 +# https://bugs.gentoo.org/show_bug.cgi?id=635222
248 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
249 + DEPEND+=" dev-util/patchbin"
250 +fi
251 +
252 +wine_compiler_check() {
253 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
254 +
255 + # GCC-specific bugs
256 + if tc-is-gcc; then
257 + # bug #549768
258 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
259 + ebegin "Checking for gcc-5 ms_abi compiler bug"
260 + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
261 + # Run in subshell to prevent "Aborted" message
262 + ( "${T}"/pr66838 || false ) >/dev/null 2>&1
263 + if ! eend $?; then
264 + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
265 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
266 + eerror "or use gcc-config to select a different compiler version."
267 + eerror "See https://bugs.gentoo.org/549768"
268 + eerror
269 + return 1
270 + fi
271 + fi
272 + # bug #574044
273 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
274 + ebegin "Checking for gcc-5-3 stack realignment compiler bug"
275 + # Compile in subshell to prevent "Aborted" message
276 + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
277 + if ! eend $?; then
278 + eerror "Wine cannot be built with this version of gcc-5.3"
279 + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
280 + eerror "or use gcc-config to select a different compiler version."
281 + eerror "See https://bugs.gentoo.org/574044"
282 + eerror
283 + return 1
284 + fi
285 + fi
286 + fi
287 +
288 + # Ensure compiler support
289 + if use abi_x86_64; then
290 + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
291 + # Compile in subshell to prevent "Aborted" message
292 + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
293 + if ! eend $?; then
294 + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
295 + eerror
296 + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
297 + eerror
298 + return 1
299 + fi
300 + fi
301 +}
302 +
303 +wine_build_environment_check() {
304 + [[ ${MERGE_TYPE} = "binary" ]] && return 0
305 +
306 + if use abi_x86_64; then
307 + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
308 + eerror "You need gcc-4.4+ to compile 64-bit wine"
309 + die
310 + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
311 + eerror "You need clang-3.8+ to compile 64-bit wine"
312 + die
313 + fi
314 + fi
315 + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
316 + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
317 + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
318 + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
319 + fi
320 + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
321 + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
322 + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
323 + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
324 + ewarn "See package.env in man 5 portage for more information on how to do this."
325 + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
326 + fi
327 + fi
328 +
329 + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
330 + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
331 + eerror "See https://bugs.gentoo.org/487864 for more details."
332 + eerror
333 + return 1
334 + fi
335 +}
336 +
337 +wine_env_vcs_vars() {
338 + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
339 + local pn_live_val="${pn_live_var}"
340 + eval pn_live_val='$'${pn_live_val}
341 + if [[ ! -z ${pn_live_val} ]]; then
342 + if use staging || use d3d9; then
343 + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
344 + eerror "cannot be used to set the commit. Instead, you may use the"
345 + eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
346 + eerror
347 + return 1
348 + fi
349 + fi
350 + if [[ ! -z ${EGIT_COMMIT} ]]; then
351 + eerror "Commits must now be specified using the environmental variables"
352 + eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
353 + eerror
354 + return 1
355 + fi
356 +}
357 +
358 +pkg_pretend() {
359 + wine_build_environment_check || die
360 +
361 + # Verify OSS support
362 + if use oss && ! use kernel_FreeBSD; then
363 + if ! has_version ">=media-sound/oss-4"; then
364 + eerror "You cannot build wine with USE=oss without having support from a"
365 + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
366 + eerror
367 + die
368 + fi
369 + fi
370 +}
371 +
372 +pkg_setup() {
373 + wine_build_environment_check || die
374 + wine_env_vcs_vars || die
375 +
376 + WINE_VARIANT="${PN#wine}-${PV}"
377 + WINE_VARIANT="${WINE_VARIANT#-}"
378 +
379 + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
380 + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
381 + MY_DATADIR="${MY_DATAROOTDIR}"
382 + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
383 + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
384 + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
385 + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
386 + MY_MANDIR="${MY_DATADIR}/man"
387 +}
388 +
389 +src_unpack() {
390 + if [[ ${PV} == "9999" ]] ; then
391 + EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
392 + if use staging; then
393 + local CURRENT_WINE_COMMIT=${EGIT_VERSION}
394 +
395 + git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
396 + git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
397 +
398 + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
399 +
400 + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
401 + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
402 + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
403 + einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
404 + fi
405 + fi
406 + if use d3d9; then
407 + git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
408 + git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
409 + fi
410 + fi
411 +
412 + default
413 +
414 + l10n_find_plocales_changes "${S}/po" "" ".po"
415 +}
416 +
417 +src_prepare() {
418 +
419 + eapply_bin(){
420 + local patch
421 + for patch in ${PATCHES_BIN[@]}; do
422 + patchbin --nogit < "${patch}" || die
423 + done
424 + }
425 +
426 + local md5="$(md5sum server/protocol.def)"
427 +
428 + if use staging; then
429 + ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
430 + ewarn "Wine bugzilla should explicitly state that staging was used."
431 +
432 + local STAGING_EXCLUDE=""
433 + STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
434 + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
435 +
436 + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
437 + ebegin "Running Wine-Staging patch installer"
438 + (
439 + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
440 + cd "${STAGING_DIR}/patches"
441 + source "${STAGING_DIR}/patches/patchinstall.sh"
442 + )
443 + eend $? || die "Failed to apply Wine-Staging patches"
444 + fi
445 + if use d3d9; then
446 + if use staging; then
447 + PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
448 + else
449 + PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
450 + fi
451 + PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
452 + fi
453 +
454 + default
455 + eapply_bin
456 + eautoreconf
457 +
458 + # Modification of the server protocol requires regenerating the server requests
459 + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
460 + einfo "server/protocol.def was patched; running tools/make_requests"
461 + tools/make_requests || die #432348
462 + fi
463 + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
464 + if ! use run-exes; then
465 + sed -i '/^MimeType/d' loader/wine.desktop || die #117785
466 + fi
467 +
468 + # Edit wine.desktop to work for specific variant
469 + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
470 +
471 + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
472 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
473 +
474 + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
475 +}
476 +
477 +src_configure() {
478 + wine_compiler_check || die
479 +
480 + export LDCONFIG=/bin/true
481 + use custom-cflags || strip-flags
482 +
483 + multilib-minimal_src_configure
484 +}
485 +
486 +multilib_src_configure() {
487 + local myconf=(
488 + --prefix="${MY_PREFIX}"
489 + --datarootdir="${MY_DATAROOTDIR}"
490 + --datadir="${MY_DATADIR}"
491 + --docdir="${MY_DOCDIR}"
492 + --includedir="${MY_INCLUDEDIR}"
493 + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
494 + --libexecdir="${MY_LIBEXECDIR}"
495 + --localstatedir="${MY_LOCALSTATEDIR}"
496 + --mandir="${MY_MANDIR}"
497 + --sysconfdir=/etc/wine
498 + $(use_with alsa)
499 + $(use_with capi)
500 + $(use_with lcms cms)
501 + $(use_with cups)
502 + $(use_with ncurses curses)
503 + $(use_with udisks dbus)
504 + $(use_with fontconfig)
505 + $(use_with ssl gnutls)
506 + $(use_enable gecko mshtml)
507 + $(use_with gphoto2 gphoto)
508 + $(use_with gsm)
509 + $(use_with gstreamer)
510 + --without-hal
511 + $(use_with jpeg)
512 + $(use_with ldap)
513 + $(use_enable mono mscoree)
514 + $(use_with mp3 mpg123)
515 + $(use_with netapi)
516 + $(use_with nls gettext)
517 + $(use_with openal)
518 + $(use_with opencl)
519 + $(use_with opengl)
520 + $(use_with osmesa)
521 + $(use_with oss)
522 + $(use_with pcap)
523 + $(use_with png)
524 + $(use_with pulseaudio pulse)
525 + $(use_with threads pthread)
526 + $(use_with scanner sane)
527 + $(use_enable test tests)
528 + $(use_with truetype freetype)
529 + $(use_with udev)
530 + $(use_with v4l)
531 + $(use_with X x)
532 + $(use_with X xfixes)
533 + $(use_with xcomposite)
534 + $(use_with xinerama)
535 + $(use_with xml)
536 + $(use_with xml xslt)
537 + )
538 +
539 + use staging && myconf+=(
540 + --with-xattr
541 + $(use_with themes gtk3)
542 + $(use_with vaapi va)
543 + )
544 + use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
545 +
546 + local PKG_CONFIG AR RANLIB
547 + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
548 + # set AR and RANLIB to make QA scripts happy; #483342
549 + tc-export PKG_CONFIG AR RANLIB
550 +
551 + if use amd64; then
552 + if [[ ${ABI} == amd64 ]]; then
553 + myconf+=( --enable-win64 )
554 + else
555 + myconf+=( --disable-win64 )
556 + fi
557 +
558 + # Note: using --with-wine64 results in problems with multilib.eclass
559 + # CC/LD hackery. We're using separate tools instead.
560 + fi
561 +
562 + ECONF_SOURCE=${S} \
563 + econf "${myconf[@]}"
564 + emake depend
565 +}
566 +
567 +multilib_src_test() {
568 + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
569 + if [[ ${ABI} == x86 ]]; then
570 + if [[ $(id -u) == 0 ]]; then
571 + ewarn "Skipping tests since they cannot be run under the root user."
572 + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
573 + return
574 + fi
575 +
576 + WINEPREFIX="${T}/.wine-${ABI}" \
577 + Xemake test
578 + fi
579 +}
580 +
581 +multilib_src_install_all() {
582 + local DOCS=( ANNOUNCE AUTHORS README )
583 + add_locale_docs() {
584 + local locale_doc="documentation/README.$1"
585 + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
586 + }
587 + l10n_for_each_locale_do add_locale_docs
588 +
589 + einstalldocs
590 + prune_libtool_files --all
591 +
592 + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
593 + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
594 + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
595 + fi
596 +
597 + # Remove wineconsole if neither backend is installed #551124
598 + if ! use X && ! use ncurses; then
599 + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
600 + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
601 + rm_wineconsole() {
602 + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
603 + }
604 + multilib_foreach_abi rm_wineconsole
605 + fi
606 +
607 + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
608 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
609 +
610 + if use abi_x86_64 && ! use abi_x86_32; then
611 + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
612 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
613 + fi
614 +
615 + # Failglob for bin and man loops
616 + local glob_state=$(shopt -p failglob)
617 + shopt -s failglob
618 +
619 + # Make wrappers for binaries for handling multiple variants
620 + # Note: wrappers instead of symlinks because some are shell which use basename
621 + local b
622 + for b in "${D%/}${MY_PREFIX}"/bin/*; do
623 + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
624 + done
625 +
626 + # respect LINGUAS when installing man pages, #469418
627 + local l
628 + for l in de fr pl; do
629 + use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
630 + done
631 +
632 + eval "${glob_state}"
633 +}
634 +
635 +pkg_postinst() {
636 + eselect wine register ${P}
637 + if [[ ${PN} == "wine-vanilla" ]]; then
638 + eselect wine register --vanilla ${P} || die
639 + else
640 + if use staging; then
641 + eselect wine register --staging ${P} || die
642 + fi
643 + if use d3d9; then
644 + eselect wine register --d3d9 ${P} || die
645 + fi
646 + fi
647 +
648 + eselect wine update --all --if-unset || die
649 +
650 + xdg_desktop_database_update
651 +
652 + if ! use gecko; then
653 + ewarn "Without Wine Gecko, wine prefixes will not have a default"
654 + ewarn "implementation of iexplore. Many older windows applications"
655 + ewarn "rely upon the existence of an iexplore implementation, so"
656 + ewarn "you will likely need to install an external one, like via winetricks"
657 + fi
658 + if ! use mono; then
659 + ewarn "Without Wine Mono, wine prefixes will not have a default"
660 + ewarn "implementation of .NET. Many windows applications rely upon"
661 + ewarn "the existence of a .NET implementation, so you will likely need"
662 + ewarn "to install an external one, like via winetricks"
663 + fi
664 +}
665 +
666 +pkg_prerm() {
667 + eselect wine deregister ${P}
668 + if [[ ${PN} == "wine-vanilla" ]]; then
669 + eselect wine deregister --vanilla ${P} || die
670 + else
671 + if use staging; then
672 + eselect wine deregister --staging ${P} || die
673 + fi
674 + if use d3d9; then
675 + eselect wine deregister --d3d9 ${P} || die
676 + fi
677 + fi
678 +
679 + eselect wine update --all --if-unset || die
680 +}
681 +
682 +pkg_postrm() {
683 + xdg_desktop_database_update
684 +}