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-vanilla/
Date: Tue, 28 Nov 2017 16:24:31
Message-Id: 1511886252.462081a8c595756c04ba71f3114b19f98851b294.np-hardass@gentoo
1 commit: 462081a8c595756c04ba71f3114b19f98851b294
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 28 15:38:18 2017 +0000
4 Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 28 16:24:12 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=462081a8
7
8 app-emulation/wine-vanilla: Clean old up
9
10 Closes: https://bugs.gentoo.org/638064
11
12 Signed-off-by: NP-Hardass <NP-Hardass <AT> gentoo.org>
13
14 app-emulation/wine-vanilla/Manifest | 26 +-
15 .../wine-vanilla/wine-vanilla-2.0-r1.ebuild | 527 --------------------
16 .../wine-vanilla/wine-vanilla-2.0.1-r1.ebuild | 527 --------------------
17 .../wine-vanilla/wine-vanilla-2.0.1.ebuild | 518 --------------------
18 .../wine-vanilla/wine-vanilla-2.0.2-r1.ebuild | 527 --------------------
19 .../wine-vanilla/wine-vanilla-2.0.3.ebuild | 523 --------------------
20 app-emulation/wine-vanilla/wine-vanilla-2.0.ebuild | 518 --------------------
21 .../wine-vanilla/wine-vanilla-2.1-r1.ebuild | 527 --------------------
22 .../wine-vanilla/wine-vanilla-2.10-r1.ebuild | 529 ---------------------
23 .../wine-vanilla/wine-vanilla-2.11-r1.ebuild | 529 ---------------------
24 .../wine-vanilla/wine-vanilla-2.12-r1.ebuild | 529 ---------------------
25 .../wine-vanilla/wine-vanilla-2.13-r1.ebuild | 529 ---------------------
26 .../wine-vanilla/wine-vanilla-2.14-r1.ebuild | 529 ---------------------
27 .../wine-vanilla/wine-vanilla-2.15-r1.ebuild | 529 ---------------------
28 .../wine-vanilla/wine-vanilla-2.16-r1.ebuild | 529 ---------------------
29 .../wine-vanilla/wine-vanilla-2.17-r1.ebuild | 529 ---------------------
30 .../wine-vanilla/wine-vanilla-2.2-r1.ebuild | 527 --------------------
31 .../wine-vanilla/wine-vanilla-2.3-r1.ebuild | 527 --------------------
32 .../wine-vanilla/wine-vanilla-2.4-r1.ebuild | 527 --------------------
33 .../wine-vanilla/wine-vanilla-2.5-r1.ebuild | 527 --------------------
34 .../wine-vanilla/wine-vanilla-2.6-r1.ebuild | 527 --------------------
35 .../wine-vanilla/wine-vanilla-2.7-r1.ebuild | 527 --------------------
36 .../wine-vanilla/wine-vanilla-2.8-r1.ebuild | 527 --------------------
37 .../wine-vanilla/wine-vanilla-2.9-r1.ebuild | 529 ---------------------
38 24 files changed, 3 insertions(+), 12140 deletions(-)
39
40 diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
41 index 3fac2e2874c..d179e68e660 100644
42 --- a/app-emulation/wine-vanilla/Manifest
43 +++ b/app-emulation/wine-vanilla/Manifest
44 @@ -1,25 +1,5 @@
45 -DIST gentoo-wine-patches-20170830.tar.xz 58456 SHA256 fb7781d0ae360cbc3860c2d2e81527a1b903da824c01f5d5040e95aaf99a3970 SHA512 5e5159e3252b246bba0ef7fdba345db3ab1071c5b8b8b625f98eda18779d4024c5b76bdbf49ce7bd5c6b01b422807adf76820beddb2b4a6ee9e67d13052cc575 WHIRLPOOL a79be264bab3fcdeee06fef47efd28e6e1125254ac7f82300cb6ba2591ef69cd76b5fed8f778b1849a0659e680e9fc785f0273d55cb2ed95648a74dffa5e22d2
46 -DIST wine-2.0.1.tar.xz 18845444 SHA256 6cfb4eaae566dc7afb7ac0f1f2db2c0d69969952acab0debf084ee8f7b071583 SHA512 b32d07443655898768383b7409c21093b60c028fef166a596dad5dfab5a329b9fce4552e612c6d182e4f67eb1f28ed497fe2ed6af55d0000d3e96a124547722d WHIRLPOOL 0fbaf53504e4e40db6227f45f5b92ac388c2bf23d4f573e4d3b60ccaaadeeccb5a696226d1bd4aa8b245f21c8d6a13aac423ead3f4692ebc1e8e613714168501
47 +DIST gentoo-wine-patches-20170830.tar.xz 58456 BLAKE2B 86445a6d91d9981d069ff2fb3b64a47e166c76b4721ef877c74cd60e359ee5bdbe36ebf37cf796a18e9cf42dbc69ce1496777144fc28b072f47c965173bf48b4 SHA512 5e5159e3252b246bba0ef7fdba345db3ab1071c5b8b8b625f98eda18779d4024c5b76bdbf49ce7bd5c6b01b422807adf76820beddb2b4a6ee9e67d13052cc575
48 DIST wine-2.0.2.tar.xz 18854952 SHA256 f71884f539928877f4b415309f582825d3d3c9976104e43d566944c710713c9a SHA512 3f37080a951819304cd3475f6012f1d6b5a94879b137cdf816cac4c8fde68ddc777905e92277ec5dce96437d8c32c43d55d3750b582781a9f9774b118f1a5b90 WHIRLPOOL cf21a899c60749c37353abc4ba974b3d6cc369769ace70fde899ff1cb5ac8a97828165cf2dbfbcf0915f5196ac58974948fe3e5b2c9854296a5eea75f8023ae5
49 -DIST wine-2.0.3.tar.xz 18864648 SHA256 a811c664f870a3a01449443a93a6fcee41aea2e912e58f72742eb7924962be56 SHA512 e20dbcb3a48ecb3526eba075d4baebab2529dfc50b7a6d5e18294704470f61db386013f457118c270274b911f9643d203110f46558d23e84e6a6c2d78e237dbb WHIRLPOOL 36928e816b6e4dec2173c424042c3e9da83be4a8fb3847bc90606d92858c66d4f1f41d4e1477d797e19d955d21a01710f1c3149f72da7011fae186705529f29c
50 -DIST wine-2.0.tar.bz2 23662707 SHA256 9756f5a2129b6a83ba701e546173cbff86caa671b0af73eb8f72c03b20c066c6 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 WHIRLPOOL fa9f774d87dae73c7d1f3b86dc3b03ea27065eb6140f1cac13c82fe16f7ebff8f8365ed447220cf5c2788b9f4aae7c482e4f9e2e69f47e5435209e148f5dbdfe
51 -DIST wine-2.1.tar.xz 18887032 SHA256 bfb9abf63691c93df28d9599aaa866dc2b4e27209b3b7b546df8a37d7d9d1e6e SHA512 03d678ee6e89c2804813f2827255fcf59e96ca9a45b7d8ac441cfc84f835e5e5689c70a79a41a04c631e1add7807fa4a5758acef3bd7aadfb2e92e68958c6ef6 WHIRLPOOL 063d935f1ff0922100641f2f53cdac23d2993a83182d45e028e485fd7d0a13bc5cfb77bca76550b1537b3f42fecacef7fd64785adbf6425af823f56f96973b54
52 -DIST wine-2.10.tar.xz 19209580 SHA256 488df7ffd2e81da455bf428fc9eb784bb4273a890334500895665711bd52f179 SHA512 8807e16a571bf45d99097ad5fdfb9fe755f6dbe84010a330fed82f1d48c76b7f19589bfc0e5dde0b9e49a608fd0501db3f7e3e129e4d9d34bcae03bc51a73139 WHIRLPOOL e9a8248aac31593fbac28a3d8d4e62bfce14a7c41cc416ebfca8606518d28efd31b32196133da211f75f48bd228bd5d21fcbbc0479293e813ed99b258b37126e
53 -DIST wine-2.11.tar.xz 19251116 SHA256 efa96dade206aa21accf0da195335a805d38209d6a14320607c6308ebde4cc3c SHA512 691f329c47af5e51498287029988b8ca0777bfc3902ed80fd315004aba2337a938e79177e752efe86423c9b34544df3952b8c443bf43149356575fac75a779ac WHIRLPOOL 4933e1ce640b0abeebccd6969b5eaf4eec76cd135d9cfc1d904a902219f776a68f72e2bd1ae9019d69f0d0d81fd8ead0084785d1b9710590349365977f9c1817
54 -DIST wine-2.12.tar.xz 19301968 SHA256 496c11af841487e6ec4e1953ac19b05a7f48e397da502653ffbd9fe9004213a7 SHA512 d44c1937d7d2d797150381f70317b810616d61355a59be096366d3507f59b678cffaf6d841cecf02bf9d2afa3dbf4d19270f80fb1d3ba5f0f93787d40c328f62 WHIRLPOOL 6f4b9baa6fcfe86f3d195fe603c2b9450a72a593c8f7042959b42a76880cb4ae680fde7beb70a8e823150849fda36c42985035de891ebf0088c8ffc2bceb15bf
55 -DIST wine-2.13.tar.xz 19439328 SHA256 6fbca3ddd19b061ce65a267639efae93cf38cfabbe4a9c148a17a44703587ef8 SHA512 71873b9ec1605dd5f7502b87b0f3429c3d14a4196543d7304df455854b58ef82b8fafdcea91450cbfc01434a44886a0e0c4c4cf289ffb53167dde0f969cddc48 WHIRLPOOL 6faf1e6aeea2ab7ccc496ed85834f98eb25111c8f541c24d4876a142ad4acf7d9a4c08c2716e11fb6c92fe7aad29980cab912eb9dbb6759bdbdeca2f2f8e78a7
56 -DIST wine-2.14.tar.xz 19447812 SHA256 03f934d95181f728600ca04d395f10e821ee38cfa31655e872e4d27d2a8795c6 SHA512 ff43d386d46c0c74449e667b61d8cebd5fa768c88e6220aa2f13df03d80b71b6c0bdf8cbab023aed96f7c88b9787a3be4989da892fa1778412534ae82a7279bb WHIRLPOOL 2d2784e1b2ddeac39a3cea4cb08a62d99d1d062d8d801874e8bf4f56d2538a4cb019418c60299556548028e2362dd533d9ea0956014a65ac7a367ed489c0c392
57 -DIST wine-2.15.tar.xz 19463720 SHA256 d82d500cbf81fb08c711d3619bd52373138a05574d044f089af89707274868b3 SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 WHIRLPOOL 99c9497a44859ce310c764b3cd172d83ca1a2dce13633fee930ddbf1c40651ee4470f6bc9cfcb407ce65298a2afd73dc9edc536c2ba6f076631e5cf2085b8e61
58 -DIST wine-2.16.tar.xz 19484716 SHA256 a561edcabecd6c44948e5b2ef11941b2ba047275240418fa2c98c1fdceda2c21 SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 WHIRLPOOL 92ae0a427d89b24d41d4565e333cf3b7499c1dfedb6d2a204f934975c35cb589d38b4f669890c1fd6a37b9fe8f34d98be3e7d0986e9ff99516fe00a004574520
59 -DIST wine-2.17.tar.xz 19505528 SHA256 7edc95739043ccc55957af663fb910318283dc5d1db42cd7f0224e30acfcea69 SHA512 cb10c876e689aa601c68673aab32c0514dd174692a01bdb3afc78d5e6079b0e77f48783af2f54245f397c762da3b4e5f2c1d39d2ce7fdb3b117d338b95c24810 WHIRLPOOL 196427a68ab3b1261cb63bafd7f82b7a688ad439fa82ae3fc04b18c9da14cc8e95b827ca8ddd07124e1179c55ed0e0aba3bdcb4639b724a6dacf4952e8827e16
60 DIST wine-2.18.tar.xz 19546360 SHA256 9f0931129878157d717cb39f16cd33bf49f40aac77331c93d0ad30f2ccac4f50 SHA512 61cc39fa3d2b0a0ab3c5d17579865e6aea76dd9513a4b3c45975a2d5c05f2b4ba952b97eef547131a014763c7f692a08df29bc2ebf7e4ac7e2616e6a7822ddb9 WHIRLPOOL e864dd1705c0480d3f3095aa02ab1e7bc5b41693cd6b791cdf05e636c7099562020ac3adcba6421653efdf5dbe232b5abe9071792785e008ea30dedbb63e080e
61 -DIST wine-2.19.tar.xz 19549464 SHA256 487131e69875ae9c2d042798f954160146e603e449c3c97981f29b42f4a66095 SHA512 83558231bdc592b1f69cfedf6c689063df7bd9fecdfafba6fb7f6a2c7fa7783973efb85a6a49305afc18b1aa268209ee5b9c0655756e05d7550468698dfa51ae WHIRLPOOL 123aec3a367e67353655d940ba2ffe9386a583afbd0961dd3f446a00b0cf82ad4ed590508e03bf2a4e60b11753f8f430e748e6614f476675423f3bdaf7089288
62 -DIST wine-2.2.tar.xz 18916364 SHA256 64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 WHIRLPOOL ffc3d357a76592651b589c6ac6608720d0258474890faf8fe3e20ac29cdd1496d569721256f9389d347bf2734a556099154fd18ef1b56f45bb46c4c15771d6ca
63 -DIST wine-2.20.tar.xz 19597556 SHA256 b444826c69048932fd51ac00b791d18528a4d4abd4c397e5bd51ac60eda455a5 SHA512 d8d374d1e690ce9d3964fc81054fb7f4cd56cbae6bc44ebbf80b7dc7f04524baa2bd831e0be8f00de4cb0e14c1cb71780d424f5dcb9851fcaed9fb22f5ce5d23 WHIRLPOOL c5cfc20efdbb2a43433e93ffde8fe28507b1ad255d54cae36bf0268b18a629876b306127610bce298a47fa3fb8884ee902fd2ae41e22897d954383f0c5cd5bae
64 -DIST wine-2.3.tar.xz 18931732 SHA256 afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 WHIRLPOOL 1f5ec8e5c32d124277e4c71d95726d3a5337575757c3029567c77165d65fcfec2ddf33d3863b4bf55c9eff7c3582c1ec7dbd76d84ed8bbbe89dd16db6b0128c1
65 -DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0df8b36b9f90b69b72748e SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 WHIRLPOOL 558ab7b7517ad5e03366b4db974047eba776585e958a5b71bb2e93993e21bc725ea7a8bcf2a4354f34ca38c94ba99ccd15f2f8b5e4b58066bf339d3517eec56c
66 -DIST wine-2.5.tar.xz 18993176 SHA256 13f92b7ab483323aaabbc6519851e688ad4372ea30569961c831d40d6d3bccd2 SHA512 7b6faf6d8aa3d41465ad93ebae055581136f736c7eb8b4c61682e5a05589c83a0ff2c85e0f9abbca016f31b6f1c1435617c4994f1913f715a8707ebee3f28467 WHIRLPOOL 5acd2ac65df5dee1c860ddca72b8df8e021a0b95a3a1870d15468ce4591d569fa15bf8a0a6d341bcd3a624d13d0affe5b0263e67f9dfcbbf3ae7b59218dcded9
67 -DIST wine-2.6.tar.xz 19023352 SHA256 e6ff64758f437647e99a36c1275e41adf54f0432907172d3bba22b070a97aac0 SHA512 2aa55413ac090e011725566d004e42ee46323cd4c6961b9faa63e3de422ba60bb657bf224a4d7e8aa712a8e26e11977d07acb7c088ffeef8c37310e8cc698970 WHIRLPOOL 82e6a06cc342c7d6eace64a97bae10cc39c120c5776170b059700542b8b6fef56be9a697f05b3bc21ae82621f4bf50f3ab478311c9a3a55d86ed7c0a009766b0
68 -DIST wine-2.7.tar.xz 19101108 SHA256 e55a43088e313c45f7ab49272b7cb441c06f5659fb4220b2325dc060db0ee14c SHA512 1e61b9a4aa1f5f42fb27d11d5254a9ba90f348ad9c4d1ddd4b5da47cd7de638290a20accf7447db9c0e4ced4c2144497cdf5fc906a5eac60e923dabb61f65d3a WHIRLPOOL 133426a0313facc856eebad3d16d199948b780ce4c4561e5784845c119fe462b8942ed86fa5e823e729a997d704bd3c70f44a64ce3eef965b4f3eb92587dfa4d
69 -DIST wine-2.8.tar.xz 19120740 SHA256 83e9607af66d86020dc27a368ebba28fa7e8ffecfdf8f149da06b3531ac3e579 SHA512 4d0b167b1e5add31ed0ed05b328d16fc13cd268285c03a9100e7ddc53864aa07f6b216a555ef0c2e51dee550e3f4abf0c7c20db2cbca177bb38e8c3e11f05b97 WHIRLPOOL 568cf46caf7322eb5e26b364bd15f9e80c41a65340952a1ee0fa80514bbee3c5adfa72af40809a978a5d4202f5e8d3da3e4581767bab9fa08ab441cdd5d1da31
70 -DIST wine-2.9.tar.xz 19154668 SHA256 ac46f7bbbbc1dc135c95e4f98d28bf6e3d7a78fb7f9ba6caa7354a3e8786545f SHA512 6d06e511d8f338297ed0ddb7bf2ffb501f528209eaecbbee3d4e5d53db649dd5ea0aeb78bba661a9bcfda5f97e170ca10eb8fab355e229bfe7db6a5feb7ec4e8 WHIRLPOOL 7355166aeaac54abb6e1d25da6f87a4814d37764044e95462bc2a83f8d5a9b7a3bb10730bb5506516e130a4fc9ee35e3656d1106939bbbc1310c6aff0d798a1c
71 +DIST wine-2.19.tar.xz 19549464 BLAKE2B 86d130cc43d7d674d2f478365952962b2792fd585b8d074564108bc7e9f4f7690337e4758b9a24e54fe8fd60187d3a96496a5ffc454ba674b02ecdde68efd3bb SHA512 83558231bdc592b1f69cfedf6c689063df7bd9fecdfafba6fb7f6a2c7fa7783973efb85a6a49305afc18b1aa268209ee5b9c0655756e05d7550468698dfa51ae
72 +DIST wine-2.20.tar.xz 19597556 BLAKE2B 80a9886fa77e5788b143521288f7d83c92754610c9426e58c759d2c33767bd23f7d2a44a17ceeec0bfe9065264393e0aa1087a0827ea7d438ffd938ba2eb2fb5 SHA512 d8d374d1e690ce9d3964fc81054fb7f4cd56cbae6bc44ebbf80b7dc7f04524baa2bd831e0be8f00de4cb0e14c1cb71780d424f5dcb9851fcaed9fb22f5ce5d23
73
74 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0-r1.ebuild
75 deleted file mode 100644
76 index d9e20bebdf6..00000000000
77 --- a/app-emulation/wine-vanilla/wine-vanilla-2.0-r1.ebuild
78 +++ /dev/null
79 @@ -1,527 +0,0 @@
80 -# Copyright 1999-2017 Gentoo Foundation
81 -# Distributed under the terms of the GNU General Public License v2
82 -
83 -EAPI=6
84 -
85 -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"
86 -PLOCALE_BACKUP="en"
87 -
88 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
89 -
90 -MY_PN="${PN%%-*}"
91 -MY_P="${MY_PN}-${PV}"
92 -
93 -if [[ ${PV} == "9999" ]] ; then
94 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
95 - EGIT_BRANCH="master"
96 - inherit git-r3
97 - SRC_URI=""
98 - #KEYWORDS=""
99 -else
100 - MAJOR_V=$(get_version_component_range 1)
101 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.bz2"
102 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
103 -fi
104 -S="${WORKDIR}/${MY_P}"
105 -
106 -GWP_V="20170830"
107 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
108 -
109 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
110 -HOMEPAGE="https://www.winehq.org/"
111 -SRC_URI="${SRC_URI}
112 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
113 -"
114 -
115 -LICENSE="LGPL-2.1"
116 -SLOT="${PV}"
117 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
118 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
119 - X? ( truetype )
120 - elibc_glibc? ( threads )
121 - osmesa? ( opengl )
122 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
123 -
124 -# FIXME: the test suite is unsuitable for us; many tests require net access
125 -# or fail due to Xvfb's opengl limitations.
126 -RESTRICT="test"
127 -
128 -COMMON_DEPEND="
129 - X? (
130 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
131 - x11-libs/libXext[${MULTILIB_USEDEP}]
132 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
133 - x11-libs/libXi[${MULTILIB_USEDEP}]
134 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
135 - )
136 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
137 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
138 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
139 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
140 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
141 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
142 - gstreamer? (
143 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
144 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
145 - )
146 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
147 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
148 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
149 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
150 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
151 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
152 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
153 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
154 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
155 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
156 - opengl? (
157 - virtual/glu[${MULTILIB_USEDEP}]
158 - virtual/opengl[${MULTILIB_USEDEP}]
159 - )
160 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
161 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
162 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
163 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
164 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
165 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
166 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
167 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
168 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
169 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
170 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
171 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
172 - xml? (
173 - dev-libs/libxml2[${MULTILIB_USEDEP}]
174 - dev-libs/libxslt[${MULTILIB_USEDEP}]
175 - )
176 - abi_x86_32? (
177 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
178 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
179 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
180 - !<app-emulation/emul-linux-x86-db-20140508-r3
181 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
182 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
183 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
184 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
185 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
186 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
187 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
188 - !<app-emulation/emul-linux-x86-soundlibs-20140508
189 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
190 - !<app-emulation/emul-linux-x86-xlibs-20140508
191 - )"
192 -
193 -RDEPEND="${COMMON_DEPEND}
194 - app-emulation/wine-desktop-common
195 - >app-eselect/eselect-wine-0.3
196 - !app-emulation/wine:0
197 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
198 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
199 - mono? ( app-emulation/wine-mono:4.6.4 )
200 - perl? (
201 - dev-lang/perl
202 - dev-perl/XML-Simple
203 - )
204 - pulseaudio? (
205 - realtime? ( sys-auth/rtkit )
206 - )
207 - samba? ( >=net-fs/samba-3.0.25[winbind] )
208 - selinux? ( sec-policy/selinux-wine )
209 - udisks? ( sys-fs/udisks:2 )"
210 -
211 -# tools/make_requests requires perl
212 -DEPEND="${COMMON_DEPEND}
213 - sys-devel/flex
214 - >=sys-kernel/linux-headers-2.6
215 - virtual/pkgconfig
216 - virtual/yacc
217 - X? (
218 - x11-proto/inputproto
219 - x11-proto/xextproto
220 - x11-proto/xf86vidmodeproto
221 - )
222 - prelink? ( sys-devel/prelink )
223 - xinerama? ( x11-proto/xineramaproto )"
224 -
225 -# These use a non-standard "Wine" category, which is provided by
226 -# /etc/xdg/applications-merged/wine.menu
227 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
228 -usr/share/applications/wine-notepad.desktop
229 -usr/share/applications/wine-uninstaller.desktop
230 -usr/share/applications/wine-winecfg.desktop"
231 -
232 -PATCHES=(
233 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
234 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
235 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
236 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
237 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
238 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
239 -)
240 -PATCHES_BIN=(
241 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
242 -)
243 -
244 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
245 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
246 - DEPEND+=" dev-util/patchbin"
247 -fi
248 -
249 -wine_compiler_check() {
250 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
251 -
252 - # GCC-specific bugs
253 - if tc-is-gcc; then
254 - # bug #549768
255 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
256 - ebegin "Checking for gcc-5 ms_abi compiler bug"
257 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
258 - # Run in subshell to prevent "Aborted" message
259 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
260 - if ! eend $?; then
261 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
262 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
263 - eerror "or use gcc-config to select a different compiler version."
264 - eerror "See https://bugs.gentoo.org/549768"
265 - eerror
266 - return 1
267 - fi
268 - fi
269 - # bug #574044
270 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
271 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
272 - # Compile in subshell to prevent "Aborted" message
273 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
274 - if ! eend $?; then
275 - eerror "Wine cannot be built with this version of gcc-5.3"
276 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
277 - eerror "or use gcc-config to select a different compiler version."
278 - eerror "See https://bugs.gentoo.org/574044"
279 - eerror
280 - return 1
281 - fi
282 - fi
283 - fi
284 -
285 - # Ensure compiler support
286 - if use abi_x86_64; then
287 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
288 - # Compile in subshell to prevent "Aborted" message
289 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
290 - if ! eend $?; then
291 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
292 - eerror
293 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
294 - eerror
295 - return 1
296 - fi
297 - fi
298 -}
299 -
300 -wine_build_environment_check() {
301 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
302 -
303 - if use abi_x86_64; then
304 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
305 - eerror "You need gcc-4.4+ to compile 64-bit wine"
306 - die
307 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
308 - eerror "You need clang-3.8+ to compile 64-bit wine"
309 - die
310 - fi
311 - fi
312 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
313 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
314 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
315 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
316 - fi
317 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
318 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
319 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
320 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
321 - ewarn "See package.env in man 5 portage for more information on how to do this."
322 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
323 - fi
324 - fi
325 -
326 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
327 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
328 - eerror "See https://bugs.gentoo.org/487864 for more details."
329 - eerror
330 - return 1
331 - fi
332 -}
333 -
334 -wine_env_vcs_vars() {
335 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
336 - local pn_live_val="${pn_live_var}"
337 - eval pn_live_val='$'${pn_live_val}
338 - if [[ ! -z ${EGIT_COMMIT} ]]; then
339 - eerror "Commits must now be specified using the environmental variables"
340 - eerror "WINE_COMMIT"
341 - eerror
342 - return 1
343 - fi
344 -}
345 -
346 -pkg_pretend() {
347 - wine_build_environment_check || die
348 -
349 - # Verify OSS support
350 - if use oss && ! use kernel_FreeBSD; then
351 - if ! has_version ">=media-sound/oss-4"; then
352 - eerror "You cannot build wine with USE=oss without having support from a"
353 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
354 - eerror
355 - die
356 - fi
357 - fi
358 -}
359 -
360 -pkg_setup() {
361 - wine_build_environment_check || die
362 - wine_env_vcs_vars || die
363 -
364 - WINE_VARIANT="${PN#wine}-${PV}"
365 - WINE_VARIANT="${WINE_VARIANT#-}"
366 -
367 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
368 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
369 - MY_DATADIR="${MY_DATAROOTDIR}"
370 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
371 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
372 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
373 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
374 - MY_MANDIR="${MY_DATADIR}/man"
375 -}
376 -
377 -src_unpack() {
378 - if [[ ${PV} == "9999" ]] ; then
379 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
380 - fi
381 -
382 - default
383 -
384 - l10n_find_plocales_changes "${S}/po" "" ".po"
385 -}
386 -
387 -src_prepare() {
388 -
389 - eapply_bin(){
390 - local patch
391 - for patch in ${PATCHES_BIN[@]}; do
392 - patchbin --nogit < "${patch}" || die
393 - done
394 - }
395 -
396 - local md5="$(md5sum server/protocol.def)"
397 -
398 - default
399 - eapply_bin
400 - eautoreconf
401 -
402 - # Modification of the server protocol requires regenerating the server requests
403 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
404 - einfo "server/protocol.def was patched; running tools/make_requests"
405 - tools/make_requests || die #432348
406 - fi
407 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
408 - if ! use run-exes; then
409 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
410 - fi
411 -
412 - # Edit wine.desktop to work for specific variant
413 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
414 -
415 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
416 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
417 -
418 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
419 -}
420 -
421 -src_configure() {
422 - wine_compiler_check || die
423 -
424 - export LDCONFIG=/bin/true
425 - use custom-cflags || strip-flags
426 -
427 - multilib-minimal_src_configure
428 -}
429 -
430 -multilib_src_configure() {
431 - local myconf=(
432 - --prefix="${MY_PREFIX}"
433 - --datarootdir="${MY_DATAROOTDIR}"
434 - --datadir="${MY_DATADIR}"
435 - --docdir="${MY_DOCDIR}"
436 - --includedir="${MY_INCLUDEDIR}"
437 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
438 - --libexecdir="${MY_LIBEXECDIR}"
439 - --localstatedir="${MY_LOCALSTATEDIR}"
440 - --mandir="${MY_MANDIR}"
441 - --sysconfdir=/etc/wine
442 - $(use_with alsa)
443 - $(use_with capi)
444 - $(use_with lcms cms)
445 - $(use_with cups)
446 - $(use_with ncurses curses)
447 - $(use_with udisks dbus)
448 - $(use_with fontconfig)
449 - $(use_with ssl gnutls)
450 - $(use_enable gecko mshtml)
451 - $(use_with gphoto2 gphoto)
452 - $(use_with gsm)
453 - $(use_with gstreamer)
454 - --without-hal
455 - $(use_with jpeg)
456 - $(use_with ldap)
457 - $(use_enable mono mscoree)
458 - $(use_with mp3 mpg123)
459 - $(use_with netapi)
460 - $(use_with nls gettext)
461 - $(use_with openal)
462 - $(use_with opencl)
463 - $(use_with opengl)
464 - $(use_with osmesa)
465 - $(use_with oss)
466 - $(use_with pcap)
467 - $(use_with png)
468 - $(use_with pulseaudio pulse)
469 - $(use_with threads pthread)
470 - $(use_with scanner sane)
471 - $(use_enable test tests)
472 - $(use_with truetype freetype)
473 - $(use_with udev)
474 - $(use_with v4l)
475 - $(use_with X x)
476 - $(use_with xcomposite)
477 - $(use_with xinerama)
478 - $(use_with xml)
479 - $(use_with xml xslt)
480 - )
481 -
482 - local PKG_CONFIG AR RANLIB
483 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
484 - # set AR and RANLIB to make QA scripts happy; #483342
485 - tc-export PKG_CONFIG AR RANLIB
486 -
487 - if use amd64; then
488 - if [[ ${ABI} == amd64 ]]; then
489 - myconf+=( --enable-win64 )
490 - else
491 - myconf+=( --disable-win64 )
492 - fi
493 -
494 - # Note: using --with-wine64 results in problems with multilib.eclass
495 - # CC/LD hackery. We're using separate tools instead.
496 - fi
497 -
498 - ECONF_SOURCE=${S} \
499 - econf "${myconf[@]}"
500 - emake depend
501 -}
502 -
503 -multilib_src_test() {
504 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
505 - if [[ ${ABI} == x86 ]]; then
506 - if [[ $(id -u) == 0 ]]; then
507 - ewarn "Skipping tests since they cannot be run under the root user."
508 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
509 - return
510 - fi
511 -
512 - WINEPREFIX="${T}/.wine-${ABI}" \
513 - Xemake test
514 - fi
515 -}
516 -
517 -multilib_src_install_all() {
518 - local DOCS=( ANNOUNCE AUTHORS README )
519 - add_locale_docs() {
520 - local locale_doc="documentation/README.$1"
521 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
522 - }
523 - l10n_for_each_locale_do add_locale_docs
524 -
525 - einstalldocs
526 - prune_libtool_files --all
527 -
528 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
529 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
530 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
531 - fi
532 -
533 - # Remove wineconsole if neither backend is installed #551124
534 - if ! use X && ! use ncurses; then
535 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
536 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
537 - rm_wineconsole() {
538 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
539 - }
540 - multilib_foreach_abi rm_wineconsole
541 - fi
542 -
543 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
544 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
545 -
546 - if use abi_x86_64 && ! use abi_x86_32; then
547 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
548 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
549 - fi
550 -
551 - # Failglob for bin and man loops
552 - local glob_state=$(shopt -p failglob)
553 - shopt -s failglob
554 -
555 - # Make wrappers for binaries for handling multiple variants
556 - # Note: wrappers instead of symlinks because some are shell which use basename
557 - local b
558 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
559 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
560 - done
561 -
562 - # respect LINGUAS when installing man pages, #469418
563 - local l
564 - for l in de fr pl; do
565 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
566 - done
567 -
568 - eval "${glob_state}"
569 -}
570 -
571 -pkg_postinst() {
572 - eselect wine register ${P}
573 - if [[ ${PN} == "wine-vanilla" ]]; then
574 - eselect wine register --vanilla ${P} || die
575 - fi
576 -
577 - eselect wine update --all --if-unset || die
578 -
579 - xdg_desktop_database_update
580 -
581 - if ! use gecko; then
582 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
583 - ewarn "implementation of iexplore. Many older windows applications"
584 - ewarn "rely upon the existence of an iexplore implementation, so"
585 - ewarn "you will likely need to install an external one, like via winetricks"
586 - fi
587 - if ! use mono; then
588 - ewarn "Without Wine Mono, wine prefixes will not have a default"
589 - ewarn "implementation of .NET. Many windows applications rely upon"
590 - ewarn "the existence of a .NET implementation, so you will likely need"
591 - ewarn "to install an external one, like via winetricks"
592 - fi
593 -}
594 -
595 -pkg_prerm() {
596 - eselect wine deregister ${P}
597 - if [[ ${PN} == "wine-vanilla" ]]; then
598 - eselect wine deregister --vanilla ${P} || die
599 - fi
600 -
601 - eselect wine update --all --if-unset || die
602 -}
603 -
604 -pkg_postrm() {
605 - xdg_desktop_database_update
606 -}
607
608 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.1-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.1-r1.ebuild
609 deleted file mode 100644
610 index 0a297502ec6..00000000000
611 --- a/app-emulation/wine-vanilla/wine-vanilla-2.0.1-r1.ebuild
612 +++ /dev/null
613 @@ -1,527 +0,0 @@
614 -# Copyright 1999-2017 Gentoo Foundation
615 -# Distributed under the terms of the GNU General Public License v2
616 -
617 -EAPI=6
618 -
619 -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"
620 -PLOCALE_BACKUP="en"
621 -
622 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
623 -
624 -MY_PN="${PN%%-*}"
625 -MY_P="${MY_PN}-${PV}"
626 -
627 -if [[ ${PV} == "9999" ]] ; then
628 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
629 - EGIT_BRANCH="master"
630 - inherit git-r3
631 - SRC_URI=""
632 - #KEYWORDS=""
633 -else
634 - MAJOR_V=$(get_version_component_range 1)
635 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz"
636 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
637 -fi
638 -S="${WORKDIR}/${MY_P}"
639 -
640 -GWP_V="20170830"
641 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
642 -
643 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
644 -HOMEPAGE="https://www.winehq.org/"
645 -SRC_URI="${SRC_URI}
646 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
647 -"
648 -
649 -LICENSE="LGPL-2.1"
650 -SLOT="${PV}"
651 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
652 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
653 - X? ( truetype )
654 - elibc_glibc? ( threads )
655 - osmesa? ( opengl )
656 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
657 -
658 -# FIXME: the test suite is unsuitable for us; many tests require net access
659 -# or fail due to Xvfb's opengl limitations.
660 -RESTRICT="test"
661 -
662 -COMMON_DEPEND="
663 - X? (
664 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
665 - x11-libs/libXext[${MULTILIB_USEDEP}]
666 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
667 - x11-libs/libXi[${MULTILIB_USEDEP}]
668 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
669 - )
670 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
671 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
672 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
673 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
674 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
675 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
676 - gstreamer? (
677 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
678 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
679 - )
680 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
681 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
682 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
683 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
684 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
685 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
686 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
687 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
688 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
689 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
690 - opengl? (
691 - virtual/glu[${MULTILIB_USEDEP}]
692 - virtual/opengl[${MULTILIB_USEDEP}]
693 - )
694 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
695 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
696 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
697 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
698 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
699 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
700 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
701 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
702 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
703 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
704 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
705 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
706 - xml? (
707 - dev-libs/libxml2[${MULTILIB_USEDEP}]
708 - dev-libs/libxslt[${MULTILIB_USEDEP}]
709 - )
710 - abi_x86_32? (
711 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
712 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
713 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
714 - !<app-emulation/emul-linux-x86-db-20140508-r3
715 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
716 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
717 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
718 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
719 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
720 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
721 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
722 - !<app-emulation/emul-linux-x86-soundlibs-20140508
723 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
724 - !<app-emulation/emul-linux-x86-xlibs-20140508
725 - )"
726 -
727 -RDEPEND="${COMMON_DEPEND}
728 - app-emulation/wine-desktop-common
729 - >app-eselect/eselect-wine-0.3
730 - !app-emulation/wine:0
731 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
732 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
733 - mono? ( app-emulation/wine-mono:4.6.4 )
734 - perl? (
735 - dev-lang/perl
736 - dev-perl/XML-Simple
737 - )
738 - pulseaudio? (
739 - realtime? ( sys-auth/rtkit )
740 - )
741 - samba? ( >=net-fs/samba-3.0.25[winbind] )
742 - selinux? ( sec-policy/selinux-wine )
743 - udisks? ( sys-fs/udisks:2 )"
744 -
745 -# tools/make_requests requires perl
746 -DEPEND="${COMMON_DEPEND}
747 - sys-devel/flex
748 - >=sys-kernel/linux-headers-2.6
749 - virtual/pkgconfig
750 - virtual/yacc
751 - X? (
752 - x11-proto/inputproto
753 - x11-proto/xextproto
754 - x11-proto/xf86vidmodeproto
755 - )
756 - prelink? ( sys-devel/prelink )
757 - xinerama? ( x11-proto/xineramaproto )"
758 -
759 -# These use a non-standard "Wine" category, which is provided by
760 -# /etc/xdg/applications-merged/wine.menu
761 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
762 -usr/share/applications/wine-notepad.desktop
763 -usr/share/applications/wine-uninstaller.desktop
764 -usr/share/applications/wine-winecfg.desktop"
765 -
766 -PATCHES=(
767 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
768 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
769 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
770 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
771 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
772 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
773 -)
774 -PATCHES_BIN=(
775 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
776 -)
777 -
778 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
779 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
780 - DEPEND+=" dev-util/patchbin"
781 -fi
782 -
783 -wine_compiler_check() {
784 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
785 -
786 - # GCC-specific bugs
787 - if tc-is-gcc; then
788 - # bug #549768
789 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
790 - ebegin "Checking for gcc-5 ms_abi compiler bug"
791 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
792 - # Run in subshell to prevent "Aborted" message
793 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
794 - if ! eend $?; then
795 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
796 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
797 - eerror "or use gcc-config to select a different compiler version."
798 - eerror "See https://bugs.gentoo.org/549768"
799 - eerror
800 - return 1
801 - fi
802 - fi
803 - # bug #574044
804 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
805 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
806 - # Compile in subshell to prevent "Aborted" message
807 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
808 - if ! eend $?; then
809 - eerror "Wine cannot be built with this version of gcc-5.3"
810 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
811 - eerror "or use gcc-config to select a different compiler version."
812 - eerror "See https://bugs.gentoo.org/574044"
813 - eerror
814 - return 1
815 - fi
816 - fi
817 - fi
818 -
819 - # Ensure compiler support
820 - if use abi_x86_64; then
821 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
822 - # Compile in subshell to prevent "Aborted" message
823 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
824 - if ! eend $?; then
825 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
826 - eerror
827 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
828 - eerror
829 - return 1
830 - fi
831 - fi
832 -}
833 -
834 -wine_build_environment_check() {
835 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
836 -
837 - if use abi_x86_64; then
838 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
839 - eerror "You need gcc-4.4+ to compile 64-bit wine"
840 - die
841 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
842 - eerror "You need clang-3.8+ to compile 64-bit wine"
843 - die
844 - fi
845 - fi
846 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
847 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
848 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
849 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
850 - fi
851 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
852 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
853 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
854 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
855 - ewarn "See package.env in man 5 portage for more information on how to do this."
856 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
857 - fi
858 - fi
859 -
860 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
861 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
862 - eerror "See https://bugs.gentoo.org/487864 for more details."
863 - eerror
864 - return 1
865 - fi
866 -}
867 -
868 -wine_env_vcs_vars() {
869 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
870 - local pn_live_val="${pn_live_var}"
871 - eval pn_live_val='$'${pn_live_val}
872 - if [[ ! -z ${EGIT_COMMIT} ]]; then
873 - eerror "Commits must now be specified using the environmental variables"
874 - eerror "WINE_COMMIT"
875 - eerror
876 - return 1
877 - fi
878 -}
879 -
880 -pkg_pretend() {
881 - wine_build_environment_check || die
882 -
883 - # Verify OSS support
884 - if use oss && ! use kernel_FreeBSD; then
885 - if ! has_version ">=media-sound/oss-4"; then
886 - eerror "You cannot build wine with USE=oss without having support from a"
887 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
888 - eerror
889 - die
890 - fi
891 - fi
892 -}
893 -
894 -pkg_setup() {
895 - wine_build_environment_check || die
896 - wine_env_vcs_vars || die
897 -
898 - WINE_VARIANT="${PN#wine}-${PV}"
899 - WINE_VARIANT="${WINE_VARIANT#-}"
900 -
901 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
902 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
903 - MY_DATADIR="${MY_DATAROOTDIR}"
904 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
905 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
906 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
907 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
908 - MY_MANDIR="${MY_DATADIR}/man"
909 -}
910 -
911 -src_unpack() {
912 - if [[ ${PV} == "9999" ]] ; then
913 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
914 - fi
915 -
916 - default
917 -
918 - l10n_find_plocales_changes "${S}/po" "" ".po"
919 -}
920 -
921 -src_prepare() {
922 -
923 - eapply_bin(){
924 - local patch
925 - for patch in ${PATCHES_BIN[@]}; do
926 - patchbin --nogit < "${patch}" || die
927 - done
928 - }
929 -
930 - local md5="$(md5sum server/protocol.def)"
931 -
932 - default
933 - eapply_bin
934 - eautoreconf
935 -
936 - # Modification of the server protocol requires regenerating the server requests
937 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
938 - einfo "server/protocol.def was patched; running tools/make_requests"
939 - tools/make_requests || die #432348
940 - fi
941 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
942 - if ! use run-exes; then
943 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
944 - fi
945 -
946 - # Edit wine.desktop to work for specific variant
947 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
948 -
949 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
950 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
951 -
952 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
953 -}
954 -
955 -src_configure() {
956 - wine_compiler_check || die
957 -
958 - export LDCONFIG=/bin/true
959 - use custom-cflags || strip-flags
960 -
961 - multilib-minimal_src_configure
962 -}
963 -
964 -multilib_src_configure() {
965 - local myconf=(
966 - --prefix="${MY_PREFIX}"
967 - --datarootdir="${MY_DATAROOTDIR}"
968 - --datadir="${MY_DATADIR}"
969 - --docdir="${MY_DOCDIR}"
970 - --includedir="${MY_INCLUDEDIR}"
971 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
972 - --libexecdir="${MY_LIBEXECDIR}"
973 - --localstatedir="${MY_LOCALSTATEDIR}"
974 - --mandir="${MY_MANDIR}"
975 - --sysconfdir=/etc/wine
976 - $(use_with alsa)
977 - $(use_with capi)
978 - $(use_with lcms cms)
979 - $(use_with cups)
980 - $(use_with ncurses curses)
981 - $(use_with udisks dbus)
982 - $(use_with fontconfig)
983 - $(use_with ssl gnutls)
984 - $(use_enable gecko mshtml)
985 - $(use_with gphoto2 gphoto)
986 - $(use_with gsm)
987 - $(use_with gstreamer)
988 - --without-hal
989 - $(use_with jpeg)
990 - $(use_with ldap)
991 - $(use_enable mono mscoree)
992 - $(use_with mp3 mpg123)
993 - $(use_with netapi)
994 - $(use_with nls gettext)
995 - $(use_with openal)
996 - $(use_with opencl)
997 - $(use_with opengl)
998 - $(use_with osmesa)
999 - $(use_with oss)
1000 - $(use_with pcap)
1001 - $(use_with png)
1002 - $(use_with pulseaudio pulse)
1003 - $(use_with threads pthread)
1004 - $(use_with scanner sane)
1005 - $(use_enable test tests)
1006 - $(use_with truetype freetype)
1007 - $(use_with udev)
1008 - $(use_with v4l)
1009 - $(use_with X x)
1010 - $(use_with xcomposite)
1011 - $(use_with xinerama)
1012 - $(use_with xml)
1013 - $(use_with xml xslt)
1014 - )
1015 -
1016 - local PKG_CONFIG AR RANLIB
1017 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1018 - # set AR and RANLIB to make QA scripts happy; #483342
1019 - tc-export PKG_CONFIG AR RANLIB
1020 -
1021 - if use amd64; then
1022 - if [[ ${ABI} == amd64 ]]; then
1023 - myconf+=( --enable-win64 )
1024 - else
1025 - myconf+=( --disable-win64 )
1026 - fi
1027 -
1028 - # Note: using --with-wine64 results in problems with multilib.eclass
1029 - # CC/LD hackery. We're using separate tools instead.
1030 - fi
1031 -
1032 - ECONF_SOURCE=${S} \
1033 - econf "${myconf[@]}"
1034 - emake depend
1035 -}
1036 -
1037 -multilib_src_test() {
1038 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1039 - if [[ ${ABI} == x86 ]]; then
1040 - if [[ $(id -u) == 0 ]]; then
1041 - ewarn "Skipping tests since they cannot be run under the root user."
1042 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1043 - return
1044 - fi
1045 -
1046 - WINEPREFIX="${T}/.wine-${ABI}" \
1047 - Xemake test
1048 - fi
1049 -}
1050 -
1051 -multilib_src_install_all() {
1052 - local DOCS=( ANNOUNCE AUTHORS README )
1053 - add_locale_docs() {
1054 - local locale_doc="documentation/README.$1"
1055 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1056 - }
1057 - l10n_for_each_locale_do add_locale_docs
1058 -
1059 - einstalldocs
1060 - prune_libtool_files --all
1061 -
1062 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1063 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1064 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1065 - fi
1066 -
1067 - # Remove wineconsole if neither backend is installed #551124
1068 - if ! use X && ! use ncurses; then
1069 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
1070 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
1071 - rm_wineconsole() {
1072 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
1073 - }
1074 - multilib_foreach_abi rm_wineconsole
1075 - fi
1076 -
1077 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1078 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
1079 -
1080 - if use abi_x86_64 && ! use abi_x86_32; then
1081 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1082 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1083 - fi
1084 -
1085 - # Failglob for bin and man loops
1086 - local glob_state=$(shopt -p failglob)
1087 - shopt -s failglob
1088 -
1089 - # Make wrappers for binaries for handling multiple variants
1090 - # Note: wrappers instead of symlinks because some are shell which use basename
1091 - local b
1092 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
1093 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1094 - done
1095 -
1096 - # respect LINGUAS when installing man pages, #469418
1097 - local l
1098 - for l in de fr pl; do
1099 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
1100 - done
1101 -
1102 - eval "${glob_state}"
1103 -}
1104 -
1105 -pkg_postinst() {
1106 - eselect wine register ${P}
1107 - if [[ ${PN} == "wine-vanilla" ]]; then
1108 - eselect wine register --vanilla ${P} || die
1109 - fi
1110 -
1111 - eselect wine update --all --if-unset || die
1112 -
1113 - xdg_desktop_database_update
1114 -
1115 - if ! use gecko; then
1116 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
1117 - ewarn "implementation of iexplore. Many older windows applications"
1118 - ewarn "rely upon the existence of an iexplore implementation, so"
1119 - ewarn "you will likely need to install an external one, like via winetricks"
1120 - fi
1121 - if ! use mono; then
1122 - ewarn "Without Wine Mono, wine prefixes will not have a default"
1123 - ewarn "implementation of .NET. Many windows applications rely upon"
1124 - ewarn "the existence of a .NET implementation, so you will likely need"
1125 - ewarn "to install an external one, like via winetricks"
1126 - fi
1127 -}
1128 -
1129 -pkg_prerm() {
1130 - eselect wine deregister ${P}
1131 - if [[ ${PN} == "wine-vanilla" ]]; then
1132 - eselect wine deregister --vanilla ${P} || die
1133 - fi
1134 -
1135 - eselect wine update --all --if-unset || die
1136 -}
1137 -
1138 -pkg_postrm() {
1139 - xdg_desktop_database_update
1140 -}
1141
1142 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.1.ebuild
1143 deleted file mode 100644
1144 index 4024b479135..00000000000
1145 --- a/app-emulation/wine-vanilla/wine-vanilla-2.0.1.ebuild
1146 +++ /dev/null
1147 @@ -1,518 +0,0 @@
1148 -# Copyright 1999-2017 Gentoo Foundation
1149 -# Distributed under the terms of the GNU General Public License v2
1150 -
1151 -EAPI=6
1152 -
1153 -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"
1154 -PLOCALE_BACKUP="en"
1155 -
1156 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
1157 -
1158 -MY_PN="${PN%%-*}"
1159 -MY_P="${MY_PN}-${PV}"
1160 -
1161 -if [[ ${PV} == "9999" ]] ; then
1162 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
1163 - EGIT_BRANCH="master"
1164 - inherit git-r3
1165 - SRC_URI=""
1166 - #KEYWORDS=""
1167 -else
1168 - MAJOR_V=$(get_version_component_range 1)
1169 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz"
1170 - KEYWORDS="-* amd64 x86 ~x86-fbsd"
1171 -fi
1172 -S="${WORKDIR}/${MY_P}"
1173 -
1174 -GWP_V="20170830"
1175 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
1176 -
1177 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
1178 -HOMEPAGE="https://www.winehq.org/"
1179 -SRC_URI="${SRC_URI}
1180 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
1181 -"
1182 -
1183 -LICENSE="LGPL-2.1"
1184 -SLOT="${PV}"
1185 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
1186 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1187 - X? ( truetype )
1188 - elibc_glibc? ( threads )
1189 - osmesa? ( opengl )
1190 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
1191 -
1192 -# FIXME: the test suite is unsuitable for us; many tests require net access
1193 -# or fail due to Xvfb's opengl limitations.
1194 -RESTRICT="test"
1195 -
1196 -COMMON_DEPEND="
1197 - X? (
1198 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
1199 - x11-libs/libXext[${MULTILIB_USEDEP}]
1200 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
1201 - x11-libs/libXi[${MULTILIB_USEDEP}]
1202 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1203 - )
1204 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1205 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1206 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1207 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1208 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1209 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1210 - gstreamer? (
1211 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1212 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1213 - )
1214 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1215 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1216 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1217 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1218 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1219 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1220 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1221 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1222 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1223 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1224 - opengl? (
1225 - virtual/glu[${MULTILIB_USEDEP}]
1226 - virtual/opengl[${MULTILIB_USEDEP}]
1227 - )
1228 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
1229 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1230 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1231 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1232 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1233 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1234 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1235 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
1236 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1237 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1238 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1239 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1240 - xml? (
1241 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1242 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1243 - )
1244 - abi_x86_32? (
1245 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1246 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1247 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
1248 - !<app-emulation/emul-linux-x86-db-20140508-r3
1249 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
1250 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
1251 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
1252 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
1253 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
1254 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
1255 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
1256 - !<app-emulation/emul-linux-x86-soundlibs-20140508
1257 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
1258 - !<app-emulation/emul-linux-x86-xlibs-20140508
1259 - )"
1260 -
1261 -RDEPEND="${COMMON_DEPEND}
1262 - app-emulation/wine-desktop-common
1263 - >app-eselect/eselect-wine-0.3
1264 - !app-emulation/wine:0
1265 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1266 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
1267 - mono? ( app-emulation/wine-mono:4.6.4 )
1268 - perl? (
1269 - dev-lang/perl
1270 - dev-perl/XML-Simple
1271 - )
1272 - pulseaudio? (
1273 - realtime? ( sys-auth/rtkit )
1274 - )
1275 - samba? ( >=net-fs/samba-3.0.25[winbind] )
1276 - selinux? ( sec-policy/selinux-wine )
1277 - udisks? ( sys-fs/udisks:2 )"
1278 -
1279 -# tools/make_requests requires perl
1280 -DEPEND="${COMMON_DEPEND}
1281 - sys-devel/flex
1282 - >=sys-kernel/linux-headers-2.6
1283 - virtual/pkgconfig
1284 - virtual/yacc
1285 - X? (
1286 - x11-proto/inputproto
1287 - x11-proto/xextproto
1288 - x11-proto/xf86vidmodeproto
1289 - )
1290 - prelink? ( sys-devel/prelink )
1291 - xinerama? ( x11-proto/xineramaproto )"
1292 -
1293 -# These use a non-standard "Wine" category, which is provided by
1294 -# /etc/xdg/applications-merged/wine.menu
1295 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
1296 -usr/share/applications/wine-notepad.desktop
1297 -usr/share/applications/wine-uninstaller.desktop
1298 -usr/share/applications/wine-winecfg.desktop"
1299 -
1300 -wine_compiler_check() {
1301 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1302 -
1303 - # GCC-specific bugs
1304 - if tc-is-gcc; then
1305 - # bug #549768
1306 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1307 - ebegin "Checking for gcc-5 ms_abi compiler bug"
1308 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
1309 - # Run in subshell to prevent "Aborted" message
1310 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
1311 - if ! eend $?; then
1312 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1313 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1314 - eerror "or use gcc-config to select a different compiler version."
1315 - eerror "See https://bugs.gentoo.org/549768"
1316 - eerror
1317 - return 1
1318 - fi
1319 - fi
1320 - # bug #574044
1321 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1322 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
1323 - # Compile in subshell to prevent "Aborted" message
1324 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
1325 - if ! eend $?; then
1326 - eerror "Wine cannot be built with this version of gcc-5.3"
1327 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1328 - eerror "or use gcc-config to select a different compiler version."
1329 - eerror "See https://bugs.gentoo.org/574044"
1330 - eerror
1331 - return 1
1332 - fi
1333 - fi
1334 - fi
1335 -
1336 - # Ensure compiler support
1337 - if use abi_x86_64; then
1338 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
1339 - # Compile in subshell to prevent "Aborted" message
1340 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
1341 - if ! eend $?; then
1342 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1343 - eerror
1344 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1345 - eerror
1346 - return 1
1347 - fi
1348 - fi
1349 -}
1350 -
1351 -wine_build_environment_check() {
1352 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1353 -
1354 - if use abi_x86_64; then
1355 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
1356 - eerror "You need gcc-4.4+ to compile 64-bit wine"
1357 - die
1358 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
1359 - eerror "You need clang-3.8+ to compile 64-bit wine"
1360 - die
1361 - fi
1362 - fi
1363 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
1364 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
1365 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
1366 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
1367 - fi
1368 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
1369 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
1370 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
1371 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
1372 - ewarn "See package.env in man 5 portage for more information on how to do this."
1373 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
1374 - fi
1375 - fi
1376 -
1377 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
1378 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1379 - eerror "See https://bugs.gentoo.org/487864 for more details."
1380 - eerror
1381 - return 1
1382 - fi
1383 -}
1384 -
1385 -wine_env_vcs_vars() {
1386 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
1387 - local pn_live_val="${pn_live_var}"
1388 - eval pn_live_val='$'${pn_live_val}
1389 - if [[ ! -z ${EGIT_COMMIT} ]]; then
1390 - eerror "Commits must now be specified using the environmental variables"
1391 - eerror "WINE_COMMIT"
1392 - eerror
1393 - return 1
1394 - fi
1395 -}
1396 -
1397 -pkg_pretend() {
1398 - wine_build_environment_check || die
1399 -
1400 - # Verify OSS support
1401 - if use oss && ! use kernel_FreeBSD; then
1402 - if ! has_version ">=media-sound/oss-4"; then
1403 - eerror "You cannot build wine with USE=oss without having support from a"
1404 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1405 - eerror
1406 - die
1407 - fi
1408 - fi
1409 -}
1410 -
1411 -pkg_setup() {
1412 - wine_build_environment_check || die
1413 - wine_env_vcs_vars || die
1414 -
1415 - WINE_VARIANT="${PN#wine}-${PV}"
1416 - WINE_VARIANT="${WINE_VARIANT#-}"
1417 -
1418 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
1419 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
1420 - MY_DATADIR="${MY_DATAROOTDIR}"
1421 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
1422 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
1423 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
1424 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
1425 - MY_MANDIR="${MY_DATADIR}/man"
1426 -}
1427 -
1428 -src_unpack() {
1429 - if [[ ${PV} == "9999" ]] ; then
1430 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
1431 - fi
1432 -
1433 - default
1434 -
1435 - l10n_find_plocales_changes "${S}/po" "" ".po"
1436 -}
1437 -
1438 -src_prepare() {
1439 -
1440 - eapply_bin(){
1441 - local patch
1442 - for patch in ${PATCHES_BIN[@]}; do
1443 - patchbin --nogit < "${patch}" || die
1444 - done
1445 - }
1446 -
1447 - local md5="$(md5sum server/protocol.def)"
1448 - local PATCHES=(
1449 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
1450 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
1451 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
1452 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
1453 - )
1454 - local PATCHES_BIN=(
1455 - )
1456 -
1457 - default
1458 - eapply_bin
1459 - eautoreconf
1460 -
1461 - # Modification of the server protocol requires regenerating the server requests
1462 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1463 - einfo "server/protocol.def was patched; running tools/make_requests"
1464 - tools/make_requests || die #432348
1465 - fi
1466 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
1467 - if ! use run-exes; then
1468 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
1469 - fi
1470 -
1471 - # Edit wine.desktop to work for specific variant
1472 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
1473 -
1474 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
1475 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
1476 -
1477 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
1478 -}
1479 -
1480 -src_configure() {
1481 - wine_compiler_check || die
1482 -
1483 - export LDCONFIG=/bin/true
1484 - use custom-cflags || strip-flags
1485 -
1486 - multilib-minimal_src_configure
1487 -}
1488 -
1489 -multilib_src_configure() {
1490 - local myconf=(
1491 - --prefix="${MY_PREFIX}"
1492 - --datarootdir="${MY_DATAROOTDIR}"
1493 - --datadir="${MY_DATADIR}"
1494 - --docdir="${MY_DOCDIR}"
1495 - --includedir="${MY_INCLUDEDIR}"
1496 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
1497 - --libexecdir="${MY_LIBEXECDIR}"
1498 - --localstatedir="${MY_LOCALSTATEDIR}"
1499 - --mandir="${MY_MANDIR}"
1500 - --sysconfdir=/etc/wine
1501 - $(use_with alsa)
1502 - $(use_with capi)
1503 - $(use_with lcms cms)
1504 - $(use_with cups)
1505 - $(use_with ncurses curses)
1506 - $(use_with udisks dbus)
1507 - $(use_with fontconfig)
1508 - $(use_with ssl gnutls)
1509 - $(use_enable gecko mshtml)
1510 - $(use_with gphoto2 gphoto)
1511 - $(use_with gsm)
1512 - $(use_with gstreamer)
1513 - --without-hal
1514 - $(use_with jpeg)
1515 - $(use_with ldap)
1516 - $(use_enable mono mscoree)
1517 - $(use_with mp3 mpg123)
1518 - $(use_with netapi)
1519 - $(use_with nls gettext)
1520 - $(use_with openal)
1521 - $(use_with opencl)
1522 - $(use_with opengl)
1523 - $(use_with osmesa)
1524 - $(use_with oss)
1525 - $(use_with pcap)
1526 - $(use_with png)
1527 - $(use_with pulseaudio pulse)
1528 - $(use_with threads pthread)
1529 - $(use_with scanner sane)
1530 - $(use_enable test tests)
1531 - $(use_with truetype freetype)
1532 - $(use_with udev)
1533 - $(use_with v4l)
1534 - $(use_with X x)
1535 - $(use_with xcomposite)
1536 - $(use_with xinerama)
1537 - $(use_with xml)
1538 - $(use_with xml xslt)
1539 - )
1540 -
1541 - local PKG_CONFIG AR RANLIB
1542 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1543 - # set AR and RANLIB to make QA scripts happy; #483342
1544 - tc-export PKG_CONFIG AR RANLIB
1545 -
1546 - if use amd64; then
1547 - if [[ ${ABI} == amd64 ]]; then
1548 - myconf+=( --enable-win64 )
1549 - else
1550 - myconf+=( --disable-win64 )
1551 - fi
1552 -
1553 - # Note: using --with-wine64 results in problems with multilib.eclass
1554 - # CC/LD hackery. We're using separate tools instead.
1555 - fi
1556 -
1557 - ECONF_SOURCE=${S} \
1558 - econf "${myconf[@]}"
1559 - emake depend
1560 -}
1561 -
1562 -multilib_src_test() {
1563 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1564 - if [[ ${ABI} == x86 ]]; then
1565 - if [[ $(id -u) == 0 ]]; then
1566 - ewarn "Skipping tests since they cannot be run under the root user."
1567 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1568 - return
1569 - fi
1570 -
1571 - WINEPREFIX="${T}/.wine-${ABI}" \
1572 - Xemake test
1573 - fi
1574 -}
1575 -
1576 -multilib_src_install_all() {
1577 - local DOCS=( ANNOUNCE AUTHORS README )
1578 - add_locale_docs() {
1579 - local locale_doc="documentation/README.$1"
1580 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1581 - }
1582 - l10n_for_each_locale_do add_locale_docs
1583 -
1584 - einstalldocs
1585 - prune_libtool_files --all
1586 -
1587 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1588 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1589 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1590 - fi
1591 -
1592 - # Remove wineconsole if neither backend is installed #551124
1593 - if ! use X && ! use ncurses; then
1594 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
1595 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
1596 - rm_wineconsole() {
1597 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
1598 - }
1599 - multilib_foreach_abi rm_wineconsole
1600 - fi
1601 -
1602 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1603 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
1604 -
1605 - if use abi_x86_64 && ! use abi_x86_32; then
1606 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1607 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1608 - fi
1609 -
1610 - # Failglob for bin and man loops
1611 - local glob_state=$(shopt -p failglob)
1612 - shopt -s failglob
1613 -
1614 - # Make wrappers for binaries for handling multiple variants
1615 - # Note: wrappers instead of symlinks because some are shell which use basename
1616 - local b
1617 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
1618 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1619 - done
1620 -
1621 - # respect LINGUAS when installing man pages, #469418
1622 - local l
1623 - for l in de fr pl; do
1624 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
1625 - done
1626 -
1627 - eval "${glob_state}"
1628 -}
1629 -
1630 -pkg_postinst() {
1631 - eselect wine register ${P}
1632 - if [[ ${PN} == "wine-vanilla" ]]; then
1633 - eselect wine register --vanilla ${P} || die
1634 - fi
1635 -
1636 - eselect wine update --all --if-unset || die
1637 -
1638 - xdg_desktop_database_update
1639 -
1640 - if ! use gecko; then
1641 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
1642 - ewarn "implementation of iexplore. Many older windows applications"
1643 - ewarn "rely upon the existence of an iexplore implementation, so"
1644 - ewarn "you will likely need to install an external one, like via winetricks"
1645 - fi
1646 - if ! use mono; then
1647 - ewarn "Without Wine Mono, wine prefixes will not have a default"
1648 - ewarn "implementation of .NET. Many windows applications rely upon"
1649 - ewarn "the existence of a .NET implementation, so you will likely need"
1650 - ewarn "to install an external one, like via winetricks"
1651 - fi
1652 -}
1653 -
1654 -pkg_prerm() {
1655 - eselect wine deregister ${P}
1656 - if [[ ${PN} == "wine-vanilla" ]]; then
1657 - eselect wine deregister --vanilla ${P} || die
1658 - fi
1659 -
1660 - eselect wine update --all --if-unset || die
1661 -}
1662 -
1663 -pkg_postrm() {
1664 - xdg_desktop_database_update
1665 -}
1666
1667 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.2-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.2-r1.ebuild
1668 deleted file mode 100644
1669 index 0a297502ec6..00000000000
1670 --- a/app-emulation/wine-vanilla/wine-vanilla-2.0.2-r1.ebuild
1671 +++ /dev/null
1672 @@ -1,527 +0,0 @@
1673 -# Copyright 1999-2017 Gentoo Foundation
1674 -# Distributed under the terms of the GNU General Public License v2
1675 -
1676 -EAPI=6
1677 -
1678 -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"
1679 -PLOCALE_BACKUP="en"
1680 -
1681 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
1682 -
1683 -MY_PN="${PN%%-*}"
1684 -MY_P="${MY_PN}-${PV}"
1685 -
1686 -if [[ ${PV} == "9999" ]] ; then
1687 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
1688 - EGIT_BRANCH="master"
1689 - inherit git-r3
1690 - SRC_URI=""
1691 - #KEYWORDS=""
1692 -else
1693 - MAJOR_V=$(get_version_component_range 1)
1694 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz"
1695 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
1696 -fi
1697 -S="${WORKDIR}/${MY_P}"
1698 -
1699 -GWP_V="20170830"
1700 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
1701 -
1702 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
1703 -HOMEPAGE="https://www.winehq.org/"
1704 -SRC_URI="${SRC_URI}
1705 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
1706 -"
1707 -
1708 -LICENSE="LGPL-2.1"
1709 -SLOT="${PV}"
1710 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
1711 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1712 - X? ( truetype )
1713 - elibc_glibc? ( threads )
1714 - osmesa? ( opengl )
1715 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
1716 -
1717 -# FIXME: the test suite is unsuitable for us; many tests require net access
1718 -# or fail due to Xvfb's opengl limitations.
1719 -RESTRICT="test"
1720 -
1721 -COMMON_DEPEND="
1722 - X? (
1723 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
1724 - x11-libs/libXext[${MULTILIB_USEDEP}]
1725 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
1726 - x11-libs/libXi[${MULTILIB_USEDEP}]
1727 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1728 - )
1729 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1730 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1731 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1732 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1733 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1734 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1735 - gstreamer? (
1736 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1737 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1738 - )
1739 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1740 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1741 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1742 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1743 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1744 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1745 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1746 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1747 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1748 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1749 - opengl? (
1750 - virtual/glu[${MULTILIB_USEDEP}]
1751 - virtual/opengl[${MULTILIB_USEDEP}]
1752 - )
1753 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
1754 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1755 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1756 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1757 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1758 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1759 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1760 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
1761 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1762 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1763 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1764 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1765 - xml? (
1766 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1767 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1768 - )
1769 - abi_x86_32? (
1770 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1771 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1772 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
1773 - !<app-emulation/emul-linux-x86-db-20140508-r3
1774 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
1775 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
1776 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
1777 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
1778 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
1779 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
1780 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
1781 - !<app-emulation/emul-linux-x86-soundlibs-20140508
1782 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
1783 - !<app-emulation/emul-linux-x86-xlibs-20140508
1784 - )"
1785 -
1786 -RDEPEND="${COMMON_DEPEND}
1787 - app-emulation/wine-desktop-common
1788 - >app-eselect/eselect-wine-0.3
1789 - !app-emulation/wine:0
1790 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1791 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
1792 - mono? ( app-emulation/wine-mono:4.6.4 )
1793 - perl? (
1794 - dev-lang/perl
1795 - dev-perl/XML-Simple
1796 - )
1797 - pulseaudio? (
1798 - realtime? ( sys-auth/rtkit )
1799 - )
1800 - samba? ( >=net-fs/samba-3.0.25[winbind] )
1801 - selinux? ( sec-policy/selinux-wine )
1802 - udisks? ( sys-fs/udisks:2 )"
1803 -
1804 -# tools/make_requests requires perl
1805 -DEPEND="${COMMON_DEPEND}
1806 - sys-devel/flex
1807 - >=sys-kernel/linux-headers-2.6
1808 - virtual/pkgconfig
1809 - virtual/yacc
1810 - X? (
1811 - x11-proto/inputproto
1812 - x11-proto/xextproto
1813 - x11-proto/xf86vidmodeproto
1814 - )
1815 - prelink? ( sys-devel/prelink )
1816 - xinerama? ( x11-proto/xineramaproto )"
1817 -
1818 -# These use a non-standard "Wine" category, which is provided by
1819 -# /etc/xdg/applications-merged/wine.menu
1820 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
1821 -usr/share/applications/wine-notepad.desktop
1822 -usr/share/applications/wine-uninstaller.desktop
1823 -usr/share/applications/wine-winecfg.desktop"
1824 -
1825 -PATCHES=(
1826 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
1827 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
1828 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
1829 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
1830 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
1831 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
1832 -)
1833 -PATCHES_BIN=(
1834 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
1835 -)
1836 -
1837 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
1838 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
1839 - DEPEND+=" dev-util/patchbin"
1840 -fi
1841 -
1842 -wine_compiler_check() {
1843 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1844 -
1845 - # GCC-specific bugs
1846 - if tc-is-gcc; then
1847 - # bug #549768
1848 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1849 - ebegin "Checking for gcc-5 ms_abi compiler bug"
1850 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
1851 - # Run in subshell to prevent "Aborted" message
1852 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
1853 - if ! eend $?; then
1854 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1855 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1856 - eerror "or use gcc-config to select a different compiler version."
1857 - eerror "See https://bugs.gentoo.org/549768"
1858 - eerror
1859 - return 1
1860 - fi
1861 - fi
1862 - # bug #574044
1863 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1864 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
1865 - # Compile in subshell to prevent "Aborted" message
1866 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
1867 - if ! eend $?; then
1868 - eerror "Wine cannot be built with this version of gcc-5.3"
1869 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1870 - eerror "or use gcc-config to select a different compiler version."
1871 - eerror "See https://bugs.gentoo.org/574044"
1872 - eerror
1873 - return 1
1874 - fi
1875 - fi
1876 - fi
1877 -
1878 - # Ensure compiler support
1879 - if use abi_x86_64; then
1880 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
1881 - # Compile in subshell to prevent "Aborted" message
1882 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
1883 - if ! eend $?; then
1884 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1885 - eerror
1886 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1887 - eerror
1888 - return 1
1889 - fi
1890 - fi
1891 -}
1892 -
1893 -wine_build_environment_check() {
1894 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1895 -
1896 - if use abi_x86_64; then
1897 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
1898 - eerror "You need gcc-4.4+ to compile 64-bit wine"
1899 - die
1900 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
1901 - eerror "You need clang-3.8+ to compile 64-bit wine"
1902 - die
1903 - fi
1904 - fi
1905 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
1906 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
1907 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
1908 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
1909 - fi
1910 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
1911 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
1912 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
1913 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
1914 - ewarn "See package.env in man 5 portage for more information on how to do this."
1915 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
1916 - fi
1917 - fi
1918 -
1919 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
1920 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1921 - eerror "See https://bugs.gentoo.org/487864 for more details."
1922 - eerror
1923 - return 1
1924 - fi
1925 -}
1926 -
1927 -wine_env_vcs_vars() {
1928 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
1929 - local pn_live_val="${pn_live_var}"
1930 - eval pn_live_val='$'${pn_live_val}
1931 - if [[ ! -z ${EGIT_COMMIT} ]]; then
1932 - eerror "Commits must now be specified using the environmental variables"
1933 - eerror "WINE_COMMIT"
1934 - eerror
1935 - return 1
1936 - fi
1937 -}
1938 -
1939 -pkg_pretend() {
1940 - wine_build_environment_check || die
1941 -
1942 - # Verify OSS support
1943 - if use oss && ! use kernel_FreeBSD; then
1944 - if ! has_version ">=media-sound/oss-4"; then
1945 - eerror "You cannot build wine with USE=oss without having support from a"
1946 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1947 - eerror
1948 - die
1949 - fi
1950 - fi
1951 -}
1952 -
1953 -pkg_setup() {
1954 - wine_build_environment_check || die
1955 - wine_env_vcs_vars || die
1956 -
1957 - WINE_VARIANT="${PN#wine}-${PV}"
1958 - WINE_VARIANT="${WINE_VARIANT#-}"
1959 -
1960 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
1961 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
1962 - MY_DATADIR="${MY_DATAROOTDIR}"
1963 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
1964 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
1965 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
1966 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
1967 - MY_MANDIR="${MY_DATADIR}/man"
1968 -}
1969 -
1970 -src_unpack() {
1971 - if [[ ${PV} == "9999" ]] ; then
1972 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
1973 - fi
1974 -
1975 - default
1976 -
1977 - l10n_find_plocales_changes "${S}/po" "" ".po"
1978 -}
1979 -
1980 -src_prepare() {
1981 -
1982 - eapply_bin(){
1983 - local patch
1984 - for patch in ${PATCHES_BIN[@]}; do
1985 - patchbin --nogit < "${patch}" || die
1986 - done
1987 - }
1988 -
1989 - local md5="$(md5sum server/protocol.def)"
1990 -
1991 - default
1992 - eapply_bin
1993 - eautoreconf
1994 -
1995 - # Modification of the server protocol requires regenerating the server requests
1996 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1997 - einfo "server/protocol.def was patched; running tools/make_requests"
1998 - tools/make_requests || die #432348
1999 - fi
2000 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
2001 - if ! use run-exes; then
2002 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
2003 - fi
2004 -
2005 - # Edit wine.desktop to work for specific variant
2006 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
2007 -
2008 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
2009 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
2010 -
2011 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
2012 -}
2013 -
2014 -src_configure() {
2015 - wine_compiler_check || die
2016 -
2017 - export LDCONFIG=/bin/true
2018 - use custom-cflags || strip-flags
2019 -
2020 - multilib-minimal_src_configure
2021 -}
2022 -
2023 -multilib_src_configure() {
2024 - local myconf=(
2025 - --prefix="${MY_PREFIX}"
2026 - --datarootdir="${MY_DATAROOTDIR}"
2027 - --datadir="${MY_DATADIR}"
2028 - --docdir="${MY_DOCDIR}"
2029 - --includedir="${MY_INCLUDEDIR}"
2030 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
2031 - --libexecdir="${MY_LIBEXECDIR}"
2032 - --localstatedir="${MY_LOCALSTATEDIR}"
2033 - --mandir="${MY_MANDIR}"
2034 - --sysconfdir=/etc/wine
2035 - $(use_with alsa)
2036 - $(use_with capi)
2037 - $(use_with lcms cms)
2038 - $(use_with cups)
2039 - $(use_with ncurses curses)
2040 - $(use_with udisks dbus)
2041 - $(use_with fontconfig)
2042 - $(use_with ssl gnutls)
2043 - $(use_enable gecko mshtml)
2044 - $(use_with gphoto2 gphoto)
2045 - $(use_with gsm)
2046 - $(use_with gstreamer)
2047 - --without-hal
2048 - $(use_with jpeg)
2049 - $(use_with ldap)
2050 - $(use_enable mono mscoree)
2051 - $(use_with mp3 mpg123)
2052 - $(use_with netapi)
2053 - $(use_with nls gettext)
2054 - $(use_with openal)
2055 - $(use_with opencl)
2056 - $(use_with opengl)
2057 - $(use_with osmesa)
2058 - $(use_with oss)
2059 - $(use_with pcap)
2060 - $(use_with png)
2061 - $(use_with pulseaudio pulse)
2062 - $(use_with threads pthread)
2063 - $(use_with scanner sane)
2064 - $(use_enable test tests)
2065 - $(use_with truetype freetype)
2066 - $(use_with udev)
2067 - $(use_with v4l)
2068 - $(use_with X x)
2069 - $(use_with xcomposite)
2070 - $(use_with xinerama)
2071 - $(use_with xml)
2072 - $(use_with xml xslt)
2073 - )
2074 -
2075 - local PKG_CONFIG AR RANLIB
2076 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
2077 - # set AR and RANLIB to make QA scripts happy; #483342
2078 - tc-export PKG_CONFIG AR RANLIB
2079 -
2080 - if use amd64; then
2081 - if [[ ${ABI} == amd64 ]]; then
2082 - myconf+=( --enable-win64 )
2083 - else
2084 - myconf+=( --disable-win64 )
2085 - fi
2086 -
2087 - # Note: using --with-wine64 results in problems with multilib.eclass
2088 - # CC/LD hackery. We're using separate tools instead.
2089 - fi
2090 -
2091 - ECONF_SOURCE=${S} \
2092 - econf "${myconf[@]}"
2093 - emake depend
2094 -}
2095 -
2096 -multilib_src_test() {
2097 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
2098 - if [[ ${ABI} == x86 ]]; then
2099 - if [[ $(id -u) == 0 ]]; then
2100 - ewarn "Skipping tests since they cannot be run under the root user."
2101 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
2102 - return
2103 - fi
2104 -
2105 - WINEPREFIX="${T}/.wine-${ABI}" \
2106 - Xemake test
2107 - fi
2108 -}
2109 -
2110 -multilib_src_install_all() {
2111 - local DOCS=( ANNOUNCE AUTHORS README )
2112 - add_locale_docs() {
2113 - local locale_doc="documentation/README.$1"
2114 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
2115 - }
2116 - l10n_for_each_locale_do add_locale_docs
2117 -
2118 - einstalldocs
2119 - prune_libtool_files --all
2120 -
2121 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
2122 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
2123 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
2124 - fi
2125 -
2126 - # Remove wineconsole if neither backend is installed #551124
2127 - if ! use X && ! use ncurses; then
2128 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
2129 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
2130 - rm_wineconsole() {
2131 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
2132 - }
2133 - multilib_foreach_abi rm_wineconsole
2134 - fi
2135 -
2136 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
2137 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
2138 -
2139 - if use abi_x86_64 && ! use abi_x86_32; then
2140 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
2141 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
2142 - fi
2143 -
2144 - # Failglob for bin and man loops
2145 - local glob_state=$(shopt -p failglob)
2146 - shopt -s failglob
2147 -
2148 - # Make wrappers for binaries for handling multiple variants
2149 - # Note: wrappers instead of symlinks because some are shell which use basename
2150 - local b
2151 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
2152 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
2153 - done
2154 -
2155 - # respect LINGUAS when installing man pages, #469418
2156 - local l
2157 - for l in de fr pl; do
2158 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
2159 - done
2160 -
2161 - eval "${glob_state}"
2162 -}
2163 -
2164 -pkg_postinst() {
2165 - eselect wine register ${P}
2166 - if [[ ${PN} == "wine-vanilla" ]]; then
2167 - eselect wine register --vanilla ${P} || die
2168 - fi
2169 -
2170 - eselect wine update --all --if-unset || die
2171 -
2172 - xdg_desktop_database_update
2173 -
2174 - if ! use gecko; then
2175 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
2176 - ewarn "implementation of iexplore. Many older windows applications"
2177 - ewarn "rely upon the existence of an iexplore implementation, so"
2178 - ewarn "you will likely need to install an external one, like via winetricks"
2179 - fi
2180 - if ! use mono; then
2181 - ewarn "Without Wine Mono, wine prefixes will not have a default"
2182 - ewarn "implementation of .NET. Many windows applications rely upon"
2183 - ewarn "the existence of a .NET implementation, so you will likely need"
2184 - ewarn "to install an external one, like via winetricks"
2185 - fi
2186 -}
2187 -
2188 -pkg_prerm() {
2189 - eselect wine deregister ${P}
2190 - if [[ ${PN} == "wine-vanilla" ]]; then
2191 - eselect wine deregister --vanilla ${P} || die
2192 - fi
2193 -
2194 - eselect wine update --all --if-unset || die
2195 -}
2196 -
2197 -pkg_postrm() {
2198 - xdg_desktop_database_update
2199 -}
2200
2201 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.3.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.3.ebuild
2202 deleted file mode 100644
2203 index ffa871203d4..00000000000
2204 --- a/app-emulation/wine-vanilla/wine-vanilla-2.0.3.ebuild
2205 +++ /dev/null
2206 @@ -1,523 +0,0 @@
2207 -# Copyright 1999-2017 Gentoo Foundation
2208 -# Distributed under the terms of the GNU General Public License v2
2209 -
2210 -EAPI=6
2211 -
2212 -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"
2213 -PLOCALE_BACKUP="en"
2214 -
2215 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
2216 -
2217 -MY_PN="${PN%%-*}"
2218 -MY_P="${MY_PN}-${PV}"
2219 -
2220 -if [[ ${PV} == "9999" ]] ; then
2221 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
2222 - EGIT_BRANCH="master"
2223 - inherit git-r3
2224 - SRC_URI=""
2225 - #KEYWORDS=""
2226 -else
2227 - MAJOR_V=$(get_version_component_range 1)
2228 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz"
2229 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
2230 -fi
2231 -S="${WORKDIR}/${MY_P}"
2232 -
2233 -GWP_V="20170830"
2234 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
2235 -
2236 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
2237 -HOMEPAGE="https://www.winehq.org/"
2238 -SRC_URI="${SRC_URI}
2239 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
2240 -"
2241 -
2242 -LICENSE="LGPL-2.1"
2243 -SLOT="${PV}"
2244 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
2245 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2246 - X? ( truetype )
2247 - elibc_glibc? ( threads )
2248 - osmesa? ( opengl )
2249 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
2250 -
2251 -# FIXME: the test suite is unsuitable for us; many tests require net access
2252 -# or fail due to Xvfb's opengl limitations.
2253 -RESTRICT="test"
2254 -
2255 -COMMON_DEPEND="
2256 - X? (
2257 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
2258 - x11-libs/libXext[${MULTILIB_USEDEP}]
2259 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
2260 - x11-libs/libXi[${MULTILIB_USEDEP}]
2261 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2262 - )
2263 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2264 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2265 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2266 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2267 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2268 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2269 - gstreamer? (
2270 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2271 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2272 - )
2273 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2274 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2275 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2276 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2277 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2278 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2279 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2280 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2281 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2282 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2283 - opengl? (
2284 - virtual/glu[${MULTILIB_USEDEP}]
2285 - virtual/opengl[${MULTILIB_USEDEP}]
2286 - )
2287 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
2288 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2289 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2290 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2291 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2292 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2293 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2294 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
2295 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2296 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2297 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2298 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2299 - xml? (
2300 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2301 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2302 - )
2303 - abi_x86_32? (
2304 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2305 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2306 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
2307 - !<app-emulation/emul-linux-x86-db-20140508-r3
2308 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
2309 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
2310 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
2311 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
2312 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
2313 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
2314 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
2315 - !<app-emulation/emul-linux-x86-soundlibs-20140508
2316 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
2317 - !<app-emulation/emul-linux-x86-xlibs-20140508
2318 - )"
2319 -
2320 -RDEPEND="${COMMON_DEPEND}
2321 - app-emulation/wine-desktop-common
2322 - >app-eselect/eselect-wine-0.3
2323 - !app-emulation/wine:0
2324 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2325 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
2326 - mono? ( app-emulation/wine-mono:4.6.4 )
2327 - perl? (
2328 - dev-lang/perl
2329 - dev-perl/XML-Simple
2330 - )
2331 - pulseaudio? (
2332 - realtime? ( sys-auth/rtkit )
2333 - )
2334 - samba? ( >=net-fs/samba-3.0.25[winbind] )
2335 - selinux? ( sec-policy/selinux-wine )
2336 - udisks? ( sys-fs/udisks:2 )"
2337 -
2338 -# tools/make_requests requires perl
2339 -DEPEND="${COMMON_DEPEND}
2340 - sys-devel/flex
2341 - >=sys-kernel/linux-headers-2.6
2342 - virtual/pkgconfig
2343 - virtual/yacc
2344 - X? (
2345 - x11-proto/inputproto
2346 - x11-proto/xextproto
2347 - x11-proto/xf86vidmodeproto
2348 - )
2349 - prelink? ( sys-devel/prelink )
2350 - xinerama? ( x11-proto/xineramaproto )"
2351 -
2352 -# These use a non-standard "Wine" category, which is provided by
2353 -# /etc/xdg/applications-merged/wine.menu
2354 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
2355 -usr/share/applications/wine-notepad.desktop
2356 -usr/share/applications/wine-uninstaller.desktop
2357 -usr/share/applications/wine-winecfg.desktop"
2358 -
2359 -PATCHES=(
2360 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
2361 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
2362 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
2363 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
2364 -)
2365 -PATCHES_BIN=()
2366 -
2367 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
2368 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
2369 - DEPEND+=" dev-util/patchbin"
2370 -fi
2371 -
2372 -wine_compiler_check() {
2373 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2374 -
2375 - # GCC-specific bugs
2376 - if tc-is-gcc; then
2377 - # bug #549768
2378 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2379 - ebegin "Checking for gcc-5 ms_abi compiler bug"
2380 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
2381 - # Run in subshell to prevent "Aborted" message
2382 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2383 - if ! eend $?; then
2384 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2385 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2386 - eerror "or use gcc-config to select a different compiler version."
2387 - eerror "See https://bugs.gentoo.org/549768"
2388 - eerror
2389 - return 1
2390 - fi
2391 - fi
2392 - # bug #574044
2393 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2394 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2395 - # Compile in subshell to prevent "Aborted" message
2396 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
2397 - if ! eend $?; then
2398 - eerror "Wine cannot be built with this version of gcc-5.3"
2399 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2400 - eerror "or use gcc-config to select a different compiler version."
2401 - eerror "See https://bugs.gentoo.org/574044"
2402 - eerror
2403 - return 1
2404 - fi
2405 - fi
2406 - fi
2407 -
2408 - # Ensure compiler support
2409 - if use abi_x86_64; then
2410 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2411 - # Compile in subshell to prevent "Aborted" message
2412 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2413 - if ! eend $?; then
2414 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2415 - eerror
2416 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2417 - eerror
2418 - return 1
2419 - fi
2420 - fi
2421 -}
2422 -
2423 -wine_build_environment_check() {
2424 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2425 -
2426 - if use abi_x86_64; then
2427 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
2428 - eerror "You need gcc-4.4+ to compile 64-bit wine"
2429 - die
2430 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
2431 - eerror "You need clang-3.8+ to compile 64-bit wine"
2432 - die
2433 - fi
2434 - fi
2435 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
2436 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
2437 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
2438 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
2439 - fi
2440 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
2441 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
2442 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
2443 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
2444 - ewarn "See package.env in man 5 portage for more information on how to do this."
2445 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
2446 - fi
2447 - fi
2448 -
2449 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
2450 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2451 - eerror "See https://bugs.gentoo.org/487864 for more details."
2452 - eerror
2453 - return 1
2454 - fi
2455 -}
2456 -
2457 -wine_env_vcs_vars() {
2458 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
2459 - local pn_live_val="${pn_live_var}"
2460 - eval pn_live_val='$'${pn_live_val}
2461 - if [[ ! -z ${EGIT_COMMIT} ]]; then
2462 - eerror "Commits must now be specified using the environmental variables"
2463 - eerror "WINE_COMMIT"
2464 - eerror
2465 - return 1
2466 - fi
2467 -}
2468 -
2469 -pkg_pretend() {
2470 - wine_build_environment_check || die
2471 -
2472 - # Verify OSS support
2473 - if use oss && ! use kernel_FreeBSD; then
2474 - if ! has_version ">=media-sound/oss-4"; then
2475 - eerror "You cannot build wine with USE=oss without having support from a"
2476 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2477 - eerror
2478 - die
2479 - fi
2480 - fi
2481 -}
2482 -
2483 -pkg_setup() {
2484 - wine_build_environment_check || die
2485 - wine_env_vcs_vars || die
2486 -
2487 - WINE_VARIANT="${PN#wine}-${PV}"
2488 - WINE_VARIANT="${WINE_VARIANT#-}"
2489 -
2490 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
2491 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
2492 - MY_DATADIR="${MY_DATAROOTDIR}"
2493 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
2494 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
2495 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
2496 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
2497 - MY_MANDIR="${MY_DATADIR}/man"
2498 -}
2499 -
2500 -src_unpack() {
2501 - if [[ ${PV} == "9999" ]] ; then
2502 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
2503 - fi
2504 -
2505 - default
2506 -
2507 - l10n_find_plocales_changes "${S}/po" "" ".po"
2508 -}
2509 -
2510 -src_prepare() {
2511 -
2512 - eapply_bin(){
2513 - local patch
2514 - for patch in ${PATCHES_BIN[@]}; do
2515 - patchbin --nogit < "${patch}" || die
2516 - done
2517 - }
2518 -
2519 - local md5="$(md5sum server/protocol.def)"
2520 -
2521 - default
2522 - eapply_bin
2523 - eautoreconf
2524 -
2525 - # Modification of the server protocol requires regenerating the server requests
2526 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
2527 - einfo "server/protocol.def was patched; running tools/make_requests"
2528 - tools/make_requests || die #432348
2529 - fi
2530 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
2531 - if ! use run-exes; then
2532 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
2533 - fi
2534 -
2535 - # Edit wine.desktop to work for specific variant
2536 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
2537 -
2538 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
2539 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
2540 -
2541 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
2542 -}
2543 -
2544 -src_configure() {
2545 - wine_compiler_check || die
2546 -
2547 - export LDCONFIG=/bin/true
2548 - use custom-cflags || strip-flags
2549 -
2550 - multilib-minimal_src_configure
2551 -}
2552 -
2553 -multilib_src_configure() {
2554 - local myconf=(
2555 - --prefix="${MY_PREFIX}"
2556 - --datarootdir="${MY_DATAROOTDIR}"
2557 - --datadir="${MY_DATADIR}"
2558 - --docdir="${MY_DOCDIR}"
2559 - --includedir="${MY_INCLUDEDIR}"
2560 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
2561 - --libexecdir="${MY_LIBEXECDIR}"
2562 - --localstatedir="${MY_LOCALSTATEDIR}"
2563 - --mandir="${MY_MANDIR}"
2564 - --sysconfdir=/etc/wine
2565 - $(use_with alsa)
2566 - $(use_with capi)
2567 - $(use_with lcms cms)
2568 - $(use_with cups)
2569 - $(use_with ncurses curses)
2570 - $(use_with udisks dbus)
2571 - $(use_with fontconfig)
2572 - $(use_with ssl gnutls)
2573 - $(use_enable gecko mshtml)
2574 - $(use_with gphoto2 gphoto)
2575 - $(use_with gsm)
2576 - $(use_with gstreamer)
2577 - --without-hal
2578 - $(use_with jpeg)
2579 - $(use_with ldap)
2580 - $(use_enable mono mscoree)
2581 - $(use_with mp3 mpg123)
2582 - $(use_with netapi)
2583 - $(use_with nls gettext)
2584 - $(use_with openal)
2585 - $(use_with opencl)
2586 - $(use_with opengl)
2587 - $(use_with osmesa)
2588 - $(use_with oss)
2589 - $(use_with pcap)
2590 - $(use_with png)
2591 - $(use_with pulseaudio pulse)
2592 - $(use_with threads pthread)
2593 - $(use_with scanner sane)
2594 - $(use_enable test tests)
2595 - $(use_with truetype freetype)
2596 - $(use_with udev)
2597 - $(use_with v4l)
2598 - $(use_with X x)
2599 - $(use_with xcomposite)
2600 - $(use_with xinerama)
2601 - $(use_with xml)
2602 - $(use_with xml xslt)
2603 - )
2604 -
2605 - local PKG_CONFIG AR RANLIB
2606 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
2607 - # set AR and RANLIB to make QA scripts happy; #483342
2608 - tc-export PKG_CONFIG AR RANLIB
2609 -
2610 - if use amd64; then
2611 - if [[ ${ABI} == amd64 ]]; then
2612 - myconf+=( --enable-win64 )
2613 - else
2614 - myconf+=( --disable-win64 )
2615 - fi
2616 -
2617 - # Note: using --with-wine64 results in problems with multilib.eclass
2618 - # CC/LD hackery. We're using separate tools instead.
2619 - fi
2620 -
2621 - ECONF_SOURCE=${S} \
2622 - econf "${myconf[@]}"
2623 - emake depend
2624 -}
2625 -
2626 -multilib_src_test() {
2627 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
2628 - if [[ ${ABI} == x86 ]]; then
2629 - if [[ $(id -u) == 0 ]]; then
2630 - ewarn "Skipping tests since they cannot be run under the root user."
2631 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
2632 - return
2633 - fi
2634 -
2635 - WINEPREFIX="${T}/.wine-${ABI}" \
2636 - Xemake test
2637 - fi
2638 -}
2639 -
2640 -multilib_src_install_all() {
2641 - local DOCS=( ANNOUNCE AUTHORS README )
2642 - add_locale_docs() {
2643 - local locale_doc="documentation/README.$1"
2644 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
2645 - }
2646 - l10n_for_each_locale_do add_locale_docs
2647 -
2648 - einstalldocs
2649 - prune_libtool_files --all
2650 -
2651 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
2652 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
2653 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
2654 - fi
2655 -
2656 - # Remove wineconsole if neither backend is installed #551124
2657 - if ! use X && ! use ncurses; then
2658 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
2659 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
2660 - rm_wineconsole() {
2661 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
2662 - }
2663 - multilib_foreach_abi rm_wineconsole
2664 - fi
2665 -
2666 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
2667 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
2668 -
2669 - if use abi_x86_64 && ! use abi_x86_32; then
2670 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
2671 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
2672 - fi
2673 -
2674 - # Failglob for bin and man loops
2675 - local glob_state=$(shopt -p failglob)
2676 - shopt -s failglob
2677 -
2678 - # Make wrappers for binaries for handling multiple variants
2679 - # Note: wrappers instead of symlinks because some are shell which use basename
2680 - local b
2681 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
2682 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
2683 - done
2684 -
2685 - # respect LINGUAS when installing man pages, #469418
2686 - local l
2687 - for l in de fr pl; do
2688 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
2689 - done
2690 -
2691 - eval "${glob_state}"
2692 -}
2693 -
2694 -pkg_postinst() {
2695 - eselect wine register ${P}
2696 - if [[ ${PN} == "wine-vanilla" ]]; then
2697 - eselect wine register --vanilla ${P} || die
2698 - fi
2699 -
2700 - eselect wine update --all --if-unset || die
2701 -
2702 - xdg_desktop_database_update
2703 -
2704 - if ! use gecko; then
2705 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
2706 - ewarn "implementation of iexplore. Many older windows applications"
2707 - ewarn "rely upon the existence of an iexplore implementation, so"
2708 - ewarn "you will likely need to install an external one, like via winetricks"
2709 - fi
2710 - if ! use mono; then
2711 - ewarn "Without Wine Mono, wine prefixes will not have a default"
2712 - ewarn "implementation of .NET. Many windows applications rely upon"
2713 - ewarn "the existence of a .NET implementation, so you will likely need"
2714 - ewarn "to install an external one, like via winetricks"
2715 - fi
2716 -}
2717 -
2718 -pkg_prerm() {
2719 - eselect wine deregister ${P}
2720 - if [[ ${PN} == "wine-vanilla" ]]; then
2721 - eselect wine deregister --vanilla ${P} || die
2722 - fi
2723 -
2724 - eselect wine update --all --if-unset || die
2725 -}
2726 -
2727 -pkg_postrm() {
2728 - xdg_desktop_database_update
2729 -}
2730
2731 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.ebuild
2732 deleted file mode 100644
2733 index fec5b93de80..00000000000
2734 --- a/app-emulation/wine-vanilla/wine-vanilla-2.0.ebuild
2735 +++ /dev/null
2736 @@ -1,518 +0,0 @@
2737 -# Copyright 1999-2017 Gentoo Foundation
2738 -# Distributed under the terms of the GNU General Public License v2
2739 -
2740 -EAPI=6
2741 -
2742 -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"
2743 -PLOCALE_BACKUP="en"
2744 -
2745 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
2746 -
2747 -MY_PN="${PN%%-*}"
2748 -MY_P="${MY_PN}-${PV}"
2749 -
2750 -if [[ ${PV} == "9999" ]] ; then
2751 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
2752 - EGIT_BRANCH="master"
2753 - inherit git-r3
2754 - SRC_URI=""
2755 - #KEYWORDS=""
2756 -else
2757 - MAJOR_V=$(get_version_component_range 1)
2758 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.bz2"
2759 - KEYWORDS="-* amd64 x86 ~x86-fbsd"
2760 -fi
2761 -S="${WORKDIR}/${MY_P}"
2762 -
2763 -GWP_V="20170830"
2764 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
2765 -
2766 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
2767 -HOMEPAGE="https://www.winehq.org/"
2768 -SRC_URI="${SRC_URI}
2769 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
2770 -"
2771 -
2772 -LICENSE="LGPL-2.1"
2773 -SLOT="${PV}"
2774 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
2775 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2776 - X? ( truetype )
2777 - elibc_glibc? ( threads )
2778 - osmesa? ( opengl )
2779 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
2780 -
2781 -# FIXME: the test suite is unsuitable for us; many tests require net access
2782 -# or fail due to Xvfb's opengl limitations.
2783 -RESTRICT="test"
2784 -
2785 -COMMON_DEPEND="
2786 - X? (
2787 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
2788 - x11-libs/libXext[${MULTILIB_USEDEP}]
2789 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
2790 - x11-libs/libXi[${MULTILIB_USEDEP}]
2791 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2792 - )
2793 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2794 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2795 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2796 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2797 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2798 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2799 - gstreamer? (
2800 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2801 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2802 - )
2803 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2804 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2805 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2806 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2807 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2808 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2809 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2810 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2811 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2812 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2813 - opengl? (
2814 - virtual/glu[${MULTILIB_USEDEP}]
2815 - virtual/opengl[${MULTILIB_USEDEP}]
2816 - )
2817 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
2818 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2819 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2820 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2821 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2822 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2823 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2824 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
2825 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2826 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2827 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2828 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2829 - xml? (
2830 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2831 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2832 - )
2833 - abi_x86_32? (
2834 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2835 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2836 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
2837 - !<app-emulation/emul-linux-x86-db-20140508-r3
2838 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
2839 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
2840 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
2841 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
2842 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
2843 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
2844 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
2845 - !<app-emulation/emul-linux-x86-soundlibs-20140508
2846 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
2847 - !<app-emulation/emul-linux-x86-xlibs-20140508
2848 - )"
2849 -
2850 -RDEPEND="${COMMON_DEPEND}
2851 - app-emulation/wine-desktop-common
2852 - >app-eselect/eselect-wine-0.3
2853 - !app-emulation/wine:0
2854 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2855 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
2856 - mono? ( app-emulation/wine-mono:4.6.4 )
2857 - perl? (
2858 - dev-lang/perl
2859 - dev-perl/XML-Simple
2860 - )
2861 - pulseaudio? (
2862 - realtime? ( sys-auth/rtkit )
2863 - )
2864 - samba? ( >=net-fs/samba-3.0.25[winbind] )
2865 - selinux? ( sec-policy/selinux-wine )
2866 - udisks? ( sys-fs/udisks:2 )"
2867 -
2868 -# tools/make_requests requires perl
2869 -DEPEND="${COMMON_DEPEND}
2870 - sys-devel/flex
2871 - >=sys-kernel/linux-headers-2.6
2872 - virtual/pkgconfig
2873 - virtual/yacc
2874 - X? (
2875 - x11-proto/inputproto
2876 - x11-proto/xextproto
2877 - x11-proto/xf86vidmodeproto
2878 - )
2879 - prelink? ( sys-devel/prelink )
2880 - xinerama? ( x11-proto/xineramaproto )"
2881 -
2882 -# These use a non-standard "Wine" category, which is provided by
2883 -# /etc/xdg/applications-merged/wine.menu
2884 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
2885 -usr/share/applications/wine-notepad.desktop
2886 -usr/share/applications/wine-uninstaller.desktop
2887 -usr/share/applications/wine-winecfg.desktop"
2888 -
2889 -wine_compiler_check() {
2890 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2891 -
2892 - # GCC-specific bugs
2893 - if tc-is-gcc; then
2894 - # bug #549768
2895 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2896 - ebegin "Checking for gcc-5 ms_abi compiler bug"
2897 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
2898 - # Run in subshell to prevent "Aborted" message
2899 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2900 - if ! eend $?; then
2901 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2902 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2903 - eerror "or use gcc-config to select a different compiler version."
2904 - eerror "See https://bugs.gentoo.org/549768"
2905 - eerror
2906 - return 1
2907 - fi
2908 - fi
2909 - # bug #574044
2910 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2911 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2912 - # Compile in subshell to prevent "Aborted" message
2913 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
2914 - if ! eend $?; then
2915 - eerror "Wine cannot be built with this version of gcc-5.3"
2916 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2917 - eerror "or use gcc-config to select a different compiler version."
2918 - eerror "See https://bugs.gentoo.org/574044"
2919 - eerror
2920 - return 1
2921 - fi
2922 - fi
2923 - fi
2924 -
2925 - # Ensure compiler support
2926 - if use abi_x86_64; then
2927 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2928 - # Compile in subshell to prevent "Aborted" message
2929 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2930 - if ! eend $?; then
2931 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2932 - eerror
2933 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2934 - eerror
2935 - return 1
2936 - fi
2937 - fi
2938 -}
2939 -
2940 -wine_build_environment_check() {
2941 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2942 -
2943 - if use abi_x86_64; then
2944 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
2945 - eerror "You need gcc-4.4+ to compile 64-bit wine"
2946 - die
2947 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
2948 - eerror "You need clang-3.8+ to compile 64-bit wine"
2949 - die
2950 - fi
2951 - fi
2952 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
2953 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
2954 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
2955 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
2956 - fi
2957 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
2958 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
2959 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
2960 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
2961 - ewarn "See package.env in man 5 portage for more information on how to do this."
2962 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
2963 - fi
2964 - fi
2965 -
2966 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
2967 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2968 - eerror "See https://bugs.gentoo.org/487864 for more details."
2969 - eerror
2970 - return 1
2971 - fi
2972 -}
2973 -
2974 -wine_env_vcs_vars() {
2975 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
2976 - local pn_live_val="${pn_live_var}"
2977 - eval pn_live_val='$'${pn_live_val}
2978 - if [[ ! -z ${EGIT_COMMIT} ]]; then
2979 - eerror "Commits must now be specified using the environmental variables"
2980 - eerror "WINE_COMMIT"
2981 - eerror
2982 - return 1
2983 - fi
2984 -}
2985 -
2986 -pkg_pretend() {
2987 - wine_build_environment_check || die
2988 -
2989 - # Verify OSS support
2990 - if use oss && ! use kernel_FreeBSD; then
2991 - if ! has_version ">=media-sound/oss-4"; then
2992 - eerror "You cannot build wine with USE=oss without having support from a"
2993 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2994 - eerror
2995 - die
2996 - fi
2997 - fi
2998 -}
2999 -
3000 -pkg_setup() {
3001 - wine_build_environment_check || die
3002 - wine_env_vcs_vars || die
3003 -
3004 - WINE_VARIANT="${PN#wine}-${PV}"
3005 - WINE_VARIANT="${WINE_VARIANT#-}"
3006 -
3007 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
3008 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
3009 - MY_DATADIR="${MY_DATAROOTDIR}"
3010 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
3011 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
3012 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
3013 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
3014 - MY_MANDIR="${MY_DATADIR}/man"
3015 -}
3016 -
3017 -src_unpack() {
3018 - if [[ ${PV} == "9999" ]] ; then
3019 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
3020 - fi
3021 -
3022 - default
3023 -
3024 - l10n_find_plocales_changes "${S}/po" "" ".po"
3025 -}
3026 -
3027 -src_prepare() {
3028 -
3029 - eapply_bin(){
3030 - local patch
3031 - for patch in ${PATCHES_BIN[@]}; do
3032 - patchbin --nogit < "${patch}" || die
3033 - done
3034 - }
3035 -
3036 - local md5="$(md5sum server/protocol.def)"
3037 - local PATCHES=(
3038 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
3039 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
3040 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
3041 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
3042 - )
3043 - local PATCHES_BIN=(
3044 - )
3045 -
3046 - default
3047 - eapply_bin
3048 - eautoreconf
3049 -
3050 - # Modification of the server protocol requires regenerating the server requests
3051 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
3052 - einfo "server/protocol.def was patched; running tools/make_requests"
3053 - tools/make_requests || die #432348
3054 - fi
3055 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
3056 - if ! use run-exes; then
3057 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
3058 - fi
3059 -
3060 - # Edit wine.desktop to work for specific variant
3061 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
3062 -
3063 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
3064 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
3065 -
3066 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
3067 -}
3068 -
3069 -src_configure() {
3070 - wine_compiler_check || die
3071 -
3072 - export LDCONFIG=/bin/true
3073 - use custom-cflags || strip-flags
3074 -
3075 - multilib-minimal_src_configure
3076 -}
3077 -
3078 -multilib_src_configure() {
3079 - local myconf=(
3080 - --prefix="${MY_PREFIX}"
3081 - --datarootdir="${MY_DATAROOTDIR}"
3082 - --datadir="${MY_DATADIR}"
3083 - --docdir="${MY_DOCDIR}"
3084 - --includedir="${MY_INCLUDEDIR}"
3085 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
3086 - --libexecdir="${MY_LIBEXECDIR}"
3087 - --localstatedir="${MY_LOCALSTATEDIR}"
3088 - --mandir="${MY_MANDIR}"
3089 - --sysconfdir=/etc/wine
3090 - $(use_with alsa)
3091 - $(use_with capi)
3092 - $(use_with lcms cms)
3093 - $(use_with cups)
3094 - $(use_with ncurses curses)
3095 - $(use_with udisks dbus)
3096 - $(use_with fontconfig)
3097 - $(use_with ssl gnutls)
3098 - $(use_enable gecko mshtml)
3099 - $(use_with gphoto2 gphoto)
3100 - $(use_with gsm)
3101 - $(use_with gstreamer)
3102 - --without-hal
3103 - $(use_with jpeg)
3104 - $(use_with ldap)
3105 - $(use_enable mono mscoree)
3106 - $(use_with mp3 mpg123)
3107 - $(use_with netapi)
3108 - $(use_with nls gettext)
3109 - $(use_with openal)
3110 - $(use_with opencl)
3111 - $(use_with opengl)
3112 - $(use_with osmesa)
3113 - $(use_with oss)
3114 - $(use_with pcap)
3115 - $(use_with png)
3116 - $(use_with pulseaudio pulse)
3117 - $(use_with threads pthread)
3118 - $(use_with scanner sane)
3119 - $(use_enable test tests)
3120 - $(use_with truetype freetype)
3121 - $(use_with udev)
3122 - $(use_with v4l)
3123 - $(use_with X x)
3124 - $(use_with xcomposite)
3125 - $(use_with xinerama)
3126 - $(use_with xml)
3127 - $(use_with xml xslt)
3128 - )
3129 -
3130 - local PKG_CONFIG AR RANLIB
3131 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
3132 - # set AR and RANLIB to make QA scripts happy; #483342
3133 - tc-export PKG_CONFIG AR RANLIB
3134 -
3135 - if use amd64; then
3136 - if [[ ${ABI} == amd64 ]]; then
3137 - myconf+=( --enable-win64 )
3138 - else
3139 - myconf+=( --disable-win64 )
3140 - fi
3141 -
3142 - # Note: using --with-wine64 results in problems with multilib.eclass
3143 - # CC/LD hackery. We're using separate tools instead.
3144 - fi
3145 -
3146 - ECONF_SOURCE=${S} \
3147 - econf "${myconf[@]}"
3148 - emake depend
3149 -}
3150 -
3151 -multilib_src_test() {
3152 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
3153 - if [[ ${ABI} == x86 ]]; then
3154 - if [[ $(id -u) == 0 ]]; then
3155 - ewarn "Skipping tests since they cannot be run under the root user."
3156 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
3157 - return
3158 - fi
3159 -
3160 - WINEPREFIX="${T}/.wine-${ABI}" \
3161 - Xemake test
3162 - fi
3163 -}
3164 -
3165 -multilib_src_install_all() {
3166 - local DOCS=( ANNOUNCE AUTHORS README )
3167 - add_locale_docs() {
3168 - local locale_doc="documentation/README.$1"
3169 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
3170 - }
3171 - l10n_for_each_locale_do add_locale_docs
3172 -
3173 - einstalldocs
3174 - prune_libtool_files --all
3175 -
3176 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
3177 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
3178 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
3179 - fi
3180 -
3181 - # Remove wineconsole if neither backend is installed #551124
3182 - if ! use X && ! use ncurses; then
3183 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
3184 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
3185 - rm_wineconsole() {
3186 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
3187 - }
3188 - multilib_foreach_abi rm_wineconsole
3189 - fi
3190 -
3191 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
3192 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
3193 -
3194 - if use abi_x86_64 && ! use abi_x86_32; then
3195 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
3196 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
3197 - fi
3198 -
3199 - # Failglob for bin and man loops
3200 - local glob_state=$(shopt -p failglob)
3201 - shopt -s failglob
3202 -
3203 - # Make wrappers for binaries for handling multiple variants
3204 - # Note: wrappers instead of symlinks because some are shell which use basename
3205 - local b
3206 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
3207 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
3208 - done
3209 -
3210 - # respect LINGUAS when installing man pages, #469418
3211 - local l
3212 - for l in de fr pl; do
3213 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
3214 - done
3215 -
3216 - eval "${glob_state}"
3217 -}
3218 -
3219 -pkg_postinst() {
3220 - eselect wine register ${P}
3221 - if [[ ${PN} == "wine-vanilla" ]]; then
3222 - eselect wine register --vanilla ${P} || die
3223 - fi
3224 -
3225 - eselect wine update --all --if-unset || die
3226 -
3227 - xdg_desktop_database_update
3228 -
3229 - if ! use gecko; then
3230 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
3231 - ewarn "implementation of iexplore. Many older windows applications"
3232 - ewarn "rely upon the existence of an iexplore implementation, so"
3233 - ewarn "you will likely need to install an external one, like via winetricks"
3234 - fi
3235 - if ! use mono; then
3236 - ewarn "Without Wine Mono, wine prefixes will not have a default"
3237 - ewarn "implementation of .NET. Many windows applications rely upon"
3238 - ewarn "the existence of a .NET implementation, so you will likely need"
3239 - ewarn "to install an external one, like via winetricks"
3240 - fi
3241 -}
3242 -
3243 -pkg_prerm() {
3244 - eselect wine deregister ${P}
3245 - if [[ ${PN} == "wine-vanilla" ]]; then
3246 - eselect wine deregister --vanilla ${P} || die
3247 - fi
3248 -
3249 - eselect wine update --all --if-unset || die
3250 -}
3251 -
3252 -pkg_postrm() {
3253 - xdg_desktop_database_update
3254 -}
3255
3256 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.1-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.1-r1.ebuild
3257 deleted file mode 100644
3258 index c94a6ccc98d..00000000000
3259 --- a/app-emulation/wine-vanilla/wine-vanilla-2.1-r1.ebuild
3260 +++ /dev/null
3261 @@ -1,527 +0,0 @@
3262 -# Copyright 1999-2017 Gentoo Foundation
3263 -# Distributed under the terms of the GNU General Public License v2
3264 -
3265 -EAPI=6
3266 -
3267 -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"
3268 -PLOCALE_BACKUP="en"
3269 -
3270 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
3271 -
3272 -MY_PN="${PN%%-*}"
3273 -MY_P="${MY_PN}-${PV}"
3274 -
3275 -if [[ ${PV} == "9999" ]] ; then
3276 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
3277 - EGIT_BRANCH="master"
3278 - inherit git-r3
3279 - SRC_URI=""
3280 - #KEYWORDS=""
3281 -else
3282 - MAJOR_V=$(get_version_component_range 1)
3283 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
3284 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
3285 -fi
3286 -S="${WORKDIR}/${MY_P}"
3287 -
3288 -GWP_V="20170830"
3289 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
3290 -
3291 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
3292 -HOMEPAGE="https://www.winehq.org/"
3293 -SRC_URI="${SRC_URI}
3294 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
3295 -"
3296 -
3297 -LICENSE="LGPL-2.1"
3298 -SLOT="${PV}"
3299 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
3300 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3301 - X? ( truetype )
3302 - elibc_glibc? ( threads )
3303 - osmesa? ( opengl )
3304 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
3305 -
3306 -# FIXME: the test suite is unsuitable for us; many tests require net access
3307 -# or fail due to Xvfb's opengl limitations.
3308 -RESTRICT="test"
3309 -
3310 -COMMON_DEPEND="
3311 - X? (
3312 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
3313 - x11-libs/libXext[${MULTILIB_USEDEP}]
3314 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
3315 - x11-libs/libXi[${MULTILIB_USEDEP}]
3316 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3317 - )
3318 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3319 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3320 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3321 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3322 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3323 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3324 - gstreamer? (
3325 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3326 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3327 - )
3328 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3329 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3330 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3331 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3332 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3333 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3334 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3335 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3336 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3337 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3338 - opengl? (
3339 - virtual/glu[${MULTILIB_USEDEP}]
3340 - virtual/opengl[${MULTILIB_USEDEP}]
3341 - )
3342 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
3343 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3344 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3345 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3346 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3347 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3348 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3349 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
3350 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3351 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3352 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3353 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3354 - xml? (
3355 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3356 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3357 - )
3358 - abi_x86_32? (
3359 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3360 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3361 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
3362 - !<app-emulation/emul-linux-x86-db-20140508-r3
3363 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
3364 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
3365 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
3366 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
3367 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
3368 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
3369 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
3370 - !<app-emulation/emul-linux-x86-soundlibs-20140508
3371 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
3372 - !<app-emulation/emul-linux-x86-xlibs-20140508
3373 - )"
3374 -
3375 -RDEPEND="${COMMON_DEPEND}
3376 - app-emulation/wine-desktop-common
3377 - >app-eselect/eselect-wine-0.3
3378 - !app-emulation/wine:0
3379 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3380 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
3381 - mono? ( app-emulation/wine-mono:4.6.4 )
3382 - perl? (
3383 - dev-lang/perl
3384 - dev-perl/XML-Simple
3385 - )
3386 - pulseaudio? (
3387 - realtime? ( sys-auth/rtkit )
3388 - )
3389 - samba? ( >=net-fs/samba-3.0.25[winbind] )
3390 - selinux? ( sec-policy/selinux-wine )
3391 - udisks? ( sys-fs/udisks:2 )"
3392 -
3393 -# tools/make_requests requires perl
3394 -DEPEND="${COMMON_DEPEND}
3395 - sys-devel/flex
3396 - >=sys-kernel/linux-headers-2.6
3397 - virtual/pkgconfig
3398 - virtual/yacc
3399 - X? (
3400 - x11-proto/inputproto
3401 - x11-proto/xextproto
3402 - x11-proto/xf86vidmodeproto
3403 - )
3404 - prelink? ( sys-devel/prelink )
3405 - xinerama? ( x11-proto/xineramaproto )"
3406 -
3407 -# These use a non-standard "Wine" category, which is provided by
3408 -# /etc/xdg/applications-merged/wine.menu
3409 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
3410 -usr/share/applications/wine-notepad.desktop
3411 -usr/share/applications/wine-uninstaller.desktop
3412 -usr/share/applications/wine-winecfg.desktop"
3413 -
3414 -PATCHES=(
3415 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
3416 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
3417 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
3418 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
3419 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
3420 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
3421 -)
3422 -PATCHES_BIN=(
3423 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
3424 -)
3425 -
3426 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
3427 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
3428 - DEPEND+=" dev-util/patchbin"
3429 -fi
3430 -
3431 -wine_compiler_check() {
3432 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3433 -
3434 - # GCC-specific bugs
3435 - if tc-is-gcc; then
3436 - # bug #549768
3437 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3438 - ebegin "Checking for gcc-5 ms_abi compiler bug"
3439 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
3440 - # Run in subshell to prevent "Aborted" message
3441 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3442 - if ! eend $?; then
3443 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3444 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3445 - eerror "or use gcc-config to select a different compiler version."
3446 - eerror "See https://bugs.gentoo.org/549768"
3447 - eerror
3448 - return 1
3449 - fi
3450 - fi
3451 - # bug #574044
3452 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3453 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3454 - # Compile in subshell to prevent "Aborted" message
3455 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
3456 - if ! eend $?; then
3457 - eerror "Wine cannot be built with this version of gcc-5.3"
3458 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3459 - eerror "or use gcc-config to select a different compiler version."
3460 - eerror "See https://bugs.gentoo.org/574044"
3461 - eerror
3462 - return 1
3463 - fi
3464 - fi
3465 - fi
3466 -
3467 - # Ensure compiler support
3468 - if use abi_x86_64; then
3469 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
3470 - # Compile in subshell to prevent "Aborted" message
3471 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
3472 - if ! eend $?; then
3473 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
3474 - eerror
3475 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
3476 - eerror
3477 - return 1
3478 - fi
3479 - fi
3480 -}
3481 -
3482 -wine_build_environment_check() {
3483 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3484 -
3485 - if use abi_x86_64; then
3486 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
3487 - eerror "You need gcc-4.4+ to compile 64-bit wine"
3488 - die
3489 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
3490 - eerror "You need clang-3.8+ to compile 64-bit wine"
3491 - die
3492 - fi
3493 - fi
3494 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
3495 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
3496 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
3497 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
3498 - fi
3499 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
3500 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
3501 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
3502 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
3503 - ewarn "See package.env in man 5 portage for more information on how to do this."
3504 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
3505 - fi
3506 - fi
3507 -
3508 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
3509 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
3510 - eerror "See https://bugs.gentoo.org/487864 for more details."
3511 - eerror
3512 - return 1
3513 - fi
3514 -}
3515 -
3516 -wine_env_vcs_vars() {
3517 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
3518 - local pn_live_val="${pn_live_var}"
3519 - eval pn_live_val='$'${pn_live_val}
3520 - if [[ ! -z ${EGIT_COMMIT} ]]; then
3521 - eerror "Commits must now be specified using the environmental variables"
3522 - eerror "WINE_COMMIT"
3523 - eerror
3524 - return 1
3525 - fi
3526 -}
3527 -
3528 -pkg_pretend() {
3529 - wine_build_environment_check || die
3530 -
3531 - # Verify OSS support
3532 - if use oss && ! use kernel_FreeBSD; then
3533 - if ! has_version ">=media-sound/oss-4"; then
3534 - eerror "You cannot build wine with USE=oss without having support from a"
3535 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3536 - eerror
3537 - die
3538 - fi
3539 - fi
3540 -}
3541 -
3542 -pkg_setup() {
3543 - wine_build_environment_check || die
3544 - wine_env_vcs_vars || die
3545 -
3546 - WINE_VARIANT="${PN#wine}-${PV}"
3547 - WINE_VARIANT="${WINE_VARIANT#-}"
3548 -
3549 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
3550 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
3551 - MY_DATADIR="${MY_DATAROOTDIR}"
3552 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
3553 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
3554 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
3555 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
3556 - MY_MANDIR="${MY_DATADIR}/man"
3557 -}
3558 -
3559 -src_unpack() {
3560 - if [[ ${PV} == "9999" ]] ; then
3561 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
3562 - fi
3563 -
3564 - default
3565 -
3566 - l10n_find_plocales_changes "${S}/po" "" ".po"
3567 -}
3568 -
3569 -src_prepare() {
3570 -
3571 - eapply_bin(){
3572 - local patch
3573 - for patch in ${PATCHES_BIN[@]}; do
3574 - patchbin --nogit < "${patch}" || die
3575 - done
3576 - }
3577 -
3578 - local md5="$(md5sum server/protocol.def)"
3579 -
3580 - default
3581 - eapply_bin
3582 - eautoreconf
3583 -
3584 - # Modification of the server protocol requires regenerating the server requests
3585 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
3586 - einfo "server/protocol.def was patched; running tools/make_requests"
3587 - tools/make_requests || die #432348
3588 - fi
3589 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
3590 - if ! use run-exes; then
3591 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
3592 - fi
3593 -
3594 - # Edit wine.desktop to work for specific variant
3595 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
3596 -
3597 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
3598 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
3599 -
3600 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
3601 -}
3602 -
3603 -src_configure() {
3604 - wine_compiler_check || die
3605 -
3606 - export LDCONFIG=/bin/true
3607 - use custom-cflags || strip-flags
3608 -
3609 - multilib-minimal_src_configure
3610 -}
3611 -
3612 -multilib_src_configure() {
3613 - local myconf=(
3614 - --prefix="${MY_PREFIX}"
3615 - --datarootdir="${MY_DATAROOTDIR}"
3616 - --datadir="${MY_DATADIR}"
3617 - --docdir="${MY_DOCDIR}"
3618 - --includedir="${MY_INCLUDEDIR}"
3619 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
3620 - --libexecdir="${MY_LIBEXECDIR}"
3621 - --localstatedir="${MY_LOCALSTATEDIR}"
3622 - --mandir="${MY_MANDIR}"
3623 - --sysconfdir=/etc/wine
3624 - $(use_with alsa)
3625 - $(use_with capi)
3626 - $(use_with lcms cms)
3627 - $(use_with cups)
3628 - $(use_with ncurses curses)
3629 - $(use_with udisks dbus)
3630 - $(use_with fontconfig)
3631 - $(use_with ssl gnutls)
3632 - $(use_enable gecko mshtml)
3633 - $(use_with gphoto2 gphoto)
3634 - $(use_with gsm)
3635 - $(use_with gstreamer)
3636 - --without-hal
3637 - $(use_with jpeg)
3638 - $(use_with ldap)
3639 - $(use_enable mono mscoree)
3640 - $(use_with mp3 mpg123)
3641 - $(use_with netapi)
3642 - $(use_with nls gettext)
3643 - $(use_with openal)
3644 - $(use_with opencl)
3645 - $(use_with opengl)
3646 - $(use_with osmesa)
3647 - $(use_with oss)
3648 - $(use_with pcap)
3649 - $(use_with png)
3650 - $(use_with pulseaudio pulse)
3651 - $(use_with threads pthread)
3652 - $(use_with scanner sane)
3653 - $(use_enable test tests)
3654 - $(use_with truetype freetype)
3655 - $(use_with udev)
3656 - $(use_with v4l)
3657 - $(use_with X x)
3658 - $(use_with xcomposite)
3659 - $(use_with xinerama)
3660 - $(use_with xml)
3661 - $(use_with xml xslt)
3662 - )
3663 -
3664 - local PKG_CONFIG AR RANLIB
3665 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
3666 - # set AR and RANLIB to make QA scripts happy; #483342
3667 - tc-export PKG_CONFIG AR RANLIB
3668 -
3669 - if use amd64; then
3670 - if [[ ${ABI} == amd64 ]]; then
3671 - myconf+=( --enable-win64 )
3672 - else
3673 - myconf+=( --disable-win64 )
3674 - fi
3675 -
3676 - # Note: using --with-wine64 results in problems with multilib.eclass
3677 - # CC/LD hackery. We're using separate tools instead.
3678 - fi
3679 -
3680 - ECONF_SOURCE=${S} \
3681 - econf "${myconf[@]}"
3682 - emake depend
3683 -}
3684 -
3685 -multilib_src_test() {
3686 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
3687 - if [[ ${ABI} == x86 ]]; then
3688 - if [[ $(id -u) == 0 ]]; then
3689 - ewarn "Skipping tests since they cannot be run under the root user."
3690 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
3691 - return
3692 - fi
3693 -
3694 - WINEPREFIX="${T}/.wine-${ABI}" \
3695 - Xemake test
3696 - fi
3697 -}
3698 -
3699 -multilib_src_install_all() {
3700 - local DOCS=( ANNOUNCE AUTHORS README )
3701 - add_locale_docs() {
3702 - local locale_doc="documentation/README.$1"
3703 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
3704 - }
3705 - l10n_for_each_locale_do add_locale_docs
3706 -
3707 - einstalldocs
3708 - prune_libtool_files --all
3709 -
3710 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
3711 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
3712 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
3713 - fi
3714 -
3715 - # Remove wineconsole if neither backend is installed #551124
3716 - if ! use X && ! use ncurses; then
3717 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
3718 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
3719 - rm_wineconsole() {
3720 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
3721 - }
3722 - multilib_foreach_abi rm_wineconsole
3723 - fi
3724 -
3725 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
3726 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
3727 -
3728 - if use abi_x86_64 && ! use abi_x86_32; then
3729 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
3730 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
3731 - fi
3732 -
3733 - # Failglob for bin and man loops
3734 - local glob_state=$(shopt -p failglob)
3735 - shopt -s failglob
3736 -
3737 - # Make wrappers for binaries for handling multiple variants
3738 - # Note: wrappers instead of symlinks because some are shell which use basename
3739 - local b
3740 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
3741 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
3742 - done
3743 -
3744 - # respect LINGUAS when installing man pages, #469418
3745 - local l
3746 - for l in de fr pl; do
3747 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
3748 - done
3749 -
3750 - eval "${glob_state}"
3751 -}
3752 -
3753 -pkg_postinst() {
3754 - eselect wine register ${P}
3755 - if [[ ${PN} == "wine-vanilla" ]]; then
3756 - eselect wine register --vanilla ${P} || die
3757 - fi
3758 -
3759 - eselect wine update --all --if-unset || die
3760 -
3761 - xdg_desktop_database_update
3762 -
3763 - if ! use gecko; then
3764 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
3765 - ewarn "implementation of iexplore. Many older windows applications"
3766 - ewarn "rely upon the existence of an iexplore implementation, so"
3767 - ewarn "you will likely need to install an external one, like via winetricks"
3768 - fi
3769 - if ! use mono; then
3770 - ewarn "Without Wine Mono, wine prefixes will not have a default"
3771 - ewarn "implementation of .NET. Many windows applications rely upon"
3772 - ewarn "the existence of a .NET implementation, so you will likely need"
3773 - ewarn "to install an external one, like via winetricks"
3774 - fi
3775 -}
3776 -
3777 -pkg_prerm() {
3778 - eselect wine deregister ${P}
3779 - if [[ ${PN} == "wine-vanilla" ]]; then
3780 - eselect wine deregister --vanilla ${P} || die
3781 - fi
3782 -
3783 - eselect wine update --all --if-unset || die
3784 -}
3785 -
3786 -pkg_postrm() {
3787 - xdg_desktop_database_update
3788 -}
3789
3790 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.10-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.10-r1.ebuild
3791 deleted file mode 100644
3792 index 0cbbf7c0682..00000000000
3793 --- a/app-emulation/wine-vanilla/wine-vanilla-2.10-r1.ebuild
3794 +++ /dev/null
3795 @@ -1,529 +0,0 @@
3796 -# Copyright 1999-2017 Gentoo Foundation
3797 -# Distributed under the terms of the GNU General Public License v2
3798 -
3799 -EAPI=6
3800 -
3801 -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"
3802 -PLOCALE_BACKUP="en"
3803 -
3804 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
3805 -
3806 -MY_PN="${PN%%-*}"
3807 -MY_P="${MY_PN}-${PV}"
3808 -
3809 -if [[ ${PV} == "9999" ]] ; then
3810 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
3811 - EGIT_BRANCH="master"
3812 - inherit git-r3
3813 - SRC_URI=""
3814 - #KEYWORDS=""
3815 -else
3816 - MAJOR_V=$(get_version_component_range 1)
3817 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
3818 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
3819 -fi
3820 -S="${WORKDIR}/${MY_P}"
3821 -
3822 -GWP_V="20170830"
3823 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
3824 -
3825 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
3826 -HOMEPAGE="https://www.winehq.org/"
3827 -SRC_URI="${SRC_URI}
3828 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
3829 -"
3830 -
3831 -LICENSE="LGPL-2.1"
3832 -SLOT="${PV}"
3833 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
3834 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3835 - X? ( truetype )
3836 - elibc_glibc? ( threads )
3837 - osmesa? ( opengl )
3838 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
3839 -
3840 -# FIXME: the test suite is unsuitable for us; many tests require net access
3841 -# or fail due to Xvfb's opengl limitations.
3842 -RESTRICT="test"
3843 -
3844 -COMMON_DEPEND="
3845 - X? (
3846 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
3847 - x11-libs/libXext[${MULTILIB_USEDEP}]
3848 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
3849 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
3850 - x11-libs/libXi[${MULTILIB_USEDEP}]
3851 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3852 - )
3853 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3854 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3855 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3856 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3857 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3858 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3859 - gstreamer? (
3860 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3861 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3862 - )
3863 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3864 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3865 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3866 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3867 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3868 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3869 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3870 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3871 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3872 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3873 - opengl? (
3874 - virtual/glu[${MULTILIB_USEDEP}]
3875 - virtual/opengl[${MULTILIB_USEDEP}]
3876 - )
3877 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
3878 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3879 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3880 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3881 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3882 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3883 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3884 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
3885 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3886 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3887 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3888 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3889 - xml? (
3890 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3891 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3892 - )
3893 - abi_x86_32? (
3894 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3895 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3896 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
3897 - !<app-emulation/emul-linux-x86-db-20140508-r3
3898 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
3899 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
3900 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
3901 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
3902 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
3903 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
3904 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
3905 - !<app-emulation/emul-linux-x86-soundlibs-20140508
3906 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
3907 - !<app-emulation/emul-linux-x86-xlibs-20140508
3908 - )"
3909 -
3910 -RDEPEND="${COMMON_DEPEND}
3911 - app-emulation/wine-desktop-common
3912 - >app-eselect/eselect-wine-0.3
3913 - !app-emulation/wine:0
3914 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3915 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
3916 - mono? ( app-emulation/wine-mono:4.7.0 )
3917 - perl? (
3918 - dev-lang/perl
3919 - dev-perl/XML-Simple
3920 - )
3921 - pulseaudio? (
3922 - realtime? ( sys-auth/rtkit )
3923 - )
3924 - samba? ( >=net-fs/samba-3.0.25[winbind] )
3925 - selinux? ( sec-policy/selinux-wine )
3926 - udisks? ( sys-fs/udisks:2 )"
3927 -
3928 -# tools/make_requests requires perl
3929 -DEPEND="${COMMON_DEPEND}
3930 - sys-devel/flex
3931 - >=sys-kernel/linux-headers-2.6
3932 - virtual/pkgconfig
3933 - virtual/yacc
3934 - X? (
3935 - x11-proto/inputproto
3936 - x11-proto/xextproto
3937 - x11-proto/xf86vidmodeproto
3938 - )
3939 - prelink? ( sys-devel/prelink )
3940 - xinerama? ( x11-proto/xineramaproto )"
3941 -
3942 -# These use a non-standard "Wine" category, which is provided by
3943 -# /etc/xdg/applications-merged/wine.menu
3944 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
3945 -usr/share/applications/wine-notepad.desktop
3946 -usr/share/applications/wine-uninstaller.desktop
3947 -usr/share/applications/wine-winecfg.desktop"
3948 -
3949 -PATCHES=(
3950 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
3951 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
3952 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
3953 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
3954 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
3955 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
3956 -)
3957 -PATCHES_BIN=(
3958 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
3959 -)
3960 -
3961 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
3962 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
3963 - DEPEND+=" dev-util/patchbin"
3964 -fi
3965 -
3966 -wine_compiler_check() {
3967 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3968 -
3969 - # GCC-specific bugs
3970 - if tc-is-gcc; then
3971 - # bug #549768
3972 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3973 - ebegin "Checking for gcc-5 ms_abi compiler bug"
3974 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
3975 - # Run in subshell to prevent "Aborted" message
3976 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3977 - if ! eend $?; then
3978 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3979 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3980 - eerror "or use gcc-config to select a different compiler version."
3981 - eerror "See https://bugs.gentoo.org/549768"
3982 - eerror
3983 - return 1
3984 - fi
3985 - fi
3986 - # bug #574044
3987 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3988 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3989 - # Compile in subshell to prevent "Aborted" message
3990 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
3991 - if ! eend $?; then
3992 - eerror "Wine cannot be built with this version of gcc-5.3"
3993 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3994 - eerror "or use gcc-config to select a different compiler version."
3995 - eerror "See https://bugs.gentoo.org/574044"
3996 - eerror
3997 - return 1
3998 - fi
3999 - fi
4000 - fi
4001 -
4002 - # Ensure compiler support
4003 - if use abi_x86_64; then
4004 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
4005 - # Compile in subshell to prevent "Aborted" message
4006 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
4007 - if ! eend $?; then
4008 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
4009 - eerror
4010 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
4011 - eerror
4012 - return 1
4013 - fi
4014 - fi
4015 -}
4016 -
4017 -wine_build_environment_check() {
4018 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4019 -
4020 - if use abi_x86_64; then
4021 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
4022 - eerror "You need gcc-4.4+ to compile 64-bit wine"
4023 - die
4024 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
4025 - eerror "You need clang-3.8+ to compile 64-bit wine"
4026 - die
4027 - fi
4028 - fi
4029 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
4030 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
4031 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
4032 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
4033 - fi
4034 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
4035 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
4036 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
4037 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
4038 - ewarn "See package.env in man 5 portage for more information on how to do this."
4039 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
4040 - fi
4041 - fi
4042 -
4043 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
4044 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
4045 - eerror "See https://bugs.gentoo.org/487864 for more details."
4046 - eerror
4047 - return 1
4048 - fi
4049 -}
4050 -
4051 -wine_env_vcs_vars() {
4052 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
4053 - local pn_live_val="${pn_live_var}"
4054 - eval pn_live_val='$'${pn_live_val}
4055 - if [[ ! -z ${EGIT_COMMIT} ]]; then
4056 - eerror "Commits must now be specified using the environmental variables"
4057 - eerror "WINE_COMMIT"
4058 - eerror
4059 - return 1
4060 - fi
4061 -}
4062 -
4063 -pkg_pretend() {
4064 - wine_build_environment_check || die
4065 -
4066 - # Verify OSS support
4067 - if use oss && ! use kernel_FreeBSD; then
4068 - if ! has_version ">=media-sound/oss-4"; then
4069 - eerror "You cannot build wine with USE=oss without having support from a"
4070 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
4071 - eerror
4072 - die
4073 - fi
4074 - fi
4075 -}
4076 -
4077 -pkg_setup() {
4078 - wine_build_environment_check || die
4079 - wine_env_vcs_vars || die
4080 -
4081 - WINE_VARIANT="${PN#wine}-${PV}"
4082 - WINE_VARIANT="${WINE_VARIANT#-}"
4083 -
4084 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
4085 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
4086 - MY_DATADIR="${MY_DATAROOTDIR}"
4087 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
4088 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
4089 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
4090 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
4091 - MY_MANDIR="${MY_DATADIR}/man"
4092 -}
4093 -
4094 -src_unpack() {
4095 - if [[ ${PV} == "9999" ]] ; then
4096 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
4097 - fi
4098 -
4099 - default
4100 -
4101 - l10n_find_plocales_changes "${S}/po" "" ".po"
4102 -}
4103 -
4104 -src_prepare() {
4105 -
4106 - eapply_bin(){
4107 - local patch
4108 - for patch in ${PATCHES_BIN[@]}; do
4109 - patchbin --nogit < "${patch}" || die
4110 - done
4111 - }
4112 -
4113 - local md5="$(md5sum server/protocol.def)"
4114 -
4115 - default
4116 - eapply_bin
4117 - eautoreconf
4118 -
4119 - # Modification of the server protocol requires regenerating the server requests
4120 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
4121 - einfo "server/protocol.def was patched; running tools/make_requests"
4122 - tools/make_requests || die #432348
4123 - fi
4124 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
4125 - if ! use run-exes; then
4126 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
4127 - fi
4128 -
4129 - # Edit wine.desktop to work for specific variant
4130 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
4131 -
4132 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
4133 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
4134 -
4135 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
4136 -}
4137 -
4138 -src_configure() {
4139 - wine_compiler_check || die
4140 -
4141 - export LDCONFIG=/bin/true
4142 - use custom-cflags || strip-flags
4143 -
4144 - multilib-minimal_src_configure
4145 -}
4146 -
4147 -multilib_src_configure() {
4148 - local myconf=(
4149 - --prefix="${MY_PREFIX}"
4150 - --datarootdir="${MY_DATAROOTDIR}"
4151 - --datadir="${MY_DATADIR}"
4152 - --docdir="${MY_DOCDIR}"
4153 - --includedir="${MY_INCLUDEDIR}"
4154 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
4155 - --libexecdir="${MY_LIBEXECDIR}"
4156 - --localstatedir="${MY_LOCALSTATEDIR}"
4157 - --mandir="${MY_MANDIR}"
4158 - --sysconfdir=/etc/wine
4159 - $(use_with alsa)
4160 - $(use_with capi)
4161 - $(use_with lcms cms)
4162 - $(use_with cups)
4163 - $(use_with ncurses curses)
4164 - $(use_with udisks dbus)
4165 - $(use_with fontconfig)
4166 - $(use_with ssl gnutls)
4167 - $(use_enable gecko mshtml)
4168 - $(use_with gphoto2 gphoto)
4169 - $(use_with gsm)
4170 - $(use_with gstreamer)
4171 - --without-hal
4172 - $(use_with jpeg)
4173 - $(use_with ldap)
4174 - $(use_enable mono mscoree)
4175 - $(use_with mp3 mpg123)
4176 - $(use_with netapi)
4177 - $(use_with nls gettext)
4178 - $(use_with openal)
4179 - $(use_with opencl)
4180 - $(use_with opengl)
4181 - $(use_with osmesa)
4182 - $(use_with oss)
4183 - $(use_with pcap)
4184 - $(use_with png)
4185 - $(use_with pulseaudio pulse)
4186 - $(use_with threads pthread)
4187 - $(use_with scanner sane)
4188 - $(use_enable test tests)
4189 - $(use_with truetype freetype)
4190 - $(use_with udev)
4191 - $(use_with v4l)
4192 - $(use_with X x)
4193 - $(use_with X xfixes)
4194 - $(use_with xcomposite)
4195 - $(use_with xinerama)
4196 - $(use_with xml)
4197 - $(use_with xml xslt)
4198 - )
4199 -
4200 - local PKG_CONFIG AR RANLIB
4201 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
4202 - # set AR and RANLIB to make QA scripts happy; #483342
4203 - tc-export PKG_CONFIG AR RANLIB
4204 -
4205 - if use amd64; then
4206 - if [[ ${ABI} == amd64 ]]; then
4207 - myconf+=( --enable-win64 )
4208 - else
4209 - myconf+=( --disable-win64 )
4210 - fi
4211 -
4212 - # Note: using --with-wine64 results in problems with multilib.eclass
4213 - # CC/LD hackery. We're using separate tools instead.
4214 - fi
4215 -
4216 - ECONF_SOURCE=${S} \
4217 - econf "${myconf[@]}"
4218 - emake depend
4219 -}
4220 -
4221 -multilib_src_test() {
4222 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
4223 - if [[ ${ABI} == x86 ]]; then
4224 - if [[ $(id -u) == 0 ]]; then
4225 - ewarn "Skipping tests since they cannot be run under the root user."
4226 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
4227 - return
4228 - fi
4229 -
4230 - WINEPREFIX="${T}/.wine-${ABI}" \
4231 - Xemake test
4232 - fi
4233 -}
4234 -
4235 -multilib_src_install_all() {
4236 - local DOCS=( ANNOUNCE AUTHORS README )
4237 - add_locale_docs() {
4238 - local locale_doc="documentation/README.$1"
4239 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
4240 - }
4241 - l10n_for_each_locale_do add_locale_docs
4242 -
4243 - einstalldocs
4244 - prune_libtool_files --all
4245 -
4246 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
4247 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
4248 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
4249 - fi
4250 -
4251 - # Remove wineconsole if neither backend is installed #551124
4252 - if ! use X && ! use ncurses; then
4253 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
4254 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
4255 - rm_wineconsole() {
4256 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
4257 - }
4258 - multilib_foreach_abi rm_wineconsole
4259 - fi
4260 -
4261 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
4262 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
4263 -
4264 - if use abi_x86_64 && ! use abi_x86_32; then
4265 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
4266 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
4267 - fi
4268 -
4269 - # Failglob for bin and man loops
4270 - local glob_state=$(shopt -p failglob)
4271 - shopt -s failglob
4272 -
4273 - # Make wrappers for binaries for handling multiple variants
4274 - # Note: wrappers instead of symlinks because some are shell which use basename
4275 - local b
4276 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
4277 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
4278 - done
4279 -
4280 - # respect LINGUAS when installing man pages, #469418
4281 - local l
4282 - for l in de fr pl; do
4283 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
4284 - done
4285 -
4286 - eval "${glob_state}"
4287 -}
4288 -
4289 -pkg_postinst() {
4290 - eselect wine register ${P}
4291 - if [[ ${PN} == "wine-vanilla" ]]; then
4292 - eselect wine register --vanilla ${P} || die
4293 - fi
4294 -
4295 - eselect wine update --all --if-unset || die
4296 -
4297 - xdg_desktop_database_update
4298 -
4299 - if ! use gecko; then
4300 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
4301 - ewarn "implementation of iexplore. Many older windows applications"
4302 - ewarn "rely upon the existence of an iexplore implementation, so"
4303 - ewarn "you will likely need to install an external one, like via winetricks"
4304 - fi
4305 - if ! use mono; then
4306 - ewarn "Without Wine Mono, wine prefixes will not have a default"
4307 - ewarn "implementation of .NET. Many windows applications rely upon"
4308 - ewarn "the existence of a .NET implementation, so you will likely need"
4309 - ewarn "to install an external one, like via winetricks"
4310 - fi
4311 -}
4312 -
4313 -pkg_prerm() {
4314 - eselect wine deregister ${P}
4315 - if [[ ${PN} == "wine-vanilla" ]]; then
4316 - eselect wine deregister --vanilla ${P} || die
4317 - fi
4318 -
4319 - eselect wine update --all --if-unset || die
4320 -}
4321 -
4322 -pkg_postrm() {
4323 - xdg_desktop_database_update
4324 -}
4325
4326 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.11-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.11-r1.ebuild
4327 deleted file mode 100644
4328 index 0cbbf7c0682..00000000000
4329 --- a/app-emulation/wine-vanilla/wine-vanilla-2.11-r1.ebuild
4330 +++ /dev/null
4331 @@ -1,529 +0,0 @@
4332 -# Copyright 1999-2017 Gentoo Foundation
4333 -# Distributed under the terms of the GNU General Public License v2
4334 -
4335 -EAPI=6
4336 -
4337 -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"
4338 -PLOCALE_BACKUP="en"
4339 -
4340 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
4341 -
4342 -MY_PN="${PN%%-*}"
4343 -MY_P="${MY_PN}-${PV}"
4344 -
4345 -if [[ ${PV} == "9999" ]] ; then
4346 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
4347 - EGIT_BRANCH="master"
4348 - inherit git-r3
4349 - SRC_URI=""
4350 - #KEYWORDS=""
4351 -else
4352 - MAJOR_V=$(get_version_component_range 1)
4353 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
4354 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
4355 -fi
4356 -S="${WORKDIR}/${MY_P}"
4357 -
4358 -GWP_V="20170830"
4359 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
4360 -
4361 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
4362 -HOMEPAGE="https://www.winehq.org/"
4363 -SRC_URI="${SRC_URI}
4364 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
4365 -"
4366 -
4367 -LICENSE="LGPL-2.1"
4368 -SLOT="${PV}"
4369 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
4370 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
4371 - X? ( truetype )
4372 - elibc_glibc? ( threads )
4373 - osmesa? ( opengl )
4374 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
4375 -
4376 -# FIXME: the test suite is unsuitable for us; many tests require net access
4377 -# or fail due to Xvfb's opengl limitations.
4378 -RESTRICT="test"
4379 -
4380 -COMMON_DEPEND="
4381 - X? (
4382 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
4383 - x11-libs/libXext[${MULTILIB_USEDEP}]
4384 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
4385 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
4386 - x11-libs/libXi[${MULTILIB_USEDEP}]
4387 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
4388 - )
4389 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
4390 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
4391 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
4392 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
4393 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
4394 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
4395 - gstreamer? (
4396 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
4397 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
4398 - )
4399 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
4400 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
4401 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
4402 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
4403 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
4404 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
4405 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
4406 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
4407 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
4408 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
4409 - opengl? (
4410 - virtual/glu[${MULTILIB_USEDEP}]
4411 - virtual/opengl[${MULTILIB_USEDEP}]
4412 - )
4413 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
4414 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
4415 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4416 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
4417 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
4418 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
4419 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
4420 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
4421 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
4422 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
4423 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
4424 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
4425 - xml? (
4426 - dev-libs/libxml2[${MULTILIB_USEDEP}]
4427 - dev-libs/libxslt[${MULTILIB_USEDEP}]
4428 - )
4429 - abi_x86_32? (
4430 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
4431 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
4432 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
4433 - !<app-emulation/emul-linux-x86-db-20140508-r3
4434 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
4435 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
4436 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
4437 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
4438 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
4439 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
4440 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
4441 - !<app-emulation/emul-linux-x86-soundlibs-20140508
4442 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
4443 - !<app-emulation/emul-linux-x86-xlibs-20140508
4444 - )"
4445 -
4446 -RDEPEND="${COMMON_DEPEND}
4447 - app-emulation/wine-desktop-common
4448 - >app-eselect/eselect-wine-0.3
4449 - !app-emulation/wine:0
4450 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
4451 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
4452 - mono? ( app-emulation/wine-mono:4.7.0 )
4453 - perl? (
4454 - dev-lang/perl
4455 - dev-perl/XML-Simple
4456 - )
4457 - pulseaudio? (
4458 - realtime? ( sys-auth/rtkit )
4459 - )
4460 - samba? ( >=net-fs/samba-3.0.25[winbind] )
4461 - selinux? ( sec-policy/selinux-wine )
4462 - udisks? ( sys-fs/udisks:2 )"
4463 -
4464 -# tools/make_requests requires perl
4465 -DEPEND="${COMMON_DEPEND}
4466 - sys-devel/flex
4467 - >=sys-kernel/linux-headers-2.6
4468 - virtual/pkgconfig
4469 - virtual/yacc
4470 - X? (
4471 - x11-proto/inputproto
4472 - x11-proto/xextproto
4473 - x11-proto/xf86vidmodeproto
4474 - )
4475 - prelink? ( sys-devel/prelink )
4476 - xinerama? ( x11-proto/xineramaproto )"
4477 -
4478 -# These use a non-standard "Wine" category, which is provided by
4479 -# /etc/xdg/applications-merged/wine.menu
4480 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
4481 -usr/share/applications/wine-notepad.desktop
4482 -usr/share/applications/wine-uninstaller.desktop
4483 -usr/share/applications/wine-winecfg.desktop"
4484 -
4485 -PATCHES=(
4486 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
4487 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
4488 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
4489 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
4490 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
4491 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
4492 -)
4493 -PATCHES_BIN=(
4494 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
4495 -)
4496 -
4497 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
4498 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
4499 - DEPEND+=" dev-util/patchbin"
4500 -fi
4501 -
4502 -wine_compiler_check() {
4503 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4504 -
4505 - # GCC-specific bugs
4506 - if tc-is-gcc; then
4507 - # bug #549768
4508 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
4509 - ebegin "Checking for gcc-5 ms_abi compiler bug"
4510 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
4511 - # Run in subshell to prevent "Aborted" message
4512 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
4513 - if ! eend $?; then
4514 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
4515 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
4516 - eerror "or use gcc-config to select a different compiler version."
4517 - eerror "See https://bugs.gentoo.org/549768"
4518 - eerror
4519 - return 1
4520 - fi
4521 - fi
4522 - # bug #574044
4523 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
4524 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
4525 - # Compile in subshell to prevent "Aborted" message
4526 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
4527 - if ! eend $?; then
4528 - eerror "Wine cannot be built with this version of gcc-5.3"
4529 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
4530 - eerror "or use gcc-config to select a different compiler version."
4531 - eerror "See https://bugs.gentoo.org/574044"
4532 - eerror
4533 - return 1
4534 - fi
4535 - fi
4536 - fi
4537 -
4538 - # Ensure compiler support
4539 - if use abi_x86_64; then
4540 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
4541 - # Compile in subshell to prevent "Aborted" message
4542 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
4543 - if ! eend $?; then
4544 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
4545 - eerror
4546 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
4547 - eerror
4548 - return 1
4549 - fi
4550 - fi
4551 -}
4552 -
4553 -wine_build_environment_check() {
4554 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4555 -
4556 - if use abi_x86_64; then
4557 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
4558 - eerror "You need gcc-4.4+ to compile 64-bit wine"
4559 - die
4560 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
4561 - eerror "You need clang-3.8+ to compile 64-bit wine"
4562 - die
4563 - fi
4564 - fi
4565 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
4566 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
4567 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
4568 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
4569 - fi
4570 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
4571 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
4572 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
4573 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
4574 - ewarn "See package.env in man 5 portage for more information on how to do this."
4575 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
4576 - fi
4577 - fi
4578 -
4579 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
4580 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
4581 - eerror "See https://bugs.gentoo.org/487864 for more details."
4582 - eerror
4583 - return 1
4584 - fi
4585 -}
4586 -
4587 -wine_env_vcs_vars() {
4588 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
4589 - local pn_live_val="${pn_live_var}"
4590 - eval pn_live_val='$'${pn_live_val}
4591 - if [[ ! -z ${EGIT_COMMIT} ]]; then
4592 - eerror "Commits must now be specified using the environmental variables"
4593 - eerror "WINE_COMMIT"
4594 - eerror
4595 - return 1
4596 - fi
4597 -}
4598 -
4599 -pkg_pretend() {
4600 - wine_build_environment_check || die
4601 -
4602 - # Verify OSS support
4603 - if use oss && ! use kernel_FreeBSD; then
4604 - if ! has_version ">=media-sound/oss-4"; then
4605 - eerror "You cannot build wine with USE=oss without having support from a"
4606 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
4607 - eerror
4608 - die
4609 - fi
4610 - fi
4611 -}
4612 -
4613 -pkg_setup() {
4614 - wine_build_environment_check || die
4615 - wine_env_vcs_vars || die
4616 -
4617 - WINE_VARIANT="${PN#wine}-${PV}"
4618 - WINE_VARIANT="${WINE_VARIANT#-}"
4619 -
4620 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
4621 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
4622 - MY_DATADIR="${MY_DATAROOTDIR}"
4623 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
4624 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
4625 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
4626 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
4627 - MY_MANDIR="${MY_DATADIR}/man"
4628 -}
4629 -
4630 -src_unpack() {
4631 - if [[ ${PV} == "9999" ]] ; then
4632 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
4633 - fi
4634 -
4635 - default
4636 -
4637 - l10n_find_plocales_changes "${S}/po" "" ".po"
4638 -}
4639 -
4640 -src_prepare() {
4641 -
4642 - eapply_bin(){
4643 - local patch
4644 - for patch in ${PATCHES_BIN[@]}; do
4645 - patchbin --nogit < "${patch}" || die
4646 - done
4647 - }
4648 -
4649 - local md5="$(md5sum server/protocol.def)"
4650 -
4651 - default
4652 - eapply_bin
4653 - eautoreconf
4654 -
4655 - # Modification of the server protocol requires regenerating the server requests
4656 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
4657 - einfo "server/protocol.def was patched; running tools/make_requests"
4658 - tools/make_requests || die #432348
4659 - fi
4660 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
4661 - if ! use run-exes; then
4662 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
4663 - fi
4664 -
4665 - # Edit wine.desktop to work for specific variant
4666 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
4667 -
4668 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
4669 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
4670 -
4671 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
4672 -}
4673 -
4674 -src_configure() {
4675 - wine_compiler_check || die
4676 -
4677 - export LDCONFIG=/bin/true
4678 - use custom-cflags || strip-flags
4679 -
4680 - multilib-minimal_src_configure
4681 -}
4682 -
4683 -multilib_src_configure() {
4684 - local myconf=(
4685 - --prefix="${MY_PREFIX}"
4686 - --datarootdir="${MY_DATAROOTDIR}"
4687 - --datadir="${MY_DATADIR}"
4688 - --docdir="${MY_DOCDIR}"
4689 - --includedir="${MY_INCLUDEDIR}"
4690 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
4691 - --libexecdir="${MY_LIBEXECDIR}"
4692 - --localstatedir="${MY_LOCALSTATEDIR}"
4693 - --mandir="${MY_MANDIR}"
4694 - --sysconfdir=/etc/wine
4695 - $(use_with alsa)
4696 - $(use_with capi)
4697 - $(use_with lcms cms)
4698 - $(use_with cups)
4699 - $(use_with ncurses curses)
4700 - $(use_with udisks dbus)
4701 - $(use_with fontconfig)
4702 - $(use_with ssl gnutls)
4703 - $(use_enable gecko mshtml)
4704 - $(use_with gphoto2 gphoto)
4705 - $(use_with gsm)
4706 - $(use_with gstreamer)
4707 - --without-hal
4708 - $(use_with jpeg)
4709 - $(use_with ldap)
4710 - $(use_enable mono mscoree)
4711 - $(use_with mp3 mpg123)
4712 - $(use_with netapi)
4713 - $(use_with nls gettext)
4714 - $(use_with openal)
4715 - $(use_with opencl)
4716 - $(use_with opengl)
4717 - $(use_with osmesa)
4718 - $(use_with oss)
4719 - $(use_with pcap)
4720 - $(use_with png)
4721 - $(use_with pulseaudio pulse)
4722 - $(use_with threads pthread)
4723 - $(use_with scanner sane)
4724 - $(use_enable test tests)
4725 - $(use_with truetype freetype)
4726 - $(use_with udev)
4727 - $(use_with v4l)
4728 - $(use_with X x)
4729 - $(use_with X xfixes)
4730 - $(use_with xcomposite)
4731 - $(use_with xinerama)
4732 - $(use_with xml)
4733 - $(use_with xml xslt)
4734 - )
4735 -
4736 - local PKG_CONFIG AR RANLIB
4737 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
4738 - # set AR and RANLIB to make QA scripts happy; #483342
4739 - tc-export PKG_CONFIG AR RANLIB
4740 -
4741 - if use amd64; then
4742 - if [[ ${ABI} == amd64 ]]; then
4743 - myconf+=( --enable-win64 )
4744 - else
4745 - myconf+=( --disable-win64 )
4746 - fi
4747 -
4748 - # Note: using --with-wine64 results in problems with multilib.eclass
4749 - # CC/LD hackery. We're using separate tools instead.
4750 - fi
4751 -
4752 - ECONF_SOURCE=${S} \
4753 - econf "${myconf[@]}"
4754 - emake depend
4755 -}
4756 -
4757 -multilib_src_test() {
4758 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
4759 - if [[ ${ABI} == x86 ]]; then
4760 - if [[ $(id -u) == 0 ]]; then
4761 - ewarn "Skipping tests since they cannot be run under the root user."
4762 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
4763 - return
4764 - fi
4765 -
4766 - WINEPREFIX="${T}/.wine-${ABI}" \
4767 - Xemake test
4768 - fi
4769 -}
4770 -
4771 -multilib_src_install_all() {
4772 - local DOCS=( ANNOUNCE AUTHORS README )
4773 - add_locale_docs() {
4774 - local locale_doc="documentation/README.$1"
4775 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
4776 - }
4777 - l10n_for_each_locale_do add_locale_docs
4778 -
4779 - einstalldocs
4780 - prune_libtool_files --all
4781 -
4782 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
4783 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
4784 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
4785 - fi
4786 -
4787 - # Remove wineconsole if neither backend is installed #551124
4788 - if ! use X && ! use ncurses; then
4789 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
4790 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
4791 - rm_wineconsole() {
4792 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
4793 - }
4794 - multilib_foreach_abi rm_wineconsole
4795 - fi
4796 -
4797 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
4798 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
4799 -
4800 - if use abi_x86_64 && ! use abi_x86_32; then
4801 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
4802 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
4803 - fi
4804 -
4805 - # Failglob for bin and man loops
4806 - local glob_state=$(shopt -p failglob)
4807 - shopt -s failglob
4808 -
4809 - # Make wrappers for binaries for handling multiple variants
4810 - # Note: wrappers instead of symlinks because some are shell which use basename
4811 - local b
4812 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
4813 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
4814 - done
4815 -
4816 - # respect LINGUAS when installing man pages, #469418
4817 - local l
4818 - for l in de fr pl; do
4819 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
4820 - done
4821 -
4822 - eval "${glob_state}"
4823 -}
4824 -
4825 -pkg_postinst() {
4826 - eselect wine register ${P}
4827 - if [[ ${PN} == "wine-vanilla" ]]; then
4828 - eselect wine register --vanilla ${P} || die
4829 - fi
4830 -
4831 - eselect wine update --all --if-unset || die
4832 -
4833 - xdg_desktop_database_update
4834 -
4835 - if ! use gecko; then
4836 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
4837 - ewarn "implementation of iexplore. Many older windows applications"
4838 - ewarn "rely upon the existence of an iexplore implementation, so"
4839 - ewarn "you will likely need to install an external one, like via winetricks"
4840 - fi
4841 - if ! use mono; then
4842 - ewarn "Without Wine Mono, wine prefixes will not have a default"
4843 - ewarn "implementation of .NET. Many windows applications rely upon"
4844 - ewarn "the existence of a .NET implementation, so you will likely need"
4845 - ewarn "to install an external one, like via winetricks"
4846 - fi
4847 -}
4848 -
4849 -pkg_prerm() {
4850 - eselect wine deregister ${P}
4851 - if [[ ${PN} == "wine-vanilla" ]]; then
4852 - eselect wine deregister --vanilla ${P} || die
4853 - fi
4854 -
4855 - eselect wine update --all --if-unset || die
4856 -}
4857 -
4858 -pkg_postrm() {
4859 - xdg_desktop_database_update
4860 -}
4861
4862 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.12-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.12-r1.ebuild
4863 deleted file mode 100644
4864 index 0cbbf7c0682..00000000000
4865 --- a/app-emulation/wine-vanilla/wine-vanilla-2.12-r1.ebuild
4866 +++ /dev/null
4867 @@ -1,529 +0,0 @@
4868 -# Copyright 1999-2017 Gentoo Foundation
4869 -# Distributed under the terms of the GNU General Public License v2
4870 -
4871 -EAPI=6
4872 -
4873 -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"
4874 -PLOCALE_BACKUP="en"
4875 -
4876 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
4877 -
4878 -MY_PN="${PN%%-*}"
4879 -MY_P="${MY_PN}-${PV}"
4880 -
4881 -if [[ ${PV} == "9999" ]] ; then
4882 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
4883 - EGIT_BRANCH="master"
4884 - inherit git-r3
4885 - SRC_URI=""
4886 - #KEYWORDS=""
4887 -else
4888 - MAJOR_V=$(get_version_component_range 1)
4889 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
4890 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
4891 -fi
4892 -S="${WORKDIR}/${MY_P}"
4893 -
4894 -GWP_V="20170830"
4895 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
4896 -
4897 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
4898 -HOMEPAGE="https://www.winehq.org/"
4899 -SRC_URI="${SRC_URI}
4900 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
4901 -"
4902 -
4903 -LICENSE="LGPL-2.1"
4904 -SLOT="${PV}"
4905 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
4906 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
4907 - X? ( truetype )
4908 - elibc_glibc? ( threads )
4909 - osmesa? ( opengl )
4910 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
4911 -
4912 -# FIXME: the test suite is unsuitable for us; many tests require net access
4913 -# or fail due to Xvfb's opengl limitations.
4914 -RESTRICT="test"
4915 -
4916 -COMMON_DEPEND="
4917 - X? (
4918 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
4919 - x11-libs/libXext[${MULTILIB_USEDEP}]
4920 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
4921 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
4922 - x11-libs/libXi[${MULTILIB_USEDEP}]
4923 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
4924 - )
4925 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
4926 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
4927 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
4928 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
4929 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
4930 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
4931 - gstreamer? (
4932 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
4933 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
4934 - )
4935 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
4936 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
4937 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
4938 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
4939 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
4940 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
4941 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
4942 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
4943 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
4944 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
4945 - opengl? (
4946 - virtual/glu[${MULTILIB_USEDEP}]
4947 - virtual/opengl[${MULTILIB_USEDEP}]
4948 - )
4949 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
4950 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
4951 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4952 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
4953 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
4954 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
4955 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
4956 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
4957 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
4958 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
4959 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
4960 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
4961 - xml? (
4962 - dev-libs/libxml2[${MULTILIB_USEDEP}]
4963 - dev-libs/libxslt[${MULTILIB_USEDEP}]
4964 - )
4965 - abi_x86_32? (
4966 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
4967 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
4968 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
4969 - !<app-emulation/emul-linux-x86-db-20140508-r3
4970 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
4971 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
4972 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
4973 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
4974 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
4975 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
4976 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
4977 - !<app-emulation/emul-linux-x86-soundlibs-20140508
4978 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
4979 - !<app-emulation/emul-linux-x86-xlibs-20140508
4980 - )"
4981 -
4982 -RDEPEND="${COMMON_DEPEND}
4983 - app-emulation/wine-desktop-common
4984 - >app-eselect/eselect-wine-0.3
4985 - !app-emulation/wine:0
4986 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
4987 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
4988 - mono? ( app-emulation/wine-mono:4.7.0 )
4989 - perl? (
4990 - dev-lang/perl
4991 - dev-perl/XML-Simple
4992 - )
4993 - pulseaudio? (
4994 - realtime? ( sys-auth/rtkit )
4995 - )
4996 - samba? ( >=net-fs/samba-3.0.25[winbind] )
4997 - selinux? ( sec-policy/selinux-wine )
4998 - udisks? ( sys-fs/udisks:2 )"
4999 -
5000 -# tools/make_requests requires perl
5001 -DEPEND="${COMMON_DEPEND}
5002 - sys-devel/flex
5003 - >=sys-kernel/linux-headers-2.6
5004 - virtual/pkgconfig
5005 - virtual/yacc
5006 - X? (
5007 - x11-proto/inputproto
5008 - x11-proto/xextproto
5009 - x11-proto/xf86vidmodeproto
5010 - )
5011 - prelink? ( sys-devel/prelink )
5012 - xinerama? ( x11-proto/xineramaproto )"
5013 -
5014 -# These use a non-standard "Wine" category, which is provided by
5015 -# /etc/xdg/applications-merged/wine.menu
5016 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
5017 -usr/share/applications/wine-notepad.desktop
5018 -usr/share/applications/wine-uninstaller.desktop
5019 -usr/share/applications/wine-winecfg.desktop"
5020 -
5021 -PATCHES=(
5022 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
5023 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
5024 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
5025 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
5026 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
5027 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
5028 -)
5029 -PATCHES_BIN=(
5030 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
5031 -)
5032 -
5033 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
5034 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
5035 - DEPEND+=" dev-util/patchbin"
5036 -fi
5037 -
5038 -wine_compiler_check() {
5039 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5040 -
5041 - # GCC-specific bugs
5042 - if tc-is-gcc; then
5043 - # bug #549768
5044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
5045 - ebegin "Checking for gcc-5 ms_abi compiler bug"
5046 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
5047 - # Run in subshell to prevent "Aborted" message
5048 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
5049 - if ! eend $?; then
5050 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
5051 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
5052 - eerror "or use gcc-config to select a different compiler version."
5053 - eerror "See https://bugs.gentoo.org/549768"
5054 - eerror
5055 - return 1
5056 - fi
5057 - fi
5058 - # bug #574044
5059 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
5060 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
5061 - # Compile in subshell to prevent "Aborted" message
5062 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
5063 - if ! eend $?; then
5064 - eerror "Wine cannot be built with this version of gcc-5.3"
5065 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
5066 - eerror "or use gcc-config to select a different compiler version."
5067 - eerror "See https://bugs.gentoo.org/574044"
5068 - eerror
5069 - return 1
5070 - fi
5071 - fi
5072 - fi
5073 -
5074 - # Ensure compiler support
5075 - if use abi_x86_64; then
5076 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
5077 - # Compile in subshell to prevent "Aborted" message
5078 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
5079 - if ! eend $?; then
5080 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
5081 - eerror
5082 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
5083 - eerror
5084 - return 1
5085 - fi
5086 - fi
5087 -}
5088 -
5089 -wine_build_environment_check() {
5090 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5091 -
5092 - if use abi_x86_64; then
5093 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
5094 - eerror "You need gcc-4.4+ to compile 64-bit wine"
5095 - die
5096 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
5097 - eerror "You need clang-3.8+ to compile 64-bit wine"
5098 - die
5099 - fi
5100 - fi
5101 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
5102 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
5103 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
5104 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
5105 - fi
5106 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
5107 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
5108 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
5109 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
5110 - ewarn "See package.env in man 5 portage for more information on how to do this."
5111 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
5112 - fi
5113 - fi
5114 -
5115 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
5116 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
5117 - eerror "See https://bugs.gentoo.org/487864 for more details."
5118 - eerror
5119 - return 1
5120 - fi
5121 -}
5122 -
5123 -wine_env_vcs_vars() {
5124 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
5125 - local pn_live_val="${pn_live_var}"
5126 - eval pn_live_val='$'${pn_live_val}
5127 - if [[ ! -z ${EGIT_COMMIT} ]]; then
5128 - eerror "Commits must now be specified using the environmental variables"
5129 - eerror "WINE_COMMIT"
5130 - eerror
5131 - return 1
5132 - fi
5133 -}
5134 -
5135 -pkg_pretend() {
5136 - wine_build_environment_check || die
5137 -
5138 - # Verify OSS support
5139 - if use oss && ! use kernel_FreeBSD; then
5140 - if ! has_version ">=media-sound/oss-4"; then
5141 - eerror "You cannot build wine with USE=oss without having support from a"
5142 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
5143 - eerror
5144 - die
5145 - fi
5146 - fi
5147 -}
5148 -
5149 -pkg_setup() {
5150 - wine_build_environment_check || die
5151 - wine_env_vcs_vars || die
5152 -
5153 - WINE_VARIANT="${PN#wine}-${PV}"
5154 - WINE_VARIANT="${WINE_VARIANT#-}"
5155 -
5156 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
5157 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
5158 - MY_DATADIR="${MY_DATAROOTDIR}"
5159 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
5160 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
5161 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
5162 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
5163 - MY_MANDIR="${MY_DATADIR}/man"
5164 -}
5165 -
5166 -src_unpack() {
5167 - if [[ ${PV} == "9999" ]] ; then
5168 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
5169 - fi
5170 -
5171 - default
5172 -
5173 - l10n_find_plocales_changes "${S}/po" "" ".po"
5174 -}
5175 -
5176 -src_prepare() {
5177 -
5178 - eapply_bin(){
5179 - local patch
5180 - for patch in ${PATCHES_BIN[@]}; do
5181 - patchbin --nogit < "${patch}" || die
5182 - done
5183 - }
5184 -
5185 - local md5="$(md5sum server/protocol.def)"
5186 -
5187 - default
5188 - eapply_bin
5189 - eautoreconf
5190 -
5191 - # Modification of the server protocol requires regenerating the server requests
5192 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
5193 - einfo "server/protocol.def was patched; running tools/make_requests"
5194 - tools/make_requests || die #432348
5195 - fi
5196 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
5197 - if ! use run-exes; then
5198 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
5199 - fi
5200 -
5201 - # Edit wine.desktop to work for specific variant
5202 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
5203 -
5204 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
5205 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
5206 -
5207 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
5208 -}
5209 -
5210 -src_configure() {
5211 - wine_compiler_check || die
5212 -
5213 - export LDCONFIG=/bin/true
5214 - use custom-cflags || strip-flags
5215 -
5216 - multilib-minimal_src_configure
5217 -}
5218 -
5219 -multilib_src_configure() {
5220 - local myconf=(
5221 - --prefix="${MY_PREFIX}"
5222 - --datarootdir="${MY_DATAROOTDIR}"
5223 - --datadir="${MY_DATADIR}"
5224 - --docdir="${MY_DOCDIR}"
5225 - --includedir="${MY_INCLUDEDIR}"
5226 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
5227 - --libexecdir="${MY_LIBEXECDIR}"
5228 - --localstatedir="${MY_LOCALSTATEDIR}"
5229 - --mandir="${MY_MANDIR}"
5230 - --sysconfdir=/etc/wine
5231 - $(use_with alsa)
5232 - $(use_with capi)
5233 - $(use_with lcms cms)
5234 - $(use_with cups)
5235 - $(use_with ncurses curses)
5236 - $(use_with udisks dbus)
5237 - $(use_with fontconfig)
5238 - $(use_with ssl gnutls)
5239 - $(use_enable gecko mshtml)
5240 - $(use_with gphoto2 gphoto)
5241 - $(use_with gsm)
5242 - $(use_with gstreamer)
5243 - --without-hal
5244 - $(use_with jpeg)
5245 - $(use_with ldap)
5246 - $(use_enable mono mscoree)
5247 - $(use_with mp3 mpg123)
5248 - $(use_with netapi)
5249 - $(use_with nls gettext)
5250 - $(use_with openal)
5251 - $(use_with opencl)
5252 - $(use_with opengl)
5253 - $(use_with osmesa)
5254 - $(use_with oss)
5255 - $(use_with pcap)
5256 - $(use_with png)
5257 - $(use_with pulseaudio pulse)
5258 - $(use_with threads pthread)
5259 - $(use_with scanner sane)
5260 - $(use_enable test tests)
5261 - $(use_with truetype freetype)
5262 - $(use_with udev)
5263 - $(use_with v4l)
5264 - $(use_with X x)
5265 - $(use_with X xfixes)
5266 - $(use_with xcomposite)
5267 - $(use_with xinerama)
5268 - $(use_with xml)
5269 - $(use_with xml xslt)
5270 - )
5271 -
5272 - local PKG_CONFIG AR RANLIB
5273 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
5274 - # set AR and RANLIB to make QA scripts happy; #483342
5275 - tc-export PKG_CONFIG AR RANLIB
5276 -
5277 - if use amd64; then
5278 - if [[ ${ABI} == amd64 ]]; then
5279 - myconf+=( --enable-win64 )
5280 - else
5281 - myconf+=( --disable-win64 )
5282 - fi
5283 -
5284 - # Note: using --with-wine64 results in problems with multilib.eclass
5285 - # CC/LD hackery. We're using separate tools instead.
5286 - fi
5287 -
5288 - ECONF_SOURCE=${S} \
5289 - econf "${myconf[@]}"
5290 - emake depend
5291 -}
5292 -
5293 -multilib_src_test() {
5294 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
5295 - if [[ ${ABI} == x86 ]]; then
5296 - if [[ $(id -u) == 0 ]]; then
5297 - ewarn "Skipping tests since they cannot be run under the root user."
5298 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
5299 - return
5300 - fi
5301 -
5302 - WINEPREFIX="${T}/.wine-${ABI}" \
5303 - Xemake test
5304 - fi
5305 -}
5306 -
5307 -multilib_src_install_all() {
5308 - local DOCS=( ANNOUNCE AUTHORS README )
5309 - add_locale_docs() {
5310 - local locale_doc="documentation/README.$1"
5311 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
5312 - }
5313 - l10n_for_each_locale_do add_locale_docs
5314 -
5315 - einstalldocs
5316 - prune_libtool_files --all
5317 -
5318 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
5319 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
5320 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
5321 - fi
5322 -
5323 - # Remove wineconsole if neither backend is installed #551124
5324 - if ! use X && ! use ncurses; then
5325 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
5326 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
5327 - rm_wineconsole() {
5328 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
5329 - }
5330 - multilib_foreach_abi rm_wineconsole
5331 - fi
5332 -
5333 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
5334 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
5335 -
5336 - if use abi_x86_64 && ! use abi_x86_32; then
5337 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
5338 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
5339 - fi
5340 -
5341 - # Failglob for bin and man loops
5342 - local glob_state=$(shopt -p failglob)
5343 - shopt -s failglob
5344 -
5345 - # Make wrappers for binaries for handling multiple variants
5346 - # Note: wrappers instead of symlinks because some are shell which use basename
5347 - local b
5348 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
5349 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
5350 - done
5351 -
5352 - # respect LINGUAS when installing man pages, #469418
5353 - local l
5354 - for l in de fr pl; do
5355 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
5356 - done
5357 -
5358 - eval "${glob_state}"
5359 -}
5360 -
5361 -pkg_postinst() {
5362 - eselect wine register ${P}
5363 - if [[ ${PN} == "wine-vanilla" ]]; then
5364 - eselect wine register --vanilla ${P} || die
5365 - fi
5366 -
5367 - eselect wine update --all --if-unset || die
5368 -
5369 - xdg_desktop_database_update
5370 -
5371 - if ! use gecko; then
5372 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
5373 - ewarn "implementation of iexplore. Many older windows applications"
5374 - ewarn "rely upon the existence of an iexplore implementation, so"
5375 - ewarn "you will likely need to install an external one, like via winetricks"
5376 - fi
5377 - if ! use mono; then
5378 - ewarn "Without Wine Mono, wine prefixes will not have a default"
5379 - ewarn "implementation of .NET. Many windows applications rely upon"
5380 - ewarn "the existence of a .NET implementation, so you will likely need"
5381 - ewarn "to install an external one, like via winetricks"
5382 - fi
5383 -}
5384 -
5385 -pkg_prerm() {
5386 - eselect wine deregister ${P}
5387 - if [[ ${PN} == "wine-vanilla" ]]; then
5388 - eselect wine deregister --vanilla ${P} || die
5389 - fi
5390 -
5391 - eselect wine update --all --if-unset || die
5392 -}
5393 -
5394 -pkg_postrm() {
5395 - xdg_desktop_database_update
5396 -}
5397
5398 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.13-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.13-r1.ebuild
5399 deleted file mode 100644
5400 index 0cbbf7c0682..00000000000
5401 --- a/app-emulation/wine-vanilla/wine-vanilla-2.13-r1.ebuild
5402 +++ /dev/null
5403 @@ -1,529 +0,0 @@
5404 -# Copyright 1999-2017 Gentoo Foundation
5405 -# Distributed under the terms of the GNU General Public License v2
5406 -
5407 -EAPI=6
5408 -
5409 -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"
5410 -PLOCALE_BACKUP="en"
5411 -
5412 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
5413 -
5414 -MY_PN="${PN%%-*}"
5415 -MY_P="${MY_PN}-${PV}"
5416 -
5417 -if [[ ${PV} == "9999" ]] ; then
5418 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
5419 - EGIT_BRANCH="master"
5420 - inherit git-r3
5421 - SRC_URI=""
5422 - #KEYWORDS=""
5423 -else
5424 - MAJOR_V=$(get_version_component_range 1)
5425 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
5426 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
5427 -fi
5428 -S="${WORKDIR}/${MY_P}"
5429 -
5430 -GWP_V="20170830"
5431 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
5432 -
5433 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
5434 -HOMEPAGE="https://www.winehq.org/"
5435 -SRC_URI="${SRC_URI}
5436 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
5437 -"
5438 -
5439 -LICENSE="LGPL-2.1"
5440 -SLOT="${PV}"
5441 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
5442 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
5443 - X? ( truetype )
5444 - elibc_glibc? ( threads )
5445 - osmesa? ( opengl )
5446 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
5447 -
5448 -# FIXME: the test suite is unsuitable for us; many tests require net access
5449 -# or fail due to Xvfb's opengl limitations.
5450 -RESTRICT="test"
5451 -
5452 -COMMON_DEPEND="
5453 - X? (
5454 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
5455 - x11-libs/libXext[${MULTILIB_USEDEP}]
5456 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
5457 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
5458 - x11-libs/libXi[${MULTILIB_USEDEP}]
5459 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
5460 - )
5461 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
5462 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
5463 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
5464 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
5465 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
5466 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
5467 - gstreamer? (
5468 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
5469 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
5470 - )
5471 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
5472 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
5473 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
5474 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
5475 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
5476 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
5477 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
5478 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
5479 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
5480 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
5481 - opengl? (
5482 - virtual/glu[${MULTILIB_USEDEP}]
5483 - virtual/opengl[${MULTILIB_USEDEP}]
5484 - )
5485 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
5486 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
5487 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
5488 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
5489 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
5490 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
5491 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
5492 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
5493 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
5494 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
5495 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
5496 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
5497 - xml? (
5498 - dev-libs/libxml2[${MULTILIB_USEDEP}]
5499 - dev-libs/libxslt[${MULTILIB_USEDEP}]
5500 - )
5501 - abi_x86_32? (
5502 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
5503 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
5504 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
5505 - !<app-emulation/emul-linux-x86-db-20140508-r3
5506 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
5507 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
5508 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
5509 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
5510 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
5511 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
5512 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
5513 - !<app-emulation/emul-linux-x86-soundlibs-20140508
5514 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
5515 - !<app-emulation/emul-linux-x86-xlibs-20140508
5516 - )"
5517 -
5518 -RDEPEND="${COMMON_DEPEND}
5519 - app-emulation/wine-desktop-common
5520 - >app-eselect/eselect-wine-0.3
5521 - !app-emulation/wine:0
5522 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
5523 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
5524 - mono? ( app-emulation/wine-mono:4.7.0 )
5525 - perl? (
5526 - dev-lang/perl
5527 - dev-perl/XML-Simple
5528 - )
5529 - pulseaudio? (
5530 - realtime? ( sys-auth/rtkit )
5531 - )
5532 - samba? ( >=net-fs/samba-3.0.25[winbind] )
5533 - selinux? ( sec-policy/selinux-wine )
5534 - udisks? ( sys-fs/udisks:2 )"
5535 -
5536 -# tools/make_requests requires perl
5537 -DEPEND="${COMMON_DEPEND}
5538 - sys-devel/flex
5539 - >=sys-kernel/linux-headers-2.6
5540 - virtual/pkgconfig
5541 - virtual/yacc
5542 - X? (
5543 - x11-proto/inputproto
5544 - x11-proto/xextproto
5545 - x11-proto/xf86vidmodeproto
5546 - )
5547 - prelink? ( sys-devel/prelink )
5548 - xinerama? ( x11-proto/xineramaproto )"
5549 -
5550 -# These use a non-standard "Wine" category, which is provided by
5551 -# /etc/xdg/applications-merged/wine.menu
5552 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
5553 -usr/share/applications/wine-notepad.desktop
5554 -usr/share/applications/wine-uninstaller.desktop
5555 -usr/share/applications/wine-winecfg.desktop"
5556 -
5557 -PATCHES=(
5558 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
5559 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
5560 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
5561 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
5562 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
5563 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
5564 -)
5565 -PATCHES_BIN=(
5566 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
5567 -)
5568 -
5569 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
5570 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
5571 - DEPEND+=" dev-util/patchbin"
5572 -fi
5573 -
5574 -wine_compiler_check() {
5575 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5576 -
5577 - # GCC-specific bugs
5578 - if tc-is-gcc; then
5579 - # bug #549768
5580 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
5581 - ebegin "Checking for gcc-5 ms_abi compiler bug"
5582 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
5583 - # Run in subshell to prevent "Aborted" message
5584 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
5585 - if ! eend $?; then
5586 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
5587 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
5588 - eerror "or use gcc-config to select a different compiler version."
5589 - eerror "See https://bugs.gentoo.org/549768"
5590 - eerror
5591 - return 1
5592 - fi
5593 - fi
5594 - # bug #574044
5595 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
5596 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
5597 - # Compile in subshell to prevent "Aborted" message
5598 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
5599 - if ! eend $?; then
5600 - eerror "Wine cannot be built with this version of gcc-5.3"
5601 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
5602 - eerror "or use gcc-config to select a different compiler version."
5603 - eerror "See https://bugs.gentoo.org/574044"
5604 - eerror
5605 - return 1
5606 - fi
5607 - fi
5608 - fi
5609 -
5610 - # Ensure compiler support
5611 - if use abi_x86_64; then
5612 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
5613 - # Compile in subshell to prevent "Aborted" message
5614 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
5615 - if ! eend $?; then
5616 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
5617 - eerror
5618 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
5619 - eerror
5620 - return 1
5621 - fi
5622 - fi
5623 -}
5624 -
5625 -wine_build_environment_check() {
5626 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5627 -
5628 - if use abi_x86_64; then
5629 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
5630 - eerror "You need gcc-4.4+ to compile 64-bit wine"
5631 - die
5632 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
5633 - eerror "You need clang-3.8+ to compile 64-bit wine"
5634 - die
5635 - fi
5636 - fi
5637 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
5638 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
5639 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
5640 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
5641 - fi
5642 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
5643 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
5644 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
5645 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
5646 - ewarn "See package.env in man 5 portage for more information on how to do this."
5647 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
5648 - fi
5649 - fi
5650 -
5651 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
5652 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
5653 - eerror "See https://bugs.gentoo.org/487864 for more details."
5654 - eerror
5655 - return 1
5656 - fi
5657 -}
5658 -
5659 -wine_env_vcs_vars() {
5660 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
5661 - local pn_live_val="${pn_live_var}"
5662 - eval pn_live_val='$'${pn_live_val}
5663 - if [[ ! -z ${EGIT_COMMIT} ]]; then
5664 - eerror "Commits must now be specified using the environmental variables"
5665 - eerror "WINE_COMMIT"
5666 - eerror
5667 - return 1
5668 - fi
5669 -}
5670 -
5671 -pkg_pretend() {
5672 - wine_build_environment_check || die
5673 -
5674 - # Verify OSS support
5675 - if use oss && ! use kernel_FreeBSD; then
5676 - if ! has_version ">=media-sound/oss-4"; then
5677 - eerror "You cannot build wine with USE=oss without having support from a"
5678 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
5679 - eerror
5680 - die
5681 - fi
5682 - fi
5683 -}
5684 -
5685 -pkg_setup() {
5686 - wine_build_environment_check || die
5687 - wine_env_vcs_vars || die
5688 -
5689 - WINE_VARIANT="${PN#wine}-${PV}"
5690 - WINE_VARIANT="${WINE_VARIANT#-}"
5691 -
5692 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
5693 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
5694 - MY_DATADIR="${MY_DATAROOTDIR}"
5695 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
5696 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
5697 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
5698 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
5699 - MY_MANDIR="${MY_DATADIR}/man"
5700 -}
5701 -
5702 -src_unpack() {
5703 - if [[ ${PV} == "9999" ]] ; then
5704 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
5705 - fi
5706 -
5707 - default
5708 -
5709 - l10n_find_plocales_changes "${S}/po" "" ".po"
5710 -}
5711 -
5712 -src_prepare() {
5713 -
5714 - eapply_bin(){
5715 - local patch
5716 - for patch in ${PATCHES_BIN[@]}; do
5717 - patchbin --nogit < "${patch}" || die
5718 - done
5719 - }
5720 -
5721 - local md5="$(md5sum server/protocol.def)"
5722 -
5723 - default
5724 - eapply_bin
5725 - eautoreconf
5726 -
5727 - # Modification of the server protocol requires regenerating the server requests
5728 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
5729 - einfo "server/protocol.def was patched; running tools/make_requests"
5730 - tools/make_requests || die #432348
5731 - fi
5732 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
5733 - if ! use run-exes; then
5734 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
5735 - fi
5736 -
5737 - # Edit wine.desktop to work for specific variant
5738 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
5739 -
5740 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
5741 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
5742 -
5743 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
5744 -}
5745 -
5746 -src_configure() {
5747 - wine_compiler_check || die
5748 -
5749 - export LDCONFIG=/bin/true
5750 - use custom-cflags || strip-flags
5751 -
5752 - multilib-minimal_src_configure
5753 -}
5754 -
5755 -multilib_src_configure() {
5756 - local myconf=(
5757 - --prefix="${MY_PREFIX}"
5758 - --datarootdir="${MY_DATAROOTDIR}"
5759 - --datadir="${MY_DATADIR}"
5760 - --docdir="${MY_DOCDIR}"
5761 - --includedir="${MY_INCLUDEDIR}"
5762 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
5763 - --libexecdir="${MY_LIBEXECDIR}"
5764 - --localstatedir="${MY_LOCALSTATEDIR}"
5765 - --mandir="${MY_MANDIR}"
5766 - --sysconfdir=/etc/wine
5767 - $(use_with alsa)
5768 - $(use_with capi)
5769 - $(use_with lcms cms)
5770 - $(use_with cups)
5771 - $(use_with ncurses curses)
5772 - $(use_with udisks dbus)
5773 - $(use_with fontconfig)
5774 - $(use_with ssl gnutls)
5775 - $(use_enable gecko mshtml)
5776 - $(use_with gphoto2 gphoto)
5777 - $(use_with gsm)
5778 - $(use_with gstreamer)
5779 - --without-hal
5780 - $(use_with jpeg)
5781 - $(use_with ldap)
5782 - $(use_enable mono mscoree)
5783 - $(use_with mp3 mpg123)
5784 - $(use_with netapi)
5785 - $(use_with nls gettext)
5786 - $(use_with openal)
5787 - $(use_with opencl)
5788 - $(use_with opengl)
5789 - $(use_with osmesa)
5790 - $(use_with oss)
5791 - $(use_with pcap)
5792 - $(use_with png)
5793 - $(use_with pulseaudio pulse)
5794 - $(use_with threads pthread)
5795 - $(use_with scanner sane)
5796 - $(use_enable test tests)
5797 - $(use_with truetype freetype)
5798 - $(use_with udev)
5799 - $(use_with v4l)
5800 - $(use_with X x)
5801 - $(use_with X xfixes)
5802 - $(use_with xcomposite)
5803 - $(use_with xinerama)
5804 - $(use_with xml)
5805 - $(use_with xml xslt)
5806 - )
5807 -
5808 - local PKG_CONFIG AR RANLIB
5809 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
5810 - # set AR and RANLIB to make QA scripts happy; #483342
5811 - tc-export PKG_CONFIG AR RANLIB
5812 -
5813 - if use amd64; then
5814 - if [[ ${ABI} == amd64 ]]; then
5815 - myconf+=( --enable-win64 )
5816 - else
5817 - myconf+=( --disable-win64 )
5818 - fi
5819 -
5820 - # Note: using --with-wine64 results in problems with multilib.eclass
5821 - # CC/LD hackery. We're using separate tools instead.
5822 - fi
5823 -
5824 - ECONF_SOURCE=${S} \
5825 - econf "${myconf[@]}"
5826 - emake depend
5827 -}
5828 -
5829 -multilib_src_test() {
5830 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
5831 - if [[ ${ABI} == x86 ]]; then
5832 - if [[ $(id -u) == 0 ]]; then
5833 - ewarn "Skipping tests since they cannot be run under the root user."
5834 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
5835 - return
5836 - fi
5837 -
5838 - WINEPREFIX="${T}/.wine-${ABI}" \
5839 - Xemake test
5840 - fi
5841 -}
5842 -
5843 -multilib_src_install_all() {
5844 - local DOCS=( ANNOUNCE AUTHORS README )
5845 - add_locale_docs() {
5846 - local locale_doc="documentation/README.$1"
5847 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
5848 - }
5849 - l10n_for_each_locale_do add_locale_docs
5850 -
5851 - einstalldocs
5852 - prune_libtool_files --all
5853 -
5854 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
5855 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
5856 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
5857 - fi
5858 -
5859 - # Remove wineconsole if neither backend is installed #551124
5860 - if ! use X && ! use ncurses; then
5861 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
5862 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
5863 - rm_wineconsole() {
5864 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
5865 - }
5866 - multilib_foreach_abi rm_wineconsole
5867 - fi
5868 -
5869 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
5870 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
5871 -
5872 - if use abi_x86_64 && ! use abi_x86_32; then
5873 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
5874 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
5875 - fi
5876 -
5877 - # Failglob for bin and man loops
5878 - local glob_state=$(shopt -p failglob)
5879 - shopt -s failglob
5880 -
5881 - # Make wrappers for binaries for handling multiple variants
5882 - # Note: wrappers instead of symlinks because some are shell which use basename
5883 - local b
5884 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
5885 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
5886 - done
5887 -
5888 - # respect LINGUAS when installing man pages, #469418
5889 - local l
5890 - for l in de fr pl; do
5891 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
5892 - done
5893 -
5894 - eval "${glob_state}"
5895 -}
5896 -
5897 -pkg_postinst() {
5898 - eselect wine register ${P}
5899 - if [[ ${PN} == "wine-vanilla" ]]; then
5900 - eselect wine register --vanilla ${P} || die
5901 - fi
5902 -
5903 - eselect wine update --all --if-unset || die
5904 -
5905 - xdg_desktop_database_update
5906 -
5907 - if ! use gecko; then
5908 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
5909 - ewarn "implementation of iexplore. Many older windows applications"
5910 - ewarn "rely upon the existence of an iexplore implementation, so"
5911 - ewarn "you will likely need to install an external one, like via winetricks"
5912 - fi
5913 - if ! use mono; then
5914 - ewarn "Without Wine Mono, wine prefixes will not have a default"
5915 - ewarn "implementation of .NET. Many windows applications rely upon"
5916 - ewarn "the existence of a .NET implementation, so you will likely need"
5917 - ewarn "to install an external one, like via winetricks"
5918 - fi
5919 -}
5920 -
5921 -pkg_prerm() {
5922 - eselect wine deregister ${P}
5923 - if [[ ${PN} == "wine-vanilla" ]]; then
5924 - eselect wine deregister --vanilla ${P} || die
5925 - fi
5926 -
5927 - eselect wine update --all --if-unset || die
5928 -}
5929 -
5930 -pkg_postrm() {
5931 - xdg_desktop_database_update
5932 -}
5933
5934 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.14-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.14-r1.ebuild
5935 deleted file mode 100644
5936 index 7a674044d95..00000000000
5937 --- a/app-emulation/wine-vanilla/wine-vanilla-2.14-r1.ebuild
5938 +++ /dev/null
5939 @@ -1,529 +0,0 @@
5940 -# Copyright 1999-2017 Gentoo Foundation
5941 -# Distributed under the terms of the GNU General Public License v2
5942 -
5943 -EAPI=6
5944 -
5945 -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"
5946 -PLOCALE_BACKUP="en"
5947 -
5948 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
5949 -
5950 -MY_PN="${PN%%-*}"
5951 -MY_P="${MY_PN}-${PV}"
5952 -
5953 -if [[ ${PV} == "9999" ]] ; then
5954 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
5955 - EGIT_BRANCH="master"
5956 - inherit git-r3
5957 - SRC_URI=""
5958 - #KEYWORDS=""
5959 -else
5960 - MAJOR_V=$(get_version_component_range 1)
5961 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
5962 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
5963 -fi
5964 -S="${WORKDIR}/${MY_P}"
5965 -
5966 -GWP_V="20170830"
5967 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
5968 -
5969 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
5970 -HOMEPAGE="https://www.winehq.org/"
5971 -SRC_URI="${SRC_URI}
5972 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
5973 -"
5974 -
5975 -LICENSE="LGPL-2.1"
5976 -SLOT="${PV}"
5977 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
5978 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
5979 - X? ( truetype )
5980 - elibc_glibc? ( threads )
5981 - osmesa? ( opengl )
5982 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
5983 -
5984 -# FIXME: the test suite is unsuitable for us; many tests require net access
5985 -# or fail due to Xvfb's opengl limitations.
5986 -RESTRICT="test"
5987 -
5988 -COMMON_DEPEND="
5989 - X? (
5990 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
5991 - x11-libs/libXext[${MULTILIB_USEDEP}]
5992 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
5993 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
5994 - x11-libs/libXi[${MULTILIB_USEDEP}]
5995 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
5996 - )
5997 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
5998 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
5999 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
6000 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
6001 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
6002 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
6003 - gstreamer? (
6004 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
6005 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
6006 - )
6007 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
6008 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
6009 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
6010 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
6011 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
6012 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
6013 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
6014 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
6015 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
6016 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
6017 - opengl? (
6018 - virtual/glu[${MULTILIB_USEDEP}]
6019 - virtual/opengl[${MULTILIB_USEDEP}]
6020 - )
6021 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
6022 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
6023 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
6024 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
6025 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
6026 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
6027 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
6028 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
6029 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
6030 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
6031 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
6032 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
6033 - xml? (
6034 - dev-libs/libxml2[${MULTILIB_USEDEP}]
6035 - dev-libs/libxslt[${MULTILIB_USEDEP}]
6036 - )
6037 - abi_x86_32? (
6038 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
6039 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
6040 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
6041 - !<app-emulation/emul-linux-x86-db-20140508-r3
6042 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
6043 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
6044 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
6045 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
6046 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
6047 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
6048 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
6049 - !<app-emulation/emul-linux-x86-soundlibs-20140508
6050 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
6051 - !<app-emulation/emul-linux-x86-xlibs-20140508
6052 - )"
6053 -
6054 -RDEPEND="${COMMON_DEPEND}
6055 - app-emulation/wine-desktop-common
6056 - >app-eselect/eselect-wine-0.3
6057 - !app-emulation/wine:0
6058 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
6059 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
6060 - mono? ( app-emulation/wine-mono:4.7.1 )
6061 - perl? (
6062 - dev-lang/perl
6063 - dev-perl/XML-Simple
6064 - )
6065 - pulseaudio? (
6066 - realtime? ( sys-auth/rtkit )
6067 - )
6068 - samba? ( >=net-fs/samba-3.0.25[winbind] )
6069 - selinux? ( sec-policy/selinux-wine )
6070 - udisks? ( sys-fs/udisks:2 )"
6071 -
6072 -# tools/make_requests requires perl
6073 -DEPEND="${COMMON_DEPEND}
6074 - sys-devel/flex
6075 - >=sys-kernel/linux-headers-2.6
6076 - virtual/pkgconfig
6077 - virtual/yacc
6078 - X? (
6079 - x11-proto/inputproto
6080 - x11-proto/xextproto
6081 - x11-proto/xf86vidmodeproto
6082 - )
6083 - prelink? ( sys-devel/prelink )
6084 - xinerama? ( x11-proto/xineramaproto )"
6085 -
6086 -# These use a non-standard "Wine" category, which is provided by
6087 -# /etc/xdg/applications-merged/wine.menu
6088 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
6089 -usr/share/applications/wine-notepad.desktop
6090 -usr/share/applications/wine-uninstaller.desktop
6091 -usr/share/applications/wine-winecfg.desktop"
6092 -
6093 -PATCHES=(
6094 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
6095 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
6096 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
6097 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
6098 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
6099 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
6100 -)
6101 -PATCHES_BIN=(
6102 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
6103 -)
6104 -
6105 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
6106 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
6107 - DEPEND+=" dev-util/patchbin"
6108 -fi
6109 -
6110 -wine_compiler_check() {
6111 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6112 -
6113 - # GCC-specific bugs
6114 - if tc-is-gcc; then
6115 - # bug #549768
6116 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
6117 - ebegin "Checking for gcc-5 ms_abi compiler bug"
6118 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
6119 - # Run in subshell to prevent "Aborted" message
6120 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
6121 - if ! eend $?; then
6122 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
6123 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
6124 - eerror "or use gcc-config to select a different compiler version."
6125 - eerror "See https://bugs.gentoo.org/549768"
6126 - eerror
6127 - return 1
6128 - fi
6129 - fi
6130 - # bug #574044
6131 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
6132 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
6133 - # Compile in subshell to prevent "Aborted" message
6134 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
6135 - if ! eend $?; then
6136 - eerror "Wine cannot be built with this version of gcc-5.3"
6137 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
6138 - eerror "or use gcc-config to select a different compiler version."
6139 - eerror "See https://bugs.gentoo.org/574044"
6140 - eerror
6141 - return 1
6142 - fi
6143 - fi
6144 - fi
6145 -
6146 - # Ensure compiler support
6147 - if use abi_x86_64; then
6148 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
6149 - # Compile in subshell to prevent "Aborted" message
6150 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
6151 - if ! eend $?; then
6152 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
6153 - eerror
6154 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
6155 - eerror
6156 - return 1
6157 - fi
6158 - fi
6159 -}
6160 -
6161 -wine_build_environment_check() {
6162 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6163 -
6164 - if use abi_x86_64; then
6165 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
6166 - eerror "You need gcc-4.4+ to compile 64-bit wine"
6167 - die
6168 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
6169 - eerror "You need clang-3.8+ to compile 64-bit wine"
6170 - die
6171 - fi
6172 - fi
6173 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
6174 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
6175 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
6176 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
6177 - fi
6178 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
6179 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
6180 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
6181 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
6182 - ewarn "See package.env in man 5 portage for more information on how to do this."
6183 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
6184 - fi
6185 - fi
6186 -
6187 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
6188 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
6189 - eerror "See https://bugs.gentoo.org/487864 for more details."
6190 - eerror
6191 - return 1
6192 - fi
6193 -}
6194 -
6195 -wine_env_vcs_vars() {
6196 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
6197 - local pn_live_val="${pn_live_var}"
6198 - eval pn_live_val='$'${pn_live_val}
6199 - if [[ ! -z ${EGIT_COMMIT} ]]; then
6200 - eerror "Commits must now be specified using the environmental variables"
6201 - eerror "WINE_COMMIT"
6202 - eerror
6203 - return 1
6204 - fi
6205 -}
6206 -
6207 -pkg_pretend() {
6208 - wine_build_environment_check || die
6209 -
6210 - # Verify OSS support
6211 - if use oss && ! use kernel_FreeBSD; then
6212 - if ! has_version ">=media-sound/oss-4"; then
6213 - eerror "You cannot build wine with USE=oss without having support from a"
6214 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
6215 - eerror
6216 - die
6217 - fi
6218 - fi
6219 -}
6220 -
6221 -pkg_setup() {
6222 - wine_build_environment_check || die
6223 - wine_env_vcs_vars || die
6224 -
6225 - WINE_VARIANT="${PN#wine}-${PV}"
6226 - WINE_VARIANT="${WINE_VARIANT#-}"
6227 -
6228 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
6229 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
6230 - MY_DATADIR="${MY_DATAROOTDIR}"
6231 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
6232 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
6233 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
6234 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
6235 - MY_MANDIR="${MY_DATADIR}/man"
6236 -}
6237 -
6238 -src_unpack() {
6239 - if [[ ${PV} == "9999" ]] ; then
6240 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
6241 - fi
6242 -
6243 - default
6244 -
6245 - l10n_find_plocales_changes "${S}/po" "" ".po"
6246 -}
6247 -
6248 -src_prepare() {
6249 -
6250 - eapply_bin(){
6251 - local patch
6252 - for patch in ${PATCHES_BIN[@]}; do
6253 - patchbin --nogit < "${patch}" || die
6254 - done
6255 - }
6256 -
6257 - local md5="$(md5sum server/protocol.def)"
6258 -
6259 - default
6260 - eapply_bin
6261 - eautoreconf
6262 -
6263 - # Modification of the server protocol requires regenerating the server requests
6264 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
6265 - einfo "server/protocol.def was patched; running tools/make_requests"
6266 - tools/make_requests || die #432348
6267 - fi
6268 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
6269 - if ! use run-exes; then
6270 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
6271 - fi
6272 -
6273 - # Edit wine.desktop to work for specific variant
6274 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
6275 -
6276 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
6277 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
6278 -
6279 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
6280 -}
6281 -
6282 -src_configure() {
6283 - wine_compiler_check || die
6284 -
6285 - export LDCONFIG=/bin/true
6286 - use custom-cflags || strip-flags
6287 -
6288 - multilib-minimal_src_configure
6289 -}
6290 -
6291 -multilib_src_configure() {
6292 - local myconf=(
6293 - --prefix="${MY_PREFIX}"
6294 - --datarootdir="${MY_DATAROOTDIR}"
6295 - --datadir="${MY_DATADIR}"
6296 - --docdir="${MY_DOCDIR}"
6297 - --includedir="${MY_INCLUDEDIR}"
6298 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
6299 - --libexecdir="${MY_LIBEXECDIR}"
6300 - --localstatedir="${MY_LOCALSTATEDIR}"
6301 - --mandir="${MY_MANDIR}"
6302 - --sysconfdir=/etc/wine
6303 - $(use_with alsa)
6304 - $(use_with capi)
6305 - $(use_with lcms cms)
6306 - $(use_with cups)
6307 - $(use_with ncurses curses)
6308 - $(use_with udisks dbus)
6309 - $(use_with fontconfig)
6310 - $(use_with ssl gnutls)
6311 - $(use_enable gecko mshtml)
6312 - $(use_with gphoto2 gphoto)
6313 - $(use_with gsm)
6314 - $(use_with gstreamer)
6315 - --without-hal
6316 - $(use_with jpeg)
6317 - $(use_with ldap)
6318 - $(use_enable mono mscoree)
6319 - $(use_with mp3 mpg123)
6320 - $(use_with netapi)
6321 - $(use_with nls gettext)
6322 - $(use_with openal)
6323 - $(use_with opencl)
6324 - $(use_with opengl)
6325 - $(use_with osmesa)
6326 - $(use_with oss)
6327 - $(use_with pcap)
6328 - $(use_with png)
6329 - $(use_with pulseaudio pulse)
6330 - $(use_with threads pthread)
6331 - $(use_with scanner sane)
6332 - $(use_enable test tests)
6333 - $(use_with truetype freetype)
6334 - $(use_with udev)
6335 - $(use_with v4l)
6336 - $(use_with X x)
6337 - $(use_with X xfixes)
6338 - $(use_with xcomposite)
6339 - $(use_with xinerama)
6340 - $(use_with xml)
6341 - $(use_with xml xslt)
6342 - )
6343 -
6344 - local PKG_CONFIG AR RANLIB
6345 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
6346 - # set AR and RANLIB to make QA scripts happy; #483342
6347 - tc-export PKG_CONFIG AR RANLIB
6348 -
6349 - if use amd64; then
6350 - if [[ ${ABI} == amd64 ]]; then
6351 - myconf+=( --enable-win64 )
6352 - else
6353 - myconf+=( --disable-win64 )
6354 - fi
6355 -
6356 - # Note: using --with-wine64 results in problems with multilib.eclass
6357 - # CC/LD hackery. We're using separate tools instead.
6358 - fi
6359 -
6360 - ECONF_SOURCE=${S} \
6361 - econf "${myconf[@]}"
6362 - emake depend
6363 -}
6364 -
6365 -multilib_src_test() {
6366 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
6367 - if [[ ${ABI} == x86 ]]; then
6368 - if [[ $(id -u) == 0 ]]; then
6369 - ewarn "Skipping tests since they cannot be run under the root user."
6370 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
6371 - return
6372 - fi
6373 -
6374 - WINEPREFIX="${T}/.wine-${ABI}" \
6375 - Xemake test
6376 - fi
6377 -}
6378 -
6379 -multilib_src_install_all() {
6380 - local DOCS=( ANNOUNCE AUTHORS README )
6381 - add_locale_docs() {
6382 - local locale_doc="documentation/README.$1"
6383 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
6384 - }
6385 - l10n_for_each_locale_do add_locale_docs
6386 -
6387 - einstalldocs
6388 - prune_libtool_files --all
6389 -
6390 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
6391 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
6392 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
6393 - fi
6394 -
6395 - # Remove wineconsole if neither backend is installed #551124
6396 - if ! use X && ! use ncurses; then
6397 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
6398 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
6399 - rm_wineconsole() {
6400 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
6401 - }
6402 - multilib_foreach_abi rm_wineconsole
6403 - fi
6404 -
6405 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
6406 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
6407 -
6408 - if use abi_x86_64 && ! use abi_x86_32; then
6409 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
6410 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
6411 - fi
6412 -
6413 - # Failglob for bin and man loops
6414 - local glob_state=$(shopt -p failglob)
6415 - shopt -s failglob
6416 -
6417 - # Make wrappers for binaries for handling multiple variants
6418 - # Note: wrappers instead of symlinks because some are shell which use basename
6419 - local b
6420 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
6421 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
6422 - done
6423 -
6424 - # respect LINGUAS when installing man pages, #469418
6425 - local l
6426 - for l in de fr pl; do
6427 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
6428 - done
6429 -
6430 - eval "${glob_state}"
6431 -}
6432 -
6433 -pkg_postinst() {
6434 - eselect wine register ${P}
6435 - if [[ ${PN} == "wine-vanilla" ]]; then
6436 - eselect wine register --vanilla ${P} || die
6437 - fi
6438 -
6439 - eselect wine update --all --if-unset || die
6440 -
6441 - xdg_desktop_database_update
6442 -
6443 - if ! use gecko; then
6444 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
6445 - ewarn "implementation of iexplore. Many older windows applications"
6446 - ewarn "rely upon the existence of an iexplore implementation, so"
6447 - ewarn "you will likely need to install an external one, like via winetricks"
6448 - fi
6449 - if ! use mono; then
6450 - ewarn "Without Wine Mono, wine prefixes will not have a default"
6451 - ewarn "implementation of .NET. Many windows applications rely upon"
6452 - ewarn "the existence of a .NET implementation, so you will likely need"
6453 - ewarn "to install an external one, like via winetricks"
6454 - fi
6455 -}
6456 -
6457 -pkg_prerm() {
6458 - eselect wine deregister ${P}
6459 - if [[ ${PN} == "wine-vanilla" ]]; then
6460 - eselect wine deregister --vanilla ${P} || die
6461 - fi
6462 -
6463 - eselect wine update --all --if-unset || die
6464 -}
6465 -
6466 -pkg_postrm() {
6467 - xdg_desktop_database_update
6468 -}
6469
6470 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.15-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.15-r1.ebuild
6471 deleted file mode 100644
6472 index 7a674044d95..00000000000
6473 --- a/app-emulation/wine-vanilla/wine-vanilla-2.15-r1.ebuild
6474 +++ /dev/null
6475 @@ -1,529 +0,0 @@
6476 -# Copyright 1999-2017 Gentoo Foundation
6477 -# Distributed under the terms of the GNU General Public License v2
6478 -
6479 -EAPI=6
6480 -
6481 -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"
6482 -PLOCALE_BACKUP="en"
6483 -
6484 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
6485 -
6486 -MY_PN="${PN%%-*}"
6487 -MY_P="${MY_PN}-${PV}"
6488 -
6489 -if [[ ${PV} == "9999" ]] ; then
6490 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
6491 - EGIT_BRANCH="master"
6492 - inherit git-r3
6493 - SRC_URI=""
6494 - #KEYWORDS=""
6495 -else
6496 - MAJOR_V=$(get_version_component_range 1)
6497 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
6498 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
6499 -fi
6500 -S="${WORKDIR}/${MY_P}"
6501 -
6502 -GWP_V="20170830"
6503 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
6504 -
6505 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
6506 -HOMEPAGE="https://www.winehq.org/"
6507 -SRC_URI="${SRC_URI}
6508 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
6509 -"
6510 -
6511 -LICENSE="LGPL-2.1"
6512 -SLOT="${PV}"
6513 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
6514 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
6515 - X? ( truetype )
6516 - elibc_glibc? ( threads )
6517 - osmesa? ( opengl )
6518 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
6519 -
6520 -# FIXME: the test suite is unsuitable for us; many tests require net access
6521 -# or fail due to Xvfb's opengl limitations.
6522 -RESTRICT="test"
6523 -
6524 -COMMON_DEPEND="
6525 - X? (
6526 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
6527 - x11-libs/libXext[${MULTILIB_USEDEP}]
6528 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
6529 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
6530 - x11-libs/libXi[${MULTILIB_USEDEP}]
6531 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
6532 - )
6533 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
6534 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
6535 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
6536 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
6537 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
6538 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
6539 - gstreamer? (
6540 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
6541 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
6542 - )
6543 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
6544 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
6545 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
6546 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
6547 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
6548 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
6549 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
6550 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
6551 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
6552 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
6553 - opengl? (
6554 - virtual/glu[${MULTILIB_USEDEP}]
6555 - virtual/opengl[${MULTILIB_USEDEP}]
6556 - )
6557 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
6558 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
6559 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
6560 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
6561 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
6562 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
6563 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
6564 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
6565 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
6566 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
6567 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
6568 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
6569 - xml? (
6570 - dev-libs/libxml2[${MULTILIB_USEDEP}]
6571 - dev-libs/libxslt[${MULTILIB_USEDEP}]
6572 - )
6573 - abi_x86_32? (
6574 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
6575 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
6576 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
6577 - !<app-emulation/emul-linux-x86-db-20140508-r3
6578 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
6579 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
6580 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
6581 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
6582 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
6583 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
6584 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
6585 - !<app-emulation/emul-linux-x86-soundlibs-20140508
6586 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
6587 - !<app-emulation/emul-linux-x86-xlibs-20140508
6588 - )"
6589 -
6590 -RDEPEND="${COMMON_DEPEND}
6591 - app-emulation/wine-desktop-common
6592 - >app-eselect/eselect-wine-0.3
6593 - !app-emulation/wine:0
6594 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
6595 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
6596 - mono? ( app-emulation/wine-mono:4.7.1 )
6597 - perl? (
6598 - dev-lang/perl
6599 - dev-perl/XML-Simple
6600 - )
6601 - pulseaudio? (
6602 - realtime? ( sys-auth/rtkit )
6603 - )
6604 - samba? ( >=net-fs/samba-3.0.25[winbind] )
6605 - selinux? ( sec-policy/selinux-wine )
6606 - udisks? ( sys-fs/udisks:2 )"
6607 -
6608 -# tools/make_requests requires perl
6609 -DEPEND="${COMMON_DEPEND}
6610 - sys-devel/flex
6611 - >=sys-kernel/linux-headers-2.6
6612 - virtual/pkgconfig
6613 - virtual/yacc
6614 - X? (
6615 - x11-proto/inputproto
6616 - x11-proto/xextproto
6617 - x11-proto/xf86vidmodeproto
6618 - )
6619 - prelink? ( sys-devel/prelink )
6620 - xinerama? ( x11-proto/xineramaproto )"
6621 -
6622 -# These use a non-standard "Wine" category, which is provided by
6623 -# /etc/xdg/applications-merged/wine.menu
6624 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
6625 -usr/share/applications/wine-notepad.desktop
6626 -usr/share/applications/wine-uninstaller.desktop
6627 -usr/share/applications/wine-winecfg.desktop"
6628 -
6629 -PATCHES=(
6630 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
6631 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
6632 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
6633 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
6634 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
6635 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
6636 -)
6637 -PATCHES_BIN=(
6638 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
6639 -)
6640 -
6641 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
6642 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
6643 - DEPEND+=" dev-util/patchbin"
6644 -fi
6645 -
6646 -wine_compiler_check() {
6647 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6648 -
6649 - # GCC-specific bugs
6650 - if tc-is-gcc; then
6651 - # bug #549768
6652 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
6653 - ebegin "Checking for gcc-5 ms_abi compiler bug"
6654 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
6655 - # Run in subshell to prevent "Aborted" message
6656 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
6657 - if ! eend $?; then
6658 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
6659 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
6660 - eerror "or use gcc-config to select a different compiler version."
6661 - eerror "See https://bugs.gentoo.org/549768"
6662 - eerror
6663 - return 1
6664 - fi
6665 - fi
6666 - # bug #574044
6667 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
6668 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
6669 - # Compile in subshell to prevent "Aborted" message
6670 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
6671 - if ! eend $?; then
6672 - eerror "Wine cannot be built with this version of gcc-5.3"
6673 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
6674 - eerror "or use gcc-config to select a different compiler version."
6675 - eerror "See https://bugs.gentoo.org/574044"
6676 - eerror
6677 - return 1
6678 - fi
6679 - fi
6680 - fi
6681 -
6682 - # Ensure compiler support
6683 - if use abi_x86_64; then
6684 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
6685 - # Compile in subshell to prevent "Aborted" message
6686 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
6687 - if ! eend $?; then
6688 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
6689 - eerror
6690 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
6691 - eerror
6692 - return 1
6693 - fi
6694 - fi
6695 -}
6696 -
6697 -wine_build_environment_check() {
6698 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6699 -
6700 - if use abi_x86_64; then
6701 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
6702 - eerror "You need gcc-4.4+ to compile 64-bit wine"
6703 - die
6704 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
6705 - eerror "You need clang-3.8+ to compile 64-bit wine"
6706 - die
6707 - fi
6708 - fi
6709 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
6710 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
6711 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
6712 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
6713 - fi
6714 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
6715 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
6716 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
6717 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
6718 - ewarn "See package.env in man 5 portage for more information on how to do this."
6719 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
6720 - fi
6721 - fi
6722 -
6723 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
6724 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
6725 - eerror "See https://bugs.gentoo.org/487864 for more details."
6726 - eerror
6727 - return 1
6728 - fi
6729 -}
6730 -
6731 -wine_env_vcs_vars() {
6732 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
6733 - local pn_live_val="${pn_live_var}"
6734 - eval pn_live_val='$'${pn_live_val}
6735 - if [[ ! -z ${EGIT_COMMIT} ]]; then
6736 - eerror "Commits must now be specified using the environmental variables"
6737 - eerror "WINE_COMMIT"
6738 - eerror
6739 - return 1
6740 - fi
6741 -}
6742 -
6743 -pkg_pretend() {
6744 - wine_build_environment_check || die
6745 -
6746 - # Verify OSS support
6747 - if use oss && ! use kernel_FreeBSD; then
6748 - if ! has_version ">=media-sound/oss-4"; then
6749 - eerror "You cannot build wine with USE=oss without having support from a"
6750 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
6751 - eerror
6752 - die
6753 - fi
6754 - fi
6755 -}
6756 -
6757 -pkg_setup() {
6758 - wine_build_environment_check || die
6759 - wine_env_vcs_vars || die
6760 -
6761 - WINE_VARIANT="${PN#wine}-${PV}"
6762 - WINE_VARIANT="${WINE_VARIANT#-}"
6763 -
6764 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
6765 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
6766 - MY_DATADIR="${MY_DATAROOTDIR}"
6767 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
6768 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
6769 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
6770 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
6771 - MY_MANDIR="${MY_DATADIR}/man"
6772 -}
6773 -
6774 -src_unpack() {
6775 - if [[ ${PV} == "9999" ]] ; then
6776 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
6777 - fi
6778 -
6779 - default
6780 -
6781 - l10n_find_plocales_changes "${S}/po" "" ".po"
6782 -}
6783 -
6784 -src_prepare() {
6785 -
6786 - eapply_bin(){
6787 - local patch
6788 - for patch in ${PATCHES_BIN[@]}; do
6789 - patchbin --nogit < "${patch}" || die
6790 - done
6791 - }
6792 -
6793 - local md5="$(md5sum server/protocol.def)"
6794 -
6795 - default
6796 - eapply_bin
6797 - eautoreconf
6798 -
6799 - # Modification of the server protocol requires regenerating the server requests
6800 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
6801 - einfo "server/protocol.def was patched; running tools/make_requests"
6802 - tools/make_requests || die #432348
6803 - fi
6804 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
6805 - if ! use run-exes; then
6806 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
6807 - fi
6808 -
6809 - # Edit wine.desktop to work for specific variant
6810 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
6811 -
6812 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
6813 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
6814 -
6815 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
6816 -}
6817 -
6818 -src_configure() {
6819 - wine_compiler_check || die
6820 -
6821 - export LDCONFIG=/bin/true
6822 - use custom-cflags || strip-flags
6823 -
6824 - multilib-minimal_src_configure
6825 -}
6826 -
6827 -multilib_src_configure() {
6828 - local myconf=(
6829 - --prefix="${MY_PREFIX}"
6830 - --datarootdir="${MY_DATAROOTDIR}"
6831 - --datadir="${MY_DATADIR}"
6832 - --docdir="${MY_DOCDIR}"
6833 - --includedir="${MY_INCLUDEDIR}"
6834 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
6835 - --libexecdir="${MY_LIBEXECDIR}"
6836 - --localstatedir="${MY_LOCALSTATEDIR}"
6837 - --mandir="${MY_MANDIR}"
6838 - --sysconfdir=/etc/wine
6839 - $(use_with alsa)
6840 - $(use_with capi)
6841 - $(use_with lcms cms)
6842 - $(use_with cups)
6843 - $(use_with ncurses curses)
6844 - $(use_with udisks dbus)
6845 - $(use_with fontconfig)
6846 - $(use_with ssl gnutls)
6847 - $(use_enable gecko mshtml)
6848 - $(use_with gphoto2 gphoto)
6849 - $(use_with gsm)
6850 - $(use_with gstreamer)
6851 - --without-hal
6852 - $(use_with jpeg)
6853 - $(use_with ldap)
6854 - $(use_enable mono mscoree)
6855 - $(use_with mp3 mpg123)
6856 - $(use_with netapi)
6857 - $(use_with nls gettext)
6858 - $(use_with openal)
6859 - $(use_with opencl)
6860 - $(use_with opengl)
6861 - $(use_with osmesa)
6862 - $(use_with oss)
6863 - $(use_with pcap)
6864 - $(use_with png)
6865 - $(use_with pulseaudio pulse)
6866 - $(use_with threads pthread)
6867 - $(use_with scanner sane)
6868 - $(use_enable test tests)
6869 - $(use_with truetype freetype)
6870 - $(use_with udev)
6871 - $(use_with v4l)
6872 - $(use_with X x)
6873 - $(use_with X xfixes)
6874 - $(use_with xcomposite)
6875 - $(use_with xinerama)
6876 - $(use_with xml)
6877 - $(use_with xml xslt)
6878 - )
6879 -
6880 - local PKG_CONFIG AR RANLIB
6881 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
6882 - # set AR and RANLIB to make QA scripts happy; #483342
6883 - tc-export PKG_CONFIG AR RANLIB
6884 -
6885 - if use amd64; then
6886 - if [[ ${ABI} == amd64 ]]; then
6887 - myconf+=( --enable-win64 )
6888 - else
6889 - myconf+=( --disable-win64 )
6890 - fi
6891 -
6892 - # Note: using --with-wine64 results in problems with multilib.eclass
6893 - # CC/LD hackery. We're using separate tools instead.
6894 - fi
6895 -
6896 - ECONF_SOURCE=${S} \
6897 - econf "${myconf[@]}"
6898 - emake depend
6899 -}
6900 -
6901 -multilib_src_test() {
6902 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
6903 - if [[ ${ABI} == x86 ]]; then
6904 - if [[ $(id -u) == 0 ]]; then
6905 - ewarn "Skipping tests since they cannot be run under the root user."
6906 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
6907 - return
6908 - fi
6909 -
6910 - WINEPREFIX="${T}/.wine-${ABI}" \
6911 - Xemake test
6912 - fi
6913 -}
6914 -
6915 -multilib_src_install_all() {
6916 - local DOCS=( ANNOUNCE AUTHORS README )
6917 - add_locale_docs() {
6918 - local locale_doc="documentation/README.$1"
6919 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
6920 - }
6921 - l10n_for_each_locale_do add_locale_docs
6922 -
6923 - einstalldocs
6924 - prune_libtool_files --all
6925 -
6926 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
6927 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
6928 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
6929 - fi
6930 -
6931 - # Remove wineconsole if neither backend is installed #551124
6932 - if ! use X && ! use ncurses; then
6933 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
6934 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
6935 - rm_wineconsole() {
6936 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
6937 - }
6938 - multilib_foreach_abi rm_wineconsole
6939 - fi
6940 -
6941 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
6942 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
6943 -
6944 - if use abi_x86_64 && ! use abi_x86_32; then
6945 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
6946 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
6947 - fi
6948 -
6949 - # Failglob for bin and man loops
6950 - local glob_state=$(shopt -p failglob)
6951 - shopt -s failglob
6952 -
6953 - # Make wrappers for binaries for handling multiple variants
6954 - # Note: wrappers instead of symlinks because some are shell which use basename
6955 - local b
6956 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
6957 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
6958 - done
6959 -
6960 - # respect LINGUAS when installing man pages, #469418
6961 - local l
6962 - for l in de fr pl; do
6963 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
6964 - done
6965 -
6966 - eval "${glob_state}"
6967 -}
6968 -
6969 -pkg_postinst() {
6970 - eselect wine register ${P}
6971 - if [[ ${PN} == "wine-vanilla" ]]; then
6972 - eselect wine register --vanilla ${P} || die
6973 - fi
6974 -
6975 - eselect wine update --all --if-unset || die
6976 -
6977 - xdg_desktop_database_update
6978 -
6979 - if ! use gecko; then
6980 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
6981 - ewarn "implementation of iexplore. Many older windows applications"
6982 - ewarn "rely upon the existence of an iexplore implementation, so"
6983 - ewarn "you will likely need to install an external one, like via winetricks"
6984 - fi
6985 - if ! use mono; then
6986 - ewarn "Without Wine Mono, wine prefixes will not have a default"
6987 - ewarn "implementation of .NET. Many windows applications rely upon"
6988 - ewarn "the existence of a .NET implementation, so you will likely need"
6989 - ewarn "to install an external one, like via winetricks"
6990 - fi
6991 -}
6992 -
6993 -pkg_prerm() {
6994 - eselect wine deregister ${P}
6995 - if [[ ${PN} == "wine-vanilla" ]]; then
6996 - eselect wine deregister --vanilla ${P} || die
6997 - fi
6998 -
6999 - eselect wine update --all --if-unset || die
7000 -}
7001 -
7002 -pkg_postrm() {
7003 - xdg_desktop_database_update
7004 -}
7005
7006 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.16-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.16-r1.ebuild
7007 deleted file mode 100644
7008 index 7a674044d95..00000000000
7009 --- a/app-emulation/wine-vanilla/wine-vanilla-2.16-r1.ebuild
7010 +++ /dev/null
7011 @@ -1,529 +0,0 @@
7012 -# Copyright 1999-2017 Gentoo Foundation
7013 -# Distributed under the terms of the GNU General Public License v2
7014 -
7015 -EAPI=6
7016 -
7017 -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"
7018 -PLOCALE_BACKUP="en"
7019 -
7020 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
7021 -
7022 -MY_PN="${PN%%-*}"
7023 -MY_P="${MY_PN}-${PV}"
7024 -
7025 -if [[ ${PV} == "9999" ]] ; then
7026 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
7027 - EGIT_BRANCH="master"
7028 - inherit git-r3
7029 - SRC_URI=""
7030 - #KEYWORDS=""
7031 -else
7032 - MAJOR_V=$(get_version_component_range 1)
7033 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
7034 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
7035 -fi
7036 -S="${WORKDIR}/${MY_P}"
7037 -
7038 -GWP_V="20170830"
7039 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
7040 -
7041 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
7042 -HOMEPAGE="https://www.winehq.org/"
7043 -SRC_URI="${SRC_URI}
7044 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
7045 -"
7046 -
7047 -LICENSE="LGPL-2.1"
7048 -SLOT="${PV}"
7049 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
7050 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
7051 - X? ( truetype )
7052 - elibc_glibc? ( threads )
7053 - osmesa? ( opengl )
7054 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
7055 -
7056 -# FIXME: the test suite is unsuitable for us; many tests require net access
7057 -# or fail due to Xvfb's opengl limitations.
7058 -RESTRICT="test"
7059 -
7060 -COMMON_DEPEND="
7061 - X? (
7062 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
7063 - x11-libs/libXext[${MULTILIB_USEDEP}]
7064 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
7065 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
7066 - x11-libs/libXi[${MULTILIB_USEDEP}]
7067 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
7068 - )
7069 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
7070 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
7071 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
7072 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
7073 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
7074 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
7075 - gstreamer? (
7076 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
7077 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
7078 - )
7079 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
7080 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
7081 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
7082 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
7083 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
7084 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
7085 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
7086 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
7087 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
7088 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
7089 - opengl? (
7090 - virtual/glu[${MULTILIB_USEDEP}]
7091 - virtual/opengl[${MULTILIB_USEDEP}]
7092 - )
7093 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
7094 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
7095 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
7096 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
7097 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
7098 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
7099 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
7100 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
7101 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
7102 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
7103 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
7104 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
7105 - xml? (
7106 - dev-libs/libxml2[${MULTILIB_USEDEP}]
7107 - dev-libs/libxslt[${MULTILIB_USEDEP}]
7108 - )
7109 - abi_x86_32? (
7110 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
7111 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
7112 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
7113 - !<app-emulation/emul-linux-x86-db-20140508-r3
7114 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
7115 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
7116 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
7117 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
7118 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
7119 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
7120 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
7121 - !<app-emulation/emul-linux-x86-soundlibs-20140508
7122 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
7123 - !<app-emulation/emul-linux-x86-xlibs-20140508
7124 - )"
7125 -
7126 -RDEPEND="${COMMON_DEPEND}
7127 - app-emulation/wine-desktop-common
7128 - >app-eselect/eselect-wine-0.3
7129 - !app-emulation/wine:0
7130 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
7131 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
7132 - mono? ( app-emulation/wine-mono:4.7.1 )
7133 - perl? (
7134 - dev-lang/perl
7135 - dev-perl/XML-Simple
7136 - )
7137 - pulseaudio? (
7138 - realtime? ( sys-auth/rtkit )
7139 - )
7140 - samba? ( >=net-fs/samba-3.0.25[winbind] )
7141 - selinux? ( sec-policy/selinux-wine )
7142 - udisks? ( sys-fs/udisks:2 )"
7143 -
7144 -# tools/make_requests requires perl
7145 -DEPEND="${COMMON_DEPEND}
7146 - sys-devel/flex
7147 - >=sys-kernel/linux-headers-2.6
7148 - virtual/pkgconfig
7149 - virtual/yacc
7150 - X? (
7151 - x11-proto/inputproto
7152 - x11-proto/xextproto
7153 - x11-proto/xf86vidmodeproto
7154 - )
7155 - prelink? ( sys-devel/prelink )
7156 - xinerama? ( x11-proto/xineramaproto )"
7157 -
7158 -# These use a non-standard "Wine" category, which is provided by
7159 -# /etc/xdg/applications-merged/wine.menu
7160 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
7161 -usr/share/applications/wine-notepad.desktop
7162 -usr/share/applications/wine-uninstaller.desktop
7163 -usr/share/applications/wine-winecfg.desktop"
7164 -
7165 -PATCHES=(
7166 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
7167 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
7168 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
7169 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
7170 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
7171 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
7172 -)
7173 -PATCHES_BIN=(
7174 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
7175 -)
7176 -
7177 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
7178 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
7179 - DEPEND+=" dev-util/patchbin"
7180 -fi
7181 -
7182 -wine_compiler_check() {
7183 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7184 -
7185 - # GCC-specific bugs
7186 - if tc-is-gcc; then
7187 - # bug #549768
7188 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
7189 - ebegin "Checking for gcc-5 ms_abi compiler bug"
7190 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
7191 - # Run in subshell to prevent "Aborted" message
7192 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
7193 - if ! eend $?; then
7194 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
7195 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
7196 - eerror "or use gcc-config to select a different compiler version."
7197 - eerror "See https://bugs.gentoo.org/549768"
7198 - eerror
7199 - return 1
7200 - fi
7201 - fi
7202 - # bug #574044
7203 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
7204 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
7205 - # Compile in subshell to prevent "Aborted" message
7206 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
7207 - if ! eend $?; then
7208 - eerror "Wine cannot be built with this version of gcc-5.3"
7209 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
7210 - eerror "or use gcc-config to select a different compiler version."
7211 - eerror "See https://bugs.gentoo.org/574044"
7212 - eerror
7213 - return 1
7214 - fi
7215 - fi
7216 - fi
7217 -
7218 - # Ensure compiler support
7219 - if use abi_x86_64; then
7220 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
7221 - # Compile in subshell to prevent "Aborted" message
7222 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
7223 - if ! eend $?; then
7224 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
7225 - eerror
7226 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
7227 - eerror
7228 - return 1
7229 - fi
7230 - fi
7231 -}
7232 -
7233 -wine_build_environment_check() {
7234 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7235 -
7236 - if use abi_x86_64; then
7237 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
7238 - eerror "You need gcc-4.4+ to compile 64-bit wine"
7239 - die
7240 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
7241 - eerror "You need clang-3.8+ to compile 64-bit wine"
7242 - die
7243 - fi
7244 - fi
7245 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
7246 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
7247 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
7248 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
7249 - fi
7250 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
7251 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
7252 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
7253 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
7254 - ewarn "See package.env in man 5 portage for more information on how to do this."
7255 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
7256 - fi
7257 - fi
7258 -
7259 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
7260 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
7261 - eerror "See https://bugs.gentoo.org/487864 for more details."
7262 - eerror
7263 - return 1
7264 - fi
7265 -}
7266 -
7267 -wine_env_vcs_vars() {
7268 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
7269 - local pn_live_val="${pn_live_var}"
7270 - eval pn_live_val='$'${pn_live_val}
7271 - if [[ ! -z ${EGIT_COMMIT} ]]; then
7272 - eerror "Commits must now be specified using the environmental variables"
7273 - eerror "WINE_COMMIT"
7274 - eerror
7275 - return 1
7276 - fi
7277 -}
7278 -
7279 -pkg_pretend() {
7280 - wine_build_environment_check || die
7281 -
7282 - # Verify OSS support
7283 - if use oss && ! use kernel_FreeBSD; then
7284 - if ! has_version ">=media-sound/oss-4"; then
7285 - eerror "You cannot build wine with USE=oss without having support from a"
7286 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
7287 - eerror
7288 - die
7289 - fi
7290 - fi
7291 -}
7292 -
7293 -pkg_setup() {
7294 - wine_build_environment_check || die
7295 - wine_env_vcs_vars || die
7296 -
7297 - WINE_VARIANT="${PN#wine}-${PV}"
7298 - WINE_VARIANT="${WINE_VARIANT#-}"
7299 -
7300 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
7301 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
7302 - MY_DATADIR="${MY_DATAROOTDIR}"
7303 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
7304 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
7305 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
7306 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
7307 - MY_MANDIR="${MY_DATADIR}/man"
7308 -}
7309 -
7310 -src_unpack() {
7311 - if [[ ${PV} == "9999" ]] ; then
7312 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
7313 - fi
7314 -
7315 - default
7316 -
7317 - l10n_find_plocales_changes "${S}/po" "" ".po"
7318 -}
7319 -
7320 -src_prepare() {
7321 -
7322 - eapply_bin(){
7323 - local patch
7324 - for patch in ${PATCHES_BIN[@]}; do
7325 - patchbin --nogit < "${patch}" || die
7326 - done
7327 - }
7328 -
7329 - local md5="$(md5sum server/protocol.def)"
7330 -
7331 - default
7332 - eapply_bin
7333 - eautoreconf
7334 -
7335 - # Modification of the server protocol requires regenerating the server requests
7336 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
7337 - einfo "server/protocol.def was patched; running tools/make_requests"
7338 - tools/make_requests || die #432348
7339 - fi
7340 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
7341 - if ! use run-exes; then
7342 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
7343 - fi
7344 -
7345 - # Edit wine.desktop to work for specific variant
7346 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
7347 -
7348 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
7349 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
7350 -
7351 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
7352 -}
7353 -
7354 -src_configure() {
7355 - wine_compiler_check || die
7356 -
7357 - export LDCONFIG=/bin/true
7358 - use custom-cflags || strip-flags
7359 -
7360 - multilib-minimal_src_configure
7361 -}
7362 -
7363 -multilib_src_configure() {
7364 - local myconf=(
7365 - --prefix="${MY_PREFIX}"
7366 - --datarootdir="${MY_DATAROOTDIR}"
7367 - --datadir="${MY_DATADIR}"
7368 - --docdir="${MY_DOCDIR}"
7369 - --includedir="${MY_INCLUDEDIR}"
7370 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
7371 - --libexecdir="${MY_LIBEXECDIR}"
7372 - --localstatedir="${MY_LOCALSTATEDIR}"
7373 - --mandir="${MY_MANDIR}"
7374 - --sysconfdir=/etc/wine
7375 - $(use_with alsa)
7376 - $(use_with capi)
7377 - $(use_with lcms cms)
7378 - $(use_with cups)
7379 - $(use_with ncurses curses)
7380 - $(use_with udisks dbus)
7381 - $(use_with fontconfig)
7382 - $(use_with ssl gnutls)
7383 - $(use_enable gecko mshtml)
7384 - $(use_with gphoto2 gphoto)
7385 - $(use_with gsm)
7386 - $(use_with gstreamer)
7387 - --without-hal
7388 - $(use_with jpeg)
7389 - $(use_with ldap)
7390 - $(use_enable mono mscoree)
7391 - $(use_with mp3 mpg123)
7392 - $(use_with netapi)
7393 - $(use_with nls gettext)
7394 - $(use_with openal)
7395 - $(use_with opencl)
7396 - $(use_with opengl)
7397 - $(use_with osmesa)
7398 - $(use_with oss)
7399 - $(use_with pcap)
7400 - $(use_with png)
7401 - $(use_with pulseaudio pulse)
7402 - $(use_with threads pthread)
7403 - $(use_with scanner sane)
7404 - $(use_enable test tests)
7405 - $(use_with truetype freetype)
7406 - $(use_with udev)
7407 - $(use_with v4l)
7408 - $(use_with X x)
7409 - $(use_with X xfixes)
7410 - $(use_with xcomposite)
7411 - $(use_with xinerama)
7412 - $(use_with xml)
7413 - $(use_with xml xslt)
7414 - )
7415 -
7416 - local PKG_CONFIG AR RANLIB
7417 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
7418 - # set AR and RANLIB to make QA scripts happy; #483342
7419 - tc-export PKG_CONFIG AR RANLIB
7420 -
7421 - if use amd64; then
7422 - if [[ ${ABI} == amd64 ]]; then
7423 - myconf+=( --enable-win64 )
7424 - else
7425 - myconf+=( --disable-win64 )
7426 - fi
7427 -
7428 - # Note: using --with-wine64 results in problems with multilib.eclass
7429 - # CC/LD hackery. We're using separate tools instead.
7430 - fi
7431 -
7432 - ECONF_SOURCE=${S} \
7433 - econf "${myconf[@]}"
7434 - emake depend
7435 -}
7436 -
7437 -multilib_src_test() {
7438 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
7439 - if [[ ${ABI} == x86 ]]; then
7440 - if [[ $(id -u) == 0 ]]; then
7441 - ewarn "Skipping tests since they cannot be run under the root user."
7442 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
7443 - return
7444 - fi
7445 -
7446 - WINEPREFIX="${T}/.wine-${ABI}" \
7447 - Xemake test
7448 - fi
7449 -}
7450 -
7451 -multilib_src_install_all() {
7452 - local DOCS=( ANNOUNCE AUTHORS README )
7453 - add_locale_docs() {
7454 - local locale_doc="documentation/README.$1"
7455 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
7456 - }
7457 - l10n_for_each_locale_do add_locale_docs
7458 -
7459 - einstalldocs
7460 - prune_libtool_files --all
7461 -
7462 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
7463 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
7464 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
7465 - fi
7466 -
7467 - # Remove wineconsole if neither backend is installed #551124
7468 - if ! use X && ! use ncurses; then
7469 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
7470 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
7471 - rm_wineconsole() {
7472 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
7473 - }
7474 - multilib_foreach_abi rm_wineconsole
7475 - fi
7476 -
7477 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
7478 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
7479 -
7480 - if use abi_x86_64 && ! use abi_x86_32; then
7481 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
7482 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
7483 - fi
7484 -
7485 - # Failglob for bin and man loops
7486 - local glob_state=$(shopt -p failglob)
7487 - shopt -s failglob
7488 -
7489 - # Make wrappers for binaries for handling multiple variants
7490 - # Note: wrappers instead of symlinks because some are shell which use basename
7491 - local b
7492 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
7493 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
7494 - done
7495 -
7496 - # respect LINGUAS when installing man pages, #469418
7497 - local l
7498 - for l in de fr pl; do
7499 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
7500 - done
7501 -
7502 - eval "${glob_state}"
7503 -}
7504 -
7505 -pkg_postinst() {
7506 - eselect wine register ${P}
7507 - if [[ ${PN} == "wine-vanilla" ]]; then
7508 - eselect wine register --vanilla ${P} || die
7509 - fi
7510 -
7511 - eselect wine update --all --if-unset || die
7512 -
7513 - xdg_desktop_database_update
7514 -
7515 - if ! use gecko; then
7516 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
7517 - ewarn "implementation of iexplore. Many older windows applications"
7518 - ewarn "rely upon the existence of an iexplore implementation, so"
7519 - ewarn "you will likely need to install an external one, like via winetricks"
7520 - fi
7521 - if ! use mono; then
7522 - ewarn "Without Wine Mono, wine prefixes will not have a default"
7523 - ewarn "implementation of .NET. Many windows applications rely upon"
7524 - ewarn "the existence of a .NET implementation, so you will likely need"
7525 - ewarn "to install an external one, like via winetricks"
7526 - fi
7527 -}
7528 -
7529 -pkg_prerm() {
7530 - eselect wine deregister ${P}
7531 - if [[ ${PN} == "wine-vanilla" ]]; then
7532 - eselect wine deregister --vanilla ${P} || die
7533 - fi
7534 -
7535 - eselect wine update --all --if-unset || die
7536 -}
7537 -
7538 -pkg_postrm() {
7539 - xdg_desktop_database_update
7540 -}
7541
7542 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.17-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.17-r1.ebuild
7543 deleted file mode 100644
7544 index 7a674044d95..00000000000
7545 --- a/app-emulation/wine-vanilla/wine-vanilla-2.17-r1.ebuild
7546 +++ /dev/null
7547 @@ -1,529 +0,0 @@
7548 -# Copyright 1999-2017 Gentoo Foundation
7549 -# Distributed under the terms of the GNU General Public License v2
7550 -
7551 -EAPI=6
7552 -
7553 -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"
7554 -PLOCALE_BACKUP="en"
7555 -
7556 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
7557 -
7558 -MY_PN="${PN%%-*}"
7559 -MY_P="${MY_PN}-${PV}"
7560 -
7561 -if [[ ${PV} == "9999" ]] ; then
7562 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
7563 - EGIT_BRANCH="master"
7564 - inherit git-r3
7565 - SRC_URI=""
7566 - #KEYWORDS=""
7567 -else
7568 - MAJOR_V=$(get_version_component_range 1)
7569 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
7570 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
7571 -fi
7572 -S="${WORKDIR}/${MY_P}"
7573 -
7574 -GWP_V="20170830"
7575 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
7576 -
7577 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
7578 -HOMEPAGE="https://www.winehq.org/"
7579 -SRC_URI="${SRC_URI}
7580 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
7581 -"
7582 -
7583 -LICENSE="LGPL-2.1"
7584 -SLOT="${PV}"
7585 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
7586 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
7587 - X? ( truetype )
7588 - elibc_glibc? ( threads )
7589 - osmesa? ( opengl )
7590 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
7591 -
7592 -# FIXME: the test suite is unsuitable for us; many tests require net access
7593 -# or fail due to Xvfb's opengl limitations.
7594 -RESTRICT="test"
7595 -
7596 -COMMON_DEPEND="
7597 - X? (
7598 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
7599 - x11-libs/libXext[${MULTILIB_USEDEP}]
7600 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
7601 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
7602 - x11-libs/libXi[${MULTILIB_USEDEP}]
7603 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
7604 - )
7605 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
7606 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
7607 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
7608 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
7609 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
7610 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
7611 - gstreamer? (
7612 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
7613 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
7614 - )
7615 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
7616 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
7617 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
7618 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
7619 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
7620 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
7621 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
7622 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
7623 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
7624 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
7625 - opengl? (
7626 - virtual/glu[${MULTILIB_USEDEP}]
7627 - virtual/opengl[${MULTILIB_USEDEP}]
7628 - )
7629 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
7630 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
7631 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
7632 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
7633 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
7634 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
7635 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
7636 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
7637 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
7638 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
7639 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
7640 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
7641 - xml? (
7642 - dev-libs/libxml2[${MULTILIB_USEDEP}]
7643 - dev-libs/libxslt[${MULTILIB_USEDEP}]
7644 - )
7645 - abi_x86_32? (
7646 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
7647 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
7648 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
7649 - !<app-emulation/emul-linux-x86-db-20140508-r3
7650 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
7651 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
7652 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
7653 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
7654 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
7655 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
7656 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
7657 - !<app-emulation/emul-linux-x86-soundlibs-20140508
7658 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
7659 - !<app-emulation/emul-linux-x86-xlibs-20140508
7660 - )"
7661 -
7662 -RDEPEND="${COMMON_DEPEND}
7663 - app-emulation/wine-desktop-common
7664 - >app-eselect/eselect-wine-0.3
7665 - !app-emulation/wine:0
7666 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
7667 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
7668 - mono? ( app-emulation/wine-mono:4.7.1 )
7669 - perl? (
7670 - dev-lang/perl
7671 - dev-perl/XML-Simple
7672 - )
7673 - pulseaudio? (
7674 - realtime? ( sys-auth/rtkit )
7675 - )
7676 - samba? ( >=net-fs/samba-3.0.25[winbind] )
7677 - selinux? ( sec-policy/selinux-wine )
7678 - udisks? ( sys-fs/udisks:2 )"
7679 -
7680 -# tools/make_requests requires perl
7681 -DEPEND="${COMMON_DEPEND}
7682 - sys-devel/flex
7683 - >=sys-kernel/linux-headers-2.6
7684 - virtual/pkgconfig
7685 - virtual/yacc
7686 - X? (
7687 - x11-proto/inputproto
7688 - x11-proto/xextproto
7689 - x11-proto/xf86vidmodeproto
7690 - )
7691 - prelink? ( sys-devel/prelink )
7692 - xinerama? ( x11-proto/xineramaproto )"
7693 -
7694 -# These use a non-standard "Wine" category, which is provided by
7695 -# /etc/xdg/applications-merged/wine.menu
7696 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
7697 -usr/share/applications/wine-notepad.desktop
7698 -usr/share/applications/wine-uninstaller.desktop
7699 -usr/share/applications/wine-winecfg.desktop"
7700 -
7701 -PATCHES=(
7702 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
7703 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
7704 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
7705 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
7706 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
7707 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
7708 -)
7709 -PATCHES_BIN=(
7710 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
7711 -)
7712 -
7713 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
7714 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
7715 - DEPEND+=" dev-util/patchbin"
7716 -fi
7717 -
7718 -wine_compiler_check() {
7719 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7720 -
7721 - # GCC-specific bugs
7722 - if tc-is-gcc; then
7723 - # bug #549768
7724 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
7725 - ebegin "Checking for gcc-5 ms_abi compiler bug"
7726 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
7727 - # Run in subshell to prevent "Aborted" message
7728 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
7729 - if ! eend $?; then
7730 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
7731 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
7732 - eerror "or use gcc-config to select a different compiler version."
7733 - eerror "See https://bugs.gentoo.org/549768"
7734 - eerror
7735 - return 1
7736 - fi
7737 - fi
7738 - # bug #574044
7739 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
7740 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
7741 - # Compile in subshell to prevent "Aborted" message
7742 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
7743 - if ! eend $?; then
7744 - eerror "Wine cannot be built with this version of gcc-5.3"
7745 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
7746 - eerror "or use gcc-config to select a different compiler version."
7747 - eerror "See https://bugs.gentoo.org/574044"
7748 - eerror
7749 - return 1
7750 - fi
7751 - fi
7752 - fi
7753 -
7754 - # Ensure compiler support
7755 - if use abi_x86_64; then
7756 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
7757 - # Compile in subshell to prevent "Aborted" message
7758 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
7759 - if ! eend $?; then
7760 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
7761 - eerror
7762 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
7763 - eerror
7764 - return 1
7765 - fi
7766 - fi
7767 -}
7768 -
7769 -wine_build_environment_check() {
7770 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7771 -
7772 - if use abi_x86_64; then
7773 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
7774 - eerror "You need gcc-4.4+ to compile 64-bit wine"
7775 - die
7776 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
7777 - eerror "You need clang-3.8+ to compile 64-bit wine"
7778 - die
7779 - fi
7780 - fi
7781 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
7782 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
7783 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
7784 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
7785 - fi
7786 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
7787 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
7788 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
7789 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
7790 - ewarn "See package.env in man 5 portage for more information on how to do this."
7791 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
7792 - fi
7793 - fi
7794 -
7795 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
7796 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
7797 - eerror "See https://bugs.gentoo.org/487864 for more details."
7798 - eerror
7799 - return 1
7800 - fi
7801 -}
7802 -
7803 -wine_env_vcs_vars() {
7804 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
7805 - local pn_live_val="${pn_live_var}"
7806 - eval pn_live_val='$'${pn_live_val}
7807 - if [[ ! -z ${EGIT_COMMIT} ]]; then
7808 - eerror "Commits must now be specified using the environmental variables"
7809 - eerror "WINE_COMMIT"
7810 - eerror
7811 - return 1
7812 - fi
7813 -}
7814 -
7815 -pkg_pretend() {
7816 - wine_build_environment_check || die
7817 -
7818 - # Verify OSS support
7819 - if use oss && ! use kernel_FreeBSD; then
7820 - if ! has_version ">=media-sound/oss-4"; then
7821 - eerror "You cannot build wine with USE=oss without having support from a"
7822 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
7823 - eerror
7824 - die
7825 - fi
7826 - fi
7827 -}
7828 -
7829 -pkg_setup() {
7830 - wine_build_environment_check || die
7831 - wine_env_vcs_vars || die
7832 -
7833 - WINE_VARIANT="${PN#wine}-${PV}"
7834 - WINE_VARIANT="${WINE_VARIANT#-}"
7835 -
7836 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
7837 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
7838 - MY_DATADIR="${MY_DATAROOTDIR}"
7839 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
7840 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
7841 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
7842 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
7843 - MY_MANDIR="${MY_DATADIR}/man"
7844 -}
7845 -
7846 -src_unpack() {
7847 - if [[ ${PV} == "9999" ]] ; then
7848 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
7849 - fi
7850 -
7851 - default
7852 -
7853 - l10n_find_plocales_changes "${S}/po" "" ".po"
7854 -}
7855 -
7856 -src_prepare() {
7857 -
7858 - eapply_bin(){
7859 - local patch
7860 - for patch in ${PATCHES_BIN[@]}; do
7861 - patchbin --nogit < "${patch}" || die
7862 - done
7863 - }
7864 -
7865 - local md5="$(md5sum server/protocol.def)"
7866 -
7867 - default
7868 - eapply_bin
7869 - eautoreconf
7870 -
7871 - # Modification of the server protocol requires regenerating the server requests
7872 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
7873 - einfo "server/protocol.def was patched; running tools/make_requests"
7874 - tools/make_requests || die #432348
7875 - fi
7876 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
7877 - if ! use run-exes; then
7878 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
7879 - fi
7880 -
7881 - # Edit wine.desktop to work for specific variant
7882 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
7883 -
7884 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
7885 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
7886 -
7887 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
7888 -}
7889 -
7890 -src_configure() {
7891 - wine_compiler_check || die
7892 -
7893 - export LDCONFIG=/bin/true
7894 - use custom-cflags || strip-flags
7895 -
7896 - multilib-minimal_src_configure
7897 -}
7898 -
7899 -multilib_src_configure() {
7900 - local myconf=(
7901 - --prefix="${MY_PREFIX}"
7902 - --datarootdir="${MY_DATAROOTDIR}"
7903 - --datadir="${MY_DATADIR}"
7904 - --docdir="${MY_DOCDIR}"
7905 - --includedir="${MY_INCLUDEDIR}"
7906 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
7907 - --libexecdir="${MY_LIBEXECDIR}"
7908 - --localstatedir="${MY_LOCALSTATEDIR}"
7909 - --mandir="${MY_MANDIR}"
7910 - --sysconfdir=/etc/wine
7911 - $(use_with alsa)
7912 - $(use_with capi)
7913 - $(use_with lcms cms)
7914 - $(use_with cups)
7915 - $(use_with ncurses curses)
7916 - $(use_with udisks dbus)
7917 - $(use_with fontconfig)
7918 - $(use_with ssl gnutls)
7919 - $(use_enable gecko mshtml)
7920 - $(use_with gphoto2 gphoto)
7921 - $(use_with gsm)
7922 - $(use_with gstreamer)
7923 - --without-hal
7924 - $(use_with jpeg)
7925 - $(use_with ldap)
7926 - $(use_enable mono mscoree)
7927 - $(use_with mp3 mpg123)
7928 - $(use_with netapi)
7929 - $(use_with nls gettext)
7930 - $(use_with openal)
7931 - $(use_with opencl)
7932 - $(use_with opengl)
7933 - $(use_with osmesa)
7934 - $(use_with oss)
7935 - $(use_with pcap)
7936 - $(use_with png)
7937 - $(use_with pulseaudio pulse)
7938 - $(use_with threads pthread)
7939 - $(use_with scanner sane)
7940 - $(use_enable test tests)
7941 - $(use_with truetype freetype)
7942 - $(use_with udev)
7943 - $(use_with v4l)
7944 - $(use_with X x)
7945 - $(use_with X xfixes)
7946 - $(use_with xcomposite)
7947 - $(use_with xinerama)
7948 - $(use_with xml)
7949 - $(use_with xml xslt)
7950 - )
7951 -
7952 - local PKG_CONFIG AR RANLIB
7953 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
7954 - # set AR and RANLIB to make QA scripts happy; #483342
7955 - tc-export PKG_CONFIG AR RANLIB
7956 -
7957 - if use amd64; then
7958 - if [[ ${ABI} == amd64 ]]; then
7959 - myconf+=( --enable-win64 )
7960 - else
7961 - myconf+=( --disable-win64 )
7962 - fi
7963 -
7964 - # Note: using --with-wine64 results in problems with multilib.eclass
7965 - # CC/LD hackery. We're using separate tools instead.
7966 - fi
7967 -
7968 - ECONF_SOURCE=${S} \
7969 - econf "${myconf[@]}"
7970 - emake depend
7971 -}
7972 -
7973 -multilib_src_test() {
7974 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
7975 - if [[ ${ABI} == x86 ]]; then
7976 - if [[ $(id -u) == 0 ]]; then
7977 - ewarn "Skipping tests since they cannot be run under the root user."
7978 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
7979 - return
7980 - fi
7981 -
7982 - WINEPREFIX="${T}/.wine-${ABI}" \
7983 - Xemake test
7984 - fi
7985 -}
7986 -
7987 -multilib_src_install_all() {
7988 - local DOCS=( ANNOUNCE AUTHORS README )
7989 - add_locale_docs() {
7990 - local locale_doc="documentation/README.$1"
7991 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
7992 - }
7993 - l10n_for_each_locale_do add_locale_docs
7994 -
7995 - einstalldocs
7996 - prune_libtool_files --all
7997 -
7998 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
7999 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
8000 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
8001 - fi
8002 -
8003 - # Remove wineconsole if neither backend is installed #551124
8004 - if ! use X && ! use ncurses; then
8005 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
8006 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
8007 - rm_wineconsole() {
8008 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
8009 - }
8010 - multilib_foreach_abi rm_wineconsole
8011 - fi
8012 -
8013 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
8014 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
8015 -
8016 - if use abi_x86_64 && ! use abi_x86_32; then
8017 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
8018 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
8019 - fi
8020 -
8021 - # Failglob for bin and man loops
8022 - local glob_state=$(shopt -p failglob)
8023 - shopt -s failglob
8024 -
8025 - # Make wrappers for binaries for handling multiple variants
8026 - # Note: wrappers instead of symlinks because some are shell which use basename
8027 - local b
8028 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
8029 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
8030 - done
8031 -
8032 - # respect LINGUAS when installing man pages, #469418
8033 - local l
8034 - for l in de fr pl; do
8035 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
8036 - done
8037 -
8038 - eval "${glob_state}"
8039 -}
8040 -
8041 -pkg_postinst() {
8042 - eselect wine register ${P}
8043 - if [[ ${PN} == "wine-vanilla" ]]; then
8044 - eselect wine register --vanilla ${P} || die
8045 - fi
8046 -
8047 - eselect wine update --all --if-unset || die
8048 -
8049 - xdg_desktop_database_update
8050 -
8051 - if ! use gecko; then
8052 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
8053 - ewarn "implementation of iexplore. Many older windows applications"
8054 - ewarn "rely upon the existence of an iexplore implementation, so"
8055 - ewarn "you will likely need to install an external one, like via winetricks"
8056 - fi
8057 - if ! use mono; then
8058 - ewarn "Without Wine Mono, wine prefixes will not have a default"
8059 - ewarn "implementation of .NET. Many windows applications rely upon"
8060 - ewarn "the existence of a .NET implementation, so you will likely need"
8061 - ewarn "to install an external one, like via winetricks"
8062 - fi
8063 -}
8064 -
8065 -pkg_prerm() {
8066 - eselect wine deregister ${P}
8067 - if [[ ${PN} == "wine-vanilla" ]]; then
8068 - eselect wine deregister --vanilla ${P} || die
8069 - fi
8070 -
8071 - eselect wine update --all --if-unset || die
8072 -}
8073 -
8074 -pkg_postrm() {
8075 - xdg_desktop_database_update
8076 -}
8077
8078 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.2-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.2-r1.ebuild
8079 deleted file mode 100644
8080 index c94a6ccc98d..00000000000
8081 --- a/app-emulation/wine-vanilla/wine-vanilla-2.2-r1.ebuild
8082 +++ /dev/null
8083 @@ -1,527 +0,0 @@
8084 -# Copyright 1999-2017 Gentoo Foundation
8085 -# Distributed under the terms of the GNU General Public License v2
8086 -
8087 -EAPI=6
8088 -
8089 -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"
8090 -PLOCALE_BACKUP="en"
8091 -
8092 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
8093 -
8094 -MY_PN="${PN%%-*}"
8095 -MY_P="${MY_PN}-${PV}"
8096 -
8097 -if [[ ${PV} == "9999" ]] ; then
8098 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
8099 - EGIT_BRANCH="master"
8100 - inherit git-r3
8101 - SRC_URI=""
8102 - #KEYWORDS=""
8103 -else
8104 - MAJOR_V=$(get_version_component_range 1)
8105 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
8106 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
8107 -fi
8108 -S="${WORKDIR}/${MY_P}"
8109 -
8110 -GWP_V="20170830"
8111 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
8112 -
8113 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
8114 -HOMEPAGE="https://www.winehq.org/"
8115 -SRC_URI="${SRC_URI}
8116 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
8117 -"
8118 -
8119 -LICENSE="LGPL-2.1"
8120 -SLOT="${PV}"
8121 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
8122 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
8123 - X? ( truetype )
8124 - elibc_glibc? ( threads )
8125 - osmesa? ( opengl )
8126 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
8127 -
8128 -# FIXME: the test suite is unsuitable for us; many tests require net access
8129 -# or fail due to Xvfb's opengl limitations.
8130 -RESTRICT="test"
8131 -
8132 -COMMON_DEPEND="
8133 - X? (
8134 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
8135 - x11-libs/libXext[${MULTILIB_USEDEP}]
8136 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
8137 - x11-libs/libXi[${MULTILIB_USEDEP}]
8138 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
8139 - )
8140 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
8141 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
8142 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
8143 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
8144 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
8145 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
8146 - gstreamer? (
8147 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
8148 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
8149 - )
8150 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
8151 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
8152 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
8153 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
8154 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
8155 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
8156 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
8157 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
8158 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
8159 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
8160 - opengl? (
8161 - virtual/glu[${MULTILIB_USEDEP}]
8162 - virtual/opengl[${MULTILIB_USEDEP}]
8163 - )
8164 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
8165 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
8166 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
8167 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
8168 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
8169 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
8170 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
8171 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
8172 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
8173 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
8174 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
8175 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
8176 - xml? (
8177 - dev-libs/libxml2[${MULTILIB_USEDEP}]
8178 - dev-libs/libxslt[${MULTILIB_USEDEP}]
8179 - )
8180 - abi_x86_32? (
8181 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
8182 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
8183 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
8184 - !<app-emulation/emul-linux-x86-db-20140508-r3
8185 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
8186 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
8187 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
8188 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
8189 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
8190 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
8191 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
8192 - !<app-emulation/emul-linux-x86-soundlibs-20140508
8193 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
8194 - !<app-emulation/emul-linux-x86-xlibs-20140508
8195 - )"
8196 -
8197 -RDEPEND="${COMMON_DEPEND}
8198 - app-emulation/wine-desktop-common
8199 - >app-eselect/eselect-wine-0.3
8200 - !app-emulation/wine:0
8201 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
8202 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
8203 - mono? ( app-emulation/wine-mono:4.6.4 )
8204 - perl? (
8205 - dev-lang/perl
8206 - dev-perl/XML-Simple
8207 - )
8208 - pulseaudio? (
8209 - realtime? ( sys-auth/rtkit )
8210 - )
8211 - samba? ( >=net-fs/samba-3.0.25[winbind] )
8212 - selinux? ( sec-policy/selinux-wine )
8213 - udisks? ( sys-fs/udisks:2 )"
8214 -
8215 -# tools/make_requests requires perl
8216 -DEPEND="${COMMON_DEPEND}
8217 - sys-devel/flex
8218 - >=sys-kernel/linux-headers-2.6
8219 - virtual/pkgconfig
8220 - virtual/yacc
8221 - X? (
8222 - x11-proto/inputproto
8223 - x11-proto/xextproto
8224 - x11-proto/xf86vidmodeproto
8225 - )
8226 - prelink? ( sys-devel/prelink )
8227 - xinerama? ( x11-proto/xineramaproto )"
8228 -
8229 -# These use a non-standard "Wine" category, which is provided by
8230 -# /etc/xdg/applications-merged/wine.menu
8231 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
8232 -usr/share/applications/wine-notepad.desktop
8233 -usr/share/applications/wine-uninstaller.desktop
8234 -usr/share/applications/wine-winecfg.desktop"
8235 -
8236 -PATCHES=(
8237 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
8238 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
8239 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
8240 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
8241 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
8242 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
8243 -)
8244 -PATCHES_BIN=(
8245 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
8246 -)
8247 -
8248 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
8249 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
8250 - DEPEND+=" dev-util/patchbin"
8251 -fi
8252 -
8253 -wine_compiler_check() {
8254 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8255 -
8256 - # GCC-specific bugs
8257 - if tc-is-gcc; then
8258 - # bug #549768
8259 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
8260 - ebegin "Checking for gcc-5 ms_abi compiler bug"
8261 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
8262 - # Run in subshell to prevent "Aborted" message
8263 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
8264 - if ! eend $?; then
8265 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
8266 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
8267 - eerror "or use gcc-config to select a different compiler version."
8268 - eerror "See https://bugs.gentoo.org/549768"
8269 - eerror
8270 - return 1
8271 - fi
8272 - fi
8273 - # bug #574044
8274 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
8275 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
8276 - # Compile in subshell to prevent "Aborted" message
8277 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
8278 - if ! eend $?; then
8279 - eerror "Wine cannot be built with this version of gcc-5.3"
8280 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
8281 - eerror "or use gcc-config to select a different compiler version."
8282 - eerror "See https://bugs.gentoo.org/574044"
8283 - eerror
8284 - return 1
8285 - fi
8286 - fi
8287 - fi
8288 -
8289 - # Ensure compiler support
8290 - if use abi_x86_64; then
8291 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
8292 - # Compile in subshell to prevent "Aborted" message
8293 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
8294 - if ! eend $?; then
8295 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
8296 - eerror
8297 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
8298 - eerror
8299 - return 1
8300 - fi
8301 - fi
8302 -}
8303 -
8304 -wine_build_environment_check() {
8305 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8306 -
8307 - if use abi_x86_64; then
8308 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
8309 - eerror "You need gcc-4.4+ to compile 64-bit wine"
8310 - die
8311 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
8312 - eerror "You need clang-3.8+ to compile 64-bit wine"
8313 - die
8314 - fi
8315 - fi
8316 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
8317 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
8318 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
8319 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
8320 - fi
8321 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
8322 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
8323 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
8324 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
8325 - ewarn "See package.env in man 5 portage for more information on how to do this."
8326 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
8327 - fi
8328 - fi
8329 -
8330 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
8331 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
8332 - eerror "See https://bugs.gentoo.org/487864 for more details."
8333 - eerror
8334 - return 1
8335 - fi
8336 -}
8337 -
8338 -wine_env_vcs_vars() {
8339 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
8340 - local pn_live_val="${pn_live_var}"
8341 - eval pn_live_val='$'${pn_live_val}
8342 - if [[ ! -z ${EGIT_COMMIT} ]]; then
8343 - eerror "Commits must now be specified using the environmental variables"
8344 - eerror "WINE_COMMIT"
8345 - eerror
8346 - return 1
8347 - fi
8348 -}
8349 -
8350 -pkg_pretend() {
8351 - wine_build_environment_check || die
8352 -
8353 - # Verify OSS support
8354 - if use oss && ! use kernel_FreeBSD; then
8355 - if ! has_version ">=media-sound/oss-4"; then
8356 - eerror "You cannot build wine with USE=oss without having support from a"
8357 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
8358 - eerror
8359 - die
8360 - fi
8361 - fi
8362 -}
8363 -
8364 -pkg_setup() {
8365 - wine_build_environment_check || die
8366 - wine_env_vcs_vars || die
8367 -
8368 - WINE_VARIANT="${PN#wine}-${PV}"
8369 - WINE_VARIANT="${WINE_VARIANT#-}"
8370 -
8371 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
8372 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
8373 - MY_DATADIR="${MY_DATAROOTDIR}"
8374 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
8375 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
8376 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
8377 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
8378 - MY_MANDIR="${MY_DATADIR}/man"
8379 -}
8380 -
8381 -src_unpack() {
8382 - if [[ ${PV} == "9999" ]] ; then
8383 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
8384 - fi
8385 -
8386 - default
8387 -
8388 - l10n_find_plocales_changes "${S}/po" "" ".po"
8389 -}
8390 -
8391 -src_prepare() {
8392 -
8393 - eapply_bin(){
8394 - local patch
8395 - for patch in ${PATCHES_BIN[@]}; do
8396 - patchbin --nogit < "${patch}" || die
8397 - done
8398 - }
8399 -
8400 - local md5="$(md5sum server/protocol.def)"
8401 -
8402 - default
8403 - eapply_bin
8404 - eautoreconf
8405 -
8406 - # Modification of the server protocol requires regenerating the server requests
8407 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
8408 - einfo "server/protocol.def was patched; running tools/make_requests"
8409 - tools/make_requests || die #432348
8410 - fi
8411 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
8412 - if ! use run-exes; then
8413 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
8414 - fi
8415 -
8416 - # Edit wine.desktop to work for specific variant
8417 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
8418 -
8419 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
8420 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
8421 -
8422 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
8423 -}
8424 -
8425 -src_configure() {
8426 - wine_compiler_check || die
8427 -
8428 - export LDCONFIG=/bin/true
8429 - use custom-cflags || strip-flags
8430 -
8431 - multilib-minimal_src_configure
8432 -}
8433 -
8434 -multilib_src_configure() {
8435 - local myconf=(
8436 - --prefix="${MY_PREFIX}"
8437 - --datarootdir="${MY_DATAROOTDIR}"
8438 - --datadir="${MY_DATADIR}"
8439 - --docdir="${MY_DOCDIR}"
8440 - --includedir="${MY_INCLUDEDIR}"
8441 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
8442 - --libexecdir="${MY_LIBEXECDIR}"
8443 - --localstatedir="${MY_LOCALSTATEDIR}"
8444 - --mandir="${MY_MANDIR}"
8445 - --sysconfdir=/etc/wine
8446 - $(use_with alsa)
8447 - $(use_with capi)
8448 - $(use_with lcms cms)
8449 - $(use_with cups)
8450 - $(use_with ncurses curses)
8451 - $(use_with udisks dbus)
8452 - $(use_with fontconfig)
8453 - $(use_with ssl gnutls)
8454 - $(use_enable gecko mshtml)
8455 - $(use_with gphoto2 gphoto)
8456 - $(use_with gsm)
8457 - $(use_with gstreamer)
8458 - --without-hal
8459 - $(use_with jpeg)
8460 - $(use_with ldap)
8461 - $(use_enable mono mscoree)
8462 - $(use_with mp3 mpg123)
8463 - $(use_with netapi)
8464 - $(use_with nls gettext)
8465 - $(use_with openal)
8466 - $(use_with opencl)
8467 - $(use_with opengl)
8468 - $(use_with osmesa)
8469 - $(use_with oss)
8470 - $(use_with pcap)
8471 - $(use_with png)
8472 - $(use_with pulseaudio pulse)
8473 - $(use_with threads pthread)
8474 - $(use_with scanner sane)
8475 - $(use_enable test tests)
8476 - $(use_with truetype freetype)
8477 - $(use_with udev)
8478 - $(use_with v4l)
8479 - $(use_with X x)
8480 - $(use_with xcomposite)
8481 - $(use_with xinerama)
8482 - $(use_with xml)
8483 - $(use_with xml xslt)
8484 - )
8485 -
8486 - local PKG_CONFIG AR RANLIB
8487 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
8488 - # set AR and RANLIB to make QA scripts happy; #483342
8489 - tc-export PKG_CONFIG AR RANLIB
8490 -
8491 - if use amd64; then
8492 - if [[ ${ABI} == amd64 ]]; then
8493 - myconf+=( --enable-win64 )
8494 - else
8495 - myconf+=( --disable-win64 )
8496 - fi
8497 -
8498 - # Note: using --with-wine64 results in problems with multilib.eclass
8499 - # CC/LD hackery. We're using separate tools instead.
8500 - fi
8501 -
8502 - ECONF_SOURCE=${S} \
8503 - econf "${myconf[@]}"
8504 - emake depend
8505 -}
8506 -
8507 -multilib_src_test() {
8508 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
8509 - if [[ ${ABI} == x86 ]]; then
8510 - if [[ $(id -u) == 0 ]]; then
8511 - ewarn "Skipping tests since they cannot be run under the root user."
8512 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
8513 - return
8514 - fi
8515 -
8516 - WINEPREFIX="${T}/.wine-${ABI}" \
8517 - Xemake test
8518 - fi
8519 -}
8520 -
8521 -multilib_src_install_all() {
8522 - local DOCS=( ANNOUNCE AUTHORS README )
8523 - add_locale_docs() {
8524 - local locale_doc="documentation/README.$1"
8525 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
8526 - }
8527 - l10n_for_each_locale_do add_locale_docs
8528 -
8529 - einstalldocs
8530 - prune_libtool_files --all
8531 -
8532 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
8533 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
8534 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
8535 - fi
8536 -
8537 - # Remove wineconsole if neither backend is installed #551124
8538 - if ! use X && ! use ncurses; then
8539 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
8540 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
8541 - rm_wineconsole() {
8542 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
8543 - }
8544 - multilib_foreach_abi rm_wineconsole
8545 - fi
8546 -
8547 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
8548 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
8549 -
8550 - if use abi_x86_64 && ! use abi_x86_32; then
8551 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
8552 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
8553 - fi
8554 -
8555 - # Failglob for bin and man loops
8556 - local glob_state=$(shopt -p failglob)
8557 - shopt -s failglob
8558 -
8559 - # Make wrappers for binaries for handling multiple variants
8560 - # Note: wrappers instead of symlinks because some are shell which use basename
8561 - local b
8562 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
8563 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
8564 - done
8565 -
8566 - # respect LINGUAS when installing man pages, #469418
8567 - local l
8568 - for l in de fr pl; do
8569 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
8570 - done
8571 -
8572 - eval "${glob_state}"
8573 -}
8574 -
8575 -pkg_postinst() {
8576 - eselect wine register ${P}
8577 - if [[ ${PN} == "wine-vanilla" ]]; then
8578 - eselect wine register --vanilla ${P} || die
8579 - fi
8580 -
8581 - eselect wine update --all --if-unset || die
8582 -
8583 - xdg_desktop_database_update
8584 -
8585 - if ! use gecko; then
8586 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
8587 - ewarn "implementation of iexplore. Many older windows applications"
8588 - ewarn "rely upon the existence of an iexplore implementation, so"
8589 - ewarn "you will likely need to install an external one, like via winetricks"
8590 - fi
8591 - if ! use mono; then
8592 - ewarn "Without Wine Mono, wine prefixes will not have a default"
8593 - ewarn "implementation of .NET. Many windows applications rely upon"
8594 - ewarn "the existence of a .NET implementation, so you will likely need"
8595 - ewarn "to install an external one, like via winetricks"
8596 - fi
8597 -}
8598 -
8599 -pkg_prerm() {
8600 - eselect wine deregister ${P}
8601 - if [[ ${PN} == "wine-vanilla" ]]; then
8602 - eselect wine deregister --vanilla ${P} || die
8603 - fi
8604 -
8605 - eselect wine update --all --if-unset || die
8606 -}
8607 -
8608 -pkg_postrm() {
8609 - xdg_desktop_database_update
8610 -}
8611
8612 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.3-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.3-r1.ebuild
8613 deleted file mode 100644
8614 index c94a6ccc98d..00000000000
8615 --- a/app-emulation/wine-vanilla/wine-vanilla-2.3-r1.ebuild
8616 +++ /dev/null
8617 @@ -1,527 +0,0 @@
8618 -# Copyright 1999-2017 Gentoo Foundation
8619 -# Distributed under the terms of the GNU General Public License v2
8620 -
8621 -EAPI=6
8622 -
8623 -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"
8624 -PLOCALE_BACKUP="en"
8625 -
8626 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
8627 -
8628 -MY_PN="${PN%%-*}"
8629 -MY_P="${MY_PN}-${PV}"
8630 -
8631 -if [[ ${PV} == "9999" ]] ; then
8632 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
8633 - EGIT_BRANCH="master"
8634 - inherit git-r3
8635 - SRC_URI=""
8636 - #KEYWORDS=""
8637 -else
8638 - MAJOR_V=$(get_version_component_range 1)
8639 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
8640 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
8641 -fi
8642 -S="${WORKDIR}/${MY_P}"
8643 -
8644 -GWP_V="20170830"
8645 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
8646 -
8647 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
8648 -HOMEPAGE="https://www.winehq.org/"
8649 -SRC_URI="${SRC_URI}
8650 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
8651 -"
8652 -
8653 -LICENSE="LGPL-2.1"
8654 -SLOT="${PV}"
8655 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
8656 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
8657 - X? ( truetype )
8658 - elibc_glibc? ( threads )
8659 - osmesa? ( opengl )
8660 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
8661 -
8662 -# FIXME: the test suite is unsuitable for us; many tests require net access
8663 -# or fail due to Xvfb's opengl limitations.
8664 -RESTRICT="test"
8665 -
8666 -COMMON_DEPEND="
8667 - X? (
8668 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
8669 - x11-libs/libXext[${MULTILIB_USEDEP}]
8670 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
8671 - x11-libs/libXi[${MULTILIB_USEDEP}]
8672 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
8673 - )
8674 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
8675 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
8676 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
8677 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
8678 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
8679 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
8680 - gstreamer? (
8681 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
8682 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
8683 - )
8684 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
8685 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
8686 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
8687 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
8688 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
8689 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
8690 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
8691 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
8692 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
8693 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
8694 - opengl? (
8695 - virtual/glu[${MULTILIB_USEDEP}]
8696 - virtual/opengl[${MULTILIB_USEDEP}]
8697 - )
8698 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
8699 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
8700 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
8701 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
8702 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
8703 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
8704 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
8705 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
8706 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
8707 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
8708 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
8709 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
8710 - xml? (
8711 - dev-libs/libxml2[${MULTILIB_USEDEP}]
8712 - dev-libs/libxslt[${MULTILIB_USEDEP}]
8713 - )
8714 - abi_x86_32? (
8715 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
8716 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
8717 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
8718 - !<app-emulation/emul-linux-x86-db-20140508-r3
8719 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
8720 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
8721 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
8722 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
8723 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
8724 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
8725 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
8726 - !<app-emulation/emul-linux-x86-soundlibs-20140508
8727 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
8728 - !<app-emulation/emul-linux-x86-xlibs-20140508
8729 - )"
8730 -
8731 -RDEPEND="${COMMON_DEPEND}
8732 - app-emulation/wine-desktop-common
8733 - >app-eselect/eselect-wine-0.3
8734 - !app-emulation/wine:0
8735 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
8736 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
8737 - mono? ( app-emulation/wine-mono:4.6.4 )
8738 - perl? (
8739 - dev-lang/perl
8740 - dev-perl/XML-Simple
8741 - )
8742 - pulseaudio? (
8743 - realtime? ( sys-auth/rtkit )
8744 - )
8745 - samba? ( >=net-fs/samba-3.0.25[winbind] )
8746 - selinux? ( sec-policy/selinux-wine )
8747 - udisks? ( sys-fs/udisks:2 )"
8748 -
8749 -# tools/make_requests requires perl
8750 -DEPEND="${COMMON_DEPEND}
8751 - sys-devel/flex
8752 - >=sys-kernel/linux-headers-2.6
8753 - virtual/pkgconfig
8754 - virtual/yacc
8755 - X? (
8756 - x11-proto/inputproto
8757 - x11-proto/xextproto
8758 - x11-proto/xf86vidmodeproto
8759 - )
8760 - prelink? ( sys-devel/prelink )
8761 - xinerama? ( x11-proto/xineramaproto )"
8762 -
8763 -# These use a non-standard "Wine" category, which is provided by
8764 -# /etc/xdg/applications-merged/wine.menu
8765 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
8766 -usr/share/applications/wine-notepad.desktop
8767 -usr/share/applications/wine-uninstaller.desktop
8768 -usr/share/applications/wine-winecfg.desktop"
8769 -
8770 -PATCHES=(
8771 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
8772 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
8773 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
8774 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
8775 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
8776 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
8777 -)
8778 -PATCHES_BIN=(
8779 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
8780 -)
8781 -
8782 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
8783 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
8784 - DEPEND+=" dev-util/patchbin"
8785 -fi
8786 -
8787 -wine_compiler_check() {
8788 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8789 -
8790 - # GCC-specific bugs
8791 - if tc-is-gcc; then
8792 - # bug #549768
8793 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
8794 - ebegin "Checking for gcc-5 ms_abi compiler bug"
8795 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
8796 - # Run in subshell to prevent "Aborted" message
8797 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
8798 - if ! eend $?; then
8799 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
8800 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
8801 - eerror "or use gcc-config to select a different compiler version."
8802 - eerror "See https://bugs.gentoo.org/549768"
8803 - eerror
8804 - return 1
8805 - fi
8806 - fi
8807 - # bug #574044
8808 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
8809 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
8810 - # Compile in subshell to prevent "Aborted" message
8811 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
8812 - if ! eend $?; then
8813 - eerror "Wine cannot be built with this version of gcc-5.3"
8814 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
8815 - eerror "or use gcc-config to select a different compiler version."
8816 - eerror "See https://bugs.gentoo.org/574044"
8817 - eerror
8818 - return 1
8819 - fi
8820 - fi
8821 - fi
8822 -
8823 - # Ensure compiler support
8824 - if use abi_x86_64; then
8825 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
8826 - # Compile in subshell to prevent "Aborted" message
8827 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
8828 - if ! eend $?; then
8829 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
8830 - eerror
8831 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
8832 - eerror
8833 - return 1
8834 - fi
8835 - fi
8836 -}
8837 -
8838 -wine_build_environment_check() {
8839 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8840 -
8841 - if use abi_x86_64; then
8842 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
8843 - eerror "You need gcc-4.4+ to compile 64-bit wine"
8844 - die
8845 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
8846 - eerror "You need clang-3.8+ to compile 64-bit wine"
8847 - die
8848 - fi
8849 - fi
8850 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
8851 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
8852 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
8853 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
8854 - fi
8855 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
8856 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
8857 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
8858 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
8859 - ewarn "See package.env in man 5 portage for more information on how to do this."
8860 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
8861 - fi
8862 - fi
8863 -
8864 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
8865 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
8866 - eerror "See https://bugs.gentoo.org/487864 for more details."
8867 - eerror
8868 - return 1
8869 - fi
8870 -}
8871 -
8872 -wine_env_vcs_vars() {
8873 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
8874 - local pn_live_val="${pn_live_var}"
8875 - eval pn_live_val='$'${pn_live_val}
8876 - if [[ ! -z ${EGIT_COMMIT} ]]; then
8877 - eerror "Commits must now be specified using the environmental variables"
8878 - eerror "WINE_COMMIT"
8879 - eerror
8880 - return 1
8881 - fi
8882 -}
8883 -
8884 -pkg_pretend() {
8885 - wine_build_environment_check || die
8886 -
8887 - # Verify OSS support
8888 - if use oss && ! use kernel_FreeBSD; then
8889 - if ! has_version ">=media-sound/oss-4"; then
8890 - eerror "You cannot build wine with USE=oss without having support from a"
8891 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
8892 - eerror
8893 - die
8894 - fi
8895 - fi
8896 -}
8897 -
8898 -pkg_setup() {
8899 - wine_build_environment_check || die
8900 - wine_env_vcs_vars || die
8901 -
8902 - WINE_VARIANT="${PN#wine}-${PV}"
8903 - WINE_VARIANT="${WINE_VARIANT#-}"
8904 -
8905 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
8906 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
8907 - MY_DATADIR="${MY_DATAROOTDIR}"
8908 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
8909 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
8910 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
8911 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
8912 - MY_MANDIR="${MY_DATADIR}/man"
8913 -}
8914 -
8915 -src_unpack() {
8916 - if [[ ${PV} == "9999" ]] ; then
8917 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
8918 - fi
8919 -
8920 - default
8921 -
8922 - l10n_find_plocales_changes "${S}/po" "" ".po"
8923 -}
8924 -
8925 -src_prepare() {
8926 -
8927 - eapply_bin(){
8928 - local patch
8929 - for patch in ${PATCHES_BIN[@]}; do
8930 - patchbin --nogit < "${patch}" || die
8931 - done
8932 - }
8933 -
8934 - local md5="$(md5sum server/protocol.def)"
8935 -
8936 - default
8937 - eapply_bin
8938 - eautoreconf
8939 -
8940 - # Modification of the server protocol requires regenerating the server requests
8941 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
8942 - einfo "server/protocol.def was patched; running tools/make_requests"
8943 - tools/make_requests || die #432348
8944 - fi
8945 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
8946 - if ! use run-exes; then
8947 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
8948 - fi
8949 -
8950 - # Edit wine.desktop to work for specific variant
8951 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
8952 -
8953 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
8954 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
8955 -
8956 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
8957 -}
8958 -
8959 -src_configure() {
8960 - wine_compiler_check || die
8961 -
8962 - export LDCONFIG=/bin/true
8963 - use custom-cflags || strip-flags
8964 -
8965 - multilib-minimal_src_configure
8966 -}
8967 -
8968 -multilib_src_configure() {
8969 - local myconf=(
8970 - --prefix="${MY_PREFIX}"
8971 - --datarootdir="${MY_DATAROOTDIR}"
8972 - --datadir="${MY_DATADIR}"
8973 - --docdir="${MY_DOCDIR}"
8974 - --includedir="${MY_INCLUDEDIR}"
8975 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
8976 - --libexecdir="${MY_LIBEXECDIR}"
8977 - --localstatedir="${MY_LOCALSTATEDIR}"
8978 - --mandir="${MY_MANDIR}"
8979 - --sysconfdir=/etc/wine
8980 - $(use_with alsa)
8981 - $(use_with capi)
8982 - $(use_with lcms cms)
8983 - $(use_with cups)
8984 - $(use_with ncurses curses)
8985 - $(use_with udisks dbus)
8986 - $(use_with fontconfig)
8987 - $(use_with ssl gnutls)
8988 - $(use_enable gecko mshtml)
8989 - $(use_with gphoto2 gphoto)
8990 - $(use_with gsm)
8991 - $(use_with gstreamer)
8992 - --without-hal
8993 - $(use_with jpeg)
8994 - $(use_with ldap)
8995 - $(use_enable mono mscoree)
8996 - $(use_with mp3 mpg123)
8997 - $(use_with netapi)
8998 - $(use_with nls gettext)
8999 - $(use_with openal)
9000 - $(use_with opencl)
9001 - $(use_with opengl)
9002 - $(use_with osmesa)
9003 - $(use_with oss)
9004 - $(use_with pcap)
9005 - $(use_with png)
9006 - $(use_with pulseaudio pulse)
9007 - $(use_with threads pthread)
9008 - $(use_with scanner sane)
9009 - $(use_enable test tests)
9010 - $(use_with truetype freetype)
9011 - $(use_with udev)
9012 - $(use_with v4l)
9013 - $(use_with X x)
9014 - $(use_with xcomposite)
9015 - $(use_with xinerama)
9016 - $(use_with xml)
9017 - $(use_with xml xslt)
9018 - )
9019 -
9020 - local PKG_CONFIG AR RANLIB
9021 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
9022 - # set AR and RANLIB to make QA scripts happy; #483342
9023 - tc-export PKG_CONFIG AR RANLIB
9024 -
9025 - if use amd64; then
9026 - if [[ ${ABI} == amd64 ]]; then
9027 - myconf+=( --enable-win64 )
9028 - else
9029 - myconf+=( --disable-win64 )
9030 - fi
9031 -
9032 - # Note: using --with-wine64 results in problems with multilib.eclass
9033 - # CC/LD hackery. We're using separate tools instead.
9034 - fi
9035 -
9036 - ECONF_SOURCE=${S} \
9037 - econf "${myconf[@]}"
9038 - emake depend
9039 -}
9040 -
9041 -multilib_src_test() {
9042 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
9043 - if [[ ${ABI} == x86 ]]; then
9044 - if [[ $(id -u) == 0 ]]; then
9045 - ewarn "Skipping tests since they cannot be run under the root user."
9046 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
9047 - return
9048 - fi
9049 -
9050 - WINEPREFIX="${T}/.wine-${ABI}" \
9051 - Xemake test
9052 - fi
9053 -}
9054 -
9055 -multilib_src_install_all() {
9056 - local DOCS=( ANNOUNCE AUTHORS README )
9057 - add_locale_docs() {
9058 - local locale_doc="documentation/README.$1"
9059 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
9060 - }
9061 - l10n_for_each_locale_do add_locale_docs
9062 -
9063 - einstalldocs
9064 - prune_libtool_files --all
9065 -
9066 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
9067 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
9068 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
9069 - fi
9070 -
9071 - # Remove wineconsole if neither backend is installed #551124
9072 - if ! use X && ! use ncurses; then
9073 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
9074 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
9075 - rm_wineconsole() {
9076 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
9077 - }
9078 - multilib_foreach_abi rm_wineconsole
9079 - fi
9080 -
9081 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
9082 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
9083 -
9084 - if use abi_x86_64 && ! use abi_x86_32; then
9085 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
9086 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
9087 - fi
9088 -
9089 - # Failglob for bin and man loops
9090 - local glob_state=$(shopt -p failglob)
9091 - shopt -s failglob
9092 -
9093 - # Make wrappers for binaries for handling multiple variants
9094 - # Note: wrappers instead of symlinks because some are shell which use basename
9095 - local b
9096 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
9097 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
9098 - done
9099 -
9100 - # respect LINGUAS when installing man pages, #469418
9101 - local l
9102 - for l in de fr pl; do
9103 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
9104 - done
9105 -
9106 - eval "${glob_state}"
9107 -}
9108 -
9109 -pkg_postinst() {
9110 - eselect wine register ${P}
9111 - if [[ ${PN} == "wine-vanilla" ]]; then
9112 - eselect wine register --vanilla ${P} || die
9113 - fi
9114 -
9115 - eselect wine update --all --if-unset || die
9116 -
9117 - xdg_desktop_database_update
9118 -
9119 - if ! use gecko; then
9120 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
9121 - ewarn "implementation of iexplore. Many older windows applications"
9122 - ewarn "rely upon the existence of an iexplore implementation, so"
9123 - ewarn "you will likely need to install an external one, like via winetricks"
9124 - fi
9125 - if ! use mono; then
9126 - ewarn "Without Wine Mono, wine prefixes will not have a default"
9127 - ewarn "implementation of .NET. Many windows applications rely upon"
9128 - ewarn "the existence of a .NET implementation, so you will likely need"
9129 - ewarn "to install an external one, like via winetricks"
9130 - fi
9131 -}
9132 -
9133 -pkg_prerm() {
9134 - eselect wine deregister ${P}
9135 - if [[ ${PN} == "wine-vanilla" ]]; then
9136 - eselect wine deregister --vanilla ${P} || die
9137 - fi
9138 -
9139 - eselect wine update --all --if-unset || die
9140 -}
9141 -
9142 -pkg_postrm() {
9143 - xdg_desktop_database_update
9144 -}
9145
9146 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.4-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.4-r1.ebuild
9147 deleted file mode 100644
9148 index a69e75d961e..00000000000
9149 --- a/app-emulation/wine-vanilla/wine-vanilla-2.4-r1.ebuild
9150 +++ /dev/null
9151 @@ -1,527 +0,0 @@
9152 -# Copyright 1999-2017 Gentoo Foundation
9153 -# Distributed under the terms of the GNU General Public License v2
9154 -
9155 -EAPI=6
9156 -
9157 -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"
9158 -PLOCALE_BACKUP="en"
9159 -
9160 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
9161 -
9162 -MY_PN="${PN%%-*}"
9163 -MY_P="${MY_PN}-${PV}"
9164 -
9165 -if [[ ${PV} == "9999" ]] ; then
9166 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
9167 - EGIT_BRANCH="master"
9168 - inherit git-r3
9169 - SRC_URI=""
9170 - #KEYWORDS=""
9171 -else
9172 - MAJOR_V=$(get_version_component_range 1)
9173 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
9174 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
9175 -fi
9176 -S="${WORKDIR}/${MY_P}"
9177 -
9178 -GWP_V="20170830"
9179 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
9180 -
9181 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
9182 -HOMEPAGE="https://www.winehq.org/"
9183 -SRC_URI="${SRC_URI}
9184 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
9185 -"
9186 -
9187 -LICENSE="LGPL-2.1"
9188 -SLOT="${PV}"
9189 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
9190 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
9191 - X? ( truetype )
9192 - elibc_glibc? ( threads )
9193 - osmesa? ( opengl )
9194 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
9195 -
9196 -# FIXME: the test suite is unsuitable for us; many tests require net access
9197 -# or fail due to Xvfb's opengl limitations.
9198 -RESTRICT="test"
9199 -
9200 -COMMON_DEPEND="
9201 - X? (
9202 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
9203 - x11-libs/libXext[${MULTILIB_USEDEP}]
9204 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
9205 - x11-libs/libXi[${MULTILIB_USEDEP}]
9206 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
9207 - )
9208 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
9209 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
9210 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
9211 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
9212 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
9213 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
9214 - gstreamer? (
9215 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
9216 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
9217 - )
9218 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
9219 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
9220 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
9221 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
9222 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
9223 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
9224 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
9225 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
9226 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
9227 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
9228 - opengl? (
9229 - virtual/glu[${MULTILIB_USEDEP}]
9230 - virtual/opengl[${MULTILIB_USEDEP}]
9231 - )
9232 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
9233 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
9234 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
9235 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
9236 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
9237 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
9238 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
9239 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
9240 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
9241 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
9242 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
9243 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
9244 - xml? (
9245 - dev-libs/libxml2[${MULTILIB_USEDEP}]
9246 - dev-libs/libxslt[${MULTILIB_USEDEP}]
9247 - )
9248 - abi_x86_32? (
9249 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
9250 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
9251 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
9252 - !<app-emulation/emul-linux-x86-db-20140508-r3
9253 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
9254 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
9255 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
9256 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
9257 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
9258 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
9259 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
9260 - !<app-emulation/emul-linux-x86-soundlibs-20140508
9261 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
9262 - !<app-emulation/emul-linux-x86-xlibs-20140508
9263 - )"
9264 -
9265 -RDEPEND="${COMMON_DEPEND}
9266 - app-emulation/wine-desktop-common
9267 - >app-eselect/eselect-wine-0.3
9268 - !app-emulation/wine:0
9269 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
9270 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
9271 - mono? ( app-emulation/wine-mono:4.7.0 )
9272 - perl? (
9273 - dev-lang/perl
9274 - dev-perl/XML-Simple
9275 - )
9276 - pulseaudio? (
9277 - realtime? ( sys-auth/rtkit )
9278 - )
9279 - samba? ( >=net-fs/samba-3.0.25[winbind] )
9280 - selinux? ( sec-policy/selinux-wine )
9281 - udisks? ( sys-fs/udisks:2 )"
9282 -
9283 -# tools/make_requests requires perl
9284 -DEPEND="${COMMON_DEPEND}
9285 - sys-devel/flex
9286 - >=sys-kernel/linux-headers-2.6
9287 - virtual/pkgconfig
9288 - virtual/yacc
9289 - X? (
9290 - x11-proto/inputproto
9291 - x11-proto/xextproto
9292 - x11-proto/xf86vidmodeproto
9293 - )
9294 - prelink? ( sys-devel/prelink )
9295 - xinerama? ( x11-proto/xineramaproto )"
9296 -
9297 -# These use a non-standard "Wine" category, which is provided by
9298 -# /etc/xdg/applications-merged/wine.menu
9299 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
9300 -usr/share/applications/wine-notepad.desktop
9301 -usr/share/applications/wine-uninstaller.desktop
9302 -usr/share/applications/wine-winecfg.desktop"
9303 -
9304 -PATCHES=(
9305 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
9306 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
9307 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
9308 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
9309 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
9310 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
9311 -)
9312 -PATCHES_BIN=(
9313 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
9314 -)
9315 -
9316 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
9317 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
9318 - DEPEND+=" dev-util/patchbin"
9319 -fi
9320 -
9321 -wine_compiler_check() {
9322 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9323 -
9324 - # GCC-specific bugs
9325 - if tc-is-gcc; then
9326 - # bug #549768
9327 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
9328 - ebegin "Checking for gcc-5 ms_abi compiler bug"
9329 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
9330 - # Run in subshell to prevent "Aborted" message
9331 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
9332 - if ! eend $?; then
9333 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
9334 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
9335 - eerror "or use gcc-config to select a different compiler version."
9336 - eerror "See https://bugs.gentoo.org/549768"
9337 - eerror
9338 - return 1
9339 - fi
9340 - fi
9341 - # bug #574044
9342 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
9343 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
9344 - # Compile in subshell to prevent "Aborted" message
9345 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
9346 - if ! eend $?; then
9347 - eerror "Wine cannot be built with this version of gcc-5.3"
9348 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
9349 - eerror "or use gcc-config to select a different compiler version."
9350 - eerror "See https://bugs.gentoo.org/574044"
9351 - eerror
9352 - return 1
9353 - fi
9354 - fi
9355 - fi
9356 -
9357 - # Ensure compiler support
9358 - if use abi_x86_64; then
9359 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
9360 - # Compile in subshell to prevent "Aborted" message
9361 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
9362 - if ! eend $?; then
9363 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
9364 - eerror
9365 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
9366 - eerror
9367 - return 1
9368 - fi
9369 - fi
9370 -}
9371 -
9372 -wine_build_environment_check() {
9373 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9374 -
9375 - if use abi_x86_64; then
9376 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
9377 - eerror "You need gcc-4.4+ to compile 64-bit wine"
9378 - die
9379 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
9380 - eerror "You need clang-3.8+ to compile 64-bit wine"
9381 - die
9382 - fi
9383 - fi
9384 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
9385 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
9386 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
9387 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
9388 - fi
9389 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
9390 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
9391 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
9392 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
9393 - ewarn "See package.env in man 5 portage for more information on how to do this."
9394 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
9395 - fi
9396 - fi
9397 -
9398 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
9399 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
9400 - eerror "See https://bugs.gentoo.org/487864 for more details."
9401 - eerror
9402 - return 1
9403 - fi
9404 -}
9405 -
9406 -wine_env_vcs_vars() {
9407 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
9408 - local pn_live_val="${pn_live_var}"
9409 - eval pn_live_val='$'${pn_live_val}
9410 - if [[ ! -z ${EGIT_COMMIT} ]]; then
9411 - eerror "Commits must now be specified using the environmental variables"
9412 - eerror "WINE_COMMIT"
9413 - eerror
9414 - return 1
9415 - fi
9416 -}
9417 -
9418 -pkg_pretend() {
9419 - wine_build_environment_check || die
9420 -
9421 - # Verify OSS support
9422 - if use oss && ! use kernel_FreeBSD; then
9423 - if ! has_version ">=media-sound/oss-4"; then
9424 - eerror "You cannot build wine with USE=oss without having support from a"
9425 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
9426 - eerror
9427 - die
9428 - fi
9429 - fi
9430 -}
9431 -
9432 -pkg_setup() {
9433 - wine_build_environment_check || die
9434 - wine_env_vcs_vars || die
9435 -
9436 - WINE_VARIANT="${PN#wine}-${PV}"
9437 - WINE_VARIANT="${WINE_VARIANT#-}"
9438 -
9439 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
9440 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
9441 - MY_DATADIR="${MY_DATAROOTDIR}"
9442 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
9443 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
9444 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
9445 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
9446 - MY_MANDIR="${MY_DATADIR}/man"
9447 -}
9448 -
9449 -src_unpack() {
9450 - if [[ ${PV} == "9999" ]] ; then
9451 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
9452 - fi
9453 -
9454 - default
9455 -
9456 - l10n_find_plocales_changes "${S}/po" "" ".po"
9457 -}
9458 -
9459 -src_prepare() {
9460 -
9461 - eapply_bin(){
9462 - local patch
9463 - for patch in ${PATCHES_BIN[@]}; do
9464 - patchbin --nogit < "${patch}" || die
9465 - done
9466 - }
9467 -
9468 - local md5="$(md5sum server/protocol.def)"
9469 -
9470 - default
9471 - eapply_bin
9472 - eautoreconf
9473 -
9474 - # Modification of the server protocol requires regenerating the server requests
9475 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
9476 - einfo "server/protocol.def was patched; running tools/make_requests"
9477 - tools/make_requests || die #432348
9478 - fi
9479 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
9480 - if ! use run-exes; then
9481 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
9482 - fi
9483 -
9484 - # Edit wine.desktop to work for specific variant
9485 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
9486 -
9487 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
9488 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
9489 -
9490 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
9491 -}
9492 -
9493 -src_configure() {
9494 - wine_compiler_check || die
9495 -
9496 - export LDCONFIG=/bin/true
9497 - use custom-cflags || strip-flags
9498 -
9499 - multilib-minimal_src_configure
9500 -}
9501 -
9502 -multilib_src_configure() {
9503 - local myconf=(
9504 - --prefix="${MY_PREFIX}"
9505 - --datarootdir="${MY_DATAROOTDIR}"
9506 - --datadir="${MY_DATADIR}"
9507 - --docdir="${MY_DOCDIR}"
9508 - --includedir="${MY_INCLUDEDIR}"
9509 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
9510 - --libexecdir="${MY_LIBEXECDIR}"
9511 - --localstatedir="${MY_LOCALSTATEDIR}"
9512 - --mandir="${MY_MANDIR}"
9513 - --sysconfdir=/etc/wine
9514 - $(use_with alsa)
9515 - $(use_with capi)
9516 - $(use_with lcms cms)
9517 - $(use_with cups)
9518 - $(use_with ncurses curses)
9519 - $(use_with udisks dbus)
9520 - $(use_with fontconfig)
9521 - $(use_with ssl gnutls)
9522 - $(use_enable gecko mshtml)
9523 - $(use_with gphoto2 gphoto)
9524 - $(use_with gsm)
9525 - $(use_with gstreamer)
9526 - --without-hal
9527 - $(use_with jpeg)
9528 - $(use_with ldap)
9529 - $(use_enable mono mscoree)
9530 - $(use_with mp3 mpg123)
9531 - $(use_with netapi)
9532 - $(use_with nls gettext)
9533 - $(use_with openal)
9534 - $(use_with opencl)
9535 - $(use_with opengl)
9536 - $(use_with osmesa)
9537 - $(use_with oss)
9538 - $(use_with pcap)
9539 - $(use_with png)
9540 - $(use_with pulseaudio pulse)
9541 - $(use_with threads pthread)
9542 - $(use_with scanner sane)
9543 - $(use_enable test tests)
9544 - $(use_with truetype freetype)
9545 - $(use_with udev)
9546 - $(use_with v4l)
9547 - $(use_with X x)
9548 - $(use_with xcomposite)
9549 - $(use_with xinerama)
9550 - $(use_with xml)
9551 - $(use_with xml xslt)
9552 - )
9553 -
9554 - local PKG_CONFIG AR RANLIB
9555 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
9556 - # set AR and RANLIB to make QA scripts happy; #483342
9557 - tc-export PKG_CONFIG AR RANLIB
9558 -
9559 - if use amd64; then
9560 - if [[ ${ABI} == amd64 ]]; then
9561 - myconf+=( --enable-win64 )
9562 - else
9563 - myconf+=( --disable-win64 )
9564 - fi
9565 -
9566 - # Note: using --with-wine64 results in problems with multilib.eclass
9567 - # CC/LD hackery. We're using separate tools instead.
9568 - fi
9569 -
9570 - ECONF_SOURCE=${S} \
9571 - econf "${myconf[@]}"
9572 - emake depend
9573 -}
9574 -
9575 -multilib_src_test() {
9576 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
9577 - if [[ ${ABI} == x86 ]]; then
9578 - if [[ $(id -u) == 0 ]]; then
9579 - ewarn "Skipping tests since they cannot be run under the root user."
9580 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
9581 - return
9582 - fi
9583 -
9584 - WINEPREFIX="${T}/.wine-${ABI}" \
9585 - Xemake test
9586 - fi
9587 -}
9588 -
9589 -multilib_src_install_all() {
9590 - local DOCS=( ANNOUNCE AUTHORS README )
9591 - add_locale_docs() {
9592 - local locale_doc="documentation/README.$1"
9593 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
9594 - }
9595 - l10n_for_each_locale_do add_locale_docs
9596 -
9597 - einstalldocs
9598 - prune_libtool_files --all
9599 -
9600 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
9601 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
9602 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
9603 - fi
9604 -
9605 - # Remove wineconsole if neither backend is installed #551124
9606 - if ! use X && ! use ncurses; then
9607 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
9608 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
9609 - rm_wineconsole() {
9610 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
9611 - }
9612 - multilib_foreach_abi rm_wineconsole
9613 - fi
9614 -
9615 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
9616 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
9617 -
9618 - if use abi_x86_64 && ! use abi_x86_32; then
9619 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
9620 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
9621 - fi
9622 -
9623 - # Failglob for bin and man loops
9624 - local glob_state=$(shopt -p failglob)
9625 - shopt -s failglob
9626 -
9627 - # Make wrappers for binaries for handling multiple variants
9628 - # Note: wrappers instead of symlinks because some are shell which use basename
9629 - local b
9630 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
9631 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
9632 - done
9633 -
9634 - # respect LINGUAS when installing man pages, #469418
9635 - local l
9636 - for l in de fr pl; do
9637 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
9638 - done
9639 -
9640 - eval "${glob_state}"
9641 -}
9642 -
9643 -pkg_postinst() {
9644 - eselect wine register ${P}
9645 - if [[ ${PN} == "wine-vanilla" ]]; then
9646 - eselect wine register --vanilla ${P} || die
9647 - fi
9648 -
9649 - eselect wine update --all --if-unset || die
9650 -
9651 - xdg_desktop_database_update
9652 -
9653 - if ! use gecko; then
9654 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
9655 - ewarn "implementation of iexplore. Many older windows applications"
9656 - ewarn "rely upon the existence of an iexplore implementation, so"
9657 - ewarn "you will likely need to install an external one, like via winetricks"
9658 - fi
9659 - if ! use mono; then
9660 - ewarn "Without Wine Mono, wine prefixes will not have a default"
9661 - ewarn "implementation of .NET. Many windows applications rely upon"
9662 - ewarn "the existence of a .NET implementation, so you will likely need"
9663 - ewarn "to install an external one, like via winetricks"
9664 - fi
9665 -}
9666 -
9667 -pkg_prerm() {
9668 - eselect wine deregister ${P}
9669 - if [[ ${PN} == "wine-vanilla" ]]; then
9670 - eselect wine deregister --vanilla ${P} || die
9671 - fi
9672 -
9673 - eselect wine update --all --if-unset || die
9674 -}
9675 -
9676 -pkg_postrm() {
9677 - xdg_desktop_database_update
9678 -}
9679
9680 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.5-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.5-r1.ebuild
9681 deleted file mode 100644
9682 index a69e75d961e..00000000000
9683 --- a/app-emulation/wine-vanilla/wine-vanilla-2.5-r1.ebuild
9684 +++ /dev/null
9685 @@ -1,527 +0,0 @@
9686 -# Copyright 1999-2017 Gentoo Foundation
9687 -# Distributed under the terms of the GNU General Public License v2
9688 -
9689 -EAPI=6
9690 -
9691 -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"
9692 -PLOCALE_BACKUP="en"
9693 -
9694 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
9695 -
9696 -MY_PN="${PN%%-*}"
9697 -MY_P="${MY_PN}-${PV}"
9698 -
9699 -if [[ ${PV} == "9999" ]] ; then
9700 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
9701 - EGIT_BRANCH="master"
9702 - inherit git-r3
9703 - SRC_URI=""
9704 - #KEYWORDS=""
9705 -else
9706 - MAJOR_V=$(get_version_component_range 1)
9707 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
9708 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
9709 -fi
9710 -S="${WORKDIR}/${MY_P}"
9711 -
9712 -GWP_V="20170830"
9713 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
9714 -
9715 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
9716 -HOMEPAGE="https://www.winehq.org/"
9717 -SRC_URI="${SRC_URI}
9718 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
9719 -"
9720 -
9721 -LICENSE="LGPL-2.1"
9722 -SLOT="${PV}"
9723 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
9724 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
9725 - X? ( truetype )
9726 - elibc_glibc? ( threads )
9727 - osmesa? ( opengl )
9728 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
9729 -
9730 -# FIXME: the test suite is unsuitable for us; many tests require net access
9731 -# or fail due to Xvfb's opengl limitations.
9732 -RESTRICT="test"
9733 -
9734 -COMMON_DEPEND="
9735 - X? (
9736 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
9737 - x11-libs/libXext[${MULTILIB_USEDEP}]
9738 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
9739 - x11-libs/libXi[${MULTILIB_USEDEP}]
9740 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
9741 - )
9742 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
9743 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
9744 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
9745 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
9746 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
9747 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
9748 - gstreamer? (
9749 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
9750 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
9751 - )
9752 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
9753 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
9754 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
9755 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
9756 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
9757 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
9758 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
9759 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
9760 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
9761 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
9762 - opengl? (
9763 - virtual/glu[${MULTILIB_USEDEP}]
9764 - virtual/opengl[${MULTILIB_USEDEP}]
9765 - )
9766 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
9767 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
9768 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
9769 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
9770 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
9771 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
9772 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
9773 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
9774 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
9775 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
9776 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
9777 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
9778 - xml? (
9779 - dev-libs/libxml2[${MULTILIB_USEDEP}]
9780 - dev-libs/libxslt[${MULTILIB_USEDEP}]
9781 - )
9782 - abi_x86_32? (
9783 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
9784 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
9785 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
9786 - !<app-emulation/emul-linux-x86-db-20140508-r3
9787 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
9788 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
9789 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
9790 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
9791 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
9792 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
9793 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
9794 - !<app-emulation/emul-linux-x86-soundlibs-20140508
9795 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
9796 - !<app-emulation/emul-linux-x86-xlibs-20140508
9797 - )"
9798 -
9799 -RDEPEND="${COMMON_DEPEND}
9800 - app-emulation/wine-desktop-common
9801 - >app-eselect/eselect-wine-0.3
9802 - !app-emulation/wine:0
9803 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
9804 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
9805 - mono? ( app-emulation/wine-mono:4.7.0 )
9806 - perl? (
9807 - dev-lang/perl
9808 - dev-perl/XML-Simple
9809 - )
9810 - pulseaudio? (
9811 - realtime? ( sys-auth/rtkit )
9812 - )
9813 - samba? ( >=net-fs/samba-3.0.25[winbind] )
9814 - selinux? ( sec-policy/selinux-wine )
9815 - udisks? ( sys-fs/udisks:2 )"
9816 -
9817 -# tools/make_requests requires perl
9818 -DEPEND="${COMMON_DEPEND}
9819 - sys-devel/flex
9820 - >=sys-kernel/linux-headers-2.6
9821 - virtual/pkgconfig
9822 - virtual/yacc
9823 - X? (
9824 - x11-proto/inputproto
9825 - x11-proto/xextproto
9826 - x11-proto/xf86vidmodeproto
9827 - )
9828 - prelink? ( sys-devel/prelink )
9829 - xinerama? ( x11-proto/xineramaproto )"
9830 -
9831 -# These use a non-standard "Wine" category, which is provided by
9832 -# /etc/xdg/applications-merged/wine.menu
9833 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
9834 -usr/share/applications/wine-notepad.desktop
9835 -usr/share/applications/wine-uninstaller.desktop
9836 -usr/share/applications/wine-winecfg.desktop"
9837 -
9838 -PATCHES=(
9839 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
9840 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
9841 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
9842 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
9843 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
9844 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
9845 -)
9846 -PATCHES_BIN=(
9847 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
9848 -)
9849 -
9850 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
9851 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
9852 - DEPEND+=" dev-util/patchbin"
9853 -fi
9854 -
9855 -wine_compiler_check() {
9856 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9857 -
9858 - # GCC-specific bugs
9859 - if tc-is-gcc; then
9860 - # bug #549768
9861 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
9862 - ebegin "Checking for gcc-5 ms_abi compiler bug"
9863 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
9864 - # Run in subshell to prevent "Aborted" message
9865 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
9866 - if ! eend $?; then
9867 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
9868 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
9869 - eerror "or use gcc-config to select a different compiler version."
9870 - eerror "See https://bugs.gentoo.org/549768"
9871 - eerror
9872 - return 1
9873 - fi
9874 - fi
9875 - # bug #574044
9876 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
9877 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
9878 - # Compile in subshell to prevent "Aborted" message
9879 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
9880 - if ! eend $?; then
9881 - eerror "Wine cannot be built with this version of gcc-5.3"
9882 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
9883 - eerror "or use gcc-config to select a different compiler version."
9884 - eerror "See https://bugs.gentoo.org/574044"
9885 - eerror
9886 - return 1
9887 - fi
9888 - fi
9889 - fi
9890 -
9891 - # Ensure compiler support
9892 - if use abi_x86_64; then
9893 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
9894 - # Compile in subshell to prevent "Aborted" message
9895 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
9896 - if ! eend $?; then
9897 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
9898 - eerror
9899 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
9900 - eerror
9901 - return 1
9902 - fi
9903 - fi
9904 -}
9905 -
9906 -wine_build_environment_check() {
9907 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9908 -
9909 - if use abi_x86_64; then
9910 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
9911 - eerror "You need gcc-4.4+ to compile 64-bit wine"
9912 - die
9913 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
9914 - eerror "You need clang-3.8+ to compile 64-bit wine"
9915 - die
9916 - fi
9917 - fi
9918 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
9919 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
9920 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
9921 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
9922 - fi
9923 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
9924 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
9925 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
9926 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
9927 - ewarn "See package.env in man 5 portage for more information on how to do this."
9928 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
9929 - fi
9930 - fi
9931 -
9932 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
9933 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
9934 - eerror "See https://bugs.gentoo.org/487864 for more details."
9935 - eerror
9936 - return 1
9937 - fi
9938 -}
9939 -
9940 -wine_env_vcs_vars() {
9941 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
9942 - local pn_live_val="${pn_live_var}"
9943 - eval pn_live_val='$'${pn_live_val}
9944 - if [[ ! -z ${EGIT_COMMIT} ]]; then
9945 - eerror "Commits must now be specified using the environmental variables"
9946 - eerror "WINE_COMMIT"
9947 - eerror
9948 - return 1
9949 - fi
9950 -}
9951 -
9952 -pkg_pretend() {
9953 - wine_build_environment_check || die
9954 -
9955 - # Verify OSS support
9956 - if use oss && ! use kernel_FreeBSD; then
9957 - if ! has_version ">=media-sound/oss-4"; then
9958 - eerror "You cannot build wine with USE=oss without having support from a"
9959 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
9960 - eerror
9961 - die
9962 - fi
9963 - fi
9964 -}
9965 -
9966 -pkg_setup() {
9967 - wine_build_environment_check || die
9968 - wine_env_vcs_vars || die
9969 -
9970 - WINE_VARIANT="${PN#wine}-${PV}"
9971 - WINE_VARIANT="${WINE_VARIANT#-}"
9972 -
9973 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
9974 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
9975 - MY_DATADIR="${MY_DATAROOTDIR}"
9976 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
9977 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
9978 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
9979 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
9980 - MY_MANDIR="${MY_DATADIR}/man"
9981 -}
9982 -
9983 -src_unpack() {
9984 - if [[ ${PV} == "9999" ]] ; then
9985 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
9986 - fi
9987 -
9988 - default
9989 -
9990 - l10n_find_plocales_changes "${S}/po" "" ".po"
9991 -}
9992 -
9993 -src_prepare() {
9994 -
9995 - eapply_bin(){
9996 - local patch
9997 - for patch in ${PATCHES_BIN[@]}; do
9998 - patchbin --nogit < "${patch}" || die
9999 - done
10000 - }
10001 -
10002 - local md5="$(md5sum server/protocol.def)"
10003 -
10004 - default
10005 - eapply_bin
10006 - eautoreconf
10007 -
10008 - # Modification of the server protocol requires regenerating the server requests
10009 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
10010 - einfo "server/protocol.def was patched; running tools/make_requests"
10011 - tools/make_requests || die #432348
10012 - fi
10013 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
10014 - if ! use run-exes; then
10015 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
10016 - fi
10017 -
10018 - # Edit wine.desktop to work for specific variant
10019 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
10020 -
10021 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
10022 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
10023 -
10024 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
10025 -}
10026 -
10027 -src_configure() {
10028 - wine_compiler_check || die
10029 -
10030 - export LDCONFIG=/bin/true
10031 - use custom-cflags || strip-flags
10032 -
10033 - multilib-minimal_src_configure
10034 -}
10035 -
10036 -multilib_src_configure() {
10037 - local myconf=(
10038 - --prefix="${MY_PREFIX}"
10039 - --datarootdir="${MY_DATAROOTDIR}"
10040 - --datadir="${MY_DATADIR}"
10041 - --docdir="${MY_DOCDIR}"
10042 - --includedir="${MY_INCLUDEDIR}"
10043 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
10044 - --libexecdir="${MY_LIBEXECDIR}"
10045 - --localstatedir="${MY_LOCALSTATEDIR}"
10046 - --mandir="${MY_MANDIR}"
10047 - --sysconfdir=/etc/wine
10048 - $(use_with alsa)
10049 - $(use_with capi)
10050 - $(use_with lcms cms)
10051 - $(use_with cups)
10052 - $(use_with ncurses curses)
10053 - $(use_with udisks dbus)
10054 - $(use_with fontconfig)
10055 - $(use_with ssl gnutls)
10056 - $(use_enable gecko mshtml)
10057 - $(use_with gphoto2 gphoto)
10058 - $(use_with gsm)
10059 - $(use_with gstreamer)
10060 - --without-hal
10061 - $(use_with jpeg)
10062 - $(use_with ldap)
10063 - $(use_enable mono mscoree)
10064 - $(use_with mp3 mpg123)
10065 - $(use_with netapi)
10066 - $(use_with nls gettext)
10067 - $(use_with openal)
10068 - $(use_with opencl)
10069 - $(use_with opengl)
10070 - $(use_with osmesa)
10071 - $(use_with oss)
10072 - $(use_with pcap)
10073 - $(use_with png)
10074 - $(use_with pulseaudio pulse)
10075 - $(use_with threads pthread)
10076 - $(use_with scanner sane)
10077 - $(use_enable test tests)
10078 - $(use_with truetype freetype)
10079 - $(use_with udev)
10080 - $(use_with v4l)
10081 - $(use_with X x)
10082 - $(use_with xcomposite)
10083 - $(use_with xinerama)
10084 - $(use_with xml)
10085 - $(use_with xml xslt)
10086 - )
10087 -
10088 - local PKG_CONFIG AR RANLIB
10089 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
10090 - # set AR and RANLIB to make QA scripts happy; #483342
10091 - tc-export PKG_CONFIG AR RANLIB
10092 -
10093 - if use amd64; then
10094 - if [[ ${ABI} == amd64 ]]; then
10095 - myconf+=( --enable-win64 )
10096 - else
10097 - myconf+=( --disable-win64 )
10098 - fi
10099 -
10100 - # Note: using --with-wine64 results in problems with multilib.eclass
10101 - # CC/LD hackery. We're using separate tools instead.
10102 - fi
10103 -
10104 - ECONF_SOURCE=${S} \
10105 - econf "${myconf[@]}"
10106 - emake depend
10107 -}
10108 -
10109 -multilib_src_test() {
10110 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
10111 - if [[ ${ABI} == x86 ]]; then
10112 - if [[ $(id -u) == 0 ]]; then
10113 - ewarn "Skipping tests since they cannot be run under the root user."
10114 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
10115 - return
10116 - fi
10117 -
10118 - WINEPREFIX="${T}/.wine-${ABI}" \
10119 - Xemake test
10120 - fi
10121 -}
10122 -
10123 -multilib_src_install_all() {
10124 - local DOCS=( ANNOUNCE AUTHORS README )
10125 - add_locale_docs() {
10126 - local locale_doc="documentation/README.$1"
10127 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
10128 - }
10129 - l10n_for_each_locale_do add_locale_docs
10130 -
10131 - einstalldocs
10132 - prune_libtool_files --all
10133 -
10134 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
10135 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
10136 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
10137 - fi
10138 -
10139 - # Remove wineconsole if neither backend is installed #551124
10140 - if ! use X && ! use ncurses; then
10141 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
10142 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
10143 - rm_wineconsole() {
10144 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
10145 - }
10146 - multilib_foreach_abi rm_wineconsole
10147 - fi
10148 -
10149 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
10150 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
10151 -
10152 - if use abi_x86_64 && ! use abi_x86_32; then
10153 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
10154 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
10155 - fi
10156 -
10157 - # Failglob for bin and man loops
10158 - local glob_state=$(shopt -p failglob)
10159 - shopt -s failglob
10160 -
10161 - # Make wrappers for binaries for handling multiple variants
10162 - # Note: wrappers instead of symlinks because some are shell which use basename
10163 - local b
10164 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
10165 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
10166 - done
10167 -
10168 - # respect LINGUAS when installing man pages, #469418
10169 - local l
10170 - for l in de fr pl; do
10171 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
10172 - done
10173 -
10174 - eval "${glob_state}"
10175 -}
10176 -
10177 -pkg_postinst() {
10178 - eselect wine register ${P}
10179 - if [[ ${PN} == "wine-vanilla" ]]; then
10180 - eselect wine register --vanilla ${P} || die
10181 - fi
10182 -
10183 - eselect wine update --all --if-unset || die
10184 -
10185 - xdg_desktop_database_update
10186 -
10187 - if ! use gecko; then
10188 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
10189 - ewarn "implementation of iexplore. Many older windows applications"
10190 - ewarn "rely upon the existence of an iexplore implementation, so"
10191 - ewarn "you will likely need to install an external one, like via winetricks"
10192 - fi
10193 - if ! use mono; then
10194 - ewarn "Without Wine Mono, wine prefixes will not have a default"
10195 - ewarn "implementation of .NET. Many windows applications rely upon"
10196 - ewarn "the existence of a .NET implementation, so you will likely need"
10197 - ewarn "to install an external one, like via winetricks"
10198 - fi
10199 -}
10200 -
10201 -pkg_prerm() {
10202 - eselect wine deregister ${P}
10203 - if [[ ${PN} == "wine-vanilla" ]]; then
10204 - eselect wine deregister --vanilla ${P} || die
10205 - fi
10206 -
10207 - eselect wine update --all --if-unset || die
10208 -}
10209 -
10210 -pkg_postrm() {
10211 - xdg_desktop_database_update
10212 -}
10213
10214 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.6-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.6-r1.ebuild
10215 deleted file mode 100644
10216 index a69e75d961e..00000000000
10217 --- a/app-emulation/wine-vanilla/wine-vanilla-2.6-r1.ebuild
10218 +++ /dev/null
10219 @@ -1,527 +0,0 @@
10220 -# Copyright 1999-2017 Gentoo Foundation
10221 -# Distributed under the terms of the GNU General Public License v2
10222 -
10223 -EAPI=6
10224 -
10225 -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"
10226 -PLOCALE_BACKUP="en"
10227 -
10228 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
10229 -
10230 -MY_PN="${PN%%-*}"
10231 -MY_P="${MY_PN}-${PV}"
10232 -
10233 -if [[ ${PV} == "9999" ]] ; then
10234 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
10235 - EGIT_BRANCH="master"
10236 - inherit git-r3
10237 - SRC_URI=""
10238 - #KEYWORDS=""
10239 -else
10240 - MAJOR_V=$(get_version_component_range 1)
10241 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
10242 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
10243 -fi
10244 -S="${WORKDIR}/${MY_P}"
10245 -
10246 -GWP_V="20170830"
10247 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
10248 -
10249 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
10250 -HOMEPAGE="https://www.winehq.org/"
10251 -SRC_URI="${SRC_URI}
10252 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
10253 -"
10254 -
10255 -LICENSE="LGPL-2.1"
10256 -SLOT="${PV}"
10257 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
10258 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
10259 - X? ( truetype )
10260 - elibc_glibc? ( threads )
10261 - osmesa? ( opengl )
10262 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
10263 -
10264 -# FIXME: the test suite is unsuitable for us; many tests require net access
10265 -# or fail due to Xvfb's opengl limitations.
10266 -RESTRICT="test"
10267 -
10268 -COMMON_DEPEND="
10269 - X? (
10270 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
10271 - x11-libs/libXext[${MULTILIB_USEDEP}]
10272 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
10273 - x11-libs/libXi[${MULTILIB_USEDEP}]
10274 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
10275 - )
10276 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
10277 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
10278 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
10279 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
10280 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
10281 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
10282 - gstreamer? (
10283 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
10284 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
10285 - )
10286 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
10287 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
10288 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
10289 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
10290 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
10291 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
10292 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
10293 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
10294 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
10295 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
10296 - opengl? (
10297 - virtual/glu[${MULTILIB_USEDEP}]
10298 - virtual/opengl[${MULTILIB_USEDEP}]
10299 - )
10300 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
10301 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
10302 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
10303 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
10304 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
10305 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
10306 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
10307 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
10308 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
10309 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
10310 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
10311 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
10312 - xml? (
10313 - dev-libs/libxml2[${MULTILIB_USEDEP}]
10314 - dev-libs/libxslt[${MULTILIB_USEDEP}]
10315 - )
10316 - abi_x86_32? (
10317 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
10318 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
10319 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
10320 - !<app-emulation/emul-linux-x86-db-20140508-r3
10321 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
10322 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
10323 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
10324 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
10325 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
10326 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
10327 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
10328 - !<app-emulation/emul-linux-x86-soundlibs-20140508
10329 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
10330 - !<app-emulation/emul-linux-x86-xlibs-20140508
10331 - )"
10332 -
10333 -RDEPEND="${COMMON_DEPEND}
10334 - app-emulation/wine-desktop-common
10335 - >app-eselect/eselect-wine-0.3
10336 - !app-emulation/wine:0
10337 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
10338 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
10339 - mono? ( app-emulation/wine-mono:4.7.0 )
10340 - perl? (
10341 - dev-lang/perl
10342 - dev-perl/XML-Simple
10343 - )
10344 - pulseaudio? (
10345 - realtime? ( sys-auth/rtkit )
10346 - )
10347 - samba? ( >=net-fs/samba-3.0.25[winbind] )
10348 - selinux? ( sec-policy/selinux-wine )
10349 - udisks? ( sys-fs/udisks:2 )"
10350 -
10351 -# tools/make_requests requires perl
10352 -DEPEND="${COMMON_DEPEND}
10353 - sys-devel/flex
10354 - >=sys-kernel/linux-headers-2.6
10355 - virtual/pkgconfig
10356 - virtual/yacc
10357 - X? (
10358 - x11-proto/inputproto
10359 - x11-proto/xextproto
10360 - x11-proto/xf86vidmodeproto
10361 - )
10362 - prelink? ( sys-devel/prelink )
10363 - xinerama? ( x11-proto/xineramaproto )"
10364 -
10365 -# These use a non-standard "Wine" category, which is provided by
10366 -# /etc/xdg/applications-merged/wine.menu
10367 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
10368 -usr/share/applications/wine-notepad.desktop
10369 -usr/share/applications/wine-uninstaller.desktop
10370 -usr/share/applications/wine-winecfg.desktop"
10371 -
10372 -PATCHES=(
10373 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
10374 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
10375 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
10376 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
10377 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
10378 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
10379 -)
10380 -PATCHES_BIN=(
10381 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
10382 -)
10383 -
10384 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
10385 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
10386 - DEPEND+=" dev-util/patchbin"
10387 -fi
10388 -
10389 -wine_compiler_check() {
10390 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
10391 -
10392 - # GCC-specific bugs
10393 - if tc-is-gcc; then
10394 - # bug #549768
10395 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
10396 - ebegin "Checking for gcc-5 ms_abi compiler bug"
10397 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
10398 - # Run in subshell to prevent "Aborted" message
10399 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
10400 - if ! eend $?; then
10401 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
10402 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
10403 - eerror "or use gcc-config to select a different compiler version."
10404 - eerror "See https://bugs.gentoo.org/549768"
10405 - eerror
10406 - return 1
10407 - fi
10408 - fi
10409 - # bug #574044
10410 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
10411 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
10412 - # Compile in subshell to prevent "Aborted" message
10413 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
10414 - if ! eend $?; then
10415 - eerror "Wine cannot be built with this version of gcc-5.3"
10416 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
10417 - eerror "or use gcc-config to select a different compiler version."
10418 - eerror "See https://bugs.gentoo.org/574044"
10419 - eerror
10420 - return 1
10421 - fi
10422 - fi
10423 - fi
10424 -
10425 - # Ensure compiler support
10426 - if use abi_x86_64; then
10427 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
10428 - # Compile in subshell to prevent "Aborted" message
10429 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
10430 - if ! eend $?; then
10431 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
10432 - eerror
10433 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
10434 - eerror
10435 - return 1
10436 - fi
10437 - fi
10438 -}
10439 -
10440 -wine_build_environment_check() {
10441 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
10442 -
10443 - if use abi_x86_64; then
10444 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
10445 - eerror "You need gcc-4.4+ to compile 64-bit wine"
10446 - die
10447 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
10448 - eerror "You need clang-3.8+ to compile 64-bit wine"
10449 - die
10450 - fi
10451 - fi
10452 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
10453 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
10454 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
10455 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
10456 - fi
10457 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
10458 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
10459 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
10460 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
10461 - ewarn "See package.env in man 5 portage for more information on how to do this."
10462 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
10463 - fi
10464 - fi
10465 -
10466 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
10467 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
10468 - eerror "See https://bugs.gentoo.org/487864 for more details."
10469 - eerror
10470 - return 1
10471 - fi
10472 -}
10473 -
10474 -wine_env_vcs_vars() {
10475 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
10476 - local pn_live_val="${pn_live_var}"
10477 - eval pn_live_val='$'${pn_live_val}
10478 - if [[ ! -z ${EGIT_COMMIT} ]]; then
10479 - eerror "Commits must now be specified using the environmental variables"
10480 - eerror "WINE_COMMIT"
10481 - eerror
10482 - return 1
10483 - fi
10484 -}
10485 -
10486 -pkg_pretend() {
10487 - wine_build_environment_check || die
10488 -
10489 - # Verify OSS support
10490 - if use oss && ! use kernel_FreeBSD; then
10491 - if ! has_version ">=media-sound/oss-4"; then
10492 - eerror "You cannot build wine with USE=oss without having support from a"
10493 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
10494 - eerror
10495 - die
10496 - fi
10497 - fi
10498 -}
10499 -
10500 -pkg_setup() {
10501 - wine_build_environment_check || die
10502 - wine_env_vcs_vars || die
10503 -
10504 - WINE_VARIANT="${PN#wine}-${PV}"
10505 - WINE_VARIANT="${WINE_VARIANT#-}"
10506 -
10507 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
10508 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
10509 - MY_DATADIR="${MY_DATAROOTDIR}"
10510 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
10511 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
10512 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
10513 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
10514 - MY_MANDIR="${MY_DATADIR}/man"
10515 -}
10516 -
10517 -src_unpack() {
10518 - if [[ ${PV} == "9999" ]] ; then
10519 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
10520 - fi
10521 -
10522 - default
10523 -
10524 - l10n_find_plocales_changes "${S}/po" "" ".po"
10525 -}
10526 -
10527 -src_prepare() {
10528 -
10529 - eapply_bin(){
10530 - local patch
10531 - for patch in ${PATCHES_BIN[@]}; do
10532 - patchbin --nogit < "${patch}" || die
10533 - done
10534 - }
10535 -
10536 - local md5="$(md5sum server/protocol.def)"
10537 -
10538 - default
10539 - eapply_bin
10540 - eautoreconf
10541 -
10542 - # Modification of the server protocol requires regenerating the server requests
10543 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
10544 - einfo "server/protocol.def was patched; running tools/make_requests"
10545 - tools/make_requests || die #432348
10546 - fi
10547 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
10548 - if ! use run-exes; then
10549 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
10550 - fi
10551 -
10552 - # Edit wine.desktop to work for specific variant
10553 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
10554 -
10555 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
10556 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
10557 -
10558 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
10559 -}
10560 -
10561 -src_configure() {
10562 - wine_compiler_check || die
10563 -
10564 - export LDCONFIG=/bin/true
10565 - use custom-cflags || strip-flags
10566 -
10567 - multilib-minimal_src_configure
10568 -}
10569 -
10570 -multilib_src_configure() {
10571 - local myconf=(
10572 - --prefix="${MY_PREFIX}"
10573 - --datarootdir="${MY_DATAROOTDIR}"
10574 - --datadir="${MY_DATADIR}"
10575 - --docdir="${MY_DOCDIR}"
10576 - --includedir="${MY_INCLUDEDIR}"
10577 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
10578 - --libexecdir="${MY_LIBEXECDIR}"
10579 - --localstatedir="${MY_LOCALSTATEDIR}"
10580 - --mandir="${MY_MANDIR}"
10581 - --sysconfdir=/etc/wine
10582 - $(use_with alsa)
10583 - $(use_with capi)
10584 - $(use_with lcms cms)
10585 - $(use_with cups)
10586 - $(use_with ncurses curses)
10587 - $(use_with udisks dbus)
10588 - $(use_with fontconfig)
10589 - $(use_with ssl gnutls)
10590 - $(use_enable gecko mshtml)
10591 - $(use_with gphoto2 gphoto)
10592 - $(use_with gsm)
10593 - $(use_with gstreamer)
10594 - --without-hal
10595 - $(use_with jpeg)
10596 - $(use_with ldap)
10597 - $(use_enable mono mscoree)
10598 - $(use_with mp3 mpg123)
10599 - $(use_with netapi)
10600 - $(use_with nls gettext)
10601 - $(use_with openal)
10602 - $(use_with opencl)
10603 - $(use_with opengl)
10604 - $(use_with osmesa)
10605 - $(use_with oss)
10606 - $(use_with pcap)
10607 - $(use_with png)
10608 - $(use_with pulseaudio pulse)
10609 - $(use_with threads pthread)
10610 - $(use_with scanner sane)
10611 - $(use_enable test tests)
10612 - $(use_with truetype freetype)
10613 - $(use_with udev)
10614 - $(use_with v4l)
10615 - $(use_with X x)
10616 - $(use_with xcomposite)
10617 - $(use_with xinerama)
10618 - $(use_with xml)
10619 - $(use_with xml xslt)
10620 - )
10621 -
10622 - local PKG_CONFIG AR RANLIB
10623 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
10624 - # set AR and RANLIB to make QA scripts happy; #483342
10625 - tc-export PKG_CONFIG AR RANLIB
10626 -
10627 - if use amd64; then
10628 - if [[ ${ABI} == amd64 ]]; then
10629 - myconf+=( --enable-win64 )
10630 - else
10631 - myconf+=( --disable-win64 )
10632 - fi
10633 -
10634 - # Note: using --with-wine64 results in problems with multilib.eclass
10635 - # CC/LD hackery. We're using separate tools instead.
10636 - fi
10637 -
10638 - ECONF_SOURCE=${S} \
10639 - econf "${myconf[@]}"
10640 - emake depend
10641 -}
10642 -
10643 -multilib_src_test() {
10644 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
10645 - if [[ ${ABI} == x86 ]]; then
10646 - if [[ $(id -u) == 0 ]]; then
10647 - ewarn "Skipping tests since they cannot be run under the root user."
10648 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
10649 - return
10650 - fi
10651 -
10652 - WINEPREFIX="${T}/.wine-${ABI}" \
10653 - Xemake test
10654 - fi
10655 -}
10656 -
10657 -multilib_src_install_all() {
10658 - local DOCS=( ANNOUNCE AUTHORS README )
10659 - add_locale_docs() {
10660 - local locale_doc="documentation/README.$1"
10661 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
10662 - }
10663 - l10n_for_each_locale_do add_locale_docs
10664 -
10665 - einstalldocs
10666 - prune_libtool_files --all
10667 -
10668 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
10669 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
10670 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
10671 - fi
10672 -
10673 - # Remove wineconsole if neither backend is installed #551124
10674 - if ! use X && ! use ncurses; then
10675 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
10676 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
10677 - rm_wineconsole() {
10678 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
10679 - }
10680 - multilib_foreach_abi rm_wineconsole
10681 - fi
10682 -
10683 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
10684 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
10685 -
10686 - if use abi_x86_64 && ! use abi_x86_32; then
10687 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
10688 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
10689 - fi
10690 -
10691 - # Failglob for bin and man loops
10692 - local glob_state=$(shopt -p failglob)
10693 - shopt -s failglob
10694 -
10695 - # Make wrappers for binaries for handling multiple variants
10696 - # Note: wrappers instead of symlinks because some are shell which use basename
10697 - local b
10698 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
10699 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
10700 - done
10701 -
10702 - # respect LINGUAS when installing man pages, #469418
10703 - local l
10704 - for l in de fr pl; do
10705 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
10706 - done
10707 -
10708 - eval "${glob_state}"
10709 -}
10710 -
10711 -pkg_postinst() {
10712 - eselect wine register ${P}
10713 - if [[ ${PN} == "wine-vanilla" ]]; then
10714 - eselect wine register --vanilla ${P} || die
10715 - fi
10716 -
10717 - eselect wine update --all --if-unset || die
10718 -
10719 - xdg_desktop_database_update
10720 -
10721 - if ! use gecko; then
10722 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
10723 - ewarn "implementation of iexplore. Many older windows applications"
10724 - ewarn "rely upon the existence of an iexplore implementation, so"
10725 - ewarn "you will likely need to install an external one, like via winetricks"
10726 - fi
10727 - if ! use mono; then
10728 - ewarn "Without Wine Mono, wine prefixes will not have a default"
10729 - ewarn "implementation of .NET. Many windows applications rely upon"
10730 - ewarn "the existence of a .NET implementation, so you will likely need"
10731 - ewarn "to install an external one, like via winetricks"
10732 - fi
10733 -}
10734 -
10735 -pkg_prerm() {
10736 - eselect wine deregister ${P}
10737 - if [[ ${PN} == "wine-vanilla" ]]; then
10738 - eselect wine deregister --vanilla ${P} || die
10739 - fi
10740 -
10741 - eselect wine update --all --if-unset || die
10742 -}
10743 -
10744 -pkg_postrm() {
10745 - xdg_desktop_database_update
10746 -}
10747
10748 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.7-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.7-r1.ebuild
10749 deleted file mode 100644
10750 index a69e75d961e..00000000000
10751 --- a/app-emulation/wine-vanilla/wine-vanilla-2.7-r1.ebuild
10752 +++ /dev/null
10753 @@ -1,527 +0,0 @@
10754 -# Copyright 1999-2017 Gentoo Foundation
10755 -# Distributed under the terms of the GNU General Public License v2
10756 -
10757 -EAPI=6
10758 -
10759 -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"
10760 -PLOCALE_BACKUP="en"
10761 -
10762 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
10763 -
10764 -MY_PN="${PN%%-*}"
10765 -MY_P="${MY_PN}-${PV}"
10766 -
10767 -if [[ ${PV} == "9999" ]] ; then
10768 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
10769 - EGIT_BRANCH="master"
10770 - inherit git-r3
10771 - SRC_URI=""
10772 - #KEYWORDS=""
10773 -else
10774 - MAJOR_V=$(get_version_component_range 1)
10775 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
10776 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
10777 -fi
10778 -S="${WORKDIR}/${MY_P}"
10779 -
10780 -GWP_V="20170830"
10781 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
10782 -
10783 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
10784 -HOMEPAGE="https://www.winehq.org/"
10785 -SRC_URI="${SRC_URI}
10786 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
10787 -"
10788 -
10789 -LICENSE="LGPL-2.1"
10790 -SLOT="${PV}"
10791 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
10792 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
10793 - X? ( truetype )
10794 - elibc_glibc? ( threads )
10795 - osmesa? ( opengl )
10796 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
10797 -
10798 -# FIXME: the test suite is unsuitable for us; many tests require net access
10799 -# or fail due to Xvfb's opengl limitations.
10800 -RESTRICT="test"
10801 -
10802 -COMMON_DEPEND="
10803 - X? (
10804 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
10805 - x11-libs/libXext[${MULTILIB_USEDEP}]
10806 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
10807 - x11-libs/libXi[${MULTILIB_USEDEP}]
10808 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
10809 - )
10810 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
10811 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
10812 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
10813 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
10814 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
10815 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
10816 - gstreamer? (
10817 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
10818 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
10819 - )
10820 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
10821 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
10822 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
10823 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
10824 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
10825 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
10826 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
10827 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
10828 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
10829 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
10830 - opengl? (
10831 - virtual/glu[${MULTILIB_USEDEP}]
10832 - virtual/opengl[${MULTILIB_USEDEP}]
10833 - )
10834 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
10835 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
10836 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
10837 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
10838 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
10839 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
10840 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
10841 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
10842 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
10843 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
10844 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
10845 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
10846 - xml? (
10847 - dev-libs/libxml2[${MULTILIB_USEDEP}]
10848 - dev-libs/libxslt[${MULTILIB_USEDEP}]
10849 - )
10850 - abi_x86_32? (
10851 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
10852 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
10853 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
10854 - !<app-emulation/emul-linux-x86-db-20140508-r3
10855 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
10856 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
10857 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
10858 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
10859 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
10860 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
10861 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
10862 - !<app-emulation/emul-linux-x86-soundlibs-20140508
10863 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
10864 - !<app-emulation/emul-linux-x86-xlibs-20140508
10865 - )"
10866 -
10867 -RDEPEND="${COMMON_DEPEND}
10868 - app-emulation/wine-desktop-common
10869 - >app-eselect/eselect-wine-0.3
10870 - !app-emulation/wine:0
10871 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
10872 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
10873 - mono? ( app-emulation/wine-mono:4.7.0 )
10874 - perl? (
10875 - dev-lang/perl
10876 - dev-perl/XML-Simple
10877 - )
10878 - pulseaudio? (
10879 - realtime? ( sys-auth/rtkit )
10880 - )
10881 - samba? ( >=net-fs/samba-3.0.25[winbind] )
10882 - selinux? ( sec-policy/selinux-wine )
10883 - udisks? ( sys-fs/udisks:2 )"
10884 -
10885 -# tools/make_requests requires perl
10886 -DEPEND="${COMMON_DEPEND}
10887 - sys-devel/flex
10888 - >=sys-kernel/linux-headers-2.6
10889 - virtual/pkgconfig
10890 - virtual/yacc
10891 - X? (
10892 - x11-proto/inputproto
10893 - x11-proto/xextproto
10894 - x11-proto/xf86vidmodeproto
10895 - )
10896 - prelink? ( sys-devel/prelink )
10897 - xinerama? ( x11-proto/xineramaproto )"
10898 -
10899 -# These use a non-standard "Wine" category, which is provided by
10900 -# /etc/xdg/applications-merged/wine.menu
10901 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
10902 -usr/share/applications/wine-notepad.desktop
10903 -usr/share/applications/wine-uninstaller.desktop
10904 -usr/share/applications/wine-winecfg.desktop"
10905 -
10906 -PATCHES=(
10907 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
10908 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
10909 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
10910 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
10911 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
10912 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
10913 -)
10914 -PATCHES_BIN=(
10915 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
10916 -)
10917 -
10918 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
10919 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
10920 - DEPEND+=" dev-util/patchbin"
10921 -fi
10922 -
10923 -wine_compiler_check() {
10924 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
10925 -
10926 - # GCC-specific bugs
10927 - if tc-is-gcc; then
10928 - # bug #549768
10929 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
10930 - ebegin "Checking for gcc-5 ms_abi compiler bug"
10931 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
10932 - # Run in subshell to prevent "Aborted" message
10933 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
10934 - if ! eend $?; then
10935 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
10936 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
10937 - eerror "or use gcc-config to select a different compiler version."
10938 - eerror "See https://bugs.gentoo.org/549768"
10939 - eerror
10940 - return 1
10941 - fi
10942 - fi
10943 - # bug #574044
10944 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
10945 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
10946 - # Compile in subshell to prevent "Aborted" message
10947 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
10948 - if ! eend $?; then
10949 - eerror "Wine cannot be built with this version of gcc-5.3"
10950 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
10951 - eerror "or use gcc-config to select a different compiler version."
10952 - eerror "See https://bugs.gentoo.org/574044"
10953 - eerror
10954 - return 1
10955 - fi
10956 - fi
10957 - fi
10958 -
10959 - # Ensure compiler support
10960 - if use abi_x86_64; then
10961 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
10962 - # Compile in subshell to prevent "Aborted" message
10963 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
10964 - if ! eend $?; then
10965 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
10966 - eerror
10967 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
10968 - eerror
10969 - return 1
10970 - fi
10971 - fi
10972 -}
10973 -
10974 -wine_build_environment_check() {
10975 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
10976 -
10977 - if use abi_x86_64; then
10978 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
10979 - eerror "You need gcc-4.4+ to compile 64-bit wine"
10980 - die
10981 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
10982 - eerror "You need clang-3.8+ to compile 64-bit wine"
10983 - die
10984 - fi
10985 - fi
10986 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
10987 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
10988 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
10989 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
10990 - fi
10991 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
10992 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
10993 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
10994 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
10995 - ewarn "See package.env in man 5 portage for more information on how to do this."
10996 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
10997 - fi
10998 - fi
10999 -
11000 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
11001 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
11002 - eerror "See https://bugs.gentoo.org/487864 for more details."
11003 - eerror
11004 - return 1
11005 - fi
11006 -}
11007 -
11008 -wine_env_vcs_vars() {
11009 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
11010 - local pn_live_val="${pn_live_var}"
11011 - eval pn_live_val='$'${pn_live_val}
11012 - if [[ ! -z ${EGIT_COMMIT} ]]; then
11013 - eerror "Commits must now be specified using the environmental variables"
11014 - eerror "WINE_COMMIT"
11015 - eerror
11016 - return 1
11017 - fi
11018 -}
11019 -
11020 -pkg_pretend() {
11021 - wine_build_environment_check || die
11022 -
11023 - # Verify OSS support
11024 - if use oss && ! use kernel_FreeBSD; then
11025 - if ! has_version ">=media-sound/oss-4"; then
11026 - eerror "You cannot build wine with USE=oss without having support from a"
11027 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
11028 - eerror
11029 - die
11030 - fi
11031 - fi
11032 -}
11033 -
11034 -pkg_setup() {
11035 - wine_build_environment_check || die
11036 - wine_env_vcs_vars || die
11037 -
11038 - WINE_VARIANT="${PN#wine}-${PV}"
11039 - WINE_VARIANT="${WINE_VARIANT#-}"
11040 -
11041 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
11042 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
11043 - MY_DATADIR="${MY_DATAROOTDIR}"
11044 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
11045 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
11046 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
11047 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
11048 - MY_MANDIR="${MY_DATADIR}/man"
11049 -}
11050 -
11051 -src_unpack() {
11052 - if [[ ${PV} == "9999" ]] ; then
11053 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
11054 - fi
11055 -
11056 - default
11057 -
11058 - l10n_find_plocales_changes "${S}/po" "" ".po"
11059 -}
11060 -
11061 -src_prepare() {
11062 -
11063 - eapply_bin(){
11064 - local patch
11065 - for patch in ${PATCHES_BIN[@]}; do
11066 - patchbin --nogit < "${patch}" || die
11067 - done
11068 - }
11069 -
11070 - local md5="$(md5sum server/protocol.def)"
11071 -
11072 - default
11073 - eapply_bin
11074 - eautoreconf
11075 -
11076 - # Modification of the server protocol requires regenerating the server requests
11077 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
11078 - einfo "server/protocol.def was patched; running tools/make_requests"
11079 - tools/make_requests || die #432348
11080 - fi
11081 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
11082 - if ! use run-exes; then
11083 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
11084 - fi
11085 -
11086 - # Edit wine.desktop to work for specific variant
11087 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
11088 -
11089 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
11090 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
11091 -
11092 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
11093 -}
11094 -
11095 -src_configure() {
11096 - wine_compiler_check || die
11097 -
11098 - export LDCONFIG=/bin/true
11099 - use custom-cflags || strip-flags
11100 -
11101 - multilib-minimal_src_configure
11102 -}
11103 -
11104 -multilib_src_configure() {
11105 - local myconf=(
11106 - --prefix="${MY_PREFIX}"
11107 - --datarootdir="${MY_DATAROOTDIR}"
11108 - --datadir="${MY_DATADIR}"
11109 - --docdir="${MY_DOCDIR}"
11110 - --includedir="${MY_INCLUDEDIR}"
11111 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
11112 - --libexecdir="${MY_LIBEXECDIR}"
11113 - --localstatedir="${MY_LOCALSTATEDIR}"
11114 - --mandir="${MY_MANDIR}"
11115 - --sysconfdir=/etc/wine
11116 - $(use_with alsa)
11117 - $(use_with capi)
11118 - $(use_with lcms cms)
11119 - $(use_with cups)
11120 - $(use_with ncurses curses)
11121 - $(use_with udisks dbus)
11122 - $(use_with fontconfig)
11123 - $(use_with ssl gnutls)
11124 - $(use_enable gecko mshtml)
11125 - $(use_with gphoto2 gphoto)
11126 - $(use_with gsm)
11127 - $(use_with gstreamer)
11128 - --without-hal
11129 - $(use_with jpeg)
11130 - $(use_with ldap)
11131 - $(use_enable mono mscoree)
11132 - $(use_with mp3 mpg123)
11133 - $(use_with netapi)
11134 - $(use_with nls gettext)
11135 - $(use_with openal)
11136 - $(use_with opencl)
11137 - $(use_with opengl)
11138 - $(use_with osmesa)
11139 - $(use_with oss)
11140 - $(use_with pcap)
11141 - $(use_with png)
11142 - $(use_with pulseaudio pulse)
11143 - $(use_with threads pthread)
11144 - $(use_with scanner sane)
11145 - $(use_enable test tests)
11146 - $(use_with truetype freetype)
11147 - $(use_with udev)
11148 - $(use_with v4l)
11149 - $(use_with X x)
11150 - $(use_with xcomposite)
11151 - $(use_with xinerama)
11152 - $(use_with xml)
11153 - $(use_with xml xslt)
11154 - )
11155 -
11156 - local PKG_CONFIG AR RANLIB
11157 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
11158 - # set AR and RANLIB to make QA scripts happy; #483342
11159 - tc-export PKG_CONFIG AR RANLIB
11160 -
11161 - if use amd64; then
11162 - if [[ ${ABI} == amd64 ]]; then
11163 - myconf+=( --enable-win64 )
11164 - else
11165 - myconf+=( --disable-win64 )
11166 - fi
11167 -
11168 - # Note: using --with-wine64 results in problems with multilib.eclass
11169 - # CC/LD hackery. We're using separate tools instead.
11170 - fi
11171 -
11172 - ECONF_SOURCE=${S} \
11173 - econf "${myconf[@]}"
11174 - emake depend
11175 -}
11176 -
11177 -multilib_src_test() {
11178 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
11179 - if [[ ${ABI} == x86 ]]; then
11180 - if [[ $(id -u) == 0 ]]; then
11181 - ewarn "Skipping tests since they cannot be run under the root user."
11182 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
11183 - return
11184 - fi
11185 -
11186 - WINEPREFIX="${T}/.wine-${ABI}" \
11187 - Xemake test
11188 - fi
11189 -}
11190 -
11191 -multilib_src_install_all() {
11192 - local DOCS=( ANNOUNCE AUTHORS README )
11193 - add_locale_docs() {
11194 - local locale_doc="documentation/README.$1"
11195 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
11196 - }
11197 - l10n_for_each_locale_do add_locale_docs
11198 -
11199 - einstalldocs
11200 - prune_libtool_files --all
11201 -
11202 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
11203 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
11204 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
11205 - fi
11206 -
11207 - # Remove wineconsole if neither backend is installed #551124
11208 - if ! use X && ! use ncurses; then
11209 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
11210 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
11211 - rm_wineconsole() {
11212 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
11213 - }
11214 - multilib_foreach_abi rm_wineconsole
11215 - fi
11216 -
11217 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
11218 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
11219 -
11220 - if use abi_x86_64 && ! use abi_x86_32; then
11221 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
11222 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
11223 - fi
11224 -
11225 - # Failglob for bin and man loops
11226 - local glob_state=$(shopt -p failglob)
11227 - shopt -s failglob
11228 -
11229 - # Make wrappers for binaries for handling multiple variants
11230 - # Note: wrappers instead of symlinks because some are shell which use basename
11231 - local b
11232 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
11233 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
11234 - done
11235 -
11236 - # respect LINGUAS when installing man pages, #469418
11237 - local l
11238 - for l in de fr pl; do
11239 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
11240 - done
11241 -
11242 - eval "${glob_state}"
11243 -}
11244 -
11245 -pkg_postinst() {
11246 - eselect wine register ${P}
11247 - if [[ ${PN} == "wine-vanilla" ]]; then
11248 - eselect wine register --vanilla ${P} || die
11249 - fi
11250 -
11251 - eselect wine update --all --if-unset || die
11252 -
11253 - xdg_desktop_database_update
11254 -
11255 - if ! use gecko; then
11256 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
11257 - ewarn "implementation of iexplore. Many older windows applications"
11258 - ewarn "rely upon the existence of an iexplore implementation, so"
11259 - ewarn "you will likely need to install an external one, like via winetricks"
11260 - fi
11261 - if ! use mono; then
11262 - ewarn "Without Wine Mono, wine prefixes will not have a default"
11263 - ewarn "implementation of .NET. Many windows applications rely upon"
11264 - ewarn "the existence of a .NET implementation, so you will likely need"
11265 - ewarn "to install an external one, like via winetricks"
11266 - fi
11267 -}
11268 -
11269 -pkg_prerm() {
11270 - eselect wine deregister ${P}
11271 - if [[ ${PN} == "wine-vanilla" ]]; then
11272 - eselect wine deregister --vanilla ${P} || die
11273 - fi
11274 -
11275 - eselect wine update --all --if-unset || die
11276 -}
11277 -
11278 -pkg_postrm() {
11279 - xdg_desktop_database_update
11280 -}
11281
11282 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.8-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.8-r1.ebuild
11283 deleted file mode 100644
11284 index a69e75d961e..00000000000
11285 --- a/app-emulation/wine-vanilla/wine-vanilla-2.8-r1.ebuild
11286 +++ /dev/null
11287 @@ -1,527 +0,0 @@
11288 -# Copyright 1999-2017 Gentoo Foundation
11289 -# Distributed under the terms of the GNU General Public License v2
11290 -
11291 -EAPI=6
11292 -
11293 -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"
11294 -PLOCALE_BACKUP="en"
11295 -
11296 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
11297 -
11298 -MY_PN="${PN%%-*}"
11299 -MY_P="${MY_PN}-${PV}"
11300 -
11301 -if [[ ${PV} == "9999" ]] ; then
11302 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
11303 - EGIT_BRANCH="master"
11304 - inherit git-r3
11305 - SRC_URI=""
11306 - #KEYWORDS=""
11307 -else
11308 - MAJOR_V=$(get_version_component_range 1)
11309 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
11310 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
11311 -fi
11312 -S="${WORKDIR}/${MY_P}"
11313 -
11314 -GWP_V="20170830"
11315 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
11316 -
11317 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
11318 -HOMEPAGE="https://www.winehq.org/"
11319 -SRC_URI="${SRC_URI}
11320 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
11321 -"
11322 -
11323 -LICENSE="LGPL-2.1"
11324 -SLOT="${PV}"
11325 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
11326 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
11327 - X? ( truetype )
11328 - elibc_glibc? ( threads )
11329 - osmesa? ( opengl )
11330 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
11331 -
11332 -# FIXME: the test suite is unsuitable for us; many tests require net access
11333 -# or fail due to Xvfb's opengl limitations.
11334 -RESTRICT="test"
11335 -
11336 -COMMON_DEPEND="
11337 - X? (
11338 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
11339 - x11-libs/libXext[${MULTILIB_USEDEP}]
11340 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
11341 - x11-libs/libXi[${MULTILIB_USEDEP}]
11342 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
11343 - )
11344 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
11345 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
11346 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
11347 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
11348 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
11349 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
11350 - gstreamer? (
11351 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
11352 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
11353 - )
11354 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
11355 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
11356 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
11357 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
11358 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
11359 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
11360 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
11361 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
11362 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
11363 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
11364 - opengl? (
11365 - virtual/glu[${MULTILIB_USEDEP}]
11366 - virtual/opengl[${MULTILIB_USEDEP}]
11367 - )
11368 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
11369 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
11370 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
11371 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
11372 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
11373 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
11374 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
11375 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
11376 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
11377 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
11378 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
11379 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
11380 - xml? (
11381 - dev-libs/libxml2[${MULTILIB_USEDEP}]
11382 - dev-libs/libxslt[${MULTILIB_USEDEP}]
11383 - )
11384 - abi_x86_32? (
11385 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
11386 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
11387 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
11388 - !<app-emulation/emul-linux-x86-db-20140508-r3
11389 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
11390 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
11391 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
11392 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
11393 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
11394 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
11395 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
11396 - !<app-emulation/emul-linux-x86-soundlibs-20140508
11397 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
11398 - !<app-emulation/emul-linux-x86-xlibs-20140508
11399 - )"
11400 -
11401 -RDEPEND="${COMMON_DEPEND}
11402 - app-emulation/wine-desktop-common
11403 - >app-eselect/eselect-wine-0.3
11404 - !app-emulation/wine:0
11405 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
11406 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
11407 - mono? ( app-emulation/wine-mono:4.7.0 )
11408 - perl? (
11409 - dev-lang/perl
11410 - dev-perl/XML-Simple
11411 - )
11412 - pulseaudio? (
11413 - realtime? ( sys-auth/rtkit )
11414 - )
11415 - samba? ( >=net-fs/samba-3.0.25[winbind] )
11416 - selinux? ( sec-policy/selinux-wine )
11417 - udisks? ( sys-fs/udisks:2 )"
11418 -
11419 -# tools/make_requests requires perl
11420 -DEPEND="${COMMON_DEPEND}
11421 - sys-devel/flex
11422 - >=sys-kernel/linux-headers-2.6
11423 - virtual/pkgconfig
11424 - virtual/yacc
11425 - X? (
11426 - x11-proto/inputproto
11427 - x11-proto/xextproto
11428 - x11-proto/xf86vidmodeproto
11429 - )
11430 - prelink? ( sys-devel/prelink )
11431 - xinerama? ( x11-proto/xineramaproto )"
11432 -
11433 -# These use a non-standard "Wine" category, which is provided by
11434 -# /etc/xdg/applications-merged/wine.menu
11435 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
11436 -usr/share/applications/wine-notepad.desktop
11437 -usr/share/applications/wine-uninstaller.desktop
11438 -usr/share/applications/wine-winecfg.desktop"
11439 -
11440 -PATCHES=(
11441 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
11442 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
11443 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
11444 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
11445 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
11446 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
11447 -)
11448 -PATCHES_BIN=(
11449 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
11450 -)
11451 -
11452 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
11453 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
11454 - DEPEND+=" dev-util/patchbin"
11455 -fi
11456 -
11457 -wine_compiler_check() {
11458 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
11459 -
11460 - # GCC-specific bugs
11461 - if tc-is-gcc; then
11462 - # bug #549768
11463 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
11464 - ebegin "Checking for gcc-5 ms_abi compiler bug"
11465 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
11466 - # Run in subshell to prevent "Aborted" message
11467 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
11468 - if ! eend $?; then
11469 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
11470 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
11471 - eerror "or use gcc-config to select a different compiler version."
11472 - eerror "See https://bugs.gentoo.org/549768"
11473 - eerror
11474 - return 1
11475 - fi
11476 - fi
11477 - # bug #574044
11478 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
11479 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
11480 - # Compile in subshell to prevent "Aborted" message
11481 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
11482 - if ! eend $?; then
11483 - eerror "Wine cannot be built with this version of gcc-5.3"
11484 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
11485 - eerror "or use gcc-config to select a different compiler version."
11486 - eerror "See https://bugs.gentoo.org/574044"
11487 - eerror
11488 - return 1
11489 - fi
11490 - fi
11491 - fi
11492 -
11493 - # Ensure compiler support
11494 - if use abi_x86_64; then
11495 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
11496 - # Compile in subshell to prevent "Aborted" message
11497 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
11498 - if ! eend $?; then
11499 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
11500 - eerror
11501 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
11502 - eerror
11503 - return 1
11504 - fi
11505 - fi
11506 -}
11507 -
11508 -wine_build_environment_check() {
11509 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
11510 -
11511 - if use abi_x86_64; then
11512 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
11513 - eerror "You need gcc-4.4+ to compile 64-bit wine"
11514 - die
11515 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
11516 - eerror "You need clang-3.8+ to compile 64-bit wine"
11517 - die
11518 - fi
11519 - fi
11520 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
11521 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
11522 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
11523 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
11524 - fi
11525 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
11526 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
11527 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
11528 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
11529 - ewarn "See package.env in man 5 portage for more information on how to do this."
11530 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
11531 - fi
11532 - fi
11533 -
11534 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
11535 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
11536 - eerror "See https://bugs.gentoo.org/487864 for more details."
11537 - eerror
11538 - return 1
11539 - fi
11540 -}
11541 -
11542 -wine_env_vcs_vars() {
11543 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
11544 - local pn_live_val="${pn_live_var}"
11545 - eval pn_live_val='$'${pn_live_val}
11546 - if [[ ! -z ${EGIT_COMMIT} ]]; then
11547 - eerror "Commits must now be specified using the environmental variables"
11548 - eerror "WINE_COMMIT"
11549 - eerror
11550 - return 1
11551 - fi
11552 -}
11553 -
11554 -pkg_pretend() {
11555 - wine_build_environment_check || die
11556 -
11557 - # Verify OSS support
11558 - if use oss && ! use kernel_FreeBSD; then
11559 - if ! has_version ">=media-sound/oss-4"; then
11560 - eerror "You cannot build wine with USE=oss without having support from a"
11561 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
11562 - eerror
11563 - die
11564 - fi
11565 - fi
11566 -}
11567 -
11568 -pkg_setup() {
11569 - wine_build_environment_check || die
11570 - wine_env_vcs_vars || die
11571 -
11572 - WINE_VARIANT="${PN#wine}-${PV}"
11573 - WINE_VARIANT="${WINE_VARIANT#-}"
11574 -
11575 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
11576 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
11577 - MY_DATADIR="${MY_DATAROOTDIR}"
11578 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
11579 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
11580 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
11581 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
11582 - MY_MANDIR="${MY_DATADIR}/man"
11583 -}
11584 -
11585 -src_unpack() {
11586 - if [[ ${PV} == "9999" ]] ; then
11587 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
11588 - fi
11589 -
11590 - default
11591 -
11592 - l10n_find_plocales_changes "${S}/po" "" ".po"
11593 -}
11594 -
11595 -src_prepare() {
11596 -
11597 - eapply_bin(){
11598 - local patch
11599 - for patch in ${PATCHES_BIN[@]}; do
11600 - patchbin --nogit < "${patch}" || die
11601 - done
11602 - }
11603 -
11604 - local md5="$(md5sum server/protocol.def)"
11605 -
11606 - default
11607 - eapply_bin
11608 - eautoreconf
11609 -
11610 - # Modification of the server protocol requires regenerating the server requests
11611 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
11612 - einfo "server/protocol.def was patched; running tools/make_requests"
11613 - tools/make_requests || die #432348
11614 - fi
11615 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
11616 - if ! use run-exes; then
11617 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
11618 - fi
11619 -
11620 - # Edit wine.desktop to work for specific variant
11621 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
11622 -
11623 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
11624 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
11625 -
11626 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
11627 -}
11628 -
11629 -src_configure() {
11630 - wine_compiler_check || die
11631 -
11632 - export LDCONFIG=/bin/true
11633 - use custom-cflags || strip-flags
11634 -
11635 - multilib-minimal_src_configure
11636 -}
11637 -
11638 -multilib_src_configure() {
11639 - local myconf=(
11640 - --prefix="${MY_PREFIX}"
11641 - --datarootdir="${MY_DATAROOTDIR}"
11642 - --datadir="${MY_DATADIR}"
11643 - --docdir="${MY_DOCDIR}"
11644 - --includedir="${MY_INCLUDEDIR}"
11645 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
11646 - --libexecdir="${MY_LIBEXECDIR}"
11647 - --localstatedir="${MY_LOCALSTATEDIR}"
11648 - --mandir="${MY_MANDIR}"
11649 - --sysconfdir=/etc/wine
11650 - $(use_with alsa)
11651 - $(use_with capi)
11652 - $(use_with lcms cms)
11653 - $(use_with cups)
11654 - $(use_with ncurses curses)
11655 - $(use_with udisks dbus)
11656 - $(use_with fontconfig)
11657 - $(use_with ssl gnutls)
11658 - $(use_enable gecko mshtml)
11659 - $(use_with gphoto2 gphoto)
11660 - $(use_with gsm)
11661 - $(use_with gstreamer)
11662 - --without-hal
11663 - $(use_with jpeg)
11664 - $(use_with ldap)
11665 - $(use_enable mono mscoree)
11666 - $(use_with mp3 mpg123)
11667 - $(use_with netapi)
11668 - $(use_with nls gettext)
11669 - $(use_with openal)
11670 - $(use_with opencl)
11671 - $(use_with opengl)
11672 - $(use_with osmesa)
11673 - $(use_with oss)
11674 - $(use_with pcap)
11675 - $(use_with png)
11676 - $(use_with pulseaudio pulse)
11677 - $(use_with threads pthread)
11678 - $(use_with scanner sane)
11679 - $(use_enable test tests)
11680 - $(use_with truetype freetype)
11681 - $(use_with udev)
11682 - $(use_with v4l)
11683 - $(use_with X x)
11684 - $(use_with xcomposite)
11685 - $(use_with xinerama)
11686 - $(use_with xml)
11687 - $(use_with xml xslt)
11688 - )
11689 -
11690 - local PKG_CONFIG AR RANLIB
11691 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
11692 - # set AR and RANLIB to make QA scripts happy; #483342
11693 - tc-export PKG_CONFIG AR RANLIB
11694 -
11695 - if use amd64; then
11696 - if [[ ${ABI} == amd64 ]]; then
11697 - myconf+=( --enable-win64 )
11698 - else
11699 - myconf+=( --disable-win64 )
11700 - fi
11701 -
11702 - # Note: using --with-wine64 results in problems with multilib.eclass
11703 - # CC/LD hackery. We're using separate tools instead.
11704 - fi
11705 -
11706 - ECONF_SOURCE=${S} \
11707 - econf "${myconf[@]}"
11708 - emake depend
11709 -}
11710 -
11711 -multilib_src_test() {
11712 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
11713 - if [[ ${ABI} == x86 ]]; then
11714 - if [[ $(id -u) == 0 ]]; then
11715 - ewarn "Skipping tests since they cannot be run under the root user."
11716 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
11717 - return
11718 - fi
11719 -
11720 - WINEPREFIX="${T}/.wine-${ABI}" \
11721 - Xemake test
11722 - fi
11723 -}
11724 -
11725 -multilib_src_install_all() {
11726 - local DOCS=( ANNOUNCE AUTHORS README )
11727 - add_locale_docs() {
11728 - local locale_doc="documentation/README.$1"
11729 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
11730 - }
11731 - l10n_for_each_locale_do add_locale_docs
11732 -
11733 - einstalldocs
11734 - prune_libtool_files --all
11735 -
11736 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
11737 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
11738 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
11739 - fi
11740 -
11741 - # Remove wineconsole if neither backend is installed #551124
11742 - if ! use X && ! use ncurses; then
11743 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
11744 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
11745 - rm_wineconsole() {
11746 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
11747 - }
11748 - multilib_foreach_abi rm_wineconsole
11749 - fi
11750 -
11751 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
11752 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
11753 -
11754 - if use abi_x86_64 && ! use abi_x86_32; then
11755 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
11756 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
11757 - fi
11758 -
11759 - # Failglob for bin and man loops
11760 - local glob_state=$(shopt -p failglob)
11761 - shopt -s failglob
11762 -
11763 - # Make wrappers for binaries for handling multiple variants
11764 - # Note: wrappers instead of symlinks because some are shell which use basename
11765 - local b
11766 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
11767 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
11768 - done
11769 -
11770 - # respect LINGUAS when installing man pages, #469418
11771 - local l
11772 - for l in de fr pl; do
11773 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
11774 - done
11775 -
11776 - eval "${glob_state}"
11777 -}
11778 -
11779 -pkg_postinst() {
11780 - eselect wine register ${P}
11781 - if [[ ${PN} == "wine-vanilla" ]]; then
11782 - eselect wine register --vanilla ${P} || die
11783 - fi
11784 -
11785 - eselect wine update --all --if-unset || die
11786 -
11787 - xdg_desktop_database_update
11788 -
11789 - if ! use gecko; then
11790 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
11791 - ewarn "implementation of iexplore. Many older windows applications"
11792 - ewarn "rely upon the existence of an iexplore implementation, so"
11793 - ewarn "you will likely need to install an external one, like via winetricks"
11794 - fi
11795 - if ! use mono; then
11796 - ewarn "Without Wine Mono, wine prefixes will not have a default"
11797 - ewarn "implementation of .NET. Many windows applications rely upon"
11798 - ewarn "the existence of a .NET implementation, so you will likely need"
11799 - ewarn "to install an external one, like via winetricks"
11800 - fi
11801 -}
11802 -
11803 -pkg_prerm() {
11804 - eselect wine deregister ${P}
11805 - if [[ ${PN} == "wine-vanilla" ]]; then
11806 - eselect wine deregister --vanilla ${P} || die
11807 - fi
11808 -
11809 - eselect wine update --all --if-unset || die
11810 -}
11811 -
11812 -pkg_postrm() {
11813 - xdg_desktop_database_update
11814 -}
11815
11816 diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.9-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.9-r1.ebuild
11817 deleted file mode 100644
11818 index 0cbbf7c0682..00000000000
11819 --- a/app-emulation/wine-vanilla/wine-vanilla-2.9-r1.ebuild
11820 +++ /dev/null
11821 @@ -1,529 +0,0 @@
11822 -# Copyright 1999-2017 Gentoo Foundation
11823 -# Distributed under the terms of the GNU General Public License v2
11824 -
11825 -EAPI=6
11826 -
11827 -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"
11828 -PLOCALE_BACKUP="en"
11829 -
11830 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
11831 -
11832 -MY_PN="${PN%%-*}"
11833 -MY_P="${MY_PN}-${PV}"
11834 -
11835 -if [[ ${PV} == "9999" ]] ; then
11836 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
11837 - EGIT_BRANCH="master"
11838 - inherit git-r3
11839 - SRC_URI=""
11840 - #KEYWORDS=""
11841 -else
11842 - MAJOR_V=$(get_version_component_range 1)
11843 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
11844 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
11845 -fi
11846 -S="${WORKDIR}/${MY_P}"
11847 -
11848 -GWP_V="20170830"
11849 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
11850 -
11851 -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
11852 -HOMEPAGE="https://www.winehq.org/"
11853 -SRC_URI="${SRC_URI}
11854 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
11855 -"
11856 -
11857 -LICENSE="LGPL-2.1"
11858 -SLOT="${PV}"
11859 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
11860 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
11861 - X? ( truetype )
11862 - elibc_glibc? ( threads )
11863 - osmesa? ( opengl )
11864 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
11865 -
11866 -# FIXME: the test suite is unsuitable for us; many tests require net access
11867 -# or fail due to Xvfb's opengl limitations.
11868 -RESTRICT="test"
11869 -
11870 -COMMON_DEPEND="
11871 - X? (
11872 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
11873 - x11-libs/libXext[${MULTILIB_USEDEP}]
11874 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
11875 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
11876 - x11-libs/libXi[${MULTILIB_USEDEP}]
11877 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
11878 - )
11879 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
11880 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
11881 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
11882 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
11883 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
11884 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
11885 - gstreamer? (
11886 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
11887 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
11888 - )
11889 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
11890 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
11891 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
11892 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
11893 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
11894 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
11895 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
11896 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
11897 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
11898 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
11899 - opengl? (
11900 - virtual/glu[${MULTILIB_USEDEP}]
11901 - virtual/opengl[${MULTILIB_USEDEP}]
11902 - )
11903 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
11904 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
11905 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
11906 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
11907 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
11908 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
11909 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
11910 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
11911 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
11912 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
11913 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
11914 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
11915 - xml? (
11916 - dev-libs/libxml2[${MULTILIB_USEDEP}]
11917 - dev-libs/libxslt[${MULTILIB_USEDEP}]
11918 - )
11919 - abi_x86_32? (
11920 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
11921 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
11922 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
11923 - !<app-emulation/emul-linux-x86-db-20140508-r3
11924 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
11925 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
11926 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
11927 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
11928 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
11929 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
11930 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
11931 - !<app-emulation/emul-linux-x86-soundlibs-20140508
11932 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
11933 - !<app-emulation/emul-linux-x86-xlibs-20140508
11934 - )"
11935 -
11936 -RDEPEND="${COMMON_DEPEND}
11937 - app-emulation/wine-desktop-common
11938 - >app-eselect/eselect-wine-0.3
11939 - !app-emulation/wine:0
11940 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
11941 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
11942 - mono? ( app-emulation/wine-mono:4.7.0 )
11943 - perl? (
11944 - dev-lang/perl
11945 - dev-perl/XML-Simple
11946 - )
11947 - pulseaudio? (
11948 - realtime? ( sys-auth/rtkit )
11949 - )
11950 - samba? ( >=net-fs/samba-3.0.25[winbind] )
11951 - selinux? ( sec-policy/selinux-wine )
11952 - udisks? ( sys-fs/udisks:2 )"
11953 -
11954 -# tools/make_requests requires perl
11955 -DEPEND="${COMMON_DEPEND}
11956 - sys-devel/flex
11957 - >=sys-kernel/linux-headers-2.6
11958 - virtual/pkgconfig
11959 - virtual/yacc
11960 - X? (
11961 - x11-proto/inputproto
11962 - x11-proto/xextproto
11963 - x11-proto/xf86vidmodeproto
11964 - )
11965 - prelink? ( sys-devel/prelink )
11966 - xinerama? ( x11-proto/xineramaproto )"
11967 -
11968 -# These use a non-standard "Wine" category, which is provided by
11969 -# /etc/xdg/applications-merged/wine.menu
11970 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
11971 -usr/share/applications/wine-notepad.desktop
11972 -usr/share/applications/wine-uninstaller.desktop
11973 -usr/share/applications/wine-winecfg.desktop"
11974 -
11975 -PATCHES=(
11976 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
11977 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
11978 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
11979 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
11980 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
11981 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
11982 -)
11983 -PATCHES_BIN=(
11984 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
11985 -)
11986 -
11987 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
11988 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
11989 - DEPEND+=" dev-util/patchbin"
11990 -fi
11991 -
11992 -wine_compiler_check() {
11993 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
11994 -
11995 - # GCC-specific bugs
11996 - if tc-is-gcc; then
11997 - # bug #549768
11998 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
11999 - ebegin "Checking for gcc-5 ms_abi compiler bug"
12000 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
12001 - # Run in subshell to prevent "Aborted" message
12002 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
12003 - if ! eend $?; then
12004 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
12005 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
12006 - eerror "or use gcc-config to select a different compiler version."
12007 - eerror "See https://bugs.gentoo.org/549768"
12008 - eerror
12009 - return 1
12010 - fi
12011 - fi
12012 - # bug #574044
12013 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
12014 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
12015 - # Compile in subshell to prevent "Aborted" message
12016 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
12017 - if ! eend $?; then
12018 - eerror "Wine cannot be built with this version of gcc-5.3"
12019 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
12020 - eerror "or use gcc-config to select a different compiler version."
12021 - eerror "See https://bugs.gentoo.org/574044"
12022 - eerror
12023 - return 1
12024 - fi
12025 - fi
12026 - fi
12027 -
12028 - # Ensure compiler support
12029 - if use abi_x86_64; then
12030 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
12031 - # Compile in subshell to prevent "Aborted" message
12032 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
12033 - if ! eend $?; then
12034 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
12035 - eerror
12036 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
12037 - eerror
12038 - return 1
12039 - fi
12040 - fi
12041 -}
12042 -
12043 -wine_build_environment_check() {
12044 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
12045 -
12046 - if use abi_x86_64; then
12047 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
12048 - eerror "You need gcc-4.4+ to compile 64-bit wine"
12049 - die
12050 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
12051 - eerror "You need clang-3.8+ to compile 64-bit wine"
12052 - die
12053 - fi
12054 - fi
12055 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
12056 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
12057 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
12058 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
12059 - fi
12060 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
12061 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
12062 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
12063 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
12064 - ewarn "See package.env in man 5 portage for more information on how to do this."
12065 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
12066 - fi
12067 - fi
12068 -
12069 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
12070 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
12071 - eerror "See https://bugs.gentoo.org/487864 for more details."
12072 - eerror
12073 - return 1
12074 - fi
12075 -}
12076 -
12077 -wine_env_vcs_vars() {
12078 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
12079 - local pn_live_val="${pn_live_var}"
12080 - eval pn_live_val='$'${pn_live_val}
12081 - if [[ ! -z ${EGIT_COMMIT} ]]; then
12082 - eerror "Commits must now be specified using the environmental variables"
12083 - eerror "WINE_COMMIT"
12084 - eerror
12085 - return 1
12086 - fi
12087 -}
12088 -
12089 -pkg_pretend() {
12090 - wine_build_environment_check || die
12091 -
12092 - # Verify OSS support
12093 - if use oss && ! use kernel_FreeBSD; then
12094 - if ! has_version ">=media-sound/oss-4"; then
12095 - eerror "You cannot build wine with USE=oss without having support from a"
12096 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
12097 - eerror
12098 - die
12099 - fi
12100 - fi
12101 -}
12102 -
12103 -pkg_setup() {
12104 - wine_build_environment_check || die
12105 - wine_env_vcs_vars || die
12106 -
12107 - WINE_VARIANT="${PN#wine}-${PV}"
12108 - WINE_VARIANT="${WINE_VARIANT#-}"
12109 -
12110 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
12111 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
12112 - MY_DATADIR="${MY_DATAROOTDIR}"
12113 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
12114 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
12115 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
12116 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
12117 - MY_MANDIR="${MY_DATADIR}/man"
12118 -}
12119 -
12120 -src_unpack() {
12121 - if [[ ${PV} == "9999" ]] ; then
12122 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
12123 - fi
12124 -
12125 - default
12126 -
12127 - l10n_find_plocales_changes "${S}/po" "" ".po"
12128 -}
12129 -
12130 -src_prepare() {
12131 -
12132 - eapply_bin(){
12133 - local patch
12134 - for patch in ${PATCHES_BIN[@]}; do
12135 - patchbin --nogit < "${patch}" || die
12136 - done
12137 - }
12138 -
12139 - local md5="$(md5sum server/protocol.def)"
12140 -
12141 - default
12142 - eapply_bin
12143 - eautoreconf
12144 -
12145 - # Modification of the server protocol requires regenerating the server requests
12146 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
12147 - einfo "server/protocol.def was patched; running tools/make_requests"
12148 - tools/make_requests || die #432348
12149 - fi
12150 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
12151 - if ! use run-exes; then
12152 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
12153 - fi
12154 -
12155 - # Edit wine.desktop to work for specific variant
12156 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
12157 -
12158 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
12159 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
12160 -
12161 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
12162 -}
12163 -
12164 -src_configure() {
12165 - wine_compiler_check || die
12166 -
12167 - export LDCONFIG=/bin/true
12168 - use custom-cflags || strip-flags
12169 -
12170 - multilib-minimal_src_configure
12171 -}
12172 -
12173 -multilib_src_configure() {
12174 - local myconf=(
12175 - --prefix="${MY_PREFIX}"
12176 - --datarootdir="${MY_DATAROOTDIR}"
12177 - --datadir="${MY_DATADIR}"
12178 - --docdir="${MY_DOCDIR}"
12179 - --includedir="${MY_INCLUDEDIR}"
12180 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
12181 - --libexecdir="${MY_LIBEXECDIR}"
12182 - --localstatedir="${MY_LOCALSTATEDIR}"
12183 - --mandir="${MY_MANDIR}"
12184 - --sysconfdir=/etc/wine
12185 - $(use_with alsa)
12186 - $(use_with capi)
12187 - $(use_with lcms cms)
12188 - $(use_with cups)
12189 - $(use_with ncurses curses)
12190 - $(use_with udisks dbus)
12191 - $(use_with fontconfig)
12192 - $(use_with ssl gnutls)
12193 - $(use_enable gecko mshtml)
12194 - $(use_with gphoto2 gphoto)
12195 - $(use_with gsm)
12196 - $(use_with gstreamer)
12197 - --without-hal
12198 - $(use_with jpeg)
12199 - $(use_with ldap)
12200 - $(use_enable mono mscoree)
12201 - $(use_with mp3 mpg123)
12202 - $(use_with netapi)
12203 - $(use_with nls gettext)
12204 - $(use_with openal)
12205 - $(use_with opencl)
12206 - $(use_with opengl)
12207 - $(use_with osmesa)
12208 - $(use_with oss)
12209 - $(use_with pcap)
12210 - $(use_with png)
12211 - $(use_with pulseaudio pulse)
12212 - $(use_with threads pthread)
12213 - $(use_with scanner sane)
12214 - $(use_enable test tests)
12215 - $(use_with truetype freetype)
12216 - $(use_with udev)
12217 - $(use_with v4l)
12218 - $(use_with X x)
12219 - $(use_with X xfixes)
12220 - $(use_with xcomposite)
12221 - $(use_with xinerama)
12222 - $(use_with xml)
12223 - $(use_with xml xslt)
12224 - )
12225 -
12226 - local PKG_CONFIG AR RANLIB
12227 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
12228 - # set AR and RANLIB to make QA scripts happy; #483342
12229 - tc-export PKG_CONFIG AR RANLIB
12230 -
12231 - if use amd64; then
12232 - if [[ ${ABI} == amd64 ]]; then
12233 - myconf+=( --enable-win64 )
12234 - else
12235 - myconf+=( --disable-win64 )
12236 - fi
12237 -
12238 - # Note: using --with-wine64 results in problems with multilib.eclass
12239 - # CC/LD hackery. We're using separate tools instead.
12240 - fi
12241 -
12242 - ECONF_SOURCE=${S} \
12243 - econf "${myconf[@]}"
12244 - emake depend
12245 -}
12246 -
12247 -multilib_src_test() {
12248 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
12249 - if [[ ${ABI} == x86 ]]; then
12250 - if [[ $(id -u) == 0 ]]; then
12251 - ewarn "Skipping tests since they cannot be run under the root user."
12252 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
12253 - return
12254 - fi
12255 -
12256 - WINEPREFIX="${T}/.wine-${ABI}" \
12257 - Xemake test
12258 - fi
12259 -}
12260 -
12261 -multilib_src_install_all() {
12262 - local DOCS=( ANNOUNCE AUTHORS README )
12263 - add_locale_docs() {
12264 - local locale_doc="documentation/README.$1"
12265 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
12266 - }
12267 - l10n_for_each_locale_do add_locale_docs
12268 -
12269 - einstalldocs
12270 - prune_libtool_files --all
12271 -
12272 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
12273 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
12274 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
12275 - fi
12276 -
12277 - # Remove wineconsole if neither backend is installed #551124
12278 - if ! use X && ! use ncurses; then
12279 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
12280 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
12281 - rm_wineconsole() {
12282 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
12283 - }
12284 - multilib_foreach_abi rm_wineconsole
12285 - fi
12286 -
12287 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
12288 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
12289 -
12290 - if use abi_x86_64 && ! use abi_x86_32; then
12291 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
12292 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
12293 - fi
12294 -
12295 - # Failglob for bin and man loops
12296 - local glob_state=$(shopt -p failglob)
12297 - shopt -s failglob
12298 -
12299 - # Make wrappers for binaries for handling multiple variants
12300 - # Note: wrappers instead of symlinks because some are shell which use basename
12301 - local b
12302 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
12303 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
12304 - done
12305 -
12306 - # respect LINGUAS when installing man pages, #469418
12307 - local l
12308 - for l in de fr pl; do
12309 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
12310 - done
12311 -
12312 - eval "${glob_state}"
12313 -}
12314 -
12315 -pkg_postinst() {
12316 - eselect wine register ${P}
12317 - if [[ ${PN} == "wine-vanilla" ]]; then
12318 - eselect wine register --vanilla ${P} || die
12319 - fi
12320 -
12321 - eselect wine update --all --if-unset || die
12322 -
12323 - xdg_desktop_database_update
12324 -
12325 - if ! use gecko; then
12326 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
12327 - ewarn "implementation of iexplore. Many older windows applications"
12328 - ewarn "rely upon the existence of an iexplore implementation, so"
12329 - ewarn "you will likely need to install an external one, like via winetricks"
12330 - fi
12331 - if ! use mono; then
12332 - ewarn "Without Wine Mono, wine prefixes will not have a default"
12333 - ewarn "implementation of .NET. Many windows applications rely upon"
12334 - ewarn "the existence of a .NET implementation, so you will likely need"
12335 - ewarn "to install an external one, like via winetricks"
12336 - fi
12337 -}
12338 -
12339 -pkg_prerm() {
12340 - eselect wine deregister ${P}
12341 - if [[ ${PN} == "wine-vanilla" ]]; then
12342 - eselect wine deregister --vanilla ${P} || die
12343 - fi
12344 -
12345 - eselect wine update --all --if-unset || die
12346 -}
12347 -
12348 -pkg_postrm() {
12349 - xdg_desktop_database_update
12350 -}