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-d3d9/
Date: Tue, 28 Nov 2017 16:24:32
Message-Id: 1511886251.1bf10b7095a00945c5749df3144535ce82dae6eb.np-hardass@gentoo
1 commit: 1bf10b7095a00945c5749df3144535ce82dae6eb
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 28 15:34:06 2017 +0000
4 Commit: NP Hardass <np-hardass <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 28 16:24:11 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bf10b70
7
8 app-emulation/wine-d3d9: 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-d3d9/Manifest | 40 +-
15 app-emulation/wine-d3d9/wine-d3d9-2.0-r1.ebuild | 570 ----------------------
16 app-emulation/wine-d3d9/wine-d3d9-2.1-r1.ebuild | 570 ----------------------
17 app-emulation/wine-d3d9/wine-d3d9-2.10-r1.ebuild | 572 -----------------------
18 app-emulation/wine-d3d9/wine-d3d9-2.11-r1.ebuild | 572 -----------------------
19 app-emulation/wine-d3d9/wine-d3d9-2.12-r1.ebuild | 572 -----------------------
20 app-emulation/wine-d3d9/wine-d3d9-2.13-r1.ebuild | 572 -----------------------
21 app-emulation/wine-d3d9/wine-d3d9-2.14-r1.ebuild | 572 -----------------------
22 app-emulation/wine-d3d9/wine-d3d9-2.15-r1.ebuild | 572 -----------------------
23 app-emulation/wine-d3d9/wine-d3d9-2.16-r1.ebuild | 572 -----------------------
24 app-emulation/wine-d3d9/wine-d3d9-2.2-r1.ebuild | 570 ----------------------
25 app-emulation/wine-d3d9/wine-d3d9-2.3-r1.ebuild | 570 ----------------------
26 app-emulation/wine-d3d9/wine-d3d9-2.4-r1.ebuild | 570 ----------------------
27 app-emulation/wine-d3d9/wine-d3d9-2.5-r1.ebuild | 570 ----------------------
28 app-emulation/wine-d3d9/wine-d3d9-2.6-r1.ebuild | 570 ----------------------
29 app-emulation/wine-d3d9/wine-d3d9-2.7-r1.ebuild | 570 ----------------------
30 app-emulation/wine-d3d9/wine-d3d9-2.8-r1.ebuild | 570 ----------------------
31 app-emulation/wine-d3d9/wine-d3d9-2.9-r1.ebuild | 572 -----------------------
32 18 files changed, 3 insertions(+), 9743 deletions(-)
33
34 diff --git a/app-emulation/wine-d3d9/Manifest b/app-emulation/wine-d3d9/Manifest
35 index f23136d4137..980d48d3f68 100644
36 --- a/app-emulation/wine-d3d9/Manifest
37 +++ b/app-emulation/wine-d3d9/Manifest
38 @@ -1,41 +1,7 @@
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-d3d9-2.19.tar.gz 48818 BLAKE2B b053ee0ad798a7d8ad53b3daff1757caaa52f095435f2fb89893c7313d490a2359217a5638529e918a1446f13533a746836c1c22218cba875a1420816618408a SHA512 be43435cd53f367ca57080c08218db302a90bf85ec6e917e89375904c456b585b61fb6053f9b4366b7e844f8246cabe83460a9866f614dbb5df3edfb43b2f54a
83
84 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.0-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.0-r1.ebuild
85 deleted file mode 100644
86 index 9f694374f5e..00000000000
87 --- a/app-emulation/wine-d3d9/wine-d3d9-2.0-r1.ebuild
88 +++ /dev/null
89 @@ -1,570 +0,0 @@
90 -# Copyright 1999-2017 Gentoo Foundation
91 -# Distributed under the terms of the GNU General Public License v2
92 -
93 -EAPI=6
94 -
95 -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"
96 -PLOCALE_BACKUP="en"
97 -
98 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
99 -
100 -MY_PN="${PN%%-*}"
101 -MY_P="${MY_PN}-${PV}"
102 -
103 -if [[ ${PV} == "9999" ]] ; then
104 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
105 - EGIT_BRANCH="master"
106 - inherit git-r3
107 - SRC_URI=""
108 - #KEYWORDS=""
109 -else
110 - MAJOR_V=$(get_version_component_range 1)
111 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.bz2"
112 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
113 -fi
114 -S="${WORKDIR}/${MY_P}"
115 -
116 -D3D9_P="wine-d3d9-${PV}"
117 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
118 -GWP_V="20170830"
119 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
120 -
121 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
122 -HOMEPAGE="https://www.winehq.org/"
123 -SRC_URI="${SRC_URI}
124 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
125 -"
126 -
127 -if [[ ${PV} == "9999" ]] ; then
128 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
129 -else
130 - SRC_URI="${SRC_URI}
131 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
132 -fi
133 -
134 -LICENSE="LGPL-2.1"
135 -SLOT="${PV}"
136 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
137 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
138 - X? ( truetype )
139 - elibc_glibc? ( threads )
140 - osmesa? ( opengl )
141 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
142 -
143 -# FIXME: the test suite is unsuitable for us; many tests require net access
144 -# or fail due to Xvfb's opengl limitations.
145 -RESTRICT="test"
146 -
147 -COMMON_DEPEND="
148 - X? (
149 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
150 - x11-libs/libXext[${MULTILIB_USEDEP}]
151 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
152 - x11-libs/libXi[${MULTILIB_USEDEP}]
153 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
154 - )
155 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
156 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
157 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
158 - d3d9? (
159 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
160 - x11-libs/libX11[${MULTILIB_USEDEP}]
161 - x11-libs/libXext[${MULTILIB_USEDEP}]
162 - x11-libs/libxcb[${MULTILIB_USEDEP}]
163 - )
164 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
165 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
166 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
167 - gstreamer? (
168 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
169 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
170 - )
171 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
172 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
173 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
174 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
175 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
176 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
177 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
178 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
179 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
180 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
181 - opengl? (
182 - virtual/glu[${MULTILIB_USEDEP}]
183 - virtual/opengl[${MULTILIB_USEDEP}]
184 - )
185 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
186 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
187 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
188 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
189 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
190 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
191 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
192 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
193 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
194 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
195 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
196 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
197 - xml? (
198 - dev-libs/libxml2[${MULTILIB_USEDEP}]
199 - dev-libs/libxslt[${MULTILIB_USEDEP}]
200 - )
201 - abi_x86_32? (
202 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
203 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
204 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
205 - !<app-emulation/emul-linux-x86-db-20140508-r3
206 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
207 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
208 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
209 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
210 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
211 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
212 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
213 - !<app-emulation/emul-linux-x86-soundlibs-20140508
214 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
215 - !<app-emulation/emul-linux-x86-xlibs-20140508
216 - )"
217 -
218 -RDEPEND="${COMMON_DEPEND}
219 - app-emulation/wine-desktop-common
220 - >app-eselect/eselect-wine-0.3
221 - !app-emulation/wine:0
222 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
223 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
224 - mono? ( app-emulation/wine-mono:4.6.4 )
225 - perl? (
226 - dev-lang/perl
227 - dev-perl/XML-Simple
228 - )
229 - pulseaudio? (
230 - realtime? ( sys-auth/rtkit )
231 - )
232 - samba? ( >=net-fs/samba-3.0.25[winbind] )
233 - selinux? ( sec-policy/selinux-wine )
234 - udisks? ( sys-fs/udisks:2 )"
235 -
236 -# tools/make_requests requires perl
237 -DEPEND="${COMMON_DEPEND}
238 - sys-devel/flex
239 - >=sys-kernel/linux-headers-2.6
240 - virtual/pkgconfig
241 - virtual/yacc
242 - X? (
243 - x11-proto/inputproto
244 - x11-proto/xextproto
245 - x11-proto/xf86vidmodeproto
246 - )
247 - prelink? ( sys-devel/prelink )
248 - xinerama? ( x11-proto/xineramaproto )"
249 -
250 -# These use a non-standard "Wine" category, which is provided by
251 -# /etc/xdg/applications-merged/wine.menu
252 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
253 -usr/share/applications/wine-notepad.desktop
254 -usr/share/applications/wine-uninstaller.desktop
255 -usr/share/applications/wine-winecfg.desktop"
256 -
257 -PATCHES=(
258 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
259 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
260 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
261 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
262 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
263 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
264 -)
265 -PATCHES_BIN=(
266 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
267 -)
268 -
269 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
270 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
271 - DEPEND+=" dev-util/patchbin"
272 -fi
273 -
274 -wine_compiler_check() {
275 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
276 -
277 - # GCC-specific bugs
278 - if tc-is-gcc; then
279 - # bug #549768
280 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
281 - ebegin "Checking for gcc-5 ms_abi compiler bug"
282 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
283 - # Run in subshell to prevent "Aborted" message
284 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
285 - if ! eend $?; then
286 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
287 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
288 - eerror "or use gcc-config to select a different compiler version."
289 - eerror "See https://bugs.gentoo.org/549768"
290 - eerror
291 - return 1
292 - fi
293 - fi
294 - # bug #574044
295 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
296 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
297 - # Compile in subshell to prevent "Aborted" message
298 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
299 - if ! eend $?; then
300 - eerror "Wine cannot be built with this version of gcc-5.3"
301 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
302 - eerror "or use gcc-config to select a different compiler version."
303 - eerror "See https://bugs.gentoo.org/574044"
304 - eerror
305 - return 1
306 - fi
307 - fi
308 - fi
309 -
310 - # Ensure compiler support
311 - if use abi_x86_64; then
312 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
313 - # Compile in subshell to prevent "Aborted" message
314 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
315 - if ! eend $?; then
316 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
317 - eerror
318 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
319 - eerror
320 - return 1
321 - fi
322 - fi
323 -}
324 -
325 -wine_build_environment_check() {
326 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
327 -
328 - if use abi_x86_64; then
329 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
330 - eerror "You need gcc-4.4+ to compile 64-bit wine"
331 - die
332 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
333 - eerror "You need clang-3.8+ to compile 64-bit wine"
334 - die
335 - fi
336 - fi
337 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
338 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
339 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
340 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
341 - fi
342 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
343 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
344 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
345 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
346 - ewarn "See package.env in man 5 portage for more information on how to do this."
347 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
348 - fi
349 - fi
350 -
351 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
352 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
353 - eerror "See https://bugs.gentoo.org/487864 for more details."
354 - eerror
355 - return 1
356 - fi
357 -}
358 -
359 -wine_env_vcs_vars() {
360 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
361 - local pn_live_val="${pn_live_var}"
362 - eval pn_live_val='$'${pn_live_val}
363 - if [[ ! -z ${pn_live_val} ]]; then
364 - if use d3d9; then
365 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
366 - eerror "cannot be used to set the commit. Instead, you may use the"
367 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
368 - eerror
369 - return 1
370 - fi
371 - fi
372 - if [[ ! -z ${EGIT_COMMIT} ]]; then
373 - eerror "Commits must now be specified using the environmental variables"
374 - eerror "WINE_COMMIT, and D3D9_COMMIT"
375 - eerror
376 - return 1
377 - fi
378 -}
379 -
380 -pkg_pretend() {
381 - wine_build_environment_check || die
382 -
383 - # Verify OSS support
384 - if use oss && ! use kernel_FreeBSD; then
385 - if ! has_version ">=media-sound/oss-4"; then
386 - eerror "You cannot build wine with USE=oss without having support from a"
387 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
388 - eerror
389 - die
390 - fi
391 - fi
392 -}
393 -
394 -pkg_setup() {
395 - wine_build_environment_check || die
396 - wine_env_vcs_vars || die
397 -
398 - WINE_VARIANT="${PN#wine}-${PV}"
399 - WINE_VARIANT="${WINE_VARIANT#-}"
400 -
401 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
402 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
403 - MY_DATADIR="${MY_DATAROOTDIR}"
404 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
405 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
406 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
407 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
408 - MY_MANDIR="${MY_DATADIR}/man"
409 -}
410 -
411 -src_unpack() {
412 - if [[ ${PV} == "9999" ]] ; then
413 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
414 - if use d3d9; then
415 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
416 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
417 - fi
418 - fi
419 -
420 - default
421 -
422 - l10n_find_plocales_changes "${S}/po" "" ".po"
423 -}
424 -
425 -src_prepare() {
426 -
427 - eapply_bin(){
428 - local patch
429 - for patch in ${PATCHES_BIN[@]}; do
430 - patchbin --nogit < "${patch}" || die
431 - done
432 - }
433 -
434 - local md5="$(md5sum server/protocol.def)"
435 -
436 - if use d3d9; then
437 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
438 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
439 - fi
440 -
441 - default
442 - eapply_bin
443 - eautoreconf
444 -
445 - # Modification of the server protocol requires regenerating the server requests
446 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
447 - einfo "server/protocol.def was patched; running tools/make_requests"
448 - tools/make_requests || die #432348
449 - fi
450 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
451 - if ! use run-exes; then
452 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
453 - fi
454 -
455 - # Edit wine.desktop to work for specific variant
456 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
457 -
458 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
459 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
460 -
461 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
462 -}
463 -
464 -src_configure() {
465 - wine_compiler_check || die
466 -
467 - export LDCONFIG=/bin/true
468 - use custom-cflags || strip-flags
469 -
470 - multilib-minimal_src_configure
471 -}
472 -
473 -multilib_src_configure() {
474 - local myconf=(
475 - --prefix="${MY_PREFIX}"
476 - --datarootdir="${MY_DATAROOTDIR}"
477 - --datadir="${MY_DATADIR}"
478 - --docdir="${MY_DOCDIR}"
479 - --includedir="${MY_INCLUDEDIR}"
480 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
481 - --libexecdir="${MY_LIBEXECDIR}"
482 - --localstatedir="${MY_LOCALSTATEDIR}"
483 - --mandir="${MY_MANDIR}"
484 - --sysconfdir=/etc/wine
485 - $(use_with alsa)
486 - $(use_with capi)
487 - $(use_with lcms cms)
488 - $(use_with cups)
489 - $(use_with ncurses curses)
490 - $(use_with udisks dbus)
491 - $(use_with fontconfig)
492 - $(use_with ssl gnutls)
493 - $(use_enable gecko mshtml)
494 - $(use_with gphoto2 gphoto)
495 - $(use_with gsm)
496 - $(use_with gstreamer)
497 - --without-hal
498 - $(use_with jpeg)
499 - $(use_with ldap)
500 - $(use_enable mono mscoree)
501 - $(use_with mp3 mpg123)
502 - $(use_with netapi)
503 - $(use_with nls gettext)
504 - $(use_with openal)
505 - $(use_with opencl)
506 - $(use_with opengl)
507 - $(use_with osmesa)
508 - $(use_with oss)
509 - $(use_with pcap)
510 - $(use_with png)
511 - $(use_with pulseaudio pulse)
512 - $(use_with threads pthread)
513 - $(use_with scanner sane)
514 - $(use_enable test tests)
515 - $(use_with truetype freetype)
516 - $(use_with udev)
517 - $(use_with v4l)
518 - $(use_with X x)
519 - $(use_with xcomposite)
520 - $(use_with xinerama)
521 - $(use_with xml)
522 - $(use_with xml xslt)
523 - )
524 -
525 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
526 -
527 - local PKG_CONFIG AR RANLIB
528 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
529 - # set AR and RANLIB to make QA scripts happy; #483342
530 - tc-export PKG_CONFIG AR RANLIB
531 -
532 - if use amd64; then
533 - if [[ ${ABI} == amd64 ]]; then
534 - myconf+=( --enable-win64 )
535 - else
536 - myconf+=( --disable-win64 )
537 - fi
538 -
539 - # Note: using --with-wine64 results in problems with multilib.eclass
540 - # CC/LD hackery. We're using separate tools instead.
541 - fi
542 -
543 - ECONF_SOURCE=${S} \
544 - econf "${myconf[@]}"
545 - emake depend
546 -}
547 -
548 -multilib_src_test() {
549 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
550 - if [[ ${ABI} == x86 ]]; then
551 - if [[ $(id -u) == 0 ]]; then
552 - ewarn "Skipping tests since they cannot be run under the root user."
553 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
554 - return
555 - fi
556 -
557 - WINEPREFIX="${T}/.wine-${ABI}" \
558 - Xemake test
559 - fi
560 -}
561 -
562 -multilib_src_install_all() {
563 - local DOCS=( ANNOUNCE AUTHORS README )
564 - add_locale_docs() {
565 - local locale_doc="documentation/README.$1"
566 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
567 - }
568 - l10n_for_each_locale_do add_locale_docs
569 -
570 - einstalldocs
571 - prune_libtool_files --all
572 -
573 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
574 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
575 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
576 - fi
577 -
578 - # Remove wineconsole if neither backend is installed #551124
579 - if ! use X && ! use ncurses; then
580 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
581 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
582 - rm_wineconsole() {
583 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
584 - }
585 - multilib_foreach_abi rm_wineconsole
586 - fi
587 -
588 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
589 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
590 -
591 - if use abi_x86_64 && ! use abi_x86_32; then
592 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
593 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
594 - fi
595 -
596 - # Failglob for bin and man loops
597 - local glob_state=$(shopt -p failglob)
598 - shopt -s failglob
599 -
600 - # Make wrappers for binaries for handling multiple variants
601 - # Note: wrappers instead of symlinks because some are shell which use basename
602 - local b
603 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
604 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
605 - done
606 -
607 - # respect LINGUAS when installing man pages, #469418
608 - local l
609 - for l in de fr pl; do
610 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
611 - done
612 -
613 - eval "${glob_state}"
614 -}
615 -
616 -pkg_postinst() {
617 - eselect wine register ${P}
618 - if [[ ${PN} == "wine-vanilla" ]]; then
619 - eselect wine register --vanilla ${P} || die
620 - else
621 - if use d3d9; then
622 - eselect wine register --d3d9 ${P} || die
623 - fi
624 - fi
625 -
626 - eselect wine update --all --if-unset || die
627 -
628 - xdg_desktop_database_update
629 -
630 - if ! use gecko; then
631 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
632 - ewarn "implementation of iexplore. Many older windows applications"
633 - ewarn "rely upon the existence of an iexplore implementation, so"
634 - ewarn "you will likely need to install an external one, like via winetricks"
635 - fi
636 - if ! use mono; then
637 - ewarn "Without Wine Mono, wine prefixes will not have a default"
638 - ewarn "implementation of .NET. Many windows applications rely upon"
639 - ewarn "the existence of a .NET implementation, so you will likely need"
640 - ewarn "to install an external one, like via winetricks"
641 - fi
642 -}
643 -
644 -pkg_prerm() {
645 - eselect wine deregister ${P}
646 - if [[ ${PN} == "wine-vanilla" ]]; then
647 - eselect wine deregister --vanilla ${P} || die
648 - else
649 - if use d3d9; then
650 - eselect wine deregister --d3d9 ${P} || die
651 - fi
652 - fi
653 -
654 - eselect wine update --all --if-unset || die
655 -}
656 -
657 -pkg_postrm() {
658 - xdg_desktop_database_update
659 -}
660
661 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.1-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.1-r1.ebuild
662 deleted file mode 100644
663 index e9754927f54..00000000000
664 --- a/app-emulation/wine-d3d9/wine-d3d9-2.1-r1.ebuild
665 +++ /dev/null
666 @@ -1,570 +0,0 @@
667 -# Copyright 1999-2017 Gentoo Foundation
668 -# Distributed under the terms of the GNU General Public License v2
669 -
670 -EAPI=6
671 -
672 -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"
673 -PLOCALE_BACKUP="en"
674 -
675 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
676 -
677 -MY_PN="${PN%%-*}"
678 -MY_P="${MY_PN}-${PV}"
679 -
680 -if [[ ${PV} == "9999" ]] ; then
681 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
682 - EGIT_BRANCH="master"
683 - inherit git-r3
684 - SRC_URI=""
685 - #KEYWORDS=""
686 -else
687 - MAJOR_V=$(get_version_component_range 1)
688 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
689 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
690 -fi
691 -S="${WORKDIR}/${MY_P}"
692 -
693 -D3D9_P="wine-d3d9-${PV}"
694 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
695 -GWP_V="20170830"
696 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
697 -
698 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
699 -HOMEPAGE="https://www.winehq.org/"
700 -SRC_URI="${SRC_URI}
701 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
702 -"
703 -
704 -if [[ ${PV} == "9999" ]] ; then
705 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
706 -else
707 - SRC_URI="${SRC_URI}
708 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
709 -fi
710 -
711 -LICENSE="LGPL-2.1"
712 -SLOT="${PV}"
713 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
714 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
715 - X? ( truetype )
716 - elibc_glibc? ( threads )
717 - osmesa? ( opengl )
718 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
719 -
720 -# FIXME: the test suite is unsuitable for us; many tests require net access
721 -# or fail due to Xvfb's opengl limitations.
722 -RESTRICT="test"
723 -
724 -COMMON_DEPEND="
725 - X? (
726 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
727 - x11-libs/libXext[${MULTILIB_USEDEP}]
728 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
729 - x11-libs/libXi[${MULTILIB_USEDEP}]
730 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
731 - )
732 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
733 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
734 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
735 - d3d9? (
736 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
737 - x11-libs/libX11[${MULTILIB_USEDEP}]
738 - x11-libs/libXext[${MULTILIB_USEDEP}]
739 - x11-libs/libxcb[${MULTILIB_USEDEP}]
740 - )
741 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
742 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
743 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
744 - gstreamer? (
745 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
746 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
747 - )
748 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
749 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
750 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
751 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
752 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
753 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
754 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
755 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
756 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
757 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
758 - opengl? (
759 - virtual/glu[${MULTILIB_USEDEP}]
760 - virtual/opengl[${MULTILIB_USEDEP}]
761 - )
762 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
763 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
764 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
765 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
766 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
767 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
768 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
769 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
770 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
771 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
772 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
773 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
774 - xml? (
775 - dev-libs/libxml2[${MULTILIB_USEDEP}]
776 - dev-libs/libxslt[${MULTILIB_USEDEP}]
777 - )
778 - abi_x86_32? (
779 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
780 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
781 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
782 - !<app-emulation/emul-linux-x86-db-20140508-r3
783 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
784 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
785 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
786 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
787 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
788 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
789 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
790 - !<app-emulation/emul-linux-x86-soundlibs-20140508
791 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
792 - !<app-emulation/emul-linux-x86-xlibs-20140508
793 - )"
794 -
795 -RDEPEND="${COMMON_DEPEND}
796 - app-emulation/wine-desktop-common
797 - >app-eselect/eselect-wine-0.3
798 - !app-emulation/wine:0
799 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
800 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
801 - mono? ( app-emulation/wine-mono:4.6.4 )
802 - perl? (
803 - dev-lang/perl
804 - dev-perl/XML-Simple
805 - )
806 - pulseaudio? (
807 - realtime? ( sys-auth/rtkit )
808 - )
809 - samba? ( >=net-fs/samba-3.0.25[winbind] )
810 - selinux? ( sec-policy/selinux-wine )
811 - udisks? ( sys-fs/udisks:2 )"
812 -
813 -# tools/make_requests requires perl
814 -DEPEND="${COMMON_DEPEND}
815 - sys-devel/flex
816 - >=sys-kernel/linux-headers-2.6
817 - virtual/pkgconfig
818 - virtual/yacc
819 - X? (
820 - x11-proto/inputproto
821 - x11-proto/xextproto
822 - x11-proto/xf86vidmodeproto
823 - )
824 - prelink? ( sys-devel/prelink )
825 - xinerama? ( x11-proto/xineramaproto )"
826 -
827 -# These use a non-standard "Wine" category, which is provided by
828 -# /etc/xdg/applications-merged/wine.menu
829 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
830 -usr/share/applications/wine-notepad.desktop
831 -usr/share/applications/wine-uninstaller.desktop
832 -usr/share/applications/wine-winecfg.desktop"
833 -
834 -PATCHES=(
835 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
836 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
837 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
838 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
839 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
840 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
841 -)
842 -PATCHES_BIN=(
843 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
844 -)
845 -
846 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
847 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
848 - DEPEND+=" dev-util/patchbin"
849 -fi
850 -
851 -wine_compiler_check() {
852 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
853 -
854 - # GCC-specific bugs
855 - if tc-is-gcc; then
856 - # bug #549768
857 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
858 - ebegin "Checking for gcc-5 ms_abi compiler bug"
859 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
860 - # Run in subshell to prevent "Aborted" message
861 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
862 - if ! eend $?; then
863 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
864 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
865 - eerror "or use gcc-config to select a different compiler version."
866 - eerror "See https://bugs.gentoo.org/549768"
867 - eerror
868 - return 1
869 - fi
870 - fi
871 - # bug #574044
872 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
873 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
874 - # Compile in subshell to prevent "Aborted" message
875 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
876 - if ! eend $?; then
877 - eerror "Wine cannot be built with this version of gcc-5.3"
878 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
879 - eerror "or use gcc-config to select a different compiler version."
880 - eerror "See https://bugs.gentoo.org/574044"
881 - eerror
882 - return 1
883 - fi
884 - fi
885 - fi
886 -
887 - # Ensure compiler support
888 - if use abi_x86_64; then
889 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
890 - # Compile in subshell to prevent "Aborted" message
891 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
892 - if ! eend $?; then
893 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
894 - eerror
895 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
896 - eerror
897 - return 1
898 - fi
899 - fi
900 -}
901 -
902 -wine_build_environment_check() {
903 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
904 -
905 - if use abi_x86_64; then
906 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
907 - eerror "You need gcc-4.4+ to compile 64-bit wine"
908 - die
909 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
910 - eerror "You need clang-3.8+ to compile 64-bit wine"
911 - die
912 - fi
913 - fi
914 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
915 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
916 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
917 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
918 - fi
919 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
920 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
921 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
922 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
923 - ewarn "See package.env in man 5 portage for more information on how to do this."
924 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
925 - fi
926 - fi
927 -
928 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
929 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
930 - eerror "See https://bugs.gentoo.org/487864 for more details."
931 - eerror
932 - return 1
933 - fi
934 -}
935 -
936 -wine_env_vcs_vars() {
937 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
938 - local pn_live_val="${pn_live_var}"
939 - eval pn_live_val='$'${pn_live_val}
940 - if [[ ! -z ${pn_live_val} ]]; then
941 - if use d3d9; then
942 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
943 - eerror "cannot be used to set the commit. Instead, you may use the"
944 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
945 - eerror
946 - return 1
947 - fi
948 - fi
949 - if [[ ! -z ${EGIT_COMMIT} ]]; then
950 - eerror "Commits must now be specified using the environmental variables"
951 - eerror "WINE_COMMIT, and D3D9_COMMIT"
952 - eerror
953 - return 1
954 - fi
955 -}
956 -
957 -pkg_pretend() {
958 - wine_build_environment_check || die
959 -
960 - # Verify OSS support
961 - if use oss && ! use kernel_FreeBSD; then
962 - if ! has_version ">=media-sound/oss-4"; then
963 - eerror "You cannot build wine with USE=oss without having support from a"
964 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
965 - eerror
966 - die
967 - fi
968 - fi
969 -}
970 -
971 -pkg_setup() {
972 - wine_build_environment_check || die
973 - wine_env_vcs_vars || die
974 -
975 - WINE_VARIANT="${PN#wine}-${PV}"
976 - WINE_VARIANT="${WINE_VARIANT#-}"
977 -
978 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
979 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
980 - MY_DATADIR="${MY_DATAROOTDIR}"
981 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
982 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
983 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
984 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
985 - MY_MANDIR="${MY_DATADIR}/man"
986 -}
987 -
988 -src_unpack() {
989 - if [[ ${PV} == "9999" ]] ; then
990 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
991 - if use d3d9; then
992 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
993 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
994 - fi
995 - fi
996 -
997 - default
998 -
999 - l10n_find_plocales_changes "${S}/po" "" ".po"
1000 -}
1001 -
1002 -src_prepare() {
1003 -
1004 - eapply_bin(){
1005 - local patch
1006 - for patch in ${PATCHES_BIN[@]}; do
1007 - patchbin --nogit < "${patch}" || die
1008 - done
1009 - }
1010 -
1011 - local md5="$(md5sum server/protocol.def)"
1012 -
1013 - if use d3d9; then
1014 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
1015 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
1016 - fi
1017 -
1018 - default
1019 - eapply_bin
1020 - eautoreconf
1021 -
1022 - # Modification of the server protocol requires regenerating the server requests
1023 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1024 - einfo "server/protocol.def was patched; running tools/make_requests"
1025 - tools/make_requests || die #432348
1026 - fi
1027 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
1028 - if ! use run-exes; then
1029 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
1030 - fi
1031 -
1032 - # Edit wine.desktop to work for specific variant
1033 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
1034 -
1035 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
1036 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
1037 -
1038 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
1039 -}
1040 -
1041 -src_configure() {
1042 - wine_compiler_check || die
1043 -
1044 - export LDCONFIG=/bin/true
1045 - use custom-cflags || strip-flags
1046 -
1047 - multilib-minimal_src_configure
1048 -}
1049 -
1050 -multilib_src_configure() {
1051 - local myconf=(
1052 - --prefix="${MY_PREFIX}"
1053 - --datarootdir="${MY_DATAROOTDIR}"
1054 - --datadir="${MY_DATADIR}"
1055 - --docdir="${MY_DOCDIR}"
1056 - --includedir="${MY_INCLUDEDIR}"
1057 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
1058 - --libexecdir="${MY_LIBEXECDIR}"
1059 - --localstatedir="${MY_LOCALSTATEDIR}"
1060 - --mandir="${MY_MANDIR}"
1061 - --sysconfdir=/etc/wine
1062 - $(use_with alsa)
1063 - $(use_with capi)
1064 - $(use_with lcms cms)
1065 - $(use_with cups)
1066 - $(use_with ncurses curses)
1067 - $(use_with udisks dbus)
1068 - $(use_with fontconfig)
1069 - $(use_with ssl gnutls)
1070 - $(use_enable gecko mshtml)
1071 - $(use_with gphoto2 gphoto)
1072 - $(use_with gsm)
1073 - $(use_with gstreamer)
1074 - --without-hal
1075 - $(use_with jpeg)
1076 - $(use_with ldap)
1077 - $(use_enable mono mscoree)
1078 - $(use_with mp3 mpg123)
1079 - $(use_with netapi)
1080 - $(use_with nls gettext)
1081 - $(use_with openal)
1082 - $(use_with opencl)
1083 - $(use_with opengl)
1084 - $(use_with osmesa)
1085 - $(use_with oss)
1086 - $(use_with pcap)
1087 - $(use_with png)
1088 - $(use_with pulseaudio pulse)
1089 - $(use_with threads pthread)
1090 - $(use_with scanner sane)
1091 - $(use_enable test tests)
1092 - $(use_with truetype freetype)
1093 - $(use_with udev)
1094 - $(use_with v4l)
1095 - $(use_with X x)
1096 - $(use_with xcomposite)
1097 - $(use_with xinerama)
1098 - $(use_with xml)
1099 - $(use_with xml xslt)
1100 - )
1101 -
1102 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
1103 -
1104 - local PKG_CONFIG AR RANLIB
1105 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1106 - # set AR and RANLIB to make QA scripts happy; #483342
1107 - tc-export PKG_CONFIG AR RANLIB
1108 -
1109 - if use amd64; then
1110 - if [[ ${ABI} == amd64 ]]; then
1111 - myconf+=( --enable-win64 )
1112 - else
1113 - myconf+=( --disable-win64 )
1114 - fi
1115 -
1116 - # Note: using --with-wine64 results in problems with multilib.eclass
1117 - # CC/LD hackery. We're using separate tools instead.
1118 - fi
1119 -
1120 - ECONF_SOURCE=${S} \
1121 - econf "${myconf[@]}"
1122 - emake depend
1123 -}
1124 -
1125 -multilib_src_test() {
1126 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1127 - if [[ ${ABI} == x86 ]]; then
1128 - if [[ $(id -u) == 0 ]]; then
1129 - ewarn "Skipping tests since they cannot be run under the root user."
1130 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1131 - return
1132 - fi
1133 -
1134 - WINEPREFIX="${T}/.wine-${ABI}" \
1135 - Xemake test
1136 - fi
1137 -}
1138 -
1139 -multilib_src_install_all() {
1140 - local DOCS=( ANNOUNCE AUTHORS README )
1141 - add_locale_docs() {
1142 - local locale_doc="documentation/README.$1"
1143 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1144 - }
1145 - l10n_for_each_locale_do add_locale_docs
1146 -
1147 - einstalldocs
1148 - prune_libtool_files --all
1149 -
1150 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1151 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1152 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1153 - fi
1154 -
1155 - # Remove wineconsole if neither backend is installed #551124
1156 - if ! use X && ! use ncurses; then
1157 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
1158 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
1159 - rm_wineconsole() {
1160 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
1161 - }
1162 - multilib_foreach_abi rm_wineconsole
1163 - fi
1164 -
1165 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1166 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
1167 -
1168 - if use abi_x86_64 && ! use abi_x86_32; then
1169 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1170 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1171 - fi
1172 -
1173 - # Failglob for bin and man loops
1174 - local glob_state=$(shopt -p failglob)
1175 - shopt -s failglob
1176 -
1177 - # Make wrappers for binaries for handling multiple variants
1178 - # Note: wrappers instead of symlinks because some are shell which use basename
1179 - local b
1180 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
1181 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1182 - done
1183 -
1184 - # respect LINGUAS when installing man pages, #469418
1185 - local l
1186 - for l in de fr pl; do
1187 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
1188 - done
1189 -
1190 - eval "${glob_state}"
1191 -}
1192 -
1193 -pkg_postinst() {
1194 - eselect wine register ${P}
1195 - if [[ ${PN} == "wine-vanilla" ]]; then
1196 - eselect wine register --vanilla ${P} || die
1197 - else
1198 - if use d3d9; then
1199 - eselect wine register --d3d9 ${P} || die
1200 - fi
1201 - fi
1202 -
1203 - eselect wine update --all --if-unset || die
1204 -
1205 - xdg_desktop_database_update
1206 -
1207 - if ! use gecko; then
1208 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
1209 - ewarn "implementation of iexplore. Many older windows applications"
1210 - ewarn "rely upon the existence of an iexplore implementation, so"
1211 - ewarn "you will likely need to install an external one, like via winetricks"
1212 - fi
1213 - if ! use mono; then
1214 - ewarn "Without Wine Mono, wine prefixes will not have a default"
1215 - ewarn "implementation of .NET. Many windows applications rely upon"
1216 - ewarn "the existence of a .NET implementation, so you will likely need"
1217 - ewarn "to install an external one, like via winetricks"
1218 - fi
1219 -}
1220 -
1221 -pkg_prerm() {
1222 - eselect wine deregister ${P}
1223 - if [[ ${PN} == "wine-vanilla" ]]; then
1224 - eselect wine deregister --vanilla ${P} || die
1225 - else
1226 - if use d3d9; then
1227 - eselect wine deregister --d3d9 ${P} || die
1228 - fi
1229 - fi
1230 -
1231 - eselect wine update --all --if-unset || die
1232 -}
1233 -
1234 -pkg_postrm() {
1235 - xdg_desktop_database_update
1236 -}
1237
1238 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.10-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.10-r1.ebuild
1239 deleted file mode 100644
1240 index 71db470f65e..00000000000
1241 --- a/app-emulation/wine-d3d9/wine-d3d9-2.10-r1.ebuild
1242 +++ /dev/null
1243 @@ -1,572 +0,0 @@
1244 -# Copyright 1999-2017 Gentoo Foundation
1245 -# Distributed under the terms of the GNU General Public License v2
1246 -
1247 -EAPI=6
1248 -
1249 -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"
1250 -PLOCALE_BACKUP="en"
1251 -
1252 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
1253 -
1254 -MY_PN="${PN%%-*}"
1255 -MY_P="${MY_PN}-${PV}"
1256 -
1257 -if [[ ${PV} == "9999" ]] ; then
1258 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
1259 - EGIT_BRANCH="master"
1260 - inherit git-r3
1261 - SRC_URI=""
1262 - #KEYWORDS=""
1263 -else
1264 - MAJOR_V=$(get_version_component_range 1)
1265 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
1266 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
1267 -fi
1268 -S="${WORKDIR}/${MY_P}"
1269 -
1270 -D3D9_P="wine-d3d9-${PV}"
1271 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
1272 -GWP_V="20170830"
1273 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
1274 -
1275 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
1276 -HOMEPAGE="https://www.winehq.org/"
1277 -SRC_URI="${SRC_URI}
1278 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
1279 -"
1280 -
1281 -if [[ ${PV} == "9999" ]] ; then
1282 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
1283 -else
1284 - SRC_URI="${SRC_URI}
1285 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
1286 -fi
1287 -
1288 -LICENSE="LGPL-2.1"
1289 -SLOT="${PV}"
1290 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
1291 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1292 - X? ( truetype )
1293 - elibc_glibc? ( threads )
1294 - osmesa? ( opengl )
1295 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
1296 -
1297 -# FIXME: the test suite is unsuitable for us; many tests require net access
1298 -# or fail due to Xvfb's opengl limitations.
1299 -RESTRICT="test"
1300 -
1301 -COMMON_DEPEND="
1302 - X? (
1303 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
1304 - x11-libs/libXext[${MULTILIB_USEDEP}]
1305 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
1306 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
1307 - x11-libs/libXi[${MULTILIB_USEDEP}]
1308 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1309 - )
1310 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1311 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1312 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1313 - d3d9? (
1314 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
1315 - x11-libs/libX11[${MULTILIB_USEDEP}]
1316 - x11-libs/libXext[${MULTILIB_USEDEP}]
1317 - x11-libs/libxcb[${MULTILIB_USEDEP}]
1318 - )
1319 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1320 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1321 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1322 - gstreamer? (
1323 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1324 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1325 - )
1326 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1327 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1328 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1329 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1330 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1331 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1332 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1333 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1334 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1335 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1336 - opengl? (
1337 - virtual/glu[${MULTILIB_USEDEP}]
1338 - virtual/opengl[${MULTILIB_USEDEP}]
1339 - )
1340 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
1341 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1342 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1343 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1344 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1345 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1346 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1347 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
1348 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1349 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1350 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1351 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1352 - xml? (
1353 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1354 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1355 - )
1356 - abi_x86_32? (
1357 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1358 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1359 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
1360 - !<app-emulation/emul-linux-x86-db-20140508-r3
1361 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
1362 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
1363 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
1364 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
1365 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
1366 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
1367 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
1368 - !<app-emulation/emul-linux-x86-soundlibs-20140508
1369 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
1370 - !<app-emulation/emul-linux-x86-xlibs-20140508
1371 - )"
1372 -
1373 -RDEPEND="${COMMON_DEPEND}
1374 - app-emulation/wine-desktop-common
1375 - >app-eselect/eselect-wine-0.3
1376 - !app-emulation/wine:0
1377 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1378 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
1379 - mono? ( app-emulation/wine-mono:4.7.0 )
1380 - perl? (
1381 - dev-lang/perl
1382 - dev-perl/XML-Simple
1383 - )
1384 - pulseaudio? (
1385 - realtime? ( sys-auth/rtkit )
1386 - )
1387 - samba? ( >=net-fs/samba-3.0.25[winbind] )
1388 - selinux? ( sec-policy/selinux-wine )
1389 - udisks? ( sys-fs/udisks:2 )"
1390 -
1391 -# tools/make_requests requires perl
1392 -DEPEND="${COMMON_DEPEND}
1393 - sys-devel/flex
1394 - >=sys-kernel/linux-headers-2.6
1395 - virtual/pkgconfig
1396 - virtual/yacc
1397 - X? (
1398 - x11-proto/inputproto
1399 - x11-proto/xextproto
1400 - x11-proto/xf86vidmodeproto
1401 - )
1402 - prelink? ( sys-devel/prelink )
1403 - xinerama? ( x11-proto/xineramaproto )"
1404 -
1405 -# These use a non-standard "Wine" category, which is provided by
1406 -# /etc/xdg/applications-merged/wine.menu
1407 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
1408 -usr/share/applications/wine-notepad.desktop
1409 -usr/share/applications/wine-uninstaller.desktop
1410 -usr/share/applications/wine-winecfg.desktop"
1411 -
1412 -PATCHES=(
1413 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
1414 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
1415 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
1416 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
1417 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
1418 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
1419 -)
1420 -PATCHES_BIN=(
1421 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
1422 -)
1423 -
1424 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
1425 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
1426 - DEPEND+=" dev-util/patchbin"
1427 -fi
1428 -
1429 -wine_compiler_check() {
1430 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1431 -
1432 - # GCC-specific bugs
1433 - if tc-is-gcc; then
1434 - # bug #549768
1435 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
1436 - ebegin "Checking for gcc-5 ms_abi compiler bug"
1437 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
1438 - # Run in subshell to prevent "Aborted" message
1439 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
1440 - if ! eend $?; then
1441 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
1442 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
1443 - eerror "or use gcc-config to select a different compiler version."
1444 - eerror "See https://bugs.gentoo.org/549768"
1445 - eerror
1446 - return 1
1447 - fi
1448 - fi
1449 - # bug #574044
1450 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
1451 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
1452 - # Compile in subshell to prevent "Aborted" message
1453 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
1454 - if ! eend $?; then
1455 - eerror "Wine cannot be built with this version of gcc-5.3"
1456 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
1457 - eerror "or use gcc-config to select a different compiler version."
1458 - eerror "See https://bugs.gentoo.org/574044"
1459 - eerror
1460 - return 1
1461 - fi
1462 - fi
1463 - fi
1464 -
1465 - # Ensure compiler support
1466 - if use abi_x86_64; then
1467 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
1468 - # Compile in subshell to prevent "Aborted" message
1469 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
1470 - if ! eend $?; then
1471 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
1472 - eerror
1473 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
1474 - eerror
1475 - return 1
1476 - fi
1477 - fi
1478 -}
1479 -
1480 -wine_build_environment_check() {
1481 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
1482 -
1483 - if use abi_x86_64; then
1484 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
1485 - eerror "You need gcc-4.4+ to compile 64-bit wine"
1486 - die
1487 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
1488 - eerror "You need clang-3.8+ to compile 64-bit wine"
1489 - die
1490 - fi
1491 - fi
1492 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
1493 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
1494 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
1495 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
1496 - fi
1497 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
1498 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
1499 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
1500 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
1501 - ewarn "See package.env in man 5 portage for more information on how to do this."
1502 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
1503 - fi
1504 - fi
1505 -
1506 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
1507 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
1508 - eerror "See https://bugs.gentoo.org/487864 for more details."
1509 - eerror
1510 - return 1
1511 - fi
1512 -}
1513 -
1514 -wine_env_vcs_vars() {
1515 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
1516 - local pn_live_val="${pn_live_var}"
1517 - eval pn_live_val='$'${pn_live_val}
1518 - if [[ ! -z ${pn_live_val} ]]; then
1519 - if use d3d9; then
1520 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
1521 - eerror "cannot be used to set the commit. Instead, you may use the"
1522 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
1523 - eerror
1524 - return 1
1525 - fi
1526 - fi
1527 - if [[ ! -z ${EGIT_COMMIT} ]]; then
1528 - eerror "Commits must now be specified using the environmental variables"
1529 - eerror "WINE_COMMIT, and D3D9_COMMIT"
1530 - eerror
1531 - return 1
1532 - fi
1533 -}
1534 -
1535 -pkg_pretend() {
1536 - wine_build_environment_check || die
1537 -
1538 - # Verify OSS support
1539 - if use oss && ! use kernel_FreeBSD; then
1540 - if ! has_version ">=media-sound/oss-4"; then
1541 - eerror "You cannot build wine with USE=oss without having support from a"
1542 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
1543 - eerror
1544 - die
1545 - fi
1546 - fi
1547 -}
1548 -
1549 -pkg_setup() {
1550 - wine_build_environment_check || die
1551 - wine_env_vcs_vars || die
1552 -
1553 - WINE_VARIANT="${PN#wine}-${PV}"
1554 - WINE_VARIANT="${WINE_VARIANT#-}"
1555 -
1556 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
1557 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
1558 - MY_DATADIR="${MY_DATAROOTDIR}"
1559 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
1560 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
1561 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
1562 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
1563 - MY_MANDIR="${MY_DATADIR}/man"
1564 -}
1565 -
1566 -src_unpack() {
1567 - if [[ ${PV} == "9999" ]] ; then
1568 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
1569 - if use d3d9; then
1570 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
1571 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
1572 - fi
1573 - fi
1574 -
1575 - default
1576 -
1577 - l10n_find_plocales_changes "${S}/po" "" ".po"
1578 -}
1579 -
1580 -src_prepare() {
1581 -
1582 - eapply_bin(){
1583 - local patch
1584 - for patch in ${PATCHES_BIN[@]}; do
1585 - patchbin --nogit < "${patch}" || die
1586 - done
1587 - }
1588 -
1589 - local md5="$(md5sum server/protocol.def)"
1590 -
1591 - if use d3d9; then
1592 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
1593 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
1594 - fi
1595 -
1596 - default
1597 - eapply_bin
1598 - eautoreconf
1599 -
1600 - # Modification of the server protocol requires regenerating the server requests
1601 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
1602 - einfo "server/protocol.def was patched; running tools/make_requests"
1603 - tools/make_requests || die #432348
1604 - fi
1605 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
1606 - if ! use run-exes; then
1607 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
1608 - fi
1609 -
1610 - # Edit wine.desktop to work for specific variant
1611 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
1612 -
1613 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
1614 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
1615 -
1616 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
1617 -}
1618 -
1619 -src_configure() {
1620 - wine_compiler_check || die
1621 -
1622 - export LDCONFIG=/bin/true
1623 - use custom-cflags || strip-flags
1624 -
1625 - multilib-minimal_src_configure
1626 -}
1627 -
1628 -multilib_src_configure() {
1629 - local myconf=(
1630 - --prefix="${MY_PREFIX}"
1631 - --datarootdir="${MY_DATAROOTDIR}"
1632 - --datadir="${MY_DATADIR}"
1633 - --docdir="${MY_DOCDIR}"
1634 - --includedir="${MY_INCLUDEDIR}"
1635 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
1636 - --libexecdir="${MY_LIBEXECDIR}"
1637 - --localstatedir="${MY_LOCALSTATEDIR}"
1638 - --mandir="${MY_MANDIR}"
1639 - --sysconfdir=/etc/wine
1640 - $(use_with alsa)
1641 - $(use_with capi)
1642 - $(use_with lcms cms)
1643 - $(use_with cups)
1644 - $(use_with ncurses curses)
1645 - $(use_with udisks dbus)
1646 - $(use_with fontconfig)
1647 - $(use_with ssl gnutls)
1648 - $(use_enable gecko mshtml)
1649 - $(use_with gphoto2 gphoto)
1650 - $(use_with gsm)
1651 - $(use_with gstreamer)
1652 - --without-hal
1653 - $(use_with jpeg)
1654 - $(use_with ldap)
1655 - $(use_enable mono mscoree)
1656 - $(use_with mp3 mpg123)
1657 - $(use_with netapi)
1658 - $(use_with nls gettext)
1659 - $(use_with openal)
1660 - $(use_with opencl)
1661 - $(use_with opengl)
1662 - $(use_with osmesa)
1663 - $(use_with oss)
1664 - $(use_with pcap)
1665 - $(use_with png)
1666 - $(use_with pulseaudio pulse)
1667 - $(use_with threads pthread)
1668 - $(use_with scanner sane)
1669 - $(use_enable test tests)
1670 - $(use_with truetype freetype)
1671 - $(use_with udev)
1672 - $(use_with v4l)
1673 - $(use_with X x)
1674 - $(use_with X xfixes)
1675 - $(use_with xcomposite)
1676 - $(use_with xinerama)
1677 - $(use_with xml)
1678 - $(use_with xml xslt)
1679 - )
1680 -
1681 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
1682 -
1683 - local PKG_CONFIG AR RANLIB
1684 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
1685 - # set AR and RANLIB to make QA scripts happy; #483342
1686 - tc-export PKG_CONFIG AR RANLIB
1687 -
1688 - if use amd64; then
1689 - if [[ ${ABI} == amd64 ]]; then
1690 - myconf+=( --enable-win64 )
1691 - else
1692 - myconf+=( --disable-win64 )
1693 - fi
1694 -
1695 - # Note: using --with-wine64 results in problems with multilib.eclass
1696 - # CC/LD hackery. We're using separate tools instead.
1697 - fi
1698 -
1699 - ECONF_SOURCE=${S} \
1700 - econf "${myconf[@]}"
1701 - emake depend
1702 -}
1703 -
1704 -multilib_src_test() {
1705 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
1706 - if [[ ${ABI} == x86 ]]; then
1707 - if [[ $(id -u) == 0 ]]; then
1708 - ewarn "Skipping tests since they cannot be run under the root user."
1709 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
1710 - return
1711 - fi
1712 -
1713 - WINEPREFIX="${T}/.wine-${ABI}" \
1714 - Xemake test
1715 - fi
1716 -}
1717 -
1718 -multilib_src_install_all() {
1719 - local DOCS=( ANNOUNCE AUTHORS README )
1720 - add_locale_docs() {
1721 - local locale_doc="documentation/README.$1"
1722 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
1723 - }
1724 - l10n_for_each_locale_do add_locale_docs
1725 -
1726 - einstalldocs
1727 - prune_libtool_files --all
1728 -
1729 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
1730 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
1731 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
1732 - fi
1733 -
1734 - # Remove wineconsole if neither backend is installed #551124
1735 - if ! use X && ! use ncurses; then
1736 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
1737 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
1738 - rm_wineconsole() {
1739 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
1740 - }
1741 - multilib_foreach_abi rm_wineconsole
1742 - fi
1743 -
1744 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
1745 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
1746 -
1747 - if use abi_x86_64 && ! use abi_x86_32; then
1748 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
1749 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
1750 - fi
1751 -
1752 - # Failglob for bin and man loops
1753 - local glob_state=$(shopt -p failglob)
1754 - shopt -s failglob
1755 -
1756 - # Make wrappers for binaries for handling multiple variants
1757 - # Note: wrappers instead of symlinks because some are shell which use basename
1758 - local b
1759 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
1760 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
1761 - done
1762 -
1763 - # respect LINGUAS when installing man pages, #469418
1764 - local l
1765 - for l in de fr pl; do
1766 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
1767 - done
1768 -
1769 - eval "${glob_state}"
1770 -}
1771 -
1772 -pkg_postinst() {
1773 - eselect wine register ${P}
1774 - if [[ ${PN} == "wine-vanilla" ]]; then
1775 - eselect wine register --vanilla ${P} || die
1776 - else
1777 - if use d3d9; then
1778 - eselect wine register --d3d9 ${P} || die
1779 - fi
1780 - fi
1781 -
1782 - eselect wine update --all --if-unset || die
1783 -
1784 - xdg_desktop_database_update
1785 -
1786 - if ! use gecko; then
1787 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
1788 - ewarn "implementation of iexplore. Many older windows applications"
1789 - ewarn "rely upon the existence of an iexplore implementation, so"
1790 - ewarn "you will likely need to install an external one, like via winetricks"
1791 - fi
1792 - if ! use mono; then
1793 - ewarn "Without Wine Mono, wine prefixes will not have a default"
1794 - ewarn "implementation of .NET. Many windows applications rely upon"
1795 - ewarn "the existence of a .NET implementation, so you will likely need"
1796 - ewarn "to install an external one, like via winetricks"
1797 - fi
1798 -}
1799 -
1800 -pkg_prerm() {
1801 - eselect wine deregister ${P}
1802 - if [[ ${PN} == "wine-vanilla" ]]; then
1803 - eselect wine deregister --vanilla ${P} || die
1804 - else
1805 - if use d3d9; then
1806 - eselect wine deregister --d3d9 ${P} || die
1807 - fi
1808 - fi
1809 -
1810 - eselect wine update --all --if-unset || die
1811 -}
1812 -
1813 -pkg_postrm() {
1814 - xdg_desktop_database_update
1815 -}
1816
1817 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.11-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.11-r1.ebuild
1818 deleted file mode 100644
1819 index 71db470f65e..00000000000
1820 --- a/app-emulation/wine-d3d9/wine-d3d9-2.11-r1.ebuild
1821 +++ /dev/null
1822 @@ -1,572 +0,0 @@
1823 -# Copyright 1999-2017 Gentoo Foundation
1824 -# Distributed under the terms of the GNU General Public License v2
1825 -
1826 -EAPI=6
1827 -
1828 -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"
1829 -PLOCALE_BACKUP="en"
1830 -
1831 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
1832 -
1833 -MY_PN="${PN%%-*}"
1834 -MY_P="${MY_PN}-${PV}"
1835 -
1836 -if [[ ${PV} == "9999" ]] ; then
1837 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
1838 - EGIT_BRANCH="master"
1839 - inherit git-r3
1840 - SRC_URI=""
1841 - #KEYWORDS=""
1842 -else
1843 - MAJOR_V=$(get_version_component_range 1)
1844 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
1845 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
1846 -fi
1847 -S="${WORKDIR}/${MY_P}"
1848 -
1849 -D3D9_P="wine-d3d9-${PV}"
1850 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
1851 -GWP_V="20170830"
1852 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
1853 -
1854 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
1855 -HOMEPAGE="https://www.winehq.org/"
1856 -SRC_URI="${SRC_URI}
1857 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
1858 -"
1859 -
1860 -if [[ ${PV} == "9999" ]] ; then
1861 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
1862 -else
1863 - SRC_URI="${SRC_URI}
1864 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
1865 -fi
1866 -
1867 -LICENSE="LGPL-2.1"
1868 -SLOT="${PV}"
1869 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
1870 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
1871 - X? ( truetype )
1872 - elibc_glibc? ( threads )
1873 - osmesa? ( opengl )
1874 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
1875 -
1876 -# FIXME: the test suite is unsuitable for us; many tests require net access
1877 -# or fail due to Xvfb's opengl limitations.
1878 -RESTRICT="test"
1879 -
1880 -COMMON_DEPEND="
1881 - X? (
1882 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
1883 - x11-libs/libXext[${MULTILIB_USEDEP}]
1884 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
1885 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
1886 - x11-libs/libXi[${MULTILIB_USEDEP}]
1887 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
1888 - )
1889 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
1890 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
1891 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
1892 - d3d9? (
1893 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
1894 - x11-libs/libX11[${MULTILIB_USEDEP}]
1895 - x11-libs/libXext[${MULTILIB_USEDEP}]
1896 - x11-libs/libxcb[${MULTILIB_USEDEP}]
1897 - )
1898 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
1899 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
1900 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
1901 - gstreamer? (
1902 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
1903 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
1904 - )
1905 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
1906 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
1907 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
1908 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
1909 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
1910 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
1911 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
1912 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
1913 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
1914 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1915 - opengl? (
1916 - virtual/glu[${MULTILIB_USEDEP}]
1917 - virtual/opengl[${MULTILIB_USEDEP}]
1918 - )
1919 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
1920 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
1921 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
1922 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
1923 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
1924 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
1925 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
1926 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
1927 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
1928 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
1929 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
1930 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
1931 - xml? (
1932 - dev-libs/libxml2[${MULTILIB_USEDEP}]
1933 - dev-libs/libxslt[${MULTILIB_USEDEP}]
1934 - )
1935 - abi_x86_32? (
1936 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
1937 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
1938 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
1939 - !<app-emulation/emul-linux-x86-db-20140508-r3
1940 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
1941 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
1942 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
1943 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
1944 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
1945 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
1946 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
1947 - !<app-emulation/emul-linux-x86-soundlibs-20140508
1948 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
1949 - !<app-emulation/emul-linux-x86-xlibs-20140508
1950 - )"
1951 -
1952 -RDEPEND="${COMMON_DEPEND}
1953 - app-emulation/wine-desktop-common
1954 - >app-eselect/eselect-wine-0.3
1955 - !app-emulation/wine:0
1956 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
1957 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
1958 - mono? ( app-emulation/wine-mono:4.7.0 )
1959 - perl? (
1960 - dev-lang/perl
1961 - dev-perl/XML-Simple
1962 - )
1963 - pulseaudio? (
1964 - realtime? ( sys-auth/rtkit )
1965 - )
1966 - samba? ( >=net-fs/samba-3.0.25[winbind] )
1967 - selinux? ( sec-policy/selinux-wine )
1968 - udisks? ( sys-fs/udisks:2 )"
1969 -
1970 -# tools/make_requests requires perl
1971 -DEPEND="${COMMON_DEPEND}
1972 - sys-devel/flex
1973 - >=sys-kernel/linux-headers-2.6
1974 - virtual/pkgconfig
1975 - virtual/yacc
1976 - X? (
1977 - x11-proto/inputproto
1978 - x11-proto/xextproto
1979 - x11-proto/xf86vidmodeproto
1980 - )
1981 - prelink? ( sys-devel/prelink )
1982 - xinerama? ( x11-proto/xineramaproto )"
1983 -
1984 -# These use a non-standard "Wine" category, which is provided by
1985 -# /etc/xdg/applications-merged/wine.menu
1986 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
1987 -usr/share/applications/wine-notepad.desktop
1988 -usr/share/applications/wine-uninstaller.desktop
1989 -usr/share/applications/wine-winecfg.desktop"
1990 -
1991 -PATCHES=(
1992 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
1993 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
1994 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
1995 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
1996 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
1997 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
1998 -)
1999 -PATCHES_BIN=(
2000 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
2001 -)
2002 -
2003 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
2004 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
2005 - DEPEND+=" dev-util/patchbin"
2006 -fi
2007 -
2008 -wine_compiler_check() {
2009 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2010 -
2011 - # GCC-specific bugs
2012 - if tc-is-gcc; then
2013 - # bug #549768
2014 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2015 - ebegin "Checking for gcc-5 ms_abi compiler bug"
2016 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
2017 - # Run in subshell to prevent "Aborted" message
2018 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2019 - if ! eend $?; then
2020 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2021 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2022 - eerror "or use gcc-config to select a different compiler version."
2023 - eerror "See https://bugs.gentoo.org/549768"
2024 - eerror
2025 - return 1
2026 - fi
2027 - fi
2028 - # bug #574044
2029 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2030 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2031 - # Compile in subshell to prevent "Aborted" message
2032 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
2033 - if ! eend $?; then
2034 - eerror "Wine cannot be built with this version of gcc-5.3"
2035 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2036 - eerror "or use gcc-config to select a different compiler version."
2037 - eerror "See https://bugs.gentoo.org/574044"
2038 - eerror
2039 - return 1
2040 - fi
2041 - fi
2042 - fi
2043 -
2044 - # Ensure compiler support
2045 - if use abi_x86_64; then
2046 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2047 - # Compile in subshell to prevent "Aborted" message
2048 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2049 - if ! eend $?; then
2050 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2051 - eerror
2052 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2053 - eerror
2054 - return 1
2055 - fi
2056 - fi
2057 -}
2058 -
2059 -wine_build_environment_check() {
2060 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2061 -
2062 - if use abi_x86_64; then
2063 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
2064 - eerror "You need gcc-4.4+ to compile 64-bit wine"
2065 - die
2066 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
2067 - eerror "You need clang-3.8+ to compile 64-bit wine"
2068 - die
2069 - fi
2070 - fi
2071 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
2072 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
2073 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
2074 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
2075 - fi
2076 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
2077 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
2078 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
2079 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
2080 - ewarn "See package.env in man 5 portage for more information on how to do this."
2081 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
2082 - fi
2083 - fi
2084 -
2085 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
2086 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2087 - eerror "See https://bugs.gentoo.org/487864 for more details."
2088 - eerror
2089 - return 1
2090 - fi
2091 -}
2092 -
2093 -wine_env_vcs_vars() {
2094 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
2095 - local pn_live_val="${pn_live_var}"
2096 - eval pn_live_val='$'${pn_live_val}
2097 - if [[ ! -z ${pn_live_val} ]]; then
2098 - if use d3d9; then
2099 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
2100 - eerror "cannot be used to set the commit. Instead, you may use the"
2101 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
2102 - eerror
2103 - return 1
2104 - fi
2105 - fi
2106 - if [[ ! -z ${EGIT_COMMIT} ]]; then
2107 - eerror "Commits must now be specified using the environmental variables"
2108 - eerror "WINE_COMMIT, and D3D9_COMMIT"
2109 - eerror
2110 - return 1
2111 - fi
2112 -}
2113 -
2114 -pkg_pretend() {
2115 - wine_build_environment_check || die
2116 -
2117 - # Verify OSS support
2118 - if use oss && ! use kernel_FreeBSD; then
2119 - if ! has_version ">=media-sound/oss-4"; then
2120 - eerror "You cannot build wine with USE=oss without having support from a"
2121 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2122 - eerror
2123 - die
2124 - fi
2125 - fi
2126 -}
2127 -
2128 -pkg_setup() {
2129 - wine_build_environment_check || die
2130 - wine_env_vcs_vars || die
2131 -
2132 - WINE_VARIANT="${PN#wine}-${PV}"
2133 - WINE_VARIANT="${WINE_VARIANT#-}"
2134 -
2135 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
2136 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
2137 - MY_DATADIR="${MY_DATAROOTDIR}"
2138 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
2139 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
2140 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
2141 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
2142 - MY_MANDIR="${MY_DATADIR}/man"
2143 -}
2144 -
2145 -src_unpack() {
2146 - if [[ ${PV} == "9999" ]] ; then
2147 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
2148 - if use d3d9; then
2149 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
2150 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
2151 - fi
2152 - fi
2153 -
2154 - default
2155 -
2156 - l10n_find_plocales_changes "${S}/po" "" ".po"
2157 -}
2158 -
2159 -src_prepare() {
2160 -
2161 - eapply_bin(){
2162 - local patch
2163 - for patch in ${PATCHES_BIN[@]}; do
2164 - patchbin --nogit < "${patch}" || die
2165 - done
2166 - }
2167 -
2168 - local md5="$(md5sum server/protocol.def)"
2169 -
2170 - if use d3d9; then
2171 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
2172 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
2173 - fi
2174 -
2175 - default
2176 - eapply_bin
2177 - eautoreconf
2178 -
2179 - # Modification of the server protocol requires regenerating the server requests
2180 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
2181 - einfo "server/protocol.def was patched; running tools/make_requests"
2182 - tools/make_requests || die #432348
2183 - fi
2184 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
2185 - if ! use run-exes; then
2186 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
2187 - fi
2188 -
2189 - # Edit wine.desktop to work for specific variant
2190 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
2191 -
2192 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
2193 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
2194 -
2195 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
2196 -}
2197 -
2198 -src_configure() {
2199 - wine_compiler_check || die
2200 -
2201 - export LDCONFIG=/bin/true
2202 - use custom-cflags || strip-flags
2203 -
2204 - multilib-minimal_src_configure
2205 -}
2206 -
2207 -multilib_src_configure() {
2208 - local myconf=(
2209 - --prefix="${MY_PREFIX}"
2210 - --datarootdir="${MY_DATAROOTDIR}"
2211 - --datadir="${MY_DATADIR}"
2212 - --docdir="${MY_DOCDIR}"
2213 - --includedir="${MY_INCLUDEDIR}"
2214 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
2215 - --libexecdir="${MY_LIBEXECDIR}"
2216 - --localstatedir="${MY_LOCALSTATEDIR}"
2217 - --mandir="${MY_MANDIR}"
2218 - --sysconfdir=/etc/wine
2219 - $(use_with alsa)
2220 - $(use_with capi)
2221 - $(use_with lcms cms)
2222 - $(use_with cups)
2223 - $(use_with ncurses curses)
2224 - $(use_with udisks dbus)
2225 - $(use_with fontconfig)
2226 - $(use_with ssl gnutls)
2227 - $(use_enable gecko mshtml)
2228 - $(use_with gphoto2 gphoto)
2229 - $(use_with gsm)
2230 - $(use_with gstreamer)
2231 - --without-hal
2232 - $(use_with jpeg)
2233 - $(use_with ldap)
2234 - $(use_enable mono mscoree)
2235 - $(use_with mp3 mpg123)
2236 - $(use_with netapi)
2237 - $(use_with nls gettext)
2238 - $(use_with openal)
2239 - $(use_with opencl)
2240 - $(use_with opengl)
2241 - $(use_with osmesa)
2242 - $(use_with oss)
2243 - $(use_with pcap)
2244 - $(use_with png)
2245 - $(use_with pulseaudio pulse)
2246 - $(use_with threads pthread)
2247 - $(use_with scanner sane)
2248 - $(use_enable test tests)
2249 - $(use_with truetype freetype)
2250 - $(use_with udev)
2251 - $(use_with v4l)
2252 - $(use_with X x)
2253 - $(use_with X xfixes)
2254 - $(use_with xcomposite)
2255 - $(use_with xinerama)
2256 - $(use_with xml)
2257 - $(use_with xml xslt)
2258 - )
2259 -
2260 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
2261 -
2262 - local PKG_CONFIG AR RANLIB
2263 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
2264 - # set AR and RANLIB to make QA scripts happy; #483342
2265 - tc-export PKG_CONFIG AR RANLIB
2266 -
2267 - if use amd64; then
2268 - if [[ ${ABI} == amd64 ]]; then
2269 - myconf+=( --enable-win64 )
2270 - else
2271 - myconf+=( --disable-win64 )
2272 - fi
2273 -
2274 - # Note: using --with-wine64 results in problems with multilib.eclass
2275 - # CC/LD hackery. We're using separate tools instead.
2276 - fi
2277 -
2278 - ECONF_SOURCE=${S} \
2279 - econf "${myconf[@]}"
2280 - emake depend
2281 -}
2282 -
2283 -multilib_src_test() {
2284 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
2285 - if [[ ${ABI} == x86 ]]; then
2286 - if [[ $(id -u) == 0 ]]; then
2287 - ewarn "Skipping tests since they cannot be run under the root user."
2288 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
2289 - return
2290 - fi
2291 -
2292 - WINEPREFIX="${T}/.wine-${ABI}" \
2293 - Xemake test
2294 - fi
2295 -}
2296 -
2297 -multilib_src_install_all() {
2298 - local DOCS=( ANNOUNCE AUTHORS README )
2299 - add_locale_docs() {
2300 - local locale_doc="documentation/README.$1"
2301 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
2302 - }
2303 - l10n_for_each_locale_do add_locale_docs
2304 -
2305 - einstalldocs
2306 - prune_libtool_files --all
2307 -
2308 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
2309 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
2310 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
2311 - fi
2312 -
2313 - # Remove wineconsole if neither backend is installed #551124
2314 - if ! use X && ! use ncurses; then
2315 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
2316 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
2317 - rm_wineconsole() {
2318 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
2319 - }
2320 - multilib_foreach_abi rm_wineconsole
2321 - fi
2322 -
2323 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
2324 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
2325 -
2326 - if use abi_x86_64 && ! use abi_x86_32; then
2327 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
2328 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
2329 - fi
2330 -
2331 - # Failglob for bin and man loops
2332 - local glob_state=$(shopt -p failglob)
2333 - shopt -s failglob
2334 -
2335 - # Make wrappers for binaries for handling multiple variants
2336 - # Note: wrappers instead of symlinks because some are shell which use basename
2337 - local b
2338 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
2339 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
2340 - done
2341 -
2342 - # respect LINGUAS when installing man pages, #469418
2343 - local l
2344 - for l in de fr pl; do
2345 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
2346 - done
2347 -
2348 - eval "${glob_state}"
2349 -}
2350 -
2351 -pkg_postinst() {
2352 - eselect wine register ${P}
2353 - if [[ ${PN} == "wine-vanilla" ]]; then
2354 - eselect wine register --vanilla ${P} || die
2355 - else
2356 - if use d3d9; then
2357 - eselect wine register --d3d9 ${P} || die
2358 - fi
2359 - fi
2360 -
2361 - eselect wine update --all --if-unset || die
2362 -
2363 - xdg_desktop_database_update
2364 -
2365 - if ! use gecko; then
2366 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
2367 - ewarn "implementation of iexplore. Many older windows applications"
2368 - ewarn "rely upon the existence of an iexplore implementation, so"
2369 - ewarn "you will likely need to install an external one, like via winetricks"
2370 - fi
2371 - if ! use mono; then
2372 - ewarn "Without Wine Mono, wine prefixes will not have a default"
2373 - ewarn "implementation of .NET. Many windows applications rely upon"
2374 - ewarn "the existence of a .NET implementation, so you will likely need"
2375 - ewarn "to install an external one, like via winetricks"
2376 - fi
2377 -}
2378 -
2379 -pkg_prerm() {
2380 - eselect wine deregister ${P}
2381 - if [[ ${PN} == "wine-vanilla" ]]; then
2382 - eselect wine deregister --vanilla ${P} || die
2383 - else
2384 - if use d3d9; then
2385 - eselect wine deregister --d3d9 ${P} || die
2386 - fi
2387 - fi
2388 -
2389 - eselect wine update --all --if-unset || die
2390 -}
2391 -
2392 -pkg_postrm() {
2393 - xdg_desktop_database_update
2394 -}
2395
2396 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.12-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.12-r1.ebuild
2397 deleted file mode 100644
2398 index 71db470f65e..00000000000
2399 --- a/app-emulation/wine-d3d9/wine-d3d9-2.12-r1.ebuild
2400 +++ /dev/null
2401 @@ -1,572 +0,0 @@
2402 -# Copyright 1999-2017 Gentoo Foundation
2403 -# Distributed under the terms of the GNU General Public License v2
2404 -
2405 -EAPI=6
2406 -
2407 -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"
2408 -PLOCALE_BACKUP="en"
2409 -
2410 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
2411 -
2412 -MY_PN="${PN%%-*}"
2413 -MY_P="${MY_PN}-${PV}"
2414 -
2415 -if [[ ${PV} == "9999" ]] ; then
2416 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
2417 - EGIT_BRANCH="master"
2418 - inherit git-r3
2419 - SRC_URI=""
2420 - #KEYWORDS=""
2421 -else
2422 - MAJOR_V=$(get_version_component_range 1)
2423 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
2424 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
2425 -fi
2426 -S="${WORKDIR}/${MY_P}"
2427 -
2428 -D3D9_P="wine-d3d9-${PV}"
2429 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
2430 -GWP_V="20170830"
2431 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
2432 -
2433 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
2434 -HOMEPAGE="https://www.winehq.org/"
2435 -SRC_URI="${SRC_URI}
2436 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
2437 -"
2438 -
2439 -if [[ ${PV} == "9999" ]] ; then
2440 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
2441 -else
2442 - SRC_URI="${SRC_URI}
2443 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
2444 -fi
2445 -
2446 -LICENSE="LGPL-2.1"
2447 -SLOT="${PV}"
2448 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
2449 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
2450 - X? ( truetype )
2451 - elibc_glibc? ( threads )
2452 - osmesa? ( opengl )
2453 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
2454 -
2455 -# FIXME: the test suite is unsuitable for us; many tests require net access
2456 -# or fail due to Xvfb's opengl limitations.
2457 -RESTRICT="test"
2458 -
2459 -COMMON_DEPEND="
2460 - X? (
2461 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
2462 - x11-libs/libXext[${MULTILIB_USEDEP}]
2463 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
2464 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
2465 - x11-libs/libXi[${MULTILIB_USEDEP}]
2466 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
2467 - )
2468 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
2469 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
2470 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
2471 - d3d9? (
2472 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
2473 - x11-libs/libX11[${MULTILIB_USEDEP}]
2474 - x11-libs/libXext[${MULTILIB_USEDEP}]
2475 - x11-libs/libxcb[${MULTILIB_USEDEP}]
2476 - )
2477 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
2478 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
2479 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
2480 - gstreamer? (
2481 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
2482 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
2483 - )
2484 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
2485 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
2486 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
2487 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
2488 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
2489 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
2490 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
2491 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
2492 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
2493 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
2494 - opengl? (
2495 - virtual/glu[${MULTILIB_USEDEP}]
2496 - virtual/opengl[${MULTILIB_USEDEP}]
2497 - )
2498 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
2499 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
2500 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
2501 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
2502 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
2503 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
2504 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
2505 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
2506 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
2507 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
2508 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
2509 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
2510 - xml? (
2511 - dev-libs/libxml2[${MULTILIB_USEDEP}]
2512 - dev-libs/libxslt[${MULTILIB_USEDEP}]
2513 - )
2514 - abi_x86_32? (
2515 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
2516 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
2517 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
2518 - !<app-emulation/emul-linux-x86-db-20140508-r3
2519 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
2520 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
2521 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
2522 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
2523 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
2524 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
2525 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
2526 - !<app-emulation/emul-linux-x86-soundlibs-20140508
2527 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
2528 - !<app-emulation/emul-linux-x86-xlibs-20140508
2529 - )"
2530 -
2531 -RDEPEND="${COMMON_DEPEND}
2532 - app-emulation/wine-desktop-common
2533 - >app-eselect/eselect-wine-0.3
2534 - !app-emulation/wine:0
2535 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
2536 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
2537 - mono? ( app-emulation/wine-mono:4.7.0 )
2538 - perl? (
2539 - dev-lang/perl
2540 - dev-perl/XML-Simple
2541 - )
2542 - pulseaudio? (
2543 - realtime? ( sys-auth/rtkit )
2544 - )
2545 - samba? ( >=net-fs/samba-3.0.25[winbind] )
2546 - selinux? ( sec-policy/selinux-wine )
2547 - udisks? ( sys-fs/udisks:2 )"
2548 -
2549 -# tools/make_requests requires perl
2550 -DEPEND="${COMMON_DEPEND}
2551 - sys-devel/flex
2552 - >=sys-kernel/linux-headers-2.6
2553 - virtual/pkgconfig
2554 - virtual/yacc
2555 - X? (
2556 - x11-proto/inputproto
2557 - x11-proto/xextproto
2558 - x11-proto/xf86vidmodeproto
2559 - )
2560 - prelink? ( sys-devel/prelink )
2561 - xinerama? ( x11-proto/xineramaproto )"
2562 -
2563 -# These use a non-standard "Wine" category, which is provided by
2564 -# /etc/xdg/applications-merged/wine.menu
2565 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
2566 -usr/share/applications/wine-notepad.desktop
2567 -usr/share/applications/wine-uninstaller.desktop
2568 -usr/share/applications/wine-winecfg.desktop"
2569 -
2570 -PATCHES=(
2571 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
2572 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
2573 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
2574 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
2575 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
2576 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
2577 -)
2578 -PATCHES_BIN=(
2579 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
2580 -)
2581 -
2582 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
2583 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
2584 - DEPEND+=" dev-util/patchbin"
2585 -fi
2586 -
2587 -wine_compiler_check() {
2588 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2589 -
2590 - # GCC-specific bugs
2591 - if tc-is-gcc; then
2592 - # bug #549768
2593 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
2594 - ebegin "Checking for gcc-5 ms_abi compiler bug"
2595 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
2596 - # Run in subshell to prevent "Aborted" message
2597 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
2598 - if ! eend $?; then
2599 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
2600 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
2601 - eerror "or use gcc-config to select a different compiler version."
2602 - eerror "See https://bugs.gentoo.org/549768"
2603 - eerror
2604 - return 1
2605 - fi
2606 - fi
2607 - # bug #574044
2608 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
2609 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
2610 - # Compile in subshell to prevent "Aborted" message
2611 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
2612 - if ! eend $?; then
2613 - eerror "Wine cannot be built with this version of gcc-5.3"
2614 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
2615 - eerror "or use gcc-config to select a different compiler version."
2616 - eerror "See https://bugs.gentoo.org/574044"
2617 - eerror
2618 - return 1
2619 - fi
2620 - fi
2621 - fi
2622 -
2623 - # Ensure compiler support
2624 - if use abi_x86_64; then
2625 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
2626 - # Compile in subshell to prevent "Aborted" message
2627 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
2628 - if ! eend $?; then
2629 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
2630 - eerror
2631 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
2632 - eerror
2633 - return 1
2634 - fi
2635 - fi
2636 -}
2637 -
2638 -wine_build_environment_check() {
2639 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
2640 -
2641 - if use abi_x86_64; then
2642 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
2643 - eerror "You need gcc-4.4+ to compile 64-bit wine"
2644 - die
2645 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
2646 - eerror "You need clang-3.8+ to compile 64-bit wine"
2647 - die
2648 - fi
2649 - fi
2650 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
2651 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
2652 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
2653 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
2654 - fi
2655 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
2656 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
2657 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
2658 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
2659 - ewarn "See package.env in man 5 portage for more information on how to do this."
2660 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
2661 - fi
2662 - fi
2663 -
2664 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
2665 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
2666 - eerror "See https://bugs.gentoo.org/487864 for more details."
2667 - eerror
2668 - return 1
2669 - fi
2670 -}
2671 -
2672 -wine_env_vcs_vars() {
2673 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
2674 - local pn_live_val="${pn_live_var}"
2675 - eval pn_live_val='$'${pn_live_val}
2676 - if [[ ! -z ${pn_live_val} ]]; then
2677 - if use d3d9; then
2678 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
2679 - eerror "cannot be used to set the commit. Instead, you may use the"
2680 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
2681 - eerror
2682 - return 1
2683 - fi
2684 - fi
2685 - if [[ ! -z ${EGIT_COMMIT} ]]; then
2686 - eerror "Commits must now be specified using the environmental variables"
2687 - eerror "WINE_COMMIT, and D3D9_COMMIT"
2688 - eerror
2689 - return 1
2690 - fi
2691 -}
2692 -
2693 -pkg_pretend() {
2694 - wine_build_environment_check || die
2695 -
2696 - # Verify OSS support
2697 - if use oss && ! use kernel_FreeBSD; then
2698 - if ! has_version ">=media-sound/oss-4"; then
2699 - eerror "You cannot build wine with USE=oss without having support from a"
2700 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
2701 - eerror
2702 - die
2703 - fi
2704 - fi
2705 -}
2706 -
2707 -pkg_setup() {
2708 - wine_build_environment_check || die
2709 - wine_env_vcs_vars || die
2710 -
2711 - WINE_VARIANT="${PN#wine}-${PV}"
2712 - WINE_VARIANT="${WINE_VARIANT#-}"
2713 -
2714 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
2715 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
2716 - MY_DATADIR="${MY_DATAROOTDIR}"
2717 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
2718 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
2719 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
2720 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
2721 - MY_MANDIR="${MY_DATADIR}/man"
2722 -}
2723 -
2724 -src_unpack() {
2725 - if [[ ${PV} == "9999" ]] ; then
2726 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
2727 - if use d3d9; then
2728 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
2729 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
2730 - fi
2731 - fi
2732 -
2733 - default
2734 -
2735 - l10n_find_plocales_changes "${S}/po" "" ".po"
2736 -}
2737 -
2738 -src_prepare() {
2739 -
2740 - eapply_bin(){
2741 - local patch
2742 - for patch in ${PATCHES_BIN[@]}; do
2743 - patchbin --nogit < "${patch}" || die
2744 - done
2745 - }
2746 -
2747 - local md5="$(md5sum server/protocol.def)"
2748 -
2749 - if use d3d9; then
2750 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
2751 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
2752 - fi
2753 -
2754 - default
2755 - eapply_bin
2756 - eautoreconf
2757 -
2758 - # Modification of the server protocol requires regenerating the server requests
2759 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
2760 - einfo "server/protocol.def was patched; running tools/make_requests"
2761 - tools/make_requests || die #432348
2762 - fi
2763 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
2764 - if ! use run-exes; then
2765 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
2766 - fi
2767 -
2768 - # Edit wine.desktop to work for specific variant
2769 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
2770 -
2771 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
2772 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
2773 -
2774 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
2775 -}
2776 -
2777 -src_configure() {
2778 - wine_compiler_check || die
2779 -
2780 - export LDCONFIG=/bin/true
2781 - use custom-cflags || strip-flags
2782 -
2783 - multilib-minimal_src_configure
2784 -}
2785 -
2786 -multilib_src_configure() {
2787 - local myconf=(
2788 - --prefix="${MY_PREFIX}"
2789 - --datarootdir="${MY_DATAROOTDIR}"
2790 - --datadir="${MY_DATADIR}"
2791 - --docdir="${MY_DOCDIR}"
2792 - --includedir="${MY_INCLUDEDIR}"
2793 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
2794 - --libexecdir="${MY_LIBEXECDIR}"
2795 - --localstatedir="${MY_LOCALSTATEDIR}"
2796 - --mandir="${MY_MANDIR}"
2797 - --sysconfdir=/etc/wine
2798 - $(use_with alsa)
2799 - $(use_with capi)
2800 - $(use_with lcms cms)
2801 - $(use_with cups)
2802 - $(use_with ncurses curses)
2803 - $(use_with udisks dbus)
2804 - $(use_with fontconfig)
2805 - $(use_with ssl gnutls)
2806 - $(use_enable gecko mshtml)
2807 - $(use_with gphoto2 gphoto)
2808 - $(use_with gsm)
2809 - $(use_with gstreamer)
2810 - --without-hal
2811 - $(use_with jpeg)
2812 - $(use_with ldap)
2813 - $(use_enable mono mscoree)
2814 - $(use_with mp3 mpg123)
2815 - $(use_with netapi)
2816 - $(use_with nls gettext)
2817 - $(use_with openal)
2818 - $(use_with opencl)
2819 - $(use_with opengl)
2820 - $(use_with osmesa)
2821 - $(use_with oss)
2822 - $(use_with pcap)
2823 - $(use_with png)
2824 - $(use_with pulseaudio pulse)
2825 - $(use_with threads pthread)
2826 - $(use_with scanner sane)
2827 - $(use_enable test tests)
2828 - $(use_with truetype freetype)
2829 - $(use_with udev)
2830 - $(use_with v4l)
2831 - $(use_with X x)
2832 - $(use_with X xfixes)
2833 - $(use_with xcomposite)
2834 - $(use_with xinerama)
2835 - $(use_with xml)
2836 - $(use_with xml xslt)
2837 - )
2838 -
2839 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
2840 -
2841 - local PKG_CONFIG AR RANLIB
2842 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
2843 - # set AR and RANLIB to make QA scripts happy; #483342
2844 - tc-export PKG_CONFIG AR RANLIB
2845 -
2846 - if use amd64; then
2847 - if [[ ${ABI} == amd64 ]]; then
2848 - myconf+=( --enable-win64 )
2849 - else
2850 - myconf+=( --disable-win64 )
2851 - fi
2852 -
2853 - # Note: using --with-wine64 results in problems with multilib.eclass
2854 - # CC/LD hackery. We're using separate tools instead.
2855 - fi
2856 -
2857 - ECONF_SOURCE=${S} \
2858 - econf "${myconf[@]}"
2859 - emake depend
2860 -}
2861 -
2862 -multilib_src_test() {
2863 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
2864 - if [[ ${ABI} == x86 ]]; then
2865 - if [[ $(id -u) == 0 ]]; then
2866 - ewarn "Skipping tests since they cannot be run under the root user."
2867 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
2868 - return
2869 - fi
2870 -
2871 - WINEPREFIX="${T}/.wine-${ABI}" \
2872 - Xemake test
2873 - fi
2874 -}
2875 -
2876 -multilib_src_install_all() {
2877 - local DOCS=( ANNOUNCE AUTHORS README )
2878 - add_locale_docs() {
2879 - local locale_doc="documentation/README.$1"
2880 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
2881 - }
2882 - l10n_for_each_locale_do add_locale_docs
2883 -
2884 - einstalldocs
2885 - prune_libtool_files --all
2886 -
2887 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
2888 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
2889 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
2890 - fi
2891 -
2892 - # Remove wineconsole if neither backend is installed #551124
2893 - if ! use X && ! use ncurses; then
2894 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
2895 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
2896 - rm_wineconsole() {
2897 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
2898 - }
2899 - multilib_foreach_abi rm_wineconsole
2900 - fi
2901 -
2902 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
2903 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
2904 -
2905 - if use abi_x86_64 && ! use abi_x86_32; then
2906 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
2907 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
2908 - fi
2909 -
2910 - # Failglob for bin and man loops
2911 - local glob_state=$(shopt -p failglob)
2912 - shopt -s failglob
2913 -
2914 - # Make wrappers for binaries for handling multiple variants
2915 - # Note: wrappers instead of symlinks because some are shell which use basename
2916 - local b
2917 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
2918 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
2919 - done
2920 -
2921 - # respect LINGUAS when installing man pages, #469418
2922 - local l
2923 - for l in de fr pl; do
2924 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
2925 - done
2926 -
2927 - eval "${glob_state}"
2928 -}
2929 -
2930 -pkg_postinst() {
2931 - eselect wine register ${P}
2932 - if [[ ${PN} == "wine-vanilla" ]]; then
2933 - eselect wine register --vanilla ${P} || die
2934 - else
2935 - if use d3d9; then
2936 - eselect wine register --d3d9 ${P} || die
2937 - fi
2938 - fi
2939 -
2940 - eselect wine update --all --if-unset || die
2941 -
2942 - xdg_desktop_database_update
2943 -
2944 - if ! use gecko; then
2945 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
2946 - ewarn "implementation of iexplore. Many older windows applications"
2947 - ewarn "rely upon the existence of an iexplore implementation, so"
2948 - ewarn "you will likely need to install an external one, like via winetricks"
2949 - fi
2950 - if ! use mono; then
2951 - ewarn "Without Wine Mono, wine prefixes will not have a default"
2952 - ewarn "implementation of .NET. Many windows applications rely upon"
2953 - ewarn "the existence of a .NET implementation, so you will likely need"
2954 - ewarn "to install an external one, like via winetricks"
2955 - fi
2956 -}
2957 -
2958 -pkg_prerm() {
2959 - eselect wine deregister ${P}
2960 - if [[ ${PN} == "wine-vanilla" ]]; then
2961 - eselect wine deregister --vanilla ${P} || die
2962 - else
2963 - if use d3d9; then
2964 - eselect wine deregister --d3d9 ${P} || die
2965 - fi
2966 - fi
2967 -
2968 - eselect wine update --all --if-unset || die
2969 -}
2970 -
2971 -pkg_postrm() {
2972 - xdg_desktop_database_update
2973 -}
2974
2975 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.13-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.13-r1.ebuild
2976 deleted file mode 100644
2977 index 71db470f65e..00000000000
2978 --- a/app-emulation/wine-d3d9/wine-d3d9-2.13-r1.ebuild
2979 +++ /dev/null
2980 @@ -1,572 +0,0 @@
2981 -# Copyright 1999-2017 Gentoo Foundation
2982 -# Distributed under the terms of the GNU General Public License v2
2983 -
2984 -EAPI=6
2985 -
2986 -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"
2987 -PLOCALE_BACKUP="en"
2988 -
2989 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
2990 -
2991 -MY_PN="${PN%%-*}"
2992 -MY_P="${MY_PN}-${PV}"
2993 -
2994 -if [[ ${PV} == "9999" ]] ; then
2995 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
2996 - EGIT_BRANCH="master"
2997 - inherit git-r3
2998 - SRC_URI=""
2999 - #KEYWORDS=""
3000 -else
3001 - MAJOR_V=$(get_version_component_range 1)
3002 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
3003 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
3004 -fi
3005 -S="${WORKDIR}/${MY_P}"
3006 -
3007 -D3D9_P="wine-d3d9-${PV}"
3008 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
3009 -GWP_V="20170830"
3010 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
3011 -
3012 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
3013 -HOMEPAGE="https://www.winehq.org/"
3014 -SRC_URI="${SRC_URI}
3015 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
3016 -"
3017 -
3018 -if [[ ${PV} == "9999" ]] ; then
3019 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
3020 -else
3021 - SRC_URI="${SRC_URI}
3022 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
3023 -fi
3024 -
3025 -LICENSE="LGPL-2.1"
3026 -SLOT="${PV}"
3027 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
3028 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3029 - X? ( truetype )
3030 - elibc_glibc? ( threads )
3031 - osmesa? ( opengl )
3032 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
3033 -
3034 -# FIXME: the test suite is unsuitable for us; many tests require net access
3035 -# or fail due to Xvfb's opengl limitations.
3036 -RESTRICT="test"
3037 -
3038 -COMMON_DEPEND="
3039 - X? (
3040 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
3041 - x11-libs/libXext[${MULTILIB_USEDEP}]
3042 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
3043 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
3044 - x11-libs/libXi[${MULTILIB_USEDEP}]
3045 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3046 - )
3047 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3048 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3049 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3050 - d3d9? (
3051 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
3052 - x11-libs/libX11[${MULTILIB_USEDEP}]
3053 - x11-libs/libXext[${MULTILIB_USEDEP}]
3054 - x11-libs/libxcb[${MULTILIB_USEDEP}]
3055 - )
3056 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3057 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3058 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3059 - gstreamer? (
3060 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3061 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3062 - )
3063 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3064 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3065 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3066 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3067 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3068 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3069 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3070 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3071 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3072 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3073 - opengl? (
3074 - virtual/glu[${MULTILIB_USEDEP}]
3075 - virtual/opengl[${MULTILIB_USEDEP}]
3076 - )
3077 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
3078 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3079 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3080 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3081 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3082 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3083 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3084 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
3085 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3086 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3087 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3088 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3089 - xml? (
3090 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3091 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3092 - )
3093 - abi_x86_32? (
3094 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3095 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3096 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
3097 - !<app-emulation/emul-linux-x86-db-20140508-r3
3098 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
3099 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
3100 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
3101 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
3102 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
3103 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
3104 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
3105 - !<app-emulation/emul-linux-x86-soundlibs-20140508
3106 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
3107 - !<app-emulation/emul-linux-x86-xlibs-20140508
3108 - )"
3109 -
3110 -RDEPEND="${COMMON_DEPEND}
3111 - app-emulation/wine-desktop-common
3112 - >app-eselect/eselect-wine-0.3
3113 - !app-emulation/wine:0
3114 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3115 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
3116 - mono? ( app-emulation/wine-mono:4.7.0 )
3117 - perl? (
3118 - dev-lang/perl
3119 - dev-perl/XML-Simple
3120 - )
3121 - pulseaudio? (
3122 - realtime? ( sys-auth/rtkit )
3123 - )
3124 - samba? ( >=net-fs/samba-3.0.25[winbind] )
3125 - selinux? ( sec-policy/selinux-wine )
3126 - udisks? ( sys-fs/udisks:2 )"
3127 -
3128 -# tools/make_requests requires perl
3129 -DEPEND="${COMMON_DEPEND}
3130 - sys-devel/flex
3131 - >=sys-kernel/linux-headers-2.6
3132 - virtual/pkgconfig
3133 - virtual/yacc
3134 - X? (
3135 - x11-proto/inputproto
3136 - x11-proto/xextproto
3137 - x11-proto/xf86vidmodeproto
3138 - )
3139 - prelink? ( sys-devel/prelink )
3140 - xinerama? ( x11-proto/xineramaproto )"
3141 -
3142 -# These use a non-standard "Wine" category, which is provided by
3143 -# /etc/xdg/applications-merged/wine.menu
3144 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
3145 -usr/share/applications/wine-notepad.desktop
3146 -usr/share/applications/wine-uninstaller.desktop
3147 -usr/share/applications/wine-winecfg.desktop"
3148 -
3149 -PATCHES=(
3150 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
3151 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
3152 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
3153 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
3154 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
3155 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
3156 -)
3157 -PATCHES_BIN=(
3158 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
3159 -)
3160 -
3161 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
3162 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
3163 - DEPEND+=" dev-util/patchbin"
3164 -fi
3165 -
3166 -wine_compiler_check() {
3167 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3168 -
3169 - # GCC-specific bugs
3170 - if tc-is-gcc; then
3171 - # bug #549768
3172 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3173 - ebegin "Checking for gcc-5 ms_abi compiler bug"
3174 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
3175 - # Run in subshell to prevent "Aborted" message
3176 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3177 - if ! eend $?; then
3178 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3179 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3180 - eerror "or use gcc-config to select a different compiler version."
3181 - eerror "See https://bugs.gentoo.org/549768"
3182 - eerror
3183 - return 1
3184 - fi
3185 - fi
3186 - # bug #574044
3187 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3188 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3189 - # Compile in subshell to prevent "Aborted" message
3190 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
3191 - if ! eend $?; then
3192 - eerror "Wine cannot be built with this version of gcc-5.3"
3193 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3194 - eerror "or use gcc-config to select a different compiler version."
3195 - eerror "See https://bugs.gentoo.org/574044"
3196 - eerror
3197 - return 1
3198 - fi
3199 - fi
3200 - fi
3201 -
3202 - # Ensure compiler support
3203 - if use abi_x86_64; then
3204 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
3205 - # Compile in subshell to prevent "Aborted" message
3206 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
3207 - if ! eend $?; then
3208 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
3209 - eerror
3210 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
3211 - eerror
3212 - return 1
3213 - fi
3214 - fi
3215 -}
3216 -
3217 -wine_build_environment_check() {
3218 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3219 -
3220 - if use abi_x86_64; then
3221 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
3222 - eerror "You need gcc-4.4+ to compile 64-bit wine"
3223 - die
3224 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
3225 - eerror "You need clang-3.8+ to compile 64-bit wine"
3226 - die
3227 - fi
3228 - fi
3229 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
3230 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
3231 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
3232 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
3233 - fi
3234 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
3235 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
3236 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
3237 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
3238 - ewarn "See package.env in man 5 portage for more information on how to do this."
3239 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
3240 - fi
3241 - fi
3242 -
3243 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
3244 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
3245 - eerror "See https://bugs.gentoo.org/487864 for more details."
3246 - eerror
3247 - return 1
3248 - fi
3249 -}
3250 -
3251 -wine_env_vcs_vars() {
3252 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
3253 - local pn_live_val="${pn_live_var}"
3254 - eval pn_live_val='$'${pn_live_val}
3255 - if [[ ! -z ${pn_live_val} ]]; then
3256 - if use d3d9; then
3257 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
3258 - eerror "cannot be used to set the commit. Instead, you may use the"
3259 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
3260 - eerror
3261 - return 1
3262 - fi
3263 - fi
3264 - if [[ ! -z ${EGIT_COMMIT} ]]; then
3265 - eerror "Commits must now be specified using the environmental variables"
3266 - eerror "WINE_COMMIT, and D3D9_COMMIT"
3267 - eerror
3268 - return 1
3269 - fi
3270 -}
3271 -
3272 -pkg_pretend() {
3273 - wine_build_environment_check || die
3274 -
3275 - # Verify OSS support
3276 - if use oss && ! use kernel_FreeBSD; then
3277 - if ! has_version ">=media-sound/oss-4"; then
3278 - eerror "You cannot build wine with USE=oss without having support from a"
3279 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3280 - eerror
3281 - die
3282 - fi
3283 - fi
3284 -}
3285 -
3286 -pkg_setup() {
3287 - wine_build_environment_check || die
3288 - wine_env_vcs_vars || die
3289 -
3290 - WINE_VARIANT="${PN#wine}-${PV}"
3291 - WINE_VARIANT="${WINE_VARIANT#-}"
3292 -
3293 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
3294 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
3295 - MY_DATADIR="${MY_DATAROOTDIR}"
3296 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
3297 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
3298 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
3299 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
3300 - MY_MANDIR="${MY_DATADIR}/man"
3301 -}
3302 -
3303 -src_unpack() {
3304 - if [[ ${PV} == "9999" ]] ; then
3305 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
3306 - if use d3d9; then
3307 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
3308 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
3309 - fi
3310 - fi
3311 -
3312 - default
3313 -
3314 - l10n_find_plocales_changes "${S}/po" "" ".po"
3315 -}
3316 -
3317 -src_prepare() {
3318 -
3319 - eapply_bin(){
3320 - local patch
3321 - for patch in ${PATCHES_BIN[@]}; do
3322 - patchbin --nogit < "${patch}" || die
3323 - done
3324 - }
3325 -
3326 - local md5="$(md5sum server/protocol.def)"
3327 -
3328 - if use d3d9; then
3329 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
3330 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
3331 - fi
3332 -
3333 - default
3334 - eapply_bin
3335 - eautoreconf
3336 -
3337 - # Modification of the server protocol requires regenerating the server requests
3338 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
3339 - einfo "server/protocol.def was patched; running tools/make_requests"
3340 - tools/make_requests || die #432348
3341 - fi
3342 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
3343 - if ! use run-exes; then
3344 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
3345 - fi
3346 -
3347 - # Edit wine.desktop to work for specific variant
3348 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
3349 -
3350 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
3351 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
3352 -
3353 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
3354 -}
3355 -
3356 -src_configure() {
3357 - wine_compiler_check || die
3358 -
3359 - export LDCONFIG=/bin/true
3360 - use custom-cflags || strip-flags
3361 -
3362 - multilib-minimal_src_configure
3363 -}
3364 -
3365 -multilib_src_configure() {
3366 - local myconf=(
3367 - --prefix="${MY_PREFIX}"
3368 - --datarootdir="${MY_DATAROOTDIR}"
3369 - --datadir="${MY_DATADIR}"
3370 - --docdir="${MY_DOCDIR}"
3371 - --includedir="${MY_INCLUDEDIR}"
3372 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
3373 - --libexecdir="${MY_LIBEXECDIR}"
3374 - --localstatedir="${MY_LOCALSTATEDIR}"
3375 - --mandir="${MY_MANDIR}"
3376 - --sysconfdir=/etc/wine
3377 - $(use_with alsa)
3378 - $(use_with capi)
3379 - $(use_with lcms cms)
3380 - $(use_with cups)
3381 - $(use_with ncurses curses)
3382 - $(use_with udisks dbus)
3383 - $(use_with fontconfig)
3384 - $(use_with ssl gnutls)
3385 - $(use_enable gecko mshtml)
3386 - $(use_with gphoto2 gphoto)
3387 - $(use_with gsm)
3388 - $(use_with gstreamer)
3389 - --without-hal
3390 - $(use_with jpeg)
3391 - $(use_with ldap)
3392 - $(use_enable mono mscoree)
3393 - $(use_with mp3 mpg123)
3394 - $(use_with netapi)
3395 - $(use_with nls gettext)
3396 - $(use_with openal)
3397 - $(use_with opencl)
3398 - $(use_with opengl)
3399 - $(use_with osmesa)
3400 - $(use_with oss)
3401 - $(use_with pcap)
3402 - $(use_with png)
3403 - $(use_with pulseaudio pulse)
3404 - $(use_with threads pthread)
3405 - $(use_with scanner sane)
3406 - $(use_enable test tests)
3407 - $(use_with truetype freetype)
3408 - $(use_with udev)
3409 - $(use_with v4l)
3410 - $(use_with X x)
3411 - $(use_with X xfixes)
3412 - $(use_with xcomposite)
3413 - $(use_with xinerama)
3414 - $(use_with xml)
3415 - $(use_with xml xslt)
3416 - )
3417 -
3418 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
3419 -
3420 - local PKG_CONFIG AR RANLIB
3421 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
3422 - # set AR and RANLIB to make QA scripts happy; #483342
3423 - tc-export PKG_CONFIG AR RANLIB
3424 -
3425 - if use amd64; then
3426 - if [[ ${ABI} == amd64 ]]; then
3427 - myconf+=( --enable-win64 )
3428 - else
3429 - myconf+=( --disable-win64 )
3430 - fi
3431 -
3432 - # Note: using --with-wine64 results in problems with multilib.eclass
3433 - # CC/LD hackery. We're using separate tools instead.
3434 - fi
3435 -
3436 - ECONF_SOURCE=${S} \
3437 - econf "${myconf[@]}"
3438 - emake depend
3439 -}
3440 -
3441 -multilib_src_test() {
3442 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
3443 - if [[ ${ABI} == x86 ]]; then
3444 - if [[ $(id -u) == 0 ]]; then
3445 - ewarn "Skipping tests since they cannot be run under the root user."
3446 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
3447 - return
3448 - fi
3449 -
3450 - WINEPREFIX="${T}/.wine-${ABI}" \
3451 - Xemake test
3452 - fi
3453 -}
3454 -
3455 -multilib_src_install_all() {
3456 - local DOCS=( ANNOUNCE AUTHORS README )
3457 - add_locale_docs() {
3458 - local locale_doc="documentation/README.$1"
3459 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
3460 - }
3461 - l10n_for_each_locale_do add_locale_docs
3462 -
3463 - einstalldocs
3464 - prune_libtool_files --all
3465 -
3466 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
3467 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
3468 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
3469 - fi
3470 -
3471 - # Remove wineconsole if neither backend is installed #551124
3472 - if ! use X && ! use ncurses; then
3473 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
3474 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
3475 - rm_wineconsole() {
3476 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
3477 - }
3478 - multilib_foreach_abi rm_wineconsole
3479 - fi
3480 -
3481 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
3482 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
3483 -
3484 - if use abi_x86_64 && ! use abi_x86_32; then
3485 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
3486 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
3487 - fi
3488 -
3489 - # Failglob for bin and man loops
3490 - local glob_state=$(shopt -p failglob)
3491 - shopt -s failglob
3492 -
3493 - # Make wrappers for binaries for handling multiple variants
3494 - # Note: wrappers instead of symlinks because some are shell which use basename
3495 - local b
3496 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
3497 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
3498 - done
3499 -
3500 - # respect LINGUAS when installing man pages, #469418
3501 - local l
3502 - for l in de fr pl; do
3503 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
3504 - done
3505 -
3506 - eval "${glob_state}"
3507 -}
3508 -
3509 -pkg_postinst() {
3510 - eselect wine register ${P}
3511 - if [[ ${PN} == "wine-vanilla" ]]; then
3512 - eselect wine register --vanilla ${P} || die
3513 - else
3514 - if use d3d9; then
3515 - eselect wine register --d3d9 ${P} || die
3516 - fi
3517 - fi
3518 -
3519 - eselect wine update --all --if-unset || die
3520 -
3521 - xdg_desktop_database_update
3522 -
3523 - if ! use gecko; then
3524 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
3525 - ewarn "implementation of iexplore. Many older windows applications"
3526 - ewarn "rely upon the existence of an iexplore implementation, so"
3527 - ewarn "you will likely need to install an external one, like via winetricks"
3528 - fi
3529 - if ! use mono; then
3530 - ewarn "Without Wine Mono, wine prefixes will not have a default"
3531 - ewarn "implementation of .NET. Many windows applications rely upon"
3532 - ewarn "the existence of a .NET implementation, so you will likely need"
3533 - ewarn "to install an external one, like via winetricks"
3534 - fi
3535 -}
3536 -
3537 -pkg_prerm() {
3538 - eselect wine deregister ${P}
3539 - if [[ ${PN} == "wine-vanilla" ]]; then
3540 - eselect wine deregister --vanilla ${P} || die
3541 - else
3542 - if use d3d9; then
3543 - eselect wine deregister --d3d9 ${P} || die
3544 - fi
3545 - fi
3546 -
3547 - eselect wine update --all --if-unset || die
3548 -}
3549 -
3550 -pkg_postrm() {
3551 - xdg_desktop_database_update
3552 -}
3553
3554 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.14-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.14-r1.ebuild
3555 deleted file mode 100644
3556 index c3bf9b8d1e4..00000000000
3557 --- a/app-emulation/wine-d3d9/wine-d3d9-2.14-r1.ebuild
3558 +++ /dev/null
3559 @@ -1,572 +0,0 @@
3560 -# Copyright 1999-2017 Gentoo Foundation
3561 -# Distributed under the terms of the GNU General Public License v2
3562 -
3563 -EAPI=6
3564 -
3565 -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"
3566 -PLOCALE_BACKUP="en"
3567 -
3568 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
3569 -
3570 -MY_PN="${PN%%-*}"
3571 -MY_P="${MY_PN}-${PV}"
3572 -
3573 -if [[ ${PV} == "9999" ]] ; then
3574 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
3575 - EGIT_BRANCH="master"
3576 - inherit git-r3
3577 - SRC_URI=""
3578 - #KEYWORDS=""
3579 -else
3580 - MAJOR_V=$(get_version_component_range 1)
3581 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
3582 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
3583 -fi
3584 -S="${WORKDIR}/${MY_P}"
3585 -
3586 -D3D9_P="wine-d3d9-${PV}"
3587 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
3588 -GWP_V="20170830"
3589 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
3590 -
3591 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
3592 -HOMEPAGE="https://www.winehq.org/"
3593 -SRC_URI="${SRC_URI}
3594 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
3595 -"
3596 -
3597 -if [[ ${PV} == "9999" ]] ; then
3598 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
3599 -else
3600 - SRC_URI="${SRC_URI}
3601 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
3602 -fi
3603 -
3604 -LICENSE="LGPL-2.1"
3605 -SLOT="${PV}"
3606 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
3607 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
3608 - X? ( truetype )
3609 - elibc_glibc? ( threads )
3610 - osmesa? ( opengl )
3611 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
3612 -
3613 -# FIXME: the test suite is unsuitable for us; many tests require net access
3614 -# or fail due to Xvfb's opengl limitations.
3615 -RESTRICT="test"
3616 -
3617 -COMMON_DEPEND="
3618 - X? (
3619 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
3620 - x11-libs/libXext[${MULTILIB_USEDEP}]
3621 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
3622 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
3623 - x11-libs/libXi[${MULTILIB_USEDEP}]
3624 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
3625 - )
3626 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
3627 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
3628 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
3629 - d3d9? (
3630 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
3631 - x11-libs/libX11[${MULTILIB_USEDEP}]
3632 - x11-libs/libXext[${MULTILIB_USEDEP}]
3633 - x11-libs/libxcb[${MULTILIB_USEDEP}]
3634 - )
3635 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
3636 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
3637 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
3638 - gstreamer? (
3639 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
3640 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
3641 - )
3642 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
3643 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
3644 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
3645 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
3646 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
3647 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
3648 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
3649 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
3650 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
3651 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
3652 - opengl? (
3653 - virtual/glu[${MULTILIB_USEDEP}]
3654 - virtual/opengl[${MULTILIB_USEDEP}]
3655 - )
3656 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
3657 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
3658 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
3659 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
3660 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
3661 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
3662 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
3663 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
3664 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
3665 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
3666 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
3667 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
3668 - xml? (
3669 - dev-libs/libxml2[${MULTILIB_USEDEP}]
3670 - dev-libs/libxslt[${MULTILIB_USEDEP}]
3671 - )
3672 - abi_x86_32? (
3673 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
3674 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
3675 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
3676 - !<app-emulation/emul-linux-x86-db-20140508-r3
3677 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
3678 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
3679 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
3680 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
3681 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
3682 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
3683 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
3684 - !<app-emulation/emul-linux-x86-soundlibs-20140508
3685 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
3686 - !<app-emulation/emul-linux-x86-xlibs-20140508
3687 - )"
3688 -
3689 -RDEPEND="${COMMON_DEPEND}
3690 - app-emulation/wine-desktop-common
3691 - >app-eselect/eselect-wine-0.3
3692 - !app-emulation/wine:0
3693 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
3694 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
3695 - mono? ( app-emulation/wine-mono:4.7.1 )
3696 - perl? (
3697 - dev-lang/perl
3698 - dev-perl/XML-Simple
3699 - )
3700 - pulseaudio? (
3701 - realtime? ( sys-auth/rtkit )
3702 - )
3703 - samba? ( >=net-fs/samba-3.0.25[winbind] )
3704 - selinux? ( sec-policy/selinux-wine )
3705 - udisks? ( sys-fs/udisks:2 )"
3706 -
3707 -# tools/make_requests requires perl
3708 -DEPEND="${COMMON_DEPEND}
3709 - sys-devel/flex
3710 - >=sys-kernel/linux-headers-2.6
3711 - virtual/pkgconfig
3712 - virtual/yacc
3713 - X? (
3714 - x11-proto/inputproto
3715 - x11-proto/xextproto
3716 - x11-proto/xf86vidmodeproto
3717 - )
3718 - prelink? ( sys-devel/prelink )
3719 - xinerama? ( x11-proto/xineramaproto )"
3720 -
3721 -# These use a non-standard "Wine" category, which is provided by
3722 -# /etc/xdg/applications-merged/wine.menu
3723 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
3724 -usr/share/applications/wine-notepad.desktop
3725 -usr/share/applications/wine-uninstaller.desktop
3726 -usr/share/applications/wine-winecfg.desktop"
3727 -
3728 -PATCHES=(
3729 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
3730 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
3731 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
3732 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
3733 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
3734 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
3735 -)
3736 -PATCHES_BIN=(
3737 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
3738 -)
3739 -
3740 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
3741 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
3742 - DEPEND+=" dev-util/patchbin"
3743 -fi
3744 -
3745 -wine_compiler_check() {
3746 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3747 -
3748 - # GCC-specific bugs
3749 - if tc-is-gcc; then
3750 - # bug #549768
3751 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
3752 - ebegin "Checking for gcc-5 ms_abi compiler bug"
3753 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
3754 - # Run in subshell to prevent "Aborted" message
3755 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
3756 - if ! eend $?; then
3757 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
3758 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
3759 - eerror "or use gcc-config to select a different compiler version."
3760 - eerror "See https://bugs.gentoo.org/549768"
3761 - eerror
3762 - return 1
3763 - fi
3764 - fi
3765 - # bug #574044
3766 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
3767 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
3768 - # Compile in subshell to prevent "Aborted" message
3769 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
3770 - if ! eend $?; then
3771 - eerror "Wine cannot be built with this version of gcc-5.3"
3772 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
3773 - eerror "or use gcc-config to select a different compiler version."
3774 - eerror "See https://bugs.gentoo.org/574044"
3775 - eerror
3776 - return 1
3777 - fi
3778 - fi
3779 - fi
3780 -
3781 - # Ensure compiler support
3782 - if use abi_x86_64; then
3783 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
3784 - # Compile in subshell to prevent "Aborted" message
3785 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
3786 - if ! eend $?; then
3787 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
3788 - eerror
3789 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
3790 - eerror
3791 - return 1
3792 - fi
3793 - fi
3794 -}
3795 -
3796 -wine_build_environment_check() {
3797 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
3798 -
3799 - if use abi_x86_64; then
3800 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
3801 - eerror "You need gcc-4.4+ to compile 64-bit wine"
3802 - die
3803 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
3804 - eerror "You need clang-3.8+ to compile 64-bit wine"
3805 - die
3806 - fi
3807 - fi
3808 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
3809 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
3810 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
3811 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
3812 - fi
3813 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
3814 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
3815 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
3816 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
3817 - ewarn "See package.env in man 5 portage for more information on how to do this."
3818 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
3819 - fi
3820 - fi
3821 -
3822 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
3823 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
3824 - eerror "See https://bugs.gentoo.org/487864 for more details."
3825 - eerror
3826 - return 1
3827 - fi
3828 -}
3829 -
3830 -wine_env_vcs_vars() {
3831 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
3832 - local pn_live_val="${pn_live_var}"
3833 - eval pn_live_val='$'${pn_live_val}
3834 - if [[ ! -z ${pn_live_val} ]]; then
3835 - if use d3d9; then
3836 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
3837 - eerror "cannot be used to set the commit. Instead, you may use the"
3838 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
3839 - eerror
3840 - return 1
3841 - fi
3842 - fi
3843 - if [[ ! -z ${EGIT_COMMIT} ]]; then
3844 - eerror "Commits must now be specified using the environmental variables"
3845 - eerror "WINE_COMMIT, and D3D9_COMMIT"
3846 - eerror
3847 - return 1
3848 - fi
3849 -}
3850 -
3851 -pkg_pretend() {
3852 - wine_build_environment_check || die
3853 -
3854 - # Verify OSS support
3855 - if use oss && ! use kernel_FreeBSD; then
3856 - if ! has_version ">=media-sound/oss-4"; then
3857 - eerror "You cannot build wine with USE=oss without having support from a"
3858 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
3859 - eerror
3860 - die
3861 - fi
3862 - fi
3863 -}
3864 -
3865 -pkg_setup() {
3866 - wine_build_environment_check || die
3867 - wine_env_vcs_vars || die
3868 -
3869 - WINE_VARIANT="${PN#wine}-${PV}"
3870 - WINE_VARIANT="${WINE_VARIANT#-}"
3871 -
3872 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
3873 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
3874 - MY_DATADIR="${MY_DATAROOTDIR}"
3875 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
3876 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
3877 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
3878 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
3879 - MY_MANDIR="${MY_DATADIR}/man"
3880 -}
3881 -
3882 -src_unpack() {
3883 - if [[ ${PV} == "9999" ]] ; then
3884 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
3885 - if use d3d9; then
3886 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
3887 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
3888 - fi
3889 - fi
3890 -
3891 - default
3892 -
3893 - l10n_find_plocales_changes "${S}/po" "" ".po"
3894 -}
3895 -
3896 -src_prepare() {
3897 -
3898 - eapply_bin(){
3899 - local patch
3900 - for patch in ${PATCHES_BIN[@]}; do
3901 - patchbin --nogit < "${patch}" || die
3902 - done
3903 - }
3904 -
3905 - local md5="$(md5sum server/protocol.def)"
3906 -
3907 - if use d3d9; then
3908 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
3909 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
3910 - fi
3911 -
3912 - default
3913 - eapply_bin
3914 - eautoreconf
3915 -
3916 - # Modification of the server protocol requires regenerating the server requests
3917 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
3918 - einfo "server/protocol.def was patched; running tools/make_requests"
3919 - tools/make_requests || die #432348
3920 - fi
3921 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
3922 - if ! use run-exes; then
3923 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
3924 - fi
3925 -
3926 - # Edit wine.desktop to work for specific variant
3927 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
3928 -
3929 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
3930 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
3931 -
3932 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
3933 -}
3934 -
3935 -src_configure() {
3936 - wine_compiler_check || die
3937 -
3938 - export LDCONFIG=/bin/true
3939 - use custom-cflags || strip-flags
3940 -
3941 - multilib-minimal_src_configure
3942 -}
3943 -
3944 -multilib_src_configure() {
3945 - local myconf=(
3946 - --prefix="${MY_PREFIX}"
3947 - --datarootdir="${MY_DATAROOTDIR}"
3948 - --datadir="${MY_DATADIR}"
3949 - --docdir="${MY_DOCDIR}"
3950 - --includedir="${MY_INCLUDEDIR}"
3951 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
3952 - --libexecdir="${MY_LIBEXECDIR}"
3953 - --localstatedir="${MY_LOCALSTATEDIR}"
3954 - --mandir="${MY_MANDIR}"
3955 - --sysconfdir=/etc/wine
3956 - $(use_with alsa)
3957 - $(use_with capi)
3958 - $(use_with lcms cms)
3959 - $(use_with cups)
3960 - $(use_with ncurses curses)
3961 - $(use_with udisks dbus)
3962 - $(use_with fontconfig)
3963 - $(use_with ssl gnutls)
3964 - $(use_enable gecko mshtml)
3965 - $(use_with gphoto2 gphoto)
3966 - $(use_with gsm)
3967 - $(use_with gstreamer)
3968 - --without-hal
3969 - $(use_with jpeg)
3970 - $(use_with ldap)
3971 - $(use_enable mono mscoree)
3972 - $(use_with mp3 mpg123)
3973 - $(use_with netapi)
3974 - $(use_with nls gettext)
3975 - $(use_with openal)
3976 - $(use_with opencl)
3977 - $(use_with opengl)
3978 - $(use_with osmesa)
3979 - $(use_with oss)
3980 - $(use_with pcap)
3981 - $(use_with png)
3982 - $(use_with pulseaudio pulse)
3983 - $(use_with threads pthread)
3984 - $(use_with scanner sane)
3985 - $(use_enable test tests)
3986 - $(use_with truetype freetype)
3987 - $(use_with udev)
3988 - $(use_with v4l)
3989 - $(use_with X x)
3990 - $(use_with X xfixes)
3991 - $(use_with xcomposite)
3992 - $(use_with xinerama)
3993 - $(use_with xml)
3994 - $(use_with xml xslt)
3995 - )
3996 -
3997 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
3998 -
3999 - local PKG_CONFIG AR RANLIB
4000 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
4001 - # set AR and RANLIB to make QA scripts happy; #483342
4002 - tc-export PKG_CONFIG AR RANLIB
4003 -
4004 - if use amd64; then
4005 - if [[ ${ABI} == amd64 ]]; then
4006 - myconf+=( --enable-win64 )
4007 - else
4008 - myconf+=( --disable-win64 )
4009 - fi
4010 -
4011 - # Note: using --with-wine64 results in problems with multilib.eclass
4012 - # CC/LD hackery. We're using separate tools instead.
4013 - fi
4014 -
4015 - ECONF_SOURCE=${S} \
4016 - econf "${myconf[@]}"
4017 - emake depend
4018 -}
4019 -
4020 -multilib_src_test() {
4021 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
4022 - if [[ ${ABI} == x86 ]]; then
4023 - if [[ $(id -u) == 0 ]]; then
4024 - ewarn "Skipping tests since they cannot be run under the root user."
4025 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
4026 - return
4027 - fi
4028 -
4029 - WINEPREFIX="${T}/.wine-${ABI}" \
4030 - Xemake test
4031 - fi
4032 -}
4033 -
4034 -multilib_src_install_all() {
4035 - local DOCS=( ANNOUNCE AUTHORS README )
4036 - add_locale_docs() {
4037 - local locale_doc="documentation/README.$1"
4038 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
4039 - }
4040 - l10n_for_each_locale_do add_locale_docs
4041 -
4042 - einstalldocs
4043 - prune_libtool_files --all
4044 -
4045 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
4046 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
4047 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
4048 - fi
4049 -
4050 - # Remove wineconsole if neither backend is installed #551124
4051 - if ! use X && ! use ncurses; then
4052 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
4053 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
4054 - rm_wineconsole() {
4055 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
4056 - }
4057 - multilib_foreach_abi rm_wineconsole
4058 - fi
4059 -
4060 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
4061 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
4062 -
4063 - if use abi_x86_64 && ! use abi_x86_32; then
4064 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
4065 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
4066 - fi
4067 -
4068 - # Failglob for bin and man loops
4069 - local glob_state=$(shopt -p failglob)
4070 - shopt -s failglob
4071 -
4072 - # Make wrappers for binaries for handling multiple variants
4073 - # Note: wrappers instead of symlinks because some are shell which use basename
4074 - local b
4075 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
4076 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
4077 - done
4078 -
4079 - # respect LINGUAS when installing man pages, #469418
4080 - local l
4081 - for l in de fr pl; do
4082 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
4083 - done
4084 -
4085 - eval "${glob_state}"
4086 -}
4087 -
4088 -pkg_postinst() {
4089 - eselect wine register ${P}
4090 - if [[ ${PN} == "wine-vanilla" ]]; then
4091 - eselect wine register --vanilla ${P} || die
4092 - else
4093 - if use d3d9; then
4094 - eselect wine register --d3d9 ${P} || die
4095 - fi
4096 - fi
4097 -
4098 - eselect wine update --all --if-unset || die
4099 -
4100 - xdg_desktop_database_update
4101 -
4102 - if ! use gecko; then
4103 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
4104 - ewarn "implementation of iexplore. Many older windows applications"
4105 - ewarn "rely upon the existence of an iexplore implementation, so"
4106 - ewarn "you will likely need to install an external one, like via winetricks"
4107 - fi
4108 - if ! use mono; then
4109 - ewarn "Without Wine Mono, wine prefixes will not have a default"
4110 - ewarn "implementation of .NET. Many windows applications rely upon"
4111 - ewarn "the existence of a .NET implementation, so you will likely need"
4112 - ewarn "to install an external one, like via winetricks"
4113 - fi
4114 -}
4115 -
4116 -pkg_prerm() {
4117 - eselect wine deregister ${P}
4118 - if [[ ${PN} == "wine-vanilla" ]]; then
4119 - eselect wine deregister --vanilla ${P} || die
4120 - else
4121 - if use d3d9; then
4122 - eselect wine deregister --d3d9 ${P} || die
4123 - fi
4124 - fi
4125 -
4126 - eselect wine update --all --if-unset || die
4127 -}
4128 -
4129 -pkg_postrm() {
4130 - xdg_desktop_database_update
4131 -}
4132
4133 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.15-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.15-r1.ebuild
4134 deleted file mode 100644
4135 index c3bf9b8d1e4..00000000000
4136 --- a/app-emulation/wine-d3d9/wine-d3d9-2.15-r1.ebuild
4137 +++ /dev/null
4138 @@ -1,572 +0,0 @@
4139 -# Copyright 1999-2017 Gentoo Foundation
4140 -# Distributed under the terms of the GNU General Public License v2
4141 -
4142 -EAPI=6
4143 -
4144 -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"
4145 -PLOCALE_BACKUP="en"
4146 -
4147 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
4148 -
4149 -MY_PN="${PN%%-*}"
4150 -MY_P="${MY_PN}-${PV}"
4151 -
4152 -if [[ ${PV} == "9999" ]] ; then
4153 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
4154 - EGIT_BRANCH="master"
4155 - inherit git-r3
4156 - SRC_URI=""
4157 - #KEYWORDS=""
4158 -else
4159 - MAJOR_V=$(get_version_component_range 1)
4160 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
4161 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
4162 -fi
4163 -S="${WORKDIR}/${MY_P}"
4164 -
4165 -D3D9_P="wine-d3d9-${PV}"
4166 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
4167 -GWP_V="20170830"
4168 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
4169 -
4170 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
4171 -HOMEPAGE="https://www.winehq.org/"
4172 -SRC_URI="${SRC_URI}
4173 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
4174 -"
4175 -
4176 -if [[ ${PV} == "9999" ]] ; then
4177 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
4178 -else
4179 - SRC_URI="${SRC_URI}
4180 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
4181 -fi
4182 -
4183 -LICENSE="LGPL-2.1"
4184 -SLOT="${PV}"
4185 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
4186 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
4187 - X? ( truetype )
4188 - elibc_glibc? ( threads )
4189 - osmesa? ( opengl )
4190 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
4191 -
4192 -# FIXME: the test suite is unsuitable for us; many tests require net access
4193 -# or fail due to Xvfb's opengl limitations.
4194 -RESTRICT="test"
4195 -
4196 -COMMON_DEPEND="
4197 - X? (
4198 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
4199 - x11-libs/libXext[${MULTILIB_USEDEP}]
4200 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
4201 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
4202 - x11-libs/libXi[${MULTILIB_USEDEP}]
4203 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
4204 - )
4205 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
4206 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
4207 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
4208 - d3d9? (
4209 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
4210 - x11-libs/libX11[${MULTILIB_USEDEP}]
4211 - x11-libs/libXext[${MULTILIB_USEDEP}]
4212 - x11-libs/libxcb[${MULTILIB_USEDEP}]
4213 - )
4214 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
4215 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
4216 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
4217 - gstreamer? (
4218 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
4219 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
4220 - )
4221 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
4222 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
4223 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
4224 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
4225 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
4226 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
4227 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
4228 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
4229 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
4230 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
4231 - opengl? (
4232 - virtual/glu[${MULTILIB_USEDEP}]
4233 - virtual/opengl[${MULTILIB_USEDEP}]
4234 - )
4235 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
4236 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
4237 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4238 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
4239 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
4240 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
4241 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
4242 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
4243 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
4244 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
4245 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
4246 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
4247 - xml? (
4248 - dev-libs/libxml2[${MULTILIB_USEDEP}]
4249 - dev-libs/libxslt[${MULTILIB_USEDEP}]
4250 - )
4251 - abi_x86_32? (
4252 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
4253 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
4254 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
4255 - !<app-emulation/emul-linux-x86-db-20140508-r3
4256 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
4257 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
4258 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
4259 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
4260 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
4261 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
4262 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
4263 - !<app-emulation/emul-linux-x86-soundlibs-20140508
4264 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
4265 - !<app-emulation/emul-linux-x86-xlibs-20140508
4266 - )"
4267 -
4268 -RDEPEND="${COMMON_DEPEND}
4269 - app-emulation/wine-desktop-common
4270 - >app-eselect/eselect-wine-0.3
4271 - !app-emulation/wine:0
4272 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
4273 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
4274 - mono? ( app-emulation/wine-mono:4.7.1 )
4275 - perl? (
4276 - dev-lang/perl
4277 - dev-perl/XML-Simple
4278 - )
4279 - pulseaudio? (
4280 - realtime? ( sys-auth/rtkit )
4281 - )
4282 - samba? ( >=net-fs/samba-3.0.25[winbind] )
4283 - selinux? ( sec-policy/selinux-wine )
4284 - udisks? ( sys-fs/udisks:2 )"
4285 -
4286 -# tools/make_requests requires perl
4287 -DEPEND="${COMMON_DEPEND}
4288 - sys-devel/flex
4289 - >=sys-kernel/linux-headers-2.6
4290 - virtual/pkgconfig
4291 - virtual/yacc
4292 - X? (
4293 - x11-proto/inputproto
4294 - x11-proto/xextproto
4295 - x11-proto/xf86vidmodeproto
4296 - )
4297 - prelink? ( sys-devel/prelink )
4298 - xinerama? ( x11-proto/xineramaproto )"
4299 -
4300 -# These use a non-standard "Wine" category, which is provided by
4301 -# /etc/xdg/applications-merged/wine.menu
4302 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
4303 -usr/share/applications/wine-notepad.desktop
4304 -usr/share/applications/wine-uninstaller.desktop
4305 -usr/share/applications/wine-winecfg.desktop"
4306 -
4307 -PATCHES=(
4308 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
4309 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
4310 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
4311 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
4312 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
4313 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
4314 -)
4315 -PATCHES_BIN=(
4316 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
4317 -)
4318 -
4319 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
4320 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
4321 - DEPEND+=" dev-util/patchbin"
4322 -fi
4323 -
4324 -wine_compiler_check() {
4325 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4326 -
4327 - # GCC-specific bugs
4328 - if tc-is-gcc; then
4329 - # bug #549768
4330 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
4331 - ebegin "Checking for gcc-5 ms_abi compiler bug"
4332 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
4333 - # Run in subshell to prevent "Aborted" message
4334 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
4335 - if ! eend $?; then
4336 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
4337 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
4338 - eerror "or use gcc-config to select a different compiler version."
4339 - eerror "See https://bugs.gentoo.org/549768"
4340 - eerror
4341 - return 1
4342 - fi
4343 - fi
4344 - # bug #574044
4345 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
4346 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
4347 - # Compile in subshell to prevent "Aborted" message
4348 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
4349 - if ! eend $?; then
4350 - eerror "Wine cannot be built with this version of gcc-5.3"
4351 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
4352 - eerror "or use gcc-config to select a different compiler version."
4353 - eerror "See https://bugs.gentoo.org/574044"
4354 - eerror
4355 - return 1
4356 - fi
4357 - fi
4358 - fi
4359 -
4360 - # Ensure compiler support
4361 - if use abi_x86_64; then
4362 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
4363 - # Compile in subshell to prevent "Aborted" message
4364 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
4365 - if ! eend $?; then
4366 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
4367 - eerror
4368 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
4369 - eerror
4370 - return 1
4371 - fi
4372 - fi
4373 -}
4374 -
4375 -wine_build_environment_check() {
4376 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4377 -
4378 - if use abi_x86_64; then
4379 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
4380 - eerror "You need gcc-4.4+ to compile 64-bit wine"
4381 - die
4382 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
4383 - eerror "You need clang-3.8+ to compile 64-bit wine"
4384 - die
4385 - fi
4386 - fi
4387 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
4388 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
4389 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
4390 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
4391 - fi
4392 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
4393 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
4394 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
4395 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
4396 - ewarn "See package.env in man 5 portage for more information on how to do this."
4397 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
4398 - fi
4399 - fi
4400 -
4401 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
4402 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
4403 - eerror "See https://bugs.gentoo.org/487864 for more details."
4404 - eerror
4405 - return 1
4406 - fi
4407 -}
4408 -
4409 -wine_env_vcs_vars() {
4410 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
4411 - local pn_live_val="${pn_live_var}"
4412 - eval pn_live_val='$'${pn_live_val}
4413 - if [[ ! -z ${pn_live_val} ]]; then
4414 - if use d3d9; then
4415 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
4416 - eerror "cannot be used to set the commit. Instead, you may use the"
4417 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
4418 - eerror
4419 - return 1
4420 - fi
4421 - fi
4422 - if [[ ! -z ${EGIT_COMMIT} ]]; then
4423 - eerror "Commits must now be specified using the environmental variables"
4424 - eerror "WINE_COMMIT, and D3D9_COMMIT"
4425 - eerror
4426 - return 1
4427 - fi
4428 -}
4429 -
4430 -pkg_pretend() {
4431 - wine_build_environment_check || die
4432 -
4433 - # Verify OSS support
4434 - if use oss && ! use kernel_FreeBSD; then
4435 - if ! has_version ">=media-sound/oss-4"; then
4436 - eerror "You cannot build wine with USE=oss without having support from a"
4437 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
4438 - eerror
4439 - die
4440 - fi
4441 - fi
4442 -}
4443 -
4444 -pkg_setup() {
4445 - wine_build_environment_check || die
4446 - wine_env_vcs_vars || die
4447 -
4448 - WINE_VARIANT="${PN#wine}-${PV}"
4449 - WINE_VARIANT="${WINE_VARIANT#-}"
4450 -
4451 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
4452 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
4453 - MY_DATADIR="${MY_DATAROOTDIR}"
4454 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
4455 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
4456 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
4457 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
4458 - MY_MANDIR="${MY_DATADIR}/man"
4459 -}
4460 -
4461 -src_unpack() {
4462 - if [[ ${PV} == "9999" ]] ; then
4463 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
4464 - if use d3d9; then
4465 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
4466 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
4467 - fi
4468 - fi
4469 -
4470 - default
4471 -
4472 - l10n_find_plocales_changes "${S}/po" "" ".po"
4473 -}
4474 -
4475 -src_prepare() {
4476 -
4477 - eapply_bin(){
4478 - local patch
4479 - for patch in ${PATCHES_BIN[@]}; do
4480 - patchbin --nogit < "${patch}" || die
4481 - done
4482 - }
4483 -
4484 - local md5="$(md5sum server/protocol.def)"
4485 -
4486 - if use d3d9; then
4487 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
4488 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
4489 - fi
4490 -
4491 - default
4492 - eapply_bin
4493 - eautoreconf
4494 -
4495 - # Modification of the server protocol requires regenerating the server requests
4496 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
4497 - einfo "server/protocol.def was patched; running tools/make_requests"
4498 - tools/make_requests || die #432348
4499 - fi
4500 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
4501 - if ! use run-exes; then
4502 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
4503 - fi
4504 -
4505 - # Edit wine.desktop to work for specific variant
4506 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
4507 -
4508 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
4509 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
4510 -
4511 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
4512 -}
4513 -
4514 -src_configure() {
4515 - wine_compiler_check || die
4516 -
4517 - export LDCONFIG=/bin/true
4518 - use custom-cflags || strip-flags
4519 -
4520 - multilib-minimal_src_configure
4521 -}
4522 -
4523 -multilib_src_configure() {
4524 - local myconf=(
4525 - --prefix="${MY_PREFIX}"
4526 - --datarootdir="${MY_DATAROOTDIR}"
4527 - --datadir="${MY_DATADIR}"
4528 - --docdir="${MY_DOCDIR}"
4529 - --includedir="${MY_INCLUDEDIR}"
4530 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
4531 - --libexecdir="${MY_LIBEXECDIR}"
4532 - --localstatedir="${MY_LOCALSTATEDIR}"
4533 - --mandir="${MY_MANDIR}"
4534 - --sysconfdir=/etc/wine
4535 - $(use_with alsa)
4536 - $(use_with capi)
4537 - $(use_with lcms cms)
4538 - $(use_with cups)
4539 - $(use_with ncurses curses)
4540 - $(use_with udisks dbus)
4541 - $(use_with fontconfig)
4542 - $(use_with ssl gnutls)
4543 - $(use_enable gecko mshtml)
4544 - $(use_with gphoto2 gphoto)
4545 - $(use_with gsm)
4546 - $(use_with gstreamer)
4547 - --without-hal
4548 - $(use_with jpeg)
4549 - $(use_with ldap)
4550 - $(use_enable mono mscoree)
4551 - $(use_with mp3 mpg123)
4552 - $(use_with netapi)
4553 - $(use_with nls gettext)
4554 - $(use_with openal)
4555 - $(use_with opencl)
4556 - $(use_with opengl)
4557 - $(use_with osmesa)
4558 - $(use_with oss)
4559 - $(use_with pcap)
4560 - $(use_with png)
4561 - $(use_with pulseaudio pulse)
4562 - $(use_with threads pthread)
4563 - $(use_with scanner sane)
4564 - $(use_enable test tests)
4565 - $(use_with truetype freetype)
4566 - $(use_with udev)
4567 - $(use_with v4l)
4568 - $(use_with X x)
4569 - $(use_with X xfixes)
4570 - $(use_with xcomposite)
4571 - $(use_with xinerama)
4572 - $(use_with xml)
4573 - $(use_with xml xslt)
4574 - )
4575 -
4576 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
4577 -
4578 - local PKG_CONFIG AR RANLIB
4579 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
4580 - # set AR and RANLIB to make QA scripts happy; #483342
4581 - tc-export PKG_CONFIG AR RANLIB
4582 -
4583 - if use amd64; then
4584 - if [[ ${ABI} == amd64 ]]; then
4585 - myconf+=( --enable-win64 )
4586 - else
4587 - myconf+=( --disable-win64 )
4588 - fi
4589 -
4590 - # Note: using --with-wine64 results in problems with multilib.eclass
4591 - # CC/LD hackery. We're using separate tools instead.
4592 - fi
4593 -
4594 - ECONF_SOURCE=${S} \
4595 - econf "${myconf[@]}"
4596 - emake depend
4597 -}
4598 -
4599 -multilib_src_test() {
4600 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
4601 - if [[ ${ABI} == x86 ]]; then
4602 - if [[ $(id -u) == 0 ]]; then
4603 - ewarn "Skipping tests since they cannot be run under the root user."
4604 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
4605 - return
4606 - fi
4607 -
4608 - WINEPREFIX="${T}/.wine-${ABI}" \
4609 - Xemake test
4610 - fi
4611 -}
4612 -
4613 -multilib_src_install_all() {
4614 - local DOCS=( ANNOUNCE AUTHORS README )
4615 - add_locale_docs() {
4616 - local locale_doc="documentation/README.$1"
4617 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
4618 - }
4619 - l10n_for_each_locale_do add_locale_docs
4620 -
4621 - einstalldocs
4622 - prune_libtool_files --all
4623 -
4624 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
4625 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
4626 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
4627 - fi
4628 -
4629 - # Remove wineconsole if neither backend is installed #551124
4630 - if ! use X && ! use ncurses; then
4631 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
4632 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
4633 - rm_wineconsole() {
4634 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
4635 - }
4636 - multilib_foreach_abi rm_wineconsole
4637 - fi
4638 -
4639 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
4640 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
4641 -
4642 - if use abi_x86_64 && ! use abi_x86_32; then
4643 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
4644 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
4645 - fi
4646 -
4647 - # Failglob for bin and man loops
4648 - local glob_state=$(shopt -p failglob)
4649 - shopt -s failglob
4650 -
4651 - # Make wrappers for binaries for handling multiple variants
4652 - # Note: wrappers instead of symlinks because some are shell which use basename
4653 - local b
4654 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
4655 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
4656 - done
4657 -
4658 - # respect LINGUAS when installing man pages, #469418
4659 - local l
4660 - for l in de fr pl; do
4661 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
4662 - done
4663 -
4664 - eval "${glob_state}"
4665 -}
4666 -
4667 -pkg_postinst() {
4668 - eselect wine register ${P}
4669 - if [[ ${PN} == "wine-vanilla" ]]; then
4670 - eselect wine register --vanilla ${P} || die
4671 - else
4672 - if use d3d9; then
4673 - eselect wine register --d3d9 ${P} || die
4674 - fi
4675 - fi
4676 -
4677 - eselect wine update --all --if-unset || die
4678 -
4679 - xdg_desktop_database_update
4680 -
4681 - if ! use gecko; then
4682 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
4683 - ewarn "implementation of iexplore. Many older windows applications"
4684 - ewarn "rely upon the existence of an iexplore implementation, so"
4685 - ewarn "you will likely need to install an external one, like via winetricks"
4686 - fi
4687 - if ! use mono; then
4688 - ewarn "Without Wine Mono, wine prefixes will not have a default"
4689 - ewarn "implementation of .NET. Many windows applications rely upon"
4690 - ewarn "the existence of a .NET implementation, so you will likely need"
4691 - ewarn "to install an external one, like via winetricks"
4692 - fi
4693 -}
4694 -
4695 -pkg_prerm() {
4696 - eselect wine deregister ${P}
4697 - if [[ ${PN} == "wine-vanilla" ]]; then
4698 - eselect wine deregister --vanilla ${P} || die
4699 - else
4700 - if use d3d9; then
4701 - eselect wine deregister --d3d9 ${P} || die
4702 - fi
4703 - fi
4704 -
4705 - eselect wine update --all --if-unset || die
4706 -}
4707 -
4708 -pkg_postrm() {
4709 - xdg_desktop_database_update
4710 -}
4711
4712 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.16-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.16-r1.ebuild
4713 deleted file mode 100644
4714 index c3bf9b8d1e4..00000000000
4715 --- a/app-emulation/wine-d3d9/wine-d3d9-2.16-r1.ebuild
4716 +++ /dev/null
4717 @@ -1,572 +0,0 @@
4718 -# Copyright 1999-2017 Gentoo Foundation
4719 -# Distributed under the terms of the GNU General Public License v2
4720 -
4721 -EAPI=6
4722 -
4723 -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"
4724 -PLOCALE_BACKUP="en"
4725 -
4726 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
4727 -
4728 -MY_PN="${PN%%-*}"
4729 -MY_P="${MY_PN}-${PV}"
4730 -
4731 -if [[ ${PV} == "9999" ]] ; then
4732 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
4733 - EGIT_BRANCH="master"
4734 - inherit git-r3
4735 - SRC_URI=""
4736 - #KEYWORDS=""
4737 -else
4738 - MAJOR_V=$(get_version_component_range 1)
4739 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
4740 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
4741 -fi
4742 -S="${WORKDIR}/${MY_P}"
4743 -
4744 -D3D9_P="wine-d3d9-${PV}"
4745 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
4746 -GWP_V="20170830"
4747 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
4748 -
4749 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
4750 -HOMEPAGE="https://www.winehq.org/"
4751 -SRC_URI="${SRC_URI}
4752 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
4753 -"
4754 -
4755 -if [[ ${PV} == "9999" ]] ; then
4756 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
4757 -else
4758 - SRC_URI="${SRC_URI}
4759 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
4760 -fi
4761 -
4762 -LICENSE="LGPL-2.1"
4763 -SLOT="${PV}"
4764 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
4765 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
4766 - X? ( truetype )
4767 - elibc_glibc? ( threads )
4768 - osmesa? ( opengl )
4769 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
4770 -
4771 -# FIXME: the test suite is unsuitable for us; many tests require net access
4772 -# or fail due to Xvfb's opengl limitations.
4773 -RESTRICT="test"
4774 -
4775 -COMMON_DEPEND="
4776 - X? (
4777 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
4778 - x11-libs/libXext[${MULTILIB_USEDEP}]
4779 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
4780 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
4781 - x11-libs/libXi[${MULTILIB_USEDEP}]
4782 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
4783 - )
4784 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
4785 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
4786 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
4787 - d3d9? (
4788 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
4789 - x11-libs/libX11[${MULTILIB_USEDEP}]
4790 - x11-libs/libXext[${MULTILIB_USEDEP}]
4791 - x11-libs/libxcb[${MULTILIB_USEDEP}]
4792 - )
4793 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
4794 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
4795 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
4796 - gstreamer? (
4797 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
4798 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
4799 - )
4800 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
4801 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
4802 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
4803 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
4804 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
4805 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
4806 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
4807 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
4808 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
4809 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
4810 - opengl? (
4811 - virtual/glu[${MULTILIB_USEDEP}]
4812 - virtual/opengl[${MULTILIB_USEDEP}]
4813 - )
4814 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
4815 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
4816 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
4817 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
4818 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
4819 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
4820 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
4821 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
4822 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
4823 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
4824 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
4825 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
4826 - xml? (
4827 - dev-libs/libxml2[${MULTILIB_USEDEP}]
4828 - dev-libs/libxslt[${MULTILIB_USEDEP}]
4829 - )
4830 - abi_x86_32? (
4831 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
4832 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
4833 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
4834 - !<app-emulation/emul-linux-x86-db-20140508-r3
4835 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
4836 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
4837 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
4838 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
4839 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
4840 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
4841 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
4842 - !<app-emulation/emul-linux-x86-soundlibs-20140508
4843 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
4844 - !<app-emulation/emul-linux-x86-xlibs-20140508
4845 - )"
4846 -
4847 -RDEPEND="${COMMON_DEPEND}
4848 - app-emulation/wine-desktop-common
4849 - >app-eselect/eselect-wine-0.3
4850 - !app-emulation/wine:0
4851 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
4852 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
4853 - mono? ( app-emulation/wine-mono:4.7.1 )
4854 - perl? (
4855 - dev-lang/perl
4856 - dev-perl/XML-Simple
4857 - )
4858 - pulseaudio? (
4859 - realtime? ( sys-auth/rtkit )
4860 - )
4861 - samba? ( >=net-fs/samba-3.0.25[winbind] )
4862 - selinux? ( sec-policy/selinux-wine )
4863 - udisks? ( sys-fs/udisks:2 )"
4864 -
4865 -# tools/make_requests requires perl
4866 -DEPEND="${COMMON_DEPEND}
4867 - sys-devel/flex
4868 - >=sys-kernel/linux-headers-2.6
4869 - virtual/pkgconfig
4870 - virtual/yacc
4871 - X? (
4872 - x11-proto/inputproto
4873 - x11-proto/xextproto
4874 - x11-proto/xf86vidmodeproto
4875 - )
4876 - prelink? ( sys-devel/prelink )
4877 - xinerama? ( x11-proto/xineramaproto )"
4878 -
4879 -# These use a non-standard "Wine" category, which is provided by
4880 -# /etc/xdg/applications-merged/wine.menu
4881 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
4882 -usr/share/applications/wine-notepad.desktop
4883 -usr/share/applications/wine-uninstaller.desktop
4884 -usr/share/applications/wine-winecfg.desktop"
4885 -
4886 -PATCHES=(
4887 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
4888 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
4889 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
4890 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
4891 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
4892 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
4893 -)
4894 -PATCHES_BIN=(
4895 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
4896 -)
4897 -
4898 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
4899 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
4900 - DEPEND+=" dev-util/patchbin"
4901 -fi
4902 -
4903 -wine_compiler_check() {
4904 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4905 -
4906 - # GCC-specific bugs
4907 - if tc-is-gcc; then
4908 - # bug #549768
4909 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
4910 - ebegin "Checking for gcc-5 ms_abi compiler bug"
4911 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
4912 - # Run in subshell to prevent "Aborted" message
4913 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
4914 - if ! eend $?; then
4915 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
4916 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
4917 - eerror "or use gcc-config to select a different compiler version."
4918 - eerror "See https://bugs.gentoo.org/549768"
4919 - eerror
4920 - return 1
4921 - fi
4922 - fi
4923 - # bug #574044
4924 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
4925 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
4926 - # Compile in subshell to prevent "Aborted" message
4927 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
4928 - if ! eend $?; then
4929 - eerror "Wine cannot be built with this version of gcc-5.3"
4930 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
4931 - eerror "or use gcc-config to select a different compiler version."
4932 - eerror "See https://bugs.gentoo.org/574044"
4933 - eerror
4934 - return 1
4935 - fi
4936 - fi
4937 - fi
4938 -
4939 - # Ensure compiler support
4940 - if use abi_x86_64; then
4941 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
4942 - # Compile in subshell to prevent "Aborted" message
4943 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
4944 - if ! eend $?; then
4945 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
4946 - eerror
4947 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
4948 - eerror
4949 - return 1
4950 - fi
4951 - fi
4952 -}
4953 -
4954 -wine_build_environment_check() {
4955 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
4956 -
4957 - if use abi_x86_64; then
4958 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
4959 - eerror "You need gcc-4.4+ to compile 64-bit wine"
4960 - die
4961 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
4962 - eerror "You need clang-3.8+ to compile 64-bit wine"
4963 - die
4964 - fi
4965 - fi
4966 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
4967 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
4968 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
4969 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
4970 - fi
4971 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
4972 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
4973 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
4974 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
4975 - ewarn "See package.env in man 5 portage for more information on how to do this."
4976 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
4977 - fi
4978 - fi
4979 -
4980 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
4981 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
4982 - eerror "See https://bugs.gentoo.org/487864 for more details."
4983 - eerror
4984 - return 1
4985 - fi
4986 -}
4987 -
4988 -wine_env_vcs_vars() {
4989 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
4990 - local pn_live_val="${pn_live_var}"
4991 - eval pn_live_val='$'${pn_live_val}
4992 - if [[ ! -z ${pn_live_val} ]]; then
4993 - if use d3d9; then
4994 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
4995 - eerror "cannot be used to set the commit. Instead, you may use the"
4996 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
4997 - eerror
4998 - return 1
4999 - fi
5000 - fi
5001 - if [[ ! -z ${EGIT_COMMIT} ]]; then
5002 - eerror "Commits must now be specified using the environmental variables"
5003 - eerror "WINE_COMMIT, and D3D9_COMMIT"
5004 - eerror
5005 - return 1
5006 - fi
5007 -}
5008 -
5009 -pkg_pretend() {
5010 - wine_build_environment_check || die
5011 -
5012 - # Verify OSS support
5013 - if use oss && ! use kernel_FreeBSD; then
5014 - if ! has_version ">=media-sound/oss-4"; then
5015 - eerror "You cannot build wine with USE=oss without having support from a"
5016 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
5017 - eerror
5018 - die
5019 - fi
5020 - fi
5021 -}
5022 -
5023 -pkg_setup() {
5024 - wine_build_environment_check || die
5025 - wine_env_vcs_vars || die
5026 -
5027 - WINE_VARIANT="${PN#wine}-${PV}"
5028 - WINE_VARIANT="${WINE_VARIANT#-}"
5029 -
5030 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
5031 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
5032 - MY_DATADIR="${MY_DATAROOTDIR}"
5033 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
5034 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
5035 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
5036 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
5037 - MY_MANDIR="${MY_DATADIR}/man"
5038 -}
5039 -
5040 -src_unpack() {
5041 - if [[ ${PV} == "9999" ]] ; then
5042 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
5043 - if use d3d9; then
5044 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
5045 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
5046 - fi
5047 - fi
5048 -
5049 - default
5050 -
5051 - l10n_find_plocales_changes "${S}/po" "" ".po"
5052 -}
5053 -
5054 -src_prepare() {
5055 -
5056 - eapply_bin(){
5057 - local patch
5058 - for patch in ${PATCHES_BIN[@]}; do
5059 - patchbin --nogit < "${patch}" || die
5060 - done
5061 - }
5062 -
5063 - local md5="$(md5sum server/protocol.def)"
5064 -
5065 - if use d3d9; then
5066 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
5067 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
5068 - fi
5069 -
5070 - default
5071 - eapply_bin
5072 - eautoreconf
5073 -
5074 - # Modification of the server protocol requires regenerating the server requests
5075 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
5076 - einfo "server/protocol.def was patched; running tools/make_requests"
5077 - tools/make_requests || die #432348
5078 - fi
5079 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
5080 - if ! use run-exes; then
5081 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
5082 - fi
5083 -
5084 - # Edit wine.desktop to work for specific variant
5085 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
5086 -
5087 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
5088 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
5089 -
5090 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
5091 -}
5092 -
5093 -src_configure() {
5094 - wine_compiler_check || die
5095 -
5096 - export LDCONFIG=/bin/true
5097 - use custom-cflags || strip-flags
5098 -
5099 - multilib-minimal_src_configure
5100 -}
5101 -
5102 -multilib_src_configure() {
5103 - local myconf=(
5104 - --prefix="${MY_PREFIX}"
5105 - --datarootdir="${MY_DATAROOTDIR}"
5106 - --datadir="${MY_DATADIR}"
5107 - --docdir="${MY_DOCDIR}"
5108 - --includedir="${MY_INCLUDEDIR}"
5109 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
5110 - --libexecdir="${MY_LIBEXECDIR}"
5111 - --localstatedir="${MY_LOCALSTATEDIR}"
5112 - --mandir="${MY_MANDIR}"
5113 - --sysconfdir=/etc/wine
5114 - $(use_with alsa)
5115 - $(use_with capi)
5116 - $(use_with lcms cms)
5117 - $(use_with cups)
5118 - $(use_with ncurses curses)
5119 - $(use_with udisks dbus)
5120 - $(use_with fontconfig)
5121 - $(use_with ssl gnutls)
5122 - $(use_enable gecko mshtml)
5123 - $(use_with gphoto2 gphoto)
5124 - $(use_with gsm)
5125 - $(use_with gstreamer)
5126 - --without-hal
5127 - $(use_with jpeg)
5128 - $(use_with ldap)
5129 - $(use_enable mono mscoree)
5130 - $(use_with mp3 mpg123)
5131 - $(use_with netapi)
5132 - $(use_with nls gettext)
5133 - $(use_with openal)
5134 - $(use_with opencl)
5135 - $(use_with opengl)
5136 - $(use_with osmesa)
5137 - $(use_with oss)
5138 - $(use_with pcap)
5139 - $(use_with png)
5140 - $(use_with pulseaudio pulse)
5141 - $(use_with threads pthread)
5142 - $(use_with scanner sane)
5143 - $(use_enable test tests)
5144 - $(use_with truetype freetype)
5145 - $(use_with udev)
5146 - $(use_with v4l)
5147 - $(use_with X x)
5148 - $(use_with X xfixes)
5149 - $(use_with xcomposite)
5150 - $(use_with xinerama)
5151 - $(use_with xml)
5152 - $(use_with xml xslt)
5153 - )
5154 -
5155 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
5156 -
5157 - local PKG_CONFIG AR RANLIB
5158 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
5159 - # set AR and RANLIB to make QA scripts happy; #483342
5160 - tc-export PKG_CONFIG AR RANLIB
5161 -
5162 - if use amd64; then
5163 - if [[ ${ABI} == amd64 ]]; then
5164 - myconf+=( --enable-win64 )
5165 - else
5166 - myconf+=( --disable-win64 )
5167 - fi
5168 -
5169 - # Note: using --with-wine64 results in problems with multilib.eclass
5170 - # CC/LD hackery. We're using separate tools instead.
5171 - fi
5172 -
5173 - ECONF_SOURCE=${S} \
5174 - econf "${myconf[@]}"
5175 - emake depend
5176 -}
5177 -
5178 -multilib_src_test() {
5179 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
5180 - if [[ ${ABI} == x86 ]]; then
5181 - if [[ $(id -u) == 0 ]]; then
5182 - ewarn "Skipping tests since they cannot be run under the root user."
5183 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
5184 - return
5185 - fi
5186 -
5187 - WINEPREFIX="${T}/.wine-${ABI}" \
5188 - Xemake test
5189 - fi
5190 -}
5191 -
5192 -multilib_src_install_all() {
5193 - local DOCS=( ANNOUNCE AUTHORS README )
5194 - add_locale_docs() {
5195 - local locale_doc="documentation/README.$1"
5196 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
5197 - }
5198 - l10n_for_each_locale_do add_locale_docs
5199 -
5200 - einstalldocs
5201 - prune_libtool_files --all
5202 -
5203 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
5204 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
5205 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
5206 - fi
5207 -
5208 - # Remove wineconsole if neither backend is installed #551124
5209 - if ! use X && ! use ncurses; then
5210 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
5211 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
5212 - rm_wineconsole() {
5213 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
5214 - }
5215 - multilib_foreach_abi rm_wineconsole
5216 - fi
5217 -
5218 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
5219 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
5220 -
5221 - if use abi_x86_64 && ! use abi_x86_32; then
5222 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
5223 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
5224 - fi
5225 -
5226 - # Failglob for bin and man loops
5227 - local glob_state=$(shopt -p failglob)
5228 - shopt -s failglob
5229 -
5230 - # Make wrappers for binaries for handling multiple variants
5231 - # Note: wrappers instead of symlinks because some are shell which use basename
5232 - local b
5233 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
5234 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
5235 - done
5236 -
5237 - # respect LINGUAS when installing man pages, #469418
5238 - local l
5239 - for l in de fr pl; do
5240 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
5241 - done
5242 -
5243 - eval "${glob_state}"
5244 -}
5245 -
5246 -pkg_postinst() {
5247 - eselect wine register ${P}
5248 - if [[ ${PN} == "wine-vanilla" ]]; then
5249 - eselect wine register --vanilla ${P} || die
5250 - else
5251 - if use d3d9; then
5252 - eselect wine register --d3d9 ${P} || die
5253 - fi
5254 - fi
5255 -
5256 - eselect wine update --all --if-unset || die
5257 -
5258 - xdg_desktop_database_update
5259 -
5260 - if ! use gecko; then
5261 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
5262 - ewarn "implementation of iexplore. Many older windows applications"
5263 - ewarn "rely upon the existence of an iexplore implementation, so"
5264 - ewarn "you will likely need to install an external one, like via winetricks"
5265 - fi
5266 - if ! use mono; then
5267 - ewarn "Without Wine Mono, wine prefixes will not have a default"
5268 - ewarn "implementation of .NET. Many windows applications rely upon"
5269 - ewarn "the existence of a .NET implementation, so you will likely need"
5270 - ewarn "to install an external one, like via winetricks"
5271 - fi
5272 -}
5273 -
5274 -pkg_prerm() {
5275 - eselect wine deregister ${P}
5276 - if [[ ${PN} == "wine-vanilla" ]]; then
5277 - eselect wine deregister --vanilla ${P} || die
5278 - else
5279 - if use d3d9; then
5280 - eselect wine deregister --d3d9 ${P} || die
5281 - fi
5282 - fi
5283 -
5284 - eselect wine update --all --if-unset || die
5285 -}
5286 -
5287 -pkg_postrm() {
5288 - xdg_desktop_database_update
5289 -}
5290
5291 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.2-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.2-r1.ebuild
5292 deleted file mode 100644
5293 index e9754927f54..00000000000
5294 --- a/app-emulation/wine-d3d9/wine-d3d9-2.2-r1.ebuild
5295 +++ /dev/null
5296 @@ -1,570 +0,0 @@
5297 -# Copyright 1999-2017 Gentoo Foundation
5298 -# Distributed under the terms of the GNU General Public License v2
5299 -
5300 -EAPI=6
5301 -
5302 -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"
5303 -PLOCALE_BACKUP="en"
5304 -
5305 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
5306 -
5307 -MY_PN="${PN%%-*}"
5308 -MY_P="${MY_PN}-${PV}"
5309 -
5310 -if [[ ${PV} == "9999" ]] ; then
5311 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
5312 - EGIT_BRANCH="master"
5313 - inherit git-r3
5314 - SRC_URI=""
5315 - #KEYWORDS=""
5316 -else
5317 - MAJOR_V=$(get_version_component_range 1)
5318 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
5319 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
5320 -fi
5321 -S="${WORKDIR}/${MY_P}"
5322 -
5323 -D3D9_P="wine-d3d9-${PV}"
5324 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
5325 -GWP_V="20170830"
5326 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
5327 -
5328 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
5329 -HOMEPAGE="https://www.winehq.org/"
5330 -SRC_URI="${SRC_URI}
5331 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
5332 -"
5333 -
5334 -if [[ ${PV} == "9999" ]] ; then
5335 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
5336 -else
5337 - SRC_URI="${SRC_URI}
5338 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
5339 -fi
5340 -
5341 -LICENSE="LGPL-2.1"
5342 -SLOT="${PV}"
5343 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
5344 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
5345 - X? ( truetype )
5346 - elibc_glibc? ( threads )
5347 - osmesa? ( opengl )
5348 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
5349 -
5350 -# FIXME: the test suite is unsuitable for us; many tests require net access
5351 -# or fail due to Xvfb's opengl limitations.
5352 -RESTRICT="test"
5353 -
5354 -COMMON_DEPEND="
5355 - X? (
5356 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
5357 - x11-libs/libXext[${MULTILIB_USEDEP}]
5358 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
5359 - x11-libs/libXi[${MULTILIB_USEDEP}]
5360 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
5361 - )
5362 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
5363 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
5364 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
5365 - d3d9? (
5366 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
5367 - x11-libs/libX11[${MULTILIB_USEDEP}]
5368 - x11-libs/libXext[${MULTILIB_USEDEP}]
5369 - x11-libs/libxcb[${MULTILIB_USEDEP}]
5370 - )
5371 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
5372 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
5373 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
5374 - gstreamer? (
5375 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
5376 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
5377 - )
5378 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
5379 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
5380 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
5381 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
5382 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
5383 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
5384 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
5385 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
5386 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
5387 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
5388 - opengl? (
5389 - virtual/glu[${MULTILIB_USEDEP}]
5390 - virtual/opengl[${MULTILIB_USEDEP}]
5391 - )
5392 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
5393 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
5394 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
5395 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
5396 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
5397 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
5398 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
5399 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
5400 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
5401 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
5402 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
5403 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
5404 - xml? (
5405 - dev-libs/libxml2[${MULTILIB_USEDEP}]
5406 - dev-libs/libxslt[${MULTILIB_USEDEP}]
5407 - )
5408 - abi_x86_32? (
5409 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
5410 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
5411 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
5412 - !<app-emulation/emul-linux-x86-db-20140508-r3
5413 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
5414 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
5415 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
5416 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
5417 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
5418 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
5419 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
5420 - !<app-emulation/emul-linux-x86-soundlibs-20140508
5421 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
5422 - !<app-emulation/emul-linux-x86-xlibs-20140508
5423 - )"
5424 -
5425 -RDEPEND="${COMMON_DEPEND}
5426 - app-emulation/wine-desktop-common
5427 - >app-eselect/eselect-wine-0.3
5428 - !app-emulation/wine:0
5429 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
5430 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
5431 - mono? ( app-emulation/wine-mono:4.6.4 )
5432 - perl? (
5433 - dev-lang/perl
5434 - dev-perl/XML-Simple
5435 - )
5436 - pulseaudio? (
5437 - realtime? ( sys-auth/rtkit )
5438 - )
5439 - samba? ( >=net-fs/samba-3.0.25[winbind] )
5440 - selinux? ( sec-policy/selinux-wine )
5441 - udisks? ( sys-fs/udisks:2 )"
5442 -
5443 -# tools/make_requests requires perl
5444 -DEPEND="${COMMON_DEPEND}
5445 - sys-devel/flex
5446 - >=sys-kernel/linux-headers-2.6
5447 - virtual/pkgconfig
5448 - virtual/yacc
5449 - X? (
5450 - x11-proto/inputproto
5451 - x11-proto/xextproto
5452 - x11-proto/xf86vidmodeproto
5453 - )
5454 - prelink? ( sys-devel/prelink )
5455 - xinerama? ( x11-proto/xineramaproto )"
5456 -
5457 -# These use a non-standard "Wine" category, which is provided by
5458 -# /etc/xdg/applications-merged/wine.menu
5459 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
5460 -usr/share/applications/wine-notepad.desktop
5461 -usr/share/applications/wine-uninstaller.desktop
5462 -usr/share/applications/wine-winecfg.desktop"
5463 -
5464 -PATCHES=(
5465 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
5466 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
5467 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
5468 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
5469 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
5470 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
5471 -)
5472 -PATCHES_BIN=(
5473 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
5474 -)
5475 -
5476 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
5477 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
5478 - DEPEND+=" dev-util/patchbin"
5479 -fi
5480 -
5481 -wine_compiler_check() {
5482 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5483 -
5484 - # GCC-specific bugs
5485 - if tc-is-gcc; then
5486 - # bug #549768
5487 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
5488 - ebegin "Checking for gcc-5 ms_abi compiler bug"
5489 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
5490 - # Run in subshell to prevent "Aborted" message
5491 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
5492 - if ! eend $?; then
5493 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
5494 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
5495 - eerror "or use gcc-config to select a different compiler version."
5496 - eerror "See https://bugs.gentoo.org/549768"
5497 - eerror
5498 - return 1
5499 - fi
5500 - fi
5501 - # bug #574044
5502 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
5503 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
5504 - # Compile in subshell to prevent "Aborted" message
5505 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
5506 - if ! eend $?; then
5507 - eerror "Wine cannot be built with this version of gcc-5.3"
5508 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
5509 - eerror "or use gcc-config to select a different compiler version."
5510 - eerror "See https://bugs.gentoo.org/574044"
5511 - eerror
5512 - return 1
5513 - fi
5514 - fi
5515 - fi
5516 -
5517 - # Ensure compiler support
5518 - if use abi_x86_64; then
5519 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
5520 - # Compile in subshell to prevent "Aborted" message
5521 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
5522 - if ! eend $?; then
5523 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
5524 - eerror
5525 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
5526 - eerror
5527 - return 1
5528 - fi
5529 - fi
5530 -}
5531 -
5532 -wine_build_environment_check() {
5533 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
5534 -
5535 - if use abi_x86_64; then
5536 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
5537 - eerror "You need gcc-4.4+ to compile 64-bit wine"
5538 - die
5539 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
5540 - eerror "You need clang-3.8+ to compile 64-bit wine"
5541 - die
5542 - fi
5543 - fi
5544 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
5545 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
5546 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
5547 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
5548 - fi
5549 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
5550 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
5551 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
5552 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
5553 - ewarn "See package.env in man 5 portage for more information on how to do this."
5554 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
5555 - fi
5556 - fi
5557 -
5558 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
5559 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
5560 - eerror "See https://bugs.gentoo.org/487864 for more details."
5561 - eerror
5562 - return 1
5563 - fi
5564 -}
5565 -
5566 -wine_env_vcs_vars() {
5567 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
5568 - local pn_live_val="${pn_live_var}"
5569 - eval pn_live_val='$'${pn_live_val}
5570 - if [[ ! -z ${pn_live_val} ]]; then
5571 - if use d3d9; then
5572 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
5573 - eerror "cannot be used to set the commit. Instead, you may use the"
5574 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
5575 - eerror
5576 - return 1
5577 - fi
5578 - fi
5579 - if [[ ! -z ${EGIT_COMMIT} ]]; then
5580 - eerror "Commits must now be specified using the environmental variables"
5581 - eerror "WINE_COMMIT, and D3D9_COMMIT"
5582 - eerror
5583 - return 1
5584 - fi
5585 -}
5586 -
5587 -pkg_pretend() {
5588 - wine_build_environment_check || die
5589 -
5590 - # Verify OSS support
5591 - if use oss && ! use kernel_FreeBSD; then
5592 - if ! has_version ">=media-sound/oss-4"; then
5593 - eerror "You cannot build wine with USE=oss without having support from a"
5594 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
5595 - eerror
5596 - die
5597 - fi
5598 - fi
5599 -}
5600 -
5601 -pkg_setup() {
5602 - wine_build_environment_check || die
5603 - wine_env_vcs_vars || die
5604 -
5605 - WINE_VARIANT="${PN#wine}-${PV}"
5606 - WINE_VARIANT="${WINE_VARIANT#-}"
5607 -
5608 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
5609 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
5610 - MY_DATADIR="${MY_DATAROOTDIR}"
5611 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
5612 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
5613 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
5614 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
5615 - MY_MANDIR="${MY_DATADIR}/man"
5616 -}
5617 -
5618 -src_unpack() {
5619 - if [[ ${PV} == "9999" ]] ; then
5620 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
5621 - if use d3d9; then
5622 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
5623 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
5624 - fi
5625 - fi
5626 -
5627 - default
5628 -
5629 - l10n_find_plocales_changes "${S}/po" "" ".po"
5630 -}
5631 -
5632 -src_prepare() {
5633 -
5634 - eapply_bin(){
5635 - local patch
5636 - for patch in ${PATCHES_BIN[@]}; do
5637 - patchbin --nogit < "${patch}" || die
5638 - done
5639 - }
5640 -
5641 - local md5="$(md5sum server/protocol.def)"
5642 -
5643 - if use d3d9; then
5644 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
5645 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
5646 - fi
5647 -
5648 - default
5649 - eapply_bin
5650 - eautoreconf
5651 -
5652 - # Modification of the server protocol requires regenerating the server requests
5653 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
5654 - einfo "server/protocol.def was patched; running tools/make_requests"
5655 - tools/make_requests || die #432348
5656 - fi
5657 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
5658 - if ! use run-exes; then
5659 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
5660 - fi
5661 -
5662 - # Edit wine.desktop to work for specific variant
5663 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
5664 -
5665 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
5666 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
5667 -
5668 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
5669 -}
5670 -
5671 -src_configure() {
5672 - wine_compiler_check || die
5673 -
5674 - export LDCONFIG=/bin/true
5675 - use custom-cflags || strip-flags
5676 -
5677 - multilib-minimal_src_configure
5678 -}
5679 -
5680 -multilib_src_configure() {
5681 - local myconf=(
5682 - --prefix="${MY_PREFIX}"
5683 - --datarootdir="${MY_DATAROOTDIR}"
5684 - --datadir="${MY_DATADIR}"
5685 - --docdir="${MY_DOCDIR}"
5686 - --includedir="${MY_INCLUDEDIR}"
5687 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
5688 - --libexecdir="${MY_LIBEXECDIR}"
5689 - --localstatedir="${MY_LOCALSTATEDIR}"
5690 - --mandir="${MY_MANDIR}"
5691 - --sysconfdir=/etc/wine
5692 - $(use_with alsa)
5693 - $(use_with capi)
5694 - $(use_with lcms cms)
5695 - $(use_with cups)
5696 - $(use_with ncurses curses)
5697 - $(use_with udisks dbus)
5698 - $(use_with fontconfig)
5699 - $(use_with ssl gnutls)
5700 - $(use_enable gecko mshtml)
5701 - $(use_with gphoto2 gphoto)
5702 - $(use_with gsm)
5703 - $(use_with gstreamer)
5704 - --without-hal
5705 - $(use_with jpeg)
5706 - $(use_with ldap)
5707 - $(use_enable mono mscoree)
5708 - $(use_with mp3 mpg123)
5709 - $(use_with netapi)
5710 - $(use_with nls gettext)
5711 - $(use_with openal)
5712 - $(use_with opencl)
5713 - $(use_with opengl)
5714 - $(use_with osmesa)
5715 - $(use_with oss)
5716 - $(use_with pcap)
5717 - $(use_with png)
5718 - $(use_with pulseaudio pulse)
5719 - $(use_with threads pthread)
5720 - $(use_with scanner sane)
5721 - $(use_enable test tests)
5722 - $(use_with truetype freetype)
5723 - $(use_with udev)
5724 - $(use_with v4l)
5725 - $(use_with X x)
5726 - $(use_with xcomposite)
5727 - $(use_with xinerama)
5728 - $(use_with xml)
5729 - $(use_with xml xslt)
5730 - )
5731 -
5732 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
5733 -
5734 - local PKG_CONFIG AR RANLIB
5735 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
5736 - # set AR and RANLIB to make QA scripts happy; #483342
5737 - tc-export PKG_CONFIG AR RANLIB
5738 -
5739 - if use amd64; then
5740 - if [[ ${ABI} == amd64 ]]; then
5741 - myconf+=( --enable-win64 )
5742 - else
5743 - myconf+=( --disable-win64 )
5744 - fi
5745 -
5746 - # Note: using --with-wine64 results in problems with multilib.eclass
5747 - # CC/LD hackery. We're using separate tools instead.
5748 - fi
5749 -
5750 - ECONF_SOURCE=${S} \
5751 - econf "${myconf[@]}"
5752 - emake depend
5753 -}
5754 -
5755 -multilib_src_test() {
5756 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
5757 - if [[ ${ABI} == x86 ]]; then
5758 - if [[ $(id -u) == 0 ]]; then
5759 - ewarn "Skipping tests since they cannot be run under the root user."
5760 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
5761 - return
5762 - fi
5763 -
5764 - WINEPREFIX="${T}/.wine-${ABI}" \
5765 - Xemake test
5766 - fi
5767 -}
5768 -
5769 -multilib_src_install_all() {
5770 - local DOCS=( ANNOUNCE AUTHORS README )
5771 - add_locale_docs() {
5772 - local locale_doc="documentation/README.$1"
5773 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
5774 - }
5775 - l10n_for_each_locale_do add_locale_docs
5776 -
5777 - einstalldocs
5778 - prune_libtool_files --all
5779 -
5780 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
5781 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
5782 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
5783 - fi
5784 -
5785 - # Remove wineconsole if neither backend is installed #551124
5786 - if ! use X && ! use ncurses; then
5787 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
5788 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
5789 - rm_wineconsole() {
5790 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
5791 - }
5792 - multilib_foreach_abi rm_wineconsole
5793 - fi
5794 -
5795 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
5796 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
5797 -
5798 - if use abi_x86_64 && ! use abi_x86_32; then
5799 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
5800 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
5801 - fi
5802 -
5803 - # Failglob for bin and man loops
5804 - local glob_state=$(shopt -p failglob)
5805 - shopt -s failglob
5806 -
5807 - # Make wrappers for binaries for handling multiple variants
5808 - # Note: wrappers instead of symlinks because some are shell which use basename
5809 - local b
5810 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
5811 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
5812 - done
5813 -
5814 - # respect LINGUAS when installing man pages, #469418
5815 - local l
5816 - for l in de fr pl; do
5817 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
5818 - done
5819 -
5820 - eval "${glob_state}"
5821 -}
5822 -
5823 -pkg_postinst() {
5824 - eselect wine register ${P}
5825 - if [[ ${PN} == "wine-vanilla" ]]; then
5826 - eselect wine register --vanilla ${P} || die
5827 - else
5828 - if use d3d9; then
5829 - eselect wine register --d3d9 ${P} || die
5830 - fi
5831 - fi
5832 -
5833 - eselect wine update --all --if-unset || die
5834 -
5835 - xdg_desktop_database_update
5836 -
5837 - if ! use gecko; then
5838 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
5839 - ewarn "implementation of iexplore. Many older windows applications"
5840 - ewarn "rely upon the existence of an iexplore implementation, so"
5841 - ewarn "you will likely need to install an external one, like via winetricks"
5842 - fi
5843 - if ! use mono; then
5844 - ewarn "Without Wine Mono, wine prefixes will not have a default"
5845 - ewarn "implementation of .NET. Many windows applications rely upon"
5846 - ewarn "the existence of a .NET implementation, so you will likely need"
5847 - ewarn "to install an external one, like via winetricks"
5848 - fi
5849 -}
5850 -
5851 -pkg_prerm() {
5852 - eselect wine deregister ${P}
5853 - if [[ ${PN} == "wine-vanilla" ]]; then
5854 - eselect wine deregister --vanilla ${P} || die
5855 - else
5856 - if use d3d9; then
5857 - eselect wine deregister --d3d9 ${P} || die
5858 - fi
5859 - fi
5860 -
5861 - eselect wine update --all --if-unset || die
5862 -}
5863 -
5864 -pkg_postrm() {
5865 - xdg_desktop_database_update
5866 -}
5867
5868 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.3-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.3-r1.ebuild
5869 deleted file mode 100644
5870 index e9754927f54..00000000000
5871 --- a/app-emulation/wine-d3d9/wine-d3d9-2.3-r1.ebuild
5872 +++ /dev/null
5873 @@ -1,570 +0,0 @@
5874 -# Copyright 1999-2017 Gentoo Foundation
5875 -# Distributed under the terms of the GNU General Public License v2
5876 -
5877 -EAPI=6
5878 -
5879 -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"
5880 -PLOCALE_BACKUP="en"
5881 -
5882 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
5883 -
5884 -MY_PN="${PN%%-*}"
5885 -MY_P="${MY_PN}-${PV}"
5886 -
5887 -if [[ ${PV} == "9999" ]] ; then
5888 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
5889 - EGIT_BRANCH="master"
5890 - inherit git-r3
5891 - SRC_URI=""
5892 - #KEYWORDS=""
5893 -else
5894 - MAJOR_V=$(get_version_component_range 1)
5895 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
5896 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
5897 -fi
5898 -S="${WORKDIR}/${MY_P}"
5899 -
5900 -D3D9_P="wine-d3d9-${PV}"
5901 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
5902 -GWP_V="20170830"
5903 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
5904 -
5905 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
5906 -HOMEPAGE="https://www.winehq.org/"
5907 -SRC_URI="${SRC_URI}
5908 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
5909 -"
5910 -
5911 -if [[ ${PV} == "9999" ]] ; then
5912 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
5913 -else
5914 - SRC_URI="${SRC_URI}
5915 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
5916 -fi
5917 -
5918 -LICENSE="LGPL-2.1"
5919 -SLOT="${PV}"
5920 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
5921 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
5922 - X? ( truetype )
5923 - elibc_glibc? ( threads )
5924 - osmesa? ( opengl )
5925 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
5926 -
5927 -# FIXME: the test suite is unsuitable for us; many tests require net access
5928 -# or fail due to Xvfb's opengl limitations.
5929 -RESTRICT="test"
5930 -
5931 -COMMON_DEPEND="
5932 - X? (
5933 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
5934 - x11-libs/libXext[${MULTILIB_USEDEP}]
5935 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
5936 - x11-libs/libXi[${MULTILIB_USEDEP}]
5937 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
5938 - )
5939 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
5940 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
5941 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
5942 - d3d9? (
5943 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
5944 - x11-libs/libX11[${MULTILIB_USEDEP}]
5945 - x11-libs/libXext[${MULTILIB_USEDEP}]
5946 - x11-libs/libxcb[${MULTILIB_USEDEP}]
5947 - )
5948 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
5949 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
5950 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
5951 - gstreamer? (
5952 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
5953 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
5954 - )
5955 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
5956 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
5957 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
5958 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
5959 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
5960 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
5961 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
5962 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
5963 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
5964 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
5965 - opengl? (
5966 - virtual/glu[${MULTILIB_USEDEP}]
5967 - virtual/opengl[${MULTILIB_USEDEP}]
5968 - )
5969 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
5970 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
5971 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
5972 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
5973 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
5974 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
5975 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
5976 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
5977 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
5978 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
5979 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
5980 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
5981 - xml? (
5982 - dev-libs/libxml2[${MULTILIB_USEDEP}]
5983 - dev-libs/libxslt[${MULTILIB_USEDEP}]
5984 - )
5985 - abi_x86_32? (
5986 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
5987 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
5988 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
5989 - !<app-emulation/emul-linux-x86-db-20140508-r3
5990 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
5991 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
5992 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
5993 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
5994 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
5995 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
5996 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
5997 - !<app-emulation/emul-linux-x86-soundlibs-20140508
5998 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
5999 - !<app-emulation/emul-linux-x86-xlibs-20140508
6000 - )"
6001 -
6002 -RDEPEND="${COMMON_DEPEND}
6003 - app-emulation/wine-desktop-common
6004 - >app-eselect/eselect-wine-0.3
6005 - !app-emulation/wine:0
6006 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
6007 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
6008 - mono? ( app-emulation/wine-mono:4.6.4 )
6009 - perl? (
6010 - dev-lang/perl
6011 - dev-perl/XML-Simple
6012 - )
6013 - pulseaudio? (
6014 - realtime? ( sys-auth/rtkit )
6015 - )
6016 - samba? ( >=net-fs/samba-3.0.25[winbind] )
6017 - selinux? ( sec-policy/selinux-wine )
6018 - udisks? ( sys-fs/udisks:2 )"
6019 -
6020 -# tools/make_requests requires perl
6021 -DEPEND="${COMMON_DEPEND}
6022 - sys-devel/flex
6023 - >=sys-kernel/linux-headers-2.6
6024 - virtual/pkgconfig
6025 - virtual/yacc
6026 - X? (
6027 - x11-proto/inputproto
6028 - x11-proto/xextproto
6029 - x11-proto/xf86vidmodeproto
6030 - )
6031 - prelink? ( sys-devel/prelink )
6032 - xinerama? ( x11-proto/xineramaproto )"
6033 -
6034 -# These use a non-standard "Wine" category, which is provided by
6035 -# /etc/xdg/applications-merged/wine.menu
6036 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
6037 -usr/share/applications/wine-notepad.desktop
6038 -usr/share/applications/wine-uninstaller.desktop
6039 -usr/share/applications/wine-winecfg.desktop"
6040 -
6041 -PATCHES=(
6042 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
6043 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
6044 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
6045 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
6046 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
6047 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
6048 -)
6049 -PATCHES_BIN=(
6050 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
6051 -)
6052 -
6053 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
6054 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
6055 - DEPEND+=" dev-util/patchbin"
6056 -fi
6057 -
6058 -wine_compiler_check() {
6059 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6060 -
6061 - # GCC-specific bugs
6062 - if tc-is-gcc; then
6063 - # bug #549768
6064 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
6065 - ebegin "Checking for gcc-5 ms_abi compiler bug"
6066 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
6067 - # Run in subshell to prevent "Aborted" message
6068 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
6069 - if ! eend $?; then
6070 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
6071 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
6072 - eerror "or use gcc-config to select a different compiler version."
6073 - eerror "See https://bugs.gentoo.org/549768"
6074 - eerror
6075 - return 1
6076 - fi
6077 - fi
6078 - # bug #574044
6079 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
6080 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
6081 - # Compile in subshell to prevent "Aborted" message
6082 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
6083 - if ! eend $?; then
6084 - eerror "Wine cannot be built with this version of gcc-5.3"
6085 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
6086 - eerror "or use gcc-config to select a different compiler version."
6087 - eerror "See https://bugs.gentoo.org/574044"
6088 - eerror
6089 - return 1
6090 - fi
6091 - fi
6092 - fi
6093 -
6094 - # Ensure compiler support
6095 - if use abi_x86_64; then
6096 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
6097 - # Compile in subshell to prevent "Aborted" message
6098 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
6099 - if ! eend $?; then
6100 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
6101 - eerror
6102 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
6103 - eerror
6104 - return 1
6105 - fi
6106 - fi
6107 -}
6108 -
6109 -wine_build_environment_check() {
6110 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6111 -
6112 - if use abi_x86_64; then
6113 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
6114 - eerror "You need gcc-4.4+ to compile 64-bit wine"
6115 - die
6116 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
6117 - eerror "You need clang-3.8+ to compile 64-bit wine"
6118 - die
6119 - fi
6120 - fi
6121 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
6122 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
6123 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
6124 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
6125 - fi
6126 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
6127 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
6128 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
6129 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
6130 - ewarn "See package.env in man 5 portage for more information on how to do this."
6131 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
6132 - fi
6133 - fi
6134 -
6135 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
6136 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
6137 - eerror "See https://bugs.gentoo.org/487864 for more details."
6138 - eerror
6139 - return 1
6140 - fi
6141 -}
6142 -
6143 -wine_env_vcs_vars() {
6144 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
6145 - local pn_live_val="${pn_live_var}"
6146 - eval pn_live_val='$'${pn_live_val}
6147 - if [[ ! -z ${pn_live_val} ]]; then
6148 - if use d3d9; then
6149 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
6150 - eerror "cannot be used to set the commit. Instead, you may use the"
6151 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
6152 - eerror
6153 - return 1
6154 - fi
6155 - fi
6156 - if [[ ! -z ${EGIT_COMMIT} ]]; then
6157 - eerror "Commits must now be specified using the environmental variables"
6158 - eerror "WINE_COMMIT, and D3D9_COMMIT"
6159 - eerror
6160 - return 1
6161 - fi
6162 -}
6163 -
6164 -pkg_pretend() {
6165 - wine_build_environment_check || die
6166 -
6167 - # Verify OSS support
6168 - if use oss && ! use kernel_FreeBSD; then
6169 - if ! has_version ">=media-sound/oss-4"; then
6170 - eerror "You cannot build wine with USE=oss without having support from a"
6171 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
6172 - eerror
6173 - die
6174 - fi
6175 - fi
6176 -}
6177 -
6178 -pkg_setup() {
6179 - wine_build_environment_check || die
6180 - wine_env_vcs_vars || die
6181 -
6182 - WINE_VARIANT="${PN#wine}-${PV}"
6183 - WINE_VARIANT="${WINE_VARIANT#-}"
6184 -
6185 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
6186 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
6187 - MY_DATADIR="${MY_DATAROOTDIR}"
6188 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
6189 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
6190 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
6191 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
6192 - MY_MANDIR="${MY_DATADIR}/man"
6193 -}
6194 -
6195 -src_unpack() {
6196 - if [[ ${PV} == "9999" ]] ; then
6197 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
6198 - if use d3d9; then
6199 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
6200 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
6201 - fi
6202 - fi
6203 -
6204 - default
6205 -
6206 - l10n_find_plocales_changes "${S}/po" "" ".po"
6207 -}
6208 -
6209 -src_prepare() {
6210 -
6211 - eapply_bin(){
6212 - local patch
6213 - for patch in ${PATCHES_BIN[@]}; do
6214 - patchbin --nogit < "${patch}" || die
6215 - done
6216 - }
6217 -
6218 - local md5="$(md5sum server/protocol.def)"
6219 -
6220 - if use d3d9; then
6221 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
6222 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
6223 - fi
6224 -
6225 - default
6226 - eapply_bin
6227 - eautoreconf
6228 -
6229 - # Modification of the server protocol requires regenerating the server requests
6230 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
6231 - einfo "server/protocol.def was patched; running tools/make_requests"
6232 - tools/make_requests || die #432348
6233 - fi
6234 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
6235 - if ! use run-exes; then
6236 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
6237 - fi
6238 -
6239 - # Edit wine.desktop to work for specific variant
6240 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
6241 -
6242 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
6243 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
6244 -
6245 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
6246 -}
6247 -
6248 -src_configure() {
6249 - wine_compiler_check || die
6250 -
6251 - export LDCONFIG=/bin/true
6252 - use custom-cflags || strip-flags
6253 -
6254 - multilib-minimal_src_configure
6255 -}
6256 -
6257 -multilib_src_configure() {
6258 - local myconf=(
6259 - --prefix="${MY_PREFIX}"
6260 - --datarootdir="${MY_DATAROOTDIR}"
6261 - --datadir="${MY_DATADIR}"
6262 - --docdir="${MY_DOCDIR}"
6263 - --includedir="${MY_INCLUDEDIR}"
6264 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
6265 - --libexecdir="${MY_LIBEXECDIR}"
6266 - --localstatedir="${MY_LOCALSTATEDIR}"
6267 - --mandir="${MY_MANDIR}"
6268 - --sysconfdir=/etc/wine
6269 - $(use_with alsa)
6270 - $(use_with capi)
6271 - $(use_with lcms cms)
6272 - $(use_with cups)
6273 - $(use_with ncurses curses)
6274 - $(use_with udisks dbus)
6275 - $(use_with fontconfig)
6276 - $(use_with ssl gnutls)
6277 - $(use_enable gecko mshtml)
6278 - $(use_with gphoto2 gphoto)
6279 - $(use_with gsm)
6280 - $(use_with gstreamer)
6281 - --without-hal
6282 - $(use_with jpeg)
6283 - $(use_with ldap)
6284 - $(use_enable mono mscoree)
6285 - $(use_with mp3 mpg123)
6286 - $(use_with netapi)
6287 - $(use_with nls gettext)
6288 - $(use_with openal)
6289 - $(use_with opencl)
6290 - $(use_with opengl)
6291 - $(use_with osmesa)
6292 - $(use_with oss)
6293 - $(use_with pcap)
6294 - $(use_with png)
6295 - $(use_with pulseaudio pulse)
6296 - $(use_with threads pthread)
6297 - $(use_with scanner sane)
6298 - $(use_enable test tests)
6299 - $(use_with truetype freetype)
6300 - $(use_with udev)
6301 - $(use_with v4l)
6302 - $(use_with X x)
6303 - $(use_with xcomposite)
6304 - $(use_with xinerama)
6305 - $(use_with xml)
6306 - $(use_with xml xslt)
6307 - )
6308 -
6309 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
6310 -
6311 - local PKG_CONFIG AR RANLIB
6312 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
6313 - # set AR and RANLIB to make QA scripts happy; #483342
6314 - tc-export PKG_CONFIG AR RANLIB
6315 -
6316 - if use amd64; then
6317 - if [[ ${ABI} == amd64 ]]; then
6318 - myconf+=( --enable-win64 )
6319 - else
6320 - myconf+=( --disable-win64 )
6321 - fi
6322 -
6323 - # Note: using --with-wine64 results in problems with multilib.eclass
6324 - # CC/LD hackery. We're using separate tools instead.
6325 - fi
6326 -
6327 - ECONF_SOURCE=${S} \
6328 - econf "${myconf[@]}"
6329 - emake depend
6330 -}
6331 -
6332 -multilib_src_test() {
6333 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
6334 - if [[ ${ABI} == x86 ]]; then
6335 - if [[ $(id -u) == 0 ]]; then
6336 - ewarn "Skipping tests since they cannot be run under the root user."
6337 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
6338 - return
6339 - fi
6340 -
6341 - WINEPREFIX="${T}/.wine-${ABI}" \
6342 - Xemake test
6343 - fi
6344 -}
6345 -
6346 -multilib_src_install_all() {
6347 - local DOCS=( ANNOUNCE AUTHORS README )
6348 - add_locale_docs() {
6349 - local locale_doc="documentation/README.$1"
6350 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
6351 - }
6352 - l10n_for_each_locale_do add_locale_docs
6353 -
6354 - einstalldocs
6355 - prune_libtool_files --all
6356 -
6357 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
6358 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
6359 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
6360 - fi
6361 -
6362 - # Remove wineconsole if neither backend is installed #551124
6363 - if ! use X && ! use ncurses; then
6364 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
6365 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
6366 - rm_wineconsole() {
6367 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
6368 - }
6369 - multilib_foreach_abi rm_wineconsole
6370 - fi
6371 -
6372 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
6373 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
6374 -
6375 - if use abi_x86_64 && ! use abi_x86_32; then
6376 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
6377 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
6378 - fi
6379 -
6380 - # Failglob for bin and man loops
6381 - local glob_state=$(shopt -p failglob)
6382 - shopt -s failglob
6383 -
6384 - # Make wrappers for binaries for handling multiple variants
6385 - # Note: wrappers instead of symlinks because some are shell which use basename
6386 - local b
6387 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
6388 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
6389 - done
6390 -
6391 - # respect LINGUAS when installing man pages, #469418
6392 - local l
6393 - for l in de fr pl; do
6394 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
6395 - done
6396 -
6397 - eval "${glob_state}"
6398 -}
6399 -
6400 -pkg_postinst() {
6401 - eselect wine register ${P}
6402 - if [[ ${PN} == "wine-vanilla" ]]; then
6403 - eselect wine register --vanilla ${P} || die
6404 - else
6405 - if use d3d9; then
6406 - eselect wine register --d3d9 ${P} || die
6407 - fi
6408 - fi
6409 -
6410 - eselect wine update --all --if-unset || die
6411 -
6412 - xdg_desktop_database_update
6413 -
6414 - if ! use gecko; then
6415 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
6416 - ewarn "implementation of iexplore. Many older windows applications"
6417 - ewarn "rely upon the existence of an iexplore implementation, so"
6418 - ewarn "you will likely need to install an external one, like via winetricks"
6419 - fi
6420 - if ! use mono; then
6421 - ewarn "Without Wine Mono, wine prefixes will not have a default"
6422 - ewarn "implementation of .NET. Many windows applications rely upon"
6423 - ewarn "the existence of a .NET implementation, so you will likely need"
6424 - ewarn "to install an external one, like via winetricks"
6425 - fi
6426 -}
6427 -
6428 -pkg_prerm() {
6429 - eselect wine deregister ${P}
6430 - if [[ ${PN} == "wine-vanilla" ]]; then
6431 - eselect wine deregister --vanilla ${P} || die
6432 - else
6433 - if use d3d9; then
6434 - eselect wine deregister --d3d9 ${P} || die
6435 - fi
6436 - fi
6437 -
6438 - eselect wine update --all --if-unset || die
6439 -}
6440 -
6441 -pkg_postrm() {
6442 - xdg_desktop_database_update
6443 -}
6444
6445 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.4-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.4-r1.ebuild
6446 deleted file mode 100644
6447 index 6f8a34c54fa..00000000000
6448 --- a/app-emulation/wine-d3d9/wine-d3d9-2.4-r1.ebuild
6449 +++ /dev/null
6450 @@ -1,570 +0,0 @@
6451 -# Copyright 1999-2017 Gentoo Foundation
6452 -# Distributed under the terms of the GNU General Public License v2
6453 -
6454 -EAPI=6
6455 -
6456 -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"
6457 -PLOCALE_BACKUP="en"
6458 -
6459 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
6460 -
6461 -MY_PN="${PN%%-*}"
6462 -MY_P="${MY_PN}-${PV}"
6463 -
6464 -if [[ ${PV} == "9999" ]] ; then
6465 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
6466 - EGIT_BRANCH="master"
6467 - inherit git-r3
6468 - SRC_URI=""
6469 - #KEYWORDS=""
6470 -else
6471 - MAJOR_V=$(get_version_component_range 1)
6472 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
6473 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
6474 -fi
6475 -S="${WORKDIR}/${MY_P}"
6476 -
6477 -D3D9_P="wine-d3d9-${PV}"
6478 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
6479 -GWP_V="20170830"
6480 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
6481 -
6482 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
6483 -HOMEPAGE="https://www.winehq.org/"
6484 -SRC_URI="${SRC_URI}
6485 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
6486 -"
6487 -
6488 -if [[ ${PV} == "9999" ]] ; then
6489 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
6490 -else
6491 - SRC_URI="${SRC_URI}
6492 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
6493 -fi
6494 -
6495 -LICENSE="LGPL-2.1"
6496 -SLOT="${PV}"
6497 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
6498 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
6499 - X? ( truetype )
6500 - elibc_glibc? ( threads )
6501 - osmesa? ( opengl )
6502 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
6503 -
6504 -# FIXME: the test suite is unsuitable for us; many tests require net access
6505 -# or fail due to Xvfb's opengl limitations.
6506 -RESTRICT="test"
6507 -
6508 -COMMON_DEPEND="
6509 - X? (
6510 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
6511 - x11-libs/libXext[${MULTILIB_USEDEP}]
6512 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
6513 - x11-libs/libXi[${MULTILIB_USEDEP}]
6514 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
6515 - )
6516 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
6517 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
6518 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
6519 - d3d9? (
6520 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
6521 - x11-libs/libX11[${MULTILIB_USEDEP}]
6522 - x11-libs/libXext[${MULTILIB_USEDEP}]
6523 - x11-libs/libxcb[${MULTILIB_USEDEP}]
6524 - )
6525 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
6526 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
6527 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
6528 - gstreamer? (
6529 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
6530 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
6531 - )
6532 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
6533 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
6534 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
6535 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
6536 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
6537 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
6538 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
6539 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
6540 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
6541 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
6542 - opengl? (
6543 - virtual/glu[${MULTILIB_USEDEP}]
6544 - virtual/opengl[${MULTILIB_USEDEP}]
6545 - )
6546 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
6547 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
6548 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
6549 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
6550 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
6551 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
6552 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
6553 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
6554 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
6555 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
6556 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
6557 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
6558 - xml? (
6559 - dev-libs/libxml2[${MULTILIB_USEDEP}]
6560 - dev-libs/libxslt[${MULTILIB_USEDEP}]
6561 - )
6562 - abi_x86_32? (
6563 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
6564 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
6565 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
6566 - !<app-emulation/emul-linux-x86-db-20140508-r3
6567 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
6568 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
6569 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
6570 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
6571 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
6572 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
6573 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
6574 - !<app-emulation/emul-linux-x86-soundlibs-20140508
6575 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
6576 - !<app-emulation/emul-linux-x86-xlibs-20140508
6577 - )"
6578 -
6579 -RDEPEND="${COMMON_DEPEND}
6580 - app-emulation/wine-desktop-common
6581 - >app-eselect/eselect-wine-0.3
6582 - !app-emulation/wine:0
6583 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
6584 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
6585 - mono? ( app-emulation/wine-mono:4.7.0 )
6586 - perl? (
6587 - dev-lang/perl
6588 - dev-perl/XML-Simple
6589 - )
6590 - pulseaudio? (
6591 - realtime? ( sys-auth/rtkit )
6592 - )
6593 - samba? ( >=net-fs/samba-3.0.25[winbind] )
6594 - selinux? ( sec-policy/selinux-wine )
6595 - udisks? ( sys-fs/udisks:2 )"
6596 -
6597 -# tools/make_requests requires perl
6598 -DEPEND="${COMMON_DEPEND}
6599 - sys-devel/flex
6600 - >=sys-kernel/linux-headers-2.6
6601 - virtual/pkgconfig
6602 - virtual/yacc
6603 - X? (
6604 - x11-proto/inputproto
6605 - x11-proto/xextproto
6606 - x11-proto/xf86vidmodeproto
6607 - )
6608 - prelink? ( sys-devel/prelink )
6609 - xinerama? ( x11-proto/xineramaproto )"
6610 -
6611 -# These use a non-standard "Wine" category, which is provided by
6612 -# /etc/xdg/applications-merged/wine.menu
6613 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
6614 -usr/share/applications/wine-notepad.desktop
6615 -usr/share/applications/wine-uninstaller.desktop
6616 -usr/share/applications/wine-winecfg.desktop"
6617 -
6618 -PATCHES=(
6619 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
6620 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
6621 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
6622 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
6623 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
6624 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
6625 -)
6626 -PATCHES_BIN=(
6627 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
6628 -)
6629 -
6630 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
6631 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
6632 - DEPEND+=" dev-util/patchbin"
6633 -fi
6634 -
6635 -wine_compiler_check() {
6636 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6637 -
6638 - # GCC-specific bugs
6639 - if tc-is-gcc; then
6640 - # bug #549768
6641 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
6642 - ebegin "Checking for gcc-5 ms_abi compiler bug"
6643 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
6644 - # Run in subshell to prevent "Aborted" message
6645 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
6646 - if ! eend $?; then
6647 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
6648 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
6649 - eerror "or use gcc-config to select a different compiler version."
6650 - eerror "See https://bugs.gentoo.org/549768"
6651 - eerror
6652 - return 1
6653 - fi
6654 - fi
6655 - # bug #574044
6656 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
6657 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
6658 - # Compile in subshell to prevent "Aborted" message
6659 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
6660 - if ! eend $?; then
6661 - eerror "Wine cannot be built with this version of gcc-5.3"
6662 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
6663 - eerror "or use gcc-config to select a different compiler version."
6664 - eerror "See https://bugs.gentoo.org/574044"
6665 - eerror
6666 - return 1
6667 - fi
6668 - fi
6669 - fi
6670 -
6671 - # Ensure compiler support
6672 - if use abi_x86_64; then
6673 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
6674 - # Compile in subshell to prevent "Aborted" message
6675 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
6676 - if ! eend $?; then
6677 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
6678 - eerror
6679 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
6680 - eerror
6681 - return 1
6682 - fi
6683 - fi
6684 -}
6685 -
6686 -wine_build_environment_check() {
6687 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
6688 -
6689 - if use abi_x86_64; then
6690 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
6691 - eerror "You need gcc-4.4+ to compile 64-bit wine"
6692 - die
6693 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
6694 - eerror "You need clang-3.8+ to compile 64-bit wine"
6695 - die
6696 - fi
6697 - fi
6698 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
6699 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
6700 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
6701 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
6702 - fi
6703 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
6704 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
6705 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
6706 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
6707 - ewarn "See package.env in man 5 portage for more information on how to do this."
6708 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
6709 - fi
6710 - fi
6711 -
6712 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
6713 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
6714 - eerror "See https://bugs.gentoo.org/487864 for more details."
6715 - eerror
6716 - return 1
6717 - fi
6718 -}
6719 -
6720 -wine_env_vcs_vars() {
6721 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
6722 - local pn_live_val="${pn_live_var}"
6723 - eval pn_live_val='$'${pn_live_val}
6724 - if [[ ! -z ${pn_live_val} ]]; then
6725 - if use d3d9; then
6726 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
6727 - eerror "cannot be used to set the commit. Instead, you may use the"
6728 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
6729 - eerror
6730 - return 1
6731 - fi
6732 - fi
6733 - if [[ ! -z ${EGIT_COMMIT} ]]; then
6734 - eerror "Commits must now be specified using the environmental variables"
6735 - eerror "WINE_COMMIT, and D3D9_COMMIT"
6736 - eerror
6737 - return 1
6738 - fi
6739 -}
6740 -
6741 -pkg_pretend() {
6742 - wine_build_environment_check || die
6743 -
6744 - # Verify OSS support
6745 - if use oss && ! use kernel_FreeBSD; then
6746 - if ! has_version ">=media-sound/oss-4"; then
6747 - eerror "You cannot build wine with USE=oss without having support from a"
6748 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
6749 - eerror
6750 - die
6751 - fi
6752 - fi
6753 -}
6754 -
6755 -pkg_setup() {
6756 - wine_build_environment_check || die
6757 - wine_env_vcs_vars || die
6758 -
6759 - WINE_VARIANT="${PN#wine}-${PV}"
6760 - WINE_VARIANT="${WINE_VARIANT#-}"
6761 -
6762 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
6763 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
6764 - MY_DATADIR="${MY_DATAROOTDIR}"
6765 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
6766 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
6767 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
6768 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
6769 - MY_MANDIR="${MY_DATADIR}/man"
6770 -}
6771 -
6772 -src_unpack() {
6773 - if [[ ${PV} == "9999" ]] ; then
6774 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
6775 - if use d3d9; then
6776 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
6777 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
6778 - fi
6779 - fi
6780 -
6781 - default
6782 -
6783 - l10n_find_plocales_changes "${S}/po" "" ".po"
6784 -}
6785 -
6786 -src_prepare() {
6787 -
6788 - eapply_bin(){
6789 - local patch
6790 - for patch in ${PATCHES_BIN[@]}; do
6791 - patchbin --nogit < "${patch}" || die
6792 - done
6793 - }
6794 -
6795 - local md5="$(md5sum server/protocol.def)"
6796 -
6797 - if use d3d9; then
6798 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
6799 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
6800 - fi
6801 -
6802 - default
6803 - eapply_bin
6804 - eautoreconf
6805 -
6806 - # Modification of the server protocol requires regenerating the server requests
6807 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
6808 - einfo "server/protocol.def was patched; running tools/make_requests"
6809 - tools/make_requests || die #432348
6810 - fi
6811 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
6812 - if ! use run-exes; then
6813 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
6814 - fi
6815 -
6816 - # Edit wine.desktop to work for specific variant
6817 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
6818 -
6819 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
6820 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
6821 -
6822 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
6823 -}
6824 -
6825 -src_configure() {
6826 - wine_compiler_check || die
6827 -
6828 - export LDCONFIG=/bin/true
6829 - use custom-cflags || strip-flags
6830 -
6831 - multilib-minimal_src_configure
6832 -}
6833 -
6834 -multilib_src_configure() {
6835 - local myconf=(
6836 - --prefix="${MY_PREFIX}"
6837 - --datarootdir="${MY_DATAROOTDIR}"
6838 - --datadir="${MY_DATADIR}"
6839 - --docdir="${MY_DOCDIR}"
6840 - --includedir="${MY_INCLUDEDIR}"
6841 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
6842 - --libexecdir="${MY_LIBEXECDIR}"
6843 - --localstatedir="${MY_LOCALSTATEDIR}"
6844 - --mandir="${MY_MANDIR}"
6845 - --sysconfdir=/etc/wine
6846 - $(use_with alsa)
6847 - $(use_with capi)
6848 - $(use_with lcms cms)
6849 - $(use_with cups)
6850 - $(use_with ncurses curses)
6851 - $(use_with udisks dbus)
6852 - $(use_with fontconfig)
6853 - $(use_with ssl gnutls)
6854 - $(use_enable gecko mshtml)
6855 - $(use_with gphoto2 gphoto)
6856 - $(use_with gsm)
6857 - $(use_with gstreamer)
6858 - --without-hal
6859 - $(use_with jpeg)
6860 - $(use_with ldap)
6861 - $(use_enable mono mscoree)
6862 - $(use_with mp3 mpg123)
6863 - $(use_with netapi)
6864 - $(use_with nls gettext)
6865 - $(use_with openal)
6866 - $(use_with opencl)
6867 - $(use_with opengl)
6868 - $(use_with osmesa)
6869 - $(use_with oss)
6870 - $(use_with pcap)
6871 - $(use_with png)
6872 - $(use_with pulseaudio pulse)
6873 - $(use_with threads pthread)
6874 - $(use_with scanner sane)
6875 - $(use_enable test tests)
6876 - $(use_with truetype freetype)
6877 - $(use_with udev)
6878 - $(use_with v4l)
6879 - $(use_with X x)
6880 - $(use_with xcomposite)
6881 - $(use_with xinerama)
6882 - $(use_with xml)
6883 - $(use_with xml xslt)
6884 - )
6885 -
6886 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
6887 -
6888 - local PKG_CONFIG AR RANLIB
6889 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
6890 - # set AR and RANLIB to make QA scripts happy; #483342
6891 - tc-export PKG_CONFIG AR RANLIB
6892 -
6893 - if use amd64; then
6894 - if [[ ${ABI} == amd64 ]]; then
6895 - myconf+=( --enable-win64 )
6896 - else
6897 - myconf+=( --disable-win64 )
6898 - fi
6899 -
6900 - # Note: using --with-wine64 results in problems with multilib.eclass
6901 - # CC/LD hackery. We're using separate tools instead.
6902 - fi
6903 -
6904 - ECONF_SOURCE=${S} \
6905 - econf "${myconf[@]}"
6906 - emake depend
6907 -}
6908 -
6909 -multilib_src_test() {
6910 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
6911 - if [[ ${ABI} == x86 ]]; then
6912 - if [[ $(id -u) == 0 ]]; then
6913 - ewarn "Skipping tests since they cannot be run under the root user."
6914 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
6915 - return
6916 - fi
6917 -
6918 - WINEPREFIX="${T}/.wine-${ABI}" \
6919 - Xemake test
6920 - fi
6921 -}
6922 -
6923 -multilib_src_install_all() {
6924 - local DOCS=( ANNOUNCE AUTHORS README )
6925 - add_locale_docs() {
6926 - local locale_doc="documentation/README.$1"
6927 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
6928 - }
6929 - l10n_for_each_locale_do add_locale_docs
6930 -
6931 - einstalldocs
6932 - prune_libtool_files --all
6933 -
6934 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
6935 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
6936 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
6937 - fi
6938 -
6939 - # Remove wineconsole if neither backend is installed #551124
6940 - if ! use X && ! use ncurses; then
6941 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
6942 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
6943 - rm_wineconsole() {
6944 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
6945 - }
6946 - multilib_foreach_abi rm_wineconsole
6947 - fi
6948 -
6949 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
6950 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
6951 -
6952 - if use abi_x86_64 && ! use abi_x86_32; then
6953 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
6954 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
6955 - fi
6956 -
6957 - # Failglob for bin and man loops
6958 - local glob_state=$(shopt -p failglob)
6959 - shopt -s failglob
6960 -
6961 - # Make wrappers for binaries for handling multiple variants
6962 - # Note: wrappers instead of symlinks because some are shell which use basename
6963 - local b
6964 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
6965 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
6966 - done
6967 -
6968 - # respect LINGUAS when installing man pages, #469418
6969 - local l
6970 - for l in de fr pl; do
6971 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
6972 - done
6973 -
6974 - eval "${glob_state}"
6975 -}
6976 -
6977 -pkg_postinst() {
6978 - eselect wine register ${P}
6979 - if [[ ${PN} == "wine-vanilla" ]]; then
6980 - eselect wine register --vanilla ${P} || die
6981 - else
6982 - if use d3d9; then
6983 - eselect wine register --d3d9 ${P} || die
6984 - fi
6985 - fi
6986 -
6987 - eselect wine update --all --if-unset || die
6988 -
6989 - xdg_desktop_database_update
6990 -
6991 - if ! use gecko; then
6992 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
6993 - ewarn "implementation of iexplore. Many older windows applications"
6994 - ewarn "rely upon the existence of an iexplore implementation, so"
6995 - ewarn "you will likely need to install an external one, like via winetricks"
6996 - fi
6997 - if ! use mono; then
6998 - ewarn "Without Wine Mono, wine prefixes will not have a default"
6999 - ewarn "implementation of .NET. Many windows applications rely upon"
7000 - ewarn "the existence of a .NET implementation, so you will likely need"
7001 - ewarn "to install an external one, like via winetricks"
7002 - fi
7003 -}
7004 -
7005 -pkg_prerm() {
7006 - eselect wine deregister ${P}
7007 - if [[ ${PN} == "wine-vanilla" ]]; then
7008 - eselect wine deregister --vanilla ${P} || die
7009 - else
7010 - if use d3d9; then
7011 - eselect wine deregister --d3d9 ${P} || die
7012 - fi
7013 - fi
7014 -
7015 - eselect wine update --all --if-unset || die
7016 -}
7017 -
7018 -pkg_postrm() {
7019 - xdg_desktop_database_update
7020 -}
7021
7022 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.5-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.5-r1.ebuild
7023 deleted file mode 100644
7024 index 6f8a34c54fa..00000000000
7025 --- a/app-emulation/wine-d3d9/wine-d3d9-2.5-r1.ebuild
7026 +++ /dev/null
7027 @@ -1,570 +0,0 @@
7028 -# Copyright 1999-2017 Gentoo Foundation
7029 -# Distributed under the terms of the GNU General Public License v2
7030 -
7031 -EAPI=6
7032 -
7033 -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"
7034 -PLOCALE_BACKUP="en"
7035 -
7036 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
7037 -
7038 -MY_PN="${PN%%-*}"
7039 -MY_P="${MY_PN}-${PV}"
7040 -
7041 -if [[ ${PV} == "9999" ]] ; then
7042 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
7043 - EGIT_BRANCH="master"
7044 - inherit git-r3
7045 - SRC_URI=""
7046 - #KEYWORDS=""
7047 -else
7048 - MAJOR_V=$(get_version_component_range 1)
7049 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
7050 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
7051 -fi
7052 -S="${WORKDIR}/${MY_P}"
7053 -
7054 -D3D9_P="wine-d3d9-${PV}"
7055 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
7056 -GWP_V="20170830"
7057 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
7058 -
7059 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
7060 -HOMEPAGE="https://www.winehq.org/"
7061 -SRC_URI="${SRC_URI}
7062 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
7063 -"
7064 -
7065 -if [[ ${PV} == "9999" ]] ; then
7066 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
7067 -else
7068 - SRC_URI="${SRC_URI}
7069 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
7070 -fi
7071 -
7072 -LICENSE="LGPL-2.1"
7073 -SLOT="${PV}"
7074 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
7075 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
7076 - X? ( truetype )
7077 - elibc_glibc? ( threads )
7078 - osmesa? ( opengl )
7079 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
7080 -
7081 -# FIXME: the test suite is unsuitable for us; many tests require net access
7082 -# or fail due to Xvfb's opengl limitations.
7083 -RESTRICT="test"
7084 -
7085 -COMMON_DEPEND="
7086 - X? (
7087 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
7088 - x11-libs/libXext[${MULTILIB_USEDEP}]
7089 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
7090 - x11-libs/libXi[${MULTILIB_USEDEP}]
7091 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
7092 - )
7093 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
7094 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
7095 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
7096 - d3d9? (
7097 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
7098 - x11-libs/libX11[${MULTILIB_USEDEP}]
7099 - x11-libs/libXext[${MULTILIB_USEDEP}]
7100 - x11-libs/libxcb[${MULTILIB_USEDEP}]
7101 - )
7102 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
7103 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
7104 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
7105 - gstreamer? (
7106 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
7107 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
7108 - )
7109 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
7110 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
7111 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
7112 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
7113 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
7114 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
7115 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
7116 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
7117 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
7118 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
7119 - opengl? (
7120 - virtual/glu[${MULTILIB_USEDEP}]
7121 - virtual/opengl[${MULTILIB_USEDEP}]
7122 - )
7123 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
7124 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
7125 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
7126 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
7127 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
7128 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
7129 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
7130 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
7131 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
7132 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
7133 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
7134 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
7135 - xml? (
7136 - dev-libs/libxml2[${MULTILIB_USEDEP}]
7137 - dev-libs/libxslt[${MULTILIB_USEDEP}]
7138 - )
7139 - abi_x86_32? (
7140 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
7141 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
7142 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
7143 - !<app-emulation/emul-linux-x86-db-20140508-r3
7144 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
7145 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
7146 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
7147 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
7148 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
7149 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
7150 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
7151 - !<app-emulation/emul-linux-x86-soundlibs-20140508
7152 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
7153 - !<app-emulation/emul-linux-x86-xlibs-20140508
7154 - )"
7155 -
7156 -RDEPEND="${COMMON_DEPEND}
7157 - app-emulation/wine-desktop-common
7158 - >app-eselect/eselect-wine-0.3
7159 - !app-emulation/wine:0
7160 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
7161 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
7162 - mono? ( app-emulation/wine-mono:4.7.0 )
7163 - perl? (
7164 - dev-lang/perl
7165 - dev-perl/XML-Simple
7166 - )
7167 - pulseaudio? (
7168 - realtime? ( sys-auth/rtkit )
7169 - )
7170 - samba? ( >=net-fs/samba-3.0.25[winbind] )
7171 - selinux? ( sec-policy/selinux-wine )
7172 - udisks? ( sys-fs/udisks:2 )"
7173 -
7174 -# tools/make_requests requires perl
7175 -DEPEND="${COMMON_DEPEND}
7176 - sys-devel/flex
7177 - >=sys-kernel/linux-headers-2.6
7178 - virtual/pkgconfig
7179 - virtual/yacc
7180 - X? (
7181 - x11-proto/inputproto
7182 - x11-proto/xextproto
7183 - x11-proto/xf86vidmodeproto
7184 - )
7185 - prelink? ( sys-devel/prelink )
7186 - xinerama? ( x11-proto/xineramaproto )"
7187 -
7188 -# These use a non-standard "Wine" category, which is provided by
7189 -# /etc/xdg/applications-merged/wine.menu
7190 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
7191 -usr/share/applications/wine-notepad.desktop
7192 -usr/share/applications/wine-uninstaller.desktop
7193 -usr/share/applications/wine-winecfg.desktop"
7194 -
7195 -PATCHES=(
7196 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
7197 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
7198 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
7199 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
7200 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
7201 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
7202 -)
7203 -PATCHES_BIN=(
7204 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
7205 -)
7206 -
7207 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
7208 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
7209 - DEPEND+=" dev-util/patchbin"
7210 -fi
7211 -
7212 -wine_compiler_check() {
7213 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7214 -
7215 - # GCC-specific bugs
7216 - if tc-is-gcc; then
7217 - # bug #549768
7218 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
7219 - ebegin "Checking for gcc-5 ms_abi compiler bug"
7220 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
7221 - # Run in subshell to prevent "Aborted" message
7222 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
7223 - if ! eend $?; then
7224 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
7225 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
7226 - eerror "or use gcc-config to select a different compiler version."
7227 - eerror "See https://bugs.gentoo.org/549768"
7228 - eerror
7229 - return 1
7230 - fi
7231 - fi
7232 - # bug #574044
7233 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
7234 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
7235 - # Compile in subshell to prevent "Aborted" message
7236 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
7237 - if ! eend $?; then
7238 - eerror "Wine cannot be built with this version of gcc-5.3"
7239 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
7240 - eerror "or use gcc-config to select a different compiler version."
7241 - eerror "See https://bugs.gentoo.org/574044"
7242 - eerror
7243 - return 1
7244 - fi
7245 - fi
7246 - fi
7247 -
7248 - # Ensure compiler support
7249 - if use abi_x86_64; then
7250 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
7251 - # Compile in subshell to prevent "Aborted" message
7252 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
7253 - if ! eend $?; then
7254 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
7255 - eerror
7256 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
7257 - eerror
7258 - return 1
7259 - fi
7260 - fi
7261 -}
7262 -
7263 -wine_build_environment_check() {
7264 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7265 -
7266 - if use abi_x86_64; then
7267 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
7268 - eerror "You need gcc-4.4+ to compile 64-bit wine"
7269 - die
7270 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
7271 - eerror "You need clang-3.8+ to compile 64-bit wine"
7272 - die
7273 - fi
7274 - fi
7275 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
7276 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
7277 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
7278 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
7279 - fi
7280 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
7281 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
7282 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
7283 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
7284 - ewarn "See package.env in man 5 portage for more information on how to do this."
7285 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
7286 - fi
7287 - fi
7288 -
7289 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
7290 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
7291 - eerror "See https://bugs.gentoo.org/487864 for more details."
7292 - eerror
7293 - return 1
7294 - fi
7295 -}
7296 -
7297 -wine_env_vcs_vars() {
7298 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
7299 - local pn_live_val="${pn_live_var}"
7300 - eval pn_live_val='$'${pn_live_val}
7301 - if [[ ! -z ${pn_live_val} ]]; then
7302 - if use d3d9; then
7303 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
7304 - eerror "cannot be used to set the commit. Instead, you may use the"
7305 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
7306 - eerror
7307 - return 1
7308 - fi
7309 - fi
7310 - if [[ ! -z ${EGIT_COMMIT} ]]; then
7311 - eerror "Commits must now be specified using the environmental variables"
7312 - eerror "WINE_COMMIT, and D3D9_COMMIT"
7313 - eerror
7314 - return 1
7315 - fi
7316 -}
7317 -
7318 -pkg_pretend() {
7319 - wine_build_environment_check || die
7320 -
7321 - # Verify OSS support
7322 - if use oss && ! use kernel_FreeBSD; then
7323 - if ! has_version ">=media-sound/oss-4"; then
7324 - eerror "You cannot build wine with USE=oss without having support from a"
7325 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
7326 - eerror
7327 - die
7328 - fi
7329 - fi
7330 -}
7331 -
7332 -pkg_setup() {
7333 - wine_build_environment_check || die
7334 - wine_env_vcs_vars || die
7335 -
7336 - WINE_VARIANT="${PN#wine}-${PV}"
7337 - WINE_VARIANT="${WINE_VARIANT#-}"
7338 -
7339 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
7340 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
7341 - MY_DATADIR="${MY_DATAROOTDIR}"
7342 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
7343 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
7344 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
7345 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
7346 - MY_MANDIR="${MY_DATADIR}/man"
7347 -}
7348 -
7349 -src_unpack() {
7350 - if [[ ${PV} == "9999" ]] ; then
7351 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
7352 - if use d3d9; then
7353 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
7354 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
7355 - fi
7356 - fi
7357 -
7358 - default
7359 -
7360 - l10n_find_plocales_changes "${S}/po" "" ".po"
7361 -}
7362 -
7363 -src_prepare() {
7364 -
7365 - eapply_bin(){
7366 - local patch
7367 - for patch in ${PATCHES_BIN[@]}; do
7368 - patchbin --nogit < "${patch}" || die
7369 - done
7370 - }
7371 -
7372 - local md5="$(md5sum server/protocol.def)"
7373 -
7374 - if use d3d9; then
7375 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
7376 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
7377 - fi
7378 -
7379 - default
7380 - eapply_bin
7381 - eautoreconf
7382 -
7383 - # Modification of the server protocol requires regenerating the server requests
7384 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
7385 - einfo "server/protocol.def was patched; running tools/make_requests"
7386 - tools/make_requests || die #432348
7387 - fi
7388 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
7389 - if ! use run-exes; then
7390 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
7391 - fi
7392 -
7393 - # Edit wine.desktop to work for specific variant
7394 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
7395 -
7396 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
7397 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
7398 -
7399 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
7400 -}
7401 -
7402 -src_configure() {
7403 - wine_compiler_check || die
7404 -
7405 - export LDCONFIG=/bin/true
7406 - use custom-cflags || strip-flags
7407 -
7408 - multilib-minimal_src_configure
7409 -}
7410 -
7411 -multilib_src_configure() {
7412 - local myconf=(
7413 - --prefix="${MY_PREFIX}"
7414 - --datarootdir="${MY_DATAROOTDIR}"
7415 - --datadir="${MY_DATADIR}"
7416 - --docdir="${MY_DOCDIR}"
7417 - --includedir="${MY_INCLUDEDIR}"
7418 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
7419 - --libexecdir="${MY_LIBEXECDIR}"
7420 - --localstatedir="${MY_LOCALSTATEDIR}"
7421 - --mandir="${MY_MANDIR}"
7422 - --sysconfdir=/etc/wine
7423 - $(use_with alsa)
7424 - $(use_with capi)
7425 - $(use_with lcms cms)
7426 - $(use_with cups)
7427 - $(use_with ncurses curses)
7428 - $(use_with udisks dbus)
7429 - $(use_with fontconfig)
7430 - $(use_with ssl gnutls)
7431 - $(use_enable gecko mshtml)
7432 - $(use_with gphoto2 gphoto)
7433 - $(use_with gsm)
7434 - $(use_with gstreamer)
7435 - --without-hal
7436 - $(use_with jpeg)
7437 - $(use_with ldap)
7438 - $(use_enable mono mscoree)
7439 - $(use_with mp3 mpg123)
7440 - $(use_with netapi)
7441 - $(use_with nls gettext)
7442 - $(use_with openal)
7443 - $(use_with opencl)
7444 - $(use_with opengl)
7445 - $(use_with osmesa)
7446 - $(use_with oss)
7447 - $(use_with pcap)
7448 - $(use_with png)
7449 - $(use_with pulseaudio pulse)
7450 - $(use_with threads pthread)
7451 - $(use_with scanner sane)
7452 - $(use_enable test tests)
7453 - $(use_with truetype freetype)
7454 - $(use_with udev)
7455 - $(use_with v4l)
7456 - $(use_with X x)
7457 - $(use_with xcomposite)
7458 - $(use_with xinerama)
7459 - $(use_with xml)
7460 - $(use_with xml xslt)
7461 - )
7462 -
7463 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
7464 -
7465 - local PKG_CONFIG AR RANLIB
7466 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
7467 - # set AR and RANLIB to make QA scripts happy; #483342
7468 - tc-export PKG_CONFIG AR RANLIB
7469 -
7470 - if use amd64; then
7471 - if [[ ${ABI} == amd64 ]]; then
7472 - myconf+=( --enable-win64 )
7473 - else
7474 - myconf+=( --disable-win64 )
7475 - fi
7476 -
7477 - # Note: using --with-wine64 results in problems with multilib.eclass
7478 - # CC/LD hackery. We're using separate tools instead.
7479 - fi
7480 -
7481 - ECONF_SOURCE=${S} \
7482 - econf "${myconf[@]}"
7483 - emake depend
7484 -}
7485 -
7486 -multilib_src_test() {
7487 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
7488 - if [[ ${ABI} == x86 ]]; then
7489 - if [[ $(id -u) == 0 ]]; then
7490 - ewarn "Skipping tests since they cannot be run under the root user."
7491 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
7492 - return
7493 - fi
7494 -
7495 - WINEPREFIX="${T}/.wine-${ABI}" \
7496 - Xemake test
7497 - fi
7498 -}
7499 -
7500 -multilib_src_install_all() {
7501 - local DOCS=( ANNOUNCE AUTHORS README )
7502 - add_locale_docs() {
7503 - local locale_doc="documentation/README.$1"
7504 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
7505 - }
7506 - l10n_for_each_locale_do add_locale_docs
7507 -
7508 - einstalldocs
7509 - prune_libtool_files --all
7510 -
7511 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
7512 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
7513 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
7514 - fi
7515 -
7516 - # Remove wineconsole if neither backend is installed #551124
7517 - if ! use X && ! use ncurses; then
7518 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
7519 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
7520 - rm_wineconsole() {
7521 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
7522 - }
7523 - multilib_foreach_abi rm_wineconsole
7524 - fi
7525 -
7526 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
7527 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
7528 -
7529 - if use abi_x86_64 && ! use abi_x86_32; then
7530 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
7531 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
7532 - fi
7533 -
7534 - # Failglob for bin and man loops
7535 - local glob_state=$(shopt -p failglob)
7536 - shopt -s failglob
7537 -
7538 - # Make wrappers for binaries for handling multiple variants
7539 - # Note: wrappers instead of symlinks because some are shell which use basename
7540 - local b
7541 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
7542 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
7543 - done
7544 -
7545 - # respect LINGUAS when installing man pages, #469418
7546 - local l
7547 - for l in de fr pl; do
7548 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
7549 - done
7550 -
7551 - eval "${glob_state}"
7552 -}
7553 -
7554 -pkg_postinst() {
7555 - eselect wine register ${P}
7556 - if [[ ${PN} == "wine-vanilla" ]]; then
7557 - eselect wine register --vanilla ${P} || die
7558 - else
7559 - if use d3d9; then
7560 - eselect wine register --d3d9 ${P} || die
7561 - fi
7562 - fi
7563 -
7564 - eselect wine update --all --if-unset || die
7565 -
7566 - xdg_desktop_database_update
7567 -
7568 - if ! use gecko; then
7569 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
7570 - ewarn "implementation of iexplore. Many older windows applications"
7571 - ewarn "rely upon the existence of an iexplore implementation, so"
7572 - ewarn "you will likely need to install an external one, like via winetricks"
7573 - fi
7574 - if ! use mono; then
7575 - ewarn "Without Wine Mono, wine prefixes will not have a default"
7576 - ewarn "implementation of .NET. Many windows applications rely upon"
7577 - ewarn "the existence of a .NET implementation, so you will likely need"
7578 - ewarn "to install an external one, like via winetricks"
7579 - fi
7580 -}
7581 -
7582 -pkg_prerm() {
7583 - eselect wine deregister ${P}
7584 - if [[ ${PN} == "wine-vanilla" ]]; then
7585 - eselect wine deregister --vanilla ${P} || die
7586 - else
7587 - if use d3d9; then
7588 - eselect wine deregister --d3d9 ${P} || die
7589 - fi
7590 - fi
7591 -
7592 - eselect wine update --all --if-unset || die
7593 -}
7594 -
7595 -pkg_postrm() {
7596 - xdg_desktop_database_update
7597 -}
7598
7599 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.6-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.6-r1.ebuild
7600 deleted file mode 100644
7601 index 6f8a34c54fa..00000000000
7602 --- a/app-emulation/wine-d3d9/wine-d3d9-2.6-r1.ebuild
7603 +++ /dev/null
7604 @@ -1,570 +0,0 @@
7605 -# Copyright 1999-2017 Gentoo Foundation
7606 -# Distributed under the terms of the GNU General Public License v2
7607 -
7608 -EAPI=6
7609 -
7610 -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"
7611 -PLOCALE_BACKUP="en"
7612 -
7613 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
7614 -
7615 -MY_PN="${PN%%-*}"
7616 -MY_P="${MY_PN}-${PV}"
7617 -
7618 -if [[ ${PV} == "9999" ]] ; then
7619 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
7620 - EGIT_BRANCH="master"
7621 - inherit git-r3
7622 - SRC_URI=""
7623 - #KEYWORDS=""
7624 -else
7625 - MAJOR_V=$(get_version_component_range 1)
7626 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
7627 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
7628 -fi
7629 -S="${WORKDIR}/${MY_P}"
7630 -
7631 -D3D9_P="wine-d3d9-${PV}"
7632 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
7633 -GWP_V="20170830"
7634 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
7635 -
7636 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
7637 -HOMEPAGE="https://www.winehq.org/"
7638 -SRC_URI="${SRC_URI}
7639 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
7640 -"
7641 -
7642 -if [[ ${PV} == "9999" ]] ; then
7643 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
7644 -else
7645 - SRC_URI="${SRC_URI}
7646 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
7647 -fi
7648 -
7649 -LICENSE="LGPL-2.1"
7650 -SLOT="${PV}"
7651 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
7652 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
7653 - X? ( truetype )
7654 - elibc_glibc? ( threads )
7655 - osmesa? ( opengl )
7656 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
7657 -
7658 -# FIXME: the test suite is unsuitable for us; many tests require net access
7659 -# or fail due to Xvfb's opengl limitations.
7660 -RESTRICT="test"
7661 -
7662 -COMMON_DEPEND="
7663 - X? (
7664 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
7665 - x11-libs/libXext[${MULTILIB_USEDEP}]
7666 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
7667 - x11-libs/libXi[${MULTILIB_USEDEP}]
7668 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
7669 - )
7670 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
7671 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
7672 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
7673 - d3d9? (
7674 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
7675 - x11-libs/libX11[${MULTILIB_USEDEP}]
7676 - x11-libs/libXext[${MULTILIB_USEDEP}]
7677 - x11-libs/libxcb[${MULTILIB_USEDEP}]
7678 - )
7679 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
7680 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
7681 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
7682 - gstreamer? (
7683 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
7684 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
7685 - )
7686 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
7687 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
7688 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
7689 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
7690 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
7691 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
7692 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
7693 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
7694 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
7695 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
7696 - opengl? (
7697 - virtual/glu[${MULTILIB_USEDEP}]
7698 - virtual/opengl[${MULTILIB_USEDEP}]
7699 - )
7700 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
7701 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
7702 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
7703 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
7704 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
7705 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
7706 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
7707 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
7708 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
7709 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
7710 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
7711 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
7712 - xml? (
7713 - dev-libs/libxml2[${MULTILIB_USEDEP}]
7714 - dev-libs/libxslt[${MULTILIB_USEDEP}]
7715 - )
7716 - abi_x86_32? (
7717 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
7718 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
7719 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
7720 - !<app-emulation/emul-linux-x86-db-20140508-r3
7721 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
7722 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
7723 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
7724 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
7725 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
7726 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
7727 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
7728 - !<app-emulation/emul-linux-x86-soundlibs-20140508
7729 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
7730 - !<app-emulation/emul-linux-x86-xlibs-20140508
7731 - )"
7732 -
7733 -RDEPEND="${COMMON_DEPEND}
7734 - app-emulation/wine-desktop-common
7735 - >app-eselect/eselect-wine-0.3
7736 - !app-emulation/wine:0
7737 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
7738 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
7739 - mono? ( app-emulation/wine-mono:4.7.0 )
7740 - perl? (
7741 - dev-lang/perl
7742 - dev-perl/XML-Simple
7743 - )
7744 - pulseaudio? (
7745 - realtime? ( sys-auth/rtkit )
7746 - )
7747 - samba? ( >=net-fs/samba-3.0.25[winbind] )
7748 - selinux? ( sec-policy/selinux-wine )
7749 - udisks? ( sys-fs/udisks:2 )"
7750 -
7751 -# tools/make_requests requires perl
7752 -DEPEND="${COMMON_DEPEND}
7753 - sys-devel/flex
7754 - >=sys-kernel/linux-headers-2.6
7755 - virtual/pkgconfig
7756 - virtual/yacc
7757 - X? (
7758 - x11-proto/inputproto
7759 - x11-proto/xextproto
7760 - x11-proto/xf86vidmodeproto
7761 - )
7762 - prelink? ( sys-devel/prelink )
7763 - xinerama? ( x11-proto/xineramaproto )"
7764 -
7765 -# These use a non-standard "Wine" category, which is provided by
7766 -# /etc/xdg/applications-merged/wine.menu
7767 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
7768 -usr/share/applications/wine-notepad.desktop
7769 -usr/share/applications/wine-uninstaller.desktop
7770 -usr/share/applications/wine-winecfg.desktop"
7771 -
7772 -PATCHES=(
7773 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
7774 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
7775 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
7776 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
7777 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
7778 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
7779 -)
7780 -PATCHES_BIN=(
7781 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
7782 -)
7783 -
7784 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
7785 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
7786 - DEPEND+=" dev-util/patchbin"
7787 -fi
7788 -
7789 -wine_compiler_check() {
7790 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7791 -
7792 - # GCC-specific bugs
7793 - if tc-is-gcc; then
7794 - # bug #549768
7795 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
7796 - ebegin "Checking for gcc-5 ms_abi compiler bug"
7797 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
7798 - # Run in subshell to prevent "Aborted" message
7799 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
7800 - if ! eend $?; then
7801 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
7802 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
7803 - eerror "or use gcc-config to select a different compiler version."
7804 - eerror "See https://bugs.gentoo.org/549768"
7805 - eerror
7806 - return 1
7807 - fi
7808 - fi
7809 - # bug #574044
7810 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
7811 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
7812 - # Compile in subshell to prevent "Aborted" message
7813 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
7814 - if ! eend $?; then
7815 - eerror "Wine cannot be built with this version of gcc-5.3"
7816 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
7817 - eerror "or use gcc-config to select a different compiler version."
7818 - eerror "See https://bugs.gentoo.org/574044"
7819 - eerror
7820 - return 1
7821 - fi
7822 - fi
7823 - fi
7824 -
7825 - # Ensure compiler support
7826 - if use abi_x86_64; then
7827 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
7828 - # Compile in subshell to prevent "Aborted" message
7829 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
7830 - if ! eend $?; then
7831 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
7832 - eerror
7833 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
7834 - eerror
7835 - return 1
7836 - fi
7837 - fi
7838 -}
7839 -
7840 -wine_build_environment_check() {
7841 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
7842 -
7843 - if use abi_x86_64; then
7844 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
7845 - eerror "You need gcc-4.4+ to compile 64-bit wine"
7846 - die
7847 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
7848 - eerror "You need clang-3.8+ to compile 64-bit wine"
7849 - die
7850 - fi
7851 - fi
7852 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
7853 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
7854 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
7855 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
7856 - fi
7857 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
7858 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
7859 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
7860 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
7861 - ewarn "See package.env in man 5 portage for more information on how to do this."
7862 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
7863 - fi
7864 - fi
7865 -
7866 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
7867 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
7868 - eerror "See https://bugs.gentoo.org/487864 for more details."
7869 - eerror
7870 - return 1
7871 - fi
7872 -}
7873 -
7874 -wine_env_vcs_vars() {
7875 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
7876 - local pn_live_val="${pn_live_var}"
7877 - eval pn_live_val='$'${pn_live_val}
7878 - if [[ ! -z ${pn_live_val} ]]; then
7879 - if use d3d9; then
7880 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
7881 - eerror "cannot be used to set the commit. Instead, you may use the"
7882 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
7883 - eerror
7884 - return 1
7885 - fi
7886 - fi
7887 - if [[ ! -z ${EGIT_COMMIT} ]]; then
7888 - eerror "Commits must now be specified using the environmental variables"
7889 - eerror "WINE_COMMIT, and D3D9_COMMIT"
7890 - eerror
7891 - return 1
7892 - fi
7893 -}
7894 -
7895 -pkg_pretend() {
7896 - wine_build_environment_check || die
7897 -
7898 - # Verify OSS support
7899 - if use oss && ! use kernel_FreeBSD; then
7900 - if ! has_version ">=media-sound/oss-4"; then
7901 - eerror "You cannot build wine with USE=oss without having support from a"
7902 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
7903 - eerror
7904 - die
7905 - fi
7906 - fi
7907 -}
7908 -
7909 -pkg_setup() {
7910 - wine_build_environment_check || die
7911 - wine_env_vcs_vars || die
7912 -
7913 - WINE_VARIANT="${PN#wine}-${PV}"
7914 - WINE_VARIANT="${WINE_VARIANT#-}"
7915 -
7916 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
7917 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
7918 - MY_DATADIR="${MY_DATAROOTDIR}"
7919 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
7920 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
7921 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
7922 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
7923 - MY_MANDIR="${MY_DATADIR}/man"
7924 -}
7925 -
7926 -src_unpack() {
7927 - if [[ ${PV} == "9999" ]] ; then
7928 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
7929 - if use d3d9; then
7930 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
7931 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
7932 - fi
7933 - fi
7934 -
7935 - default
7936 -
7937 - l10n_find_plocales_changes "${S}/po" "" ".po"
7938 -}
7939 -
7940 -src_prepare() {
7941 -
7942 - eapply_bin(){
7943 - local patch
7944 - for patch in ${PATCHES_BIN[@]}; do
7945 - patchbin --nogit < "${patch}" || die
7946 - done
7947 - }
7948 -
7949 - local md5="$(md5sum server/protocol.def)"
7950 -
7951 - if use d3d9; then
7952 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
7953 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
7954 - fi
7955 -
7956 - default
7957 - eapply_bin
7958 - eautoreconf
7959 -
7960 - # Modification of the server protocol requires regenerating the server requests
7961 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
7962 - einfo "server/protocol.def was patched; running tools/make_requests"
7963 - tools/make_requests || die #432348
7964 - fi
7965 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
7966 - if ! use run-exes; then
7967 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
7968 - fi
7969 -
7970 - # Edit wine.desktop to work for specific variant
7971 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
7972 -
7973 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
7974 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
7975 -
7976 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
7977 -}
7978 -
7979 -src_configure() {
7980 - wine_compiler_check || die
7981 -
7982 - export LDCONFIG=/bin/true
7983 - use custom-cflags || strip-flags
7984 -
7985 - multilib-minimal_src_configure
7986 -}
7987 -
7988 -multilib_src_configure() {
7989 - local myconf=(
7990 - --prefix="${MY_PREFIX}"
7991 - --datarootdir="${MY_DATAROOTDIR}"
7992 - --datadir="${MY_DATADIR}"
7993 - --docdir="${MY_DOCDIR}"
7994 - --includedir="${MY_INCLUDEDIR}"
7995 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
7996 - --libexecdir="${MY_LIBEXECDIR}"
7997 - --localstatedir="${MY_LOCALSTATEDIR}"
7998 - --mandir="${MY_MANDIR}"
7999 - --sysconfdir=/etc/wine
8000 - $(use_with alsa)
8001 - $(use_with capi)
8002 - $(use_with lcms cms)
8003 - $(use_with cups)
8004 - $(use_with ncurses curses)
8005 - $(use_with udisks dbus)
8006 - $(use_with fontconfig)
8007 - $(use_with ssl gnutls)
8008 - $(use_enable gecko mshtml)
8009 - $(use_with gphoto2 gphoto)
8010 - $(use_with gsm)
8011 - $(use_with gstreamer)
8012 - --without-hal
8013 - $(use_with jpeg)
8014 - $(use_with ldap)
8015 - $(use_enable mono mscoree)
8016 - $(use_with mp3 mpg123)
8017 - $(use_with netapi)
8018 - $(use_with nls gettext)
8019 - $(use_with openal)
8020 - $(use_with opencl)
8021 - $(use_with opengl)
8022 - $(use_with osmesa)
8023 - $(use_with oss)
8024 - $(use_with pcap)
8025 - $(use_with png)
8026 - $(use_with pulseaudio pulse)
8027 - $(use_with threads pthread)
8028 - $(use_with scanner sane)
8029 - $(use_enable test tests)
8030 - $(use_with truetype freetype)
8031 - $(use_with udev)
8032 - $(use_with v4l)
8033 - $(use_with X x)
8034 - $(use_with xcomposite)
8035 - $(use_with xinerama)
8036 - $(use_with xml)
8037 - $(use_with xml xslt)
8038 - )
8039 -
8040 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
8041 -
8042 - local PKG_CONFIG AR RANLIB
8043 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
8044 - # set AR and RANLIB to make QA scripts happy; #483342
8045 - tc-export PKG_CONFIG AR RANLIB
8046 -
8047 - if use amd64; then
8048 - if [[ ${ABI} == amd64 ]]; then
8049 - myconf+=( --enable-win64 )
8050 - else
8051 - myconf+=( --disable-win64 )
8052 - fi
8053 -
8054 - # Note: using --with-wine64 results in problems with multilib.eclass
8055 - # CC/LD hackery. We're using separate tools instead.
8056 - fi
8057 -
8058 - ECONF_SOURCE=${S} \
8059 - econf "${myconf[@]}"
8060 - emake depend
8061 -}
8062 -
8063 -multilib_src_test() {
8064 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
8065 - if [[ ${ABI} == x86 ]]; then
8066 - if [[ $(id -u) == 0 ]]; then
8067 - ewarn "Skipping tests since they cannot be run under the root user."
8068 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
8069 - return
8070 - fi
8071 -
8072 - WINEPREFIX="${T}/.wine-${ABI}" \
8073 - Xemake test
8074 - fi
8075 -}
8076 -
8077 -multilib_src_install_all() {
8078 - local DOCS=( ANNOUNCE AUTHORS README )
8079 - add_locale_docs() {
8080 - local locale_doc="documentation/README.$1"
8081 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
8082 - }
8083 - l10n_for_each_locale_do add_locale_docs
8084 -
8085 - einstalldocs
8086 - prune_libtool_files --all
8087 -
8088 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
8089 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
8090 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
8091 - fi
8092 -
8093 - # Remove wineconsole if neither backend is installed #551124
8094 - if ! use X && ! use ncurses; then
8095 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
8096 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
8097 - rm_wineconsole() {
8098 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
8099 - }
8100 - multilib_foreach_abi rm_wineconsole
8101 - fi
8102 -
8103 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
8104 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
8105 -
8106 - if use abi_x86_64 && ! use abi_x86_32; then
8107 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
8108 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
8109 - fi
8110 -
8111 - # Failglob for bin and man loops
8112 - local glob_state=$(shopt -p failglob)
8113 - shopt -s failglob
8114 -
8115 - # Make wrappers for binaries for handling multiple variants
8116 - # Note: wrappers instead of symlinks because some are shell which use basename
8117 - local b
8118 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
8119 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
8120 - done
8121 -
8122 - # respect LINGUAS when installing man pages, #469418
8123 - local l
8124 - for l in de fr pl; do
8125 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
8126 - done
8127 -
8128 - eval "${glob_state}"
8129 -}
8130 -
8131 -pkg_postinst() {
8132 - eselect wine register ${P}
8133 - if [[ ${PN} == "wine-vanilla" ]]; then
8134 - eselect wine register --vanilla ${P} || die
8135 - else
8136 - if use d3d9; then
8137 - eselect wine register --d3d9 ${P} || die
8138 - fi
8139 - fi
8140 -
8141 - eselect wine update --all --if-unset || die
8142 -
8143 - xdg_desktop_database_update
8144 -
8145 - if ! use gecko; then
8146 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
8147 - ewarn "implementation of iexplore. Many older windows applications"
8148 - ewarn "rely upon the existence of an iexplore implementation, so"
8149 - ewarn "you will likely need to install an external one, like via winetricks"
8150 - fi
8151 - if ! use mono; then
8152 - ewarn "Without Wine Mono, wine prefixes will not have a default"
8153 - ewarn "implementation of .NET. Many windows applications rely upon"
8154 - ewarn "the existence of a .NET implementation, so you will likely need"
8155 - ewarn "to install an external one, like via winetricks"
8156 - fi
8157 -}
8158 -
8159 -pkg_prerm() {
8160 - eselect wine deregister ${P}
8161 - if [[ ${PN} == "wine-vanilla" ]]; then
8162 - eselect wine deregister --vanilla ${P} || die
8163 - else
8164 - if use d3d9; then
8165 - eselect wine deregister --d3d9 ${P} || die
8166 - fi
8167 - fi
8168 -
8169 - eselect wine update --all --if-unset || die
8170 -}
8171 -
8172 -pkg_postrm() {
8173 - xdg_desktop_database_update
8174 -}
8175
8176 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.7-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.7-r1.ebuild
8177 deleted file mode 100644
8178 index 6f8a34c54fa..00000000000
8179 --- a/app-emulation/wine-d3d9/wine-d3d9-2.7-r1.ebuild
8180 +++ /dev/null
8181 @@ -1,570 +0,0 @@
8182 -# Copyright 1999-2017 Gentoo Foundation
8183 -# Distributed under the terms of the GNU General Public License v2
8184 -
8185 -EAPI=6
8186 -
8187 -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"
8188 -PLOCALE_BACKUP="en"
8189 -
8190 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
8191 -
8192 -MY_PN="${PN%%-*}"
8193 -MY_P="${MY_PN}-${PV}"
8194 -
8195 -if [[ ${PV} == "9999" ]] ; then
8196 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
8197 - EGIT_BRANCH="master"
8198 - inherit git-r3
8199 - SRC_URI=""
8200 - #KEYWORDS=""
8201 -else
8202 - MAJOR_V=$(get_version_component_range 1)
8203 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
8204 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
8205 -fi
8206 -S="${WORKDIR}/${MY_P}"
8207 -
8208 -D3D9_P="wine-d3d9-${PV}"
8209 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
8210 -GWP_V="20170830"
8211 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
8212 -
8213 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
8214 -HOMEPAGE="https://www.winehq.org/"
8215 -SRC_URI="${SRC_URI}
8216 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
8217 -"
8218 -
8219 -if [[ ${PV} == "9999" ]] ; then
8220 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
8221 -else
8222 - SRC_URI="${SRC_URI}
8223 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
8224 -fi
8225 -
8226 -LICENSE="LGPL-2.1"
8227 -SLOT="${PV}"
8228 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
8229 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
8230 - X? ( truetype )
8231 - elibc_glibc? ( threads )
8232 - osmesa? ( opengl )
8233 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
8234 -
8235 -# FIXME: the test suite is unsuitable for us; many tests require net access
8236 -# or fail due to Xvfb's opengl limitations.
8237 -RESTRICT="test"
8238 -
8239 -COMMON_DEPEND="
8240 - X? (
8241 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
8242 - x11-libs/libXext[${MULTILIB_USEDEP}]
8243 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
8244 - x11-libs/libXi[${MULTILIB_USEDEP}]
8245 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
8246 - )
8247 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
8248 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
8249 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
8250 - d3d9? (
8251 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
8252 - x11-libs/libX11[${MULTILIB_USEDEP}]
8253 - x11-libs/libXext[${MULTILIB_USEDEP}]
8254 - x11-libs/libxcb[${MULTILIB_USEDEP}]
8255 - )
8256 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
8257 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
8258 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
8259 - gstreamer? (
8260 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
8261 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
8262 - )
8263 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
8264 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
8265 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
8266 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
8267 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
8268 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
8269 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
8270 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
8271 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
8272 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
8273 - opengl? (
8274 - virtual/glu[${MULTILIB_USEDEP}]
8275 - virtual/opengl[${MULTILIB_USEDEP}]
8276 - )
8277 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
8278 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
8279 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
8280 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
8281 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
8282 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
8283 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
8284 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
8285 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
8286 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
8287 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
8288 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
8289 - xml? (
8290 - dev-libs/libxml2[${MULTILIB_USEDEP}]
8291 - dev-libs/libxslt[${MULTILIB_USEDEP}]
8292 - )
8293 - abi_x86_32? (
8294 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
8295 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
8296 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
8297 - !<app-emulation/emul-linux-x86-db-20140508-r3
8298 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
8299 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
8300 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
8301 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
8302 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
8303 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
8304 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
8305 - !<app-emulation/emul-linux-x86-soundlibs-20140508
8306 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
8307 - !<app-emulation/emul-linux-x86-xlibs-20140508
8308 - )"
8309 -
8310 -RDEPEND="${COMMON_DEPEND}
8311 - app-emulation/wine-desktop-common
8312 - >app-eselect/eselect-wine-0.3
8313 - !app-emulation/wine:0
8314 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
8315 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
8316 - mono? ( app-emulation/wine-mono:4.7.0 )
8317 - perl? (
8318 - dev-lang/perl
8319 - dev-perl/XML-Simple
8320 - )
8321 - pulseaudio? (
8322 - realtime? ( sys-auth/rtkit )
8323 - )
8324 - samba? ( >=net-fs/samba-3.0.25[winbind] )
8325 - selinux? ( sec-policy/selinux-wine )
8326 - udisks? ( sys-fs/udisks:2 )"
8327 -
8328 -# tools/make_requests requires perl
8329 -DEPEND="${COMMON_DEPEND}
8330 - sys-devel/flex
8331 - >=sys-kernel/linux-headers-2.6
8332 - virtual/pkgconfig
8333 - virtual/yacc
8334 - X? (
8335 - x11-proto/inputproto
8336 - x11-proto/xextproto
8337 - x11-proto/xf86vidmodeproto
8338 - )
8339 - prelink? ( sys-devel/prelink )
8340 - xinerama? ( x11-proto/xineramaproto )"
8341 -
8342 -# These use a non-standard "Wine" category, which is provided by
8343 -# /etc/xdg/applications-merged/wine.menu
8344 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
8345 -usr/share/applications/wine-notepad.desktop
8346 -usr/share/applications/wine-uninstaller.desktop
8347 -usr/share/applications/wine-winecfg.desktop"
8348 -
8349 -PATCHES=(
8350 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
8351 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
8352 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
8353 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
8354 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
8355 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
8356 -)
8357 -PATCHES_BIN=(
8358 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
8359 -)
8360 -
8361 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
8362 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
8363 - DEPEND+=" dev-util/patchbin"
8364 -fi
8365 -
8366 -wine_compiler_check() {
8367 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8368 -
8369 - # GCC-specific bugs
8370 - if tc-is-gcc; then
8371 - # bug #549768
8372 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
8373 - ebegin "Checking for gcc-5 ms_abi compiler bug"
8374 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
8375 - # Run in subshell to prevent "Aborted" message
8376 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
8377 - if ! eend $?; then
8378 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
8379 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
8380 - eerror "or use gcc-config to select a different compiler version."
8381 - eerror "See https://bugs.gentoo.org/549768"
8382 - eerror
8383 - return 1
8384 - fi
8385 - fi
8386 - # bug #574044
8387 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
8388 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
8389 - # Compile in subshell to prevent "Aborted" message
8390 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
8391 - if ! eend $?; then
8392 - eerror "Wine cannot be built with this version of gcc-5.3"
8393 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
8394 - eerror "or use gcc-config to select a different compiler version."
8395 - eerror "See https://bugs.gentoo.org/574044"
8396 - eerror
8397 - return 1
8398 - fi
8399 - fi
8400 - fi
8401 -
8402 - # Ensure compiler support
8403 - if use abi_x86_64; then
8404 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
8405 - # Compile in subshell to prevent "Aborted" message
8406 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
8407 - if ! eend $?; then
8408 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
8409 - eerror
8410 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
8411 - eerror
8412 - return 1
8413 - fi
8414 - fi
8415 -}
8416 -
8417 -wine_build_environment_check() {
8418 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8419 -
8420 - if use abi_x86_64; then
8421 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
8422 - eerror "You need gcc-4.4+ to compile 64-bit wine"
8423 - die
8424 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
8425 - eerror "You need clang-3.8+ to compile 64-bit wine"
8426 - die
8427 - fi
8428 - fi
8429 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
8430 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
8431 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
8432 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
8433 - fi
8434 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
8435 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
8436 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
8437 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
8438 - ewarn "See package.env in man 5 portage for more information on how to do this."
8439 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
8440 - fi
8441 - fi
8442 -
8443 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
8444 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
8445 - eerror "See https://bugs.gentoo.org/487864 for more details."
8446 - eerror
8447 - return 1
8448 - fi
8449 -}
8450 -
8451 -wine_env_vcs_vars() {
8452 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
8453 - local pn_live_val="${pn_live_var}"
8454 - eval pn_live_val='$'${pn_live_val}
8455 - if [[ ! -z ${pn_live_val} ]]; then
8456 - if use d3d9; then
8457 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
8458 - eerror "cannot be used to set the commit. Instead, you may use the"
8459 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
8460 - eerror
8461 - return 1
8462 - fi
8463 - fi
8464 - if [[ ! -z ${EGIT_COMMIT} ]]; then
8465 - eerror "Commits must now be specified using the environmental variables"
8466 - eerror "WINE_COMMIT, and D3D9_COMMIT"
8467 - eerror
8468 - return 1
8469 - fi
8470 -}
8471 -
8472 -pkg_pretend() {
8473 - wine_build_environment_check || die
8474 -
8475 - # Verify OSS support
8476 - if use oss && ! use kernel_FreeBSD; then
8477 - if ! has_version ">=media-sound/oss-4"; then
8478 - eerror "You cannot build wine with USE=oss without having support from a"
8479 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
8480 - eerror
8481 - die
8482 - fi
8483 - fi
8484 -}
8485 -
8486 -pkg_setup() {
8487 - wine_build_environment_check || die
8488 - wine_env_vcs_vars || die
8489 -
8490 - WINE_VARIANT="${PN#wine}-${PV}"
8491 - WINE_VARIANT="${WINE_VARIANT#-}"
8492 -
8493 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
8494 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
8495 - MY_DATADIR="${MY_DATAROOTDIR}"
8496 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
8497 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
8498 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
8499 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
8500 - MY_MANDIR="${MY_DATADIR}/man"
8501 -}
8502 -
8503 -src_unpack() {
8504 - if [[ ${PV} == "9999" ]] ; then
8505 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
8506 - if use d3d9; then
8507 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
8508 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
8509 - fi
8510 - fi
8511 -
8512 - default
8513 -
8514 - l10n_find_plocales_changes "${S}/po" "" ".po"
8515 -}
8516 -
8517 -src_prepare() {
8518 -
8519 - eapply_bin(){
8520 - local patch
8521 - for patch in ${PATCHES_BIN[@]}; do
8522 - patchbin --nogit < "${patch}" || die
8523 - done
8524 - }
8525 -
8526 - local md5="$(md5sum server/protocol.def)"
8527 -
8528 - if use d3d9; then
8529 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
8530 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
8531 - fi
8532 -
8533 - default
8534 - eapply_bin
8535 - eautoreconf
8536 -
8537 - # Modification of the server protocol requires regenerating the server requests
8538 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
8539 - einfo "server/protocol.def was patched; running tools/make_requests"
8540 - tools/make_requests || die #432348
8541 - fi
8542 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
8543 - if ! use run-exes; then
8544 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
8545 - fi
8546 -
8547 - # Edit wine.desktop to work for specific variant
8548 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
8549 -
8550 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
8551 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
8552 -
8553 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
8554 -}
8555 -
8556 -src_configure() {
8557 - wine_compiler_check || die
8558 -
8559 - export LDCONFIG=/bin/true
8560 - use custom-cflags || strip-flags
8561 -
8562 - multilib-minimal_src_configure
8563 -}
8564 -
8565 -multilib_src_configure() {
8566 - local myconf=(
8567 - --prefix="${MY_PREFIX}"
8568 - --datarootdir="${MY_DATAROOTDIR}"
8569 - --datadir="${MY_DATADIR}"
8570 - --docdir="${MY_DOCDIR}"
8571 - --includedir="${MY_INCLUDEDIR}"
8572 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
8573 - --libexecdir="${MY_LIBEXECDIR}"
8574 - --localstatedir="${MY_LOCALSTATEDIR}"
8575 - --mandir="${MY_MANDIR}"
8576 - --sysconfdir=/etc/wine
8577 - $(use_with alsa)
8578 - $(use_with capi)
8579 - $(use_with lcms cms)
8580 - $(use_with cups)
8581 - $(use_with ncurses curses)
8582 - $(use_with udisks dbus)
8583 - $(use_with fontconfig)
8584 - $(use_with ssl gnutls)
8585 - $(use_enable gecko mshtml)
8586 - $(use_with gphoto2 gphoto)
8587 - $(use_with gsm)
8588 - $(use_with gstreamer)
8589 - --without-hal
8590 - $(use_with jpeg)
8591 - $(use_with ldap)
8592 - $(use_enable mono mscoree)
8593 - $(use_with mp3 mpg123)
8594 - $(use_with netapi)
8595 - $(use_with nls gettext)
8596 - $(use_with openal)
8597 - $(use_with opencl)
8598 - $(use_with opengl)
8599 - $(use_with osmesa)
8600 - $(use_with oss)
8601 - $(use_with pcap)
8602 - $(use_with png)
8603 - $(use_with pulseaudio pulse)
8604 - $(use_with threads pthread)
8605 - $(use_with scanner sane)
8606 - $(use_enable test tests)
8607 - $(use_with truetype freetype)
8608 - $(use_with udev)
8609 - $(use_with v4l)
8610 - $(use_with X x)
8611 - $(use_with xcomposite)
8612 - $(use_with xinerama)
8613 - $(use_with xml)
8614 - $(use_with xml xslt)
8615 - )
8616 -
8617 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
8618 -
8619 - local PKG_CONFIG AR RANLIB
8620 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
8621 - # set AR and RANLIB to make QA scripts happy; #483342
8622 - tc-export PKG_CONFIG AR RANLIB
8623 -
8624 - if use amd64; then
8625 - if [[ ${ABI} == amd64 ]]; then
8626 - myconf+=( --enable-win64 )
8627 - else
8628 - myconf+=( --disable-win64 )
8629 - fi
8630 -
8631 - # Note: using --with-wine64 results in problems with multilib.eclass
8632 - # CC/LD hackery. We're using separate tools instead.
8633 - fi
8634 -
8635 - ECONF_SOURCE=${S} \
8636 - econf "${myconf[@]}"
8637 - emake depend
8638 -}
8639 -
8640 -multilib_src_test() {
8641 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
8642 - if [[ ${ABI} == x86 ]]; then
8643 - if [[ $(id -u) == 0 ]]; then
8644 - ewarn "Skipping tests since they cannot be run under the root user."
8645 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
8646 - return
8647 - fi
8648 -
8649 - WINEPREFIX="${T}/.wine-${ABI}" \
8650 - Xemake test
8651 - fi
8652 -}
8653 -
8654 -multilib_src_install_all() {
8655 - local DOCS=( ANNOUNCE AUTHORS README )
8656 - add_locale_docs() {
8657 - local locale_doc="documentation/README.$1"
8658 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
8659 - }
8660 - l10n_for_each_locale_do add_locale_docs
8661 -
8662 - einstalldocs
8663 - prune_libtool_files --all
8664 -
8665 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
8666 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
8667 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
8668 - fi
8669 -
8670 - # Remove wineconsole if neither backend is installed #551124
8671 - if ! use X && ! use ncurses; then
8672 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
8673 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
8674 - rm_wineconsole() {
8675 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
8676 - }
8677 - multilib_foreach_abi rm_wineconsole
8678 - fi
8679 -
8680 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
8681 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
8682 -
8683 - if use abi_x86_64 && ! use abi_x86_32; then
8684 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
8685 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
8686 - fi
8687 -
8688 - # Failglob for bin and man loops
8689 - local glob_state=$(shopt -p failglob)
8690 - shopt -s failglob
8691 -
8692 - # Make wrappers for binaries for handling multiple variants
8693 - # Note: wrappers instead of symlinks because some are shell which use basename
8694 - local b
8695 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
8696 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
8697 - done
8698 -
8699 - # respect LINGUAS when installing man pages, #469418
8700 - local l
8701 - for l in de fr pl; do
8702 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
8703 - done
8704 -
8705 - eval "${glob_state}"
8706 -}
8707 -
8708 -pkg_postinst() {
8709 - eselect wine register ${P}
8710 - if [[ ${PN} == "wine-vanilla" ]]; then
8711 - eselect wine register --vanilla ${P} || die
8712 - else
8713 - if use d3d9; then
8714 - eselect wine register --d3d9 ${P} || die
8715 - fi
8716 - fi
8717 -
8718 - eselect wine update --all --if-unset || die
8719 -
8720 - xdg_desktop_database_update
8721 -
8722 - if ! use gecko; then
8723 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
8724 - ewarn "implementation of iexplore. Many older windows applications"
8725 - ewarn "rely upon the existence of an iexplore implementation, so"
8726 - ewarn "you will likely need to install an external one, like via winetricks"
8727 - fi
8728 - if ! use mono; then
8729 - ewarn "Without Wine Mono, wine prefixes will not have a default"
8730 - ewarn "implementation of .NET. Many windows applications rely upon"
8731 - ewarn "the existence of a .NET implementation, so you will likely need"
8732 - ewarn "to install an external one, like via winetricks"
8733 - fi
8734 -}
8735 -
8736 -pkg_prerm() {
8737 - eselect wine deregister ${P}
8738 - if [[ ${PN} == "wine-vanilla" ]]; then
8739 - eselect wine deregister --vanilla ${P} || die
8740 - else
8741 - if use d3d9; then
8742 - eselect wine deregister --d3d9 ${P} || die
8743 - fi
8744 - fi
8745 -
8746 - eselect wine update --all --if-unset || die
8747 -}
8748 -
8749 -pkg_postrm() {
8750 - xdg_desktop_database_update
8751 -}
8752
8753 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.8-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.8-r1.ebuild
8754 deleted file mode 100644
8755 index 6f8a34c54fa..00000000000
8756 --- a/app-emulation/wine-d3d9/wine-d3d9-2.8-r1.ebuild
8757 +++ /dev/null
8758 @@ -1,570 +0,0 @@
8759 -# Copyright 1999-2017 Gentoo Foundation
8760 -# Distributed under the terms of the GNU General Public License v2
8761 -
8762 -EAPI=6
8763 -
8764 -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"
8765 -PLOCALE_BACKUP="en"
8766 -
8767 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
8768 -
8769 -MY_PN="${PN%%-*}"
8770 -MY_P="${MY_PN}-${PV}"
8771 -
8772 -if [[ ${PV} == "9999" ]] ; then
8773 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
8774 - EGIT_BRANCH="master"
8775 - inherit git-r3
8776 - SRC_URI=""
8777 - #KEYWORDS=""
8778 -else
8779 - MAJOR_V=$(get_version_component_range 1)
8780 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
8781 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
8782 -fi
8783 -S="${WORKDIR}/${MY_P}"
8784 -
8785 -D3D9_P="wine-d3d9-${PV}"
8786 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
8787 -GWP_V="20170830"
8788 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
8789 -
8790 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
8791 -HOMEPAGE="https://www.winehq.org/"
8792 -SRC_URI="${SRC_URI}
8793 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
8794 -"
8795 -
8796 -if [[ ${PV} == "9999" ]] ; then
8797 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
8798 -else
8799 - SRC_URI="${SRC_URI}
8800 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
8801 -fi
8802 -
8803 -LICENSE="LGPL-2.1"
8804 -SLOT="${PV}"
8805 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
8806 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
8807 - X? ( truetype )
8808 - elibc_glibc? ( threads )
8809 - osmesa? ( opengl )
8810 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
8811 -
8812 -# FIXME: the test suite is unsuitable for us; many tests require net access
8813 -# or fail due to Xvfb's opengl limitations.
8814 -RESTRICT="test"
8815 -
8816 -COMMON_DEPEND="
8817 - X? (
8818 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
8819 - x11-libs/libXext[${MULTILIB_USEDEP}]
8820 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
8821 - x11-libs/libXi[${MULTILIB_USEDEP}]
8822 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
8823 - )
8824 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
8825 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
8826 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
8827 - d3d9? (
8828 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
8829 - x11-libs/libX11[${MULTILIB_USEDEP}]
8830 - x11-libs/libXext[${MULTILIB_USEDEP}]
8831 - x11-libs/libxcb[${MULTILIB_USEDEP}]
8832 - )
8833 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
8834 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
8835 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
8836 - gstreamer? (
8837 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
8838 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
8839 - )
8840 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
8841 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
8842 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
8843 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
8844 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
8845 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
8846 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
8847 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
8848 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
8849 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
8850 - opengl? (
8851 - virtual/glu[${MULTILIB_USEDEP}]
8852 - virtual/opengl[${MULTILIB_USEDEP}]
8853 - )
8854 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
8855 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
8856 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
8857 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
8858 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
8859 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
8860 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
8861 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
8862 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
8863 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
8864 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
8865 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
8866 - xml? (
8867 - dev-libs/libxml2[${MULTILIB_USEDEP}]
8868 - dev-libs/libxslt[${MULTILIB_USEDEP}]
8869 - )
8870 - abi_x86_32? (
8871 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
8872 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
8873 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
8874 - !<app-emulation/emul-linux-x86-db-20140508-r3
8875 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
8876 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
8877 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
8878 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
8879 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
8880 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
8881 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
8882 - !<app-emulation/emul-linux-x86-soundlibs-20140508
8883 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
8884 - !<app-emulation/emul-linux-x86-xlibs-20140508
8885 - )"
8886 -
8887 -RDEPEND="${COMMON_DEPEND}
8888 - app-emulation/wine-desktop-common
8889 - >app-eselect/eselect-wine-0.3
8890 - !app-emulation/wine:0
8891 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
8892 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
8893 - mono? ( app-emulation/wine-mono:4.7.0 )
8894 - perl? (
8895 - dev-lang/perl
8896 - dev-perl/XML-Simple
8897 - )
8898 - pulseaudio? (
8899 - realtime? ( sys-auth/rtkit )
8900 - )
8901 - samba? ( >=net-fs/samba-3.0.25[winbind] )
8902 - selinux? ( sec-policy/selinux-wine )
8903 - udisks? ( sys-fs/udisks:2 )"
8904 -
8905 -# tools/make_requests requires perl
8906 -DEPEND="${COMMON_DEPEND}
8907 - sys-devel/flex
8908 - >=sys-kernel/linux-headers-2.6
8909 - virtual/pkgconfig
8910 - virtual/yacc
8911 - X? (
8912 - x11-proto/inputproto
8913 - x11-proto/xextproto
8914 - x11-proto/xf86vidmodeproto
8915 - )
8916 - prelink? ( sys-devel/prelink )
8917 - xinerama? ( x11-proto/xineramaproto )"
8918 -
8919 -# These use a non-standard "Wine" category, which is provided by
8920 -# /etc/xdg/applications-merged/wine.menu
8921 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
8922 -usr/share/applications/wine-notepad.desktop
8923 -usr/share/applications/wine-uninstaller.desktop
8924 -usr/share/applications/wine-winecfg.desktop"
8925 -
8926 -PATCHES=(
8927 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
8928 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
8929 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
8930 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
8931 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
8932 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
8933 -)
8934 -PATCHES_BIN=(
8935 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
8936 -)
8937 -
8938 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
8939 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
8940 - DEPEND+=" dev-util/patchbin"
8941 -fi
8942 -
8943 -wine_compiler_check() {
8944 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8945 -
8946 - # GCC-specific bugs
8947 - if tc-is-gcc; then
8948 - # bug #549768
8949 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
8950 - ebegin "Checking for gcc-5 ms_abi compiler bug"
8951 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
8952 - # Run in subshell to prevent "Aborted" message
8953 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
8954 - if ! eend $?; then
8955 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
8956 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
8957 - eerror "or use gcc-config to select a different compiler version."
8958 - eerror "See https://bugs.gentoo.org/549768"
8959 - eerror
8960 - return 1
8961 - fi
8962 - fi
8963 - # bug #574044
8964 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
8965 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
8966 - # Compile in subshell to prevent "Aborted" message
8967 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
8968 - if ! eend $?; then
8969 - eerror "Wine cannot be built with this version of gcc-5.3"
8970 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
8971 - eerror "or use gcc-config to select a different compiler version."
8972 - eerror "See https://bugs.gentoo.org/574044"
8973 - eerror
8974 - return 1
8975 - fi
8976 - fi
8977 - fi
8978 -
8979 - # Ensure compiler support
8980 - if use abi_x86_64; then
8981 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
8982 - # Compile in subshell to prevent "Aborted" message
8983 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
8984 - if ! eend $?; then
8985 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
8986 - eerror
8987 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
8988 - eerror
8989 - return 1
8990 - fi
8991 - fi
8992 -}
8993 -
8994 -wine_build_environment_check() {
8995 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
8996 -
8997 - if use abi_x86_64; then
8998 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
8999 - eerror "You need gcc-4.4+ to compile 64-bit wine"
9000 - die
9001 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
9002 - eerror "You need clang-3.8+ to compile 64-bit wine"
9003 - die
9004 - fi
9005 - fi
9006 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
9007 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
9008 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
9009 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
9010 - fi
9011 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
9012 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
9013 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
9014 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
9015 - ewarn "See package.env in man 5 portage for more information on how to do this."
9016 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
9017 - fi
9018 - fi
9019 -
9020 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
9021 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
9022 - eerror "See https://bugs.gentoo.org/487864 for more details."
9023 - eerror
9024 - return 1
9025 - fi
9026 -}
9027 -
9028 -wine_env_vcs_vars() {
9029 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
9030 - local pn_live_val="${pn_live_var}"
9031 - eval pn_live_val='$'${pn_live_val}
9032 - if [[ ! -z ${pn_live_val} ]]; then
9033 - if use d3d9; then
9034 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
9035 - eerror "cannot be used to set the commit. Instead, you may use the"
9036 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
9037 - eerror
9038 - return 1
9039 - fi
9040 - fi
9041 - if [[ ! -z ${EGIT_COMMIT} ]]; then
9042 - eerror "Commits must now be specified using the environmental variables"
9043 - eerror "WINE_COMMIT, and D3D9_COMMIT"
9044 - eerror
9045 - return 1
9046 - fi
9047 -}
9048 -
9049 -pkg_pretend() {
9050 - wine_build_environment_check || die
9051 -
9052 - # Verify OSS support
9053 - if use oss && ! use kernel_FreeBSD; then
9054 - if ! has_version ">=media-sound/oss-4"; then
9055 - eerror "You cannot build wine with USE=oss without having support from a"
9056 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
9057 - eerror
9058 - die
9059 - fi
9060 - fi
9061 -}
9062 -
9063 -pkg_setup() {
9064 - wine_build_environment_check || die
9065 - wine_env_vcs_vars || die
9066 -
9067 - WINE_VARIANT="${PN#wine}-${PV}"
9068 - WINE_VARIANT="${WINE_VARIANT#-}"
9069 -
9070 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
9071 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
9072 - MY_DATADIR="${MY_DATAROOTDIR}"
9073 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
9074 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
9075 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
9076 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
9077 - MY_MANDIR="${MY_DATADIR}/man"
9078 -}
9079 -
9080 -src_unpack() {
9081 - if [[ ${PV} == "9999" ]] ; then
9082 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
9083 - if use d3d9; then
9084 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
9085 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
9086 - fi
9087 - fi
9088 -
9089 - default
9090 -
9091 - l10n_find_plocales_changes "${S}/po" "" ".po"
9092 -}
9093 -
9094 -src_prepare() {
9095 -
9096 - eapply_bin(){
9097 - local patch
9098 - for patch in ${PATCHES_BIN[@]}; do
9099 - patchbin --nogit < "${patch}" || die
9100 - done
9101 - }
9102 -
9103 - local md5="$(md5sum server/protocol.def)"
9104 -
9105 - if use d3d9; then
9106 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
9107 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
9108 - fi
9109 -
9110 - default
9111 - eapply_bin
9112 - eautoreconf
9113 -
9114 - # Modification of the server protocol requires regenerating the server requests
9115 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
9116 - einfo "server/protocol.def was patched; running tools/make_requests"
9117 - tools/make_requests || die #432348
9118 - fi
9119 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
9120 - if ! use run-exes; then
9121 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
9122 - fi
9123 -
9124 - # Edit wine.desktop to work for specific variant
9125 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
9126 -
9127 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
9128 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
9129 -
9130 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
9131 -}
9132 -
9133 -src_configure() {
9134 - wine_compiler_check || die
9135 -
9136 - export LDCONFIG=/bin/true
9137 - use custom-cflags || strip-flags
9138 -
9139 - multilib-minimal_src_configure
9140 -}
9141 -
9142 -multilib_src_configure() {
9143 - local myconf=(
9144 - --prefix="${MY_PREFIX}"
9145 - --datarootdir="${MY_DATAROOTDIR}"
9146 - --datadir="${MY_DATADIR}"
9147 - --docdir="${MY_DOCDIR}"
9148 - --includedir="${MY_INCLUDEDIR}"
9149 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
9150 - --libexecdir="${MY_LIBEXECDIR}"
9151 - --localstatedir="${MY_LOCALSTATEDIR}"
9152 - --mandir="${MY_MANDIR}"
9153 - --sysconfdir=/etc/wine
9154 - $(use_with alsa)
9155 - $(use_with capi)
9156 - $(use_with lcms cms)
9157 - $(use_with cups)
9158 - $(use_with ncurses curses)
9159 - $(use_with udisks dbus)
9160 - $(use_with fontconfig)
9161 - $(use_with ssl gnutls)
9162 - $(use_enable gecko mshtml)
9163 - $(use_with gphoto2 gphoto)
9164 - $(use_with gsm)
9165 - $(use_with gstreamer)
9166 - --without-hal
9167 - $(use_with jpeg)
9168 - $(use_with ldap)
9169 - $(use_enable mono mscoree)
9170 - $(use_with mp3 mpg123)
9171 - $(use_with netapi)
9172 - $(use_with nls gettext)
9173 - $(use_with openal)
9174 - $(use_with opencl)
9175 - $(use_with opengl)
9176 - $(use_with osmesa)
9177 - $(use_with oss)
9178 - $(use_with pcap)
9179 - $(use_with png)
9180 - $(use_with pulseaudio pulse)
9181 - $(use_with threads pthread)
9182 - $(use_with scanner sane)
9183 - $(use_enable test tests)
9184 - $(use_with truetype freetype)
9185 - $(use_with udev)
9186 - $(use_with v4l)
9187 - $(use_with X x)
9188 - $(use_with xcomposite)
9189 - $(use_with xinerama)
9190 - $(use_with xml)
9191 - $(use_with xml xslt)
9192 - )
9193 -
9194 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
9195 -
9196 - local PKG_CONFIG AR RANLIB
9197 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
9198 - # set AR and RANLIB to make QA scripts happy; #483342
9199 - tc-export PKG_CONFIG AR RANLIB
9200 -
9201 - if use amd64; then
9202 - if [[ ${ABI} == amd64 ]]; then
9203 - myconf+=( --enable-win64 )
9204 - else
9205 - myconf+=( --disable-win64 )
9206 - fi
9207 -
9208 - # Note: using --with-wine64 results in problems with multilib.eclass
9209 - # CC/LD hackery. We're using separate tools instead.
9210 - fi
9211 -
9212 - ECONF_SOURCE=${S} \
9213 - econf "${myconf[@]}"
9214 - emake depend
9215 -}
9216 -
9217 -multilib_src_test() {
9218 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
9219 - if [[ ${ABI} == x86 ]]; then
9220 - if [[ $(id -u) == 0 ]]; then
9221 - ewarn "Skipping tests since they cannot be run under the root user."
9222 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
9223 - return
9224 - fi
9225 -
9226 - WINEPREFIX="${T}/.wine-${ABI}" \
9227 - Xemake test
9228 - fi
9229 -}
9230 -
9231 -multilib_src_install_all() {
9232 - local DOCS=( ANNOUNCE AUTHORS README )
9233 - add_locale_docs() {
9234 - local locale_doc="documentation/README.$1"
9235 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
9236 - }
9237 - l10n_for_each_locale_do add_locale_docs
9238 -
9239 - einstalldocs
9240 - prune_libtool_files --all
9241 -
9242 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
9243 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
9244 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
9245 - fi
9246 -
9247 - # Remove wineconsole if neither backend is installed #551124
9248 - if ! use X && ! use ncurses; then
9249 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
9250 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
9251 - rm_wineconsole() {
9252 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
9253 - }
9254 - multilib_foreach_abi rm_wineconsole
9255 - fi
9256 -
9257 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
9258 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
9259 -
9260 - if use abi_x86_64 && ! use abi_x86_32; then
9261 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
9262 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
9263 - fi
9264 -
9265 - # Failglob for bin and man loops
9266 - local glob_state=$(shopt -p failglob)
9267 - shopt -s failglob
9268 -
9269 - # Make wrappers for binaries for handling multiple variants
9270 - # Note: wrappers instead of symlinks because some are shell which use basename
9271 - local b
9272 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
9273 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
9274 - done
9275 -
9276 - # respect LINGUAS when installing man pages, #469418
9277 - local l
9278 - for l in de fr pl; do
9279 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
9280 - done
9281 -
9282 - eval "${glob_state}"
9283 -}
9284 -
9285 -pkg_postinst() {
9286 - eselect wine register ${P}
9287 - if [[ ${PN} == "wine-vanilla" ]]; then
9288 - eselect wine register --vanilla ${P} || die
9289 - else
9290 - if use d3d9; then
9291 - eselect wine register --d3d9 ${P} || die
9292 - fi
9293 - fi
9294 -
9295 - eselect wine update --all --if-unset || die
9296 -
9297 - xdg_desktop_database_update
9298 -
9299 - if ! use gecko; then
9300 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
9301 - ewarn "implementation of iexplore. Many older windows applications"
9302 - ewarn "rely upon the existence of an iexplore implementation, so"
9303 - ewarn "you will likely need to install an external one, like via winetricks"
9304 - fi
9305 - if ! use mono; then
9306 - ewarn "Without Wine Mono, wine prefixes will not have a default"
9307 - ewarn "implementation of .NET. Many windows applications rely upon"
9308 - ewarn "the existence of a .NET implementation, so you will likely need"
9309 - ewarn "to install an external one, like via winetricks"
9310 - fi
9311 -}
9312 -
9313 -pkg_prerm() {
9314 - eselect wine deregister ${P}
9315 - if [[ ${PN} == "wine-vanilla" ]]; then
9316 - eselect wine deregister --vanilla ${P} || die
9317 - else
9318 - if use d3d9; then
9319 - eselect wine deregister --d3d9 ${P} || die
9320 - fi
9321 - fi
9322 -
9323 - eselect wine update --all --if-unset || die
9324 -}
9325 -
9326 -pkg_postrm() {
9327 - xdg_desktop_database_update
9328 -}
9329
9330 diff --git a/app-emulation/wine-d3d9/wine-d3d9-2.9-r1.ebuild b/app-emulation/wine-d3d9/wine-d3d9-2.9-r1.ebuild
9331 deleted file mode 100644
9332 index 71db470f65e..00000000000
9333 --- a/app-emulation/wine-d3d9/wine-d3d9-2.9-r1.ebuild
9334 +++ /dev/null
9335 @@ -1,572 +0,0 @@
9336 -# Copyright 1999-2017 Gentoo Foundation
9337 -# Distributed under the terms of the GNU General Public License v2
9338 -
9339 -EAPI=6
9340 -
9341 -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"
9342 -PLOCALE_BACKUP="en"
9343 -
9344 -inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
9345 -
9346 -MY_PN="${PN%%-*}"
9347 -MY_P="${MY_PN}-${PV}"
9348 -
9349 -if [[ ${PV} == "9999" ]] ; then
9350 - EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
9351 - EGIT_BRANCH="master"
9352 - inherit git-r3
9353 - SRC_URI=""
9354 - #KEYWORDS=""
9355 -else
9356 - MAJOR_V=$(get_version_component_range 1)
9357 - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
9358 - KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
9359 -fi
9360 -S="${WORKDIR}/${MY_P}"
9361 -
9362 -D3D9_P="wine-d3d9-${PV}"
9363 -D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
9364 -GWP_V="20170830"
9365 -PATCHDIR="${WORKDIR}/gentoo-wine-patches"
9366 -
9367 -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Gallium Nine patchset"
9368 -HOMEPAGE="https://www.winehq.org/"
9369 -SRC_URI="${SRC_URI}
9370 - https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
9371 -"
9372 -
9373 -if [[ ${PV} == "9999" ]] ; then
9374 - D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
9375 -else
9376 - SRC_URI="${SRC_URI}
9377 - d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )"
9378 -fi
9379 -
9380 -LICENSE="LGPL-2.1"
9381 -SLOT="${PV}"
9382 -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 +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml"
9383 -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
9384 - X? ( truetype )
9385 - elibc_glibc? ( threads )
9386 - osmesa? ( opengl )
9387 - test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124
9388 -
9389 -# FIXME: the test suite is unsuitable for us; many tests require net access
9390 -# or fail due to Xvfb's opengl limitations.
9391 -RESTRICT="test"
9392 -
9393 -COMMON_DEPEND="
9394 - X? (
9395 - x11-libs/libXcursor[${MULTILIB_USEDEP}]
9396 - x11-libs/libXext[${MULTILIB_USEDEP}]
9397 - x11-libs/libXfixes[${MULTILIB_USEDEP}]
9398 - x11-libs/libXrandr[${MULTILIB_USEDEP}]
9399 - x11-libs/libXi[${MULTILIB_USEDEP}]
9400 - x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
9401 - )
9402 - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
9403 - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
9404 - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
9405 - d3d9? (
9406 - media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}]
9407 - x11-libs/libX11[${MULTILIB_USEDEP}]
9408 - x11-libs/libXext[${MULTILIB_USEDEP}]
9409 - x11-libs/libxcb[${MULTILIB_USEDEP}]
9410 - )
9411 - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
9412 - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
9413 - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
9414 - gstreamer? (
9415 - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
9416 - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
9417 - )
9418 - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
9419 - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
9420 - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
9421 - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
9422 - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
9423 - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
9424 - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
9425 - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
9426 - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
9427 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
9428 - opengl? (
9429 - virtual/glu[${MULTILIB_USEDEP}]
9430 - virtual/opengl[${MULTILIB_USEDEP}]
9431 - )
9432 - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
9433 - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
9434 - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
9435 - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
9436 - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
9437 - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
9438 - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
9439 - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
9440 - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
9441 - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
9442 - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
9443 - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
9444 - xml? (
9445 - dev-libs/libxml2[${MULTILIB_USEDEP}]
9446 - dev-libs/libxslt[${MULTILIB_USEDEP}]
9447 - )
9448 - abi_x86_32? (
9449 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
9450 - !<app-emulation/emul-linux-x86-baselibs-20140508-r14
9451 - !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
9452 - !<app-emulation/emul-linux-x86-db-20140508-r3
9453 - !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
9454 - !<app-emulation/emul-linux-x86-medialibs-20140508-r6
9455 - !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
9456 - !<app-emulation/emul-linux-x86-opengl-20140508-r1
9457 - !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
9458 - !<app-emulation/emul-linux-x86-sdl-20140508-r1
9459 - !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
9460 - !<app-emulation/emul-linux-x86-soundlibs-20140508
9461 - !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
9462 - !<app-emulation/emul-linux-x86-xlibs-20140508
9463 - )"
9464 -
9465 -RDEPEND="${COMMON_DEPEND}
9466 - app-emulation/wine-desktop-common
9467 - >app-eselect/eselect-wine-0.3
9468 - !app-emulation/wine:0
9469 - dos? ( >=games-emulation/dosbox-0.74_p20160629 )
9470 - gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
9471 - mono? ( app-emulation/wine-mono:4.7.0 )
9472 - perl? (
9473 - dev-lang/perl
9474 - dev-perl/XML-Simple
9475 - )
9476 - pulseaudio? (
9477 - realtime? ( sys-auth/rtkit )
9478 - )
9479 - samba? ( >=net-fs/samba-3.0.25[winbind] )
9480 - selinux? ( sec-policy/selinux-wine )
9481 - udisks? ( sys-fs/udisks:2 )"
9482 -
9483 -# tools/make_requests requires perl
9484 -DEPEND="${COMMON_DEPEND}
9485 - sys-devel/flex
9486 - >=sys-kernel/linux-headers-2.6
9487 - virtual/pkgconfig
9488 - virtual/yacc
9489 - X? (
9490 - x11-proto/inputproto
9491 - x11-proto/xextproto
9492 - x11-proto/xf86vidmodeproto
9493 - )
9494 - prelink? ( sys-devel/prelink )
9495 - xinerama? ( x11-proto/xineramaproto )"
9496 -
9497 -# These use a non-standard "Wine" category, which is provided by
9498 -# /etc/xdg/applications-merged/wine.menu
9499 -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
9500 -usr/share/applications/wine-notepad.desktop
9501 -usr/share/applications/wine-uninstaller.desktop
9502 -usr/share/applications/wine-winecfg.desktop"
9503 -
9504 -PATCHES=(
9505 - "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
9506 - "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
9507 - "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
9508 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
9509 - "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676
9510 - "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376
9511 -)
9512 -PATCHES_BIN=(
9513 - "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376
9514 -)
9515 -
9516 -# https://bugs.gentoo.org/show_bug.cgi?id=635222
9517 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
9518 - DEPEND+=" dev-util/patchbin"
9519 -fi
9520 -
9521 -wine_compiler_check() {
9522 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9523 -
9524 - # GCC-specific bugs
9525 - if tc-is-gcc; then
9526 - # bug #549768
9527 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
9528 - ebegin "Checking for gcc-5 ms_abi compiler bug"
9529 - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
9530 - # Run in subshell to prevent "Aborted" message
9531 - ( "${T}"/pr66838 || false ) >/dev/null 2>&1
9532 - if ! eend $?; then
9533 - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
9534 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
9535 - eerror "or use gcc-config to select a different compiler version."
9536 - eerror "See https://bugs.gentoo.org/549768"
9537 - eerror
9538 - return 1
9539 - fi
9540 - fi
9541 - # bug #574044
9542 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
9543 - ebegin "Checking for gcc-5-3 stack realignment compiler bug"
9544 - # Compile in subshell to prevent "Aborted" message
9545 - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
9546 - if ! eend $?; then
9547 - eerror "Wine cannot be built with this version of gcc-5.3"
9548 - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
9549 - eerror "or use gcc-config to select a different compiler version."
9550 - eerror "See https://bugs.gentoo.org/574044"
9551 - eerror
9552 - return 1
9553 - fi
9554 - fi
9555 - fi
9556 -
9557 - # Ensure compiler support
9558 - if use abi_x86_64; then
9559 - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
9560 - # Compile in subshell to prevent "Aborted" message
9561 - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
9562 - if ! eend $?; then
9563 - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
9564 - eerror
9565 - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
9566 - eerror
9567 - return 1
9568 - fi
9569 - fi
9570 -}
9571 -
9572 -wine_build_environment_check() {
9573 - [[ ${MERGE_TYPE} = "binary" ]] && return 0
9574 -
9575 - if use abi_x86_64; then
9576 - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
9577 - eerror "You need gcc-4.4+ to compile 64-bit wine"
9578 - die
9579 - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
9580 - eerror "You need clang-3.8+ to compile 64-bit wine"
9581 - die
9582 - fi
9583 - fi
9584 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
9585 - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
9586 - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
9587 - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
9588 - fi
9589 - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
9590 - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
9591 - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
9592 - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
9593 - ewarn "See package.env in man 5 portage for more information on how to do this."
9594 - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
9595 - fi
9596 - fi
9597 -
9598 - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
9599 - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
9600 - eerror "See https://bugs.gentoo.org/487864 for more details."
9601 - eerror
9602 - return 1
9603 - fi
9604 -}
9605 -
9606 -wine_env_vcs_vars() {
9607 - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
9608 - local pn_live_val="${pn_live_var}"
9609 - eval pn_live_val='$'${pn_live_val}
9610 - if [[ ! -z ${pn_live_val} ]]; then
9611 - if use d3d9; then
9612 - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
9613 - eerror "cannot be used to set the commit. Instead, you may use the"
9614 - eerror "environmental variables WINE_COMMIT, and D3D9_COMMIT."
9615 - eerror
9616 - return 1
9617 - fi
9618 - fi
9619 - if [[ ! -z ${EGIT_COMMIT} ]]; then
9620 - eerror "Commits must now be specified using the environmental variables"
9621 - eerror "WINE_COMMIT, and D3D9_COMMIT"
9622 - eerror
9623 - return 1
9624 - fi
9625 -}
9626 -
9627 -pkg_pretend() {
9628 - wine_build_environment_check || die
9629 -
9630 - # Verify OSS support
9631 - if use oss && ! use kernel_FreeBSD; then
9632 - if ! has_version ">=media-sound/oss-4"; then
9633 - eerror "You cannot build wine with USE=oss without having support from a"
9634 - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
9635 - eerror
9636 - die
9637 - fi
9638 - fi
9639 -}
9640 -
9641 -pkg_setup() {
9642 - wine_build_environment_check || die
9643 - wine_env_vcs_vars || die
9644 -
9645 - WINE_VARIANT="${PN#wine}-${PV}"
9646 - WINE_VARIANT="${WINE_VARIANT#-}"
9647 -
9648 - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
9649 - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
9650 - MY_DATADIR="${MY_DATAROOTDIR}"
9651 - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
9652 - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
9653 - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
9654 - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
9655 - MY_MANDIR="${MY_DATADIR}/man"
9656 -}
9657 -
9658 -src_unpack() {
9659 - if [[ ${PV} == "9999" ]] ; then
9660 - EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
9661 - if use d3d9; then
9662 - git-r3_fetch "${D3D9_EGIT_REPO_URI}" "${D3D9_COMMIT}"
9663 - git-r3_checkout "${D3D9_EGIT_REPO_URI}" "${D3D9_DIR}"
9664 - fi
9665 - fi
9666 -
9667 - default
9668 -
9669 - l10n_find_plocales_changes "${S}/po" "" ".po"
9670 -}
9671 -
9672 -src_prepare() {
9673 -
9674 - eapply_bin(){
9675 - local patch
9676 - for patch in ${PATCHES_BIN[@]}; do
9677 - patchbin --nogit < "${patch}" || die
9678 - done
9679 - }
9680 -
9681 - local md5="$(md5sum server/protocol.def)"
9682 -
9683 - if use d3d9; then
9684 - PATCHES+=( "${D3D9_DIR}/d3d9-helper.patch" )
9685 - PATCHES+=( "${D3D9_DIR}/wine-d3d9.patch" )
9686 - fi
9687 -
9688 - default
9689 - eapply_bin
9690 - eautoreconf
9691 -
9692 - # Modification of the server protocol requires regenerating the server requests
9693 - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
9694 - einfo "server/protocol.def was patched; running tools/make_requests"
9695 - tools/make_requests || die #432348
9696 - fi
9697 - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
9698 - if ! use run-exes; then
9699 - sed -i '/^MimeType/d' loader/wine.desktop || die #117785
9700 - fi
9701 -
9702 - # Edit wine.desktop to work for specific variant
9703 - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
9704 -
9705 - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
9706 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
9707 -
9708 - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
9709 -}
9710 -
9711 -src_configure() {
9712 - wine_compiler_check || die
9713 -
9714 - export LDCONFIG=/bin/true
9715 - use custom-cflags || strip-flags
9716 -
9717 - multilib-minimal_src_configure
9718 -}
9719 -
9720 -multilib_src_configure() {
9721 - local myconf=(
9722 - --prefix="${MY_PREFIX}"
9723 - --datarootdir="${MY_DATAROOTDIR}"
9724 - --datadir="${MY_DATADIR}"
9725 - --docdir="${MY_DOCDIR}"
9726 - --includedir="${MY_INCLUDEDIR}"
9727 - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
9728 - --libexecdir="${MY_LIBEXECDIR}"
9729 - --localstatedir="${MY_LOCALSTATEDIR}"
9730 - --mandir="${MY_MANDIR}"
9731 - --sysconfdir=/etc/wine
9732 - $(use_with alsa)
9733 - $(use_with capi)
9734 - $(use_with lcms cms)
9735 - $(use_with cups)
9736 - $(use_with ncurses curses)
9737 - $(use_with udisks dbus)
9738 - $(use_with fontconfig)
9739 - $(use_with ssl gnutls)
9740 - $(use_enable gecko mshtml)
9741 - $(use_with gphoto2 gphoto)
9742 - $(use_with gsm)
9743 - $(use_with gstreamer)
9744 - --without-hal
9745 - $(use_with jpeg)
9746 - $(use_with ldap)
9747 - $(use_enable mono mscoree)
9748 - $(use_with mp3 mpg123)
9749 - $(use_with netapi)
9750 - $(use_with nls gettext)
9751 - $(use_with openal)
9752 - $(use_with opencl)
9753 - $(use_with opengl)
9754 - $(use_with osmesa)
9755 - $(use_with oss)
9756 - $(use_with pcap)
9757 - $(use_with png)
9758 - $(use_with pulseaudio pulse)
9759 - $(use_with threads pthread)
9760 - $(use_with scanner sane)
9761 - $(use_enable test tests)
9762 - $(use_with truetype freetype)
9763 - $(use_with udev)
9764 - $(use_with v4l)
9765 - $(use_with X x)
9766 - $(use_with X xfixes)
9767 - $(use_with xcomposite)
9768 - $(use_with xinerama)
9769 - $(use_with xml)
9770 - $(use_with xml xslt)
9771 - )
9772 -
9773 - use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
9774 -
9775 - local PKG_CONFIG AR RANLIB
9776 - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
9777 - # set AR and RANLIB to make QA scripts happy; #483342
9778 - tc-export PKG_CONFIG AR RANLIB
9779 -
9780 - if use amd64; then
9781 - if [[ ${ABI} == amd64 ]]; then
9782 - myconf+=( --enable-win64 )
9783 - else
9784 - myconf+=( --disable-win64 )
9785 - fi
9786 -
9787 - # Note: using --with-wine64 results in problems with multilib.eclass
9788 - # CC/LD hackery. We're using separate tools instead.
9789 - fi
9790 -
9791 - ECONF_SOURCE=${S} \
9792 - econf "${myconf[@]}"
9793 - emake depend
9794 -}
9795 -
9796 -multilib_src_test() {
9797 - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
9798 - if [[ ${ABI} == x86 ]]; then
9799 - if [[ $(id -u) == 0 ]]; then
9800 - ewarn "Skipping tests since they cannot be run under the root user."
9801 - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
9802 - return
9803 - fi
9804 -
9805 - WINEPREFIX="${T}/.wine-${ABI}" \
9806 - Xemake test
9807 - fi
9808 -}
9809 -
9810 -multilib_src_install_all() {
9811 - local DOCS=( ANNOUNCE AUTHORS README )
9812 - add_locale_docs() {
9813 - local locale_doc="documentation/README.$1"
9814 - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
9815 - }
9816 - l10n_for_each_locale_do add_locale_docs
9817 -
9818 - einstalldocs
9819 - prune_libtool_files --all
9820 -
9821 - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
9822 - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
9823 - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
9824 - fi
9825 -
9826 - # Remove wineconsole if neither backend is installed #551124
9827 - if ! use X && ! use ncurses; then
9828 - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
9829 - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
9830 - rm_wineconsole() {
9831 - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
9832 - }
9833 - multilib_foreach_abi rm_wineconsole
9834 - fi
9835 -
9836 - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
9837 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
9838 -
9839 - if use abi_x86_64 && ! use abi_x86_32; then
9840 - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
9841 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
9842 - fi
9843 -
9844 - # Failglob for bin and man loops
9845 - local glob_state=$(shopt -p failglob)
9846 - shopt -s failglob
9847 -
9848 - # Make wrappers for binaries for handling multiple variants
9849 - # Note: wrappers instead of symlinks because some are shell which use basename
9850 - local b
9851 - for b in "${D%/}${MY_PREFIX}"/bin/*; do
9852 - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
9853 - done
9854 -
9855 - # respect LINGUAS when installing man pages, #469418
9856 - local l
9857 - for l in de fr pl; do
9858 - use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
9859 - done
9860 -
9861 - eval "${glob_state}"
9862 -}
9863 -
9864 -pkg_postinst() {
9865 - eselect wine register ${P}
9866 - if [[ ${PN} == "wine-vanilla" ]]; then
9867 - eselect wine register --vanilla ${P} || die
9868 - else
9869 - if use d3d9; then
9870 - eselect wine register --d3d9 ${P} || die
9871 - fi
9872 - fi
9873 -
9874 - eselect wine update --all --if-unset || die
9875 -
9876 - xdg_desktop_database_update
9877 -
9878 - if ! use gecko; then
9879 - ewarn "Without Wine Gecko, wine prefixes will not have a default"
9880 - ewarn "implementation of iexplore. Many older windows applications"
9881 - ewarn "rely upon the existence of an iexplore implementation, so"
9882 - ewarn "you will likely need to install an external one, like via winetricks"
9883 - fi
9884 - if ! use mono; then
9885 - ewarn "Without Wine Mono, wine prefixes will not have a default"
9886 - ewarn "implementation of .NET. Many windows applications rely upon"
9887 - ewarn "the existence of a .NET implementation, so you will likely need"
9888 - ewarn "to install an external one, like via winetricks"
9889 - fi
9890 -}
9891 -
9892 -pkg_prerm() {
9893 - eselect wine deregister ${P}
9894 - if [[ ${PN} == "wine-vanilla" ]]; then
9895 - eselect wine deregister --vanilla ${P} || die
9896 - else
9897 - if use d3d9; then
9898 - eselect wine deregister --d3d9 ${P} || die
9899 - fi
9900 - fi
9901 -
9902 - eselect wine update --all --if-unset || die
9903 -}
9904 -
9905 -pkg_postrm() {
9906 - xdg_desktop_database_update
9907 -}