Gentoo Archives: gentoo-commits

From: NP Hardass <np-hardass@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/wine-any/
Date: Tue, 28 Nov 2017 16:24:31
Message-Id: 1511886250.c09f09f004f50ecabe0c6d1a230f8ffefe897310.np-hardass@gentoo
1 commit: c09f09f004f50ecabe0c6d1a230f8ffefe897310
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 28 15:33:23 2017 +0000
4 Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 28 16:24:10 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c09f09f0
7
8 app-emulation/wine-any: 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-any/Manifest | 59 +--
15 app-emulation/wine-any/wine-any-2.0-r1.ebuild | 636 ------------------------
16 app-emulation/wine-any/wine-any-2.1-r1.ebuild | 636 ------------------------
17 app-emulation/wine-any/wine-any-2.10-r1.ebuild | 638 -------------------------
18 app-emulation/wine-any/wine-any-2.11-r1.ebuild | 638 -------------------------
19 app-emulation/wine-any/wine-any-2.12-r1.ebuild | 638 -------------------------
20 app-emulation/wine-any/wine-any-2.13-r1.ebuild | 638 -------------------------
21 app-emulation/wine-any/wine-any-2.14-r1.ebuild | 638 -------------------------
22 app-emulation/wine-any/wine-any-2.15-r1.ebuild | 638 -------------------------
23 app-emulation/wine-any/wine-any-2.16-r1.ebuild | 638 -------------------------
24 app-emulation/wine-any/wine-any-2.2-r1.ebuild | 636 ------------------------
25 app-emulation/wine-any/wine-any-2.3-r1.ebuild | 636 ------------------------
26 app-emulation/wine-any/wine-any-2.4-r1.ebuild | 636 ------------------------
27 app-emulation/wine-any/wine-any-2.5-r1.ebuild | 636 ------------------------
28 app-emulation/wine-any/wine-any-2.6-r1.ebuild | 636 ------------------------
29 app-emulation/wine-any/wine-any-2.7-r1.ebuild | 636 ------------------------
30 app-emulation/wine-any/wine-any-2.8-r1.ebuild | 636 ------------------------
31 app-emulation/wine-any/wine-any-2.9-r1.ebuild | 638 -------------------------
32 18 files changed, 4 insertions(+), 10883 deletions(-)
33
34 diff --git a/app-emulation/wine-any/Manifest b/app-emulation/wine-any/Manifest
35 index d6fe8c73bc5..8e484adbe3d 100644
36 --- a/app-emulation/wine-any/Manifest
37 +++ b/app-emulation/wine-any/Manifest
38 @@ -1,61 +1,10 @@
39 -DIST gentoo-wine-patches-20170830.tar.xz 58456 SHA256 fb7781d0ae360cbc3860c2d2e81527a1b903da824c01f5d5040e95aaf99a3970 SHA512 5e5159e3252b246bba0ef7fdba345db3ab1071c5b8b8b625f98eda18779d4024c5b76bdbf49ce7bd5c6b01b422807adf76820beddb2b4a6ee9e67d13052cc575 WHIRLPOOL a79be264bab3fcdeee06fef47efd28e6e1125254ac7f82300cb6ba2591ef69cd76b5fed8f778b1849a0659e680e9fc785f0273d55cb2ed95648a74dffa5e22d2
40 -DIST wine-2.0.tar.bz2 23662707 SHA256 9756f5a2129b6a83ba701e546173cbff86caa671b0af73eb8f72c03b20c066c6 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 WHIRLPOOL fa9f774d87dae73c7d1f3b86dc3b03ea27065eb6140f1cac13c82fe16f7ebff8f8365ed447220cf5c2788b9f4aae7c482e4f9e2e69f47e5435209e148f5dbdfe
41 -DIST wine-2.1.tar.xz 18887032 SHA256 bfb9abf63691c93df28d9599aaa866dc2b4e27209b3b7b546df8a37d7d9d1e6e SHA512 03d678ee6e89c2804813f2827255fcf59e96ca9a45b7d8ac441cfc84f835e5e5689c70a79a41a04c631e1add7807fa4a5758acef3bd7aadfb2e92e68958c6ef6 WHIRLPOOL 063d935f1ff0922100641f2f53cdac23d2993a83182d45e028e485fd7d0a13bc5cfb77bca76550b1537b3f42fecacef7fd64785adbf6425af823f56f96973b54
42 -DIST wine-2.10.tar.xz 19209580 SHA256 488df7ffd2e81da455bf428fc9eb784bb4273a890334500895665711bd52f179 SHA512 8807e16a571bf45d99097ad5fdfb9fe755f6dbe84010a330fed82f1d48c76b7f19589bfc0e5dde0b9e49a608fd0501db3f7e3e129e4d9d34bcae03bc51a73139 WHIRLPOOL e9a8248aac31593fbac28a3d8d4e62bfce14a7c41cc416ebfca8606518d28efd31b32196133da211f75f48bd228bd5d21fcbbc0479293e813ed99b258b37126e
43 -DIST wine-2.11.tar.xz 19251116 SHA256 efa96dade206aa21accf0da195335a805d38209d6a14320607c6308ebde4cc3c SHA512 691f329c47af5e51498287029988b8ca0777bfc3902ed80fd315004aba2337a938e79177e752efe86423c9b34544df3952b8c443bf43149356575fac75a779ac WHIRLPOOL 4933e1ce640b0abeebccd6969b5eaf4eec76cd135d9cfc1d904a902219f776a68f72e2bd1ae9019d69f0d0d81fd8ead0084785d1b9710590349365977f9c1817
44 -DIST wine-2.12.tar.xz 19301968 SHA256 496c11af841487e6ec4e1953ac19b05a7f48e397da502653ffbd9fe9004213a7 SHA512 d44c1937d7d2d797150381f70317b810616d61355a59be096366d3507f59b678cffaf6d841cecf02bf9d2afa3dbf4d19270f80fb1d3ba5f0f93787d40c328f62 WHIRLPOOL 6f4b9baa6fcfe86f3d195fe603c2b9450a72a593c8f7042959b42a76880cb4ae680fde7beb70a8e823150849fda36c42985035de891ebf0088c8ffc2bceb15bf
45 -DIST wine-2.13.tar.xz 19439328 SHA256 6fbca3ddd19b061ce65a267639efae93cf38cfabbe4a9c148a17a44703587ef8 SHA512 71873b9ec1605dd5f7502b87b0f3429c3d14a4196543d7304df455854b58ef82b8fafdcea91450cbfc01434a44886a0e0c4c4cf289ffb53167dde0f969cddc48 WHIRLPOOL 6faf1e6aeea2ab7ccc496ed85834f98eb25111c8f541c24d4876a142ad4acf7d9a4c08c2716e11fb6c92fe7aad29980cab912eb9dbb6759bdbdeca2f2f8e78a7
46 -DIST wine-2.14.tar.xz 19447812 SHA256 03f934d95181f728600ca04d395f10e821ee38cfa31655e872e4d27d2a8795c6 SHA512 ff43d386d46c0c74449e667b61d8cebd5fa768c88e6220aa2f13df03d80b71b6c0bdf8cbab023aed96f7c88b9787a3be4989da892fa1778412534ae82a7279bb WHIRLPOOL 2d2784e1b2ddeac39a3cea4cb08a62d99d1d062d8d801874e8bf4f56d2538a4cb019418c60299556548028e2362dd533d9ea0956014a65ac7a367ed489c0c392
47 -DIST wine-2.15.tar.xz 19463720 SHA256 d82d500cbf81fb08c711d3619bd52373138a05574d044f089af89707274868b3 SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 WHIRLPOOL 99c9497a44859ce310c764b3cd172d83ca1a2dce13633fee930ddbf1c40651ee4470f6bc9cfcb407ce65298a2afd73dc9edc536c2ba6f076631e5cf2085b8e61
48 -DIST wine-2.16.tar.xz 19484716 SHA256 a561edcabecd6c44948e5b2ef11941b2ba047275240418fa2c98c1fdceda2c21 SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 WHIRLPOOL 92ae0a427d89b24d41d4565e333cf3b7499c1dfedb6d2a204f934975c35cb589d38b4f669890c1fd6a37b9fe8f34d98be3e7d0986e9ff99516fe00a004574520
49 +DIST gentoo-wine-patches-20170830.tar.xz 58456 BLAKE2B 86445a6d91d9981d069ff2fb3b64a47e166c76b4721ef877c74cd60e359ee5bdbe36ebf37cf796a18e9cf42dbc69ce1496777144fc28b072f47c965173bf48b4 SHA512 5e5159e3252b246bba0ef7fdba345db3ab1071c5b8b8b625f98eda18779d4024c5b76bdbf49ce7bd5c6b01b422807adf76820beddb2b4a6ee9e67d13052cc575
50 DIST wine-2.17.tar.xz 19505528 SHA256 7edc95739043ccc55957af663fb910318283dc5d1db42cd7f0224e30acfcea69 SHA512 cb10c876e689aa601c68673aab32c0514dd174692a01bdb3afc78d5e6079b0e77f48783af2f54245f397c762da3b4e5f2c1d39d2ce7fdb3b117d338b95c24810 WHIRLPOOL 196427a68ab3b1261cb63bafd7f82b7a688ad439fa82ae3fc04b18c9da14cc8e95b827ca8ddd07124e1179c55ed0e0aba3bdcb4639b724a6dacf4952e8827e16
51 DIST wine-2.18.tar.xz 19546360 SHA256 9f0931129878157d717cb39f16cd33bf49f40aac77331c93d0ad30f2ccac4f50 SHA512 61cc39fa3d2b0a0ab3c5d17579865e6aea76dd9513a4b3c45975a2d5c05f2b4ba952b97eef547131a014763c7f692a08df29bc2ebf7e4ac7e2616e6a7822ddb9 WHIRLPOOL e864dd1705c0480d3f3095aa02ab1e7bc5b41693cd6b791cdf05e636c7099562020ac3adcba6421653efdf5dbe232b5abe9071792785e008ea30dedbb63e080e
52 -DIST wine-2.19.tar.xz 19549464 SHA256 487131e69875ae9c2d042798f954160146e603e449c3c97981f29b42f4a66095 SHA512 83558231bdc592b1f69cfedf6c689063df7bd9fecdfafba6fb7f6a2c7fa7783973efb85a6a49305afc18b1aa268209ee5b9c0655756e05d7550468698dfa51ae WHIRLPOOL 123aec3a367e67353655d940ba2ffe9386a583afbd0961dd3f446a00b0cf82ad4ed590508e03bf2a4e60b11753f8f430e748e6614f476675423f3bdaf7089288
53 -DIST wine-2.2.tar.xz 18916364 SHA256 64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 WHIRLPOOL ffc3d357a76592651b589c6ac6608720d0258474890faf8fe3e20ac29cdd1496d569721256f9389d347bf2734a556099154fd18ef1b56f45bb46c4c15771d6ca
54 -DIST wine-2.3.tar.xz 18931732 SHA256 afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 WHIRLPOOL 1f5ec8e5c32d124277e4c71d95726d3a5337575757c3029567c77165d65fcfec2ddf33d3863b4bf55c9eff7c3582c1ec7dbd76d84ed8bbbe89dd16db6b0128c1
55 -DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0df8b36b9f90b69b72748e SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 WHIRLPOOL 558ab7b7517ad5e03366b4db974047eba776585e958a5b71bb2e93993e21bc725ea7a8bcf2a4354f34ca38c94ba99ccd15f2f8b5e4b58066bf339d3517eec56c
56 -DIST wine-2.5.tar.xz 18993176 SHA256 13f92b7ab483323aaabbc6519851e688ad4372ea30569961c831d40d6d3bccd2 SHA512 7b6faf6d8aa3d41465ad93ebae055581136f736c7eb8b4c61682e5a05589c83a0ff2c85e0f9abbca016f31b6f1c1435617c4994f1913f715a8707ebee3f28467 WHIRLPOOL 5acd2ac65df5dee1c860ddca72b8df8e021a0b95a3a1870d15468ce4591d569fa15bf8a0a6d341bcd3a624d13d0affe5b0263e67f9dfcbbf3ae7b59218dcded9
57 -DIST wine-2.6.tar.xz 19023352 SHA256 e6ff64758f437647e99a36c1275e41adf54f0432907172d3bba22b070a97aac0 SHA512 2aa55413ac090e011725566d004e42ee46323cd4c6961b9faa63e3de422ba60bb657bf224a4d7e8aa712a8e26e11977d07acb7c088ffeef8c37310e8cc698970 WHIRLPOOL 82e6a06cc342c7d6eace64a97bae10cc39c120c5776170b059700542b8b6fef56be9a697f05b3bc21ae82621f4bf50f3ab478311c9a3a55d86ed7c0a009766b0
58 -DIST wine-2.7.tar.xz 19101108 SHA256 e55a43088e313c45f7ab49272b7cb441c06f5659fb4220b2325dc060db0ee14c SHA512 1e61b9a4aa1f5f42fb27d11d5254a9ba90f348ad9c4d1ddd4b5da47cd7de638290a20accf7447db9c0e4ced4c2144497cdf5fc906a5eac60e923dabb61f65d3a WHIRLPOOL 133426a0313facc856eebad3d16d199948b780ce4c4561e5784845c119fe462b8942ed86fa5e823e729a997d704bd3c70f44a64ce3eef965b4f3eb92587dfa4d
59 -DIST wine-2.8.tar.xz 19120740 SHA256 83e9607af66d86020dc27a368ebba28fa7e8ffecfdf8f149da06b3531ac3e579 SHA512 4d0b167b1e5add31ed0ed05b328d16fc13cd268285c03a9100e7ddc53864aa07f6b216a555ef0c2e51dee550e3f4abf0c7c20db2cbca177bb38e8c3e11f05b97 WHIRLPOOL 568cf46caf7322eb5e26b364bd15f9e80c41a65340952a1ee0fa80514bbee3c5adfa72af40809a978a5d4202f5e8d3da3e4581767bab9fa08ab441cdd5d1da31
60 -DIST wine-2.9.tar.xz 19154668 SHA256 ac46f7bbbbc1dc135c95e4f98d28bf6e3d7a78fb7f9ba6caa7354a3e8786545f SHA512 6d06e511d8f338297ed0ddb7bf2ffb501f528209eaecbbee3d4e5d53db649dd5ea0aeb78bba661a9bcfda5f97e170ca10eb8fab355e229bfe7db6a5feb7ec4e8 WHIRLPOOL 7355166aeaac54abb6e1d25da6f87a4814d37764044e95462bc2a83f8d5a9b7a3bb10730bb5506516e130a4fc9ee35e3656d1106939bbbc1310c6aff0d798a1c
61 -DIST wine-d3d9-2.0.tar.gz 48373 SHA256 7bfac23706723c6d51a7a95e416e47fb2678cd4d0945b990f74eba2b059e6206 SHA512 a9e2d1c9f2784128e4c53a8dc923070a5057b5ff3d83c2b536a2d2df0bc8433ac92b8ab1c3cdf34158c0e7bfe497ddb5974605fbc1736a92307639d59450c7a1 WHIRLPOOL 53044c0a4b7159c3af75fc935d1ac45030e80dbfd70d787f64885ddc025cfcd62f724c3256e389a7fde680670e594101955f52301cf6b9bbf23ebc64552790c2
62 -DIST wine-d3d9-2.1.tar.gz 48385 SHA256 9fd80e3e2ea905272c42dbc14679e94c8e2f955101ae098c84060d4c62ffc9c6 SHA512 9234d8227412d940a6befcf79433f1d5ab0634d5e829f3771ffeea235af05be29ffc40438818b1976c77d1e2e79da8a67c4dab2b7d2e822b502fb6e4a1a7f8b7 WHIRLPOOL 790e482850a13c5bf0967e900620c36d71c4d6673106f8f5c2848550ed574d326d3945d9906de88d847bb5644a520aab7fe6d460b3c3afd49a396798dd253392
63 -DIST wine-d3d9-2.10.tar.gz 48713 SHA256 62a199a239fca4f172f9ff871086196f8eeb35483d7bcab4acb144c05e60debb SHA512 808241f545e60c0546ff3918cac28e2abb6fe8496e8ade3cfa8bf81612724e827d31787d1d320cbac80b71a5d6180bcc8e51249c12c099e44637e0bb9f4875cd WHIRLPOOL a8c58c5321107b958780348aebad41d57ac0a3a307e176715950e1ed1eae7d19d858db3f9b0e5cb86484919d683321ff6fc19ec1696ba5418e0d2dd861bfaff4
64 -DIST wine-d3d9-2.11.tar.gz 48714 SHA256 3432863940fdb9ea6f36688d670c6fe800e7359d7b18723828447bedf694b786 SHA512 716dad66fce962246e57a29c239d6b69b78656a11d01a421b490ad61c2c3dd9850b34e2346319a6a35c2a01e0c28193adf78f21b9de1ffde95a06d5fae51fe0d WHIRLPOOL eeef55dca716a68e03b84d4f916955c4194810c1c460a55a30ac2c4257e256b8fc709837d7b35aa86ce3f523f2b9c11222b9096ae4d87979f1fee4a8257ddabb
65 -DIST wine-d3d9-2.12.tar.gz 48716 SHA256 544e8b901b2fe1e0da90828f07683abf45794a3a41fdfae20eb5d29b5ee7d22b SHA512 8fe9b37ff54372984a234b18037bc736f69f2adf41478f037bc93e3d72893c46174fc3fbff78042ac66bb03d31ea85d293dbadc2b32630218ae53be8e360425d WHIRLPOOL 17f28bafb20c559424945ff92041a5c634b8775a8e97ed8aa940308fa815f2b3cfa48499a58a511fc5c33bde47db07008d168d8b0c103eec379ba27b33b8ffdd
66 -DIST wine-d3d9-2.13.tar.gz 48711 SHA256 738583d1ad80ddeff5d437ef07885e25a2bba7da9d161ee01e45fef246edd327 SHA512 75481c73c88757c4f15eb00dc427d873ea71109f18fd64c758e858bb2fc2dc1ee7cc29ee912ec93f254186f2055277d07e2e4f1d2ee3c537c76601aa009cf632 WHIRLPOOL 57c5cd0903151eed7c2b719831581aa3216c0fc49a257f7fb9e872ca698a330b5a10d50c945937924c7efefa497dc14117a35c5b39fbccf14cb1fb711e5bbe98
67 -DIST wine-d3d9-2.14.tar.gz 48718 SHA256 71a3aff0b348f033d4ca610e34ce6faa02eb2b5c822fa2e00b372de66541ffd4 SHA512 77aa93ac9b1a81581c27e74641722666026e2e6e03def57955a05fc76c6c02730271a562130dc87ed1caefc9b00b3e0421b2640fa17165aef2f8be5da0cf07d3 WHIRLPOOL 1319fdfb4426a0a294702a5c43641008654a1352d91d23b9bd422d83fb5cd50053110052eef09ae128dfb570523d9208272abd21cb5975adff060fe7d31ac5ad
68 -DIST wine-d3d9-2.15.tar.gz 48717 SHA256 c0aa58e7fa3b595c38cf06fe72b54a096e43e526142a7576f839ed8aaa85cabf SHA512 5298de273fc95f65ee481416f8ed16059f244e3781058cb76ee60b6a85aaf8d977a619c75cccd08aadeac9aae9ad2e08b49c5b52ab141cbff351a4b001e7c434 WHIRLPOOL 63337e2c86be5ff2fc16ff0817719ed668360ad2258b095e88b98b1f31e382593b14cabdcb8be58a6dc0cc047cd67a3eb1f14d3ecb806ba2ac9c6f7102368c94
69 -DIST wine-d3d9-2.16.tar.gz 48728 SHA256 2a681d28a4e042437c32ecf3f92c7abaadc862feba6aacf0df76469acab98f3e SHA512 f3950d7e34ec537b95b963fb3b35ee3729c1b3f9d8c225e96ae9ab9cf8011571ba22105a17309c481f3a504a8aa4d5ae04270691c49098924aa2f72463b79e08 WHIRLPOOL c1f3cb0922cb381f6e2aa7fd54538b98dbd04daa7f36f66742af4c544c80e894e33ebf4866520af35faec27519f0015cd5cc1139fe191bb0b3192cb2134035c3
70 +DIST wine-2.19.tar.xz 19549464 BLAKE2B 86d130cc43d7d674d2f478365952962b2792fd585b8d074564108bc7e9f4f7690337e4758b9a24e54fe8fd60187d3a96496a5ffc454ba674b02ecdde68efd3bb SHA512 83558231bdc592b1f69cfedf6c689063df7bd9fecdfafba6fb7f6a2c7fa7783973efb85a6a49305afc18b1aa268209ee5b9c0655756e05d7550468698dfa51ae
71 DIST wine-d3d9-2.17.tar.gz 48722 SHA256 557ae75a68529f282f1f5e7e9991892d7d994f199060ced43db22291ec66fe71 SHA512 530d44a968a68e06449da2286b8c9740a80b681ff610f6ddc87e6fb569e6c29181341266a04238965a7bfc209e20c1521847b70daa8d3532c2a269db0d200154 WHIRLPOOL 0c70a88949eaa27ebbc28a6951651e4b55166c1d54a8db6d9fdfe3f516d2f4e24ba0f08defddf637b9c2ed0702b250af4d41146684b79e90d84aefe284351059
72 DIST wine-d3d9-2.18.tar.gz 48722 SHA256 d1b5210d4228ddcc60f76b4a8694d5feb4e3c68ca4436666ee182c8b14f25356 SHA512 0e66c51e1957b27ccb9f326b0aaf2b0d09b7bbc9d03e1d321aa1789d2560b8e60fd83c4e86999d96a03aa73a37c96f34d93245763969a314150900741aa03933 WHIRLPOOL c879d7ca20e2b339ab1ad862274320ceced84693311dfc02652a83304d0beb263a59e8978fae65ad50bbb51eaac51988ab2a0105c50dafa9176caf1baa791506
73 -DIST wine-d3d9-2.19.tar.gz 48818 SHA256 54b5fbda45585304e65665e5b2da96a8dc30398c3f8ee12b77a613970b5af9f9 SHA512 be43435cd53f367ca57080c08218db302a90bf85ec6e917e89375904c456b585b61fb6053f9b4366b7e844f8246cabe83460a9866f614dbb5df3edfb43b2f54a WHIRLPOOL bec78732ad8b0036999c4e481e2d6f50d2ec4002590f15fbebab740bbddbc5069f77853993a122ccc03b24cf2b6c76b80117b000648a97fec09eba988c792f57
74 -DIST wine-d3d9-2.2.tar.gz 48387 SHA256 203ed60980ec584c09b413266728e3a93e2d980dbff9b4f65375a4e9744b5042 SHA512 6e9e031b51afc8ec200bbd252ff0d768c29af23907f782409834de593f896afb128f86fe012c95dc18e5f3c7267f170eb343d2a2c53d639933a337f0c1e04fab WHIRLPOOL 6b32c0dfd3068e87d94bbcd83718dd75a14b36d69b151e9257e04793d2d3ae78ce7da10b80cbc824ccefb6c11666241593f91963ddee6a58301f95bbde35285d
75 -DIST wine-d3d9-2.3.tar.gz 48510 SHA256 fc17488a782def19fc02bf967128ab43236db49509e31771361a60fa3d17dd60 SHA512 58449f6b7ed7fd8182e2cce92e1d1195bf64a567c1cc92fd3f46af195e7e4039c3b2a128be9d3572d9067be6c1bb020f417c6d558bb551c60096c107067177b8 WHIRLPOOL f648a921cf4cd257a3a7dfbd3abf45d58c07782f329ec11c3a1eff3afe32e8040adb351d4a60e1b1f78c7cae0379f23468764ad162a101179d0f5b0e2c6d9413
76 -DIST wine-d3d9-2.4.tar.gz 48502 SHA256 4c7084e733d95545b894b152b2c6c9564dfb8df594cfeb1512dad80743b39ae0 SHA512 623b1720b8cd79ab6ad2a177b9beb174f31e6fc402d6885fa2006223c855919c6f5d4267c64212ecf8cf1746430c9715c506343fb740828fc99910f916b10ebe WHIRLPOOL 9c0ea34dedc2e39ce36f1539a6d761ba07429b316a1f7fad49067eec5c28a5c60b33b3d2473cbf66b009d9772c1fb123414bfa201eb8df3e61f8efc38aa1f3fa
77 -DIST wine-d3d9-2.5.tar.gz 48692 SHA256 8b28c16701ec1cefab11d41d00954a92a5ced9a63f1ede81e96f247d2f498f94 SHA512 8b5ebec6341f70ec977aabee35decbe2d22fe43e111c1fd6015066a2b0e4fd259cd964fdb79306a489be4406078cb1e241d90ed636222174ed4abcc8026e7d03 WHIRLPOOL d5fcc5fbea4c4a4900235d33cb5de8f2a7cbf2b51b1a5c47d75ab765aa88ce1f8f81a61eefe0a742a55bb2ca210747b345589628fd1020430e4d962319b1c6fe
78 -DIST wine-d3d9-2.6.tar.gz 48702 SHA256 06ed18f2d5fff04613ea1401c37ad70e163135c159528745ff1063d617f31e2d SHA512 17df692df8ff3c1419258a3faf9ddacde67f185a797dce76cd07c07e6f4fa2040b981662d311329a80921c039bfba0da5fed3ee53f8c36e34eeaa92af1c7b755 WHIRLPOOL e614b4af0f3c92113617f533255fd67a4b322bdaf0939fb98e09bf77e3b0437cb2b813032e33300e45294a60d5c3586a302669c28c293e180c775666cddc2581
79 -DIST wine-d3d9-2.7.tar.gz 48708 SHA256 df6ed1e50d8af0624b8f4f658705f75102094f6e17fec53ec8461991ce5dca2a SHA512 d258e81a942f905255a637aa80dd647878691caa79adc52fd79f66ce1320d42d7d36ea776876d6a26a2c711a168da4c64f27fa8744ca6d8318c5526f8a8af75a WHIRLPOOL 2d62cab5e3b14eaf29ecc96ac97555f48845a78c751040a850750d3b19fbc64efb3f3589dd3475a03cb1e3dff3e200528dabd2952b1ee8d0520a5db0d7db154b
80 -DIST wine-d3d9-2.8.tar.gz 48700 SHA256 c67de9fee6e97859896aa2326fbc245e8b0f7393a1c6341126607b03afebc964 SHA512 bb933b51d0022ce616331f2550faedeff3058007525b4519833b925c57999ab08b08380b8967d48ad7c56458e812342428388a5eac2ed8fcdd8cfbfee74a8e8c WHIRLPOOL 52c8538e3f4b3be3412ee544efebae69c3de781255e12298d544f47523aba3afaadbffa8dedc463c207b0ae8a0a92599beca17017f266648b9b229847990ae2e
81 -DIST wine-d3d9-2.9.tar.gz 48693 SHA256 32b847adf74c293e858800248aa1b164688f98cde89ca4d2cd0808fae7f94340 SHA512 89d06587481f7702b6884c83627a27c7b38a078e2b333bea2612a58840695211c19ab4ca02669c983580f95ae42ef114020f6b6bbb1a17d72449c0ed2212dc49 WHIRLPOOL e32b261f6e87580eec2c2ee57848b08b2487d1f280b8b257403e0722ec1b44cb31dcb240d89757599be2c3c6d958c48f92510bc625e5c05fc08116d13c303168
82 -DIST wine-staging-2.0.tar.gz 10182575 SHA256 22a43cb50c1fff9c6f233a965247056e3321533aa73a6419aa34a22de7180039 SHA512 51412299259d6e92c8993543d5fdb3239ebe31e0d1d715e0a9e8ce94b3139c0567b08ff1600d41be94f12427cbfccc2f6b6b2ed030535445c95618aaf6578580 WHIRLPOOL 9879174bc3a7c8ece156c822b7a7b870908e51335702a78e6f04ea1496125a2018a879bfc53d1302e4825138d22af526308ba7f656d683a535be44d4515f1bac
83 -DIST wine-staging-2.1.tar.gz 10101781 SHA256 1d193be2734ea495df2cae1dc54ce89204ca68699979174b0bd726d2e5e0576b SHA512 c64c48b265f0779c621a643ddbd2d12aaa548e4bff3b2b728280cdb9613214989911ee8ba5e46c7770f5f6430014a5da1c98e95d5008c1174bd14bf9ce5250db WHIRLPOOL ecf970ef436089bbcd0088e1608b22e808d54560e905c7d8046b3e21508166a595c3ef7b69819c45e4b13183bd9134a2bd7016d29c4da52985701d392eb35a0a
84 -DIST wine-staging-2.10.tar.gz 10091114 SHA256 b361ec92b2e40de983b987f6564dbb75dcb121c6e2f0123fe1ae234fd81a591b SHA512 c3bf7027ddfd1405263cce844a7cbeb923e9de56cffdb296384449c0cc600b3c9a37c7fe09b62fb9ae0b47f97a2d4f208cc589f0e4205fa84ce5d112953ac2e7 WHIRLPOOL 01c5436179bcbd29ee0468f2f4d839ba805c064d80835fcd1d5e6eba562881c65ac576657a733c726ccf4b37473da6724ae06ebc023fb988d8810ed1f8096c6b
85 -DIST wine-staging-2.11.tar.gz 10083147 SHA256 45c40fbca76cab987e7adfe47fc8e24692f896805c8a6dc6030da28e3bd842bc SHA512 e2d05ee88e1cc932c2890f1db867a9382f2c62a00ea7d63fc6bd7b3fab57ea2f0e4908313cbed08b92e48d5bc17753b0b78f6cdf2cb64e81aa5725fd86cbc695 WHIRLPOOL e2d13ed7d258b1ee442c8c87f852c1564ce5f262bd7cd31710b975882ab8cb454a1e2ec308c6c17e5bd0a691b0492fdea22a182323cb963c055592ce538db690
86 -DIST wine-staging-2.12.tar.gz 10105899 SHA256 0f186d2268011c12094ecac8747378ad8f4ee7152e8854cb00496ba9565b7974 SHA512 a8c21c923153a42609e3ea9065b84208b01f3b14d55b7e68e548ebf6d27df956051b29dc2f053aec6287422c13eed5b6ec71e667ae6f46b1c80ae7c84a51b648 WHIRLPOOL 01cf39fa257e9975cfd16976e680117dac3d0ea3f9bc41e2d0a636023bd4afba0676587e41c55d4417cff97080b90eb11b3fe475970eec70be64f5c788c1cf88
87 -DIST wine-staging-2.13.tar.gz 10137549 SHA256 0796440ebfa2aa651051e7081cc64f83774f966f26353876e024e42c59e24b46 SHA512 86077747d8a4f6e56dc1b0dda1688810defa9bcebaaadbf2419ce56e4590d4249881105e1dda24236f861baf0b1cc42019b2538de5d24a6d3c4f27c7a8248086 WHIRLPOOL e0c147519fde14f74031fcb7ba154c39583a9c817460d21ec50fdae40039136d46b8cc0ce9a8fb558ddbf8b62c6f0a572ad04a887c47046c0e921e6f08c4b44d
88 -DIST wine-staging-2.14.tar.gz 10179829 SHA256 cd4c8e400a808cbfa5c5cf088ea874c761d09db897f25bc33eab840101020b19 SHA512 1e794f77309e94612f822b72872ac2726e37d219a40c4a45feb2fb56f4413c34eae966a4ae8708d502c837cd47db22979e9a05cb73b681703cd729f701cdb210 WHIRLPOOL 63f9ff9cd4d54d6ff91997a904e7cd612bb8bca905399e9c6950b274cd8218c0c04a40dca9f4e12180e1080f1631bfec38e3633fcd457e688e8f8883661a4e59
89 -DIST wine-staging-2.15.tar.gz 10190900 SHA256 f2b5c43fbc185a6fd6399f4c351b83a172737977b2ebb1cbdeddd1838d044bc2 SHA512 75d64d103839da2daed6e5b2400185c0a5274d0e50b675283bbadff70cafe712e573701207d80c8e8af7f68d1d273efec3c0d705dc982c74b8574929daadecfa WHIRLPOOL 13239aa636fc102fb374ab8724b7dbce8e9b95f16797a4f5faf8a5e7789d60e6b485c7495ccef4568edbbb0549d657a6758642de2e98b449b0ced2725136e444
90 -DIST wine-staging-2.16.tar.gz 10220855 SHA256 da0ef4b0eafe9cd1b9cf26a5b950088adf1308e17a0d6f4ae62516b6ee64248e SHA512 96585caf77569a31f516aefe230a8907ef91db29759f75075593b751985f294bf292a1c146d287a3f0859a6b6273560670c4bc734ef0fbecb0809574eb3f09ba WHIRLPOOL 66128c8d59593243e95d6765b9fd8ace59e85e365a5e8a41eeb17d370464005aef060ddf3d862d0a3638048fd92189860e69a3cbf7d24d3ce1e420200d4b3cf5
91 +DIST wine-d3d9-2.19.tar.gz 48818 BLAKE2B b053ee0ad798a7d8ad53b3daff1757caaa52f095435f2fb89893c7313d490a2359217a5638529e918a1446f13533a746836c1c22218cba875a1420816618408a SHA512 be43435cd53f367ca57080c08218db302a90bf85ec6e917e89375904c456b585b61fb6053f9b4366b7e844f8246cabe83460a9866f614dbb5df3edfb43b2f54a
92 DIST wine-staging-2.17.tar.gz 10211107 SHA256 f511bf3438dc418b4f667513bf1ae419255e4ee62229e9205c0c64b047222183 SHA512 b652f6a852a1382c1b8275e172b7ac7608749c34aef5c0c5387cf262bf0da8db67a77ce397d49e53f3e2a8f210a3dbea1a9b3f3feb15c7d5bad8952b6fb7b53c WHIRLPOOL c45dc5fc91bc774f9f28bb06dff959391829fafac398bef198755395afe5a65bb2d32ba3ce157607a6040481955926866ed8f0760850bfca821be8599f4d7b64
93 DIST wine-staging-2.18.tar.gz 10243957 SHA256 69c75d3ca17b1c3617cd0934a9e9ad6fca37c6679900d2cb63f6981aa1026cc8 SHA512 fe18b53d4160596d134ceed392f6459e9c183381f4712add43d8422e77d7d5d89ff34a3bb3afbd7740f250d85dfda0f3501e9600a41270790ae02138ed6d7dc7 WHIRLPOOL 2dc1429a7a4f13ee01b1317f1937ef7ec6b42c3cfdd78ff78bb8273e1056751edb2ac119904ba48ab645b430f269a9361a6d42bcbb5dfb46bd15a129569d3194
94 -DIST wine-staging-2.19.tar.gz 10241240 SHA256 2fdb083a484708362433000f92b54a5d648df190b2ab084647c45f5624063bd2 SHA512 90916cb096bbfec35514eff4c1b6e2090b6e68e3e7af1164715f5abb1d255c5cfd6411f53c27cb277adcf0982fa6d6e508a7cdbc1404dcca6c2700b05c2c5483 WHIRLPOOL 3ed1a5d39d0ec186538e04ca09e4fa2729f356385523177b753e7c7183416f666f336bec7d4b606f29266cd227cf5e72f707c79adf510bc3899adb76ce3df84f
95 -DIST wine-staging-2.2.tar.gz 10078327 SHA256 9d3cbf7e5f12c623d275457b910a158e0b176fcf50c09a5f8425864de604bc1d SHA512 8ad3f8ba4c6439a9ec4884a55018a67c9e2c2384830074646aac7b70cb9f4f5a20f760247ab42dc3d2f697cdac7ea5322be8ed12c435cb0bc185ac08fdd4dd91 WHIRLPOOL a34c19aaace64307de56d935cb0cef17d7c066c39b83c51e70ea76a20083f928bea55fe38d62b7a8250b0a9e8f00e0d2b744f43fcab433069ffb96625d955303
96 -DIST wine-staging-2.3.tar.gz 10071742 SHA256 9a81be606836fab6203857f7937ff97575947f75d52c80fb5489418efb8b87e1 SHA512 8e8af1e36cc69c63ec3542f0ec4db18b6d8c16b5c9077eb211297f3a886519da71bcf72934bf8d6d72e44c7c9f765e1d00203d0d75cab8544f69f9b0c10a7133 WHIRLPOOL 50738a6e20890748d7eb01152244d34b259759f61b3587ba39815dc066fc8e2b66ce182e1ddbc912f50076a3599aa060ec6a94eeaab4513ce3a776711929b9b1
97 -DIST wine-staging-2.4.tar.gz 10067020 SHA256 709cab12c0ebf7cf9504fd4a67eb851272309e00066ad81f184b0f55c63e9deb SHA512 55d11851697836b582ba54696cadc812ef6b14872440f5c3ed6fbe30a05abcb8abe2ab31a11ea4daeb354854c7c0e6549401d4b26b26621808bdeb89aeb206f9 WHIRLPOOL 8d344b7e6e89322c8dbbe6fd211851c90a45a33b514c182609cc60dc21939f791abc71d8665cd66e5c5161f159fe24c4772b99405833e3d11985a644e1335eaf
98 -DIST wine-staging-2.5.tar.gz 10062025 SHA256 b5cf6fa38151ff47ab6d725077693b02b37bb07b2ab7fda55290bb1f63ac54ad SHA512 6ab981886776f624c6478230aad18870f55b7252f1c6df90bfe1a248f7ea76cbb181f8e0780fdd4bb5e3c589a785baa7cf126a2c838adf65db2a67f873ed1698 WHIRLPOOL 7045b1642a3b14e5a507854cb8bf910c7cfb3c64ada4ee3534175c75b03cd604206617a55fb870e47fb248a4db8a9ca2abc0b4688005c1c0de0d542fec8cbc57
99 -DIST wine-staging-2.6.tar.gz 10034709 SHA256 ff86ddcceb7f6857bd415db3842ddf216a5cb301452e2a08053a9378cbf5580a SHA512 dc199b5345985d261b708ac811b02253ab9fbc4966889f2382ce518d991fe43b7c771c1d56d055c6234c9329d5c571cd9cf0b16587b77124b9c46917ddd066d2 WHIRLPOOL 375f484c6c50645c605994eb08c38c649ca6c8b47430e2f2f285a63fc24eca81588d0496a8c32074f90e4ea8f4330f76854bf8874f042e27581a7eee19aedf98
100 -DIST wine-staging-2.7.tar.gz 10018082 SHA256 3095f9c634f00b143c2407dce8c3f29c629ec95074cf14c8e8dc2e0cdba45b6d SHA512 0abc89af701ae1b95c0eb08e72894c7bc40bdfe792e05b8af9282eab8407bb90b7dfcd4eb3a193a88759ce5d6ea6c2aa9696cac2d744f543c92529bb0d2636ee WHIRLPOOL 6cc666f702ef1bd574ede54a7f6755e07d768c9fa549b9bdb9b5416288619347e0c1b9c70893b6300800d8e6c94e8d2396937f639d1e821945ba9fe144b32c95
101 -DIST wine-staging-2.8.tar.gz 10043842 SHA256 8680614be6c3b01c7c577eb6924fc05cc3de92394384939dd5b2e12e08235fff SHA512 af1707fe3119664a0d97d94fc4c955612d80cb76eae8c4248a268c0f6be9e659fccf7c26899c9e9ae5822f74474c0db5283b598dd4d9d69a3b108f947653217a WHIRLPOOL 7e9aa61a7666404475abb442304e63c76c2e6df26479711b7c08ebe7c15b9b53017e7a1d2dca4f9f8aeba78290df03f06076c99ac06c30d5ed893cfc3842107a
102 -DIST wine-staging-2.9.tar.gz 10062408 SHA256 cde0895142c0ca0be5b532560ec0546d6e4f655615572d80cfcce663f92c57f6 SHA512 7862a403817791c54c5c1b8f233b06a850500305c46283bccb9026fb6db041a8fba619d145ab21fe2fdc5f25ed3bbb75fde05245fbbbd67139a5f64b547b1196 WHIRLPOOL 52c0b9065cfa54f6b86b74f9a98c9d232e3a88aa9d61d06c6e01044122fab8b01a567e99f93014042031e9eb991fd9234c4a02ebe3d2aa8c042e5e769269095c
103 +DIST wine-staging-2.19.tar.gz 10241240 BLAKE2B e661e3272328988e9a1aacc22fc02f0773804b58777f208c79c6af866032f31b6140a52e2aa5af954e52437db234712863d1369e960e98e2c212d1efc7f6344f SHA512 90916cb096bbfec35514eff4c1b6e2090b6e68e3e7af1164715f5abb1d255c5cfd6411f53c27cb277adcf0982fa6d6e508a7cdbc1404dcca6c2700b05c2c5483
104
105 diff --git a/app-emulation/wine-any/wine-any-2.0-r1.ebuild b/app-emulation/wine-any/wine-any-2.0-r1.ebuild
106 deleted file mode 100644
107 index 071651762ed..00000000000
108 --- a/app-emulation/wine-any/wine-any-2.0-r1.ebuild
109 +++ /dev/null
110 @@ -1,636 +0,0 @@
111 -# Copyright 1999-2017 Gentoo Foundation
112 -# Distributed under the terms of the GNU General Public License v2
113 -
114 -EAPI=6
115 -
116 -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"
117 -PLOCALE_BACKUP="en"
118 -
119 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
120 -
121 -MY_PN="${PN%%-*}"
122 -MY_P="${MY_PN}-${PV}"
123 -
124 -if [[ ${PV} == "9999" ]] ; then
125 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
126 - EGIT_BRANCH="master"
127 - inherit git-r3
128 - SRC_URI=""
129 - #KEYWORDS=""
130 -else
131 - MAJOR_V=$(get_version_component_range 1)
132 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.bz2"
133 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
134 -fi
135 -S="${WORKDIR}/${MY_P}"
136 -
137 -STAGING_P="wine-staging-${PV}"
138 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
139 -D3D9_P="wine-d3d9-${PV}"
140 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
141 -GWP_V="20170830"
142 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
143 -
144 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
145 -HOMEPAGE="https://www.winehq.org/"
146 -SRC_URI="${SRC_URI}
147 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
148 -"
149 -
150 -if [[ ${PV} == "9999" ]] ; then
151 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
152 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
153 -else
154 - SRC_URI="${SRC_URI}
155 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
156 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
157 -fi
158 -
159 -LICENSE="LGPL-2.1"
160 -SLOT="${PV}"
161 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
162 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
163 - X? ( truetype )
164 - elibc_glibc? ( threads )
165 - osmesa? ( opengl )
166 - pipelight? ( staging )
167 - s3tc? ( staging )
168 - test? ( abi_x86_32 )
169 - themes? ( staging )
170 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
171 -
172 -# FIXME: the test suite is unsuitable for us; many tests require net access
173 -# or fail due to Xvfb's opengl limitations.
174 -RESTRICT="test"
175 -
176 -COMMON_DEPEND="
177 - X? (
178 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
179 - x11-libs/libXext[${MULTILIB_USEDEP}]
180 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
181 - x11-libs/libXi[${MULTILIB_USEDEP}]
182 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
183 - )
184 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
185 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
186 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
187 - d3d9? (
188 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
189 - x11-libs/libX11[${MULTILIB_USEDEP}]
190 - x11-libs/libXext[${MULTILIB_USEDEP}]
191 - x11-libs/libxcb[${MULTILIB_USEDEP}]
192 - )
193 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
194 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
195 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
196 - gstreamer? (
197 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
198 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
199 - )
200 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
201 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
202 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
203 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
204 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
205 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
206 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
207 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
208 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
209 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
210 - opengl? (
211 - virtual/glu[${MULTILIB_USEDEP}]
212 - virtual/opengl[${MULTILIB_USEDEP}]
213 - )
214 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
215 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
216 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
217 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
218 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
219 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
220 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
221 - themes? (
222 - dev-libs/glib:2[${MULTILIB_USEDEP}]
223 - x11-libs/cairo[${MULTILIB_USEDEP}]
224 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
225 - )
226 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
227 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
228 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
229 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
230 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
231 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
232 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
233 - xml? (
234 - dev-libs/libxml2[${MULTILIB_USEDEP}]
235 - dev-libs/libxslt[${MULTILIB_USEDEP}]
236 - )
237 - abi_x86_32? (
238 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
239 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
240 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
241 - !<app-emulation/emul-linux-x86-db-20140508-r3
242 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
243 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
244 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
245 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
246 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
247 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
248 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
249 - !<app-emulation/emul-linux-x86-soundlibs-20140508
250 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
251 - !<app-emulation/emul-linux-x86-xlibs-20140508
252 - )"
253 -
254 -RDEPEND="${COMMON_DEPEND}
255 - app-emulation/wine-desktop-common
256 - >app-eselect/eselect-wine-0.3
257 - !app-emulation/wine:0
258 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
259 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
260 - mono? ( app-emulation/wine-mono:4.6.4 )
261 - perl? (
262 - dev-lang/perl
263 - dev-perl/XML-Simple
264 - )
265 - pulseaudio? (
266 - realtime? ( sys-auth/rtkit )
267 - )
268 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
269 - samba? ( >=net-fs/samba-3.0.25[winbind] )
270 - selinux? ( sec-policy/selinux-wine )
271 - udisks? ( sys-fs/udisks:2 )"
272 -
273 -# tools/make_requests requires perl
274 -DEPEND="${COMMON_DEPEND}
275 - sys-devel/flex
276 - >=sys-kernel/linux-headers-2.6
277 - virtual/pkgconfig
278 - virtual/yacc
279 - X? (
280 - x11-proto/inputproto
281 - x11-proto/xextproto
282 - x11-proto/xf86vidmodeproto
283 - )
284 - prelink? ( sys-devel/prelink )
285 - staging? (
286 - dev-lang/perl
287 - dev-perl/XML-Simple
288 - )
289 - xinerama? ( x11-proto/xineramaproto )"
290 -
291 -# These use a non-standard "Wine" category, which is provided by
292 -# /etc/xdg/applications-merged/wine.menu
293 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
294 -usr/share/applications/wine-notepad.desktop
295 -usr/share/applications/wine-uninstaller.desktop
296 -usr/share/applications/wine-winecfg.desktop"
297 -
298 -PATCHES=(
299 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
300 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
301 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
302 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
303 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
304 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
305 -)
306 -PATCHES_BIN=(
307 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
308 -)
309 -
310 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
311 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
312 - DEPEND+=" dev-util/patchbin"
313 -fi
314 -
315 -wine_compiler_check() {
316 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
317 -
318 - # GCC-specific bugs
319 - if tc-is-gcc; then
320 - # bug #549768
321 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
322 - ebegin "Checking for gcc-5 ms_abi compiler bug"
323 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
324 - # Run in subshell to prevent "Aborted" message
325 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
326 - if ! eend $?; then
327 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
328 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
329 - eerror "or use gcc-config to select a different compiler version."
330 - eerror "See https://bugs.gentoo.org/549768"
331 - eerror
332 - return 1
333 - fi
334 - fi
335 - # bug #574044
336 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
337 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
338 - # Compile in subshell to prevent "Aborted" message
339 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
340 - if ! eend $?; then
341 - eerror "Wine cannot be built with this version of gcc-5.3"
342 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
343 - eerror "or use gcc-config to select a different compiler version."
344 - eerror "See https://bugs.gentoo.org/574044"
345 - eerror
346 - return 1
347 - fi
348 - fi
349 - fi
350 -
351 - # Ensure compiler support
352 - if use abi_x86_64; then
353 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
354 - # Compile in subshell to prevent "Aborted" message
355 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
356 - if ! eend $?; then
357 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
358 - eerror
359 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
360 - eerror
361 - return 1
362 - fi
363 - fi
364 -}
365 -
366 -wine_build_environment_check() {
367 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
368 -
369 - if use abi_x86_64; then
370 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
371 - eerror "You need gcc-4.4+ to compile 64-bit wine"
372 - die
373 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
374 - eerror "You need clang-3.8+ to compile 64-bit wine"
375 - die
376 - fi
377 - fi
378 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
379 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
380 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
381 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
382 - fi
383 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
384 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
385 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
386 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
387 - ewarn "See package.env in man 5 portage for more information on how to do this."
388 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
389 - fi
390 - fi
391 -
392 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
393 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
394 - eerror "See https://bugs.gentoo.org/487864 for more details."
395 - eerror
396 - return 1
397 - fi
398 -}
399 -
400 -wine_env_vcs_vars() {
401 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
402 - local pn_live_val="${pn_live_var}"
403 - eval pn_live_val='$'${pn_live_val}
404 - if [[ ! -z ${pn_live_val} ]]; then
405 - if use staging || use d3d9; then
406 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
407 - eerror "cannot be used to set the commit. Instead, you may use the"
408 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
409 - eerror
410 - return 1
411 - fi
412 - fi
413 - if [[ ! -z ${EGIT_COMMIT} ]]; then
414 - eerror "Commits must now be specified using the environmental variables"
415 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
416 - eerror
417 - return 1
418 - fi
419 -}
420 -
421 -pkg_pretend() {
422 - wine_build_environment_check || die
423 -
424 - # Verify OSS support
425 - if use oss && ! use kernel_FreeBSD; then
426 - if ! has_version ">=media-sound/oss-4"; then
427 - eerror "You cannot build wine with USE=oss without having support from a"
428 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
429 - eerror
430 - die
431 - fi
432 - fi
433 -}
434 -
435 -pkg_setup() {
436 - wine_build_environment_check || die
437 - wine_env_vcs_vars || die
438 -
439 - WINE_VARIANT="${PN#wine}-${PV}"
440 - WINE_VARIANT="${WINE_VARIANT#-}"
441 -
442 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
443 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
444 - MY_DATADIR="${MY_DATAROOTDIR}"
445 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
446 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
447 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
448 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
449 - MY_MANDIR="${MY_DATADIR}/man"
450 -}
451 -
452 -src_unpack() {
453 - if [[ ${PV} == "9999" ]] ; then
454 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
455 - if use staging; then
456 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
457 -
458 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
459 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
460 -
461 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
462 -
463 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
464 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
465 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
466 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
467 - fi
468 - fi
469 - if use d3d9; then
470 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
471 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
472 - fi
473 - fi
474 -
475 - default
476 -
477 - l10n_find_plocales_changes "${S}/po" "" ".po"
478 -}
479 -
480 -src_prepare() {
481 -
482 - eapply_bin(){
483 - local patch
484 - for patch in ${PATCHES_BIN[@]}; do
485 - patchbin --nogit < "${patch}" || die
486 - done
487 - }
488 -
489 - local md5="$(md5sum server/protocol.def)"
490 -
491 - if use staging; then
492 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
493 - ewarn "Wine bugzilla should explicitly state that staging was used."
494 -
495 - local STAGING_EXCLUDE=""
496 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
497 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
498 -
499 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
500 - ebegin "Running Wine-Staging patch installer"
501 - (
502 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
503 - cd "${STAGING_DIR}/patches"
504 - source "${STAGING_DIR}/patches/patchinstall.sh"
505 - )
506 - eend $? || die "Failed to apply Wine-Staging patches"
507 - fi
508 - if use d3d9; then
509 - if use staging; then
510 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
511 - else
512 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
513 - fi
514 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
515 - fi
516 -
517 - default
518 - eapply_bin
519 - eautoreconf
520 -
521 - # Modification of the server protocol requires regenerating the server requests
522 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
523 - einfo "server/protocol.def was patched; running tools/make_requests"
524 - tools/make_requests || die #432348
525 - fi
526 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
527 - if ! use run-exes; then
528 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
529 - fi
530 -
531 - # Edit wine.desktop to work for specific variant
532 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
533 -
534 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
535 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
536 -
537 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
538 -}
539 -
540 -src_configure() {
541 - wine_compiler_check || die
542 -
543 - export LDCONFIG=/bin/true
544 - use custom-cflags || strip-flags
545 -
546 - multilib-minimal_src_configure
547 -}
548 -
549 -multilib_src_configure() {
550 - local myconf=(
551 - --prefix="${MY_PREFIX}"
552 - --datarootdir="${MY_DATAROOTDIR}"
553 - --datadir="${MY_DATADIR}"
554 - --docdir="${MY_DOCDIR}"
555 - --includedir="${MY_INCLUDEDIR}"
556 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
557 - --libexecdir="${MY_LIBEXECDIR}"
558 - --localstatedir="${MY_LOCALSTATEDIR}"
559 - --mandir="${MY_MANDIR}"
560 - --sysconfdir=/etc/wine
561 - $(use_with alsa)
562 - $(use_with capi)
563 - $(use_with lcms cms)
564 - $(use_with cups)
565 - $(use_with ncurses curses)
566 - $(use_with udisks dbus)
567 - $(use_with fontconfig)
568 - $(use_with ssl gnutls)
569 - $(use_enable gecko mshtml)
570 - $(use_with gphoto2 gphoto)
571 - $(use_with gsm)
572 - $(use_with gstreamer)
573 - --without-hal
574 - $(use_with jpeg)
575 - $(use_with ldap)
576 - $(use_enable mono mscoree)
577 - $(use_with mp3 mpg123)
578 - $(use_with netapi)
579 - $(use_with nls gettext)
580 - $(use_with openal)
581 - $(use_with opencl)
582 - $(use_with opengl)
583 - $(use_with osmesa)
584 - $(use_with oss)
585 - $(use_with pcap)
586 - $(use_with png)
587 - $(use_with pulseaudio pulse)
588 - $(use_with threads pthread)
589 - $(use_with scanner sane)
590 - $(use_enable test tests)
591 - $(use_with truetype freetype)
592 - $(use_with udev)
593 - $(use_with v4l)
594 - $(use_with X x)
595 - $(use_with xcomposite)
596 - $(use_with xinerama)
597 - $(use_with xml)
598 - $(use_with xml xslt)
599 - )
600 -
601 - use staging && myconf+=(
602 - --with-xattr
603 - $(use_with themes gtk3)
604 - $(use_with vaapi va)
605 - )
606 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
607 -
608 - local PKG_CONFIG AR RANLIB
609 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
610 - # set AR and RANLIB to make QA scripts happy; #483342
611 - tc-export PKG_CONFIG AR RANLIB
612 -
613 - if use amd64; then
614 - if [[ ${ABI} == amd64 ]]; then
615 - myconf+=( --enable-win64 )
616 - else
617 - myconf+=( --disable-win64 )
618 - fi
619 -
620 - # Note: using --with-wine64 results in problems with multilib.eclass
621 - # CC/LD hackery. We're using separate tools instead.
622 - fi
623 -
624 - ECONF_SOURCE=${S} \
625 - econf "${myconf[@]}"
626 - emake depend
627 -}
628 -
629 -multilib_src_test() {
630 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
631 - if [[ ${ABI} == x86 ]]; then
632 - if [[ $(id -u) == 0 ]]; then
633 - ewarn "Skipping tests since they cannot be run under the root user."
634 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
635 - return
636 - fi
637 -
638 - WINEPREFIX="${T}/.wine-${ABI}" \
639 - Xemake test
640 - fi
641 -}
642 -
643 -multilib_src_install_all() {
644 - local DOCS=( ANNOUNCE AUTHORS README )
645 - add_locale_docs() {
646 - local locale_doc="documentation/README.$1"
647 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
648 - }
649 - l10n_for_each_locale_do add_locale_docs
650 -
651 - einstalldocs
652 - prune_libtool_files --all
653 -
654 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
655 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
656 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
657 - fi
658 -
659 - # Remove wineconsole if neither backend is installed #551124
660 - if ! use X && ! use ncurses; then
661 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
662 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
663 - rm_wineconsole() {
664 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
665 - }
666 - multilib_foreach_abi rm_wineconsole
667 - fi
668 -
669 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
670 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
671 -
672 - if use abi_x86_64 && ! use abi_x86_32; then
673 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
674 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
675 - fi
676 -
677 - # Failglob for bin and man loops
678 - local glob_state=$(shopt -p failglob)
679 - shopt -s failglob
680 -
681 - # Make wrappers for binaries for handling multiple variants
682 - # Note: wrappers instead of symlinks because some are shell which use basename
683 - local b
684 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
685 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
686 - done
687 -
688 - # respect LINGUAS when installing man pages, #469418
689 - local l
690 - for l in de fr pl; do
691 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
692 - done
693 -
694 - eval "${glob_state}"
695 -}
696 -
697 -pkg_postinst() {
698 - eselect wine register ${P}
699 - if [[ ${PN} == "wine-vanilla" ]]; then
700 - eselect wine register --vanilla ${P} || die
701 - else
702 - if use staging; then
703 - eselect wine register --staging ${P} || die
704 - fi
705 - if use d3d9; then
706 - eselect wine register --d3d9 ${P} || die
707 - fi
708 - fi
709 -
710 - eselect wine update --all --if-unset || die
711 -
712 - xdg_desktop_database_update
713 -
714 - if ! use gecko; then
715 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
716 - ewarn "implementation of iexplore. Many older windows applications"
717 - ewarn "rely upon the existence of an iexplore implementation, so"
718 - ewarn "you will likely need to install an external one, like via winetricks"
719 - fi
720 - if ! use mono; then
721 - ewarn "Without Wine Mono, wine prefixes will not have a default"
722 - ewarn "implementation of .NET. Many windows applications rely upon"
723 - ewarn "the existence of a .NET implementation, so you will likely need"
724 - ewarn "to install an external one, like via winetricks"
725 - fi
726 -}
727 -
728 -pkg_prerm() {
729 - eselect wine deregister ${P}
730 - if [[ ${PN} == "wine-vanilla" ]]; then
731 - eselect wine deregister --vanilla ${P} || die
732 - else
733 - if use staging; then
734 - eselect wine deregister --staging ${P} || die
735 - fi
736 - if use d3d9; then
737 - eselect wine deregister --d3d9 ${P} || die
738 - fi
739 - fi
740 -
741 - eselect wine update --all --if-unset || die
742 -}
743 -
744 -pkg_postrm() {
745 - xdg_desktop_database_update
746 -}
747
748 diff --git a/app-emulation/wine-any/wine-any-2.1-r1.ebuild b/app-emulation/wine-any/wine-any-2.1-r1.ebuild
749 deleted file mode 100644
750 index 046c4b34f30..00000000000
751 --- a/app-emulation/wine-any/wine-any-2.1-r1.ebuild
752 +++ /dev/null
753 @@ -1,636 +0,0 @@
754 -# Copyright 1999-2017 Gentoo Foundation
755 -# Distributed under the terms of the GNU General Public License v2
756 -
757 -EAPI=6
758 -
759 -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"
760 -PLOCALE_BACKUP="en"
761 -
762 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
763 -
764 -MY_PN="${PN%%-*}"
765 -MY_P="${MY_PN}-${PV}"
766 -
767 -if [[ ${PV} == "9999" ]] ; then
768 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
769 - EGIT_BRANCH="master"
770 - inherit git-r3
771 - SRC_URI=""
772 - #KEYWORDS=""
773 -else
774 - MAJOR_V=$(get_version_component_range 1)
775 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
776 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
777 -fi
778 -S="${WORKDIR}/${MY_P}"
779 -
780 -STAGING_P="wine-staging-${PV}"
781 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
782 -D3D9_P="wine-d3d9-${PV}"
783 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
784 -GWP_V="20170830"
785 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
786 -
787 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
788 -HOMEPAGE="https://www.winehq.org/"
789 -SRC_URI="${SRC_URI}
790 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
791 -"
792 -
793 -if [[ ${PV} == "9999" ]] ; then
794 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
795 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
796 -else
797 - SRC_URI="${SRC_URI}
798 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
799 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
800 -fi
801 -
802 -LICENSE="LGPL-2.1"
803 -SLOT="${PV}"
804 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
805 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
806 - X? ( truetype )
807 - elibc_glibc? ( threads )
808 - osmesa? ( opengl )
809 - pipelight? ( staging )
810 - s3tc? ( staging )
811 - test? ( abi_x86_32 )
812 - themes? ( staging )
813 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
814 -
815 -# FIXME: the test suite is unsuitable for us; many tests require net access
816 -# or fail due to Xvfb's opengl limitations.
817 -RESTRICT="test"
818 -
819 -COMMON_DEPEND="
820 - X? (
821 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
822 - x11-libs/libXext[${MULTILIB_USEDEP}]
823 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
824 - x11-libs/libXi[${MULTILIB_USEDEP}]
825 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
826 - )
827 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
828 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
829 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
830 - d3d9? (
831 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
832 - x11-libs/libX11[${MULTILIB_USEDEP}]
833 - x11-libs/libXext[${MULTILIB_USEDEP}]
834 - x11-libs/libxcb[${MULTILIB_USEDEP}]
835 - )
836 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
837 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
838 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
839 - gstreamer? (
840 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
841 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
842 - )
843 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
844 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
845 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
846 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
847 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
848 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
849 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
850 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
851 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
852 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
853 - opengl? (
854 - virtual/glu[${MULTILIB_USEDEP}]
855 - virtual/opengl[${MULTILIB_USEDEP}]
856 - )
857 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
858 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
859 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
860 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
861 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
862 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
863 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
864 - themes? (
865 - dev-libs/glib:2[${MULTILIB_USEDEP}]
866 - x11-libs/cairo[${MULTILIB_USEDEP}]
867 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
868 - )
869 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
870 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
871 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
872 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
873 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
874 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
875 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
876 - xml? (
877 - dev-libs/libxml2[${MULTILIB_USEDEP}]
878 - dev-libs/libxslt[${MULTILIB_USEDEP}]
879 - )
880 - abi_x86_32? (
881 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
882 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
883 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
884 - !<app-emulation/emul-linux-x86-db-20140508-r3
885 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
886 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
887 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
888 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
889 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
890 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
891 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
892 - !<app-emulation/emul-linux-x86-soundlibs-20140508
893 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
894 - !<app-emulation/emul-linux-x86-xlibs-20140508
895 - )"
896 -
897 -RDEPEND="${COMMON_DEPEND}
898 - app-emulation/wine-desktop-common
899 - >app-eselect/eselect-wine-0.3
900 - !app-emulation/wine:0
901 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
902 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
903 - mono? ( app-emulation/wine-mono:4.6.4 )
904 - perl? (
905 - dev-lang/perl
906 - dev-perl/XML-Simple
907 - )
908 - pulseaudio? (
909 - realtime? ( sys-auth/rtkit )
910 - )
911 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
912 - samba? ( >=net-fs/samba-3.0.25[winbind] )
913 - selinux? ( sec-policy/selinux-wine )
914 - udisks? ( sys-fs/udisks:2 )"
915 -
916 -# tools/make_requests requires perl
917 -DEPEND="${COMMON_DEPEND}
918 - sys-devel/flex
919 - >=sys-kernel/linux-headers-2.6
920 - virtual/pkgconfig
921 - virtual/yacc
922 - X? (
923 - x11-proto/inputproto
924 - x11-proto/xextproto
925 - x11-proto/xf86vidmodeproto
926 - )
927 - prelink? ( sys-devel/prelink )
928 - staging? (
929 - dev-lang/perl
930 - dev-perl/XML-Simple
931 - )
932 - xinerama? ( x11-proto/xineramaproto )"
933 -
934 -# These use a non-standard "Wine" category, which is provided by
935 -# /etc/xdg/applications-merged/wine.menu
936 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
937 -usr/share/applications/wine-notepad.desktop
938 -usr/share/applications/wine-uninstaller.desktop
939 -usr/share/applications/wine-winecfg.desktop"
940 -
941 -PATCHES=(
942 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
943 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
944 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
945 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
946 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
947 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
948 -)
949 -PATCHES_BIN=(
950 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
951 -)
952 -
953 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
954 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
955 - DEPEND+=" dev-util/patchbin"
956 -fi
957 -
958 -wine_compiler_check() {
959 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
960 -
961 - # GCC-specific bugs
962 - if tc-is-gcc; then
963 - # bug #549768
964 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
965 - ebegin "Checking for gcc-5 ms_abi compiler bug"
966 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
967 - # Run in subshell to prevent "Aborted" message
968 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
969 - if ! eend $?; then
970 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
971 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
972 - eerror "or use gcc-config to select a different compiler version."
973 - eerror "See https://bugs.gentoo.org/549768"
974 - eerror
975 - return 1
976 - fi
977 - fi
978 - # bug #574044
979 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
980 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
981 - # Compile in subshell to prevent "Aborted" message
982 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
983 - if ! eend $?; then
984 - eerror "Wine cannot be built with this version of gcc-5.3"
985 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
986 - eerror "or use gcc-config to select a different compiler version."
987 - eerror "See https://bugs.gentoo.org/574044"
988 - eerror
989 - return 1
990 - fi
991 - fi
992 - fi
993 -
994 - # Ensure compiler support
995 - if use abi_x86_64; then
996 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
997 - # Compile in subshell to prevent "Aborted" message
998 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
999 - if ! eend $?; then
1000 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1001 - eerror
1002 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1003 - eerror
1004 - return 1
1005 - fi
1006 - fi
1007 -}
1008 -
1009 -wine_build_environment_check() {
1010 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1011 -
1012 - if use abi_x86_64; then
1013 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
1014 - eerror "You need gcc-4.4+ to compile 64-bit wine"
1015 - die
1016 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
1017 - eerror "You need clang-3.8+ to compile 64-bit wine"
1018 - die
1019 - fi
1020 - fi
1021 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
1022 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
1023 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
1024 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
1025 - fi
1026 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
1027 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
1028 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
1029 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
1030 - ewarn "See package.env in man 5 portage for more information on how to do this."
1031 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
1032 - fi
1033 - fi
1034 -
1035 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
1036 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1037 - eerror "See https://bugs.gentoo.org/487864 for more details."
1038 - eerror
1039 - return 1
1040 - fi
1041 -}
1042 -
1043 -wine_env_vcs_vars() {
1044 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
1045 - local pn_live_val="${pn_live_var}"
1046 - eval pn_live_val='$'${pn_live_val}
1047 - if [[ ! -z ${pn_live_val} ]]; then
1048 - if use staging || use d3d9; then
1049 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
1050 - eerror "cannot be used to set the commit. Instead, you may use the"
1051 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
1052 - eerror
1053 - return 1
1054 - fi
1055 - fi
1056 - if [[ ! -z ${EGIT_COMMIT} ]]; then
1057 - eerror "Commits must now be specified using the environmental variables"
1058 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
1059 - eerror
1060 - return 1
1061 - fi
1062 -}
1063 -
1064 -pkg_pretend() {
1065 - wine_build_environment_check || die
1066 -
1067 - # Verify OSS support
1068 - if use oss && ! use kernel_FreeBSD; then
1069 - if ! has_version ">=media-sound/oss-4"; then
1070 - eerror "You cannot build wine with USE=oss without having support from a"
1071 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1072 - eerror
1073 - die
1074 - fi
1075 - fi
1076 -}
1077 -
1078 -pkg_setup() {
1079 - wine_build_environment_check || die
1080 - wine_env_vcs_vars || die
1081 -
1082 - WINE_VARIANT="${PN#wine}-${PV}"
1083 - WINE_VARIANT="${WINE_VARIANT#-}"
1084 -
1085 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
1086 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
1087 - MY_DATADIR="${MY_DATAROOTDIR}"
1088 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
1089 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
1090 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
1091 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
1092 - MY_MANDIR="${MY_DATADIR}/man"
1093 -}
1094 -
1095 -src_unpack() {
1096 - if [[ ${PV} == "9999" ]] ; then
1097 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
1098 - if use staging; then
1099 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
1100 -
1101 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
1102 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
1103 -
1104 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
1105 -
1106 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
1107 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
1108 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
1109 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
1110 - fi
1111 - fi
1112 - if use d3d9; then
1113 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
1114 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
1115 - fi
1116 - fi
1117 -
1118 - default
1119 -
1120 - l10n_find_plocales_changes "${S}/po" "" ".po"
1121 -}
1122 -
1123 -src_prepare() {
1124 -
1125 - eapply_bin(){
1126 - local patch
1127 - for patch in ${PATCHES_BIN[@]}; do
1128 - patchbin --nogit < "${patch}" || die
1129 - done
1130 - }
1131 -
1132 - local md5="$(md5sum server/protocol.def)"
1133 -
1134 - if use staging; then
1135 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
1136 - ewarn "Wine bugzilla should explicitly state that staging was used."
1137 -
1138 - local STAGING_EXCLUDE=""
1139 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
1140 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
1141 -
1142 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
1143 - ebegin "Running Wine-Staging patch installer"
1144 - (
1145 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
1146 - cd "${STAGING_DIR}/patches"
1147 - source "${STAGING_DIR}/patches/patchinstall.sh"
1148 - )
1149 - eend $? || die "Failed to apply Wine-Staging patches"
1150 - fi
1151 - if use d3d9; then
1152 - if use staging; then
1153 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
1154 - else
1155 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
1156 - fi
1157 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
1158 - fi
1159 -
1160 - default
1161 - eapply_bin
1162 - eautoreconf
1163 -
1164 - # Modification of the server protocol requires regenerating the server requests
1165 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1166 - einfo "server/protocol.def was patched; running tools/make_requests"
1167 - tools/make_requests || die #432348
1168 - fi
1169 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
1170 - if ! use run-exes; then
1171 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
1172 - fi
1173 -
1174 - # Edit wine.desktop to work for specific variant
1175 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
1176 -
1177 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
1178 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
1179 -
1180 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
1181 -}
1182 -
1183 -src_configure() {
1184 - wine_compiler_check || die
1185 -
1186 - export LDCONFIG=/bin/true
1187 - use custom-cflags || strip-flags
1188 -
1189 - multilib-minimal_src_configure
1190 -}
1191 -
1192 -multilib_src_configure() {
1193 - local myconf=(
1194 - --prefix="${MY_PREFIX}"
1195 - --datarootdir="${MY_DATAROOTDIR}"
1196 - --datadir="${MY_DATADIR}"
1197 - --docdir="${MY_DOCDIR}"
1198 - --includedir="${MY_INCLUDEDIR}"
1199 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
1200 - --libexecdir="${MY_LIBEXECDIR}"
1201 - --localstatedir="${MY_LOCALSTATEDIR}"
1202 - --mandir="${MY_MANDIR}"
1203 - --sysconfdir=/etc/wine
1204 - $(use_with alsa)
1205 - $(use_with capi)
1206 - $(use_with lcms cms)
1207 - $(use_with cups)
1208 - $(use_with ncurses curses)
1209 - $(use_with udisks dbus)
1210 - $(use_with fontconfig)
1211 - $(use_with ssl gnutls)
1212 - $(use_enable gecko mshtml)
1213 - $(use_with gphoto2 gphoto)
1214 - $(use_with gsm)
1215 - $(use_with gstreamer)
1216 - --without-hal
1217 - $(use_with jpeg)
1218 - $(use_with ldap)
1219 - $(use_enable mono mscoree)
1220 - $(use_with mp3 mpg123)
1221 - $(use_with netapi)
1222 - $(use_with nls gettext)
1223 - $(use_with openal)
1224 - $(use_with opencl)
1225 - $(use_with opengl)
1226 - $(use_with osmesa)
1227 - $(use_with oss)
1228 - $(use_with pcap)
1229 - $(use_with png)
1230 - $(use_with pulseaudio pulse)
1231 - $(use_with threads pthread)
1232 - $(use_with scanner sane)
1233 - $(use_enable test tests)
1234 - $(use_with truetype freetype)
1235 - $(use_with udev)
1236 - $(use_with v4l)
1237 - $(use_with X x)
1238 - $(use_with xcomposite)
1239 - $(use_with xinerama)
1240 - $(use_with xml)
1241 - $(use_with xml xslt)
1242 - )
1243 -
1244 - use staging && myconf+=(
1245 - --with-xattr
1246 - $(use_with themes gtk3)
1247 - $(use_with vaapi va)
1248 - )
1249 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
1250 -
1251 - local PKG_CONFIG AR RANLIB
1252 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1253 - # set AR and RANLIB to make QA scripts happy; #483342
1254 - tc-export PKG_CONFIG AR RANLIB
1255 -
1256 - if use amd64; then
1257 - if [[ ${ABI} == amd64 ]]; then
1258 - myconf+=( --enable-win64 )
1259 - else
1260 - myconf+=( --disable-win64 )
1261 - fi
1262 -
1263 - # Note: using --with-wine64 results in problems with multilib.eclass
1264 - # CC/LD hackery. We're using separate tools instead.
1265 - fi
1266 -
1267 - ECONF_SOURCE=${S} \
1268 - econf "${myconf[@]}"
1269 - emake depend
1270 -}
1271 -
1272 -multilib_src_test() {
1273 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1274 - if [[ ${ABI} == x86 ]]; then
1275 - if [[ $(id -u) == 0 ]]; then
1276 - ewarn "Skipping tests since they cannot be run under the root user."
1277 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1278 - return
1279 - fi
1280 -
1281 - WINEPREFIX="${T}/.wine-${ABI}" \
1282 - Xemake test
1283 - fi
1284 -}
1285 -
1286 -multilib_src_install_all() {
1287 - local DOCS=( ANNOUNCE AUTHORS README )
1288 - add_locale_docs() {
1289 - local locale_doc="documentation/README.$1"
1290 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1291 - }
1292 - l10n_for_each_locale_do add_locale_docs
1293 -
1294 - einstalldocs
1295 - prune_libtool_files --all
1296 -
1297 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1298 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1299 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1300 - fi
1301 -
1302 - # Remove wineconsole if neither backend is installed #551124
1303 - if ! use X && ! use ncurses; then
1304 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
1305 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
1306 - rm_wineconsole() {
1307 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
1308 - }
1309 - multilib_foreach_abi rm_wineconsole
1310 - fi
1311 -
1312 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1313 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
1314 -
1315 - if use abi_x86_64 && ! use abi_x86_32; then
1316 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1317 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1318 - fi
1319 -
1320 - # Failglob for bin and man loops
1321 - local glob_state=$(shopt -p failglob)
1322 - shopt -s failglob
1323 -
1324 - # Make wrappers for binaries for handling multiple variants
1325 - # Note: wrappers instead of symlinks because some are shell which use basename
1326 - local b
1327 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
1328 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1329 - done
1330 -
1331 - # respect LINGUAS when installing man pages, #469418
1332 - local l
1333 - for l in de fr pl; do
1334 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
1335 - done
1336 -
1337 - eval "${glob_state}"
1338 -}
1339 -
1340 -pkg_postinst() {
1341 - eselect wine register ${P}
1342 - if [[ ${PN} == "wine-vanilla" ]]; then
1343 - eselect wine register --vanilla ${P} || die
1344 - else
1345 - if use staging; then
1346 - eselect wine register --staging ${P} || die
1347 - fi
1348 - if use d3d9; then
1349 - eselect wine register --d3d9 ${P} || die
1350 - fi
1351 - fi
1352 -
1353 - eselect wine update --all --if-unset || die
1354 -
1355 - xdg_desktop_database_update
1356 -
1357 - if ! use gecko; then
1358 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
1359 - ewarn "implementation of iexplore. Many older windows applications"
1360 - ewarn "rely upon the existence of an iexplore implementation, so"
1361 - ewarn "you will likely need to install an external one, like via winetricks"
1362 - fi
1363 - if ! use mono; then
1364 - ewarn "Without Wine Mono, wine prefixes will not have a default"
1365 - ewarn "implementation of .NET. Many windows applications rely upon"
1366 - ewarn "the existence of a .NET implementation, so you will likely need"
1367 - ewarn "to install an external one, like via winetricks"
1368 - fi
1369 -}
1370 -
1371 -pkg_prerm() {
1372 - eselect wine deregister ${P}
1373 - if [[ ${PN} == "wine-vanilla" ]]; then
1374 - eselect wine deregister --vanilla ${P} || die
1375 - else
1376 - if use staging; then
1377 - eselect wine deregister --staging ${P} || die
1378 - fi
1379 - if use d3d9; then
1380 - eselect wine deregister --d3d9 ${P} || die
1381 - fi
1382 - fi
1383 -
1384 - eselect wine update --all --if-unset || die
1385 -}
1386 -
1387 -pkg_postrm() {
1388 - xdg_desktop_database_update
1389 -}
1390
1391 diff --git a/app-emulation/wine-any/wine-any-2.10-r1.ebuild b/app-emulation/wine-any/wine-any-2.10-r1.ebuild
1392 deleted file mode 100644
1393 index 61c306c39f6..00000000000
1394 --- a/app-emulation/wine-any/wine-any-2.10-r1.ebuild
1395 +++ /dev/null
1396 @@ -1,638 +0,0 @@
1397 -# Copyright 1999-2017 Gentoo Foundation
1398 -# Distributed under the terms of the GNU General Public License v2
1399 -
1400 -EAPI=6
1401 -
1402 -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"
1403 -PLOCALE_BACKUP="en"
1404 -
1405 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
1406 -
1407 -MY_PN="${PN%%-*}"
1408 -MY_P="${MY_PN}-${PV}"
1409 -
1410 -if [[ ${PV} == "9999" ]] ; then
1411 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
1412 - EGIT_BRANCH="master"
1413 - inherit git-r3
1414 - SRC_URI=""
1415 - #KEYWORDS=""
1416 -else
1417 - MAJOR_V=$(get_version_component_range 1)
1418 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
1419 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
1420 -fi
1421 -S="${WORKDIR}/${MY_P}"
1422 -
1423 -STAGING_P="wine-staging-${PV}"
1424 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
1425 -D3D9_P="wine-d3d9-${PV}"
1426 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
1427 -GWP_V="20170830"
1428 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
1429 -
1430 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
1431 -HOMEPAGE="https://www.winehq.org/"
1432 -SRC_URI="${SRC_URI}
1433 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
1434 -"
1435 -
1436 -if [[ ${PV} == "9999" ]] ; then
1437 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
1438 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
1439 -else
1440 - SRC_URI="${SRC_URI}
1441 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
1442 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
1443 -fi
1444 -
1445 -LICENSE="LGPL-2.1"
1446 -SLOT="${PV}"
1447 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
1448 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1449 - X? ( truetype )
1450 - elibc_glibc? ( threads )
1451 - osmesa? ( opengl )
1452 - pipelight? ( staging )
1453 - s3tc? ( staging )
1454 - test? ( abi_x86_32 )
1455 - themes? ( staging )
1456 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
1457 -
1458 -# FIXME: the test suite is unsuitable for us; many tests require net access
1459 -# or fail due to Xvfb's opengl limitations.
1460 -RESTRICT="test"
1461 -
1462 -COMMON_DEPEND="
1463 - X? (
1464 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
1465 - x11-libs/libXext[${MULTILIB_USEDEP}]
1466 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
1467 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
1468 - x11-libs/libXi[${MULTILIB_USEDEP}]
1469 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1470 - )
1471 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1472 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1473 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1474 - d3d9? (
1475 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
1476 - x11-libs/libX11[${MULTILIB_USEDEP}]
1477 - x11-libs/libXext[${MULTILIB_USEDEP}]
1478 - x11-libs/libxcb[${MULTILIB_USEDEP}]
1479 - )
1480 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1481 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1482 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1483 - gstreamer? (
1484 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1485 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1486 - )
1487 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1488 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1489 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1490 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1491 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1492 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1493 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1494 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1495 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1496 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1497 - opengl? (
1498 - virtual/glu[${MULTILIB_USEDEP}]
1499 - virtual/opengl[${MULTILIB_USEDEP}]
1500 - )
1501 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
1502 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1503 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1504 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1505 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1506 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1507 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
1508 - themes? (
1509 - dev-libs/glib:2[${MULTILIB_USEDEP}]
1510 - x11-libs/cairo[${MULTILIB_USEDEP}]
1511 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
1512 - )
1513 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1514 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
1515 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1516 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1517 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
1518 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1519 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1520 - xml? (
1521 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1522 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1523 - )
1524 - abi_x86_32? (
1525 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1526 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1527 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
1528 - !<app-emulation/emul-linux-x86-db-20140508-r3
1529 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
1530 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
1531 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
1532 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
1533 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
1534 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
1535 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
1536 - !<app-emulation/emul-linux-x86-soundlibs-20140508
1537 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
1538 - !<app-emulation/emul-linux-x86-xlibs-20140508
1539 - )"
1540 -
1541 -RDEPEND="${COMMON_DEPEND}
1542 - app-emulation/wine-desktop-common
1543 - >app-eselect/eselect-wine-0.3
1544 - !app-emulation/wine:0
1545 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1546 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
1547 - mono? ( app-emulation/wine-mono:4.7.0 )
1548 - perl? (
1549 - dev-lang/perl
1550 - dev-perl/XML-Simple
1551 - )
1552 - pulseaudio? (
1553 - realtime? ( sys-auth/rtkit )
1554 - )
1555 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
1556 - samba? ( >=net-fs/samba-3.0.25[winbind] )
1557 - selinux? ( sec-policy/selinux-wine )
1558 - udisks? ( sys-fs/udisks:2 )"
1559 -
1560 -# tools/make_requests requires perl
1561 -DEPEND="${COMMON_DEPEND}
1562 - sys-devel/flex
1563 - >=sys-kernel/linux-headers-2.6
1564 - virtual/pkgconfig
1565 - virtual/yacc
1566 - X? (
1567 - x11-proto/inputproto
1568 - x11-proto/xextproto
1569 - x11-proto/xf86vidmodeproto
1570 - )
1571 - prelink? ( sys-devel/prelink )
1572 - staging? (
1573 - dev-lang/perl
1574 - dev-perl/XML-Simple
1575 - )
1576 - xinerama? ( x11-proto/xineramaproto )"
1577 -
1578 -# These use a non-standard "Wine" category, which is provided by
1579 -# /etc/xdg/applications-merged/wine.menu
1580 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
1581 -usr/share/applications/wine-notepad.desktop
1582 -usr/share/applications/wine-uninstaller.desktop
1583 -usr/share/applications/wine-winecfg.desktop"
1584 -
1585 -PATCHES=(
1586 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
1587 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
1588 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
1589 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
1590 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
1591 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
1592 -)
1593 -PATCHES_BIN=(
1594 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
1595 -)
1596 -
1597 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
1598 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
1599 - DEPEND+=" dev-util/patchbin"
1600 -fi
1601 -
1602 -wine_compiler_check() {
1603 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1604 -
1605 - # GCC-specific bugs
1606 - if tc-is-gcc; then
1607 - # bug #549768
1608 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1609 - ebegin "Checking for gcc-5 ms_abi compiler bug"
1610 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
1611 - # Run in subshell to prevent "Aborted" message
1612 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
1613 - if ! eend $?; then
1614 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1615 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1616 - eerror "or use gcc-config to select a different compiler version."
1617 - eerror "See https://bugs.gentoo.org/549768"
1618 - eerror
1619 - return 1
1620 - fi
1621 - fi
1622 - # bug #574044
1623 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1624 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
1625 - # Compile in subshell to prevent "Aborted" message
1626 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
1627 - if ! eend $?; then
1628 - eerror "Wine cannot be built with this version of gcc-5.3"
1629 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1630 - eerror "or use gcc-config to select a different compiler version."
1631 - eerror "See https://bugs.gentoo.org/574044"
1632 - eerror
1633 - return 1
1634 - fi
1635 - fi
1636 - fi
1637 -
1638 - # Ensure compiler support
1639 - if use abi_x86_64; then
1640 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
1641 - # Compile in subshell to prevent "Aborted" message
1642 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
1643 - if ! eend $?; then
1644 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1645 - eerror
1646 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1647 - eerror
1648 - return 1
1649 - fi
1650 - fi
1651 -}
1652 -
1653 -wine_build_environment_check() {
1654 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1655 -
1656 - if use abi_x86_64; then
1657 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
1658 - eerror "You need gcc-4.4+ to compile 64-bit wine"
1659 - die
1660 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
1661 - eerror "You need clang-3.8+ to compile 64-bit wine"
1662 - die
1663 - fi
1664 - fi
1665 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
1666 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
1667 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
1668 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
1669 - fi
1670 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
1671 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
1672 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
1673 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
1674 - ewarn "See package.env in man 5 portage for more information on how to do this."
1675 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
1676 - fi
1677 - fi
1678 -
1679 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
1680 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1681 - eerror "See https://bugs.gentoo.org/487864 for more details."
1682 - eerror
1683 - return 1
1684 - fi
1685 -}
1686 -
1687 -wine_env_vcs_vars() {
1688 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
1689 - local pn_live_val="${pn_live_var}"
1690 - eval pn_live_val='$'${pn_live_val}
1691 - if [[ ! -z ${pn_live_val} ]]; then
1692 - if use staging || use d3d9; then
1693 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
1694 - eerror "cannot be used to set the commit. Instead, you may use the"
1695 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
1696 - eerror
1697 - return 1
1698 - fi
1699 - fi
1700 - if [[ ! -z ${EGIT_COMMIT} ]]; then
1701 - eerror "Commits must now be specified using the environmental variables"
1702 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
1703 - eerror
1704 - return 1
1705 - fi
1706 -}
1707 -
1708 -pkg_pretend() {
1709 - wine_build_environment_check || die
1710 -
1711 - # Verify OSS support
1712 - if use oss && ! use kernel_FreeBSD; then
1713 - if ! has_version ">=media-sound/oss-4"; then
1714 - eerror "You cannot build wine with USE=oss without having support from a"
1715 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1716 - eerror
1717 - die
1718 - fi
1719 - fi
1720 -}
1721 -
1722 -pkg_setup() {
1723 - wine_build_environment_check || die
1724 - wine_env_vcs_vars || die
1725 -
1726 - WINE_VARIANT="${PN#wine}-${PV}"
1727 - WINE_VARIANT="${WINE_VARIANT#-}"
1728 -
1729 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
1730 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
1731 - MY_DATADIR="${MY_DATAROOTDIR}"
1732 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
1733 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
1734 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
1735 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
1736 - MY_MANDIR="${MY_DATADIR}/man"
1737 -}
1738 -
1739 -src_unpack() {
1740 - if [[ ${PV} == "9999" ]] ; then
1741 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
1742 - if use staging; then
1743 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
1744 -
1745 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
1746 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
1747 -
1748 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
1749 -
1750 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
1751 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
1752 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
1753 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
1754 - fi
1755 - fi
1756 - if use d3d9; then
1757 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
1758 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
1759 - fi
1760 - fi
1761 -
1762 - default
1763 -
1764 - l10n_find_plocales_changes "${S}/po" "" ".po"
1765 -}
1766 -
1767 -src_prepare() {
1768 -
1769 - eapply_bin(){
1770 - local patch
1771 - for patch in ${PATCHES_BIN[@]}; do
1772 - patchbin --nogit < "${patch}" || die
1773 - done
1774 - }
1775 -
1776 - local md5="$(md5sum server/protocol.def)"
1777 -
1778 - if use staging; then
1779 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
1780 - ewarn "Wine bugzilla should explicitly state that staging was used."
1781 -
1782 - local STAGING_EXCLUDE=""
1783 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
1784 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
1785 -
1786 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
1787 - ebegin "Running Wine-Staging patch installer"
1788 - (
1789 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
1790 - cd "${STAGING_DIR}/patches"
1791 - source "${STAGING_DIR}/patches/patchinstall.sh"
1792 - )
1793 - eend $? || die "Failed to apply Wine-Staging patches"
1794 - fi
1795 - if use d3d9; then
1796 - if use staging; then
1797 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
1798 - else
1799 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
1800 - fi
1801 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
1802 - fi
1803 -
1804 - default
1805 - eapply_bin
1806 - eautoreconf
1807 -
1808 - # Modification of the server protocol requires regenerating the server requests
1809 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1810 - einfo "server/protocol.def was patched; running tools/make_requests"
1811 - tools/make_requests || die #432348
1812 - fi
1813 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
1814 - if ! use run-exes; then
1815 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
1816 - fi
1817 -
1818 - # Edit wine.desktop to work for specific variant
1819 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
1820 -
1821 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
1822 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
1823 -
1824 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
1825 -}
1826 -
1827 -src_configure() {
1828 - wine_compiler_check || die
1829 -
1830 - export LDCONFIG=/bin/true
1831 - use custom-cflags || strip-flags
1832 -
1833 - multilib-minimal_src_configure
1834 -}
1835 -
1836 -multilib_src_configure() {
1837 - local myconf=(
1838 - --prefix="${MY_PREFIX}"
1839 - --datarootdir="${MY_DATAROOTDIR}"
1840 - --datadir="${MY_DATADIR}"
1841 - --docdir="${MY_DOCDIR}"
1842 - --includedir="${MY_INCLUDEDIR}"
1843 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
1844 - --libexecdir="${MY_LIBEXECDIR}"
1845 - --localstatedir="${MY_LOCALSTATEDIR}"
1846 - --mandir="${MY_MANDIR}"
1847 - --sysconfdir=/etc/wine
1848 - $(use_with alsa)
1849 - $(use_with capi)
1850 - $(use_with lcms cms)
1851 - $(use_with cups)
1852 - $(use_with ncurses curses)
1853 - $(use_with udisks dbus)
1854 - $(use_with fontconfig)
1855 - $(use_with ssl gnutls)
1856 - $(use_enable gecko mshtml)
1857 - $(use_with gphoto2 gphoto)
1858 - $(use_with gsm)
1859 - $(use_with gstreamer)
1860 - --without-hal
1861 - $(use_with jpeg)
1862 - $(use_with ldap)
1863 - $(use_enable mono mscoree)
1864 - $(use_with mp3 mpg123)
1865 - $(use_with netapi)
1866 - $(use_with nls gettext)
1867 - $(use_with openal)
1868 - $(use_with opencl)
1869 - $(use_with opengl)
1870 - $(use_with osmesa)
1871 - $(use_with oss)
1872 - $(use_with pcap)
1873 - $(use_with png)
1874 - $(use_with pulseaudio pulse)
1875 - $(use_with threads pthread)
1876 - $(use_with scanner sane)
1877 - $(use_enable test tests)
1878 - $(use_with truetype freetype)
1879 - $(use_with udev)
1880 - $(use_with v4l)
1881 - $(use_with X x)
1882 - $(use_with X xfixes)
1883 - $(use_with xcomposite)
1884 - $(use_with xinerama)
1885 - $(use_with xml)
1886 - $(use_with xml xslt)
1887 - )
1888 -
1889 - use staging && myconf+=(
1890 - --with-xattr
1891 - $(use_with themes gtk3)
1892 - $(use_with vaapi va)
1893 - )
1894 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
1895 -
1896 - local PKG_CONFIG AR RANLIB
1897 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1898 - # set AR and RANLIB to make QA scripts happy; #483342
1899 - tc-export PKG_CONFIG AR RANLIB
1900 -
1901 - if use amd64; then
1902 - if [[ ${ABI} == amd64 ]]; then
1903 - myconf+=( --enable-win64 )
1904 - else
1905 - myconf+=( --disable-win64 )
1906 - fi
1907 -
1908 - # Note: using --with-wine64 results in problems with multilib.eclass
1909 - # CC/LD hackery. We're using separate tools instead.
1910 - fi
1911 -
1912 - ECONF_SOURCE=${S} \
1913 - econf "${myconf[@]}"
1914 - emake depend
1915 -}
1916 -
1917 -multilib_src_test() {
1918 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1919 - if [[ ${ABI} == x86 ]]; then
1920 - if [[ $(id -u) == 0 ]]; then
1921 - ewarn "Skipping tests since they cannot be run under the root user."
1922 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1923 - return
1924 - fi
1925 -
1926 - WINEPREFIX="${T}/.wine-${ABI}" \
1927 - Xemake test
1928 - fi
1929 -}
1930 -
1931 -multilib_src_install_all() {
1932 - local DOCS=( ANNOUNCE AUTHORS README )
1933 - add_locale_docs() {
1934 - local locale_doc="documentation/README.$1"
1935 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1936 - }
1937 - l10n_for_each_locale_do add_locale_docs
1938 -
1939 - einstalldocs
1940 - prune_libtool_files --all
1941 -
1942 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1943 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1944 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1945 - fi
1946 -
1947 - # Remove wineconsole if neither backend is installed #551124
1948 - if ! use X && ! use ncurses; then
1949 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
1950 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
1951 - rm_wineconsole() {
1952 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
1953 - }
1954 - multilib_foreach_abi rm_wineconsole
1955 - fi
1956 -
1957 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1958 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
1959 -
1960 - if use abi_x86_64 && ! use abi_x86_32; then
1961 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1962 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1963 - fi
1964 -
1965 - # Failglob for bin and man loops
1966 - local glob_state=$(shopt -p failglob)
1967 - shopt -s failglob
1968 -
1969 - # Make wrappers for binaries for handling multiple variants
1970 - # Note: wrappers instead of symlinks because some are shell which use basename
1971 - local b
1972 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
1973 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1974 - done
1975 -
1976 - # respect LINGUAS when installing man pages, #469418
1977 - local l
1978 - for l in de fr pl; do
1979 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
1980 - done
1981 -
1982 - eval "${glob_state}"
1983 -}
1984 -
1985 -pkg_postinst() {
1986 - eselect wine register ${P}
1987 - if [[ ${PN} == "wine-vanilla" ]]; then
1988 - eselect wine register --vanilla ${P} || die
1989 - else
1990 - if use staging; then
1991 - eselect wine register --staging ${P} || die
1992 - fi
1993 - if use d3d9; then
1994 - eselect wine register --d3d9 ${P} || die
1995 - fi
1996 - fi
1997 -
1998 - eselect wine update --all --if-unset || die
1999 -
2000 - xdg_desktop_database_update
2001 -
2002 - if ! use gecko; then
2003 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
2004 - ewarn "implementation of iexplore. Many older windows applications"
2005 - ewarn "rely upon the existence of an iexplore implementation, so"
2006 - ewarn "you will likely need to install an external one, like via winetricks"
2007 - fi
2008 - if ! use mono; then
2009 - ewarn "Without Wine Mono, wine prefixes will not have a default"
2010 - ewarn "implementation of .NET. Many windows applications rely upon"
2011 - ewarn "the existence of a .NET implementation, so you will likely need"
2012 - ewarn "to install an external one, like via winetricks"
2013 - fi
2014 -}
2015 -
2016 -pkg_prerm() {
2017 - eselect wine deregister ${P}
2018 - if [[ ${PN} == "wine-vanilla" ]]; then
2019 - eselect wine deregister --vanilla ${P} || die
2020 - else
2021 - if use staging; then
2022 - eselect wine deregister --staging ${P} || die
2023 - fi
2024 - if use d3d9; then
2025 - eselect wine deregister --d3d9 ${P} || die
2026 - fi
2027 - fi
2028 -
2029 - eselect wine update --all --if-unset || die
2030 -}
2031 -
2032 -pkg_postrm() {
2033 - xdg_desktop_database_update
2034 -}
2035
2036 diff --git a/app-emulation/wine-any/wine-any-2.11-r1.ebuild b/app-emulation/wine-any/wine-any-2.11-r1.ebuild
2037 deleted file mode 100644
2038 index 61c306c39f6..00000000000
2039 --- a/app-emulation/wine-any/wine-any-2.11-r1.ebuild
2040 +++ /dev/null
2041 @@ -1,638 +0,0 @@
2042 -# Copyright 1999-2017 Gentoo Foundation
2043 -# Distributed under the terms of the GNU General Public License v2
2044 -
2045 -EAPI=6
2046 -
2047 -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"
2048 -PLOCALE_BACKUP="en"
2049 -
2050 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
2051 -
2052 -MY_PN="${PN%%-*}"
2053 -MY_P="${MY_PN}-${PV}"
2054 -
2055 -if [[ ${PV} == "9999" ]] ; then
2056 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
2057 - EGIT_BRANCH="master"
2058 - inherit git-r3
2059 - SRC_URI=""
2060 - #KEYWORDS=""
2061 -else
2062 - MAJOR_V=$(get_version_component_range 1)
2063 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
2064 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
2065 -fi
2066 -S="${WORKDIR}/${MY_P}"
2067 -
2068 -STAGING_P="wine-staging-${PV}"
2069 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
2070 -D3D9_P="wine-d3d9-${PV}"
2071 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
2072 -GWP_V="20170830"
2073 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
2074 -
2075 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
2076 -HOMEPAGE="https://www.winehq.org/"
2077 -SRC_URI="${SRC_URI}
2078 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
2079 -"
2080 -
2081 -if [[ ${PV} == "9999" ]] ; then
2082 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
2083 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
2084 -else
2085 - SRC_URI="${SRC_URI}
2086 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
2087 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
2088 -fi
2089 -
2090 -LICENSE="LGPL-2.1"
2091 -SLOT="${PV}"
2092 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
2093 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2094 - X? ( truetype )
2095 - elibc_glibc? ( threads )
2096 - osmesa? ( opengl )
2097 - pipelight? ( staging )
2098 - s3tc? ( staging )
2099 - test? ( abi_x86_32 )
2100 - themes? ( staging )
2101 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
2102 -
2103 -# FIXME: the test suite is unsuitable for us; many tests require net access
2104 -# or fail due to Xvfb's opengl limitations.
2105 -RESTRICT="test"
2106 -
2107 -COMMON_DEPEND="
2108 - X? (
2109 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
2110 - x11-libs/libXext[${MULTILIB_USEDEP}]
2111 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
2112 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
2113 - x11-libs/libXi[${MULTILIB_USEDEP}]
2114 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2115 - )
2116 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2117 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2118 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2119 - d3d9? (
2120 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
2121 - x11-libs/libX11[${MULTILIB_USEDEP}]
2122 - x11-libs/libXext[${MULTILIB_USEDEP}]
2123 - x11-libs/libxcb[${MULTILIB_USEDEP}]
2124 - )
2125 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2126 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2127 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2128 - gstreamer? (
2129 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2130 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2131 - )
2132 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2133 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2134 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2135 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2136 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2137 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2138 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2139 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2140 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2141 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2142 - opengl? (
2143 - virtual/glu[${MULTILIB_USEDEP}]
2144 - virtual/opengl[${MULTILIB_USEDEP}]
2145 - )
2146 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
2147 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2148 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2149 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2150 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2151 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2152 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2153 - themes? (
2154 - dev-libs/glib:2[${MULTILIB_USEDEP}]
2155 - x11-libs/cairo[${MULTILIB_USEDEP}]
2156 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
2157 - )
2158 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2159 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
2160 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2161 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2162 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
2163 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2164 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2165 - xml? (
2166 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2167 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2168 - )
2169 - abi_x86_32? (
2170 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2171 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2172 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
2173 - !<app-emulation/emul-linux-x86-db-20140508-r3
2174 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
2175 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
2176 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
2177 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
2178 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
2179 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
2180 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
2181 - !<app-emulation/emul-linux-x86-soundlibs-20140508
2182 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
2183 - !<app-emulation/emul-linux-x86-xlibs-20140508
2184 - )"
2185 -
2186 -RDEPEND="${COMMON_DEPEND}
2187 - app-emulation/wine-desktop-common
2188 - >app-eselect/eselect-wine-0.3
2189 - !app-emulation/wine:0
2190 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2191 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
2192 - mono? ( app-emulation/wine-mono:4.7.0 )
2193 - perl? (
2194 - dev-lang/perl
2195 - dev-perl/XML-Simple
2196 - )
2197 - pulseaudio? (
2198 - realtime? ( sys-auth/rtkit )
2199 - )
2200 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
2201 - samba? ( >=net-fs/samba-3.0.25[winbind] )
2202 - selinux? ( sec-policy/selinux-wine )
2203 - udisks? ( sys-fs/udisks:2 )"
2204 -
2205 -# tools/make_requests requires perl
2206 -DEPEND="${COMMON_DEPEND}
2207 - sys-devel/flex
2208 - >=sys-kernel/linux-headers-2.6
2209 - virtual/pkgconfig
2210 - virtual/yacc
2211 - X? (
2212 - x11-proto/inputproto
2213 - x11-proto/xextproto
2214 - x11-proto/xf86vidmodeproto
2215 - )
2216 - prelink? ( sys-devel/prelink )
2217 - staging? (
2218 - dev-lang/perl
2219 - dev-perl/XML-Simple
2220 - )
2221 - xinerama? ( x11-proto/xineramaproto )"
2222 -
2223 -# These use a non-standard "Wine" category, which is provided by
2224 -# /etc/xdg/applications-merged/wine.menu
2225 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
2226 -usr/share/applications/wine-notepad.desktop
2227 -usr/share/applications/wine-uninstaller.desktop
2228 -usr/share/applications/wine-winecfg.desktop"
2229 -
2230 -PATCHES=(
2231 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
2232 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
2233 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
2234 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
2235 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
2236 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
2237 -)
2238 -PATCHES_BIN=(
2239 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
2240 -)
2241 -
2242 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
2243 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
2244 - DEPEND+=" dev-util/patchbin"
2245 -fi
2246 -
2247 -wine_compiler_check() {
2248 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2249 -
2250 - # GCC-specific bugs
2251 - if tc-is-gcc; then
2252 - # bug #549768
2253 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2254 - ebegin "Checking for gcc-5 ms_abi compiler bug"
2255 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
2256 - # Run in subshell to prevent "Aborted" message
2257 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2258 - if ! eend $?; then
2259 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2260 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2261 - eerror "or use gcc-config to select a different compiler version."
2262 - eerror "See https://bugs.gentoo.org/549768"
2263 - eerror
2264 - return 1
2265 - fi
2266 - fi
2267 - # bug #574044
2268 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2269 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2270 - # Compile in subshell to prevent "Aborted" message
2271 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
2272 - if ! eend $?; then
2273 - eerror "Wine cannot be built with this version of gcc-5.3"
2274 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2275 - eerror "or use gcc-config to select a different compiler version."
2276 - eerror "See https://bugs.gentoo.org/574044"
2277 - eerror
2278 - return 1
2279 - fi
2280 - fi
2281 - fi
2282 -
2283 - # Ensure compiler support
2284 - if use abi_x86_64; then
2285 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2286 - # Compile in subshell to prevent "Aborted" message
2287 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2288 - if ! eend $?; then
2289 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2290 - eerror
2291 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2292 - eerror
2293 - return 1
2294 - fi
2295 - fi
2296 -}
2297 -
2298 -wine_build_environment_check() {
2299 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2300 -
2301 - if use abi_x86_64; then
2302 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
2303 - eerror "You need gcc-4.4+ to compile 64-bit wine"
2304 - die
2305 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
2306 - eerror "You need clang-3.8+ to compile 64-bit wine"
2307 - die
2308 - fi
2309 - fi
2310 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
2311 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
2312 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
2313 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
2314 - fi
2315 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
2316 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
2317 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
2318 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
2319 - ewarn "See package.env in man 5 portage for more information on how to do this."
2320 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
2321 - fi
2322 - fi
2323 -
2324 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
2325 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2326 - eerror "See https://bugs.gentoo.org/487864 for more details."
2327 - eerror
2328 - return 1
2329 - fi
2330 -}
2331 -
2332 -wine_env_vcs_vars() {
2333 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
2334 - local pn_live_val="${pn_live_var}"
2335 - eval pn_live_val='$'${pn_live_val}
2336 - if [[ ! -z ${pn_live_val} ]]; then
2337 - if use staging || use d3d9; then
2338 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
2339 - eerror "cannot be used to set the commit. Instead, you may use the"
2340 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
2341 - eerror
2342 - return 1
2343 - fi
2344 - fi
2345 - if [[ ! -z ${EGIT_COMMIT} ]]; then
2346 - eerror "Commits must now be specified using the environmental variables"
2347 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
2348 - eerror
2349 - return 1
2350 - fi
2351 -}
2352 -
2353 -pkg_pretend() {
2354 - wine_build_environment_check || die
2355 -
2356 - # Verify OSS support
2357 - if use oss && ! use kernel_FreeBSD; then
2358 - if ! has_version ">=media-sound/oss-4"; then
2359 - eerror "You cannot build wine with USE=oss without having support from a"
2360 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2361 - eerror
2362 - die
2363 - fi
2364 - fi
2365 -}
2366 -
2367 -pkg_setup() {
2368 - wine_build_environment_check || die
2369 - wine_env_vcs_vars || die
2370 -
2371 - WINE_VARIANT="${PN#wine}-${PV}"
2372 - WINE_VARIANT="${WINE_VARIANT#-}"
2373 -
2374 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
2375 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
2376 - MY_DATADIR="${MY_DATAROOTDIR}"
2377 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
2378 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
2379 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
2380 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
2381 - MY_MANDIR="${MY_DATADIR}/man"
2382 -}
2383 -
2384 -src_unpack() {
2385 - if [[ ${PV} == "9999" ]] ; then
2386 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
2387 - if use staging; then
2388 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
2389 -
2390 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
2391 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
2392 -
2393 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
2394 -
2395 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
2396 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
2397 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
2398 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
2399 - fi
2400 - fi
2401 - if use d3d9; then
2402 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
2403 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
2404 - fi
2405 - fi
2406 -
2407 - default
2408 -
2409 - l10n_find_plocales_changes "${S}/po" "" ".po"
2410 -}
2411 -
2412 -src_prepare() {
2413 -
2414 - eapply_bin(){
2415 - local patch
2416 - for patch in ${PATCHES_BIN[@]}; do
2417 - patchbin --nogit < "${patch}" || die
2418 - done
2419 - }
2420 -
2421 - local md5="$(md5sum server/protocol.def)"
2422 -
2423 - if use staging; then
2424 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
2425 - ewarn "Wine bugzilla should explicitly state that staging was used."
2426 -
2427 - local STAGING_EXCLUDE=""
2428 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
2429 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
2430 -
2431 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
2432 - ebegin "Running Wine-Staging patch installer"
2433 - (
2434 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
2435 - cd "${STAGING_DIR}/patches"
2436 - source "${STAGING_DIR}/patches/patchinstall.sh"
2437 - )
2438 - eend $? || die "Failed to apply Wine-Staging patches"
2439 - fi
2440 - if use d3d9; then
2441 - if use staging; then
2442 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
2443 - else
2444 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
2445 - fi
2446 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
2447 - fi
2448 -
2449 - default
2450 - eapply_bin
2451 - eautoreconf
2452 -
2453 - # Modification of the server protocol requires regenerating the server requests
2454 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
2455 - einfo "server/protocol.def was patched; running tools/make_requests"
2456 - tools/make_requests || die #432348
2457 - fi
2458 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
2459 - if ! use run-exes; then
2460 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
2461 - fi
2462 -
2463 - # Edit wine.desktop to work for specific variant
2464 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
2465 -
2466 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
2467 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
2468 -
2469 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
2470 -}
2471 -
2472 -src_configure() {
2473 - wine_compiler_check || die
2474 -
2475 - export LDCONFIG=/bin/true
2476 - use custom-cflags || strip-flags
2477 -
2478 - multilib-minimal_src_configure
2479 -}
2480 -
2481 -multilib_src_configure() {
2482 - local myconf=(
2483 - --prefix="${MY_PREFIX}"
2484 - --datarootdir="${MY_DATAROOTDIR}"
2485 - --datadir="${MY_DATADIR}"
2486 - --docdir="${MY_DOCDIR}"
2487 - --includedir="${MY_INCLUDEDIR}"
2488 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
2489 - --libexecdir="${MY_LIBEXECDIR}"
2490 - --localstatedir="${MY_LOCALSTATEDIR}"
2491 - --mandir="${MY_MANDIR}"
2492 - --sysconfdir=/etc/wine
2493 - $(use_with alsa)
2494 - $(use_with capi)
2495 - $(use_with lcms cms)
2496 - $(use_with cups)
2497 - $(use_with ncurses curses)
2498 - $(use_with udisks dbus)
2499 - $(use_with fontconfig)
2500 - $(use_with ssl gnutls)
2501 - $(use_enable gecko mshtml)
2502 - $(use_with gphoto2 gphoto)
2503 - $(use_with gsm)
2504 - $(use_with gstreamer)
2505 - --without-hal
2506 - $(use_with jpeg)
2507 - $(use_with ldap)
2508 - $(use_enable mono mscoree)
2509 - $(use_with mp3 mpg123)
2510 - $(use_with netapi)
2511 - $(use_with nls gettext)
2512 - $(use_with openal)
2513 - $(use_with opencl)
2514 - $(use_with opengl)
2515 - $(use_with osmesa)
2516 - $(use_with oss)
2517 - $(use_with pcap)
2518 - $(use_with png)
2519 - $(use_with pulseaudio pulse)
2520 - $(use_with threads pthread)
2521 - $(use_with scanner sane)
2522 - $(use_enable test tests)
2523 - $(use_with truetype freetype)
2524 - $(use_with udev)
2525 - $(use_with v4l)
2526 - $(use_with X x)
2527 - $(use_with X xfixes)
2528 - $(use_with xcomposite)
2529 - $(use_with xinerama)
2530 - $(use_with xml)
2531 - $(use_with xml xslt)
2532 - )
2533 -
2534 - use staging && myconf+=(
2535 - --with-xattr
2536 - $(use_with themes gtk3)
2537 - $(use_with vaapi va)
2538 - )
2539 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
2540 -
2541 - local PKG_CONFIG AR RANLIB
2542 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
2543 - # set AR and RANLIB to make QA scripts happy; #483342
2544 - tc-export PKG_CONFIG AR RANLIB
2545 -
2546 - if use amd64; then
2547 - if [[ ${ABI} == amd64 ]]; then
2548 - myconf+=( --enable-win64 )
2549 - else
2550 - myconf+=( --disable-win64 )
2551 - fi
2552 -
2553 - # Note: using --with-wine64 results in problems with multilib.eclass
2554 - # CC/LD hackery. We're using separate tools instead.
2555 - fi
2556 -
2557 - ECONF_SOURCE=${S} \
2558 - econf "${myconf[@]}"
2559 - emake depend
2560 -}
2561 -
2562 -multilib_src_test() {
2563 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
2564 - if [[ ${ABI} == x86 ]]; then
2565 - if [[ $(id -u) == 0 ]]; then
2566 - ewarn "Skipping tests since they cannot be run under the root user."
2567 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
2568 - return
2569 - fi
2570 -
2571 - WINEPREFIX="${T}/.wine-${ABI}" \
2572 - Xemake test
2573 - fi
2574 -}
2575 -
2576 -multilib_src_install_all() {
2577 - local DOCS=( ANNOUNCE AUTHORS README )
2578 - add_locale_docs() {
2579 - local locale_doc="documentation/README.$1"
2580 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
2581 - }
2582 - l10n_for_each_locale_do add_locale_docs
2583 -
2584 - einstalldocs
2585 - prune_libtool_files --all
2586 -
2587 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
2588 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
2589 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
2590 - fi
2591 -
2592 - # Remove wineconsole if neither backend is installed #551124
2593 - if ! use X && ! use ncurses; then
2594 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
2595 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
2596 - rm_wineconsole() {
2597 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
2598 - }
2599 - multilib_foreach_abi rm_wineconsole
2600 - fi
2601 -
2602 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
2603 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
2604 -
2605 - if use abi_x86_64 && ! use abi_x86_32; then
2606 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
2607 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
2608 - fi
2609 -
2610 - # Failglob for bin and man loops
2611 - local glob_state=$(shopt -p failglob)
2612 - shopt -s failglob
2613 -
2614 - # Make wrappers for binaries for handling multiple variants
2615 - # Note: wrappers instead of symlinks because some are shell which use basename
2616 - local b
2617 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
2618 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
2619 - done
2620 -
2621 - # respect LINGUAS when installing man pages, #469418
2622 - local l
2623 - for l in de fr pl; do
2624 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
2625 - done
2626 -
2627 - eval "${glob_state}"
2628 -}
2629 -
2630 -pkg_postinst() {
2631 - eselect wine register ${P}
2632 - if [[ ${PN} == "wine-vanilla" ]]; then
2633 - eselect wine register --vanilla ${P} || die
2634 - else
2635 - if use staging; then
2636 - eselect wine register --staging ${P} || die
2637 - fi
2638 - if use d3d9; then
2639 - eselect wine register --d3d9 ${P} || die
2640 - fi
2641 - fi
2642 -
2643 - eselect wine update --all --if-unset || die
2644 -
2645 - xdg_desktop_database_update
2646 -
2647 - if ! use gecko; then
2648 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
2649 - ewarn "implementation of iexplore. Many older windows applications"
2650 - ewarn "rely upon the existence of an iexplore implementation, so"
2651 - ewarn "you will likely need to install an external one, like via winetricks"
2652 - fi
2653 - if ! use mono; then
2654 - ewarn "Without Wine Mono, wine prefixes will not have a default"
2655 - ewarn "implementation of .NET. Many windows applications rely upon"
2656 - ewarn "the existence of a .NET implementation, so you will likely need"
2657 - ewarn "to install an external one, like via winetricks"
2658 - fi
2659 -}
2660 -
2661 -pkg_prerm() {
2662 - eselect wine deregister ${P}
2663 - if [[ ${PN} == "wine-vanilla" ]]; then
2664 - eselect wine deregister --vanilla ${P} || die
2665 - else
2666 - if use staging; then
2667 - eselect wine deregister --staging ${P} || die
2668 - fi
2669 - if use d3d9; then
2670 - eselect wine deregister --d3d9 ${P} || die
2671 - fi
2672 - fi
2673 -
2674 - eselect wine update --all --if-unset || die
2675 -}
2676 -
2677 -pkg_postrm() {
2678 - xdg_desktop_database_update
2679 -}
2680
2681 diff --git a/app-emulation/wine-any/wine-any-2.12-r1.ebuild b/app-emulation/wine-any/wine-any-2.12-r1.ebuild
2682 deleted file mode 100644
2683 index 61c306c39f6..00000000000
2684 --- a/app-emulation/wine-any/wine-any-2.12-r1.ebuild
2685 +++ /dev/null
2686 @@ -1,638 +0,0 @@
2687 -# Copyright 1999-2017 Gentoo Foundation
2688 -# Distributed under the terms of the GNU General Public License v2
2689 -
2690 -EAPI=6
2691 -
2692 -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"
2693 -PLOCALE_BACKUP="en"
2694 -
2695 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
2696 -
2697 -MY_PN="${PN%%-*}"
2698 -MY_P="${MY_PN}-${PV}"
2699 -
2700 -if [[ ${PV} == "9999" ]] ; then
2701 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
2702 - EGIT_BRANCH="master"
2703 - inherit git-r3
2704 - SRC_URI=""
2705 - #KEYWORDS=""
2706 -else
2707 - MAJOR_V=$(get_version_component_range 1)
2708 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
2709 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
2710 -fi
2711 -S="${WORKDIR}/${MY_P}"
2712 -
2713 -STAGING_P="wine-staging-${PV}"
2714 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
2715 -D3D9_P="wine-d3d9-${PV}"
2716 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
2717 -GWP_V="20170830"
2718 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
2719 -
2720 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
2721 -HOMEPAGE="https://www.winehq.org/"
2722 -SRC_URI="${SRC_URI}
2723 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
2724 -"
2725 -
2726 -if [[ ${PV} == "9999" ]] ; then
2727 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
2728 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
2729 -else
2730 - SRC_URI="${SRC_URI}
2731 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
2732 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
2733 -fi
2734 -
2735 -LICENSE="LGPL-2.1"
2736 -SLOT="${PV}"
2737 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
2738 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2739 - X? ( truetype )
2740 - elibc_glibc? ( threads )
2741 - osmesa? ( opengl )
2742 - pipelight? ( staging )
2743 - s3tc? ( staging )
2744 - test? ( abi_x86_32 )
2745 - themes? ( staging )
2746 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
2747 -
2748 -# FIXME: the test suite is unsuitable for us; many tests require net access
2749 -# or fail due to Xvfb's opengl limitations.
2750 -RESTRICT="test"
2751 -
2752 -COMMON_DEPEND="
2753 - X? (
2754 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
2755 - x11-libs/libXext[${MULTILIB_USEDEP}]
2756 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
2757 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
2758 - x11-libs/libXi[${MULTILIB_USEDEP}]
2759 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2760 - )
2761 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2762 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2763 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2764 - d3d9? (
2765 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
2766 - x11-libs/libX11[${MULTILIB_USEDEP}]
2767 - x11-libs/libXext[${MULTILIB_USEDEP}]
2768 - x11-libs/libxcb[${MULTILIB_USEDEP}]
2769 - )
2770 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2771 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2772 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2773 - gstreamer? (
2774 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2775 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2776 - )
2777 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2778 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2779 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2780 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2781 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2782 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2783 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2784 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2785 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2786 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2787 - opengl? (
2788 - virtual/glu[${MULTILIB_USEDEP}]
2789 - virtual/opengl[${MULTILIB_USEDEP}]
2790 - )
2791 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
2792 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2793 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2794 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2795 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2796 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2797 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
2798 - themes? (
2799 - dev-libs/glib:2[${MULTILIB_USEDEP}]
2800 - x11-libs/cairo[${MULTILIB_USEDEP}]
2801 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
2802 - )
2803 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2804 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
2805 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2806 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2807 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
2808 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2809 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2810 - xml? (
2811 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2812 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2813 - )
2814 - abi_x86_32? (
2815 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2816 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2817 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
2818 - !<app-emulation/emul-linux-x86-db-20140508-r3
2819 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
2820 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
2821 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
2822 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
2823 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
2824 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
2825 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
2826 - !<app-emulation/emul-linux-x86-soundlibs-20140508
2827 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
2828 - !<app-emulation/emul-linux-x86-xlibs-20140508
2829 - )"
2830 -
2831 -RDEPEND="${COMMON_DEPEND}
2832 - app-emulation/wine-desktop-common
2833 - >app-eselect/eselect-wine-0.3
2834 - !app-emulation/wine:0
2835 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2836 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
2837 - mono? ( app-emulation/wine-mono:4.7.0 )
2838 - perl? (
2839 - dev-lang/perl
2840 - dev-perl/XML-Simple
2841 - )
2842 - pulseaudio? (
2843 - realtime? ( sys-auth/rtkit )
2844 - )
2845 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
2846 - samba? ( >=net-fs/samba-3.0.25[winbind] )
2847 - selinux? ( sec-policy/selinux-wine )
2848 - udisks? ( sys-fs/udisks:2 )"
2849 -
2850 -# tools/make_requests requires perl
2851 -DEPEND="${COMMON_DEPEND}
2852 - sys-devel/flex
2853 - >=sys-kernel/linux-headers-2.6
2854 - virtual/pkgconfig
2855 - virtual/yacc
2856 - X? (
2857 - x11-proto/inputproto
2858 - x11-proto/xextproto
2859 - x11-proto/xf86vidmodeproto
2860 - )
2861 - prelink? ( sys-devel/prelink )
2862 - staging? (
2863 - dev-lang/perl
2864 - dev-perl/XML-Simple
2865 - )
2866 - xinerama? ( x11-proto/xineramaproto )"
2867 -
2868 -# These use a non-standard "Wine" category, which is provided by
2869 -# /etc/xdg/applications-merged/wine.menu
2870 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
2871 -usr/share/applications/wine-notepad.desktop
2872 -usr/share/applications/wine-uninstaller.desktop
2873 -usr/share/applications/wine-winecfg.desktop"
2874 -
2875 -PATCHES=(
2876 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
2877 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
2878 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
2879 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
2880 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
2881 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
2882 -)
2883 -PATCHES_BIN=(
2884 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
2885 -)
2886 -
2887 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
2888 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
2889 - DEPEND+=" dev-util/patchbin"
2890 -fi
2891 -
2892 -wine_compiler_check() {
2893 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2894 -
2895 - # GCC-specific bugs
2896 - if tc-is-gcc; then
2897 - # bug #549768
2898 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2899 - ebegin "Checking for gcc-5 ms_abi compiler bug"
2900 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
2901 - # Run in subshell to prevent "Aborted" message
2902 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2903 - if ! eend $?; then
2904 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2905 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2906 - eerror "or use gcc-config to select a different compiler version."
2907 - eerror "See https://bugs.gentoo.org/549768"
2908 - eerror
2909 - return 1
2910 - fi
2911 - fi
2912 - # bug #574044
2913 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2914 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2915 - # Compile in subshell to prevent "Aborted" message
2916 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
2917 - if ! eend $?; then
2918 - eerror "Wine cannot be built with this version of gcc-5.3"
2919 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2920 - eerror "or use gcc-config to select a different compiler version."
2921 - eerror "See https://bugs.gentoo.org/574044"
2922 - eerror
2923 - return 1
2924 - fi
2925 - fi
2926 - fi
2927 -
2928 - # Ensure compiler support
2929 - if use abi_x86_64; then
2930 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2931 - # Compile in subshell to prevent "Aborted" message
2932 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2933 - if ! eend $?; then
2934 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2935 - eerror
2936 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2937 - eerror
2938 - return 1
2939 - fi
2940 - fi
2941 -}
2942 -
2943 -wine_build_environment_check() {
2944 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2945 -
2946 - if use abi_x86_64; then
2947 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
2948 - eerror "You need gcc-4.4+ to compile 64-bit wine"
2949 - die
2950 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
2951 - eerror "You need clang-3.8+ to compile 64-bit wine"
2952 - die
2953 - fi
2954 - fi
2955 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
2956 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
2957 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
2958 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
2959 - fi
2960 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
2961 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
2962 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
2963 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
2964 - ewarn "See package.env in man 5 portage for more information on how to do this."
2965 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
2966 - fi
2967 - fi
2968 -
2969 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
2970 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2971 - eerror "See https://bugs.gentoo.org/487864 for more details."
2972 - eerror
2973 - return 1
2974 - fi
2975 -}
2976 -
2977 -wine_env_vcs_vars() {
2978 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
2979 - local pn_live_val="${pn_live_var}"
2980 - eval pn_live_val='$'${pn_live_val}
2981 - if [[ ! -z ${pn_live_val} ]]; then
2982 - if use staging || use d3d9; then
2983 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
2984 - eerror "cannot be used to set the commit. Instead, you may use the"
2985 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
2986 - eerror
2987 - return 1
2988 - fi
2989 - fi
2990 - if [[ ! -z ${EGIT_COMMIT} ]]; then
2991 - eerror "Commits must now be specified using the environmental variables"
2992 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
2993 - eerror
2994 - return 1
2995 - fi
2996 -}
2997 -
2998 -pkg_pretend() {
2999 - wine_build_environment_check || die
3000 -
3001 - # Verify OSS support
3002 - if use oss && ! use kernel_FreeBSD; then
3003 - if ! has_version ">=media-sound/oss-4"; then
3004 - eerror "You cannot build wine with USE=oss without having support from a"
3005 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3006 - eerror
3007 - die
3008 - fi
3009 - fi
3010 -}
3011 -
3012 -pkg_setup() {
3013 - wine_build_environment_check || die
3014 - wine_env_vcs_vars || die
3015 -
3016 - WINE_VARIANT="${PN#wine}-${PV}"
3017 - WINE_VARIANT="${WINE_VARIANT#-}"
3018 -
3019 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
3020 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
3021 - MY_DATADIR="${MY_DATAROOTDIR}"
3022 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
3023 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
3024 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
3025 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
3026 - MY_MANDIR="${MY_DATADIR}/man"
3027 -}
3028 -
3029 -src_unpack() {
3030 - if [[ ${PV} == "9999" ]] ; then
3031 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
3032 - if use staging; then
3033 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
3034 -
3035 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
3036 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
3037 -
3038 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
3039 -
3040 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
3041 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
3042 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
3043 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
3044 - fi
3045 - fi
3046 - if use d3d9; then
3047 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
3048 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
3049 - fi
3050 - fi
3051 -
3052 - default
3053 -
3054 - l10n_find_plocales_changes "${S}/po" "" ".po"
3055 -}
3056 -
3057 -src_prepare() {
3058 -
3059 - eapply_bin(){
3060 - local patch
3061 - for patch in ${PATCHES_BIN[@]}; do
3062 - patchbin --nogit < "${patch}" || die
3063 - done
3064 - }
3065 -
3066 - local md5="$(md5sum server/protocol.def)"
3067 -
3068 - if use staging; then
3069 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
3070 - ewarn "Wine bugzilla should explicitly state that staging was used."
3071 -
3072 - local STAGING_EXCLUDE=""
3073 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
3074 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
3075 -
3076 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
3077 - ebegin "Running Wine-Staging patch installer"
3078 - (
3079 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
3080 - cd "${STAGING_DIR}/patches"
3081 - source "${STAGING_DIR}/patches/patchinstall.sh"
3082 - )
3083 - eend $? || die "Failed to apply Wine-Staging patches"
3084 - fi
3085 - if use d3d9; then
3086 - if use staging; then
3087 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
3088 - else
3089 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
3090 - fi
3091 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
3092 - fi
3093 -
3094 - default
3095 - eapply_bin
3096 - eautoreconf
3097 -
3098 - # Modification of the server protocol requires regenerating the server requests
3099 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
3100 - einfo "server/protocol.def was patched; running tools/make_requests"
3101 - tools/make_requests || die #432348
3102 - fi
3103 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
3104 - if ! use run-exes; then
3105 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
3106 - fi
3107 -
3108 - # Edit wine.desktop to work for specific variant
3109 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
3110 -
3111 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
3112 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
3113 -
3114 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
3115 -}
3116 -
3117 -src_configure() {
3118 - wine_compiler_check || die
3119 -
3120 - export LDCONFIG=/bin/true
3121 - use custom-cflags || strip-flags
3122 -
3123 - multilib-minimal_src_configure
3124 -}
3125 -
3126 -multilib_src_configure() {
3127 - local myconf=(
3128 - --prefix="${MY_PREFIX}"
3129 - --datarootdir="${MY_DATAROOTDIR}"
3130 - --datadir="${MY_DATADIR}"
3131 - --docdir="${MY_DOCDIR}"
3132 - --includedir="${MY_INCLUDEDIR}"
3133 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
3134 - --libexecdir="${MY_LIBEXECDIR}"
3135 - --localstatedir="${MY_LOCALSTATEDIR}"
3136 - --mandir="${MY_MANDIR}"
3137 - --sysconfdir=/etc/wine
3138 - $(use_with alsa)
3139 - $(use_with capi)
3140 - $(use_with lcms cms)
3141 - $(use_with cups)
3142 - $(use_with ncurses curses)
3143 - $(use_with udisks dbus)
3144 - $(use_with fontconfig)
3145 - $(use_with ssl gnutls)
3146 - $(use_enable gecko mshtml)
3147 - $(use_with gphoto2 gphoto)
3148 - $(use_with gsm)
3149 - $(use_with gstreamer)
3150 - --without-hal
3151 - $(use_with jpeg)
3152 - $(use_with ldap)
3153 - $(use_enable mono mscoree)
3154 - $(use_with mp3 mpg123)
3155 - $(use_with netapi)
3156 - $(use_with nls gettext)
3157 - $(use_with openal)
3158 - $(use_with opencl)
3159 - $(use_with opengl)
3160 - $(use_with osmesa)
3161 - $(use_with oss)
3162 - $(use_with pcap)
3163 - $(use_with png)
3164 - $(use_with pulseaudio pulse)
3165 - $(use_with threads pthread)
3166 - $(use_with scanner sane)
3167 - $(use_enable test tests)
3168 - $(use_with truetype freetype)
3169 - $(use_with udev)
3170 - $(use_with v4l)
3171 - $(use_with X x)
3172 - $(use_with X xfixes)
3173 - $(use_with xcomposite)
3174 - $(use_with xinerama)
3175 - $(use_with xml)
3176 - $(use_with xml xslt)
3177 - )
3178 -
3179 - use staging && myconf+=(
3180 - --with-xattr
3181 - $(use_with themes gtk3)
3182 - $(use_with vaapi va)
3183 - )
3184 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
3185 -
3186 - local PKG_CONFIG AR RANLIB
3187 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
3188 - # set AR and RANLIB to make QA scripts happy; #483342
3189 - tc-export PKG_CONFIG AR RANLIB
3190 -
3191 - if use amd64; then
3192 - if [[ ${ABI} == amd64 ]]; then
3193 - myconf+=( --enable-win64 )
3194 - else
3195 - myconf+=( --disable-win64 )
3196 - fi
3197 -
3198 - # Note: using --with-wine64 results in problems with multilib.eclass
3199 - # CC/LD hackery. We're using separate tools instead.
3200 - fi
3201 -
3202 - ECONF_SOURCE=${S} \
3203 - econf "${myconf[@]}"
3204 - emake depend
3205 -}
3206 -
3207 -multilib_src_test() {
3208 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
3209 - if [[ ${ABI} == x86 ]]; then
3210 - if [[ $(id -u) == 0 ]]; then
3211 - ewarn "Skipping tests since they cannot be run under the root user."
3212 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
3213 - return
3214 - fi
3215 -
3216 - WINEPREFIX="${T}/.wine-${ABI}" \
3217 - Xemake test
3218 - fi
3219 -}
3220 -
3221 -multilib_src_install_all() {
3222 - local DOCS=( ANNOUNCE AUTHORS README )
3223 - add_locale_docs() {
3224 - local locale_doc="documentation/README.$1"
3225 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
3226 - }
3227 - l10n_for_each_locale_do add_locale_docs
3228 -
3229 - einstalldocs
3230 - prune_libtool_files --all
3231 -
3232 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
3233 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
3234 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
3235 - fi
3236 -
3237 - # Remove wineconsole if neither backend is installed #551124
3238 - if ! use X && ! use ncurses; then
3239 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
3240 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
3241 - rm_wineconsole() {
3242 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
3243 - }
3244 - multilib_foreach_abi rm_wineconsole
3245 - fi
3246 -
3247 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
3248 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
3249 -
3250 - if use abi_x86_64 && ! use abi_x86_32; then
3251 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
3252 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
3253 - fi
3254 -
3255 - # Failglob for bin and man loops
3256 - local glob_state=$(shopt -p failglob)
3257 - shopt -s failglob
3258 -
3259 - # Make wrappers for binaries for handling multiple variants
3260 - # Note: wrappers instead of symlinks because some are shell which use basename
3261 - local b
3262 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
3263 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
3264 - done
3265 -
3266 - # respect LINGUAS when installing man pages, #469418
3267 - local l
3268 - for l in de fr pl; do
3269 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
3270 - done
3271 -
3272 - eval "${glob_state}"
3273 -}
3274 -
3275 -pkg_postinst() {
3276 - eselect wine register ${P}
3277 - if [[ ${PN} == "wine-vanilla" ]]; then
3278 - eselect wine register --vanilla ${P} || die
3279 - else
3280 - if use staging; then
3281 - eselect wine register --staging ${P} || die
3282 - fi
3283 - if use d3d9; then
3284 - eselect wine register --d3d9 ${P} || die
3285 - fi
3286 - fi
3287 -
3288 - eselect wine update --all --if-unset || die
3289 -
3290 - xdg_desktop_database_update
3291 -
3292 - if ! use gecko; then
3293 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
3294 - ewarn "implementation of iexplore. Many older windows applications"
3295 - ewarn "rely upon the existence of an iexplore implementation, so"
3296 - ewarn "you will likely need to install an external one, like via winetricks"
3297 - fi
3298 - if ! use mono; then
3299 - ewarn "Without Wine Mono, wine prefixes will not have a default"
3300 - ewarn "implementation of .NET. Many windows applications rely upon"
3301 - ewarn "the existence of a .NET implementation, so you will likely need"
3302 - ewarn "to install an external one, like via winetricks"
3303 - fi
3304 -}
3305 -
3306 -pkg_prerm() {
3307 - eselect wine deregister ${P}
3308 - if [[ ${PN} == "wine-vanilla" ]]; then
3309 - eselect wine deregister --vanilla ${P} || die
3310 - else
3311 - if use staging; then
3312 - eselect wine deregister --staging ${P} || die
3313 - fi
3314 - if use d3d9; then
3315 - eselect wine deregister --d3d9 ${P} || die
3316 - fi
3317 - fi
3318 -
3319 - eselect wine update --all --if-unset || die
3320 -}
3321 -
3322 -pkg_postrm() {
3323 - xdg_desktop_database_update
3324 -}
3325
3326 diff --git a/app-emulation/wine-any/wine-any-2.13-r1.ebuild b/app-emulation/wine-any/wine-any-2.13-r1.ebuild
3327 deleted file mode 100644
3328 index 61c306c39f6..00000000000
3329 --- a/app-emulation/wine-any/wine-any-2.13-r1.ebuild
3330 +++ /dev/null
3331 @@ -1,638 +0,0 @@
3332 -# Copyright 1999-2017 Gentoo Foundation
3333 -# Distributed under the terms of the GNU General Public License v2
3334 -
3335 -EAPI=6
3336 -
3337 -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"
3338 -PLOCALE_BACKUP="en"
3339 -
3340 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
3341 -
3342 -MY_PN="${PN%%-*}"
3343 -MY_P="${MY_PN}-${PV}"
3344 -
3345 -if [[ ${PV} == "9999" ]] ; then
3346 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
3347 - EGIT_BRANCH="master"
3348 - inherit git-r3
3349 - SRC_URI=""
3350 - #KEYWORDS=""
3351 -else
3352 - MAJOR_V=$(get_version_component_range 1)
3353 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
3354 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
3355 -fi
3356 -S="${WORKDIR}/${MY_P}"
3357 -
3358 -STAGING_P="wine-staging-${PV}"
3359 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
3360 -D3D9_P="wine-d3d9-${PV}"
3361 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
3362 -GWP_V="20170830"
3363 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
3364 -
3365 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
3366 -HOMEPAGE="https://www.winehq.org/"
3367 -SRC_URI="${SRC_URI}
3368 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
3369 -"
3370 -
3371 -if [[ ${PV} == "9999" ]] ; then
3372 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
3373 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
3374 -else
3375 - SRC_URI="${SRC_URI}
3376 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
3377 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
3378 -fi
3379 -
3380 -LICENSE="LGPL-2.1"
3381 -SLOT="${PV}"
3382 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
3383 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3384 - X? ( truetype )
3385 - elibc_glibc? ( threads )
3386 - osmesa? ( opengl )
3387 - pipelight? ( staging )
3388 - s3tc? ( staging )
3389 - test? ( abi_x86_32 )
3390 - themes? ( staging )
3391 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
3392 -
3393 -# FIXME: the test suite is unsuitable for us; many tests require net access
3394 -# or fail due to Xvfb's opengl limitations.
3395 -RESTRICT="test"
3396 -
3397 -COMMON_DEPEND="
3398 - X? (
3399 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
3400 - x11-libs/libXext[${MULTILIB_USEDEP}]
3401 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
3402 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
3403 - x11-libs/libXi[${MULTILIB_USEDEP}]
3404 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3405 - )
3406 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3407 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3408 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3409 - d3d9? (
3410 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
3411 - x11-libs/libX11[${MULTILIB_USEDEP}]
3412 - x11-libs/libXext[${MULTILIB_USEDEP}]
3413 - x11-libs/libxcb[${MULTILIB_USEDEP}]
3414 - )
3415 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3416 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3417 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3418 - gstreamer? (
3419 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3420 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3421 - )
3422 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3423 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3424 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3425 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3426 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3427 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3428 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3429 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3430 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3431 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3432 - opengl? (
3433 - virtual/glu[${MULTILIB_USEDEP}]
3434 - virtual/opengl[${MULTILIB_USEDEP}]
3435 - )
3436 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
3437 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3438 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3439 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3440 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3441 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3442 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
3443 - themes? (
3444 - dev-libs/glib:2[${MULTILIB_USEDEP}]
3445 - x11-libs/cairo[${MULTILIB_USEDEP}]
3446 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
3447 - )
3448 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3449 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
3450 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3451 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3452 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
3453 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3454 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3455 - xml? (
3456 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3457 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3458 - )
3459 - abi_x86_32? (
3460 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3461 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3462 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
3463 - !<app-emulation/emul-linux-x86-db-20140508-r3
3464 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
3465 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
3466 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
3467 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
3468 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
3469 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
3470 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
3471 - !<app-emulation/emul-linux-x86-soundlibs-20140508
3472 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
3473 - !<app-emulation/emul-linux-x86-xlibs-20140508
3474 - )"
3475 -
3476 -RDEPEND="${COMMON_DEPEND}
3477 - app-emulation/wine-desktop-common
3478 - >app-eselect/eselect-wine-0.3
3479 - !app-emulation/wine:0
3480 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3481 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
3482 - mono? ( app-emulation/wine-mono:4.7.0 )
3483 - perl? (
3484 - dev-lang/perl
3485 - dev-perl/XML-Simple
3486 - )
3487 - pulseaudio? (
3488 - realtime? ( sys-auth/rtkit )
3489 - )
3490 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
3491 - samba? ( >=net-fs/samba-3.0.25[winbind] )
3492 - selinux? ( sec-policy/selinux-wine )
3493 - udisks? ( sys-fs/udisks:2 )"
3494 -
3495 -# tools/make_requests requires perl
3496 -DEPEND="${COMMON_DEPEND}
3497 - sys-devel/flex
3498 - >=sys-kernel/linux-headers-2.6
3499 - virtual/pkgconfig
3500 - virtual/yacc
3501 - X? (
3502 - x11-proto/inputproto
3503 - x11-proto/xextproto
3504 - x11-proto/xf86vidmodeproto
3505 - )
3506 - prelink? ( sys-devel/prelink )
3507 - staging? (
3508 - dev-lang/perl
3509 - dev-perl/XML-Simple
3510 - )
3511 - xinerama? ( x11-proto/xineramaproto )"
3512 -
3513 -# These use a non-standard "Wine" category, which is provided by
3514 -# /etc/xdg/applications-merged/wine.menu
3515 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
3516 -usr/share/applications/wine-notepad.desktop
3517 -usr/share/applications/wine-uninstaller.desktop
3518 -usr/share/applications/wine-winecfg.desktop"
3519 -
3520 -PATCHES=(
3521 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
3522 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
3523 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
3524 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
3525 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
3526 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
3527 -)
3528 -PATCHES_BIN=(
3529 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
3530 -)
3531 -
3532 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
3533 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
3534 - DEPEND+=" dev-util/patchbin"
3535 -fi
3536 -
3537 -wine_compiler_check() {
3538 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3539 -
3540 - # GCC-specific bugs
3541 - if tc-is-gcc; then
3542 - # bug #549768
3543 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3544 - ebegin "Checking for gcc-5 ms_abi compiler bug"
3545 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
3546 - # Run in subshell to prevent "Aborted" message
3547 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3548 - if ! eend $?; then
3549 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3550 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3551 - eerror "or use gcc-config to select a different compiler version."
3552 - eerror "See https://bugs.gentoo.org/549768"
3553 - eerror
3554 - return 1
3555 - fi
3556 - fi
3557 - # bug #574044
3558 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3559 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3560 - # Compile in subshell to prevent "Aborted" message
3561 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
3562 - if ! eend $?; then
3563 - eerror "Wine cannot be built with this version of gcc-5.3"
3564 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3565 - eerror "or use gcc-config to select a different compiler version."
3566 - eerror "See https://bugs.gentoo.org/574044"
3567 - eerror
3568 - return 1
3569 - fi
3570 - fi
3571 - fi
3572 -
3573 - # Ensure compiler support
3574 - if use abi_x86_64; then
3575 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
3576 - # Compile in subshell to prevent "Aborted" message
3577 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
3578 - if ! eend $?; then
3579 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
3580 - eerror
3581 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
3582 - eerror
3583 - return 1
3584 - fi
3585 - fi
3586 -}
3587 -
3588 -wine_build_environment_check() {
3589 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3590 -
3591 - if use abi_x86_64; then
3592 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
3593 - eerror "You need gcc-4.4+ to compile 64-bit wine"
3594 - die
3595 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
3596 - eerror "You need clang-3.8+ to compile 64-bit wine"
3597 - die
3598 - fi
3599 - fi
3600 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
3601 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
3602 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
3603 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
3604 - fi
3605 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
3606 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
3607 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
3608 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
3609 - ewarn "See package.env in man 5 portage for more information on how to do this."
3610 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
3611 - fi
3612 - fi
3613 -
3614 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
3615 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
3616 - eerror "See https://bugs.gentoo.org/487864 for more details."
3617 - eerror
3618 - return 1
3619 - fi
3620 -}
3621 -
3622 -wine_env_vcs_vars() {
3623 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
3624 - local pn_live_val="${pn_live_var}"
3625 - eval pn_live_val='$'${pn_live_val}
3626 - if [[ ! -z ${pn_live_val} ]]; then
3627 - if use staging || use d3d9; then
3628 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
3629 - eerror "cannot be used to set the commit. Instead, you may use the"
3630 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
3631 - eerror
3632 - return 1
3633 - fi
3634 - fi
3635 - if [[ ! -z ${EGIT_COMMIT} ]]; then
3636 - eerror "Commits must now be specified using the environmental variables"
3637 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
3638 - eerror
3639 - return 1
3640 - fi
3641 -}
3642 -
3643 -pkg_pretend() {
3644 - wine_build_environment_check || die
3645 -
3646 - # Verify OSS support
3647 - if use oss && ! use kernel_FreeBSD; then
3648 - if ! has_version ">=media-sound/oss-4"; then
3649 - eerror "You cannot build wine with USE=oss without having support from a"
3650 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3651 - eerror
3652 - die
3653 - fi
3654 - fi
3655 -}
3656 -
3657 -pkg_setup() {
3658 - wine_build_environment_check || die
3659 - wine_env_vcs_vars || die
3660 -
3661 - WINE_VARIANT="${PN#wine}-${PV}"
3662 - WINE_VARIANT="${WINE_VARIANT#-}"
3663 -
3664 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
3665 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
3666 - MY_DATADIR="${MY_DATAROOTDIR}"
3667 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
3668 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
3669 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
3670 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
3671 - MY_MANDIR="${MY_DATADIR}/man"
3672 -}
3673 -
3674 -src_unpack() {
3675 - if [[ ${PV} == "9999" ]] ; then
3676 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
3677 - if use staging; then
3678 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
3679 -
3680 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
3681 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
3682 -
3683 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
3684 -
3685 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
3686 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
3687 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
3688 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
3689 - fi
3690 - fi
3691 - if use d3d9; then
3692 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
3693 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
3694 - fi
3695 - fi
3696 -
3697 - default
3698 -
3699 - l10n_find_plocales_changes "${S}/po" "" ".po"
3700 -}
3701 -
3702 -src_prepare() {
3703 -
3704 - eapply_bin(){
3705 - local patch
3706 - for patch in ${PATCHES_BIN[@]}; do
3707 - patchbin --nogit < "${patch}" || die
3708 - done
3709 - }
3710 -
3711 - local md5="$(md5sum server/protocol.def)"
3712 -
3713 - if use staging; then
3714 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
3715 - ewarn "Wine bugzilla should explicitly state that staging was used."
3716 -
3717 - local STAGING_EXCLUDE=""
3718 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
3719 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
3720 -
3721 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
3722 - ebegin "Running Wine-Staging patch installer"
3723 - (
3724 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
3725 - cd "${STAGING_DIR}/patches"
3726 - source "${STAGING_DIR}/patches/patchinstall.sh"
3727 - )
3728 - eend $? || die "Failed to apply Wine-Staging patches"
3729 - fi
3730 - if use d3d9; then
3731 - if use staging; then
3732 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
3733 - else
3734 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
3735 - fi
3736 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
3737 - fi
3738 -
3739 - default
3740 - eapply_bin
3741 - eautoreconf
3742 -
3743 - # Modification of the server protocol requires regenerating the server requests
3744 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
3745 - einfo "server/protocol.def was patched; running tools/make_requests"
3746 - tools/make_requests || die #432348
3747 - fi
3748 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
3749 - if ! use run-exes; then
3750 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
3751 - fi
3752 -
3753 - # Edit wine.desktop to work for specific variant
3754 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
3755 -
3756 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
3757 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
3758 -
3759 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
3760 -}
3761 -
3762 -src_configure() {
3763 - wine_compiler_check || die
3764 -
3765 - export LDCONFIG=/bin/true
3766 - use custom-cflags || strip-flags
3767 -
3768 - multilib-minimal_src_configure
3769 -}
3770 -
3771 -multilib_src_configure() {
3772 - local myconf=(
3773 - --prefix="${MY_PREFIX}"
3774 - --datarootdir="${MY_DATAROOTDIR}"
3775 - --datadir="${MY_DATADIR}"
3776 - --docdir="${MY_DOCDIR}"
3777 - --includedir="${MY_INCLUDEDIR}"
3778 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
3779 - --libexecdir="${MY_LIBEXECDIR}"
3780 - --localstatedir="${MY_LOCALSTATEDIR}"
3781 - --mandir="${MY_MANDIR}"
3782 - --sysconfdir=/etc/wine
3783 - $(use_with alsa)
3784 - $(use_with capi)
3785 - $(use_with lcms cms)
3786 - $(use_with cups)
3787 - $(use_with ncurses curses)
3788 - $(use_with udisks dbus)
3789 - $(use_with fontconfig)
3790 - $(use_with ssl gnutls)
3791 - $(use_enable gecko mshtml)
3792 - $(use_with gphoto2 gphoto)
3793 - $(use_with gsm)
3794 - $(use_with gstreamer)
3795 - --without-hal
3796 - $(use_with jpeg)
3797 - $(use_with ldap)
3798 - $(use_enable mono mscoree)
3799 - $(use_with mp3 mpg123)
3800 - $(use_with netapi)
3801 - $(use_with nls gettext)
3802 - $(use_with openal)
3803 - $(use_with opencl)
3804 - $(use_with opengl)
3805 - $(use_with osmesa)
3806 - $(use_with oss)
3807 - $(use_with pcap)
3808 - $(use_with png)
3809 - $(use_with pulseaudio pulse)
3810 - $(use_with threads pthread)
3811 - $(use_with scanner sane)
3812 - $(use_enable test tests)
3813 - $(use_with truetype freetype)
3814 - $(use_with udev)
3815 - $(use_with v4l)
3816 - $(use_with X x)
3817 - $(use_with X xfixes)
3818 - $(use_with xcomposite)
3819 - $(use_with xinerama)
3820 - $(use_with xml)
3821 - $(use_with xml xslt)
3822 - )
3823 -
3824 - use staging && myconf+=(
3825 - --with-xattr
3826 - $(use_with themes gtk3)
3827 - $(use_with vaapi va)
3828 - )
3829 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
3830 -
3831 - local PKG_CONFIG AR RANLIB
3832 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
3833 - # set AR and RANLIB to make QA scripts happy; #483342
3834 - tc-export PKG_CONFIG AR RANLIB
3835 -
3836 - if use amd64; then
3837 - if [[ ${ABI} == amd64 ]]; then
3838 - myconf+=( --enable-win64 )
3839 - else
3840 - myconf+=( --disable-win64 )
3841 - fi
3842 -
3843 - # Note: using --with-wine64 results in problems with multilib.eclass
3844 - # CC/LD hackery. We're using separate tools instead.
3845 - fi
3846 -
3847 - ECONF_SOURCE=${S} \
3848 - econf "${myconf[@]}"
3849 - emake depend
3850 -}
3851 -
3852 -multilib_src_test() {
3853 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
3854 - if [[ ${ABI} == x86 ]]; then
3855 - if [[ $(id -u) == 0 ]]; then
3856 - ewarn "Skipping tests since they cannot be run under the root user."
3857 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
3858 - return
3859 - fi
3860 -
3861 - WINEPREFIX="${T}/.wine-${ABI}" \
3862 - Xemake test
3863 - fi
3864 -}
3865 -
3866 -multilib_src_install_all() {
3867 - local DOCS=( ANNOUNCE AUTHORS README )
3868 - add_locale_docs() {
3869 - local locale_doc="documentation/README.$1"
3870 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
3871 - }
3872 - l10n_for_each_locale_do add_locale_docs
3873 -
3874 - einstalldocs
3875 - prune_libtool_files --all
3876 -
3877 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
3878 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
3879 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
3880 - fi
3881 -
3882 - # Remove wineconsole if neither backend is installed #551124
3883 - if ! use X && ! use ncurses; then
3884 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
3885 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
3886 - rm_wineconsole() {
3887 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
3888 - }
3889 - multilib_foreach_abi rm_wineconsole
3890 - fi
3891 -
3892 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
3893 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
3894 -
3895 - if use abi_x86_64 && ! use abi_x86_32; then
3896 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
3897 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
3898 - fi
3899 -
3900 - # Failglob for bin and man loops
3901 - local glob_state=$(shopt -p failglob)
3902 - shopt -s failglob
3903 -
3904 - # Make wrappers for binaries for handling multiple variants
3905 - # Note: wrappers instead of symlinks because some are shell which use basename
3906 - local b
3907 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
3908 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
3909 - done
3910 -
3911 - # respect LINGUAS when installing man pages, #469418
3912 - local l
3913 - for l in de fr pl; do
3914 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
3915 - done
3916 -
3917 - eval "${glob_state}"
3918 -}
3919 -
3920 -pkg_postinst() {
3921 - eselect wine register ${P}
3922 - if [[ ${PN} == "wine-vanilla" ]]; then
3923 - eselect wine register --vanilla ${P} || die
3924 - else
3925 - if use staging; then
3926 - eselect wine register --staging ${P} || die
3927 - fi
3928 - if use d3d9; then
3929 - eselect wine register --d3d9 ${P} || die
3930 - fi
3931 - fi
3932 -
3933 - eselect wine update --all --if-unset || die
3934 -
3935 - xdg_desktop_database_update
3936 -
3937 - if ! use gecko; then
3938 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
3939 - ewarn "implementation of iexplore. Many older windows applications"
3940 - ewarn "rely upon the existence of an iexplore implementation, so"
3941 - ewarn "you will likely need to install an external one, like via winetricks"
3942 - fi
3943 - if ! use mono; then
3944 - ewarn "Without Wine Mono, wine prefixes will not have a default"
3945 - ewarn "implementation of .NET. Many windows applications rely upon"
3946 - ewarn "the existence of a .NET implementation, so you will likely need"
3947 - ewarn "to install an external one, like via winetricks"
3948 - fi
3949 -}
3950 -
3951 -pkg_prerm() {
3952 - eselect wine deregister ${P}
3953 - if [[ ${PN} == "wine-vanilla" ]]; then
3954 - eselect wine deregister --vanilla ${P} || die
3955 - else
3956 - if use staging; then
3957 - eselect wine deregister --staging ${P} || die
3958 - fi
3959 - if use d3d9; then
3960 - eselect wine deregister --d3d9 ${P} || die
3961 - fi
3962 - fi
3963 -
3964 - eselect wine update --all --if-unset || die
3965 -}
3966 -
3967 -pkg_postrm() {
3968 - xdg_desktop_database_update
3969 -}
3970
3971 diff --git a/app-emulation/wine-any/wine-any-2.14-r1.ebuild b/app-emulation/wine-any/wine-any-2.14-r1.ebuild
3972 deleted file mode 100644
3973 index 759f602d174..00000000000
3974 --- a/app-emulation/wine-any/wine-any-2.14-r1.ebuild
3975 +++ /dev/null
3976 @@ -1,638 +0,0 @@
3977 -# Copyright 1999-2017 Gentoo Foundation
3978 -# Distributed under the terms of the GNU General Public License v2
3979 -
3980 -EAPI=6
3981 -
3982 -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"
3983 -PLOCALE_BACKUP="en"
3984 -
3985 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
3986 -
3987 -MY_PN="${PN%%-*}"
3988 -MY_P="${MY_PN}-${PV}"
3989 -
3990 -if [[ ${PV} == "9999" ]] ; then
3991 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
3992 - EGIT_BRANCH="master"
3993 - inherit git-r3
3994 - SRC_URI=""
3995 - #KEYWORDS=""
3996 -else
3997 - MAJOR_V=$(get_version_component_range 1)
3998 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
3999 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
4000 -fi
4001 -S="${WORKDIR}/${MY_P}"
4002 -
4003 -STAGING_P="wine-staging-${PV}"
4004 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
4005 -D3D9_P="wine-d3d9-${PV}"
4006 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
4007 -GWP_V="20170830"
4008 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
4009 -
4010 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
4011 -HOMEPAGE="https://www.winehq.org/"
4012 -SRC_URI="${SRC_URI}
4013 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
4014 -"
4015 -
4016 -if [[ ${PV} == "9999" ]] ; then
4017 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
4018 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
4019 -else
4020 - SRC_URI="${SRC_URI}
4021 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
4022 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
4023 -fi
4024 -
4025 -LICENSE="LGPL-2.1"
4026 -SLOT="${PV}"
4027 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
4028 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
4029 - X? ( truetype )
4030 - elibc_glibc? ( threads )
4031 - osmesa? ( opengl )
4032 - pipelight? ( staging )
4033 - s3tc? ( staging )
4034 - test? ( abi_x86_32 )
4035 - themes? ( staging )
4036 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
4037 -
4038 -# FIXME: the test suite is unsuitable for us; many tests require net access
4039 -# or fail due to Xvfb's opengl limitations.
4040 -RESTRICT="test"
4041 -
4042 -COMMON_DEPEND="
4043 - X? (
4044 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
4045 - x11-libs/libXext[${MULTILIB_USEDEP}]
4046 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
4047 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
4048 - x11-libs/libXi[${MULTILIB_USEDEP}]
4049 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
4050 - )
4051 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
4052 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
4053 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
4054 - d3d9? (
4055 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
4056 - x11-libs/libX11[${MULTILIB_USEDEP}]
4057 - x11-libs/libXext[${MULTILIB_USEDEP}]
4058 - x11-libs/libxcb[${MULTILIB_USEDEP}]
4059 - )
4060 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
4061 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
4062 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
4063 - gstreamer? (
4064 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
4065 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
4066 - )
4067 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
4068 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
4069 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
4070 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
4071 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
4072 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
4073 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
4074 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
4075 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
4076 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
4077 - opengl? (
4078 - virtual/glu[${MULTILIB_USEDEP}]
4079 - virtual/opengl[${MULTILIB_USEDEP}]
4080 - )
4081 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
4082 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
4083 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4084 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
4085 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
4086 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
4087 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
4088 - themes? (
4089 - dev-libs/glib:2[${MULTILIB_USEDEP}]
4090 - x11-libs/cairo[${MULTILIB_USEDEP}]
4091 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
4092 - )
4093 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
4094 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
4095 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
4096 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
4097 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
4098 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
4099 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
4100 - xml? (
4101 - dev-libs/libxml2[${MULTILIB_USEDEP}]
4102 - dev-libs/libxslt[${MULTILIB_USEDEP}]
4103 - )
4104 - abi_x86_32? (
4105 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
4106 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
4107 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
4108 - !<app-emulation/emul-linux-x86-db-20140508-r3
4109 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
4110 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
4111 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
4112 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
4113 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
4114 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
4115 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
4116 - !<app-emulation/emul-linux-x86-soundlibs-20140508
4117 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
4118 - !<app-emulation/emul-linux-x86-xlibs-20140508
4119 - )"
4120 -
4121 -RDEPEND="${COMMON_DEPEND}
4122 - app-emulation/wine-desktop-common
4123 - >app-eselect/eselect-wine-0.3
4124 - !app-emulation/wine:0
4125 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
4126 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
4127 - mono? ( app-emulation/wine-mono:4.7.1 )
4128 - perl? (
4129 - dev-lang/perl
4130 - dev-perl/XML-Simple
4131 - )
4132 - pulseaudio? (
4133 - realtime? ( sys-auth/rtkit )
4134 - )
4135 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
4136 - samba? ( >=net-fs/samba-3.0.25[winbind] )
4137 - selinux? ( sec-policy/selinux-wine )
4138 - udisks? ( sys-fs/udisks:2 )"
4139 -
4140 -# tools/make_requests requires perl
4141 -DEPEND="${COMMON_DEPEND}
4142 - sys-devel/flex
4143 - >=sys-kernel/linux-headers-2.6
4144 - virtual/pkgconfig
4145 - virtual/yacc
4146 - X? (
4147 - x11-proto/inputproto
4148 - x11-proto/xextproto
4149 - x11-proto/xf86vidmodeproto
4150 - )
4151 - prelink? ( sys-devel/prelink )
4152 - staging? (
4153 - dev-lang/perl
4154 - dev-perl/XML-Simple
4155 - )
4156 - xinerama? ( x11-proto/xineramaproto )"
4157 -
4158 -# These use a non-standard "Wine" category, which is provided by
4159 -# /etc/xdg/applications-merged/wine.menu
4160 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
4161 -usr/share/applications/wine-notepad.desktop
4162 -usr/share/applications/wine-uninstaller.desktop
4163 -usr/share/applications/wine-winecfg.desktop"
4164 -
4165 -PATCHES=(
4166 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
4167 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
4168 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
4169 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
4170 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
4171 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
4172 -)
4173 -PATCHES_BIN=(
4174 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
4175 -)
4176 -
4177 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
4178 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
4179 - DEPEND+=" dev-util/patchbin"
4180 -fi
4181 -
4182 -wine_compiler_check() {
4183 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4184 -
4185 - # GCC-specific bugs
4186 - if tc-is-gcc; then
4187 - # bug #549768
4188 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
4189 - ebegin "Checking for gcc-5 ms_abi compiler bug"
4190 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
4191 - # Run in subshell to prevent "Aborted" message
4192 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
4193 - if ! eend $?; then
4194 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
4195 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
4196 - eerror "or use gcc-config to select a different compiler version."
4197 - eerror "See https://bugs.gentoo.org/549768"
4198 - eerror
4199 - return 1
4200 - fi
4201 - fi
4202 - # bug #574044
4203 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
4204 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
4205 - # Compile in subshell to prevent "Aborted" message
4206 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
4207 - if ! eend $?; then
4208 - eerror "Wine cannot be built with this version of gcc-5.3"
4209 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
4210 - eerror "or use gcc-config to select a different compiler version."
4211 - eerror "See https://bugs.gentoo.org/574044"
4212 - eerror
4213 - return 1
4214 - fi
4215 - fi
4216 - fi
4217 -
4218 - # Ensure compiler support
4219 - if use abi_x86_64; then
4220 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
4221 - # Compile in subshell to prevent "Aborted" message
4222 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
4223 - if ! eend $?; then
4224 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
4225 - eerror
4226 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
4227 - eerror
4228 - return 1
4229 - fi
4230 - fi
4231 -}
4232 -
4233 -wine_build_environment_check() {
4234 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4235 -
4236 - if use abi_x86_64; then
4237 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
4238 - eerror "You need gcc-4.4+ to compile 64-bit wine"
4239 - die
4240 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
4241 - eerror "You need clang-3.8+ to compile 64-bit wine"
4242 - die
4243 - fi
4244 - fi
4245 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
4246 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
4247 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
4248 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
4249 - fi
4250 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
4251 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
4252 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
4253 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
4254 - ewarn "See package.env in man 5 portage for more information on how to do this."
4255 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
4256 - fi
4257 - fi
4258 -
4259 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
4260 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
4261 - eerror "See https://bugs.gentoo.org/487864 for more details."
4262 - eerror
4263 - return 1
4264 - fi
4265 -}
4266 -
4267 -wine_env_vcs_vars() {
4268 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
4269 - local pn_live_val="${pn_live_var}"
4270 - eval pn_live_val='$'${pn_live_val}
4271 - if [[ ! -z ${pn_live_val} ]]; then
4272 - if use staging || use d3d9; then
4273 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
4274 - eerror "cannot be used to set the commit. Instead, you may use the"
4275 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
4276 - eerror
4277 - return 1
4278 - fi
4279 - fi
4280 - if [[ ! -z ${EGIT_COMMIT} ]]; then
4281 - eerror "Commits must now be specified using the environmental variables"
4282 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
4283 - eerror
4284 - return 1
4285 - fi
4286 -}
4287 -
4288 -pkg_pretend() {
4289 - wine_build_environment_check || die
4290 -
4291 - # Verify OSS support
4292 - if use oss && ! use kernel_FreeBSD; then
4293 - if ! has_version ">=media-sound/oss-4"; then
4294 - eerror "You cannot build wine with USE=oss without having support from a"
4295 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
4296 - eerror
4297 - die
4298 - fi
4299 - fi
4300 -}
4301 -
4302 -pkg_setup() {
4303 - wine_build_environment_check || die
4304 - wine_env_vcs_vars || die
4305 -
4306 - WINE_VARIANT="${PN#wine}-${PV}"
4307 - WINE_VARIANT="${WINE_VARIANT#-}"
4308 -
4309 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
4310 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
4311 - MY_DATADIR="${MY_DATAROOTDIR}"
4312 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
4313 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
4314 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
4315 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
4316 - MY_MANDIR="${MY_DATADIR}/man"
4317 -}
4318 -
4319 -src_unpack() {
4320 - if [[ ${PV} == "9999" ]] ; then
4321 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
4322 - if use staging; then
4323 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
4324 -
4325 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
4326 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
4327 -
4328 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
4329 -
4330 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
4331 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
4332 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
4333 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
4334 - fi
4335 - fi
4336 - if use d3d9; then
4337 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
4338 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
4339 - fi
4340 - fi
4341 -
4342 - default
4343 -
4344 - l10n_find_plocales_changes "${S}/po" "" ".po"
4345 -}
4346 -
4347 -src_prepare() {
4348 -
4349 - eapply_bin(){
4350 - local patch
4351 - for patch in ${PATCHES_BIN[@]}; do
4352 - patchbin --nogit < "${patch}" || die
4353 - done
4354 - }
4355 -
4356 - local md5="$(md5sum server/protocol.def)"
4357 -
4358 - if use staging; then
4359 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
4360 - ewarn "Wine bugzilla should explicitly state that staging was used."
4361 -
4362 - local STAGING_EXCLUDE=""
4363 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
4364 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
4365 -
4366 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
4367 - ebegin "Running Wine-Staging patch installer"
4368 - (
4369 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
4370 - cd "${STAGING_DIR}/patches"
4371 - source "${STAGING_DIR}/patches/patchinstall.sh"
4372 - )
4373 - eend $? || die "Failed to apply Wine-Staging patches"
4374 - fi
4375 - if use d3d9; then
4376 - if use staging; then
4377 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
4378 - else
4379 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
4380 - fi
4381 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
4382 - fi
4383 -
4384 - default
4385 - eapply_bin
4386 - eautoreconf
4387 -
4388 - # Modification of the server protocol requires regenerating the server requests
4389 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
4390 - einfo "server/protocol.def was patched; running tools/make_requests"
4391 - tools/make_requests || die #432348
4392 - fi
4393 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
4394 - if ! use run-exes; then
4395 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
4396 - fi
4397 -
4398 - # Edit wine.desktop to work for specific variant
4399 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
4400 -
4401 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
4402 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
4403 -
4404 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
4405 -}
4406 -
4407 -src_configure() {
4408 - wine_compiler_check || die
4409 -
4410 - export LDCONFIG=/bin/true
4411 - use custom-cflags || strip-flags
4412 -
4413 - multilib-minimal_src_configure
4414 -}
4415 -
4416 -multilib_src_configure() {
4417 - local myconf=(
4418 - --prefix="${MY_PREFIX}"
4419 - --datarootdir="${MY_DATAROOTDIR}"
4420 - --datadir="${MY_DATADIR}"
4421 - --docdir="${MY_DOCDIR}"
4422 - --includedir="${MY_INCLUDEDIR}"
4423 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
4424 - --libexecdir="${MY_LIBEXECDIR}"
4425 - --localstatedir="${MY_LOCALSTATEDIR}"
4426 - --mandir="${MY_MANDIR}"
4427 - --sysconfdir=/etc/wine
4428 - $(use_with alsa)
4429 - $(use_with capi)
4430 - $(use_with lcms cms)
4431 - $(use_with cups)
4432 - $(use_with ncurses curses)
4433 - $(use_with udisks dbus)
4434 - $(use_with fontconfig)
4435 - $(use_with ssl gnutls)
4436 - $(use_enable gecko mshtml)
4437 - $(use_with gphoto2 gphoto)
4438 - $(use_with gsm)
4439 - $(use_with gstreamer)
4440 - --without-hal
4441 - $(use_with jpeg)
4442 - $(use_with ldap)
4443 - $(use_enable mono mscoree)
4444 - $(use_with mp3 mpg123)
4445 - $(use_with netapi)
4446 - $(use_with nls gettext)
4447 - $(use_with openal)
4448 - $(use_with opencl)
4449 - $(use_with opengl)
4450 - $(use_with osmesa)
4451 - $(use_with oss)
4452 - $(use_with pcap)
4453 - $(use_with png)
4454 - $(use_with pulseaudio pulse)
4455 - $(use_with threads pthread)
4456 - $(use_with scanner sane)
4457 - $(use_enable test tests)
4458 - $(use_with truetype freetype)
4459 - $(use_with udev)
4460 - $(use_with v4l)
4461 - $(use_with X x)
4462 - $(use_with X xfixes)
4463 - $(use_with xcomposite)
4464 - $(use_with xinerama)
4465 - $(use_with xml)
4466 - $(use_with xml xslt)
4467 - )
4468 -
4469 - use staging && myconf+=(
4470 - --with-xattr
4471 - $(use_with themes gtk3)
4472 - $(use_with vaapi va)
4473 - )
4474 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
4475 -
4476 - local PKG_CONFIG AR RANLIB
4477 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
4478 - # set AR and RANLIB to make QA scripts happy; #483342
4479 - tc-export PKG_CONFIG AR RANLIB
4480 -
4481 - if use amd64; then
4482 - if [[ ${ABI} == amd64 ]]; then
4483 - myconf+=( --enable-win64 )
4484 - else
4485 - myconf+=( --disable-win64 )
4486 - fi
4487 -
4488 - # Note: using --with-wine64 results in problems with multilib.eclass
4489 - # CC/LD hackery. We're using separate tools instead.
4490 - fi
4491 -
4492 - ECONF_SOURCE=${S} \
4493 - econf "${myconf[@]}"
4494 - emake depend
4495 -}
4496 -
4497 -multilib_src_test() {
4498 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
4499 - if [[ ${ABI} == x86 ]]; then
4500 - if [[ $(id -u) == 0 ]]; then
4501 - ewarn "Skipping tests since they cannot be run under the root user."
4502 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
4503 - return
4504 - fi
4505 -
4506 - WINEPREFIX="${T}/.wine-${ABI}" \
4507 - Xemake test
4508 - fi
4509 -}
4510 -
4511 -multilib_src_install_all() {
4512 - local DOCS=( ANNOUNCE AUTHORS README )
4513 - add_locale_docs() {
4514 - local locale_doc="documentation/README.$1"
4515 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
4516 - }
4517 - l10n_for_each_locale_do add_locale_docs
4518 -
4519 - einstalldocs
4520 - prune_libtool_files --all
4521 -
4522 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
4523 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
4524 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
4525 - fi
4526 -
4527 - # Remove wineconsole if neither backend is installed #551124
4528 - if ! use X && ! use ncurses; then
4529 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
4530 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
4531 - rm_wineconsole() {
4532 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
4533 - }
4534 - multilib_foreach_abi rm_wineconsole
4535 - fi
4536 -
4537 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
4538 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
4539 -
4540 - if use abi_x86_64 && ! use abi_x86_32; then
4541 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
4542 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
4543 - fi
4544 -
4545 - # Failglob for bin and man loops
4546 - local glob_state=$(shopt -p failglob)
4547 - shopt -s failglob
4548 -
4549 - # Make wrappers for binaries for handling multiple variants
4550 - # Note: wrappers instead of symlinks because some are shell which use basename
4551 - local b
4552 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
4553 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
4554 - done
4555 -
4556 - # respect LINGUAS when installing man pages, #469418
4557 - local l
4558 - for l in de fr pl; do
4559 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
4560 - done
4561 -
4562 - eval "${glob_state}"
4563 -}
4564 -
4565 -pkg_postinst() {
4566 - eselect wine register ${P}
4567 - if [[ ${PN} == "wine-vanilla" ]]; then
4568 - eselect wine register --vanilla ${P} || die
4569 - else
4570 - if use staging; then
4571 - eselect wine register --staging ${P} || die
4572 - fi
4573 - if use d3d9; then
4574 - eselect wine register --d3d9 ${P} || die
4575 - fi
4576 - fi
4577 -
4578 - eselect wine update --all --if-unset || die
4579 -
4580 - xdg_desktop_database_update
4581 -
4582 - if ! use gecko; then
4583 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
4584 - ewarn "implementation of iexplore. Many older windows applications"
4585 - ewarn "rely upon the existence of an iexplore implementation, so"
4586 - ewarn "you will likely need to install an external one, like via winetricks"
4587 - fi
4588 - if ! use mono; then
4589 - ewarn "Without Wine Mono, wine prefixes will not have a default"
4590 - ewarn "implementation of .NET. Many windows applications rely upon"
4591 - ewarn "the existence of a .NET implementation, so you will likely need"
4592 - ewarn "to install an external one, like via winetricks"
4593 - fi
4594 -}
4595 -
4596 -pkg_prerm() {
4597 - eselect wine deregister ${P}
4598 - if [[ ${PN} == "wine-vanilla" ]]; then
4599 - eselect wine deregister --vanilla ${P} || die
4600 - else
4601 - if use staging; then
4602 - eselect wine deregister --staging ${P} || die
4603 - fi
4604 - if use d3d9; then
4605 - eselect wine deregister --d3d9 ${P} || die
4606 - fi
4607 - fi
4608 -
4609 - eselect wine update --all --if-unset || die
4610 -}
4611 -
4612 -pkg_postrm() {
4613 - xdg_desktop_database_update
4614 -}
4615
4616 diff --git a/app-emulation/wine-any/wine-any-2.15-r1.ebuild b/app-emulation/wine-any/wine-any-2.15-r1.ebuild
4617 deleted file mode 100644
4618 index 759f602d174..00000000000
4619 --- a/app-emulation/wine-any/wine-any-2.15-r1.ebuild
4620 +++ /dev/null
4621 @@ -1,638 +0,0 @@
4622 -# Copyright 1999-2017 Gentoo Foundation
4623 -# Distributed under the terms of the GNU General Public License v2
4624 -
4625 -EAPI=6
4626 -
4627 -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"
4628 -PLOCALE_BACKUP="en"
4629 -
4630 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
4631 -
4632 -MY_PN="${PN%%-*}"
4633 -MY_P="${MY_PN}-${PV}"
4634 -
4635 -if [[ ${PV} == "9999" ]] ; then
4636 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
4637 - EGIT_BRANCH="master"
4638 - inherit git-r3
4639 - SRC_URI=""
4640 - #KEYWORDS=""
4641 -else
4642 - MAJOR_V=$(get_version_component_range 1)
4643 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
4644 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
4645 -fi
4646 -S="${WORKDIR}/${MY_P}"
4647 -
4648 -STAGING_P="wine-staging-${PV}"
4649 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
4650 -D3D9_P="wine-d3d9-${PV}"
4651 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
4652 -GWP_V="20170830"
4653 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
4654 -
4655 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
4656 -HOMEPAGE="https://www.winehq.org/"
4657 -SRC_URI="${SRC_URI}
4658 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
4659 -"
4660 -
4661 -if [[ ${PV} == "9999" ]] ; then
4662 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
4663 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
4664 -else
4665 - SRC_URI="${SRC_URI}
4666 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
4667 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
4668 -fi
4669 -
4670 -LICENSE="LGPL-2.1"
4671 -SLOT="${PV}"
4672 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
4673 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
4674 - X? ( truetype )
4675 - elibc_glibc? ( threads )
4676 - osmesa? ( opengl )
4677 - pipelight? ( staging )
4678 - s3tc? ( staging )
4679 - test? ( abi_x86_32 )
4680 - themes? ( staging )
4681 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
4682 -
4683 -# FIXME: the test suite is unsuitable for us; many tests require net access
4684 -# or fail due to Xvfb's opengl limitations.
4685 -RESTRICT="test"
4686 -
4687 -COMMON_DEPEND="
4688 - X? (
4689 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
4690 - x11-libs/libXext[${MULTILIB_USEDEP}]
4691 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
4692 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
4693 - x11-libs/libXi[${MULTILIB_USEDEP}]
4694 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
4695 - )
4696 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
4697 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
4698 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
4699 - d3d9? (
4700 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
4701 - x11-libs/libX11[${MULTILIB_USEDEP}]
4702 - x11-libs/libXext[${MULTILIB_USEDEP}]
4703 - x11-libs/libxcb[${MULTILIB_USEDEP}]
4704 - )
4705 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
4706 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
4707 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
4708 - gstreamer? (
4709 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
4710 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
4711 - )
4712 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
4713 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
4714 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
4715 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
4716 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
4717 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
4718 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
4719 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
4720 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
4721 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
4722 - opengl? (
4723 - virtual/glu[${MULTILIB_USEDEP}]
4724 - virtual/opengl[${MULTILIB_USEDEP}]
4725 - )
4726 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
4727 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
4728 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4729 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
4730 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
4731 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
4732 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
4733 - themes? (
4734 - dev-libs/glib:2[${MULTILIB_USEDEP}]
4735 - x11-libs/cairo[${MULTILIB_USEDEP}]
4736 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
4737 - )
4738 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
4739 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
4740 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
4741 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
4742 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
4743 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
4744 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
4745 - xml? (
4746 - dev-libs/libxml2[${MULTILIB_USEDEP}]
4747 - dev-libs/libxslt[${MULTILIB_USEDEP}]
4748 - )
4749 - abi_x86_32? (
4750 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
4751 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
4752 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
4753 - !<app-emulation/emul-linux-x86-db-20140508-r3
4754 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
4755 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
4756 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
4757 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
4758 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
4759 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
4760 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
4761 - !<app-emulation/emul-linux-x86-soundlibs-20140508
4762 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
4763 - !<app-emulation/emul-linux-x86-xlibs-20140508
4764 - )"
4765 -
4766 -RDEPEND="${COMMON_DEPEND}
4767 - app-emulation/wine-desktop-common
4768 - >app-eselect/eselect-wine-0.3
4769 - !app-emulation/wine:0
4770 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
4771 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
4772 - mono? ( app-emulation/wine-mono:4.7.1 )
4773 - perl? (
4774 - dev-lang/perl
4775 - dev-perl/XML-Simple
4776 - )
4777 - pulseaudio? (
4778 - realtime? ( sys-auth/rtkit )
4779 - )
4780 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
4781 - samba? ( >=net-fs/samba-3.0.25[winbind] )
4782 - selinux? ( sec-policy/selinux-wine )
4783 - udisks? ( sys-fs/udisks:2 )"
4784 -
4785 -# tools/make_requests requires perl
4786 -DEPEND="${COMMON_DEPEND}
4787 - sys-devel/flex
4788 - >=sys-kernel/linux-headers-2.6
4789 - virtual/pkgconfig
4790 - virtual/yacc
4791 - X? (
4792 - x11-proto/inputproto
4793 - x11-proto/xextproto
4794 - x11-proto/xf86vidmodeproto
4795 - )
4796 - prelink? ( sys-devel/prelink )
4797 - staging? (
4798 - dev-lang/perl
4799 - dev-perl/XML-Simple
4800 - )
4801 - xinerama? ( x11-proto/xineramaproto )"
4802 -
4803 -# These use a non-standard "Wine" category, which is provided by
4804 -# /etc/xdg/applications-merged/wine.menu
4805 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
4806 -usr/share/applications/wine-notepad.desktop
4807 -usr/share/applications/wine-uninstaller.desktop
4808 -usr/share/applications/wine-winecfg.desktop"
4809 -
4810 -PATCHES=(
4811 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
4812 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
4813 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
4814 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
4815 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
4816 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
4817 -)
4818 -PATCHES_BIN=(
4819 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
4820 -)
4821 -
4822 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
4823 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
4824 - DEPEND+=" dev-util/patchbin"
4825 -fi
4826 -
4827 -wine_compiler_check() {
4828 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4829 -
4830 - # GCC-specific bugs
4831 - if tc-is-gcc; then
4832 - # bug #549768
4833 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
4834 - ebegin "Checking for gcc-5 ms_abi compiler bug"
4835 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
4836 - # Run in subshell to prevent "Aborted" message
4837 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
4838 - if ! eend $?; then
4839 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
4840 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
4841 - eerror "or use gcc-config to select a different compiler version."
4842 - eerror "See https://bugs.gentoo.org/549768"
4843 - eerror
4844 - return 1
4845 - fi
4846 - fi
4847 - # bug #574044
4848 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
4849 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
4850 - # Compile in subshell to prevent "Aborted" message
4851 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
4852 - if ! eend $?; then
4853 - eerror "Wine cannot be built with this version of gcc-5.3"
4854 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
4855 - eerror "or use gcc-config to select a different compiler version."
4856 - eerror "See https://bugs.gentoo.org/574044"
4857 - eerror
4858 - return 1
4859 - fi
4860 - fi
4861 - fi
4862 -
4863 - # Ensure compiler support
4864 - if use abi_x86_64; then
4865 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
4866 - # Compile in subshell to prevent "Aborted" message
4867 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
4868 - if ! eend $?; then
4869 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
4870 - eerror
4871 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
4872 - eerror
4873 - return 1
4874 - fi
4875 - fi
4876 -}
4877 -
4878 -wine_build_environment_check() {
4879 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4880 -
4881 - if use abi_x86_64; then
4882 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
4883 - eerror "You need gcc-4.4+ to compile 64-bit wine"
4884 - die
4885 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
4886 - eerror "You need clang-3.8+ to compile 64-bit wine"
4887 - die
4888 - fi
4889 - fi
4890 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
4891 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
4892 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
4893 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
4894 - fi
4895 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
4896 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
4897 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
4898 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
4899 - ewarn "See package.env in man 5 portage for more information on how to do this."
4900 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
4901 - fi
4902 - fi
4903 -
4904 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
4905 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
4906 - eerror "See https://bugs.gentoo.org/487864 for more details."
4907 - eerror
4908 - return 1
4909 - fi
4910 -}
4911 -
4912 -wine_env_vcs_vars() {
4913 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
4914 - local pn_live_val="${pn_live_var}"
4915 - eval pn_live_val='$'${pn_live_val}
4916 - if [[ ! -z ${pn_live_val} ]]; then
4917 - if use staging || use d3d9; then
4918 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
4919 - eerror "cannot be used to set the commit. Instead, you may use the"
4920 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
4921 - eerror
4922 - return 1
4923 - fi
4924 - fi
4925 - if [[ ! -z ${EGIT_COMMIT} ]]; then
4926 - eerror "Commits must now be specified using the environmental variables"
4927 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
4928 - eerror
4929 - return 1
4930 - fi
4931 -}
4932 -
4933 -pkg_pretend() {
4934 - wine_build_environment_check || die
4935 -
4936 - # Verify OSS support
4937 - if use oss && ! use kernel_FreeBSD; then
4938 - if ! has_version ">=media-sound/oss-4"; then
4939 - eerror "You cannot build wine with USE=oss without having support from a"
4940 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
4941 - eerror
4942 - die
4943 - fi
4944 - fi
4945 -}
4946 -
4947 -pkg_setup() {
4948 - wine_build_environment_check || die
4949 - wine_env_vcs_vars || die
4950 -
4951 - WINE_VARIANT="${PN#wine}-${PV}"
4952 - WINE_VARIANT="${WINE_VARIANT#-}"
4953 -
4954 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
4955 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
4956 - MY_DATADIR="${MY_DATAROOTDIR}"
4957 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
4958 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
4959 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
4960 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
4961 - MY_MANDIR="${MY_DATADIR}/man"
4962 -}
4963 -
4964 -src_unpack() {
4965 - if [[ ${PV} == "9999" ]] ; then
4966 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
4967 - if use staging; then
4968 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
4969 -
4970 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
4971 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
4972 -
4973 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
4974 -
4975 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
4976 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
4977 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
4978 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
4979 - fi
4980 - fi
4981 - if use d3d9; then
4982 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
4983 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
4984 - fi
4985 - fi
4986 -
4987 - default
4988 -
4989 - l10n_find_plocales_changes "${S}/po" "" ".po"
4990 -}
4991 -
4992 -src_prepare() {
4993 -
4994 - eapply_bin(){
4995 - local patch
4996 - for patch in ${PATCHES_BIN[@]}; do
4997 - patchbin --nogit < "${patch}" || die
4998 - done
4999 - }
5000 -
5001 - local md5="$(md5sum server/protocol.def)"
5002 -
5003 - if use staging; then
5004 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
5005 - ewarn "Wine bugzilla should explicitly state that staging was used."
5006 -
5007 - local STAGING_EXCLUDE=""
5008 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
5009 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
5010 -
5011 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
5012 - ebegin "Running Wine-Staging patch installer"
5013 - (
5014 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
5015 - cd "${STAGING_DIR}/patches"
5016 - source "${STAGING_DIR}/patches/patchinstall.sh"
5017 - )
5018 - eend $? || die "Failed to apply Wine-Staging patches"
5019 - fi
5020 - if use d3d9; then
5021 - if use staging; then
5022 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
5023 - else
5024 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
5025 - fi
5026 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
5027 - fi
5028 -
5029 - default
5030 - eapply_bin
5031 - eautoreconf
5032 -
5033 - # Modification of the server protocol requires regenerating the server requests
5034 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
5035 - einfo "server/protocol.def was patched; running tools/make_requests"
5036 - tools/make_requests || die #432348
5037 - fi
5038 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
5039 - if ! use run-exes; then
5040 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
5041 - fi
5042 -
5043 - # Edit wine.desktop to work for specific variant
5044 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
5045 -
5046 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
5047 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
5048 -
5049 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
5050 -}
5051 -
5052 -src_configure() {
5053 - wine_compiler_check || die
5054 -
5055 - export LDCONFIG=/bin/true
5056 - use custom-cflags || strip-flags
5057 -
5058 - multilib-minimal_src_configure
5059 -}
5060 -
5061 -multilib_src_configure() {
5062 - local myconf=(
5063 - --prefix="${MY_PREFIX}"
5064 - --datarootdir="${MY_DATAROOTDIR}"
5065 - --datadir="${MY_DATADIR}"
5066 - --docdir="${MY_DOCDIR}"
5067 - --includedir="${MY_INCLUDEDIR}"
5068 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
5069 - --libexecdir="${MY_LIBEXECDIR}"
5070 - --localstatedir="${MY_LOCALSTATEDIR}"
5071 - --mandir="${MY_MANDIR}"
5072 - --sysconfdir=/etc/wine
5073 - $(use_with alsa)
5074 - $(use_with capi)
5075 - $(use_with lcms cms)
5076 - $(use_with cups)
5077 - $(use_with ncurses curses)
5078 - $(use_with udisks dbus)
5079 - $(use_with fontconfig)
5080 - $(use_with ssl gnutls)
5081 - $(use_enable gecko mshtml)
5082 - $(use_with gphoto2 gphoto)
5083 - $(use_with gsm)
5084 - $(use_with gstreamer)
5085 - --without-hal
5086 - $(use_with jpeg)
5087 - $(use_with ldap)
5088 - $(use_enable mono mscoree)
5089 - $(use_with mp3 mpg123)
5090 - $(use_with netapi)
5091 - $(use_with nls gettext)
5092 - $(use_with openal)
5093 - $(use_with opencl)
5094 - $(use_with opengl)
5095 - $(use_with osmesa)
5096 - $(use_with oss)
5097 - $(use_with pcap)
5098 - $(use_with png)
5099 - $(use_with pulseaudio pulse)
5100 - $(use_with threads pthread)
5101 - $(use_with scanner sane)
5102 - $(use_enable test tests)
5103 - $(use_with truetype freetype)
5104 - $(use_with udev)
5105 - $(use_with v4l)
5106 - $(use_with X x)
5107 - $(use_with X xfixes)
5108 - $(use_with xcomposite)
5109 - $(use_with xinerama)
5110 - $(use_with xml)
5111 - $(use_with xml xslt)
5112 - )
5113 -
5114 - use staging && myconf+=(
5115 - --with-xattr
5116 - $(use_with themes gtk3)
5117 - $(use_with vaapi va)
5118 - )
5119 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
5120 -
5121 - local PKG_CONFIG AR RANLIB
5122 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
5123 - # set AR and RANLIB to make QA scripts happy; #483342
5124 - tc-export PKG_CONFIG AR RANLIB
5125 -
5126 - if use amd64; then
5127 - if [[ ${ABI} == amd64 ]]; then
5128 - myconf+=( --enable-win64 )
5129 - else
5130 - myconf+=( --disable-win64 )
5131 - fi
5132 -
5133 - # Note: using --with-wine64 results in problems with multilib.eclass
5134 - # CC/LD hackery. We're using separate tools instead.
5135 - fi
5136 -
5137 - ECONF_SOURCE=${S} \
5138 - econf "${myconf[@]}"
5139 - emake depend
5140 -}
5141 -
5142 -multilib_src_test() {
5143 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
5144 - if [[ ${ABI} == x86 ]]; then
5145 - if [[ $(id -u) == 0 ]]; then
5146 - ewarn "Skipping tests since they cannot be run under the root user."
5147 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
5148 - return
5149 - fi
5150 -
5151 - WINEPREFIX="${T}/.wine-${ABI}" \
5152 - Xemake test
5153 - fi
5154 -}
5155 -
5156 -multilib_src_install_all() {
5157 - local DOCS=( ANNOUNCE AUTHORS README )
5158 - add_locale_docs() {
5159 - local locale_doc="documentation/README.$1"
5160 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
5161 - }
5162 - l10n_for_each_locale_do add_locale_docs
5163 -
5164 - einstalldocs
5165 - prune_libtool_files --all
5166 -
5167 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
5168 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
5169 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
5170 - fi
5171 -
5172 - # Remove wineconsole if neither backend is installed #551124
5173 - if ! use X && ! use ncurses; then
5174 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
5175 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
5176 - rm_wineconsole() {
5177 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
5178 - }
5179 - multilib_foreach_abi rm_wineconsole
5180 - fi
5181 -
5182 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
5183 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
5184 -
5185 - if use abi_x86_64 && ! use abi_x86_32; then
5186 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
5187 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
5188 - fi
5189 -
5190 - # Failglob for bin and man loops
5191 - local glob_state=$(shopt -p failglob)
5192 - shopt -s failglob
5193 -
5194 - # Make wrappers for binaries for handling multiple variants
5195 - # Note: wrappers instead of symlinks because some are shell which use basename
5196 - local b
5197 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
5198 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
5199 - done
5200 -
5201 - # respect LINGUAS when installing man pages, #469418
5202 - local l
5203 - for l in de fr pl; do
5204 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
5205 - done
5206 -
5207 - eval "${glob_state}"
5208 -}
5209 -
5210 -pkg_postinst() {
5211 - eselect wine register ${P}
5212 - if [[ ${PN} == "wine-vanilla" ]]; then
5213 - eselect wine register --vanilla ${P} || die
5214 - else
5215 - if use staging; then
5216 - eselect wine register --staging ${P} || die
5217 - fi
5218 - if use d3d9; then
5219 - eselect wine register --d3d9 ${P} || die
5220 - fi
5221 - fi
5222 -
5223 - eselect wine update --all --if-unset || die
5224 -
5225 - xdg_desktop_database_update
5226 -
5227 - if ! use gecko; then
5228 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
5229 - ewarn "implementation of iexplore. Many older windows applications"
5230 - ewarn "rely upon the existence of an iexplore implementation, so"
5231 - ewarn "you will likely need to install an external one, like via winetricks"
5232 - fi
5233 - if ! use mono; then
5234 - ewarn "Without Wine Mono, wine prefixes will not have a default"
5235 - ewarn "implementation of .NET. Many windows applications rely upon"
5236 - ewarn "the existence of a .NET implementation, so you will likely need"
5237 - ewarn "to install an external one, like via winetricks"
5238 - fi
5239 -}
5240 -
5241 -pkg_prerm() {
5242 - eselect wine deregister ${P}
5243 - if [[ ${PN} == "wine-vanilla" ]]; then
5244 - eselect wine deregister --vanilla ${P} || die
5245 - else
5246 - if use staging; then
5247 - eselect wine deregister --staging ${P} || die
5248 - fi
5249 - if use d3d9; then
5250 - eselect wine deregister --d3d9 ${P} || die
5251 - fi
5252 - fi
5253 -
5254 - eselect wine update --all --if-unset || die
5255 -}
5256 -
5257 -pkg_postrm() {
5258 - xdg_desktop_database_update
5259 -}
5260
5261 diff --git a/app-emulation/wine-any/wine-any-2.16-r1.ebuild b/app-emulation/wine-any/wine-any-2.16-r1.ebuild
5262 deleted file mode 100644
5263 index 759f602d174..00000000000
5264 --- a/app-emulation/wine-any/wine-any-2.16-r1.ebuild
5265 +++ /dev/null
5266 @@ -1,638 +0,0 @@
5267 -# Copyright 1999-2017 Gentoo Foundation
5268 -# Distributed under the terms of the GNU General Public License v2
5269 -
5270 -EAPI=6
5271 -
5272 -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"
5273 -PLOCALE_BACKUP="en"
5274 -
5275 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
5276 -
5277 -MY_PN="${PN%%-*}"
5278 -MY_P="${MY_PN}-${PV}"
5279 -
5280 -if [[ ${PV} == "9999" ]] ; then
5281 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
5282 - EGIT_BRANCH="master"
5283 - inherit git-r3
5284 - SRC_URI=""
5285 - #KEYWORDS=""
5286 -else
5287 - MAJOR_V=$(get_version_component_range 1)
5288 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
5289 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
5290 -fi
5291 -S="${WORKDIR}/${MY_P}"
5292 -
5293 -STAGING_P="wine-staging-${PV}"
5294 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
5295 -D3D9_P="wine-d3d9-${PV}"
5296 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
5297 -GWP_V="20170830"
5298 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
5299 -
5300 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
5301 -HOMEPAGE="https://www.winehq.org/"
5302 -SRC_URI="${SRC_URI}
5303 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
5304 -"
5305 -
5306 -if [[ ${PV} == "9999" ]] ; then
5307 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
5308 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
5309 -else
5310 - SRC_URI="${SRC_URI}
5311 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
5312 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
5313 -fi
5314 -
5315 -LICENSE="LGPL-2.1"
5316 -SLOT="${PV}"
5317 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
5318 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
5319 - X? ( truetype )
5320 - elibc_glibc? ( threads )
5321 - osmesa? ( opengl )
5322 - pipelight? ( staging )
5323 - s3tc? ( staging )
5324 - test? ( abi_x86_32 )
5325 - themes? ( staging )
5326 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
5327 -
5328 -# FIXME: the test suite is unsuitable for us; many tests require net access
5329 -# or fail due to Xvfb's opengl limitations.
5330 -RESTRICT="test"
5331 -
5332 -COMMON_DEPEND="
5333 - X? (
5334 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
5335 - x11-libs/libXext[${MULTILIB_USEDEP}]
5336 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
5337 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
5338 - x11-libs/libXi[${MULTILIB_USEDEP}]
5339 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
5340 - )
5341 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
5342 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
5343 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
5344 - d3d9? (
5345 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
5346 - x11-libs/libX11[${MULTILIB_USEDEP}]
5347 - x11-libs/libXext[${MULTILIB_USEDEP}]
5348 - x11-libs/libxcb[${MULTILIB_USEDEP}]
5349 - )
5350 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
5351 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
5352 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
5353 - gstreamer? (
5354 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
5355 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
5356 - )
5357 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
5358 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
5359 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
5360 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
5361 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
5362 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
5363 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
5364 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
5365 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
5366 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
5367 - opengl? (
5368 - virtual/glu[${MULTILIB_USEDEP}]
5369 - virtual/opengl[${MULTILIB_USEDEP}]
5370 - )
5371 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
5372 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
5373 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
5374 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
5375 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
5376 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
5377 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
5378 - themes? (
5379 - dev-libs/glib:2[${MULTILIB_USEDEP}]
5380 - x11-libs/cairo[${MULTILIB_USEDEP}]
5381 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
5382 - )
5383 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
5384 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
5385 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
5386 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
5387 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
5388 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
5389 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
5390 - xml? (
5391 - dev-libs/libxml2[${MULTILIB_USEDEP}]
5392 - dev-libs/libxslt[${MULTILIB_USEDEP}]
5393 - )
5394 - abi_x86_32? (
5395 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
5396 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
5397 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
5398 - !<app-emulation/emul-linux-x86-db-20140508-r3
5399 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
5400 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
5401 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
5402 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
5403 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
5404 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
5405 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
5406 - !<app-emulation/emul-linux-x86-soundlibs-20140508
5407 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
5408 - !<app-emulation/emul-linux-x86-xlibs-20140508
5409 - )"
5410 -
5411 -RDEPEND="${COMMON_DEPEND}
5412 - app-emulation/wine-desktop-common
5413 - >app-eselect/eselect-wine-0.3
5414 - !app-emulation/wine:0
5415 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
5416 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
5417 - mono? ( app-emulation/wine-mono:4.7.1 )
5418 - perl? (
5419 - dev-lang/perl
5420 - dev-perl/XML-Simple
5421 - )
5422 - pulseaudio? (
5423 - realtime? ( sys-auth/rtkit )
5424 - )
5425 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
5426 - samba? ( >=net-fs/samba-3.0.25[winbind] )
5427 - selinux? ( sec-policy/selinux-wine )
5428 - udisks? ( sys-fs/udisks:2 )"
5429 -
5430 -# tools/make_requests requires perl
5431 -DEPEND="${COMMON_DEPEND}
5432 - sys-devel/flex
5433 - >=sys-kernel/linux-headers-2.6
5434 - virtual/pkgconfig
5435 - virtual/yacc
5436 - X? (
5437 - x11-proto/inputproto
5438 - x11-proto/xextproto
5439 - x11-proto/xf86vidmodeproto
5440 - )
5441 - prelink? ( sys-devel/prelink )
5442 - staging? (
5443 - dev-lang/perl
5444 - dev-perl/XML-Simple
5445 - )
5446 - xinerama? ( x11-proto/xineramaproto )"
5447 -
5448 -# These use a non-standard "Wine" category, which is provided by
5449 -# /etc/xdg/applications-merged/wine.menu
5450 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
5451 -usr/share/applications/wine-notepad.desktop
5452 -usr/share/applications/wine-uninstaller.desktop
5453 -usr/share/applications/wine-winecfg.desktop"
5454 -
5455 -PATCHES=(
5456 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
5457 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
5458 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
5459 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
5460 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
5461 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
5462 -)
5463 -PATCHES_BIN=(
5464 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
5465 -)
5466 -
5467 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
5468 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
5469 - DEPEND+=" dev-util/patchbin"
5470 -fi
5471 -
5472 -wine_compiler_check() {
5473 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5474 -
5475 - # GCC-specific bugs
5476 - if tc-is-gcc; then
5477 - # bug #549768
5478 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
5479 - ebegin "Checking for gcc-5 ms_abi compiler bug"
5480 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
5481 - # Run in subshell to prevent "Aborted" message
5482 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
5483 - if ! eend $?; then
5484 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
5485 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
5486 - eerror "or use gcc-config to select a different compiler version."
5487 - eerror "See https://bugs.gentoo.org/549768"
5488 - eerror
5489 - return 1
5490 - fi
5491 - fi
5492 - # bug #574044
5493 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
5494 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
5495 - # Compile in subshell to prevent "Aborted" message
5496 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
5497 - if ! eend $?; then
5498 - eerror "Wine cannot be built with this version of gcc-5.3"
5499 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
5500 - eerror "or use gcc-config to select a different compiler version."
5501 - eerror "See https://bugs.gentoo.org/574044"
5502 - eerror
5503 - return 1
5504 - fi
5505 - fi
5506 - fi
5507 -
5508 - # Ensure compiler support
5509 - if use abi_x86_64; then
5510 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
5511 - # Compile in subshell to prevent "Aborted" message
5512 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
5513 - if ! eend $?; then
5514 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
5515 - eerror
5516 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
5517 - eerror
5518 - return 1
5519 - fi
5520 - fi
5521 -}
5522 -
5523 -wine_build_environment_check() {
5524 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5525 -
5526 - if use abi_x86_64; then
5527 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
5528 - eerror "You need gcc-4.4+ to compile 64-bit wine"
5529 - die
5530 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
5531 - eerror "You need clang-3.8+ to compile 64-bit wine"
5532 - die
5533 - fi
5534 - fi
5535 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
5536 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
5537 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
5538 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
5539 - fi
5540 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
5541 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
5542 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
5543 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
5544 - ewarn "See package.env in man 5 portage for more information on how to do this."
5545 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
5546 - fi
5547 - fi
5548 -
5549 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
5550 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
5551 - eerror "See https://bugs.gentoo.org/487864 for more details."
5552 - eerror
5553 - return 1
5554 - fi
5555 -}
5556 -
5557 -wine_env_vcs_vars() {
5558 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
5559 - local pn_live_val="${pn_live_var}"
5560 - eval pn_live_val='$'${pn_live_val}
5561 - if [[ ! -z ${pn_live_val} ]]; then
5562 - if use staging || use d3d9; then
5563 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
5564 - eerror "cannot be used to set the commit. Instead, you may use the"
5565 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
5566 - eerror
5567 - return 1
5568 - fi
5569 - fi
5570 - if [[ ! -z ${EGIT_COMMIT} ]]; then
5571 - eerror "Commits must now be specified using the environmental variables"
5572 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
5573 - eerror
5574 - return 1
5575 - fi
5576 -}
5577 -
5578 -pkg_pretend() {
5579 - wine_build_environment_check || die
5580 -
5581 - # Verify OSS support
5582 - if use oss && ! use kernel_FreeBSD; then
5583 - if ! has_version ">=media-sound/oss-4"; then
5584 - eerror "You cannot build wine with USE=oss without having support from a"
5585 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
5586 - eerror
5587 - die
5588 - fi
5589 - fi
5590 -}
5591 -
5592 -pkg_setup() {
5593 - wine_build_environment_check || die
5594 - wine_env_vcs_vars || die
5595 -
5596 - WINE_VARIANT="${PN#wine}-${PV}"
5597 - WINE_VARIANT="${WINE_VARIANT#-}"
5598 -
5599 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
5600 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
5601 - MY_DATADIR="${MY_DATAROOTDIR}"
5602 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
5603 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
5604 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
5605 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
5606 - MY_MANDIR="${MY_DATADIR}/man"
5607 -}
5608 -
5609 -src_unpack() {
5610 - if [[ ${PV} == "9999" ]] ; then
5611 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
5612 - if use staging; then
5613 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
5614 -
5615 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
5616 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
5617 -
5618 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
5619 -
5620 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
5621 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
5622 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
5623 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
5624 - fi
5625 - fi
5626 - if use d3d9; then
5627 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
5628 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
5629 - fi
5630 - fi
5631 -
5632 - default
5633 -
5634 - l10n_find_plocales_changes "${S}/po" "" ".po"
5635 -}
5636 -
5637 -src_prepare() {
5638 -
5639 - eapply_bin(){
5640 - local patch
5641 - for patch in ${PATCHES_BIN[@]}; do
5642 - patchbin --nogit < "${patch}" || die
5643 - done
5644 - }
5645 -
5646 - local md5="$(md5sum server/protocol.def)"
5647 -
5648 - if use staging; then
5649 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
5650 - ewarn "Wine bugzilla should explicitly state that staging was used."
5651 -
5652 - local STAGING_EXCLUDE=""
5653 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
5654 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
5655 -
5656 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
5657 - ebegin "Running Wine-Staging patch installer"
5658 - (
5659 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
5660 - cd "${STAGING_DIR}/patches"
5661 - source "${STAGING_DIR}/patches/patchinstall.sh"
5662 - )
5663 - eend $? || die "Failed to apply Wine-Staging patches"
5664 - fi
5665 - if use d3d9; then
5666 - if use staging; then
5667 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
5668 - else
5669 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
5670 - fi
5671 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
5672 - fi
5673 -
5674 - default
5675 - eapply_bin
5676 - eautoreconf
5677 -
5678 - # Modification of the server protocol requires regenerating the server requests
5679 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
5680 - einfo "server/protocol.def was patched; running tools/make_requests"
5681 - tools/make_requests || die #432348
5682 - fi
5683 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
5684 - if ! use run-exes; then
5685 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
5686 - fi
5687 -
5688 - # Edit wine.desktop to work for specific variant
5689 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
5690 -
5691 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
5692 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
5693 -
5694 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
5695 -}
5696 -
5697 -src_configure() {
5698 - wine_compiler_check || die
5699 -
5700 - export LDCONFIG=/bin/true
5701 - use custom-cflags || strip-flags
5702 -
5703 - multilib-minimal_src_configure
5704 -}
5705 -
5706 -multilib_src_configure() {
5707 - local myconf=(
5708 - --prefix="${MY_PREFIX}"
5709 - --datarootdir="${MY_DATAROOTDIR}"
5710 - --datadir="${MY_DATADIR}"
5711 - --docdir="${MY_DOCDIR}"
5712 - --includedir="${MY_INCLUDEDIR}"
5713 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
5714 - --libexecdir="${MY_LIBEXECDIR}"
5715 - --localstatedir="${MY_LOCALSTATEDIR}"
5716 - --mandir="${MY_MANDIR}"
5717 - --sysconfdir=/etc/wine
5718 - $(use_with alsa)
5719 - $(use_with capi)
5720 - $(use_with lcms cms)
5721 - $(use_with cups)
5722 - $(use_with ncurses curses)
5723 - $(use_with udisks dbus)
5724 - $(use_with fontconfig)
5725 - $(use_with ssl gnutls)
5726 - $(use_enable gecko mshtml)
5727 - $(use_with gphoto2 gphoto)
5728 - $(use_with gsm)
5729 - $(use_with gstreamer)
5730 - --without-hal
5731 - $(use_with jpeg)
5732 - $(use_with ldap)
5733 - $(use_enable mono mscoree)
5734 - $(use_with mp3 mpg123)
5735 - $(use_with netapi)
5736 - $(use_with nls gettext)
5737 - $(use_with openal)
5738 - $(use_with opencl)
5739 - $(use_with opengl)
5740 - $(use_with osmesa)
5741 - $(use_with oss)
5742 - $(use_with pcap)
5743 - $(use_with png)
5744 - $(use_with pulseaudio pulse)
5745 - $(use_with threads pthread)
5746 - $(use_with scanner sane)
5747 - $(use_enable test tests)
5748 - $(use_with truetype freetype)
5749 - $(use_with udev)
5750 - $(use_with v4l)
5751 - $(use_with X x)
5752 - $(use_with X xfixes)
5753 - $(use_with xcomposite)
5754 - $(use_with xinerama)
5755 - $(use_with xml)
5756 - $(use_with xml xslt)
5757 - )
5758 -
5759 - use staging && myconf+=(
5760 - --with-xattr
5761 - $(use_with themes gtk3)
5762 - $(use_with vaapi va)
5763 - )
5764 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
5765 -
5766 - local PKG_CONFIG AR RANLIB
5767 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
5768 - # set AR and RANLIB to make QA scripts happy; #483342
5769 - tc-export PKG_CONFIG AR RANLIB
5770 -
5771 - if use amd64; then
5772 - if [[ ${ABI} == amd64 ]]; then
5773 - myconf+=( --enable-win64 )
5774 - else
5775 - myconf+=( --disable-win64 )
5776 - fi
5777 -
5778 - # Note: using --with-wine64 results in problems with multilib.eclass
5779 - # CC/LD hackery. We're using separate tools instead.
5780 - fi
5781 -
5782 - ECONF_SOURCE=${S} \
5783 - econf "${myconf[@]}"
5784 - emake depend
5785 -}
5786 -
5787 -multilib_src_test() {
5788 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
5789 - if [[ ${ABI} == x86 ]]; then
5790 - if [[ $(id -u) == 0 ]]; then
5791 - ewarn "Skipping tests since they cannot be run under the root user."
5792 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
5793 - return
5794 - fi
5795 -
5796 - WINEPREFIX="${T}/.wine-${ABI}" \
5797 - Xemake test
5798 - fi
5799 -}
5800 -
5801 -multilib_src_install_all() {
5802 - local DOCS=( ANNOUNCE AUTHORS README )
5803 - add_locale_docs() {
5804 - local locale_doc="documentation/README.$1"
5805 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
5806 - }
5807 - l10n_for_each_locale_do add_locale_docs
5808 -
5809 - einstalldocs
5810 - prune_libtool_files --all
5811 -
5812 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
5813 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
5814 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
5815 - fi
5816 -
5817 - # Remove wineconsole if neither backend is installed #551124
5818 - if ! use X && ! use ncurses; then
5819 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
5820 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
5821 - rm_wineconsole() {
5822 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
5823 - }
5824 - multilib_foreach_abi rm_wineconsole
5825 - fi
5826 -
5827 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
5828 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
5829 -
5830 - if use abi_x86_64 && ! use abi_x86_32; then
5831 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
5832 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
5833 - fi
5834 -
5835 - # Failglob for bin and man loops
5836 - local glob_state=$(shopt -p failglob)
5837 - shopt -s failglob
5838 -
5839 - # Make wrappers for binaries for handling multiple variants
5840 - # Note: wrappers instead of symlinks because some are shell which use basename
5841 - local b
5842 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
5843 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
5844 - done
5845 -
5846 - # respect LINGUAS when installing man pages, #469418
5847 - local l
5848 - for l in de fr pl; do
5849 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
5850 - done
5851 -
5852 - eval "${glob_state}"
5853 -}
5854 -
5855 -pkg_postinst() {
5856 - eselect wine register ${P}
5857 - if [[ ${PN} == "wine-vanilla" ]]; then
5858 - eselect wine register --vanilla ${P} || die
5859 - else
5860 - if use staging; then
5861 - eselect wine register --staging ${P} || die
5862 - fi
5863 - if use d3d9; then
5864 - eselect wine register --d3d9 ${P} || die
5865 - fi
5866 - fi
5867 -
5868 - eselect wine update --all --if-unset || die
5869 -
5870 - xdg_desktop_database_update
5871 -
5872 - if ! use gecko; then
5873 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
5874 - ewarn "implementation of iexplore. Many older windows applications"
5875 - ewarn "rely upon the existence of an iexplore implementation, so"
5876 - ewarn "you will likely need to install an external one, like via winetricks"
5877 - fi
5878 - if ! use mono; then
5879 - ewarn "Without Wine Mono, wine prefixes will not have a default"
5880 - ewarn "implementation of .NET. Many windows applications rely upon"
5881 - ewarn "the existence of a .NET implementation, so you will likely need"
5882 - ewarn "to install an external one, like via winetricks"
5883 - fi
5884 -}
5885 -
5886 -pkg_prerm() {
5887 - eselect wine deregister ${P}
5888 - if [[ ${PN} == "wine-vanilla" ]]; then
5889 - eselect wine deregister --vanilla ${P} || die
5890 - else
5891 - if use staging; then
5892 - eselect wine deregister --staging ${P} || die
5893 - fi
5894 - if use d3d9; then
5895 - eselect wine deregister --d3d9 ${P} || die
5896 - fi
5897 - fi
5898 -
5899 - eselect wine update --all --if-unset || die
5900 -}
5901 -
5902 -pkg_postrm() {
5903 - xdg_desktop_database_update
5904 -}
5905
5906 diff --git a/app-emulation/wine-any/wine-any-2.2-r1.ebuild b/app-emulation/wine-any/wine-any-2.2-r1.ebuild
5907 deleted file mode 100644
5908 index 046c4b34f30..00000000000
5909 --- a/app-emulation/wine-any/wine-any-2.2-r1.ebuild
5910 +++ /dev/null
5911 @@ -1,636 +0,0 @@
5912 -# Copyright 1999-2017 Gentoo Foundation
5913 -# Distributed under the terms of the GNU General Public License v2
5914 -
5915 -EAPI=6
5916 -
5917 -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"
5918 -PLOCALE_BACKUP="en"
5919 -
5920 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
5921 -
5922 -MY_PN="${PN%%-*}"
5923 -MY_P="${MY_PN}-${PV}"
5924 -
5925 -if [[ ${PV} == "9999" ]] ; then
5926 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
5927 - EGIT_BRANCH="master"
5928 - inherit git-r3
5929 - SRC_URI=""
5930 - #KEYWORDS=""
5931 -else
5932 - MAJOR_V=$(get_version_component_range 1)
5933 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
5934 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
5935 -fi
5936 -S="${WORKDIR}/${MY_P}"
5937 -
5938 -STAGING_P="wine-staging-${PV}"
5939 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
5940 -D3D9_P="wine-d3d9-${PV}"
5941 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
5942 -GWP_V="20170830"
5943 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
5944 -
5945 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
5946 -HOMEPAGE="https://www.winehq.org/"
5947 -SRC_URI="${SRC_URI}
5948 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
5949 -"
5950 -
5951 -if [[ ${PV} == "9999" ]] ; then
5952 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
5953 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
5954 -else
5955 - SRC_URI="${SRC_URI}
5956 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
5957 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
5958 -fi
5959 -
5960 -LICENSE="LGPL-2.1"
5961 -SLOT="${PV}"
5962 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
5963 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
5964 - X? ( truetype )
5965 - elibc_glibc? ( threads )
5966 - osmesa? ( opengl )
5967 - pipelight? ( staging )
5968 - s3tc? ( staging )
5969 - test? ( abi_x86_32 )
5970 - themes? ( staging )
5971 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
5972 -
5973 -# FIXME: the test suite is unsuitable for us; many tests require net access
5974 -# or fail due to Xvfb's opengl limitations.
5975 -RESTRICT="test"
5976 -
5977 -COMMON_DEPEND="
5978 - X? (
5979 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
5980 - x11-libs/libXext[${MULTILIB_USEDEP}]
5981 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
5982 - x11-libs/libXi[${MULTILIB_USEDEP}]
5983 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
5984 - )
5985 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
5986 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
5987 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
5988 - d3d9? (
5989 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
5990 - x11-libs/libX11[${MULTILIB_USEDEP}]
5991 - x11-libs/libXext[${MULTILIB_USEDEP}]
5992 - x11-libs/libxcb[${MULTILIB_USEDEP}]
5993 - )
5994 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
5995 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
5996 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
5997 - gstreamer? (
5998 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
5999 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
6000 - )
6001 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
6002 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
6003 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
6004 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
6005 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
6006 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
6007 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
6008 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
6009 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
6010 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
6011 - opengl? (
6012 - virtual/glu[${MULTILIB_USEDEP}]
6013 - virtual/opengl[${MULTILIB_USEDEP}]
6014 - )
6015 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
6016 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
6017 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
6018 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
6019 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
6020 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
6021 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
6022 - themes? (
6023 - dev-libs/glib:2[${MULTILIB_USEDEP}]
6024 - x11-libs/cairo[${MULTILIB_USEDEP}]
6025 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
6026 - )
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 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
6032 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
6033 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
6034 - xml? (
6035 - dev-libs/libxml2[${MULTILIB_USEDEP}]
6036 - dev-libs/libxslt[${MULTILIB_USEDEP}]
6037 - )
6038 - abi_x86_32? (
6039 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
6040 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
6041 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
6042 - !<app-emulation/emul-linux-x86-db-20140508-r3
6043 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
6044 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
6045 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
6046 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
6047 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
6048 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
6049 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
6050 - !<app-emulation/emul-linux-x86-soundlibs-20140508
6051 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
6052 - !<app-emulation/emul-linux-x86-xlibs-20140508
6053 - )"
6054 -
6055 -RDEPEND="${COMMON_DEPEND}
6056 - app-emulation/wine-desktop-common
6057 - >app-eselect/eselect-wine-0.3
6058 - !app-emulation/wine:0
6059 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
6060 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
6061 - mono? ( app-emulation/wine-mono:4.6.4 )
6062 - perl? (
6063 - dev-lang/perl
6064 - dev-perl/XML-Simple
6065 - )
6066 - pulseaudio? (
6067 - realtime? ( sys-auth/rtkit )
6068 - )
6069 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
6070 - samba? ( >=net-fs/samba-3.0.25[winbind] )
6071 - selinux? ( sec-policy/selinux-wine )
6072 - udisks? ( sys-fs/udisks:2 )"
6073 -
6074 -# tools/make_requests requires perl
6075 -DEPEND="${COMMON_DEPEND}
6076 - sys-devel/flex
6077 - >=sys-kernel/linux-headers-2.6
6078 - virtual/pkgconfig
6079 - virtual/yacc
6080 - X? (
6081 - x11-proto/inputproto
6082 - x11-proto/xextproto
6083 - x11-proto/xf86vidmodeproto
6084 - )
6085 - prelink? ( sys-devel/prelink )
6086 - staging? (
6087 - dev-lang/perl
6088 - dev-perl/XML-Simple
6089 - )
6090 - xinerama? ( x11-proto/xineramaproto )"
6091 -
6092 -# These use a non-standard "Wine" category, which is provided by
6093 -# /etc/xdg/applications-merged/wine.menu
6094 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
6095 -usr/share/applications/wine-notepad.desktop
6096 -usr/share/applications/wine-uninstaller.desktop
6097 -usr/share/applications/wine-winecfg.desktop"
6098 -
6099 -PATCHES=(
6100 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
6101 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
6102 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
6103 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
6104 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
6105 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
6106 -)
6107 -PATCHES_BIN=(
6108 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
6109 -)
6110 -
6111 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
6112 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
6113 - DEPEND+=" dev-util/patchbin"
6114 -fi
6115 -
6116 -wine_compiler_check() {
6117 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6118 -
6119 - # GCC-specific bugs
6120 - if tc-is-gcc; then
6121 - # bug #549768
6122 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
6123 - ebegin "Checking for gcc-5 ms_abi compiler bug"
6124 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
6125 - # Run in subshell to prevent "Aborted" message
6126 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
6127 - if ! eend $?; then
6128 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
6129 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
6130 - eerror "or use gcc-config to select a different compiler version."
6131 - eerror "See https://bugs.gentoo.org/549768"
6132 - eerror
6133 - return 1
6134 - fi
6135 - fi
6136 - # bug #574044
6137 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
6138 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
6139 - # Compile in subshell to prevent "Aborted" message
6140 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
6141 - if ! eend $?; then
6142 - eerror "Wine cannot be built with this version of gcc-5.3"
6143 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
6144 - eerror "or use gcc-config to select a different compiler version."
6145 - eerror "See https://bugs.gentoo.org/574044"
6146 - eerror
6147 - return 1
6148 - fi
6149 - fi
6150 - fi
6151 -
6152 - # Ensure compiler support
6153 - if use abi_x86_64; then
6154 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
6155 - # Compile in subshell to prevent "Aborted" message
6156 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
6157 - if ! eend $?; then
6158 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
6159 - eerror
6160 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
6161 - eerror
6162 - return 1
6163 - fi
6164 - fi
6165 -}
6166 -
6167 -wine_build_environment_check() {
6168 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6169 -
6170 - if use abi_x86_64; then
6171 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
6172 - eerror "You need gcc-4.4+ to compile 64-bit wine"
6173 - die
6174 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
6175 - eerror "You need clang-3.8+ to compile 64-bit wine"
6176 - die
6177 - fi
6178 - fi
6179 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
6180 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
6181 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
6182 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
6183 - fi
6184 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
6185 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
6186 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
6187 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
6188 - ewarn "See package.env in man 5 portage for more information on how to do this."
6189 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
6190 - fi
6191 - fi
6192 -
6193 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
6194 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
6195 - eerror "See https://bugs.gentoo.org/487864 for more details."
6196 - eerror
6197 - return 1
6198 - fi
6199 -}
6200 -
6201 -wine_env_vcs_vars() {
6202 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
6203 - local pn_live_val="${pn_live_var}"
6204 - eval pn_live_val='$'${pn_live_val}
6205 - if [[ ! -z ${pn_live_val} ]]; then
6206 - if use staging || use d3d9; then
6207 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
6208 - eerror "cannot be used to set the commit. Instead, you may use the"
6209 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
6210 - eerror
6211 - return 1
6212 - fi
6213 - fi
6214 - if [[ ! -z ${EGIT_COMMIT} ]]; then
6215 - eerror "Commits must now be specified using the environmental variables"
6216 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
6217 - eerror
6218 - return 1
6219 - fi
6220 -}
6221 -
6222 -pkg_pretend() {
6223 - wine_build_environment_check || die
6224 -
6225 - # Verify OSS support
6226 - if use oss && ! use kernel_FreeBSD; then
6227 - if ! has_version ">=media-sound/oss-4"; then
6228 - eerror "You cannot build wine with USE=oss without having support from a"
6229 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
6230 - eerror
6231 - die
6232 - fi
6233 - fi
6234 -}
6235 -
6236 -pkg_setup() {
6237 - wine_build_environment_check || die
6238 - wine_env_vcs_vars || die
6239 -
6240 - WINE_VARIANT="${PN#wine}-${PV}"
6241 - WINE_VARIANT="${WINE_VARIANT#-}"
6242 -
6243 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
6244 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
6245 - MY_DATADIR="${MY_DATAROOTDIR}"
6246 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
6247 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
6248 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
6249 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
6250 - MY_MANDIR="${MY_DATADIR}/man"
6251 -}
6252 -
6253 -src_unpack() {
6254 - if [[ ${PV} == "9999" ]] ; then
6255 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
6256 - if use staging; then
6257 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
6258 -
6259 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
6260 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
6261 -
6262 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
6263 -
6264 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
6265 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
6266 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
6267 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
6268 - fi
6269 - fi
6270 - if use d3d9; then
6271 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
6272 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
6273 - fi
6274 - fi
6275 -
6276 - default
6277 -
6278 - l10n_find_plocales_changes "${S}/po" "" ".po"
6279 -}
6280 -
6281 -src_prepare() {
6282 -
6283 - eapply_bin(){
6284 - local patch
6285 - for patch in ${PATCHES_BIN[@]}; do
6286 - patchbin --nogit < "${patch}" || die
6287 - done
6288 - }
6289 -
6290 - local md5="$(md5sum server/protocol.def)"
6291 -
6292 - if use staging; then
6293 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
6294 - ewarn "Wine bugzilla should explicitly state that staging was used."
6295 -
6296 - local STAGING_EXCLUDE=""
6297 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
6298 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
6299 -
6300 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
6301 - ebegin "Running Wine-Staging patch installer"
6302 - (
6303 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
6304 - cd "${STAGING_DIR}/patches"
6305 - source "${STAGING_DIR}/patches/patchinstall.sh"
6306 - )
6307 - eend $? || die "Failed to apply Wine-Staging patches"
6308 - fi
6309 - if use d3d9; then
6310 - if use staging; then
6311 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
6312 - else
6313 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
6314 - fi
6315 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
6316 - fi
6317 -
6318 - default
6319 - eapply_bin
6320 - eautoreconf
6321 -
6322 - # Modification of the server protocol requires regenerating the server requests
6323 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
6324 - einfo "server/protocol.def was patched; running tools/make_requests"
6325 - tools/make_requests || die #432348
6326 - fi
6327 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
6328 - if ! use run-exes; then
6329 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
6330 - fi
6331 -
6332 - # Edit wine.desktop to work for specific variant
6333 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
6334 -
6335 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
6336 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
6337 -
6338 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
6339 -}
6340 -
6341 -src_configure() {
6342 - wine_compiler_check || die
6343 -
6344 - export LDCONFIG=/bin/true
6345 - use custom-cflags || strip-flags
6346 -
6347 - multilib-minimal_src_configure
6348 -}
6349 -
6350 -multilib_src_configure() {
6351 - local myconf=(
6352 - --prefix="${MY_PREFIX}"
6353 - --datarootdir="${MY_DATAROOTDIR}"
6354 - --datadir="${MY_DATADIR}"
6355 - --docdir="${MY_DOCDIR}"
6356 - --includedir="${MY_INCLUDEDIR}"
6357 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
6358 - --libexecdir="${MY_LIBEXECDIR}"
6359 - --localstatedir="${MY_LOCALSTATEDIR}"
6360 - --mandir="${MY_MANDIR}"
6361 - --sysconfdir=/etc/wine
6362 - $(use_with alsa)
6363 - $(use_with capi)
6364 - $(use_with lcms cms)
6365 - $(use_with cups)
6366 - $(use_with ncurses curses)
6367 - $(use_with udisks dbus)
6368 - $(use_with fontconfig)
6369 - $(use_with ssl gnutls)
6370 - $(use_enable gecko mshtml)
6371 - $(use_with gphoto2 gphoto)
6372 - $(use_with gsm)
6373 - $(use_with gstreamer)
6374 - --without-hal
6375 - $(use_with jpeg)
6376 - $(use_with ldap)
6377 - $(use_enable mono mscoree)
6378 - $(use_with mp3 mpg123)
6379 - $(use_with netapi)
6380 - $(use_with nls gettext)
6381 - $(use_with openal)
6382 - $(use_with opencl)
6383 - $(use_with opengl)
6384 - $(use_with osmesa)
6385 - $(use_with oss)
6386 - $(use_with pcap)
6387 - $(use_with png)
6388 - $(use_with pulseaudio pulse)
6389 - $(use_with threads pthread)
6390 - $(use_with scanner sane)
6391 - $(use_enable test tests)
6392 - $(use_with truetype freetype)
6393 - $(use_with udev)
6394 - $(use_with v4l)
6395 - $(use_with X x)
6396 - $(use_with xcomposite)
6397 - $(use_with xinerama)
6398 - $(use_with xml)
6399 - $(use_with xml xslt)
6400 - )
6401 -
6402 - use staging && myconf+=(
6403 - --with-xattr
6404 - $(use_with themes gtk3)
6405 - $(use_with vaapi va)
6406 - )
6407 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
6408 -
6409 - local PKG_CONFIG AR RANLIB
6410 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
6411 - # set AR and RANLIB to make QA scripts happy; #483342
6412 - tc-export PKG_CONFIG AR RANLIB
6413 -
6414 - if use amd64; then
6415 - if [[ ${ABI} == amd64 ]]; then
6416 - myconf+=( --enable-win64 )
6417 - else
6418 - myconf+=( --disable-win64 )
6419 - fi
6420 -
6421 - # Note: using --with-wine64 results in problems with multilib.eclass
6422 - # CC/LD hackery. We're using separate tools instead.
6423 - fi
6424 -
6425 - ECONF_SOURCE=${S} \
6426 - econf "${myconf[@]}"
6427 - emake depend
6428 -}
6429 -
6430 -multilib_src_test() {
6431 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
6432 - if [[ ${ABI} == x86 ]]; then
6433 - if [[ $(id -u) == 0 ]]; then
6434 - ewarn "Skipping tests since they cannot be run under the root user."
6435 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
6436 - return
6437 - fi
6438 -
6439 - WINEPREFIX="${T}/.wine-${ABI}" \
6440 - Xemake test
6441 - fi
6442 -}
6443 -
6444 -multilib_src_install_all() {
6445 - local DOCS=( ANNOUNCE AUTHORS README )
6446 - add_locale_docs() {
6447 - local locale_doc="documentation/README.$1"
6448 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
6449 - }
6450 - l10n_for_each_locale_do add_locale_docs
6451 -
6452 - einstalldocs
6453 - prune_libtool_files --all
6454 -
6455 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
6456 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
6457 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
6458 - fi
6459 -
6460 - # Remove wineconsole if neither backend is installed #551124
6461 - if ! use X && ! use ncurses; then
6462 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
6463 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
6464 - rm_wineconsole() {
6465 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
6466 - }
6467 - multilib_foreach_abi rm_wineconsole
6468 - fi
6469 -
6470 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
6471 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
6472 -
6473 - if use abi_x86_64 && ! use abi_x86_32; then
6474 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
6475 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
6476 - fi
6477 -
6478 - # Failglob for bin and man loops
6479 - local glob_state=$(shopt -p failglob)
6480 - shopt -s failglob
6481 -
6482 - # Make wrappers for binaries for handling multiple variants
6483 - # Note: wrappers instead of symlinks because some are shell which use basename
6484 - local b
6485 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
6486 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
6487 - done
6488 -
6489 - # respect LINGUAS when installing man pages, #469418
6490 - local l
6491 - for l in de fr pl; do
6492 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
6493 - done
6494 -
6495 - eval "${glob_state}"
6496 -}
6497 -
6498 -pkg_postinst() {
6499 - eselect wine register ${P}
6500 - if [[ ${PN} == "wine-vanilla" ]]; then
6501 - eselect wine register --vanilla ${P} || die
6502 - else
6503 - if use staging; then
6504 - eselect wine register --staging ${P} || die
6505 - fi
6506 - if use d3d9; then
6507 - eselect wine register --d3d9 ${P} || die
6508 - fi
6509 - fi
6510 -
6511 - eselect wine update --all --if-unset || die
6512 -
6513 - xdg_desktop_database_update
6514 -
6515 - if ! use gecko; then
6516 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
6517 - ewarn "implementation of iexplore. Many older windows applications"
6518 - ewarn "rely upon the existence of an iexplore implementation, so"
6519 - ewarn "you will likely need to install an external one, like via winetricks"
6520 - fi
6521 - if ! use mono; then
6522 - ewarn "Without Wine Mono, wine prefixes will not have a default"
6523 - ewarn "implementation of .NET. Many windows applications rely upon"
6524 - ewarn "the existence of a .NET implementation, so you will likely need"
6525 - ewarn "to install an external one, like via winetricks"
6526 - fi
6527 -}
6528 -
6529 -pkg_prerm() {
6530 - eselect wine deregister ${P}
6531 - if [[ ${PN} == "wine-vanilla" ]]; then
6532 - eselect wine deregister --vanilla ${P} || die
6533 - else
6534 - if use staging; then
6535 - eselect wine deregister --staging ${P} || die
6536 - fi
6537 - if use d3d9; then
6538 - eselect wine deregister --d3d9 ${P} || die
6539 - fi
6540 - fi
6541 -
6542 - eselect wine update --all --if-unset || die
6543 -}
6544 -
6545 -pkg_postrm() {
6546 - xdg_desktop_database_update
6547 -}
6548
6549 diff --git a/app-emulation/wine-any/wine-any-2.3-r1.ebuild b/app-emulation/wine-any/wine-any-2.3-r1.ebuild
6550 deleted file mode 100644
6551 index 046c4b34f30..00000000000
6552 --- a/app-emulation/wine-any/wine-any-2.3-r1.ebuild
6553 +++ /dev/null
6554 @@ -1,636 +0,0 @@
6555 -# Copyright 1999-2017 Gentoo Foundation
6556 -# Distributed under the terms of the GNU General Public License v2
6557 -
6558 -EAPI=6
6559 -
6560 -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"
6561 -PLOCALE_BACKUP="en"
6562 -
6563 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
6564 -
6565 -MY_PN="${PN%%-*}"
6566 -MY_P="${MY_PN}-${PV}"
6567 -
6568 -if [[ ${PV} == "9999" ]] ; then
6569 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
6570 - EGIT_BRANCH="master"
6571 - inherit git-r3
6572 - SRC_URI=""
6573 - #KEYWORDS=""
6574 -else
6575 - MAJOR_V=$(get_version_component_range 1)
6576 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
6577 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
6578 -fi
6579 -S="${WORKDIR}/${MY_P}"
6580 -
6581 -STAGING_P="wine-staging-${PV}"
6582 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
6583 -D3D9_P="wine-d3d9-${PV}"
6584 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
6585 -GWP_V="20170830"
6586 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
6587 -
6588 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
6589 -HOMEPAGE="https://www.winehq.org/"
6590 -SRC_URI="${SRC_URI}
6591 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
6592 -"
6593 -
6594 -if [[ ${PV} == "9999" ]] ; then
6595 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
6596 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
6597 -else
6598 - SRC_URI="${SRC_URI}
6599 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
6600 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
6601 -fi
6602 -
6603 -LICENSE="LGPL-2.1"
6604 -SLOT="${PV}"
6605 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
6606 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
6607 - X? ( truetype )
6608 - elibc_glibc? ( threads )
6609 - osmesa? ( opengl )
6610 - pipelight? ( staging )
6611 - s3tc? ( staging )
6612 - test? ( abi_x86_32 )
6613 - themes? ( staging )
6614 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
6615 -
6616 -# FIXME: the test suite is unsuitable for us; many tests require net access
6617 -# or fail due to Xvfb's opengl limitations.
6618 -RESTRICT="test"
6619 -
6620 -COMMON_DEPEND="
6621 - X? (
6622 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
6623 - x11-libs/libXext[${MULTILIB_USEDEP}]
6624 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
6625 - x11-libs/libXi[${MULTILIB_USEDEP}]
6626 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
6627 - )
6628 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
6629 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
6630 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
6631 - d3d9? (
6632 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
6633 - x11-libs/libX11[${MULTILIB_USEDEP}]
6634 - x11-libs/libXext[${MULTILIB_USEDEP}]
6635 - x11-libs/libxcb[${MULTILIB_USEDEP}]
6636 - )
6637 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
6638 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
6639 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
6640 - gstreamer? (
6641 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
6642 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
6643 - )
6644 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
6645 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
6646 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
6647 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
6648 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
6649 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
6650 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
6651 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
6652 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
6653 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
6654 - opengl? (
6655 - virtual/glu[${MULTILIB_USEDEP}]
6656 - virtual/opengl[${MULTILIB_USEDEP}]
6657 - )
6658 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
6659 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
6660 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
6661 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
6662 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
6663 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
6664 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
6665 - themes? (
6666 - dev-libs/glib:2[${MULTILIB_USEDEP}]
6667 - x11-libs/cairo[${MULTILIB_USEDEP}]
6668 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
6669 - )
6670 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
6671 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
6672 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
6673 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
6674 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
6675 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
6676 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
6677 - xml? (
6678 - dev-libs/libxml2[${MULTILIB_USEDEP}]
6679 - dev-libs/libxslt[${MULTILIB_USEDEP}]
6680 - )
6681 - abi_x86_32? (
6682 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
6683 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
6684 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
6685 - !<app-emulation/emul-linux-x86-db-20140508-r3
6686 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
6687 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
6688 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
6689 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
6690 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
6691 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
6692 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
6693 - !<app-emulation/emul-linux-x86-soundlibs-20140508
6694 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
6695 - !<app-emulation/emul-linux-x86-xlibs-20140508
6696 - )"
6697 -
6698 -RDEPEND="${COMMON_DEPEND}
6699 - app-emulation/wine-desktop-common
6700 - >app-eselect/eselect-wine-0.3
6701 - !app-emulation/wine:0
6702 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
6703 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
6704 - mono? ( app-emulation/wine-mono:4.6.4 )
6705 - perl? (
6706 - dev-lang/perl
6707 - dev-perl/XML-Simple
6708 - )
6709 - pulseaudio? (
6710 - realtime? ( sys-auth/rtkit )
6711 - )
6712 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
6713 - samba? ( >=net-fs/samba-3.0.25[winbind] )
6714 - selinux? ( sec-policy/selinux-wine )
6715 - udisks? ( sys-fs/udisks:2 )"
6716 -
6717 -# tools/make_requests requires perl
6718 -DEPEND="${COMMON_DEPEND}
6719 - sys-devel/flex
6720 - >=sys-kernel/linux-headers-2.6
6721 - virtual/pkgconfig
6722 - virtual/yacc
6723 - X? (
6724 - x11-proto/inputproto
6725 - x11-proto/xextproto
6726 - x11-proto/xf86vidmodeproto
6727 - )
6728 - prelink? ( sys-devel/prelink )
6729 - staging? (
6730 - dev-lang/perl
6731 - dev-perl/XML-Simple
6732 - )
6733 - xinerama? ( x11-proto/xineramaproto )"
6734 -
6735 -# These use a non-standard "Wine" category, which is provided by
6736 -# /etc/xdg/applications-merged/wine.menu
6737 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
6738 -usr/share/applications/wine-notepad.desktop
6739 -usr/share/applications/wine-uninstaller.desktop
6740 -usr/share/applications/wine-winecfg.desktop"
6741 -
6742 -PATCHES=(
6743 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
6744 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
6745 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
6746 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
6747 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
6748 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
6749 -)
6750 -PATCHES_BIN=(
6751 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
6752 -)
6753 -
6754 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
6755 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
6756 - DEPEND+=" dev-util/patchbin"
6757 -fi
6758 -
6759 -wine_compiler_check() {
6760 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6761 -
6762 - # GCC-specific bugs
6763 - if tc-is-gcc; then
6764 - # bug #549768
6765 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
6766 - ebegin "Checking for gcc-5 ms_abi compiler bug"
6767 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
6768 - # Run in subshell to prevent "Aborted" message
6769 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
6770 - if ! eend $?; then
6771 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
6772 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
6773 - eerror "or use gcc-config to select a different compiler version."
6774 - eerror "See https://bugs.gentoo.org/549768"
6775 - eerror
6776 - return 1
6777 - fi
6778 - fi
6779 - # bug #574044
6780 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
6781 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
6782 - # Compile in subshell to prevent "Aborted" message
6783 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
6784 - if ! eend $?; then
6785 - eerror "Wine cannot be built with this version of gcc-5.3"
6786 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
6787 - eerror "or use gcc-config to select a different compiler version."
6788 - eerror "See https://bugs.gentoo.org/574044"
6789 - eerror
6790 - return 1
6791 - fi
6792 - fi
6793 - fi
6794 -
6795 - # Ensure compiler support
6796 - if use abi_x86_64; then
6797 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
6798 - # Compile in subshell to prevent "Aborted" message
6799 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
6800 - if ! eend $?; then
6801 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
6802 - eerror
6803 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
6804 - eerror
6805 - return 1
6806 - fi
6807 - fi
6808 -}
6809 -
6810 -wine_build_environment_check() {
6811 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6812 -
6813 - if use abi_x86_64; then
6814 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
6815 - eerror "You need gcc-4.4+ to compile 64-bit wine"
6816 - die
6817 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
6818 - eerror "You need clang-3.8+ to compile 64-bit wine"
6819 - die
6820 - fi
6821 - fi
6822 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
6823 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
6824 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
6825 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
6826 - fi
6827 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
6828 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
6829 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
6830 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
6831 - ewarn "See package.env in man 5 portage for more information on how to do this."
6832 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
6833 - fi
6834 - fi
6835 -
6836 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
6837 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
6838 - eerror "See https://bugs.gentoo.org/487864 for more details."
6839 - eerror
6840 - return 1
6841 - fi
6842 -}
6843 -
6844 -wine_env_vcs_vars() {
6845 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
6846 - local pn_live_val="${pn_live_var}"
6847 - eval pn_live_val='$'${pn_live_val}
6848 - if [[ ! -z ${pn_live_val} ]]; then
6849 - if use staging || use d3d9; then
6850 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
6851 - eerror "cannot be used to set the commit. Instead, you may use the"
6852 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
6853 - eerror
6854 - return 1
6855 - fi
6856 - fi
6857 - if [[ ! -z ${EGIT_COMMIT} ]]; then
6858 - eerror "Commits must now be specified using the environmental variables"
6859 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
6860 - eerror
6861 - return 1
6862 - fi
6863 -}
6864 -
6865 -pkg_pretend() {
6866 - wine_build_environment_check || die
6867 -
6868 - # Verify OSS support
6869 - if use oss && ! use kernel_FreeBSD; then
6870 - if ! has_version ">=media-sound/oss-4"; then
6871 - eerror "You cannot build wine with USE=oss without having support from a"
6872 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
6873 - eerror
6874 - die
6875 - fi
6876 - fi
6877 -}
6878 -
6879 -pkg_setup() {
6880 - wine_build_environment_check || die
6881 - wine_env_vcs_vars || die
6882 -
6883 - WINE_VARIANT="${PN#wine}-${PV}"
6884 - WINE_VARIANT="${WINE_VARIANT#-}"
6885 -
6886 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
6887 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
6888 - MY_DATADIR="${MY_DATAROOTDIR}"
6889 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
6890 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
6891 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
6892 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
6893 - MY_MANDIR="${MY_DATADIR}/man"
6894 -}
6895 -
6896 -src_unpack() {
6897 - if [[ ${PV} == "9999" ]] ; then
6898 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
6899 - if use staging; then
6900 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
6901 -
6902 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
6903 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
6904 -
6905 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
6906 -
6907 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
6908 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
6909 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
6910 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
6911 - fi
6912 - fi
6913 - if use d3d9; then
6914 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
6915 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
6916 - fi
6917 - fi
6918 -
6919 - default
6920 -
6921 - l10n_find_plocales_changes "${S}/po" "" ".po"
6922 -}
6923 -
6924 -src_prepare() {
6925 -
6926 - eapply_bin(){
6927 - local patch
6928 - for patch in ${PATCHES_BIN[@]}; do
6929 - patchbin --nogit < "${patch}" || die
6930 - done
6931 - }
6932 -
6933 - local md5="$(md5sum server/protocol.def)"
6934 -
6935 - if use staging; then
6936 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
6937 - ewarn "Wine bugzilla should explicitly state that staging was used."
6938 -
6939 - local STAGING_EXCLUDE=""
6940 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
6941 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
6942 -
6943 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
6944 - ebegin "Running Wine-Staging patch installer"
6945 - (
6946 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
6947 - cd "${STAGING_DIR}/patches"
6948 - source "${STAGING_DIR}/patches/patchinstall.sh"
6949 - )
6950 - eend $? || die "Failed to apply Wine-Staging patches"
6951 - fi
6952 - if use d3d9; then
6953 - if use staging; then
6954 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
6955 - else
6956 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
6957 - fi
6958 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
6959 - fi
6960 -
6961 - default
6962 - eapply_bin
6963 - eautoreconf
6964 -
6965 - # Modification of the server protocol requires regenerating the server requests
6966 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
6967 - einfo "server/protocol.def was patched; running tools/make_requests"
6968 - tools/make_requests || die #432348
6969 - fi
6970 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
6971 - if ! use run-exes; then
6972 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
6973 - fi
6974 -
6975 - # Edit wine.desktop to work for specific variant
6976 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
6977 -
6978 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
6979 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
6980 -
6981 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
6982 -}
6983 -
6984 -src_configure() {
6985 - wine_compiler_check || die
6986 -
6987 - export LDCONFIG=/bin/true
6988 - use custom-cflags || strip-flags
6989 -
6990 - multilib-minimal_src_configure
6991 -}
6992 -
6993 -multilib_src_configure() {
6994 - local myconf=(
6995 - --prefix="${MY_PREFIX}"
6996 - --datarootdir="${MY_DATAROOTDIR}"
6997 - --datadir="${MY_DATADIR}"
6998 - --docdir="${MY_DOCDIR}"
6999 - --includedir="${MY_INCLUDEDIR}"
7000 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
7001 - --libexecdir="${MY_LIBEXECDIR}"
7002 - --localstatedir="${MY_LOCALSTATEDIR}"
7003 - --mandir="${MY_MANDIR}"
7004 - --sysconfdir=/etc/wine
7005 - $(use_with alsa)
7006 - $(use_with capi)
7007 - $(use_with lcms cms)
7008 - $(use_with cups)
7009 - $(use_with ncurses curses)
7010 - $(use_with udisks dbus)
7011 - $(use_with fontconfig)
7012 - $(use_with ssl gnutls)
7013 - $(use_enable gecko mshtml)
7014 - $(use_with gphoto2 gphoto)
7015 - $(use_with gsm)
7016 - $(use_with gstreamer)
7017 - --without-hal
7018 - $(use_with jpeg)
7019 - $(use_with ldap)
7020 - $(use_enable mono mscoree)
7021 - $(use_with mp3 mpg123)
7022 - $(use_with netapi)
7023 - $(use_with nls gettext)
7024 - $(use_with openal)
7025 - $(use_with opencl)
7026 - $(use_with opengl)
7027 - $(use_with osmesa)
7028 - $(use_with oss)
7029 - $(use_with pcap)
7030 - $(use_with png)
7031 - $(use_with pulseaudio pulse)
7032 - $(use_with threads pthread)
7033 - $(use_with scanner sane)
7034 - $(use_enable test tests)
7035 - $(use_with truetype freetype)
7036 - $(use_with udev)
7037 - $(use_with v4l)
7038 - $(use_with X x)
7039 - $(use_with xcomposite)
7040 - $(use_with xinerama)
7041 - $(use_with xml)
7042 - $(use_with xml xslt)
7043 - )
7044 -
7045 - use staging && myconf+=(
7046 - --with-xattr
7047 - $(use_with themes gtk3)
7048 - $(use_with vaapi va)
7049 - )
7050 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
7051 -
7052 - local PKG_CONFIG AR RANLIB
7053 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
7054 - # set AR and RANLIB to make QA scripts happy; #483342
7055 - tc-export PKG_CONFIG AR RANLIB
7056 -
7057 - if use amd64; then
7058 - if [[ ${ABI} == amd64 ]]; then
7059 - myconf+=( --enable-win64 )
7060 - else
7061 - myconf+=( --disable-win64 )
7062 - fi
7063 -
7064 - # Note: using --with-wine64 results in problems with multilib.eclass
7065 - # CC/LD hackery. We're using separate tools instead.
7066 - fi
7067 -
7068 - ECONF_SOURCE=${S} \
7069 - econf "${myconf[@]}"
7070 - emake depend
7071 -}
7072 -
7073 -multilib_src_test() {
7074 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
7075 - if [[ ${ABI} == x86 ]]; then
7076 - if [[ $(id -u) == 0 ]]; then
7077 - ewarn "Skipping tests since they cannot be run under the root user."
7078 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
7079 - return
7080 - fi
7081 -
7082 - WINEPREFIX="${T}/.wine-${ABI}" \
7083 - Xemake test
7084 - fi
7085 -}
7086 -
7087 -multilib_src_install_all() {
7088 - local DOCS=( ANNOUNCE AUTHORS README )
7089 - add_locale_docs() {
7090 - local locale_doc="documentation/README.$1"
7091 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
7092 - }
7093 - l10n_for_each_locale_do add_locale_docs
7094 -
7095 - einstalldocs
7096 - prune_libtool_files --all
7097 -
7098 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
7099 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
7100 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
7101 - fi
7102 -
7103 - # Remove wineconsole if neither backend is installed #551124
7104 - if ! use X && ! use ncurses; then
7105 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
7106 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
7107 - rm_wineconsole() {
7108 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
7109 - }
7110 - multilib_foreach_abi rm_wineconsole
7111 - fi
7112 -
7113 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
7114 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
7115 -
7116 - if use abi_x86_64 && ! use abi_x86_32; then
7117 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
7118 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
7119 - fi
7120 -
7121 - # Failglob for bin and man loops
7122 - local glob_state=$(shopt -p failglob)
7123 - shopt -s failglob
7124 -
7125 - # Make wrappers for binaries for handling multiple variants
7126 - # Note: wrappers instead of symlinks because some are shell which use basename
7127 - local b
7128 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
7129 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
7130 - done
7131 -
7132 - # respect LINGUAS when installing man pages, #469418
7133 - local l
7134 - for l in de fr pl; do
7135 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
7136 - done
7137 -
7138 - eval "${glob_state}"
7139 -}
7140 -
7141 -pkg_postinst() {
7142 - eselect wine register ${P}
7143 - if [[ ${PN} == "wine-vanilla" ]]; then
7144 - eselect wine register --vanilla ${P} || die
7145 - else
7146 - if use staging; then
7147 - eselect wine register --staging ${P} || die
7148 - fi
7149 - if use d3d9; then
7150 - eselect wine register --d3d9 ${P} || die
7151 - fi
7152 - fi
7153 -
7154 - eselect wine update --all --if-unset || die
7155 -
7156 - xdg_desktop_database_update
7157 -
7158 - if ! use gecko; then
7159 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
7160 - ewarn "implementation of iexplore. Many older windows applications"
7161 - ewarn "rely upon the existence of an iexplore implementation, so"
7162 - ewarn "you will likely need to install an external one, like via winetricks"
7163 - fi
7164 - if ! use mono; then
7165 - ewarn "Without Wine Mono, wine prefixes will not have a default"
7166 - ewarn "implementation of .NET. Many windows applications rely upon"
7167 - ewarn "the existence of a .NET implementation, so you will likely need"
7168 - ewarn "to install an external one, like via winetricks"
7169 - fi
7170 -}
7171 -
7172 -pkg_prerm() {
7173 - eselect wine deregister ${P}
7174 - if [[ ${PN} == "wine-vanilla" ]]; then
7175 - eselect wine deregister --vanilla ${P} || die
7176 - else
7177 - if use staging; then
7178 - eselect wine deregister --staging ${P} || die
7179 - fi
7180 - if use d3d9; then
7181 - eselect wine deregister --d3d9 ${P} || die
7182 - fi
7183 - fi
7184 -
7185 - eselect wine update --all --if-unset || die
7186 -}
7187 -
7188 -pkg_postrm() {
7189 - xdg_desktop_database_update
7190 -}
7191
7192 diff --git a/app-emulation/wine-any/wine-any-2.4-r1.ebuild b/app-emulation/wine-any/wine-any-2.4-r1.ebuild
7193 deleted file mode 100644
7194 index 26addaa023d..00000000000
7195 --- a/app-emulation/wine-any/wine-any-2.4-r1.ebuild
7196 +++ /dev/null
7197 @@ -1,636 +0,0 @@
7198 -# Copyright 1999-2017 Gentoo Foundation
7199 -# Distributed under the terms of the GNU General Public License v2
7200 -
7201 -EAPI=6
7202 -
7203 -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"
7204 -PLOCALE_BACKUP="en"
7205 -
7206 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
7207 -
7208 -MY_PN="${PN%%-*}"
7209 -MY_P="${MY_PN}-${PV}"
7210 -
7211 -if [[ ${PV} == "9999" ]] ; then
7212 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
7213 - EGIT_BRANCH="master"
7214 - inherit git-r3
7215 - SRC_URI=""
7216 - #KEYWORDS=""
7217 -else
7218 - MAJOR_V=$(get_version_component_range 1)
7219 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
7220 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
7221 -fi
7222 -S="${WORKDIR}/${MY_P}"
7223 -
7224 -STAGING_P="wine-staging-${PV}"
7225 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
7226 -D3D9_P="wine-d3d9-${PV}"
7227 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
7228 -GWP_V="20170830"
7229 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
7230 -
7231 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
7232 -HOMEPAGE="https://www.winehq.org/"
7233 -SRC_URI="${SRC_URI}
7234 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
7235 -"
7236 -
7237 -if [[ ${PV} == "9999" ]] ; then
7238 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
7239 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
7240 -else
7241 - SRC_URI="${SRC_URI}
7242 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
7243 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
7244 -fi
7245 -
7246 -LICENSE="LGPL-2.1"
7247 -SLOT="${PV}"
7248 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
7249 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
7250 - X? ( truetype )
7251 - elibc_glibc? ( threads )
7252 - osmesa? ( opengl )
7253 - pipelight? ( staging )
7254 - s3tc? ( staging )
7255 - test? ( abi_x86_32 )
7256 - themes? ( staging )
7257 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
7258 -
7259 -# FIXME: the test suite is unsuitable for us; many tests require net access
7260 -# or fail due to Xvfb's opengl limitations.
7261 -RESTRICT="test"
7262 -
7263 -COMMON_DEPEND="
7264 - X? (
7265 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
7266 - x11-libs/libXext[${MULTILIB_USEDEP}]
7267 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
7268 - x11-libs/libXi[${MULTILIB_USEDEP}]
7269 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
7270 - )
7271 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
7272 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
7273 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
7274 - d3d9? (
7275 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
7276 - x11-libs/libX11[${MULTILIB_USEDEP}]
7277 - x11-libs/libXext[${MULTILIB_USEDEP}]
7278 - x11-libs/libxcb[${MULTILIB_USEDEP}]
7279 - )
7280 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
7281 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
7282 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
7283 - gstreamer? (
7284 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
7285 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
7286 - )
7287 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
7288 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
7289 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
7290 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
7291 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
7292 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
7293 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
7294 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
7295 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
7296 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
7297 - opengl? (
7298 - virtual/glu[${MULTILIB_USEDEP}]
7299 - virtual/opengl[${MULTILIB_USEDEP}]
7300 - )
7301 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
7302 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
7303 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
7304 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
7305 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
7306 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
7307 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
7308 - themes? (
7309 - dev-libs/glib:2[${MULTILIB_USEDEP}]
7310 - x11-libs/cairo[${MULTILIB_USEDEP}]
7311 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
7312 - )
7313 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
7314 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
7315 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
7316 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
7317 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
7318 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
7319 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
7320 - xml? (
7321 - dev-libs/libxml2[${MULTILIB_USEDEP}]
7322 - dev-libs/libxslt[${MULTILIB_USEDEP}]
7323 - )
7324 - abi_x86_32? (
7325 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
7326 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
7327 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
7328 - !<app-emulation/emul-linux-x86-db-20140508-r3
7329 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
7330 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
7331 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
7332 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
7333 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
7334 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
7335 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
7336 - !<app-emulation/emul-linux-x86-soundlibs-20140508
7337 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
7338 - !<app-emulation/emul-linux-x86-xlibs-20140508
7339 - )"
7340 -
7341 -RDEPEND="${COMMON_DEPEND}
7342 - app-emulation/wine-desktop-common
7343 - >app-eselect/eselect-wine-0.3
7344 - !app-emulation/wine:0
7345 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
7346 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
7347 - mono? ( app-emulation/wine-mono:4.7.0 )
7348 - perl? (
7349 - dev-lang/perl
7350 - dev-perl/XML-Simple
7351 - )
7352 - pulseaudio? (
7353 - realtime? ( sys-auth/rtkit )
7354 - )
7355 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
7356 - samba? ( >=net-fs/samba-3.0.25[winbind] )
7357 - selinux? ( sec-policy/selinux-wine )
7358 - udisks? ( sys-fs/udisks:2 )"
7359 -
7360 -# tools/make_requests requires perl
7361 -DEPEND="${COMMON_DEPEND}
7362 - sys-devel/flex
7363 - >=sys-kernel/linux-headers-2.6
7364 - virtual/pkgconfig
7365 - virtual/yacc
7366 - X? (
7367 - x11-proto/inputproto
7368 - x11-proto/xextproto
7369 - x11-proto/xf86vidmodeproto
7370 - )
7371 - prelink? ( sys-devel/prelink )
7372 - staging? (
7373 - dev-lang/perl
7374 - dev-perl/XML-Simple
7375 - )
7376 - xinerama? ( x11-proto/xineramaproto )"
7377 -
7378 -# These use a non-standard "Wine" category, which is provided by
7379 -# /etc/xdg/applications-merged/wine.menu
7380 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
7381 -usr/share/applications/wine-notepad.desktop
7382 -usr/share/applications/wine-uninstaller.desktop
7383 -usr/share/applications/wine-winecfg.desktop"
7384 -
7385 -PATCHES=(
7386 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
7387 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
7388 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
7389 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
7390 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
7391 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
7392 -)
7393 -PATCHES_BIN=(
7394 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
7395 -)
7396 -
7397 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
7398 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
7399 - DEPEND+=" dev-util/patchbin"
7400 -fi
7401 -
7402 -wine_compiler_check() {
7403 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7404 -
7405 - # GCC-specific bugs
7406 - if tc-is-gcc; then
7407 - # bug #549768
7408 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
7409 - ebegin "Checking for gcc-5 ms_abi compiler bug"
7410 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
7411 - # Run in subshell to prevent "Aborted" message
7412 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
7413 - if ! eend $?; then
7414 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
7415 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
7416 - eerror "or use gcc-config to select a different compiler version."
7417 - eerror "See https://bugs.gentoo.org/549768"
7418 - eerror
7419 - return 1
7420 - fi
7421 - fi
7422 - # bug #574044
7423 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
7424 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
7425 - # Compile in subshell to prevent "Aborted" message
7426 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
7427 - if ! eend $?; then
7428 - eerror "Wine cannot be built with this version of gcc-5.3"
7429 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
7430 - eerror "or use gcc-config to select a different compiler version."
7431 - eerror "See https://bugs.gentoo.org/574044"
7432 - eerror
7433 - return 1
7434 - fi
7435 - fi
7436 - fi
7437 -
7438 - # Ensure compiler support
7439 - if use abi_x86_64; then
7440 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
7441 - # Compile in subshell to prevent "Aborted" message
7442 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
7443 - if ! eend $?; then
7444 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
7445 - eerror
7446 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
7447 - eerror
7448 - return 1
7449 - fi
7450 - fi
7451 -}
7452 -
7453 -wine_build_environment_check() {
7454 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7455 -
7456 - if use abi_x86_64; then
7457 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
7458 - eerror "You need gcc-4.4+ to compile 64-bit wine"
7459 - die
7460 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
7461 - eerror "You need clang-3.8+ to compile 64-bit wine"
7462 - die
7463 - fi
7464 - fi
7465 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
7466 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
7467 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
7468 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
7469 - fi
7470 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
7471 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
7472 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
7473 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
7474 - ewarn "See package.env in man 5 portage for more information on how to do this."
7475 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
7476 - fi
7477 - fi
7478 -
7479 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
7480 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
7481 - eerror "See https://bugs.gentoo.org/487864 for more details."
7482 - eerror
7483 - return 1
7484 - fi
7485 -}
7486 -
7487 -wine_env_vcs_vars() {
7488 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
7489 - local pn_live_val="${pn_live_var}"
7490 - eval pn_live_val='$'${pn_live_val}
7491 - if [[ ! -z ${pn_live_val} ]]; then
7492 - if use staging || use d3d9; then
7493 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
7494 - eerror "cannot be used to set the commit. Instead, you may use the"
7495 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
7496 - eerror
7497 - return 1
7498 - fi
7499 - fi
7500 - if [[ ! -z ${EGIT_COMMIT} ]]; then
7501 - eerror "Commits must now be specified using the environmental variables"
7502 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
7503 - eerror
7504 - return 1
7505 - fi
7506 -}
7507 -
7508 -pkg_pretend() {
7509 - wine_build_environment_check || die
7510 -
7511 - # Verify OSS support
7512 - if use oss && ! use kernel_FreeBSD; then
7513 - if ! has_version ">=media-sound/oss-4"; then
7514 - eerror "You cannot build wine with USE=oss without having support from a"
7515 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
7516 - eerror
7517 - die
7518 - fi
7519 - fi
7520 -}
7521 -
7522 -pkg_setup() {
7523 - wine_build_environment_check || die
7524 - wine_env_vcs_vars || die
7525 -
7526 - WINE_VARIANT="${PN#wine}-${PV}"
7527 - WINE_VARIANT="${WINE_VARIANT#-}"
7528 -
7529 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
7530 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
7531 - MY_DATADIR="${MY_DATAROOTDIR}"
7532 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
7533 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
7534 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
7535 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
7536 - MY_MANDIR="${MY_DATADIR}/man"
7537 -}
7538 -
7539 -src_unpack() {
7540 - if [[ ${PV} == "9999" ]] ; then
7541 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
7542 - if use staging; then
7543 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
7544 -
7545 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
7546 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
7547 -
7548 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
7549 -
7550 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
7551 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
7552 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
7553 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
7554 - fi
7555 - fi
7556 - if use d3d9; then
7557 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
7558 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
7559 - fi
7560 - fi
7561 -
7562 - default
7563 -
7564 - l10n_find_plocales_changes "${S}/po" "" ".po"
7565 -}
7566 -
7567 -src_prepare() {
7568 -
7569 - eapply_bin(){
7570 - local patch
7571 - for patch in ${PATCHES_BIN[@]}; do
7572 - patchbin --nogit < "${patch}" || die
7573 - done
7574 - }
7575 -
7576 - local md5="$(md5sum server/protocol.def)"
7577 -
7578 - if use staging; then
7579 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
7580 - ewarn "Wine bugzilla should explicitly state that staging was used."
7581 -
7582 - local STAGING_EXCLUDE=""
7583 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
7584 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
7585 -
7586 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
7587 - ebegin "Running Wine-Staging patch installer"
7588 - (
7589 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
7590 - cd "${STAGING_DIR}/patches"
7591 - source "${STAGING_DIR}/patches/patchinstall.sh"
7592 - )
7593 - eend $? || die "Failed to apply Wine-Staging patches"
7594 - fi
7595 - if use d3d9; then
7596 - if use staging; then
7597 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
7598 - else
7599 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
7600 - fi
7601 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
7602 - fi
7603 -
7604 - default
7605 - eapply_bin
7606 - eautoreconf
7607 -
7608 - # Modification of the server protocol requires regenerating the server requests
7609 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
7610 - einfo "server/protocol.def was patched; running tools/make_requests"
7611 - tools/make_requests || die #432348
7612 - fi
7613 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
7614 - if ! use run-exes; then
7615 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
7616 - fi
7617 -
7618 - # Edit wine.desktop to work for specific variant
7619 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
7620 -
7621 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
7622 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
7623 -
7624 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
7625 -}
7626 -
7627 -src_configure() {
7628 - wine_compiler_check || die
7629 -
7630 - export LDCONFIG=/bin/true
7631 - use custom-cflags || strip-flags
7632 -
7633 - multilib-minimal_src_configure
7634 -}
7635 -
7636 -multilib_src_configure() {
7637 - local myconf=(
7638 - --prefix="${MY_PREFIX}"
7639 - --datarootdir="${MY_DATAROOTDIR}"
7640 - --datadir="${MY_DATADIR}"
7641 - --docdir="${MY_DOCDIR}"
7642 - --includedir="${MY_INCLUDEDIR}"
7643 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
7644 - --libexecdir="${MY_LIBEXECDIR}"
7645 - --localstatedir="${MY_LOCALSTATEDIR}"
7646 - --mandir="${MY_MANDIR}"
7647 - --sysconfdir=/etc/wine
7648 - $(use_with alsa)
7649 - $(use_with capi)
7650 - $(use_with lcms cms)
7651 - $(use_with cups)
7652 - $(use_with ncurses curses)
7653 - $(use_with udisks dbus)
7654 - $(use_with fontconfig)
7655 - $(use_with ssl gnutls)
7656 - $(use_enable gecko mshtml)
7657 - $(use_with gphoto2 gphoto)
7658 - $(use_with gsm)
7659 - $(use_with gstreamer)
7660 - --without-hal
7661 - $(use_with jpeg)
7662 - $(use_with ldap)
7663 - $(use_enable mono mscoree)
7664 - $(use_with mp3 mpg123)
7665 - $(use_with netapi)
7666 - $(use_with nls gettext)
7667 - $(use_with openal)
7668 - $(use_with opencl)
7669 - $(use_with opengl)
7670 - $(use_with osmesa)
7671 - $(use_with oss)
7672 - $(use_with pcap)
7673 - $(use_with png)
7674 - $(use_with pulseaudio pulse)
7675 - $(use_with threads pthread)
7676 - $(use_with scanner sane)
7677 - $(use_enable test tests)
7678 - $(use_with truetype freetype)
7679 - $(use_with udev)
7680 - $(use_with v4l)
7681 - $(use_with X x)
7682 - $(use_with xcomposite)
7683 - $(use_with xinerama)
7684 - $(use_with xml)
7685 - $(use_with xml xslt)
7686 - )
7687 -
7688 - use staging && myconf+=(
7689 - --with-xattr
7690 - $(use_with themes gtk3)
7691 - $(use_with vaapi va)
7692 - )
7693 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
7694 -
7695 - local PKG_CONFIG AR RANLIB
7696 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
7697 - # set AR and RANLIB to make QA scripts happy; #483342
7698 - tc-export PKG_CONFIG AR RANLIB
7699 -
7700 - if use amd64; then
7701 - if [[ ${ABI} == amd64 ]]; then
7702 - myconf+=( --enable-win64 )
7703 - else
7704 - myconf+=( --disable-win64 )
7705 - fi
7706 -
7707 - # Note: using --with-wine64 results in problems with multilib.eclass
7708 - # CC/LD hackery. We're using separate tools instead.
7709 - fi
7710 -
7711 - ECONF_SOURCE=${S} \
7712 - econf "${myconf[@]}"
7713 - emake depend
7714 -}
7715 -
7716 -multilib_src_test() {
7717 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
7718 - if [[ ${ABI} == x86 ]]; then
7719 - if [[ $(id -u) == 0 ]]; then
7720 - ewarn "Skipping tests since they cannot be run under the root user."
7721 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
7722 - return
7723 - fi
7724 -
7725 - WINEPREFIX="${T}/.wine-${ABI}" \
7726 - Xemake test
7727 - fi
7728 -}
7729 -
7730 -multilib_src_install_all() {
7731 - local DOCS=( ANNOUNCE AUTHORS README )
7732 - add_locale_docs() {
7733 - local locale_doc="documentation/README.$1"
7734 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
7735 - }
7736 - l10n_for_each_locale_do add_locale_docs
7737 -
7738 - einstalldocs
7739 - prune_libtool_files --all
7740 -
7741 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
7742 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
7743 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
7744 - fi
7745 -
7746 - # Remove wineconsole if neither backend is installed #551124
7747 - if ! use X && ! use ncurses; then
7748 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
7749 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
7750 - rm_wineconsole() {
7751 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
7752 - }
7753 - multilib_foreach_abi rm_wineconsole
7754 - fi
7755 -
7756 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
7757 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
7758 -
7759 - if use abi_x86_64 && ! use abi_x86_32; then
7760 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
7761 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
7762 - fi
7763 -
7764 - # Failglob for bin and man loops
7765 - local glob_state=$(shopt -p failglob)
7766 - shopt -s failglob
7767 -
7768 - # Make wrappers for binaries for handling multiple variants
7769 - # Note: wrappers instead of symlinks because some are shell which use basename
7770 - local b
7771 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
7772 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
7773 - done
7774 -
7775 - # respect LINGUAS when installing man pages, #469418
7776 - local l
7777 - for l in de fr pl; do
7778 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
7779 - done
7780 -
7781 - eval "${glob_state}"
7782 -}
7783 -
7784 -pkg_postinst() {
7785 - eselect wine register ${P}
7786 - if [[ ${PN} == "wine-vanilla" ]]; then
7787 - eselect wine register --vanilla ${P} || die
7788 - else
7789 - if use staging; then
7790 - eselect wine register --staging ${P} || die
7791 - fi
7792 - if use d3d9; then
7793 - eselect wine register --d3d9 ${P} || die
7794 - fi
7795 - fi
7796 -
7797 - eselect wine update --all --if-unset || die
7798 -
7799 - xdg_desktop_database_update
7800 -
7801 - if ! use gecko; then
7802 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
7803 - ewarn "implementation of iexplore. Many older windows applications"
7804 - ewarn "rely upon the existence of an iexplore implementation, so"
7805 - ewarn "you will likely need to install an external one, like via winetricks"
7806 - fi
7807 - if ! use mono; then
7808 - ewarn "Without Wine Mono, wine prefixes will not have a default"
7809 - ewarn "implementation of .NET. Many windows applications rely upon"
7810 - ewarn "the existence of a .NET implementation, so you will likely need"
7811 - ewarn "to install an external one, like via winetricks"
7812 - fi
7813 -}
7814 -
7815 -pkg_prerm() {
7816 - eselect wine deregister ${P}
7817 - if [[ ${PN} == "wine-vanilla" ]]; then
7818 - eselect wine deregister --vanilla ${P} || die
7819 - else
7820 - if use staging; then
7821 - eselect wine deregister --staging ${P} || die
7822 - fi
7823 - if use d3d9; then
7824 - eselect wine deregister --d3d9 ${P} || die
7825 - fi
7826 - fi
7827 -
7828 - eselect wine update --all --if-unset || die
7829 -}
7830 -
7831 -pkg_postrm() {
7832 - xdg_desktop_database_update
7833 -}
7834
7835 diff --git a/app-emulation/wine-any/wine-any-2.5-r1.ebuild b/app-emulation/wine-any/wine-any-2.5-r1.ebuild
7836 deleted file mode 100644
7837 index 26addaa023d..00000000000
7838 --- a/app-emulation/wine-any/wine-any-2.5-r1.ebuild
7839 +++ /dev/null
7840 @@ -1,636 +0,0 @@
7841 -# Copyright 1999-2017 Gentoo Foundation
7842 -# Distributed under the terms of the GNU General Public License v2
7843 -
7844 -EAPI=6
7845 -
7846 -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"
7847 -PLOCALE_BACKUP="en"
7848 -
7849 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
7850 -
7851 -MY_PN="${PN%%-*}"
7852 -MY_P="${MY_PN}-${PV}"
7853 -
7854 -if [[ ${PV} == "9999" ]] ; then
7855 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
7856 - EGIT_BRANCH="master"
7857 - inherit git-r3
7858 - SRC_URI=""
7859 - #KEYWORDS=""
7860 -else
7861 - MAJOR_V=$(get_version_component_range 1)
7862 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
7863 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
7864 -fi
7865 -S="${WORKDIR}/${MY_P}"
7866 -
7867 -STAGING_P="wine-staging-${PV}"
7868 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
7869 -D3D9_P="wine-d3d9-${PV}"
7870 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
7871 -GWP_V="20170830"
7872 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
7873 -
7874 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
7875 -HOMEPAGE="https://www.winehq.org/"
7876 -SRC_URI="${SRC_URI}
7877 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
7878 -"
7879 -
7880 -if [[ ${PV} == "9999" ]] ; then
7881 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
7882 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
7883 -else
7884 - SRC_URI="${SRC_URI}
7885 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
7886 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
7887 -fi
7888 -
7889 -LICENSE="LGPL-2.1"
7890 -SLOT="${PV}"
7891 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
7892 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
7893 - X? ( truetype )
7894 - elibc_glibc? ( threads )
7895 - osmesa? ( opengl )
7896 - pipelight? ( staging )
7897 - s3tc? ( staging )
7898 - test? ( abi_x86_32 )
7899 - themes? ( staging )
7900 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
7901 -
7902 -# FIXME: the test suite is unsuitable for us; many tests require net access
7903 -# or fail due to Xvfb's opengl limitations.
7904 -RESTRICT="test"
7905 -
7906 -COMMON_DEPEND="
7907 - X? (
7908 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
7909 - x11-libs/libXext[${MULTILIB_USEDEP}]
7910 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
7911 - x11-libs/libXi[${MULTILIB_USEDEP}]
7912 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
7913 - )
7914 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
7915 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
7916 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
7917 - d3d9? (
7918 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
7919 - x11-libs/libX11[${MULTILIB_USEDEP}]
7920 - x11-libs/libXext[${MULTILIB_USEDEP}]
7921 - x11-libs/libxcb[${MULTILIB_USEDEP}]
7922 - )
7923 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
7924 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
7925 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
7926 - gstreamer? (
7927 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
7928 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
7929 - )
7930 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
7931 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
7932 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
7933 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
7934 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
7935 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
7936 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
7937 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
7938 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
7939 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
7940 - opengl? (
7941 - virtual/glu[${MULTILIB_USEDEP}]
7942 - virtual/opengl[${MULTILIB_USEDEP}]
7943 - )
7944 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
7945 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
7946 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
7947 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
7948 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
7949 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
7950 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
7951 - themes? (
7952 - dev-libs/glib:2[${MULTILIB_USEDEP}]
7953 - x11-libs/cairo[${MULTILIB_USEDEP}]
7954 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
7955 - )
7956 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
7957 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
7958 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
7959 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
7960 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
7961 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
7962 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
7963 - xml? (
7964 - dev-libs/libxml2[${MULTILIB_USEDEP}]
7965 - dev-libs/libxslt[${MULTILIB_USEDEP}]
7966 - )
7967 - abi_x86_32? (
7968 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
7969 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
7970 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
7971 - !<app-emulation/emul-linux-x86-db-20140508-r3
7972 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
7973 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
7974 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
7975 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
7976 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
7977 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
7978 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
7979 - !<app-emulation/emul-linux-x86-soundlibs-20140508
7980 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
7981 - !<app-emulation/emul-linux-x86-xlibs-20140508
7982 - )"
7983 -
7984 -RDEPEND="${COMMON_DEPEND}
7985 - app-emulation/wine-desktop-common
7986 - >app-eselect/eselect-wine-0.3
7987 - !app-emulation/wine:0
7988 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
7989 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
7990 - mono? ( app-emulation/wine-mono:4.7.0 )
7991 - perl? (
7992 - dev-lang/perl
7993 - dev-perl/XML-Simple
7994 - )
7995 - pulseaudio? (
7996 - realtime? ( sys-auth/rtkit )
7997 - )
7998 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
7999 - samba? ( >=net-fs/samba-3.0.25[winbind] )
8000 - selinux? ( sec-policy/selinux-wine )
8001 - udisks? ( sys-fs/udisks:2 )"
8002 -
8003 -# tools/make_requests requires perl
8004 -DEPEND="${COMMON_DEPEND}
8005 - sys-devel/flex
8006 - >=sys-kernel/linux-headers-2.6
8007 - virtual/pkgconfig
8008 - virtual/yacc
8009 - X? (
8010 - x11-proto/inputproto
8011 - x11-proto/xextproto
8012 - x11-proto/xf86vidmodeproto
8013 - )
8014 - prelink? ( sys-devel/prelink )
8015 - staging? (
8016 - dev-lang/perl
8017 - dev-perl/XML-Simple
8018 - )
8019 - xinerama? ( x11-proto/xineramaproto )"
8020 -
8021 -# These use a non-standard "Wine" category, which is provided by
8022 -# /etc/xdg/applications-merged/wine.menu
8023 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
8024 -usr/share/applications/wine-notepad.desktop
8025 -usr/share/applications/wine-uninstaller.desktop
8026 -usr/share/applications/wine-winecfg.desktop"
8027 -
8028 -PATCHES=(
8029 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
8030 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
8031 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
8032 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
8033 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
8034 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
8035 -)
8036 -PATCHES_BIN=(
8037 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
8038 -)
8039 -
8040 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
8041 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
8042 - DEPEND+=" dev-util/patchbin"
8043 -fi
8044 -
8045 -wine_compiler_check() {
8046 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8047 -
8048 - # GCC-specific bugs
8049 - if tc-is-gcc; then
8050 - # bug #549768
8051 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
8052 - ebegin "Checking for gcc-5 ms_abi compiler bug"
8053 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
8054 - # Run in subshell to prevent "Aborted" message
8055 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
8056 - if ! eend $?; then
8057 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
8058 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
8059 - eerror "or use gcc-config to select a different compiler version."
8060 - eerror "See https://bugs.gentoo.org/549768"
8061 - eerror
8062 - return 1
8063 - fi
8064 - fi
8065 - # bug #574044
8066 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
8067 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
8068 - # Compile in subshell to prevent "Aborted" message
8069 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
8070 - if ! eend $?; then
8071 - eerror "Wine cannot be built with this version of gcc-5.3"
8072 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
8073 - eerror "or use gcc-config to select a different compiler version."
8074 - eerror "See https://bugs.gentoo.org/574044"
8075 - eerror
8076 - return 1
8077 - fi
8078 - fi
8079 - fi
8080 -
8081 - # Ensure compiler support
8082 - if use abi_x86_64; then
8083 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
8084 - # Compile in subshell to prevent "Aborted" message
8085 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
8086 - if ! eend $?; then
8087 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
8088 - eerror
8089 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
8090 - eerror
8091 - return 1
8092 - fi
8093 - fi
8094 -}
8095 -
8096 -wine_build_environment_check() {
8097 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8098 -
8099 - if use abi_x86_64; then
8100 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
8101 - eerror "You need gcc-4.4+ to compile 64-bit wine"
8102 - die
8103 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
8104 - eerror "You need clang-3.8+ to compile 64-bit wine"
8105 - die
8106 - fi
8107 - fi
8108 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
8109 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
8110 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
8111 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
8112 - fi
8113 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
8114 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
8115 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
8116 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
8117 - ewarn "See package.env in man 5 portage for more information on how to do this."
8118 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
8119 - fi
8120 - fi
8121 -
8122 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
8123 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
8124 - eerror "See https://bugs.gentoo.org/487864 for more details."
8125 - eerror
8126 - return 1
8127 - fi
8128 -}
8129 -
8130 -wine_env_vcs_vars() {
8131 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
8132 - local pn_live_val="${pn_live_var}"
8133 - eval pn_live_val='$'${pn_live_val}
8134 - if [[ ! -z ${pn_live_val} ]]; then
8135 - if use staging || use d3d9; then
8136 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
8137 - eerror "cannot be used to set the commit. Instead, you may use the"
8138 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
8139 - eerror
8140 - return 1
8141 - fi
8142 - fi
8143 - if [[ ! -z ${EGIT_COMMIT} ]]; then
8144 - eerror "Commits must now be specified using the environmental variables"
8145 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
8146 - eerror
8147 - return 1
8148 - fi
8149 -}
8150 -
8151 -pkg_pretend() {
8152 - wine_build_environment_check || die
8153 -
8154 - # Verify OSS support
8155 - if use oss && ! use kernel_FreeBSD; then
8156 - if ! has_version ">=media-sound/oss-4"; then
8157 - eerror "You cannot build wine with USE=oss without having support from a"
8158 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
8159 - eerror
8160 - die
8161 - fi
8162 - fi
8163 -}
8164 -
8165 -pkg_setup() {
8166 - wine_build_environment_check || die
8167 - wine_env_vcs_vars || die
8168 -
8169 - WINE_VARIANT="${PN#wine}-${PV}"
8170 - WINE_VARIANT="${WINE_VARIANT#-}"
8171 -
8172 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
8173 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
8174 - MY_DATADIR="${MY_DATAROOTDIR}"
8175 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
8176 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
8177 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
8178 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
8179 - MY_MANDIR="${MY_DATADIR}/man"
8180 -}
8181 -
8182 -src_unpack() {
8183 - if [[ ${PV} == "9999" ]] ; then
8184 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
8185 - if use staging; then
8186 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
8187 -
8188 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
8189 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
8190 -
8191 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
8192 -
8193 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
8194 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
8195 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
8196 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
8197 - fi
8198 - fi
8199 - if use d3d9; then
8200 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
8201 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
8202 - fi
8203 - fi
8204 -
8205 - default
8206 -
8207 - l10n_find_plocales_changes "${S}/po" "" ".po"
8208 -}
8209 -
8210 -src_prepare() {
8211 -
8212 - eapply_bin(){
8213 - local patch
8214 - for patch in ${PATCHES_BIN[@]}; do
8215 - patchbin --nogit < "${patch}" || die
8216 - done
8217 - }
8218 -
8219 - local md5="$(md5sum server/protocol.def)"
8220 -
8221 - if use staging; then
8222 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
8223 - ewarn "Wine bugzilla should explicitly state that staging was used."
8224 -
8225 - local STAGING_EXCLUDE=""
8226 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
8227 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
8228 -
8229 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
8230 - ebegin "Running Wine-Staging patch installer"
8231 - (
8232 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
8233 - cd "${STAGING_DIR}/patches"
8234 - source "${STAGING_DIR}/patches/patchinstall.sh"
8235 - )
8236 - eend $? || die "Failed to apply Wine-Staging patches"
8237 - fi
8238 - if use d3d9; then
8239 - if use staging; then
8240 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
8241 - else
8242 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
8243 - fi
8244 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
8245 - fi
8246 -
8247 - default
8248 - eapply_bin
8249 - eautoreconf
8250 -
8251 - # Modification of the server protocol requires regenerating the server requests
8252 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
8253 - einfo "server/protocol.def was patched; running tools/make_requests"
8254 - tools/make_requests || die #432348
8255 - fi
8256 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
8257 - if ! use run-exes; then
8258 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
8259 - fi
8260 -
8261 - # Edit wine.desktop to work for specific variant
8262 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
8263 -
8264 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
8265 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
8266 -
8267 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
8268 -}
8269 -
8270 -src_configure() {
8271 - wine_compiler_check || die
8272 -
8273 - export LDCONFIG=/bin/true
8274 - use custom-cflags || strip-flags
8275 -
8276 - multilib-minimal_src_configure
8277 -}
8278 -
8279 -multilib_src_configure() {
8280 - local myconf=(
8281 - --prefix="${MY_PREFIX}"
8282 - --datarootdir="${MY_DATAROOTDIR}"
8283 - --datadir="${MY_DATADIR}"
8284 - --docdir="${MY_DOCDIR}"
8285 - --includedir="${MY_INCLUDEDIR}"
8286 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
8287 - --libexecdir="${MY_LIBEXECDIR}"
8288 - --localstatedir="${MY_LOCALSTATEDIR}"
8289 - --mandir="${MY_MANDIR}"
8290 - --sysconfdir=/etc/wine
8291 - $(use_with alsa)
8292 - $(use_with capi)
8293 - $(use_with lcms cms)
8294 - $(use_with cups)
8295 - $(use_with ncurses curses)
8296 - $(use_with udisks dbus)
8297 - $(use_with fontconfig)
8298 - $(use_with ssl gnutls)
8299 - $(use_enable gecko mshtml)
8300 - $(use_with gphoto2 gphoto)
8301 - $(use_with gsm)
8302 - $(use_with gstreamer)
8303 - --without-hal
8304 - $(use_with jpeg)
8305 - $(use_with ldap)
8306 - $(use_enable mono mscoree)
8307 - $(use_with mp3 mpg123)
8308 - $(use_with netapi)
8309 - $(use_with nls gettext)
8310 - $(use_with openal)
8311 - $(use_with opencl)
8312 - $(use_with opengl)
8313 - $(use_with osmesa)
8314 - $(use_with oss)
8315 - $(use_with pcap)
8316 - $(use_with png)
8317 - $(use_with pulseaudio pulse)
8318 - $(use_with threads pthread)
8319 - $(use_with scanner sane)
8320 - $(use_enable test tests)
8321 - $(use_with truetype freetype)
8322 - $(use_with udev)
8323 - $(use_with v4l)
8324 - $(use_with X x)
8325 - $(use_with xcomposite)
8326 - $(use_with xinerama)
8327 - $(use_with xml)
8328 - $(use_with xml xslt)
8329 - )
8330 -
8331 - use staging && myconf+=(
8332 - --with-xattr
8333 - $(use_with themes gtk3)
8334 - $(use_with vaapi va)
8335 - )
8336 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
8337 -
8338 - local PKG_CONFIG AR RANLIB
8339 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
8340 - # set AR and RANLIB to make QA scripts happy; #483342
8341 - tc-export PKG_CONFIG AR RANLIB
8342 -
8343 - if use amd64; then
8344 - if [[ ${ABI} == amd64 ]]; then
8345 - myconf+=( --enable-win64 )
8346 - else
8347 - myconf+=( --disable-win64 )
8348 - fi
8349 -
8350 - # Note: using --with-wine64 results in problems with multilib.eclass
8351 - # CC/LD hackery. We're using separate tools instead.
8352 - fi
8353 -
8354 - ECONF_SOURCE=${S} \
8355 - econf "${myconf[@]}"
8356 - emake depend
8357 -}
8358 -
8359 -multilib_src_test() {
8360 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
8361 - if [[ ${ABI} == x86 ]]; then
8362 - if [[ $(id -u) == 0 ]]; then
8363 - ewarn "Skipping tests since they cannot be run under the root user."
8364 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
8365 - return
8366 - fi
8367 -
8368 - WINEPREFIX="${T}/.wine-${ABI}" \
8369 - Xemake test
8370 - fi
8371 -}
8372 -
8373 -multilib_src_install_all() {
8374 - local DOCS=( ANNOUNCE AUTHORS README )
8375 - add_locale_docs() {
8376 - local locale_doc="documentation/README.$1"
8377 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
8378 - }
8379 - l10n_for_each_locale_do add_locale_docs
8380 -
8381 - einstalldocs
8382 - prune_libtool_files --all
8383 -
8384 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
8385 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
8386 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
8387 - fi
8388 -
8389 - # Remove wineconsole if neither backend is installed #551124
8390 - if ! use X && ! use ncurses; then
8391 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
8392 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
8393 - rm_wineconsole() {
8394 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
8395 - }
8396 - multilib_foreach_abi rm_wineconsole
8397 - fi
8398 -
8399 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
8400 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
8401 -
8402 - if use abi_x86_64 && ! use abi_x86_32; then
8403 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
8404 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
8405 - fi
8406 -
8407 - # Failglob for bin and man loops
8408 - local glob_state=$(shopt -p failglob)
8409 - shopt -s failglob
8410 -
8411 - # Make wrappers for binaries for handling multiple variants
8412 - # Note: wrappers instead of symlinks because some are shell which use basename
8413 - local b
8414 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
8415 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
8416 - done
8417 -
8418 - # respect LINGUAS when installing man pages, #469418
8419 - local l
8420 - for l in de fr pl; do
8421 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
8422 - done
8423 -
8424 - eval "${glob_state}"
8425 -}
8426 -
8427 -pkg_postinst() {
8428 - eselect wine register ${P}
8429 - if [[ ${PN} == "wine-vanilla" ]]; then
8430 - eselect wine register --vanilla ${P} || die
8431 - else
8432 - if use staging; then
8433 - eselect wine register --staging ${P} || die
8434 - fi
8435 - if use d3d9; then
8436 - eselect wine register --d3d9 ${P} || die
8437 - fi
8438 - fi
8439 -
8440 - eselect wine update --all --if-unset || die
8441 -
8442 - xdg_desktop_database_update
8443 -
8444 - if ! use gecko; then
8445 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
8446 - ewarn "implementation of iexplore. Many older windows applications"
8447 - ewarn "rely upon the existence of an iexplore implementation, so"
8448 - ewarn "you will likely need to install an external one, like via winetricks"
8449 - fi
8450 - if ! use mono; then
8451 - ewarn "Without Wine Mono, wine prefixes will not have a default"
8452 - ewarn "implementation of .NET. Many windows applications rely upon"
8453 - ewarn "the existence of a .NET implementation, so you will likely need"
8454 - ewarn "to install an external one, like via winetricks"
8455 - fi
8456 -}
8457 -
8458 -pkg_prerm() {
8459 - eselect wine deregister ${P}
8460 - if [[ ${PN} == "wine-vanilla" ]]; then
8461 - eselect wine deregister --vanilla ${P} || die
8462 - else
8463 - if use staging; then
8464 - eselect wine deregister --staging ${P} || die
8465 - fi
8466 - if use d3d9; then
8467 - eselect wine deregister --d3d9 ${P} || die
8468 - fi
8469 - fi
8470 -
8471 - eselect wine update --all --if-unset || die
8472 -}
8473 -
8474 -pkg_postrm() {
8475 - xdg_desktop_database_update
8476 -}
8477
8478 diff --git a/app-emulation/wine-any/wine-any-2.6-r1.ebuild b/app-emulation/wine-any/wine-any-2.6-r1.ebuild
8479 deleted file mode 100644
8480 index 26addaa023d..00000000000
8481 --- a/app-emulation/wine-any/wine-any-2.6-r1.ebuild
8482 +++ /dev/null
8483 @@ -1,636 +0,0 @@
8484 -# Copyright 1999-2017 Gentoo Foundation
8485 -# Distributed under the terms of the GNU General Public License v2
8486 -
8487 -EAPI=6
8488 -
8489 -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"
8490 -PLOCALE_BACKUP="en"
8491 -
8492 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
8493 -
8494 -MY_PN="${PN%%-*}"
8495 -MY_P="${MY_PN}-${PV}"
8496 -
8497 -if [[ ${PV} == "9999" ]] ; then
8498 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
8499 - EGIT_BRANCH="master"
8500 - inherit git-r3
8501 - SRC_URI=""
8502 - #KEYWORDS=""
8503 -else
8504 - MAJOR_V=$(get_version_component_range 1)
8505 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
8506 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
8507 -fi
8508 -S="${WORKDIR}/${MY_P}"
8509 -
8510 -STAGING_P="wine-staging-${PV}"
8511 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
8512 -D3D9_P="wine-d3d9-${PV}"
8513 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
8514 -GWP_V="20170830"
8515 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
8516 -
8517 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
8518 -HOMEPAGE="https://www.winehq.org/"
8519 -SRC_URI="${SRC_URI}
8520 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
8521 -"
8522 -
8523 -if [[ ${PV} == "9999" ]] ; then
8524 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
8525 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
8526 -else
8527 - SRC_URI="${SRC_URI}
8528 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
8529 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
8530 -fi
8531 -
8532 -LICENSE="LGPL-2.1"
8533 -SLOT="${PV}"
8534 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
8535 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
8536 - X? ( truetype )
8537 - elibc_glibc? ( threads )
8538 - osmesa? ( opengl )
8539 - pipelight? ( staging )
8540 - s3tc? ( staging )
8541 - test? ( abi_x86_32 )
8542 - themes? ( staging )
8543 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
8544 -
8545 -# FIXME: the test suite is unsuitable for us; many tests require net access
8546 -# or fail due to Xvfb's opengl limitations.
8547 -RESTRICT="test"
8548 -
8549 -COMMON_DEPEND="
8550 - X? (
8551 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
8552 - x11-libs/libXext[${MULTILIB_USEDEP}]
8553 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
8554 - x11-libs/libXi[${MULTILIB_USEDEP}]
8555 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
8556 - )
8557 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
8558 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
8559 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
8560 - d3d9? (
8561 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
8562 - x11-libs/libX11[${MULTILIB_USEDEP}]
8563 - x11-libs/libXext[${MULTILIB_USEDEP}]
8564 - x11-libs/libxcb[${MULTILIB_USEDEP}]
8565 - )
8566 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
8567 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
8568 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
8569 - gstreamer? (
8570 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
8571 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
8572 - )
8573 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
8574 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
8575 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
8576 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
8577 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
8578 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
8579 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
8580 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
8581 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
8582 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
8583 - opengl? (
8584 - virtual/glu[${MULTILIB_USEDEP}]
8585 - virtual/opengl[${MULTILIB_USEDEP}]
8586 - )
8587 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
8588 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
8589 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
8590 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
8591 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
8592 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
8593 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
8594 - themes? (
8595 - dev-libs/glib:2[${MULTILIB_USEDEP}]
8596 - x11-libs/cairo[${MULTILIB_USEDEP}]
8597 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
8598 - )
8599 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
8600 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
8601 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
8602 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
8603 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
8604 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
8605 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
8606 - xml? (
8607 - dev-libs/libxml2[${MULTILIB_USEDEP}]
8608 - dev-libs/libxslt[${MULTILIB_USEDEP}]
8609 - )
8610 - abi_x86_32? (
8611 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
8612 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
8613 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
8614 - !<app-emulation/emul-linux-x86-db-20140508-r3
8615 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
8616 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
8617 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
8618 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
8619 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
8620 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
8621 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
8622 - !<app-emulation/emul-linux-x86-soundlibs-20140508
8623 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
8624 - !<app-emulation/emul-linux-x86-xlibs-20140508
8625 - )"
8626 -
8627 -RDEPEND="${COMMON_DEPEND}
8628 - app-emulation/wine-desktop-common
8629 - >app-eselect/eselect-wine-0.3
8630 - !app-emulation/wine:0
8631 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
8632 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
8633 - mono? ( app-emulation/wine-mono:4.7.0 )
8634 - perl? (
8635 - dev-lang/perl
8636 - dev-perl/XML-Simple
8637 - )
8638 - pulseaudio? (
8639 - realtime? ( sys-auth/rtkit )
8640 - )
8641 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
8642 - samba? ( >=net-fs/samba-3.0.25[winbind] )
8643 - selinux? ( sec-policy/selinux-wine )
8644 - udisks? ( sys-fs/udisks:2 )"
8645 -
8646 -# tools/make_requests requires perl
8647 -DEPEND="${COMMON_DEPEND}
8648 - sys-devel/flex
8649 - >=sys-kernel/linux-headers-2.6
8650 - virtual/pkgconfig
8651 - virtual/yacc
8652 - X? (
8653 - x11-proto/inputproto
8654 - x11-proto/xextproto
8655 - x11-proto/xf86vidmodeproto
8656 - )
8657 - prelink? ( sys-devel/prelink )
8658 - staging? (
8659 - dev-lang/perl
8660 - dev-perl/XML-Simple
8661 - )
8662 - xinerama? ( x11-proto/xineramaproto )"
8663 -
8664 -# These use a non-standard "Wine" category, which is provided by
8665 -# /etc/xdg/applications-merged/wine.menu
8666 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
8667 -usr/share/applications/wine-notepad.desktop
8668 -usr/share/applications/wine-uninstaller.desktop
8669 -usr/share/applications/wine-winecfg.desktop"
8670 -
8671 -PATCHES=(
8672 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
8673 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
8674 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
8675 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
8676 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
8677 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
8678 -)
8679 -PATCHES_BIN=(
8680 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
8681 -)
8682 -
8683 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
8684 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
8685 - DEPEND+=" dev-util/patchbin"
8686 -fi
8687 -
8688 -wine_compiler_check() {
8689 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8690 -
8691 - # GCC-specific bugs
8692 - if tc-is-gcc; then
8693 - # bug #549768
8694 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
8695 - ebegin "Checking for gcc-5 ms_abi compiler bug"
8696 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
8697 - # Run in subshell to prevent "Aborted" message
8698 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
8699 - if ! eend $?; then
8700 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
8701 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
8702 - eerror "or use gcc-config to select a different compiler version."
8703 - eerror "See https://bugs.gentoo.org/549768"
8704 - eerror
8705 - return 1
8706 - fi
8707 - fi
8708 - # bug #574044
8709 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
8710 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
8711 - # Compile in subshell to prevent "Aborted" message
8712 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
8713 - if ! eend $?; then
8714 - eerror "Wine cannot be built with this version of gcc-5.3"
8715 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
8716 - eerror "or use gcc-config to select a different compiler version."
8717 - eerror "See https://bugs.gentoo.org/574044"
8718 - eerror
8719 - return 1
8720 - fi
8721 - fi
8722 - fi
8723 -
8724 - # Ensure compiler support
8725 - if use abi_x86_64; then
8726 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
8727 - # Compile in subshell to prevent "Aborted" message
8728 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
8729 - if ! eend $?; then
8730 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
8731 - eerror
8732 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
8733 - eerror
8734 - return 1
8735 - fi
8736 - fi
8737 -}
8738 -
8739 -wine_build_environment_check() {
8740 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8741 -
8742 - if use abi_x86_64; then
8743 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
8744 - eerror "You need gcc-4.4+ to compile 64-bit wine"
8745 - die
8746 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
8747 - eerror "You need clang-3.8+ to compile 64-bit wine"
8748 - die
8749 - fi
8750 - fi
8751 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
8752 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
8753 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
8754 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
8755 - fi
8756 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
8757 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
8758 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
8759 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
8760 - ewarn "See package.env in man 5 portage for more information on how to do this."
8761 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
8762 - fi
8763 - fi
8764 -
8765 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
8766 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
8767 - eerror "See https://bugs.gentoo.org/487864 for more details."
8768 - eerror
8769 - return 1
8770 - fi
8771 -}
8772 -
8773 -wine_env_vcs_vars() {
8774 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
8775 - local pn_live_val="${pn_live_var}"
8776 - eval pn_live_val='$'${pn_live_val}
8777 - if [[ ! -z ${pn_live_val} ]]; then
8778 - if use staging || use d3d9; then
8779 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
8780 - eerror "cannot be used to set the commit. Instead, you may use the"
8781 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
8782 - eerror
8783 - return 1
8784 - fi
8785 - fi
8786 - if [[ ! -z ${EGIT_COMMIT} ]]; then
8787 - eerror "Commits must now be specified using the environmental variables"
8788 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
8789 - eerror
8790 - return 1
8791 - fi
8792 -}
8793 -
8794 -pkg_pretend() {
8795 - wine_build_environment_check || die
8796 -
8797 - # Verify OSS support
8798 - if use oss && ! use kernel_FreeBSD; then
8799 - if ! has_version ">=media-sound/oss-4"; then
8800 - eerror "You cannot build wine with USE=oss without having support from a"
8801 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
8802 - eerror
8803 - die
8804 - fi
8805 - fi
8806 -}
8807 -
8808 -pkg_setup() {
8809 - wine_build_environment_check || die
8810 - wine_env_vcs_vars || die
8811 -
8812 - WINE_VARIANT="${PN#wine}-${PV}"
8813 - WINE_VARIANT="${WINE_VARIANT#-}"
8814 -
8815 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
8816 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
8817 - MY_DATADIR="${MY_DATAROOTDIR}"
8818 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
8819 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
8820 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
8821 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
8822 - MY_MANDIR="${MY_DATADIR}/man"
8823 -}
8824 -
8825 -src_unpack() {
8826 - if [[ ${PV} == "9999" ]] ; then
8827 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
8828 - if use staging; then
8829 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
8830 -
8831 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
8832 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
8833 -
8834 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
8835 -
8836 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
8837 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
8838 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
8839 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
8840 - fi
8841 - fi
8842 - if use d3d9; then
8843 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
8844 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
8845 - fi
8846 - fi
8847 -
8848 - default
8849 -
8850 - l10n_find_plocales_changes "${S}/po" "" ".po"
8851 -}
8852 -
8853 -src_prepare() {
8854 -
8855 - eapply_bin(){
8856 - local patch
8857 - for patch in ${PATCHES_BIN[@]}; do
8858 - patchbin --nogit < "${patch}" || die
8859 - done
8860 - }
8861 -
8862 - local md5="$(md5sum server/protocol.def)"
8863 -
8864 - if use staging; then
8865 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
8866 - ewarn "Wine bugzilla should explicitly state that staging was used."
8867 -
8868 - local STAGING_EXCLUDE=""
8869 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
8870 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
8871 -
8872 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
8873 - ebegin "Running Wine-Staging patch installer"
8874 - (
8875 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
8876 - cd "${STAGING_DIR}/patches"
8877 - source "${STAGING_DIR}/patches/patchinstall.sh"
8878 - )
8879 - eend $? || die "Failed to apply Wine-Staging patches"
8880 - fi
8881 - if use d3d9; then
8882 - if use staging; then
8883 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
8884 - else
8885 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
8886 - fi
8887 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
8888 - fi
8889 -
8890 - default
8891 - eapply_bin
8892 - eautoreconf
8893 -
8894 - # Modification of the server protocol requires regenerating the server requests
8895 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
8896 - einfo "server/protocol.def was patched; running tools/make_requests"
8897 - tools/make_requests || die #432348
8898 - fi
8899 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
8900 - if ! use run-exes; then
8901 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
8902 - fi
8903 -
8904 - # Edit wine.desktop to work for specific variant
8905 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
8906 -
8907 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
8908 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
8909 -
8910 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
8911 -}
8912 -
8913 -src_configure() {
8914 - wine_compiler_check || die
8915 -
8916 - export LDCONFIG=/bin/true
8917 - use custom-cflags || strip-flags
8918 -
8919 - multilib-minimal_src_configure
8920 -}
8921 -
8922 -multilib_src_configure() {
8923 - local myconf=(
8924 - --prefix="${MY_PREFIX}"
8925 - --datarootdir="${MY_DATAROOTDIR}"
8926 - --datadir="${MY_DATADIR}"
8927 - --docdir="${MY_DOCDIR}"
8928 - --includedir="${MY_INCLUDEDIR}"
8929 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
8930 - --libexecdir="${MY_LIBEXECDIR}"
8931 - --localstatedir="${MY_LOCALSTATEDIR}"
8932 - --mandir="${MY_MANDIR}"
8933 - --sysconfdir=/etc/wine
8934 - $(use_with alsa)
8935 - $(use_with capi)
8936 - $(use_with lcms cms)
8937 - $(use_with cups)
8938 - $(use_with ncurses curses)
8939 - $(use_with udisks dbus)
8940 - $(use_with fontconfig)
8941 - $(use_with ssl gnutls)
8942 - $(use_enable gecko mshtml)
8943 - $(use_with gphoto2 gphoto)
8944 - $(use_with gsm)
8945 - $(use_with gstreamer)
8946 - --without-hal
8947 - $(use_with jpeg)
8948 - $(use_with ldap)
8949 - $(use_enable mono mscoree)
8950 - $(use_with mp3 mpg123)
8951 - $(use_with netapi)
8952 - $(use_with nls gettext)
8953 - $(use_with openal)
8954 - $(use_with opencl)
8955 - $(use_with opengl)
8956 - $(use_with osmesa)
8957 - $(use_with oss)
8958 - $(use_with pcap)
8959 - $(use_with png)
8960 - $(use_with pulseaudio pulse)
8961 - $(use_with threads pthread)
8962 - $(use_with scanner sane)
8963 - $(use_enable test tests)
8964 - $(use_with truetype freetype)
8965 - $(use_with udev)
8966 - $(use_with v4l)
8967 - $(use_with X x)
8968 - $(use_with xcomposite)
8969 - $(use_with xinerama)
8970 - $(use_with xml)
8971 - $(use_with xml xslt)
8972 - )
8973 -
8974 - use staging && myconf+=(
8975 - --with-xattr
8976 - $(use_with themes gtk3)
8977 - $(use_with vaapi va)
8978 - )
8979 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
8980 -
8981 - local PKG_CONFIG AR RANLIB
8982 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
8983 - # set AR and RANLIB to make QA scripts happy; #483342
8984 - tc-export PKG_CONFIG AR RANLIB
8985 -
8986 - if use amd64; then
8987 - if [[ ${ABI} == amd64 ]]; then
8988 - myconf+=( --enable-win64 )
8989 - else
8990 - myconf+=( --disable-win64 )
8991 - fi
8992 -
8993 - # Note: using --with-wine64 results in problems with multilib.eclass
8994 - # CC/LD hackery. We're using separate tools instead.
8995 - fi
8996 -
8997 - ECONF_SOURCE=${S} \
8998 - econf "${myconf[@]}"
8999 - emake depend
9000 -}
9001 -
9002 -multilib_src_test() {
9003 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
9004 - if [[ ${ABI} == x86 ]]; then
9005 - if [[ $(id -u) == 0 ]]; then
9006 - ewarn "Skipping tests since they cannot be run under the root user."
9007 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
9008 - return
9009 - fi
9010 -
9011 - WINEPREFIX="${T}/.wine-${ABI}" \
9012 - Xemake test
9013 - fi
9014 -}
9015 -
9016 -multilib_src_install_all() {
9017 - local DOCS=( ANNOUNCE AUTHORS README )
9018 - add_locale_docs() {
9019 - local locale_doc="documentation/README.$1"
9020 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
9021 - }
9022 - l10n_for_each_locale_do add_locale_docs
9023 -
9024 - einstalldocs
9025 - prune_libtool_files --all
9026 -
9027 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
9028 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
9029 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
9030 - fi
9031 -
9032 - # Remove wineconsole if neither backend is installed #551124
9033 - if ! use X && ! use ncurses; then
9034 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
9035 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
9036 - rm_wineconsole() {
9037 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
9038 - }
9039 - multilib_foreach_abi rm_wineconsole
9040 - fi
9041 -
9042 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
9043 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
9044 -
9045 - if use abi_x86_64 && ! use abi_x86_32; then
9046 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
9047 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
9048 - fi
9049 -
9050 - # Failglob for bin and man loops
9051 - local glob_state=$(shopt -p failglob)
9052 - shopt -s failglob
9053 -
9054 - # Make wrappers for binaries for handling multiple variants
9055 - # Note: wrappers instead of symlinks because some are shell which use basename
9056 - local b
9057 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
9058 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
9059 - done
9060 -
9061 - # respect LINGUAS when installing man pages, #469418
9062 - local l
9063 - for l in de fr pl; do
9064 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
9065 - done
9066 -
9067 - eval "${glob_state}"
9068 -}
9069 -
9070 -pkg_postinst() {
9071 - eselect wine register ${P}
9072 - if [[ ${PN} == "wine-vanilla" ]]; then
9073 - eselect wine register --vanilla ${P} || die
9074 - else
9075 - if use staging; then
9076 - eselect wine register --staging ${P} || die
9077 - fi
9078 - if use d3d9; then
9079 - eselect wine register --d3d9 ${P} || die
9080 - fi
9081 - fi
9082 -
9083 - eselect wine update --all --if-unset || die
9084 -
9085 - xdg_desktop_database_update
9086 -
9087 - if ! use gecko; then
9088 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
9089 - ewarn "implementation of iexplore. Many older windows applications"
9090 - ewarn "rely upon the existence of an iexplore implementation, so"
9091 - ewarn "you will likely need to install an external one, like via winetricks"
9092 - fi
9093 - if ! use mono; then
9094 - ewarn "Without Wine Mono, wine prefixes will not have a default"
9095 - ewarn "implementation of .NET. Many windows applications rely upon"
9096 - ewarn "the existence of a .NET implementation, so you will likely need"
9097 - ewarn "to install an external one, like via winetricks"
9098 - fi
9099 -}
9100 -
9101 -pkg_prerm() {
9102 - eselect wine deregister ${P}
9103 - if [[ ${PN} == "wine-vanilla" ]]; then
9104 - eselect wine deregister --vanilla ${P} || die
9105 - else
9106 - if use staging; then
9107 - eselect wine deregister --staging ${P} || die
9108 - fi
9109 - if use d3d9; then
9110 - eselect wine deregister --d3d9 ${P} || die
9111 - fi
9112 - fi
9113 -
9114 - eselect wine update --all --if-unset || die
9115 -}
9116 -
9117 -pkg_postrm() {
9118 - xdg_desktop_database_update
9119 -}
9120
9121 diff --git a/app-emulation/wine-any/wine-any-2.7-r1.ebuild b/app-emulation/wine-any/wine-any-2.7-r1.ebuild
9122 deleted file mode 100644
9123 index 26addaa023d..00000000000
9124 --- a/app-emulation/wine-any/wine-any-2.7-r1.ebuild
9125 +++ /dev/null
9126 @@ -1,636 +0,0 @@
9127 -# Copyright 1999-2017 Gentoo Foundation
9128 -# Distributed under the terms of the GNU General Public License v2
9129 -
9130 -EAPI=6
9131 -
9132 -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"
9133 -PLOCALE_BACKUP="en"
9134 -
9135 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
9136 -
9137 -MY_PN="${PN%%-*}"
9138 -MY_P="${MY_PN}-${PV}"
9139 -
9140 -if [[ ${PV} == "9999" ]] ; then
9141 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
9142 - EGIT_BRANCH="master"
9143 - inherit git-r3
9144 - SRC_URI=""
9145 - #KEYWORDS=""
9146 -else
9147 - MAJOR_V=$(get_version_component_range 1)
9148 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
9149 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
9150 -fi
9151 -S="${WORKDIR}/${MY_P}"
9152 -
9153 -STAGING_P="wine-staging-${PV}"
9154 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
9155 -D3D9_P="wine-d3d9-${PV}"
9156 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
9157 -GWP_V="20170830"
9158 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
9159 -
9160 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
9161 -HOMEPAGE="https://www.winehq.org/"
9162 -SRC_URI="${SRC_URI}
9163 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
9164 -"
9165 -
9166 -if [[ ${PV} == "9999" ]] ; then
9167 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
9168 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
9169 -else
9170 - SRC_URI="${SRC_URI}
9171 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
9172 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
9173 -fi
9174 -
9175 -LICENSE="LGPL-2.1"
9176 -SLOT="${PV}"
9177 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
9178 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
9179 - X? ( truetype )
9180 - elibc_glibc? ( threads )
9181 - osmesa? ( opengl )
9182 - pipelight? ( staging )
9183 - s3tc? ( staging )
9184 - test? ( abi_x86_32 )
9185 - themes? ( staging )
9186 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
9187 -
9188 -# FIXME: the test suite is unsuitable for us; many tests require net access
9189 -# or fail due to Xvfb's opengl limitations.
9190 -RESTRICT="test"
9191 -
9192 -COMMON_DEPEND="
9193 - X? (
9194 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
9195 - x11-libs/libXext[${MULTILIB_USEDEP}]
9196 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
9197 - x11-libs/libXi[${MULTILIB_USEDEP}]
9198 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
9199 - )
9200 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
9201 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
9202 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
9203 - d3d9? (
9204 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
9205 - x11-libs/libX11[${MULTILIB_USEDEP}]
9206 - x11-libs/libXext[${MULTILIB_USEDEP}]
9207 - x11-libs/libxcb[${MULTILIB_USEDEP}]
9208 - )
9209 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
9210 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
9211 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
9212 - gstreamer? (
9213 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
9214 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
9215 - )
9216 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
9217 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
9218 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
9219 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
9220 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
9221 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
9222 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
9223 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
9224 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
9225 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
9226 - opengl? (
9227 - virtual/glu[${MULTILIB_USEDEP}]
9228 - virtual/opengl[${MULTILIB_USEDEP}]
9229 - )
9230 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
9231 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
9232 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
9233 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
9234 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
9235 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
9236 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
9237 - themes? (
9238 - dev-libs/glib:2[${MULTILIB_USEDEP}]
9239 - x11-libs/cairo[${MULTILIB_USEDEP}]
9240 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
9241 - )
9242 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
9243 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
9244 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
9245 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
9246 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
9247 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
9248 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
9249 - xml? (
9250 - dev-libs/libxml2[${MULTILIB_USEDEP}]
9251 - dev-libs/libxslt[${MULTILIB_USEDEP}]
9252 - )
9253 - abi_x86_32? (
9254 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
9255 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
9256 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
9257 - !<app-emulation/emul-linux-x86-db-20140508-r3
9258 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
9259 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
9260 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
9261 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
9262 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
9263 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
9264 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
9265 - !<app-emulation/emul-linux-x86-soundlibs-20140508
9266 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
9267 - !<app-emulation/emul-linux-x86-xlibs-20140508
9268 - )"
9269 -
9270 -RDEPEND="${COMMON_DEPEND}
9271 - app-emulation/wine-desktop-common
9272 - >app-eselect/eselect-wine-0.3
9273 - !app-emulation/wine:0
9274 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
9275 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
9276 - mono? ( app-emulation/wine-mono:4.7.0 )
9277 - perl? (
9278 - dev-lang/perl
9279 - dev-perl/XML-Simple
9280 - )
9281 - pulseaudio? (
9282 - realtime? ( sys-auth/rtkit )
9283 - )
9284 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
9285 - samba? ( >=net-fs/samba-3.0.25[winbind] )
9286 - selinux? ( sec-policy/selinux-wine )
9287 - udisks? ( sys-fs/udisks:2 )"
9288 -
9289 -# tools/make_requests requires perl
9290 -DEPEND="${COMMON_DEPEND}
9291 - sys-devel/flex
9292 - >=sys-kernel/linux-headers-2.6
9293 - virtual/pkgconfig
9294 - virtual/yacc
9295 - X? (
9296 - x11-proto/inputproto
9297 - x11-proto/xextproto
9298 - x11-proto/xf86vidmodeproto
9299 - )
9300 - prelink? ( sys-devel/prelink )
9301 - staging? (
9302 - dev-lang/perl
9303 - dev-perl/XML-Simple
9304 - )
9305 - xinerama? ( x11-proto/xineramaproto )"
9306 -
9307 -# These use a non-standard "Wine" category, which is provided by
9308 -# /etc/xdg/applications-merged/wine.menu
9309 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
9310 -usr/share/applications/wine-notepad.desktop
9311 -usr/share/applications/wine-uninstaller.desktop
9312 -usr/share/applications/wine-winecfg.desktop"
9313 -
9314 -PATCHES=(
9315 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
9316 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
9317 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
9318 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
9319 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
9320 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
9321 -)
9322 -PATCHES_BIN=(
9323 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
9324 -)
9325 -
9326 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
9327 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
9328 - DEPEND+=" dev-util/patchbin"
9329 -fi
9330 -
9331 -wine_compiler_check() {
9332 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9333 -
9334 - # GCC-specific bugs
9335 - if tc-is-gcc; then
9336 - # bug #549768
9337 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
9338 - ebegin "Checking for gcc-5 ms_abi compiler bug"
9339 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
9340 - # Run in subshell to prevent "Aborted" message
9341 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
9342 - if ! eend $?; then
9343 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
9344 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
9345 - eerror "or use gcc-config to select a different compiler version."
9346 - eerror "See https://bugs.gentoo.org/549768"
9347 - eerror
9348 - return 1
9349 - fi
9350 - fi
9351 - # bug #574044
9352 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
9353 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
9354 - # Compile in subshell to prevent "Aborted" message
9355 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
9356 - if ! eend $?; then
9357 - eerror "Wine cannot be built with this version of gcc-5.3"
9358 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
9359 - eerror "or use gcc-config to select a different compiler version."
9360 - eerror "See https://bugs.gentoo.org/574044"
9361 - eerror
9362 - return 1
9363 - fi
9364 - fi
9365 - fi
9366 -
9367 - # Ensure compiler support
9368 - if use abi_x86_64; then
9369 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
9370 - # Compile in subshell to prevent "Aborted" message
9371 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
9372 - if ! eend $?; then
9373 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
9374 - eerror
9375 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
9376 - eerror
9377 - return 1
9378 - fi
9379 - fi
9380 -}
9381 -
9382 -wine_build_environment_check() {
9383 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9384 -
9385 - if use abi_x86_64; then
9386 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
9387 - eerror "You need gcc-4.4+ to compile 64-bit wine"
9388 - die
9389 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
9390 - eerror "You need clang-3.8+ to compile 64-bit wine"
9391 - die
9392 - fi
9393 - fi
9394 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
9395 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
9396 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
9397 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
9398 - fi
9399 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
9400 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
9401 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
9402 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
9403 - ewarn "See package.env in man 5 portage for more information on how to do this."
9404 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
9405 - fi
9406 - fi
9407 -
9408 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
9409 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
9410 - eerror "See https://bugs.gentoo.org/487864 for more details."
9411 - eerror
9412 - return 1
9413 - fi
9414 -}
9415 -
9416 -wine_env_vcs_vars() {
9417 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
9418 - local pn_live_val="${pn_live_var}"
9419 - eval pn_live_val='$'${pn_live_val}
9420 - if [[ ! -z ${pn_live_val} ]]; then
9421 - if use staging || use d3d9; then
9422 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
9423 - eerror "cannot be used to set the commit. Instead, you may use the"
9424 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
9425 - eerror
9426 - return 1
9427 - fi
9428 - fi
9429 - if [[ ! -z ${EGIT_COMMIT} ]]; then
9430 - eerror "Commits must now be specified using the environmental variables"
9431 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
9432 - eerror
9433 - return 1
9434 - fi
9435 -}
9436 -
9437 -pkg_pretend() {
9438 - wine_build_environment_check || die
9439 -
9440 - # Verify OSS support
9441 - if use oss && ! use kernel_FreeBSD; then
9442 - if ! has_version ">=media-sound/oss-4"; then
9443 - eerror "You cannot build wine with USE=oss without having support from a"
9444 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
9445 - eerror
9446 - die
9447 - fi
9448 - fi
9449 -}
9450 -
9451 -pkg_setup() {
9452 - wine_build_environment_check || die
9453 - wine_env_vcs_vars || die
9454 -
9455 - WINE_VARIANT="${PN#wine}-${PV}"
9456 - WINE_VARIANT="${WINE_VARIANT#-}"
9457 -
9458 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
9459 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
9460 - MY_DATADIR="${MY_DATAROOTDIR}"
9461 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
9462 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
9463 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
9464 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
9465 - MY_MANDIR="${MY_DATADIR}/man"
9466 -}
9467 -
9468 -src_unpack() {
9469 - if [[ ${PV} == "9999" ]] ; then
9470 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
9471 - if use staging; then
9472 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
9473 -
9474 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
9475 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
9476 -
9477 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
9478 -
9479 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
9480 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
9481 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
9482 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
9483 - fi
9484 - fi
9485 - if use d3d9; then
9486 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
9487 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
9488 - fi
9489 - fi
9490 -
9491 - default
9492 -
9493 - l10n_find_plocales_changes "${S}/po" "" ".po"
9494 -}
9495 -
9496 -src_prepare() {
9497 -
9498 - eapply_bin(){
9499 - local patch
9500 - for patch in ${PATCHES_BIN[@]}; do
9501 - patchbin --nogit < "${patch}" || die
9502 - done
9503 - }
9504 -
9505 - local md5="$(md5sum server/protocol.def)"
9506 -
9507 - if use staging; then
9508 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
9509 - ewarn "Wine bugzilla should explicitly state that staging was used."
9510 -
9511 - local STAGING_EXCLUDE=""
9512 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
9513 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
9514 -
9515 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
9516 - ebegin "Running Wine-Staging patch installer"
9517 - (
9518 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
9519 - cd "${STAGING_DIR}/patches"
9520 - source "${STAGING_DIR}/patches/patchinstall.sh"
9521 - )
9522 - eend $? || die "Failed to apply Wine-Staging patches"
9523 - fi
9524 - if use d3d9; then
9525 - if use staging; then
9526 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
9527 - else
9528 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
9529 - fi
9530 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
9531 - fi
9532 -
9533 - default
9534 - eapply_bin
9535 - eautoreconf
9536 -
9537 - # Modification of the server protocol requires regenerating the server requests
9538 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
9539 - einfo "server/protocol.def was patched; running tools/make_requests"
9540 - tools/make_requests || die #432348
9541 - fi
9542 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
9543 - if ! use run-exes; then
9544 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
9545 - fi
9546 -
9547 - # Edit wine.desktop to work for specific variant
9548 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
9549 -
9550 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
9551 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
9552 -
9553 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
9554 -}
9555 -
9556 -src_configure() {
9557 - wine_compiler_check || die
9558 -
9559 - export LDCONFIG=/bin/true
9560 - use custom-cflags || strip-flags
9561 -
9562 - multilib-minimal_src_configure
9563 -}
9564 -
9565 -multilib_src_configure() {
9566 - local myconf=(
9567 - --prefix="${MY_PREFIX}"
9568 - --datarootdir="${MY_DATAROOTDIR}"
9569 - --datadir="${MY_DATADIR}"
9570 - --docdir="${MY_DOCDIR}"
9571 - --includedir="${MY_INCLUDEDIR}"
9572 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
9573 - --libexecdir="${MY_LIBEXECDIR}"
9574 - --localstatedir="${MY_LOCALSTATEDIR}"
9575 - --mandir="${MY_MANDIR}"
9576 - --sysconfdir=/etc/wine
9577 - $(use_with alsa)
9578 - $(use_with capi)
9579 - $(use_with lcms cms)
9580 - $(use_with cups)
9581 - $(use_with ncurses curses)
9582 - $(use_with udisks dbus)
9583 - $(use_with fontconfig)
9584 - $(use_with ssl gnutls)
9585 - $(use_enable gecko mshtml)
9586 - $(use_with gphoto2 gphoto)
9587 - $(use_with gsm)
9588 - $(use_with gstreamer)
9589 - --without-hal
9590 - $(use_with jpeg)
9591 - $(use_with ldap)
9592 - $(use_enable mono mscoree)
9593 - $(use_with mp3 mpg123)
9594 - $(use_with netapi)
9595 - $(use_with nls gettext)
9596 - $(use_with openal)
9597 - $(use_with opencl)
9598 - $(use_with opengl)
9599 - $(use_with osmesa)
9600 - $(use_with oss)
9601 - $(use_with pcap)
9602 - $(use_with png)
9603 - $(use_with pulseaudio pulse)
9604 - $(use_with threads pthread)
9605 - $(use_with scanner sane)
9606 - $(use_enable test tests)
9607 - $(use_with truetype freetype)
9608 - $(use_with udev)
9609 - $(use_with v4l)
9610 - $(use_with X x)
9611 - $(use_with xcomposite)
9612 - $(use_with xinerama)
9613 - $(use_with xml)
9614 - $(use_with xml xslt)
9615 - )
9616 -
9617 - use staging && myconf+=(
9618 - --with-xattr
9619 - $(use_with themes gtk3)
9620 - $(use_with vaapi va)
9621 - )
9622 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
9623 -
9624 - local PKG_CONFIG AR RANLIB
9625 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
9626 - # set AR and RANLIB to make QA scripts happy; #483342
9627 - tc-export PKG_CONFIG AR RANLIB
9628 -
9629 - if use amd64; then
9630 - if [[ ${ABI} == amd64 ]]; then
9631 - myconf+=( --enable-win64 )
9632 - else
9633 - myconf+=( --disable-win64 )
9634 - fi
9635 -
9636 - # Note: using --with-wine64 results in problems with multilib.eclass
9637 - # CC/LD hackery. We're using separate tools instead.
9638 - fi
9639 -
9640 - ECONF_SOURCE=${S} \
9641 - econf "${myconf[@]}"
9642 - emake depend
9643 -}
9644 -
9645 -multilib_src_test() {
9646 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
9647 - if [[ ${ABI} == x86 ]]; then
9648 - if [[ $(id -u) == 0 ]]; then
9649 - ewarn "Skipping tests since they cannot be run under the root user."
9650 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
9651 - return
9652 - fi
9653 -
9654 - WINEPREFIX="${T}/.wine-${ABI}" \
9655 - Xemake test
9656 - fi
9657 -}
9658 -
9659 -multilib_src_install_all() {
9660 - local DOCS=( ANNOUNCE AUTHORS README )
9661 - add_locale_docs() {
9662 - local locale_doc="documentation/README.$1"
9663 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
9664 - }
9665 - l10n_for_each_locale_do add_locale_docs
9666 -
9667 - einstalldocs
9668 - prune_libtool_files --all
9669 -
9670 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
9671 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
9672 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
9673 - fi
9674 -
9675 - # Remove wineconsole if neither backend is installed #551124
9676 - if ! use X && ! use ncurses; then
9677 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
9678 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
9679 - rm_wineconsole() {
9680 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
9681 - }
9682 - multilib_foreach_abi rm_wineconsole
9683 - fi
9684 -
9685 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
9686 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
9687 -
9688 - if use abi_x86_64 && ! use abi_x86_32; then
9689 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
9690 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
9691 - fi
9692 -
9693 - # Failglob for bin and man loops
9694 - local glob_state=$(shopt -p failglob)
9695 - shopt -s failglob
9696 -
9697 - # Make wrappers for binaries for handling multiple variants
9698 - # Note: wrappers instead of symlinks because some are shell which use basename
9699 - local b
9700 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
9701 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
9702 - done
9703 -
9704 - # respect LINGUAS when installing man pages, #469418
9705 - local l
9706 - for l in de fr pl; do
9707 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
9708 - done
9709 -
9710 - eval "${glob_state}"
9711 -}
9712 -
9713 -pkg_postinst() {
9714 - eselect wine register ${P}
9715 - if [[ ${PN} == "wine-vanilla" ]]; then
9716 - eselect wine register --vanilla ${P} || die
9717 - else
9718 - if use staging; then
9719 - eselect wine register --staging ${P} || die
9720 - fi
9721 - if use d3d9; then
9722 - eselect wine register --d3d9 ${P} || die
9723 - fi
9724 - fi
9725 -
9726 - eselect wine update --all --if-unset || die
9727 -
9728 - xdg_desktop_database_update
9729 -
9730 - if ! use gecko; then
9731 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
9732 - ewarn "implementation of iexplore. Many older windows applications"
9733 - ewarn "rely upon the existence of an iexplore implementation, so"
9734 - ewarn "you will likely need to install an external one, like via winetricks"
9735 - fi
9736 - if ! use mono; then
9737 - ewarn "Without Wine Mono, wine prefixes will not have a default"
9738 - ewarn "implementation of .NET. Many windows applications rely upon"
9739 - ewarn "the existence of a .NET implementation, so you will likely need"
9740 - ewarn "to install an external one, like via winetricks"
9741 - fi
9742 -}
9743 -
9744 -pkg_prerm() {
9745 - eselect wine deregister ${P}
9746 - if [[ ${PN} == "wine-vanilla" ]]; then
9747 - eselect wine deregister --vanilla ${P} || die
9748 - else
9749 - if use staging; then
9750 - eselect wine deregister --staging ${P} || die
9751 - fi
9752 - if use d3d9; then
9753 - eselect wine deregister --d3d9 ${P} || die
9754 - fi
9755 - fi
9756 -
9757 - eselect wine update --all --if-unset || die
9758 -}
9759 -
9760 -pkg_postrm() {
9761 - xdg_desktop_database_update
9762 -}
9763
9764 diff --git a/app-emulation/wine-any/wine-any-2.8-r1.ebuild b/app-emulation/wine-any/wine-any-2.8-r1.ebuild
9765 deleted file mode 100644
9766 index 26addaa023d..00000000000
9767 --- a/app-emulation/wine-any/wine-any-2.8-r1.ebuild
9768 +++ /dev/null
9769 @@ -1,636 +0,0 @@
9770 -# Copyright 1999-2017 Gentoo Foundation
9771 -# Distributed under the terms of the GNU General Public License v2
9772 -
9773 -EAPI=6
9774 -
9775 -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"
9776 -PLOCALE_BACKUP="en"
9777 -
9778 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
9779 -
9780 -MY_PN="${PN%%-*}"
9781 -MY_P="${MY_PN}-${PV}"
9782 -
9783 -if [[ ${PV} == "9999" ]] ; then
9784 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
9785 - EGIT_BRANCH="master"
9786 - inherit git-r3
9787 - SRC_URI=""
9788 - #KEYWORDS=""
9789 -else
9790 - MAJOR_V=$(get_version_component_range 1)
9791 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
9792 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
9793 -fi
9794 -S="${WORKDIR}/${MY_P}"
9795 -
9796 -STAGING_P="wine-staging-${PV}"
9797 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
9798 -D3D9_P="wine-d3d9-${PV}"
9799 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
9800 -GWP_V="20170830"
9801 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
9802 -
9803 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
9804 -HOMEPAGE="https://www.winehq.org/"
9805 -SRC_URI="${SRC_URI}
9806 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
9807 -"
9808 -
9809 -if [[ ${PV} == "9999" ]] ; then
9810 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
9811 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
9812 -else
9813 - SRC_URI="${SRC_URI}
9814 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
9815 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
9816 -fi
9817 -
9818 -LICENSE="LGPL-2.1"
9819 -SLOT="${PV}"
9820 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
9821 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
9822 - X? ( truetype )
9823 - elibc_glibc? ( threads )
9824 - osmesa? ( opengl )
9825 - pipelight? ( staging )
9826 - s3tc? ( staging )
9827 - test? ( abi_x86_32 )
9828 - themes? ( staging )
9829 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
9830 -
9831 -# FIXME: the test suite is unsuitable for us; many tests require net access
9832 -# or fail due to Xvfb's opengl limitations.
9833 -RESTRICT="test"
9834 -
9835 -COMMON_DEPEND="
9836 - X? (
9837 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
9838 - x11-libs/libXext[${MULTILIB_USEDEP}]
9839 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
9840 - x11-libs/libXi[${MULTILIB_USEDEP}]
9841 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
9842 - )
9843 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
9844 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
9845 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
9846 - d3d9? (
9847 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
9848 - x11-libs/libX11[${MULTILIB_USEDEP}]
9849 - x11-libs/libXext[${MULTILIB_USEDEP}]
9850 - x11-libs/libxcb[${MULTILIB_USEDEP}]
9851 - )
9852 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
9853 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
9854 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
9855 - gstreamer? (
9856 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
9857 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
9858 - )
9859 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
9860 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
9861 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
9862 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
9863 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
9864 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
9865 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
9866 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
9867 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
9868 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
9869 - opengl? (
9870 - virtual/glu[${MULTILIB_USEDEP}]
9871 - virtual/opengl[${MULTILIB_USEDEP}]
9872 - )
9873 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
9874 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
9875 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
9876 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
9877 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
9878 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
9879 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
9880 - themes? (
9881 - dev-libs/glib:2[${MULTILIB_USEDEP}]
9882 - x11-libs/cairo[${MULTILIB_USEDEP}]
9883 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
9884 - )
9885 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
9886 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
9887 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
9888 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
9889 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
9890 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
9891 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
9892 - xml? (
9893 - dev-libs/libxml2[${MULTILIB_USEDEP}]
9894 - dev-libs/libxslt[${MULTILIB_USEDEP}]
9895 - )
9896 - abi_x86_32? (
9897 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
9898 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
9899 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
9900 - !<app-emulation/emul-linux-x86-db-20140508-r3
9901 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
9902 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
9903 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
9904 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
9905 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
9906 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
9907 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
9908 - !<app-emulation/emul-linux-x86-soundlibs-20140508
9909 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
9910 - !<app-emulation/emul-linux-x86-xlibs-20140508
9911 - )"
9912 -
9913 -RDEPEND="${COMMON_DEPEND}
9914 - app-emulation/wine-desktop-common
9915 - >app-eselect/eselect-wine-0.3
9916 - !app-emulation/wine:0
9917 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
9918 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
9919 - mono? ( app-emulation/wine-mono:4.7.0 )
9920 - perl? (
9921 - dev-lang/perl
9922 - dev-perl/XML-Simple
9923 - )
9924 - pulseaudio? (
9925 - realtime? ( sys-auth/rtkit )
9926 - )
9927 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
9928 - samba? ( >=net-fs/samba-3.0.25[winbind] )
9929 - selinux? ( sec-policy/selinux-wine )
9930 - udisks? ( sys-fs/udisks:2 )"
9931 -
9932 -# tools/make_requests requires perl
9933 -DEPEND="${COMMON_DEPEND}
9934 - sys-devel/flex
9935 - >=sys-kernel/linux-headers-2.6
9936 - virtual/pkgconfig
9937 - virtual/yacc
9938 - X? (
9939 - x11-proto/inputproto
9940 - x11-proto/xextproto
9941 - x11-proto/xf86vidmodeproto
9942 - )
9943 - prelink? ( sys-devel/prelink )
9944 - staging? (
9945 - dev-lang/perl
9946 - dev-perl/XML-Simple
9947 - )
9948 - xinerama? ( x11-proto/xineramaproto )"
9949 -
9950 -# These use a non-standard "Wine" category, which is provided by
9951 -# /etc/xdg/applications-merged/wine.menu
9952 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
9953 -usr/share/applications/wine-notepad.desktop
9954 -usr/share/applications/wine-uninstaller.desktop
9955 -usr/share/applications/wine-winecfg.desktop"
9956 -
9957 -PATCHES=(
9958 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
9959 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
9960 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
9961 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
9962 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
9963 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
9964 -)
9965 -PATCHES_BIN=(
9966 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
9967 -)
9968 -
9969 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
9970 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
9971 - DEPEND+=" dev-util/patchbin"
9972 -fi
9973 -
9974 -wine_compiler_check() {
9975 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9976 -
9977 - # GCC-specific bugs
9978 - if tc-is-gcc; then
9979 - # bug #549768
9980 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
9981 - ebegin "Checking for gcc-5 ms_abi compiler bug"
9982 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
9983 - # Run in subshell to prevent "Aborted" message
9984 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
9985 - if ! eend $?; then
9986 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
9987 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
9988 - eerror "or use gcc-config to select a different compiler version."
9989 - eerror "See https://bugs.gentoo.org/549768"
9990 - eerror
9991 - return 1
9992 - fi
9993 - fi
9994 - # bug #574044
9995 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
9996 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
9997 - # Compile in subshell to prevent "Aborted" message
9998 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
9999 - if ! eend $?; then
10000 - eerror "Wine cannot be built with this version of gcc-5.3"
10001 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
10002 - eerror "or use gcc-config to select a different compiler version."
10003 - eerror "See https://bugs.gentoo.org/574044"
10004 - eerror
10005 - return 1
10006 - fi
10007 - fi
10008 - fi
10009 -
10010 - # Ensure compiler support
10011 - if use abi_x86_64; then
10012 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
10013 - # Compile in subshell to prevent "Aborted" message
10014 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
10015 - if ! eend $?; then
10016 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
10017 - eerror
10018 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
10019 - eerror
10020 - return 1
10021 - fi
10022 - fi
10023 -}
10024 -
10025 -wine_build_environment_check() {
10026 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
10027 -
10028 - if use abi_x86_64; then
10029 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
10030 - eerror "You need gcc-4.4+ to compile 64-bit wine"
10031 - die
10032 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
10033 - eerror "You need clang-3.8+ to compile 64-bit wine"
10034 - die
10035 - fi
10036 - fi
10037 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
10038 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
10039 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
10040 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
10041 - fi
10042 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
10043 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
10044 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
10045 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
10046 - ewarn "See package.env in man 5 portage for more information on how to do this."
10047 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
10048 - fi
10049 - fi
10050 -
10051 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
10052 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
10053 - eerror "See https://bugs.gentoo.org/487864 for more details."
10054 - eerror
10055 - return 1
10056 - fi
10057 -}
10058 -
10059 -wine_env_vcs_vars() {
10060 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
10061 - local pn_live_val="${pn_live_var}"
10062 - eval pn_live_val='$'${pn_live_val}
10063 - if [[ ! -z ${pn_live_val} ]]; then
10064 - if use staging || use d3d9; then
10065 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
10066 - eerror "cannot be used to set the commit. Instead, you may use the"
10067 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
10068 - eerror
10069 - return 1
10070 - fi
10071 - fi
10072 - if [[ ! -z ${EGIT_COMMIT} ]]; then
10073 - eerror "Commits must now be specified using the environmental variables"
10074 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
10075 - eerror
10076 - return 1
10077 - fi
10078 -}
10079 -
10080 -pkg_pretend() {
10081 - wine_build_environment_check || die
10082 -
10083 - # Verify OSS support
10084 - if use oss && ! use kernel_FreeBSD; then
10085 - if ! has_version ">=media-sound/oss-4"; then
10086 - eerror "You cannot build wine with USE=oss without having support from a"
10087 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
10088 - eerror
10089 - die
10090 - fi
10091 - fi
10092 -}
10093 -
10094 -pkg_setup() {
10095 - wine_build_environment_check || die
10096 - wine_env_vcs_vars || die
10097 -
10098 - WINE_VARIANT="${PN#wine}-${PV}"
10099 - WINE_VARIANT="${WINE_VARIANT#-}"
10100 -
10101 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
10102 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
10103 - MY_DATADIR="${MY_DATAROOTDIR}"
10104 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
10105 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
10106 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
10107 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
10108 - MY_MANDIR="${MY_DATADIR}/man"
10109 -}
10110 -
10111 -src_unpack() {
10112 - if [[ ${PV} == "9999" ]] ; then
10113 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
10114 - if use staging; then
10115 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
10116 -
10117 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
10118 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
10119 -
10120 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
10121 -
10122 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
10123 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
10124 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
10125 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
10126 - fi
10127 - fi
10128 - if use d3d9; then
10129 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
10130 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
10131 - fi
10132 - fi
10133 -
10134 - default
10135 -
10136 - l10n_find_plocales_changes "${S}/po" "" ".po"
10137 -}
10138 -
10139 -src_prepare() {
10140 -
10141 - eapply_bin(){
10142 - local patch
10143 - for patch in ${PATCHES_BIN[@]}; do
10144 - patchbin --nogit < "${patch}" || die
10145 - done
10146 - }
10147 -
10148 - local md5="$(md5sum server/protocol.def)"
10149 -
10150 - if use staging; then
10151 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
10152 - ewarn "Wine bugzilla should explicitly state that staging was used."
10153 -
10154 - local STAGING_EXCLUDE=""
10155 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
10156 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
10157 -
10158 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
10159 - ebegin "Running Wine-Staging patch installer"
10160 - (
10161 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
10162 - cd "${STAGING_DIR}/patches"
10163 - source "${STAGING_DIR}/patches/patchinstall.sh"
10164 - )
10165 - eend $? || die "Failed to apply Wine-Staging patches"
10166 - fi
10167 - if use d3d9; then
10168 - if use staging; then
10169 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
10170 - else
10171 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
10172 - fi
10173 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
10174 - fi
10175 -
10176 - default
10177 - eapply_bin
10178 - eautoreconf
10179 -
10180 - # Modification of the server protocol requires regenerating the server requests
10181 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
10182 - einfo "server/protocol.def was patched; running tools/make_requests"
10183 - tools/make_requests || die #432348
10184 - fi
10185 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
10186 - if ! use run-exes; then
10187 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
10188 - fi
10189 -
10190 - # Edit wine.desktop to work for specific variant
10191 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
10192 -
10193 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
10194 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
10195 -
10196 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
10197 -}
10198 -
10199 -src_configure() {
10200 - wine_compiler_check || die
10201 -
10202 - export LDCONFIG=/bin/true
10203 - use custom-cflags || strip-flags
10204 -
10205 - multilib-minimal_src_configure
10206 -}
10207 -
10208 -multilib_src_configure() {
10209 - local myconf=(
10210 - --prefix="${MY_PREFIX}"
10211 - --datarootdir="${MY_DATAROOTDIR}"
10212 - --datadir="${MY_DATADIR}"
10213 - --docdir="${MY_DOCDIR}"
10214 - --includedir="${MY_INCLUDEDIR}"
10215 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
10216 - --libexecdir="${MY_LIBEXECDIR}"
10217 - --localstatedir="${MY_LOCALSTATEDIR}"
10218 - --mandir="${MY_MANDIR}"
10219 - --sysconfdir=/etc/wine
10220 - $(use_with alsa)
10221 - $(use_with capi)
10222 - $(use_with lcms cms)
10223 - $(use_with cups)
10224 - $(use_with ncurses curses)
10225 - $(use_with udisks dbus)
10226 - $(use_with fontconfig)
10227 - $(use_with ssl gnutls)
10228 - $(use_enable gecko mshtml)
10229 - $(use_with gphoto2 gphoto)
10230 - $(use_with gsm)
10231 - $(use_with gstreamer)
10232 - --without-hal
10233 - $(use_with jpeg)
10234 - $(use_with ldap)
10235 - $(use_enable mono mscoree)
10236 - $(use_with mp3 mpg123)
10237 - $(use_with netapi)
10238 - $(use_with nls gettext)
10239 - $(use_with openal)
10240 - $(use_with opencl)
10241 - $(use_with opengl)
10242 - $(use_with osmesa)
10243 - $(use_with oss)
10244 - $(use_with pcap)
10245 - $(use_with png)
10246 - $(use_with pulseaudio pulse)
10247 - $(use_with threads pthread)
10248 - $(use_with scanner sane)
10249 - $(use_enable test tests)
10250 - $(use_with truetype freetype)
10251 - $(use_with udev)
10252 - $(use_with v4l)
10253 - $(use_with X x)
10254 - $(use_with xcomposite)
10255 - $(use_with xinerama)
10256 - $(use_with xml)
10257 - $(use_with xml xslt)
10258 - )
10259 -
10260 - use staging && myconf+=(
10261 - --with-xattr
10262 - $(use_with themes gtk3)
10263 - $(use_with vaapi va)
10264 - )
10265 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
10266 -
10267 - local PKG_CONFIG AR RANLIB
10268 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
10269 - # set AR and RANLIB to make QA scripts happy; #483342
10270 - tc-export PKG_CONFIG AR RANLIB
10271 -
10272 - if use amd64; then
10273 - if [[ ${ABI} == amd64 ]]; then
10274 - myconf+=( --enable-win64 )
10275 - else
10276 - myconf+=( --disable-win64 )
10277 - fi
10278 -
10279 - # Note: using --with-wine64 results in problems with multilib.eclass
10280 - # CC/LD hackery. We're using separate tools instead.
10281 - fi
10282 -
10283 - ECONF_SOURCE=${S} \
10284 - econf "${myconf[@]}"
10285 - emake depend
10286 -}
10287 -
10288 -multilib_src_test() {
10289 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
10290 - if [[ ${ABI} == x86 ]]; then
10291 - if [[ $(id -u) == 0 ]]; then
10292 - ewarn "Skipping tests since they cannot be run under the root user."
10293 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
10294 - return
10295 - fi
10296 -
10297 - WINEPREFIX="${T}/.wine-${ABI}" \
10298 - Xemake test
10299 - fi
10300 -}
10301 -
10302 -multilib_src_install_all() {
10303 - local DOCS=( ANNOUNCE AUTHORS README )
10304 - add_locale_docs() {
10305 - local locale_doc="documentation/README.$1"
10306 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
10307 - }
10308 - l10n_for_each_locale_do add_locale_docs
10309 -
10310 - einstalldocs
10311 - prune_libtool_files --all
10312 -
10313 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
10314 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
10315 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
10316 - fi
10317 -
10318 - # Remove wineconsole if neither backend is installed #551124
10319 - if ! use X && ! use ncurses; then
10320 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
10321 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
10322 - rm_wineconsole() {
10323 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
10324 - }
10325 - multilib_foreach_abi rm_wineconsole
10326 - fi
10327 -
10328 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
10329 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
10330 -
10331 - if use abi_x86_64 && ! use abi_x86_32; then
10332 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
10333 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
10334 - fi
10335 -
10336 - # Failglob for bin and man loops
10337 - local glob_state=$(shopt -p failglob)
10338 - shopt -s failglob
10339 -
10340 - # Make wrappers for binaries for handling multiple variants
10341 - # Note: wrappers instead of symlinks because some are shell which use basename
10342 - local b
10343 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
10344 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
10345 - done
10346 -
10347 - # respect LINGUAS when installing man pages, #469418
10348 - local l
10349 - for l in de fr pl; do
10350 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
10351 - done
10352 -
10353 - eval "${glob_state}"
10354 -}
10355 -
10356 -pkg_postinst() {
10357 - eselect wine register ${P}
10358 - if [[ ${PN} == "wine-vanilla" ]]; then
10359 - eselect wine register --vanilla ${P} || die
10360 - else
10361 - if use staging; then
10362 - eselect wine register --staging ${P} || die
10363 - fi
10364 - if use d3d9; then
10365 - eselect wine register --d3d9 ${P} || die
10366 - fi
10367 - fi
10368 -
10369 - eselect wine update --all --if-unset || die
10370 -
10371 - xdg_desktop_database_update
10372 -
10373 - if ! use gecko; then
10374 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
10375 - ewarn "implementation of iexplore. Many older windows applications"
10376 - ewarn "rely upon the existence of an iexplore implementation, so"
10377 - ewarn "you will likely need to install an external one, like via winetricks"
10378 - fi
10379 - if ! use mono; then
10380 - ewarn "Without Wine Mono, wine prefixes will not have a default"
10381 - ewarn "implementation of .NET. Many windows applications rely upon"
10382 - ewarn "the existence of a .NET implementation, so you will likely need"
10383 - ewarn "to install an external one, like via winetricks"
10384 - fi
10385 -}
10386 -
10387 -pkg_prerm() {
10388 - eselect wine deregister ${P}
10389 - if [[ ${PN} == "wine-vanilla" ]]; then
10390 - eselect wine deregister --vanilla ${P} || die
10391 - else
10392 - if use staging; then
10393 - eselect wine deregister --staging ${P} || die
10394 - fi
10395 - if use d3d9; then
10396 - eselect wine deregister --d3d9 ${P} || die
10397 - fi
10398 - fi
10399 -
10400 - eselect wine update --all --if-unset || die
10401 -}
10402 -
10403 -pkg_postrm() {
10404 - xdg_desktop_database_update
10405 -}
10406
10407 diff --git a/app-emulation/wine-any/wine-any-2.9-r1.ebuild b/app-emulation/wine-any/wine-any-2.9-r1.ebuild
10408 deleted file mode 100644
10409 index 61c306c39f6..00000000000
10410 --- a/app-emulation/wine-any/wine-any-2.9-r1.ebuild
10411 +++ /dev/null
10412 @@ -1,638 +0,0 @@
10413 -# Copyright 1999-2017 Gentoo Foundation
10414 -# Distributed under the terms of the GNU General Public License v2
10415 -
10416 -EAPI=6
10417 -
10418 -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"
10419 -PLOCALE_BACKUP="en"
10420 -
10421 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
10422 -
10423 -MY_PN="${PN%%-*}"
10424 -MY_P="${MY_PN}-${PV}"
10425 -
10426 -if [[ ${PV} == "9999" ]] ; then
10427 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
10428 - EGIT_BRANCH="master"
10429 - inherit git-r3
10430 - SRC_URI=""
10431 - #KEYWORDS=""
10432 -else
10433 - MAJOR_V=$(get_version_component_range 1)
10434 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
10435 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
10436 -fi
10437 -S="${WORKDIR}/${MY_P}"
10438 -
10439 -STAGING_P="wine-staging-${PV}"
10440 -STAGING_DIR="${WORKDIR}/${STAGING_P}"
10441 -D3D9_P="wine-d3d9-${PV}"
10442 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
10443 -GWP_V="20170830"
10444 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
10445 -
10446 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets"
10447 -HOMEPAGE="https://www.winehq.org/"
10448 -SRC_URI="${SRC_URI}
10449 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
10450 -"
10451 -
10452 -if [[ ${PV} == "9999" ]] ; then
10453 - STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
10454 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
10455 -else
10456 - SRC_URI="${SRC_URI}
10457 - staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
10458 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
10459 -fi
10460 -
10461 -LICENSE="LGPL-2.1"
10462 -SLOT="${PV}"
10463 -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
10464 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
10465 - X? ( truetype )
10466 - elibc_glibc? ( threads )
10467 - osmesa? ( opengl )
10468 - pipelight? ( staging )
10469 - s3tc? ( staging )
10470 - test? ( abi_x86_32 )
10471 - themes? ( staging )
10472 - vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
10473 -
10474 -# FIXME: the test suite is unsuitable for us; many tests require net access
10475 -# or fail due to Xvfb's opengl limitations.
10476 -RESTRICT="test"
10477 -
10478 -COMMON_DEPEND="
10479 - X? (
10480 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
10481 - x11-libs/libXext[${MULTILIB_USEDEP}]
10482 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
10483 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
10484 - x11-libs/libXi[${MULTILIB_USEDEP}]
10485 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
10486 - )
10487 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
10488 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
10489 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
10490 - d3d9? (
10491 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
10492 - x11-libs/libX11[${MULTILIB_USEDEP}]
10493 - x11-libs/libXext[${MULTILIB_USEDEP}]
10494 - x11-libs/libxcb[${MULTILIB_USEDEP}]
10495 - )
10496 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
10497 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
10498 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
10499 - gstreamer? (
10500 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
10501 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
10502 - )
10503 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
10504 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
10505 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
10506 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
10507 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
10508 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
10509 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
10510 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
10511 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
10512 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
10513 - opengl? (
10514 - virtual/glu[${MULTILIB_USEDEP}]
10515 - virtual/opengl[${MULTILIB_USEDEP}]
10516 - )
10517 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
10518 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
10519 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
10520 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
10521 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
10522 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
10523 - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
10524 - themes? (
10525 - dev-libs/glib:2[${MULTILIB_USEDEP}]
10526 - x11-libs/cairo[${MULTILIB_USEDEP}]
10527 - x11-libs/gtk+:3[${MULTILIB_USEDEP}]
10528 - )
10529 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
10530 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
10531 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
10532 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
10533 - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
10534 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
10535 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
10536 - xml? (
10537 - dev-libs/libxml2[${MULTILIB_USEDEP}]
10538 - dev-libs/libxslt[${MULTILIB_USEDEP}]
10539 - )
10540 - abi_x86_32? (
10541 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
10542 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
10543 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
10544 - !<app-emulation/emul-linux-x86-db-20140508-r3
10545 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
10546 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
10547 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
10548 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
10549 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
10550 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
10551 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
10552 - !<app-emulation/emul-linux-x86-soundlibs-20140508
10553 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
10554 - !<app-emulation/emul-linux-x86-xlibs-20140508
10555 - )"
10556 -
10557 -RDEPEND="${COMMON_DEPEND}
10558 - app-emulation/wine-desktop-common
10559 - >app-eselect/eselect-wine-0.3
10560 - !app-emulation/wine:0
10561 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
10562 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
10563 - mono? ( app-emulation/wine-mono:4.7.0 )
10564 - perl? (
10565 - dev-lang/perl
10566 - dev-perl/XML-Simple
10567 - )
10568 - pulseaudio? (
10569 - realtime? ( sys-auth/rtkit )
10570 - )
10571 - s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
10572 - samba? ( >=net-fs/samba-3.0.25[winbind] )
10573 - selinux? ( sec-policy/selinux-wine )
10574 - udisks? ( sys-fs/udisks:2 )"
10575 -
10576 -# tools/make_requests requires perl
10577 -DEPEND="${COMMON_DEPEND}
10578 - sys-devel/flex
10579 - >=sys-kernel/linux-headers-2.6
10580 - virtual/pkgconfig
10581 - virtual/yacc
10582 - X? (
10583 - x11-proto/inputproto
10584 - x11-proto/xextproto
10585 - x11-proto/xf86vidmodeproto
10586 - )
10587 - prelink? ( sys-devel/prelink )
10588 - staging? (
10589 - dev-lang/perl
10590 - dev-perl/XML-Simple
10591 - )
10592 - xinerama? ( x11-proto/xineramaproto )"
10593 -
10594 -# These use a non-standard "Wine" category, which is provided by
10595 -# /etc/xdg/applications-merged/wine.menu
10596 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
10597 -usr/share/applications/wine-notepad.desktop
10598 -usr/share/applications/wine-uninstaller.desktop
10599 -usr/share/applications/wine-winecfg.desktop"
10600 -
10601 -PATCHES=(
10602 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
10603 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
10604 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
10605 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
10606 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
10607 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
10608 -)
10609 -PATCHES_BIN=(
10610 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
10611 -)
10612 -
10613 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
10614 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
10615 - DEPEND+=" dev-util/patchbin"
10616 -fi
10617 -
10618 -wine_compiler_check() {
10619 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
10620 -
10621 - # GCC-specific bugs
10622 - if tc-is-gcc; then
10623 - # bug #549768
10624 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
10625 - ebegin "Checking for gcc-5 ms_abi compiler bug"
10626 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
10627 - # Run in subshell to prevent "Aborted" message
10628 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
10629 - if ! eend $?; then
10630 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
10631 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
10632 - eerror "or use gcc-config to select a different compiler version."
10633 - eerror "See https://bugs.gentoo.org/549768"
10634 - eerror
10635 - return 1
10636 - fi
10637 - fi
10638 - # bug #574044
10639 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
10640 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
10641 - # Compile in subshell to prevent "Aborted" message
10642 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
10643 - if ! eend $?; then
10644 - eerror "Wine cannot be built with this version of gcc-5.3"
10645 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
10646 - eerror "or use gcc-config to select a different compiler version."
10647 - eerror "See https://bugs.gentoo.org/574044"
10648 - eerror
10649 - return 1
10650 - fi
10651 - fi
10652 - fi
10653 -
10654 - # Ensure compiler support
10655 - if use abi_x86_64; then
10656 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
10657 - # Compile in subshell to prevent "Aborted" message
10658 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
10659 - if ! eend $?; then
10660 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
10661 - eerror
10662 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
10663 - eerror
10664 - return 1
10665 - fi
10666 - fi
10667 -}
10668 -
10669 -wine_build_environment_check() {
10670 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
10671 -
10672 - if use abi_x86_64; then
10673 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
10674 - eerror "You need gcc-4.4+ to compile 64-bit wine"
10675 - die
10676 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
10677 - eerror "You need clang-3.8+ to compile 64-bit wine"
10678 - die
10679 - fi
10680 - fi
10681 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
10682 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
10683 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
10684 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
10685 - fi
10686 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
10687 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
10688 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
10689 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
10690 - ewarn "See package.env in man 5 portage for more information on how to do this."
10691 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
10692 - fi
10693 - fi
10694 -
10695 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
10696 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
10697 - eerror "See https://bugs.gentoo.org/487864 for more details."
10698 - eerror
10699 - return 1
10700 - fi
10701 -}
10702 -
10703 -wine_env_vcs_vars() {
10704 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
10705 - local pn_live_val="${pn_live_var}"
10706 - eval pn_live_val='$'${pn_live_val}
10707 - if [[ ! -z ${pn_live_val} ]]; then
10708 - if use staging || use d3d9; then
10709 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
10710 - eerror "cannot be used to set the commit. Instead, you may use the"
10711 - eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT."
10712 - eerror
10713 - return 1
10714 - fi
10715 - fi
10716 - if [[ ! -z ${EGIT_COMMIT} ]]; then
10717 - eerror "Commits must now be specified using the environmental variables"
10718 - eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
10719 - eerror
10720 - return 1
10721 - fi
10722 -}
10723 -
10724 -pkg_pretend() {
10725 - wine_build_environment_check || die
10726 -
10727 - # Verify OSS support
10728 - if use oss && ! use kernel_FreeBSD; then
10729 - if ! has_version ">=media-sound/oss-4"; then
10730 - eerror "You cannot build wine with USE=oss without having support from a"
10731 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
10732 - eerror
10733 - die
10734 - fi
10735 - fi
10736 -}
10737 -
10738 -pkg_setup() {
10739 - wine_build_environment_check || die
10740 - wine_env_vcs_vars || die
10741 -
10742 - WINE_VARIANT="${PN#wine}-${PV}"
10743 - WINE_VARIANT="${WINE_VARIANT#-}"
10744 -
10745 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
10746 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
10747 - MY_DATADIR="${MY_DATAROOTDIR}"
10748 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
10749 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
10750 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
10751 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
10752 - MY_MANDIR="${MY_DATADIR}/man"
10753 -}
10754 -
10755 -src_unpack() {
10756 - if [[ ${PV} == "9999" ]] ; then
10757 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
10758 - if use staging; then
10759 - local CURRENT_WINE_COMMIT=${EGIT_VERSION}
10760 -
10761 - git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
10762 - git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
10763 -
10764 - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
10765 -
10766 - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
10767 - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
10768 - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
10769 - einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
10770 - fi
10771 - fi
10772 - if use d3d9; then
10773 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
10774 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
10775 - fi
10776 - fi
10777 -
10778 - default
10779 -
10780 - l10n_find_plocales_changes "${S}/po" "" ".po"
10781 -}
10782 -
10783 -src_prepare() {
10784 -
10785 - eapply_bin(){
10786 - local patch
10787 - for patch in ${PATCHES_BIN[@]}; do
10788 - patchbin --nogit < "${patch}" || die
10789 - done
10790 - }
10791 -
10792 - local md5="$(md5sum server/protocol.def)"
10793 -
10794 - if use staging; then
10795 - ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
10796 - ewarn "Wine bugzilla should explicitly state that staging was used."
10797 -
10798 - local STAGING_EXCLUDE=""
10799 - STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
10800 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
10801 -
10802 - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
10803 - ebegin "Running Wine-Staging patch installer"
10804 - (
10805 - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
10806 - cd "${STAGING_DIR}/patches"
10807 - source "${STAGING_DIR}/patches/patchinstall.sh"
10808 - )
10809 - eend $? || die "Failed to apply Wine-Staging patches"
10810 - fi
10811 - if use d3d9; then
10812 - if use staging; then
10813 - PATCHES+=( "${D3D9_DIR}/staging-helper.patch" )
10814 - else
10815 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
10816 - fi
10817 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
10818 - fi
10819 -
10820 - default
10821 - eapply_bin
10822 - eautoreconf
10823 -
10824 - # Modification of the server protocol requires regenerating the server requests
10825 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
10826 - einfo "server/protocol.def was patched; running tools/make_requests"
10827 - tools/make_requests || die #432348
10828 - fi
10829 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
10830 - if ! use run-exes; then
10831 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
10832 - fi
10833 -
10834 - # Edit wine.desktop to work for specific variant
10835 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
10836 -
10837 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
10838 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
10839 -
10840 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
10841 -}
10842 -
10843 -src_configure() {
10844 - wine_compiler_check || die
10845 -
10846 - export LDCONFIG=/bin/true
10847 - use custom-cflags || strip-flags
10848 -
10849 - multilib-minimal_src_configure
10850 -}
10851 -
10852 -multilib_src_configure() {
10853 - local myconf=(
10854 - --prefix="${MY_PREFIX}"
10855 - --datarootdir="${MY_DATAROOTDIR}"
10856 - --datadir="${MY_DATADIR}"
10857 - --docdir="${MY_DOCDIR}"
10858 - --includedir="${MY_INCLUDEDIR}"
10859 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
10860 - --libexecdir="${MY_LIBEXECDIR}"
10861 - --localstatedir="${MY_LOCALSTATEDIR}"
10862 - --mandir="${MY_MANDIR}"
10863 - --sysconfdir=/etc/wine
10864 - $(use_with alsa)
10865 - $(use_with capi)
10866 - $(use_with lcms cms)
10867 - $(use_with cups)
10868 - $(use_with ncurses curses)
10869 - $(use_with udisks dbus)
10870 - $(use_with fontconfig)
10871 - $(use_with ssl gnutls)
10872 - $(use_enable gecko mshtml)
10873 - $(use_with gphoto2 gphoto)
10874 - $(use_with gsm)
10875 - $(use_with gstreamer)
10876 - --without-hal
10877 - $(use_with jpeg)
10878 - $(use_with ldap)
10879 - $(use_enable mono mscoree)
10880 - $(use_with mp3 mpg123)
10881 - $(use_with netapi)
10882 - $(use_with nls gettext)
10883 - $(use_with openal)
10884 - $(use_with opencl)
10885 - $(use_with opengl)
10886 - $(use_with osmesa)
10887 - $(use_with oss)
10888 - $(use_with pcap)
10889 - $(use_with png)
10890 - $(use_with pulseaudio pulse)
10891 - $(use_with threads pthread)
10892 - $(use_with scanner sane)
10893 - $(use_enable test tests)
10894 - $(use_with truetype freetype)
10895 - $(use_with udev)
10896 - $(use_with v4l)
10897 - $(use_with X x)
10898 - $(use_with X xfixes)
10899 - $(use_with xcomposite)
10900 - $(use_with xinerama)
10901 - $(use_with xml)
10902 - $(use_with xml xslt)
10903 - )
10904 -
10905 - use staging && myconf+=(
10906 - --with-xattr
10907 - $(use_with themes gtk3)
10908 - $(use_with vaapi va)
10909 - )
10910 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
10911 -
10912 - local PKG_CONFIG AR RANLIB
10913 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
10914 - # set AR and RANLIB to make QA scripts happy; #483342
10915 - tc-export PKG_CONFIG AR RANLIB
10916 -
10917 - if use amd64; then
10918 - if [[ ${ABI} == amd64 ]]; then
10919 - myconf+=( --enable-win64 )
10920 - else
10921 - myconf+=( --disable-win64 )
10922 - fi
10923 -
10924 - # Note: using --with-wine64 results in problems with multilib.eclass
10925 - # CC/LD hackery. We're using separate tools instead.
10926 - fi
10927 -
10928 - ECONF_SOURCE=${S} \
10929 - econf "${myconf[@]}"
10930 - emake depend
10931 -}
10932 -
10933 -multilib_src_test() {
10934 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
10935 - if [[ ${ABI} == x86 ]]; then
10936 - if [[ $(id -u) == 0 ]]; then
10937 - ewarn "Skipping tests since they cannot be run under the root user."
10938 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
10939 - return
10940 - fi
10941 -
10942 - WINEPREFIX="${T}/.wine-${ABI}" \
10943 - Xemake test
10944 - fi
10945 -}
10946 -
10947 -multilib_src_install_all() {
10948 - local DOCS=( ANNOUNCE AUTHORS README )
10949 - add_locale_docs() {
10950 - local locale_doc="documentation/README.$1"
10951 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
10952 - }
10953 - l10n_for_each_locale_do add_locale_docs
10954 -
10955 - einstalldocs
10956 - prune_libtool_files --all
10957 -
10958 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
10959 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
10960 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
10961 - fi
10962 -
10963 - # Remove wineconsole if neither backend is installed #551124
10964 - if ! use X && ! use ncurses; then
10965 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
10966 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
10967 - rm_wineconsole() {
10968 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
10969 - }
10970 - multilib_foreach_abi rm_wineconsole
10971 - fi
10972 -
10973 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
10974 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
10975 -
10976 - if use abi_x86_64 && ! use abi_x86_32; then
10977 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
10978 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
10979 - fi
10980 -
10981 - # Failglob for bin and man loops
10982 - local glob_state=$(shopt -p failglob)
10983 - shopt -s failglob
10984 -
10985 - # Make wrappers for binaries for handling multiple variants
10986 - # Note: wrappers instead of symlinks because some are shell which use basename
10987 - local b
10988 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
10989 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
10990 - done
10991 -
10992 - # respect LINGUAS when installing man pages, #469418
10993 - local l
10994 - for l in de fr pl; do
10995 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
10996 - done
10997 -
10998 - eval "${glob_state}"
10999 -}
11000 -
11001 -pkg_postinst() {
11002 - eselect wine register ${P}
11003 - if [[ ${PN} == "wine-vanilla" ]]; then
11004 - eselect wine register --vanilla ${P} || die
11005 - else
11006 - if use staging; then
11007 - eselect wine register --staging ${P} || die
11008 - fi
11009 - if use d3d9; then
11010 - eselect wine register --d3d9 ${P} || die
11011 - fi
11012 - fi
11013 -
11014 - eselect wine update --all --if-unset || die
11015 -
11016 - xdg_desktop_database_update
11017 -
11018 - if ! use gecko; then
11019 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
11020 - ewarn "implementation of iexplore. Many older windows applications"
11021 - ewarn "rely upon the existence of an iexplore implementation, so"
11022 - ewarn "you will likely need to install an external one, like via winetricks"
11023 - fi
11024 - if ! use mono; then
11025 - ewarn "Without Wine Mono, wine prefixes will not have a default"
11026 - ewarn "implementation of .NET. Many windows applications rely upon"
11027 - ewarn "the existence of a .NET implementation, so you will likely need"
11028 - ewarn "to install an external one, like via winetricks"
11029 - fi
11030 -}
11031 -
11032 -pkg_prerm() {
11033 - eselect wine deregister ${P}
11034 - if [[ ${PN} == "wine-vanilla" ]]; then
11035 - eselect wine deregister --vanilla ${P} || die
11036 - else
11037 - if use staging; then
11038 - eselect wine deregister --staging ${P} || die
11039 - fi
11040 - if use d3d9; then
11041 - eselect wine deregister --d3d9 ${P} || die
11042 - fi
11043 - fi
11044 -
11045 - eselect wine update --all --if-unset || die
11046 -}
11047 -
11048 -pkg_postrm() {
11049 - xdg_desktop_database_update
11050 -}