1 |
commit: 759fcf6a7390e922379deb649d7ec02dea22d370 |
2 |
Author: Nick Sarnie <sarnex <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jun 22 21:42:10 2019 +0000 |
4 |
Commit: Nick Sarnie <sarnex <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jun 22 21:42:10 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/wine.git/commit/?id=759fcf6a |
7 |
|
8 |
app-emulation/wine-vanilla: Drop old |
9 |
|
10 |
Package-Manager: Portage-2.3.67, Repoman-2.3.15 |
11 |
Signed-off-by: Nick Sarnie <sarnex <AT> gentoo.org> |
12 |
|
13 |
app-emulation/wine-vanilla/Manifest | 53 -- |
14 |
.../wine-vanilla/wine-vanilla-2.0-r1.ebuild | 525 -------------------- |
15 |
.../wine-vanilla/wine-vanilla-2.0.1-r1.ebuild | 525 -------------------- |
16 |
.../wine-vanilla/wine-vanilla-2.0.2-r1.ebuild | 525 -------------------- |
17 |
.../wine-vanilla/wine-vanilla-2.0.3.ebuild | 521 -------------------- |
18 |
.../wine-vanilla/wine-vanilla-2.0.4.ebuild | 521 -------------------- |
19 |
.../wine-vanilla/wine-vanilla-2.1-r1.ebuild | 525 -------------------- |
20 |
.../wine-vanilla/wine-vanilla-2.10-r1.ebuild | 527 -------------------- |
21 |
.../wine-vanilla/wine-vanilla-2.11-r1.ebuild | 527 -------------------- |
22 |
.../wine-vanilla/wine-vanilla-2.12-r1.ebuild | 527 -------------------- |
23 |
.../wine-vanilla/wine-vanilla-2.13-r1.ebuild | 527 -------------------- |
24 |
.../wine-vanilla/wine-vanilla-2.14-r1.ebuild | 527 -------------------- |
25 |
.../wine-vanilla/wine-vanilla-2.15-r1.ebuild | 527 -------------------- |
26 |
.../wine-vanilla/wine-vanilla-2.16-r1.ebuild | 527 -------------------- |
27 |
.../wine-vanilla/wine-vanilla-2.17-r1.ebuild | 527 -------------------- |
28 |
.../wine-vanilla/wine-vanilla-2.18-r2.ebuild | 523 -------------------- |
29 |
.../wine-vanilla/wine-vanilla-2.19-r1.ebuild | 523 -------------------- |
30 |
.../wine-vanilla/wine-vanilla-2.2-r1.ebuild | 525 -------------------- |
31 |
.../wine-vanilla/wine-vanilla-2.20.ebuild | 525 -------------------- |
32 |
.../wine-vanilla/wine-vanilla-2.21.ebuild | 525 -------------------- |
33 |
.../wine-vanilla/wine-vanilla-2.22.ebuild | 525 -------------------- |
34 |
.../wine-vanilla/wine-vanilla-2.3-r1.ebuild | 525 -------------------- |
35 |
.../wine-vanilla/wine-vanilla-2.4-r1.ebuild | 525 -------------------- |
36 |
.../wine-vanilla/wine-vanilla-2.5-r1.ebuild | 525 -------------------- |
37 |
.../wine-vanilla/wine-vanilla-2.6-r1.ebuild | 525 -------------------- |
38 |
.../wine-vanilla/wine-vanilla-2.7-r1.ebuild | 525 -------------------- |
39 |
.../wine-vanilla/wine-vanilla-2.8-r1.ebuild | 525 -------------------- |
40 |
.../wine-vanilla/wine-vanilla-2.9-r1.ebuild | 527 -------------------- |
41 |
.../wine-vanilla/wine-vanilla-3.0.1.ebuild | 525 -------------------- |
42 |
.../wine-vanilla/wine-vanilla-3.0.2.ebuild | 525 -------------------- |
43 |
.../wine-vanilla/wine-vanilla-3.0.3.ebuild | 525 -------------------- |
44 |
.../wine-vanilla/wine-vanilla-3.0.4.ebuild | 525 -------------------- |
45 |
app-emulation/wine-vanilla/wine-vanilla-3.0.ebuild | 525 -------------------- |
46 |
app-emulation/wine-vanilla/wine-vanilla-3.1.ebuild | 527 -------------------- |
47 |
.../wine-vanilla/wine-vanilla-3.10.ebuild | 532 --------------------- |
48 |
.../wine-vanilla/wine-vanilla-3.11.ebuild | 532 --------------------- |
49 |
.../wine-vanilla/wine-vanilla-3.12.ebuild | 532 --------------------- |
50 |
.../wine-vanilla/wine-vanilla-3.13-r1.ebuild | 532 --------------------- |
51 |
.../wine-vanilla/wine-vanilla-3.13.ebuild | 532 --------------------- |
52 |
.../wine-vanilla/wine-vanilla-3.14.ebuild | 532 --------------------- |
53 |
.../wine-vanilla/wine-vanilla-3.15.ebuild | 532 --------------------- |
54 |
.../wine-vanilla/wine-vanilla-3.16.ebuild | 532 --------------------- |
55 |
.../wine-vanilla/wine-vanilla-3.17.ebuild | 532 --------------------- |
56 |
.../wine-vanilla/wine-vanilla-3.18.ebuild | 532 --------------------- |
57 |
.../wine-vanilla/wine-vanilla-3.19.ebuild | 532 --------------------- |
58 |
app-emulation/wine-vanilla/wine-vanilla-3.2.ebuild | 527 -------------------- |
59 |
.../wine-vanilla/wine-vanilla-3.20.ebuild | 532 --------------------- |
60 |
.../wine-vanilla/wine-vanilla-3.21.ebuild | 532 --------------------- |
61 |
app-emulation/wine-vanilla/wine-vanilla-3.3.ebuild | 529 -------------------- |
62 |
app-emulation/wine-vanilla/wine-vanilla-3.4.ebuild | 529 -------------------- |
63 |
app-emulation/wine-vanilla/wine-vanilla-3.5.ebuild | 529 -------------------- |
64 |
app-emulation/wine-vanilla/wine-vanilla-3.6.ebuild | 529 -------------------- |
65 |
app-emulation/wine-vanilla/wine-vanilla-3.7.ebuild | 529 -------------------- |
66 |
app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild | 529 -------------------- |
67 |
app-emulation/wine-vanilla/wine-vanilla-3.9.ebuild | 532 --------------------- |
68 |
55 files changed, 28535 deletions(-) |
69 |
|
70 |
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest |
71 |
index 2ac4aaa..7850132 100644 |
72 |
--- a/app-emulation/wine-vanilla/Manifest |
73 |
+++ b/app-emulation/wine-vanilla/Manifest |
74 |
@@ -2,59 +2,6 @@ DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a0642 |
75 |
DIST gentoo-wine-patches-20190316.tar.xz 58848 BLAKE2B 76e66749638589dd6d6eceb4b78690483d14353597a4e47fe9e5325d8bdb2bceff66040c110f63b8bae698bc5838c280c048ff7375ba2ed8cc387cbe0422c79a SHA512 de2cf844ae686144c3f95f0a360c7fa8a62185500758f994b5a65836798bdc3092138dcd9c36d0267a6fcfdc13585258d31b281244a97b45965f40e0f2b29eda |
76 |
DIST gentoo-wine-patches-20190430.tar.xz 58896 BLAKE2B 96c30ee48c4c50720abe8bb1d5a7c2e8ba0691dca3fd38b3807e2b2269236bccb3da18e59b4e35c2703cfb725300ee53c95e9ed584dd9e2c4184b31716b6b4c6 SHA512 52970b1e0673ae84e614db33536e9fa64bb6497a6f19c462f73ddf6b3239f38c9d59fe1c379cd67ef613c0660dcf84e2753e54647f01a8a1b2ee95ae4bb9f8d6 |
77 |
DIST gentoo-wine-patches-20190511.tar.xz 58996 BLAKE2B 571c30d94341f567261893f884345b39eab42adc8b5c306a30d03943fd770055e070ae01e41e5add5b873063d3aaa69641faf81b16ac6039970d8a22b177dd7e SHA512 ccd74d0d6acecc7b24dc89466f93099bd6991d607a4fe89d68637d1fa82e02ebd76b532fe1afd8ab8de8ef3f2d49fe8d71f797796a9434f4b0f7a8183c084969 |
78 |
-DIST wine-2.0.1.tar.xz 18845444 BLAKE2B 82e692c9a216087ea3b51cba659b12a79b25b44aac2ab572b9cf6d12c29b8fa5cee3c4bb9f8e9dca526ded2c6ba1f77d2c948b783914427ec2b93409e64ccaec SHA512 b32d07443655898768383b7409c21093b60c028fef166a596dad5dfab5a329b9fce4552e612c6d182e4f67eb1f28ed497fe2ed6af55d0000d3e96a124547722d |
79 |
-DIST wine-2.0.2.tar.xz 18854952 BLAKE2B ae55b6a31e4d36b367a84e0e5fa7bea8c39a61ecfe7def4082747df4c55d0ee5c72e132bc77b49935fee8d0faf7f4d2cddfda0c712b6042b440dda1946e682b6 SHA512 3f37080a951819304cd3475f6012f1d6b5a94879b137cdf816cac4c8fde68ddc777905e92277ec5dce96437d8c32c43d55d3750b582781a9f9774b118f1a5b90 |
80 |
-DIST wine-2.0.3.tar.xz 18864648 BLAKE2B 0503a11e7545d5af805bfc3c2f614b6e35e39b7b532ee45dd9947e1a9a53eb788a304e744c683e42bf84f0e67e2c046ea5f839b6bbad1cf73b9996eaae5c30c1 SHA512 e20dbcb3a48ecb3526eba075d4baebab2529dfc50b7a6d5e18294704470f61db386013f457118c270274b911f9643d203110f46558d23e84e6a6c2d78e237dbb |
81 |
-DIST wine-2.0.4.tar.xz 18898148 BLAKE2B a21c920e1cf15e064bc6b37067a11a5568f8d1906783c200236456b73947bbd24212208ab1bcc2ca526ed40d8b2e80a2dc5d95db1a8d356a484213afb6897f59 SHA512 8fccb93e5ebe482ed81e948e3b7f87d4fe5b1f838a10f9cdcafa9561de4ef54b7d5acdc292bf28ad3aaf44be34c5ad8452ebbfc39f49f95fcbe9f9d0fcfc862c |
82 |
-DIST wine-2.0.tar.bz2 23662707 BLAKE2B 1d485c1359ce8a0395a9f6378c1f8be33ea2836b80390d1eb1095057a0acedd21708daab16e1851a315391b9f9b0a360879b9d98c73bcc8371c5023e9a8037f5 SHA512 b0a57ba8202d9fc396e5bfb7a7718d6bababbed8f3351e7fdc36afa37f35a871e04903757618f73427aeb71a52b2d323977d79e48f8b38d636f23fd404441186 |
83 |
-DIST wine-2.1.tar.xz 18887032 BLAKE2B 12d1298899064a46183c84ed13880275321670aa590c1aeb60fbba95baff736ad81342dfe3b31bf94fb7a6493262cb1b9ab20709025e19dad19cb438bff6c5a8 SHA512 03d678ee6e89c2804813f2827255fcf59e96ca9a45b7d8ac441cfc84f835e5e5689c70a79a41a04c631e1add7807fa4a5758acef3bd7aadfb2e92e68958c6ef6 |
84 |
-DIST wine-2.10.tar.xz 19209580 BLAKE2B 89262d1950b1baba4447a39c28526e1639a382fef61e081e12f21c693be8f8549234699883552bd555e85e3a558190fa698654d9f34b20b6c133f9da5fa75f80 SHA512 8807e16a571bf45d99097ad5fdfb9fe755f6dbe84010a330fed82f1d48c76b7f19589bfc0e5dde0b9e49a608fd0501db3f7e3e129e4d9d34bcae03bc51a73139 |
85 |
-DIST wine-2.11.tar.xz 19251116 BLAKE2B d39a895b108a8010086b29aeca04a3ca9f3b8d8405634b5c377fd9d00cd559960e48d28017c266714b4a13bd28c39adb4a0d7dd2732786ebe3c33873afde5d04 SHA512 691f329c47af5e51498287029988b8ca0777bfc3902ed80fd315004aba2337a938e79177e752efe86423c9b34544df3952b8c443bf43149356575fac75a779ac |
86 |
-DIST wine-2.12.tar.xz 19301968 BLAKE2B f61777f1937f03e9f9b057ad6642ad7ea1128cd17474d5a9d6454986d22c5ad2f2519e3976260b5cc673dea9b1ba7900a42578c18dd33fe076f33da596527d58 SHA512 d44c1937d7d2d797150381f70317b810616d61355a59be096366d3507f59b678cffaf6d841cecf02bf9d2afa3dbf4d19270f80fb1d3ba5f0f93787d40c328f62 |
87 |
-DIST wine-2.13.tar.xz 19439328 BLAKE2B e5f16bad4dae90d121c3c9df87a74ba525775432005fad00656045b8ac28b7566949a2b4deb8f4bea0e86df1403a3056ebf188579d732f5c4e473f89d5212219 SHA512 71873b9ec1605dd5f7502b87b0f3429c3d14a4196543d7304df455854b58ef82b8fafdcea91450cbfc01434a44886a0e0c4c4cf289ffb53167dde0f969cddc48 |
88 |
-DIST wine-2.14.tar.xz 19447812 BLAKE2B 00c537bd9e52e55771143750b3d7586861ed8cc7fbf9a2e6a7eda155411d14829bc5eb0b40f8a8786cc665122d6866d9c2b424fbe2761a61beb7091f123c81a2 SHA512 ff43d386d46c0c74449e667b61d8cebd5fa768c88e6220aa2f13df03d80b71b6c0bdf8cbab023aed96f7c88b9787a3be4989da892fa1778412534ae82a7279bb |
89 |
-DIST wine-2.15.tar.xz 19463720 BLAKE2B a7f06a7c22fb76700a36c6db258ba34d545c7afbc2417466ba83115051493674ad9c922c344ef088a28cfdd640a0f8f921bb887be4555e5af6dfb3380818346d SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 |
90 |
-DIST wine-2.16.tar.xz 19484716 BLAKE2B ce366f21a8ed483b064ce8abfe71953243b5e2560668d849834a37e4f5e05c634e8e954fdc83ef1817591db49396d1598e0672195dcc2a9c7084600bb70b2a1c SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 |
91 |
-DIST wine-2.17.tar.xz 19505528 BLAKE2B 5b4b0c708fb4c5bb7367ad87fd4438b75fbe84fa4fb0f4514aa816de771f91f38dc76da80410fa25711b060c26d95127c49d2ce0db613e3560a04d7bf2bff4f7 SHA512 cb10c876e689aa601c68673aab32c0514dd174692a01bdb3afc78d5e6079b0e77f48783af2f54245f397c762da3b4e5f2c1d39d2ce7fdb3b117d338b95c24810 |
92 |
-DIST wine-2.18.tar.xz 19546360 BLAKE2B 711b1396160b325a3021f066cc80eda0e2eb69c46ab671c6a4d1f417d0c2439e53854d37fee8507296386d1a828484af93e833f6c08413fd2571c03477e97386 SHA512 61cc39fa3d2b0a0ab3c5d17579865e6aea76dd9513a4b3c45975a2d5c05f2b4ba952b97eef547131a014763c7f692a08df29bc2ebf7e4ac7e2616e6a7822ddb9 |
93 |
-DIST wine-2.19.tar.xz 19549464 BLAKE2B 86d130cc43d7d674d2f478365952962b2792fd585b8d074564108bc7e9f4f7690337e4758b9a24e54fe8fd60187d3a96496a5ffc454ba674b02ecdde68efd3bb SHA512 83558231bdc592b1f69cfedf6c689063df7bd9fecdfafba6fb7f6a2c7fa7783973efb85a6a49305afc18b1aa268209ee5b9c0655756e05d7550468698dfa51ae |
94 |
-DIST wine-2.2.tar.xz 18916364 BLAKE2B 69cc104edffa8f017dba1756a15865956983941fb91973eed233f871010c051ac281902f215b88c7ee2969ffea894f68e466ac9ec608f543452c6e965e4acc7d SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 |
95 |
-DIST wine-2.20.tar.xz 19597556 BLAKE2B 80a9886fa77e5788b143521288f7d83c92754610c9426e58c759d2c33767bd23f7d2a44a17ceeec0bfe9065264393e0aa1087a0827ea7d438ffd938ba2eb2fb5 SHA512 d8d374d1e690ce9d3964fc81054fb7f4cd56cbae6bc44ebbf80b7dc7f04524baa2bd831e0be8f00de4cb0e14c1cb71780d424f5dcb9851fcaed9fb22f5ce5d23 |
96 |
-DIST wine-2.21.tar.xz 19620888 BLAKE2B 26d19c5805db58b53530b80eda3ab229f7961542d398cb0e74155e5341de8b484d301c263653ae50e953588538f6782a9b2200b822ba66f091e65d259e07db8e SHA512 4e33c463debe637827ed65f1118e692832bb5374491f706f9d251b8a2956e20d2df5d90ceba218b9bc9e946de91b8ba1d96b460453f59cdd9d82f070d07e0c43 |
97 |
-DIST wine-2.22.tar.xz 19635032 BLAKE2B 30534fb37ee0fe7b9f20309797240e461f14bc09ef1927e2c03e16cb136b83031ff186d29cc1092600ac53ede9533d0ddad6d4312e501e97201b0c632fedaae5 SHA512 14ecc25c3012c4eb9b1d3207372d0a4187f62593f986caca3196811b8aac0a7b898ae9acd94c707e0d63b6702019cf5051a964ada606b1ff8fb034bb353116bb |
98 |
-DIST wine-2.3.tar.xz 18931732 BLAKE2B c4207e755b30e78caa1a870f9867922515e2338a0e8adccbf8250106dcad4b5e7e04e7621f5a02adc3cf51a8fc38050cc0534d353e4a2e11f78812974c8102b3 SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 |
99 |
-DIST wine-2.4.tar.xz 18953748 BLAKE2B 26d1b1beb3f28cc04799a499ca84a12ac927437eb923b901e300202c03505a41edc4e78a5ace3a865d8e5db9ad3053b7013fc703f824d1a9678bc19e1a1f025b SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 |
100 |
-DIST wine-2.5.tar.xz 18993176 BLAKE2B 843b0e2197cb9bfce67c3707d08cab429f235c1a4e8ef3dbf9580d00440405df2fe936acf747ba2a5645a225b9a2a99f3adc589cbf51ccf7a2e6cc3a45e5dc87 SHA512 7b6faf6d8aa3d41465ad93ebae055581136f736c7eb8b4c61682e5a05589c83a0ff2c85e0f9abbca016f31b6f1c1435617c4994f1913f715a8707ebee3f28467 |
101 |
-DIST wine-2.6.tar.xz 19023352 BLAKE2B f74e2b9588eba76cd90ea62842725ddbb8d3233160122e111a4dfc4e83454bb5c165dd65b6c711dcf3a2b1b4f92488ea2b24d134ede4148c85060a2e3579973f SHA512 2aa55413ac090e011725566d004e42ee46323cd4c6961b9faa63e3de422ba60bb657bf224a4d7e8aa712a8e26e11977d07acb7c088ffeef8c37310e8cc698970 |
102 |
-DIST wine-2.7.tar.xz 19101108 BLAKE2B cf5ff292ada8b65498098269b5961dc8f5c412cab4fa781ce356df869eea9f5af641bd98957977a16b14dc00af4fadf57bba9320cdf5824aab3d3bbb0c87e8ab SHA512 1e61b9a4aa1f5f42fb27d11d5254a9ba90f348ad9c4d1ddd4b5da47cd7de638290a20accf7447db9c0e4ced4c2144497cdf5fc906a5eac60e923dabb61f65d3a |
103 |
-DIST wine-2.8.tar.xz 19120740 BLAKE2B 6d6a7eb0a30a654337ede94d358bb9d477ce5162d9b50efc8ca75e6b143b638eca916f77e120cd35e632fbdfc7cf036f67132d19db86d8d5c6340b9ac18afee5 SHA512 4d0b167b1e5add31ed0ed05b328d16fc13cd268285c03a9100e7ddc53864aa07f6b216a555ef0c2e51dee550e3f4abf0c7c20db2cbca177bb38e8c3e11f05b97 |
104 |
-DIST wine-2.9.tar.xz 19154668 BLAKE2B 45961ad031404a4cba8733bbbfe34ac1db361a508deca45e81938b25be0ed1b59e7fa9c9619bcfecce540b0c96e57cee75c6a98a144fbff6e91fa72af55ece94 SHA512 6d06e511d8f338297ed0ddb7bf2ffb501f528209eaecbbee3d4e5d53db649dd5ea0aeb78bba661a9bcfda5f97e170ca10eb8fab355e229bfe7db6a5feb7ec4e8 |
105 |
-DIST wine-3.0.1.tar.xz 19722444 BLAKE2B e042d280c3f4c2df64c2d426cdebdb65e9c7263034961b1916bc9c6206bf9c107aefaf8cee166d9f1a2ea21dfa57db0d3641ca5e8025f70520f11aa24d20ca60 SHA512 3d59f08a87da1d2ee280954a4c91e861b6994048b36eff1ac8df67dbab08a792d391b23ced66ea99f8503a979b3ec26cd35558b71c4d29d68775a5d484bf7d00 |
106 |
-DIST wine-3.0.2.tar.xz 19726920 BLAKE2B e108f851b2d893b052a26ae4368f3337bebcc81bb9ea9abf93c5b7d6e01e613ce6e5db98696ab6ad8e266f6f0f0b9c5ddccb66ae7ba7183912a7911fac4b9633 SHA512 dbd0f242c5eace297ad16e314b8ad139e7d430de7eb8ca52b2006d0b80db4809e28a0e785d404a65ea1acdb56e7f06ebfc9a50071db1edaa6180c8835e7c4b13 |
107 |
-DIST wine-3.0.3.tar.xz 19735412 BLAKE2B f0ccbe272f1013386f89805cf1573cf001eb875bccb31a1884fad1dff5f90caf727c460406af80f63db7a227d85f25f57c8e8e650a171adbe0c3f5178ddf17e8 SHA512 11043a9a9434681f9c73590688b600b3b9e3d311be2c4d97b5f58f0740500ebcfbdc826bd6584d5dd392dccbdd9389ffa04c8fedbba43a4df2e6aeb922414412 |
108 |
-DIST wine-3.0.4.tar.xz 20556944 BLAKE2B 122c06e38cae9f9d2358908d0d325ed4e0dc3d1bf3e189fcfd1a713ca147d5360934cc21c387939bb5ba6dec9410d85b586d95207089b6aa033eea15bfc209e3 SHA512 e1ce33bbc165a9c640a38965a229b757b67746f2150d545eb0e29ba6d21cdf150bd8eb9a450d8dd71733fbea3b2ac24839dd8e381b7da9cd15ddf98c59304198 |
109 |
-DIST wine-3.0.tar.xz 19712932 BLAKE2B 4478c6781bb171ecca426d1fdc85e0d0bbe13b62b6c983933de55e2abdd0bda7a01cbf251c021824b00129ea6230d1d4e718a64b7d919bb5c07a106b8771adb6 SHA512 a51f41b66f4805e09b223528eff6670e94b9c0c0c947be647507baf9d8d9afe7c3fdc88684c2c8d3573b4739d9a086ab929a744a8594d3c8f6ceb52070f43f0a |
110 |
-DIST wine-3.1.tar.xz 19730700 BLAKE2B 287cc42474a9cc57eb7f4b5db2ba79ac5ec8742dffb5367c189f19465cc69bcf78b10fe62ffe6f84ae1360f639a899a7f19128e30e1d9a5b8bbd63deb85e7650 SHA512 49c30d820b8f4028935b4d90dd6251c881cb8cd41bde8833db2782f04111a3d111e24605a87b2d70e419d54cfb6bb42d941f4593f9b381812e3602bf1307c545 |
111 |
-DIST wine-3.10.tar.xz 20485784 BLAKE2B 3a5e9ca948880a3bc979c33e797296d156425438c2502c3d2c50a6d5241e485bdc081ff195b0647cfa1db1cab247e941f02d0511f7b94dc0037fa24e2e61eb5c SHA512 bb1a1d8e8ad7f48d9fcf48ebbf0ebbb8e3b45ea211736bd7837144ea34b373f74955d3c0ccc4cdc44020eea23c8af8e67252e1c5cd6115e11419ad5f6ef24843 |
112 |
-DIST wine-3.11.tar.xz 20501100 BLAKE2B 793fe0a83ed13f4ca436c710198ffcbde5e0109d9890551a410b1d836d79adf4060f0cc7e20861eb806878db79f8003023821ac1b0d72a0710235412863c4576 SHA512 8f7226364648ec30eb77f1848ee6bf01be2445fd96f902309575ac1f6ece31bf54d415516fcda76ae438010a36a9d4846d22cc37365aac4a230701376f9589d7 |
113 |
-DIST wine-3.12.tar.xz 20516708 BLAKE2B 6ff32f8d471492c1ca42db434b16c0273e98cd15215d2f67e3d8e34e298d36620f55409bb781687f3ab11e6a44bd95eaa033e642fdb0d7aae90319ac2ddd2fb6 SHA512 afc76e8975ea780f664de27a17128f730bcbe72a9fad0c01bfe6dcc98c2f98729ccde32e97fe4df2cf98f5d1b254b28f0e7cd380855148c5cfb41dd88f3012a1 |
114 |
-DIST wine-3.13.tar.xz 20551460 BLAKE2B 2f8b1c2f72761b3c5541b8760be3009295dc9482257539edce83aa9d6022b2e8a25e1cee4fe56b69808e51e338fd330db5da17dec5dea4ba7684b5d7eb7e77d5 SHA512 a07a3d2a19261f9251f165ca4c14871e6ebda4d3f99da16f9fc41f06e80cae3fb50aeab96628c7a739e635e896dbb31c55df8b42c4637a058f9035c664c93a59 |
115 |
-DIST wine-3.14.tar.xz 20583696 BLAKE2B 5e9410c5dadd0c08cbe0e52b0170840492890784dbd1afc8f01ab50caac8443513133575fa6f64143276ce315dde8614f5ece4b3cd5568c224a3379c85619b63 SHA512 50dbbf8a832abfa01247b9d170c6e1fe4f722cc8868659512df7bc17efd7e9d618db10283baf1eda0f1e4abbcdd130be16dbdb8d5a91b155c2c441e50e2b43f1 |
116 |
-DIST wine-3.15.tar.xz 21402964 BLAKE2B fb74ae33b89612b894463b6381184737ddda7b8a23d939cefc207124529d2042051ae16959f0e752400c02ca1ee69a5870d809912b7ddc9f56c7377bcc643bf2 SHA512 3fb3f6a896eae53ef75a751e72f7431f9b6986b56738dc314bca9eff9d078e65d865ebb28cbb7a63aa571eb11cdaed20c21c36cec565f81610e348fd165e0f2a |
117 |
-DIST wine-3.16.tar.xz 21432308 BLAKE2B 7c1bca001fed1472ceaf0331e8e17ebf5aa9c0ec025c46c785d2530fd70ebafdff95b581e28ba1e0167f19bac80dd05c4c5c291180c5a3784c44c1dcd4424edb SHA512 f0c566f70ede01e5896b7611dfe58cd6748b92d55d22a71ccc9add575e9aa5062bbbffa14f0a30ee3df5cf79e9ea4dcf02a7d62db64b94d5b56927e256a978c2 |
118 |
-DIST wine-3.17.tar.xz 21457736 BLAKE2B 34c2390bd1180f81a15e7db4c712bddd3436033f209870d31f7f286d7dba8c8a65f5dd5cb13cf4c0719cef6a53c168d104e3c78a5ca1777ecf401d8d74e7927a SHA512 ea50c9e09d3fd7f41ff96a1219d43896946ac79c8cdef31ae56e10664fc3b0b6dd1f9d8cd72db874d08c431eba9c8033ea72182499666a5aa62c1056876b0a66 |
119 |
-DIST wine-3.18.tar.xz 21479964 BLAKE2B 226ec5df6fb5bd94ea4b994f9142ff725b04c4d92da45360f811533880aa3865715a5fe5bb11ce29a55ed2881974013d58479add90b6ba655b035e61eec149c1 SHA512 2137662ea69964a69d77ff5c05f271783bda49af65d605909074d465ed8087d84065156e5c509eae31b4c3a20e83a838fc71bd077b2267640b163acfa5f7366e |
120 |
-DIST wine-3.19.tar.xz 21503304 BLAKE2B 0844970cd1f39daf51baf5aba537483d24ee5f5e6d188a1502367a7e2b121fea695cd6584cc87d50dfa32fb1f716387adb513b1645406dbcaed1731e1fd7d50f SHA512 84a1811b01024191959fd16a86bd532c96f16344feb4241954d0b5819ba1db8073dc7adcf1589b67169fb6089d2d501846f6fcbdc396c804f26c794cc4a1edd1 |
121 |
-DIST wine-3.2.tar.xz 19793180 BLAKE2B 014256734f4c1d70c81115ba6c470f8264746b57be663d81f7e54593fb328a548da00c5e52438af75d923a3c6c5d3997097bd76cf1856b99f0f921f36e5151da SHA512 94b4903d628bf7aacd712a2bf566b53161880bf28311611106776df222222f592edb212d491f02e4c1b0c60d88e4b4a126981d445d1e18018238ff993c6c3092 |
122 |
-DIST wine-3.20.tar.xz 21541928 BLAKE2B 9183dacd1c6ec15ae5283eca3d17db5a869bcba9a93800a422f0dea5d9cfb5d3124a3e942e8b6487cd4ba31cfeacdd66de39128dd66d64e1226d265eae922d3a SHA512 fb66d1d4b427f46dd048b13e53bcd15a5eaeb19039221fe98ec771140c33b3c245a974e52242eab5731ffa0de15f5932204032fe24f86e1a313ff8f11da59cc4 |
123 |
-DIST wine-3.21.tar.xz 21573872 BLAKE2B 54d8733b19f1377f856c9496f6263eef1916e03caf82c6fcfa39b3e7bec1fecd87466dc92f3739d704a9161a32d9ee680b2cc5e5cdf27a582dc1d89d0b1a6639 SHA512 dd64a6778bf1b848c8fe14dc26cfca21f6c1c92714ca1b2e932a28560a2adc1f69aa1b2cba250f49a5df4f91a4accde677a2afaf960c200d3998eac1957b5c6b |
124 |
-DIST wine-3.3.tar.xz 19891048 BLAKE2B be77224e7add585f6bba77f436faa8bc9da4f4416d07e2fc67e29d5f9553b03ae8cef12fcb8dee917d84bb5a1c66af16d3140b17b195f2db58464ffe86ff7d9e SHA512 c9e4c75e94d745837208bf877b19c4e4e46df1e78082d21e716f52c9f9d93eaabbec8bf34783cda68e4275f53e37929b81ac128e5b8a13c1e5035223b2621d6a |
125 |
-DIST wine-3.4.tar.xz 19932472 BLAKE2B 8cac5d2c8b3cfb7377f8c3b0aaac6326afd1bda5a9203c9705ea473c43483475d80b23a53e40f2c17af256f523ad759525701b20ac8d600b662b34845ea9414b SHA512 5787bf3fa13d363302ee26f86b96ed728b2b06184572021efdbb00b2c8ebd088056c6d9e22c6c78f0edc0a0b12e26facccc51f08970c8c5eaab4309e86b4286c |
126 |
-DIST wine-3.5.tar.xz 19963436 BLAKE2B 83d7c0719a088f8c705f7a9d8a6df6b9ee5e0a5ffa57c0a921875097be29298bebb9025222039432c65da32359e187a93413e04a5bb73171f0033911595baf9f SHA512 c1e36f3db862fdedd00c3ac20c84c6eb799b53fe32e959b481a6168baf7d9725ed9bd0a97e7f9b651e3ccfba4f8fb623445369be03fde5010ed0fcb0a53e7d3f |
127 |
-DIST wine-3.6.tar.xz 20005240 BLAKE2B 6dd48180b9aed8a3b69c40b3ed7b2ff5adbebfb591860dda6603d2219f9059bc069df000cd2614c80d34911c451388f0124af3dd8a11b806b227ca8e16659d71 SHA512 31d24cc78734bdb743afcec7df05b641ab0625568361401eaf8cd5e217719c8c51a0ef7ed737a560fe42cb9ecd88f10d35e62a98d9df69b966502a5b0dab5a22 |
128 |
-DIST wine-3.7.tar.xz 20454036 BLAKE2B 04ac94d5679377c5d0bb37a6d3e8e3ec7c09faa300f8422a09a22b14ef4244d2bb14c80a47cfca5e11526506a8064f0cfa4e28868d7f04669f85ab743dbbb36d SHA512 a699418574dd8f407c064421cf6cdfe3923562c8adf9a7749e716f3853291eab05358ea64f0217c303c26c0f8f59d2116024b7b6978f9a52a055147e689a8694 |
129 |
-DIST wine-3.8.tar.xz 20473392 BLAKE2B a7873dd15a373491703e16888044cf2ba00121f91a4583fe6dcf687b5179a2d926035cc86c75f70ceca03a508bd4712c58a1662186e0a6e0c139e63e686f8c5d SHA512 387c6bff3eafac7e92030d11c02b3461b4ead059d2aad7f6d903e176f304d2ac0a426132fcd452507868f0d22bb360a30734edf3e73dfd514037458f08406e98 |
130 |
-DIST wine-3.9.tar.xz 20508952 BLAKE2B 6fbf22673588963c483b7b31e82287c09e15b579b8f57267e2731768f95a1f986954bb473ee0dfa2428802fe9331b8599a01c782dd1152d36ce2002b6a4e6bde SHA512 4c4e5a741a61b9427c175e015177df5806638736f7dfd92098ed95239d41a373cbab876c054d3c948e1db6a7de359db3babd63bc194edc8c2c3be28b58f75e64 |
131 |
DIST wine-4.0.1.tar.xz 21665840 BLAKE2B b33b5ce8b4624dfbbbf473a88ed8c52d5e53855fa98ac3128e9b89dbeee6e92044ed1e662e1dc9669bd8d805424c36f2dd2c836c51bf6a5e4d78350926a13150 SHA512 dd240525e389f841123a569fd2f9b8da698b7707bc0de408dfd60ae73c5e24d522abb42b76571c840df52c686fdeae56e0a9c69db2cd31f04cdb345feeacf1dc |
132 |
DIST wine-4.0.tar.xz 21644692 BLAKE2B 9c426ef2249c16e908a3617c2844d8b12a2df843721338b1cfb69459815b902cfa0ddf3d74c09dc900fb2ceb003e54d97a7c0afaac51a9caab7d21beb82e26c3 SHA512 7607fa7a3d5f7bcd3d8c4c9e7bb6e1987466110bbfc672782ebe57c6d9da348c58e76abf40b0a70c725dfd703163db6e194ee0e3db11a47b6b60e225163308dd |
133 |
DIST wine-4.1.tar.xz 21680916 BLAKE2B 1a040606e34e1aec6f63d9692c6cbf915f5b32c817116aed68203e6bdedb8cb129dad440f7e51e9fb2ebaf1aa537d1584333f06b8b2c5d68f9ff37921d5b8b95 SHA512 2b28fc82111552009a042d682ea8f4e54d90f14bb99f1fbe12732090e7562527c229683562630edada0b1f4143de226734337b20d1b23d711191dcc0a834e4dc |
134 |
|
135 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0-r1.ebuild |
136 |
deleted file mode 100644 |
137 |
index a73addc..0000000 |
138 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.0-r1.ebuild |
139 |
+++ /dev/null |
140 |
@@ -1,525 +0,0 @@ |
141 |
-# Copyright 1999-2018 Gentoo Foundation |
142 |
-# Distributed under the terms of the GNU General Public License v2 |
143 |
- |
144 |
-EAPI=6 |
145 |
- |
146 |
-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" |
147 |
-PLOCALE_BACKUP="en" |
148 |
- |
149 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
150 |
- |
151 |
-MY_PN="${PN%%-*}" |
152 |
-MY_P="${MY_PN}-${PV}" |
153 |
- |
154 |
-if [[ ${PV} == "9999" ]] ; then |
155 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
156 |
- EGIT_BRANCH="master" |
157 |
- inherit git-r3 |
158 |
- SRC_URI="" |
159 |
- #KEYWORDS="" |
160 |
-else |
161 |
- MAJOR_V=$(ver_cut 1) |
162 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.bz2" |
163 |
- KEYWORDS="-* amd64 x86 ~x86-fbsd" |
164 |
-fi |
165 |
-S="${WORKDIR}/${MY_P}" |
166 |
- |
167 |
-GWP_V="20180120" |
168 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
169 |
- |
170 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
171 |
-HOMEPAGE="https://www.winehq.org/" |
172 |
-SRC_URI="${SRC_URI} |
173 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
174 |
-" |
175 |
- |
176 |
-LICENSE="LGPL-2.1" |
177 |
-SLOT="${PV}" |
178 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
179 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
180 |
- X? ( truetype ) |
181 |
- elibc_glibc? ( threads ) |
182 |
- osmesa? ( opengl ) |
183 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
184 |
- |
185 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
186 |
-# or fail due to Xvfb's opengl limitations. |
187 |
-RESTRICT="test" |
188 |
- |
189 |
-COMMON_DEPEND=" |
190 |
- X? ( |
191 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
192 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
193 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
194 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
195 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
196 |
- ) |
197 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
198 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
199 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
200 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
201 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
202 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
203 |
- gstreamer? ( |
204 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
205 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
206 |
- ) |
207 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
208 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
209 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
210 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
211 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
212 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
213 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
214 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
215 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
216 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
217 |
- opengl? ( |
218 |
- virtual/glu[${MULTILIB_USEDEP}] |
219 |
- virtual/opengl[${MULTILIB_USEDEP}] |
220 |
- ) |
221 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
222 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
223 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
224 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
225 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
226 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
227 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
228 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
229 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
230 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
231 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
232 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
233 |
- xml? ( |
234 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
235 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
236 |
- )" |
237 |
- |
238 |
-RDEPEND="${COMMON_DEPEND} |
239 |
- app-emulation/wine-desktop-common |
240 |
- >app-eselect/eselect-wine-0.3 |
241 |
- !app-emulation/wine:0 |
242 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
243 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
244 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
245 |
- perl? ( |
246 |
- dev-lang/perl |
247 |
- dev-perl/XML-Simple |
248 |
- ) |
249 |
- pulseaudio? ( |
250 |
- realtime? ( sys-auth/rtkit ) |
251 |
- ) |
252 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
253 |
- selinux? ( sec-policy/selinux-wine ) |
254 |
- udisks? ( sys-fs/udisks:2 )" |
255 |
- |
256 |
-# tools/make_requests requires perl |
257 |
-DEPEND="${COMMON_DEPEND} |
258 |
- sys-devel/flex |
259 |
- >=sys-kernel/linux-headers-2.6 |
260 |
- virtual/pkgconfig |
261 |
- virtual/yacc |
262 |
- X? ( x11-base/xorg-proto ) |
263 |
- prelink? ( sys-devel/prelink ) |
264 |
- xinerama? ( x11-base/xorg-proto )" |
265 |
- |
266 |
-# These use a non-standard "Wine" category, which is provided by |
267 |
-# /etc/xdg/applications-merged/wine.menu |
268 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
269 |
-usr/share/applications/wine-notepad.desktop |
270 |
-usr/share/applications/wine-uninstaller.desktop |
271 |
-usr/share/applications/wine-winecfg.desktop" |
272 |
- |
273 |
-PATCHES=( |
274 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
275 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
276 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
277 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
278 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
279 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
280 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
281 |
-) |
282 |
-PATCHES_BIN=( |
283 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
284 |
-) |
285 |
- |
286 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
287 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
288 |
- DEPEND+=" dev-util/patchbin" |
289 |
-fi |
290 |
- |
291 |
-wine_compiler_check() { |
292 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
293 |
- |
294 |
- # GCC-specific bugs |
295 |
- if tc-is-gcc; then |
296 |
- # bug #549768 |
297 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
298 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
299 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
300 |
- # Run in subshell to prevent "Aborted" message |
301 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
302 |
- if ! eend $?; then |
303 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
304 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
305 |
- eerror "or use gcc-config to select a different compiler version." |
306 |
- eerror "See https://bugs.gentoo.org/549768" |
307 |
- eerror |
308 |
- return 1 |
309 |
- fi |
310 |
- fi |
311 |
- # bug #574044 |
312 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
313 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
314 |
- # Compile in subshell to prevent "Aborted" message |
315 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
316 |
- if ! eend $?; then |
317 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
318 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
319 |
- eerror "or use gcc-config to select a different compiler version." |
320 |
- eerror "See https://bugs.gentoo.org/574044" |
321 |
- eerror |
322 |
- return 1 |
323 |
- fi |
324 |
- fi |
325 |
- fi |
326 |
- |
327 |
- # Ensure compiler support |
328 |
- if use abi_x86_64; then |
329 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
330 |
- # Compile in subshell to prevent "Aborted" message |
331 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
332 |
- if ! eend $?; then |
333 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
334 |
- eerror |
335 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
336 |
- eerror |
337 |
- return 1 |
338 |
- fi |
339 |
- fi |
340 |
-} |
341 |
- |
342 |
-wine_build_environment_check() { |
343 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
344 |
- |
345 |
- if use abi_x86_64; then |
346 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
347 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
348 |
- die |
349 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
350 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
351 |
- die |
352 |
- fi |
353 |
- fi |
354 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
355 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
356 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
357 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
358 |
- fi |
359 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
360 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
361 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
362 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
363 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
364 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
365 |
- fi |
366 |
- fi |
367 |
- |
368 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
369 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
370 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
371 |
- eerror |
372 |
- return 1 |
373 |
- fi |
374 |
-} |
375 |
- |
376 |
-wine_env_vcs_vars() { |
377 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
378 |
- local pn_live_val="${pn_live_var}" |
379 |
- eval pn_live_val='$'${pn_live_val} |
380 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
381 |
- eerror "Commits must now be specified using the environmental variables" |
382 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
383 |
- eerror |
384 |
- return 1 |
385 |
- fi |
386 |
-} |
387 |
- |
388 |
-pkg_pretend() { |
389 |
- wine_build_environment_check || die |
390 |
- |
391 |
- # Verify OSS support |
392 |
- if use oss && ! use kernel_FreeBSD; then |
393 |
- if ! has_version ">=media-sound/oss-4"; then |
394 |
- eerror "You cannot build wine with USE=oss without having support from a" |
395 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
396 |
- eerror |
397 |
- die |
398 |
- fi |
399 |
- fi |
400 |
-} |
401 |
- |
402 |
-pkg_setup() { |
403 |
- wine_build_environment_check || die |
404 |
- wine_env_vcs_vars || die |
405 |
- |
406 |
- WINE_VARIANT="${PN#wine}-${PV}" |
407 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
408 |
- |
409 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
410 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
411 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
412 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
413 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
414 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
415 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
416 |
- MY_MANDIR="${MY_DATADIR}/man" |
417 |
-} |
418 |
- |
419 |
-src_unpack() { |
420 |
- if [[ ${PV} == "9999" ]] ; then |
421 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
422 |
- fi |
423 |
- |
424 |
- default |
425 |
- |
426 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
427 |
-} |
428 |
- |
429 |
-src_prepare() { |
430 |
- |
431 |
- eapply_bin(){ |
432 |
- local patch |
433 |
- for patch in ${PATCHES_BIN[@]}; do |
434 |
- patchbin --nogit < "${patch}" || die |
435 |
- done |
436 |
- } |
437 |
- |
438 |
- local md5="$(md5sum server/protocol.def)" |
439 |
- |
440 |
- default |
441 |
- eapply_bin |
442 |
- eautoreconf |
443 |
- |
444 |
- # Modification of the server protocol requires regenerating the server requests |
445 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
446 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
447 |
- tools/make_requests || die #432348 |
448 |
- fi |
449 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
450 |
- if ! use run-exes; then |
451 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
452 |
- fi |
453 |
- |
454 |
- # Edit wine.desktop to work for specific variant |
455 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
456 |
- |
457 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
458 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
459 |
- |
460 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
461 |
- |
462 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
463 |
- # Requires wine-2.0-rearrange-manpages.patch |
464 |
- |
465 |
- # Duplicate manpages input files for wine64 |
466 |
- local f |
467 |
- for f in loader/*.man.in; do |
468 |
- cp ${f} ${f/wine/wine64} || die |
469 |
- done |
470 |
- # Add wine64 manpages to Makefile |
471 |
- if use abi_x86_64; then |
472 |
- sed -i "/wine.man.in/i \ |
473 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
474 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
475 |
-\164\2/' loader/Makefile.in || die |
476 |
- fi |
477 |
- |
478 |
- rm_man_file(){ |
479 |
- local file="${1}" |
480 |
- loc=${2} |
481 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
482 |
- } |
483 |
- |
484 |
- while read f; do |
485 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
486 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
487 |
-} |
488 |
- |
489 |
-src_configure() { |
490 |
- wine_compiler_check || die |
491 |
- |
492 |
- export LDCONFIG=/bin/true |
493 |
- use custom-cflags || strip-flags |
494 |
- |
495 |
- multilib-minimal_src_configure |
496 |
-} |
497 |
- |
498 |
-multilib_src_configure() { |
499 |
- local myconf=( |
500 |
- --prefix="${MY_PREFIX}" |
501 |
- --datarootdir="${MY_DATAROOTDIR}" |
502 |
- --datadir="${MY_DATADIR}" |
503 |
- --docdir="${MY_DOCDIR}" |
504 |
- --includedir="${MY_INCLUDEDIR}" |
505 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
506 |
- --libexecdir="${MY_LIBEXECDIR}" |
507 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
508 |
- --mandir="${MY_MANDIR}" |
509 |
- --sysconfdir=/etc/wine |
510 |
- $(use_with alsa) |
511 |
- $(use_with capi) |
512 |
- $(use_with lcms cms) |
513 |
- $(use_with cups) |
514 |
- $(use_with ncurses curses) |
515 |
- $(use_with udisks dbus) |
516 |
- $(use_with fontconfig) |
517 |
- $(use_with ssl gnutls) |
518 |
- $(use_enable gecko mshtml) |
519 |
- $(use_with gphoto2 gphoto) |
520 |
- $(use_with gsm) |
521 |
- $(use_with gstreamer) |
522 |
- --without-hal |
523 |
- $(use_with jpeg) |
524 |
- $(use_with ldap) |
525 |
- $(use_enable mono mscoree) |
526 |
- $(use_with mp3 mpg123) |
527 |
- $(use_with netapi) |
528 |
- $(use_with nls gettext) |
529 |
- $(use_with openal) |
530 |
- $(use_with opencl) |
531 |
- $(use_with opengl) |
532 |
- $(use_with osmesa) |
533 |
- $(use_with oss) |
534 |
- $(use_with pcap) |
535 |
- $(use_with png) |
536 |
- $(use_with pulseaudio pulse) |
537 |
- $(use_with threads pthread) |
538 |
- $(use_with scanner sane) |
539 |
- $(use_enable test tests) |
540 |
- $(use_with truetype freetype) |
541 |
- $(use_with udev) |
542 |
- $(use_with v4l) |
543 |
- $(use_with X x) |
544 |
- $(use_with xcomposite) |
545 |
- $(use_with xinerama) |
546 |
- $(use_with xml) |
547 |
- $(use_with xml xslt) |
548 |
- ) |
549 |
- |
550 |
- local PKG_CONFIG AR RANLIB |
551 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
552 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
553 |
- tc-export PKG_CONFIG AR RANLIB |
554 |
- |
555 |
- if use amd64; then |
556 |
- if [[ ${ABI} == amd64 ]]; then |
557 |
- myconf+=( --enable-win64 ) |
558 |
- else |
559 |
- myconf+=( --disable-win64 ) |
560 |
- fi |
561 |
- |
562 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
563 |
- # CC/LD hackery. We're using separate tools instead. |
564 |
- fi |
565 |
- |
566 |
- ECONF_SOURCE=${S} \ |
567 |
- econf "${myconf[@]}" |
568 |
- emake depend |
569 |
-} |
570 |
- |
571 |
-multilib_src_test() { |
572 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
573 |
- if [[ ${ABI} == x86 ]]; then |
574 |
- if [[ $(id -u) == 0 ]]; then |
575 |
- ewarn "Skipping tests since they cannot be run under the root user." |
576 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
577 |
- return |
578 |
- fi |
579 |
- |
580 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
581 |
- Xemake test |
582 |
- fi |
583 |
-} |
584 |
- |
585 |
-multilib_src_install_all() { |
586 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
587 |
- add_locale_docs() { |
588 |
- local locale_doc="documentation/README.$1" |
589 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
590 |
- } |
591 |
- l10n_for_each_locale_do add_locale_docs |
592 |
- |
593 |
- einstalldocs |
594 |
- prune_libtool_files --all |
595 |
- |
596 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
597 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
598 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
599 |
- fi |
600 |
- |
601 |
- # Remove wineconsole if neither backend is installed #551124 |
602 |
- if ! use X && ! use ncurses; then |
603 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
604 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
605 |
- rm_wineconsole() { |
606 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
607 |
- } |
608 |
- multilib_foreach_abi rm_wineconsole |
609 |
- fi |
610 |
- |
611 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
612 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
613 |
- |
614 |
- if use abi_x86_64 && ! use abi_x86_32; then |
615 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
616 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
617 |
- fi |
618 |
- |
619 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
620 |
- eshopts_push -s failglob #615218 |
621 |
- # Make wrappers for binaries for handling multiple variants |
622 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
623 |
- local b |
624 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
625 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
626 |
- done |
627 |
- eshopts_pop |
628 |
-} |
629 |
- |
630 |
-pkg_postinst() { |
631 |
- eselect wine register ${P} |
632 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
633 |
- eselect wine register --vanilla ${P} || die |
634 |
- fi |
635 |
- |
636 |
- eselect wine update --all --if-unset || die |
637 |
- |
638 |
- xdg_desktop_database_update |
639 |
- |
640 |
- if ! use gecko; then |
641 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
642 |
- ewarn "implementation of iexplore. Many older windows applications" |
643 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
644 |
- ewarn "you will likely need to install an external one, like via winetricks" |
645 |
- fi |
646 |
- if ! use mono; then |
647 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
648 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
649 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
650 |
- ewarn "to install an external one, like via winetricks" |
651 |
- fi |
652 |
-} |
653 |
- |
654 |
-pkg_prerm() { |
655 |
- eselect wine deregister ${P} |
656 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
657 |
- eselect wine deregister --vanilla ${P} || die |
658 |
- fi |
659 |
- |
660 |
- eselect wine update --all --if-unset || die |
661 |
-} |
662 |
- |
663 |
-pkg_postrm() { |
664 |
- xdg_desktop_database_update |
665 |
-} |
666 |
|
667 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.1-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.1-r1.ebuild |
668 |
deleted file mode 100644 |
669 |
index 6a15075..0000000 |
670 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.0.1-r1.ebuild |
671 |
+++ /dev/null |
672 |
@@ -1,525 +0,0 @@ |
673 |
-# Copyright 1999-2018 Gentoo Foundation |
674 |
-# Distributed under the terms of the GNU General Public License v2 |
675 |
- |
676 |
-EAPI=6 |
677 |
- |
678 |
-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" |
679 |
-PLOCALE_BACKUP="en" |
680 |
- |
681 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
682 |
- |
683 |
-MY_PN="${PN%%-*}" |
684 |
-MY_P="${MY_PN}-${PV}" |
685 |
- |
686 |
-if [[ ${PV} == "9999" ]] ; then |
687 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
688 |
- EGIT_BRANCH="master" |
689 |
- inherit git-r3 |
690 |
- SRC_URI="" |
691 |
- #KEYWORDS="" |
692 |
-else |
693 |
- MAJOR_V=$(ver_cut 1) |
694 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
695 |
- KEYWORDS="-* amd64 x86 ~x86-fbsd" |
696 |
-fi |
697 |
-S="${WORKDIR}/${MY_P}" |
698 |
- |
699 |
-GWP_V="20180120" |
700 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
701 |
- |
702 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
703 |
-HOMEPAGE="https://www.winehq.org/" |
704 |
-SRC_URI="${SRC_URI} |
705 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
706 |
-" |
707 |
- |
708 |
-LICENSE="LGPL-2.1" |
709 |
-SLOT="${PV}" |
710 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
711 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
712 |
- X? ( truetype ) |
713 |
- elibc_glibc? ( threads ) |
714 |
- osmesa? ( opengl ) |
715 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
716 |
- |
717 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
718 |
-# or fail due to Xvfb's opengl limitations. |
719 |
-RESTRICT="test" |
720 |
- |
721 |
-COMMON_DEPEND=" |
722 |
- X? ( |
723 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
724 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
725 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
726 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
727 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
728 |
- ) |
729 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
730 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
731 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
732 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
733 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
734 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
735 |
- gstreamer? ( |
736 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
737 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
738 |
- ) |
739 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
740 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
741 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
742 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
743 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
744 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
745 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
746 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
747 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
748 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
749 |
- opengl? ( |
750 |
- virtual/glu[${MULTILIB_USEDEP}] |
751 |
- virtual/opengl[${MULTILIB_USEDEP}] |
752 |
- ) |
753 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
754 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
755 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
756 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
757 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
758 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
759 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
760 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
761 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
762 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
763 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
764 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
765 |
- xml? ( |
766 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
767 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
768 |
- )" |
769 |
- |
770 |
-RDEPEND="${COMMON_DEPEND} |
771 |
- app-emulation/wine-desktop-common |
772 |
- >app-eselect/eselect-wine-0.3 |
773 |
- !app-emulation/wine:0 |
774 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
775 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
776 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
777 |
- perl? ( |
778 |
- dev-lang/perl |
779 |
- dev-perl/XML-Simple |
780 |
- ) |
781 |
- pulseaudio? ( |
782 |
- realtime? ( sys-auth/rtkit ) |
783 |
- ) |
784 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
785 |
- selinux? ( sec-policy/selinux-wine ) |
786 |
- udisks? ( sys-fs/udisks:2 )" |
787 |
- |
788 |
-# tools/make_requests requires perl |
789 |
-DEPEND="${COMMON_DEPEND} |
790 |
- sys-devel/flex |
791 |
- >=sys-kernel/linux-headers-2.6 |
792 |
- virtual/pkgconfig |
793 |
- virtual/yacc |
794 |
- X? ( x11-base/xorg-proto ) |
795 |
- prelink? ( sys-devel/prelink ) |
796 |
- xinerama? ( x11-base/xorg-proto )" |
797 |
- |
798 |
-# These use a non-standard "Wine" category, which is provided by |
799 |
-# /etc/xdg/applications-merged/wine.menu |
800 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
801 |
-usr/share/applications/wine-notepad.desktop |
802 |
-usr/share/applications/wine-uninstaller.desktop |
803 |
-usr/share/applications/wine-winecfg.desktop" |
804 |
- |
805 |
-PATCHES=( |
806 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
807 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
808 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
809 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
810 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
811 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
812 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
813 |
-) |
814 |
-PATCHES_BIN=( |
815 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
816 |
-) |
817 |
- |
818 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
819 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
820 |
- DEPEND+=" dev-util/patchbin" |
821 |
-fi |
822 |
- |
823 |
-wine_compiler_check() { |
824 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
825 |
- |
826 |
- # GCC-specific bugs |
827 |
- if tc-is-gcc; then |
828 |
- # bug #549768 |
829 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
830 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
831 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
832 |
- # Run in subshell to prevent "Aborted" message |
833 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
834 |
- if ! eend $?; then |
835 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
836 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
837 |
- eerror "or use gcc-config to select a different compiler version." |
838 |
- eerror "See https://bugs.gentoo.org/549768" |
839 |
- eerror |
840 |
- return 1 |
841 |
- fi |
842 |
- fi |
843 |
- # bug #574044 |
844 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
845 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
846 |
- # Compile in subshell to prevent "Aborted" message |
847 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
848 |
- if ! eend $?; then |
849 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
850 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
851 |
- eerror "or use gcc-config to select a different compiler version." |
852 |
- eerror "See https://bugs.gentoo.org/574044" |
853 |
- eerror |
854 |
- return 1 |
855 |
- fi |
856 |
- fi |
857 |
- fi |
858 |
- |
859 |
- # Ensure compiler support |
860 |
- if use abi_x86_64; then |
861 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
862 |
- # Compile in subshell to prevent "Aborted" message |
863 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
864 |
- if ! eend $?; then |
865 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
866 |
- eerror |
867 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
868 |
- eerror |
869 |
- return 1 |
870 |
- fi |
871 |
- fi |
872 |
-} |
873 |
- |
874 |
-wine_build_environment_check() { |
875 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
876 |
- |
877 |
- if use abi_x86_64; then |
878 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
879 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
880 |
- die |
881 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
882 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
883 |
- die |
884 |
- fi |
885 |
- fi |
886 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
887 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
888 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
889 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
890 |
- fi |
891 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
892 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
893 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
894 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
895 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
896 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
897 |
- fi |
898 |
- fi |
899 |
- |
900 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
901 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
902 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
903 |
- eerror |
904 |
- return 1 |
905 |
- fi |
906 |
-} |
907 |
- |
908 |
-wine_env_vcs_vars() { |
909 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
910 |
- local pn_live_val="${pn_live_var}" |
911 |
- eval pn_live_val='$'${pn_live_val} |
912 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
913 |
- eerror "Commits must now be specified using the environmental variables" |
914 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
915 |
- eerror |
916 |
- return 1 |
917 |
- fi |
918 |
-} |
919 |
- |
920 |
-pkg_pretend() { |
921 |
- wine_build_environment_check || die |
922 |
- |
923 |
- # Verify OSS support |
924 |
- if use oss && ! use kernel_FreeBSD; then |
925 |
- if ! has_version ">=media-sound/oss-4"; then |
926 |
- eerror "You cannot build wine with USE=oss without having support from a" |
927 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
928 |
- eerror |
929 |
- die |
930 |
- fi |
931 |
- fi |
932 |
-} |
933 |
- |
934 |
-pkg_setup() { |
935 |
- wine_build_environment_check || die |
936 |
- wine_env_vcs_vars || die |
937 |
- |
938 |
- WINE_VARIANT="${PN#wine}-${PV}" |
939 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
940 |
- |
941 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
942 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
943 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
944 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
945 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
946 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
947 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
948 |
- MY_MANDIR="${MY_DATADIR}/man" |
949 |
-} |
950 |
- |
951 |
-src_unpack() { |
952 |
- if [[ ${PV} == "9999" ]] ; then |
953 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
954 |
- fi |
955 |
- |
956 |
- default |
957 |
- |
958 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
959 |
-} |
960 |
- |
961 |
-src_prepare() { |
962 |
- |
963 |
- eapply_bin(){ |
964 |
- local patch |
965 |
- for patch in ${PATCHES_BIN[@]}; do |
966 |
- patchbin --nogit < "${patch}" || die |
967 |
- done |
968 |
- } |
969 |
- |
970 |
- local md5="$(md5sum server/protocol.def)" |
971 |
- |
972 |
- default |
973 |
- eapply_bin |
974 |
- eautoreconf |
975 |
- |
976 |
- # Modification of the server protocol requires regenerating the server requests |
977 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
978 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
979 |
- tools/make_requests || die #432348 |
980 |
- fi |
981 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
982 |
- if ! use run-exes; then |
983 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
984 |
- fi |
985 |
- |
986 |
- # Edit wine.desktop to work for specific variant |
987 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
988 |
- |
989 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
990 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
991 |
- |
992 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
993 |
- |
994 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
995 |
- # Requires wine-2.0-rearrange-manpages.patch |
996 |
- |
997 |
- # Duplicate manpages input files for wine64 |
998 |
- local f |
999 |
- for f in loader/*.man.in; do |
1000 |
- cp ${f} ${f/wine/wine64} || die |
1001 |
- done |
1002 |
- # Add wine64 manpages to Makefile |
1003 |
- if use abi_x86_64; then |
1004 |
- sed -i "/wine.man.in/i \ |
1005 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
1006 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
1007 |
-\164\2/' loader/Makefile.in || die |
1008 |
- fi |
1009 |
- |
1010 |
- rm_man_file(){ |
1011 |
- local file="${1}" |
1012 |
- loc=${2} |
1013 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
1014 |
- } |
1015 |
- |
1016 |
- while read f; do |
1017 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
1018 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
1019 |
-} |
1020 |
- |
1021 |
-src_configure() { |
1022 |
- wine_compiler_check || die |
1023 |
- |
1024 |
- export LDCONFIG=/bin/true |
1025 |
- use custom-cflags || strip-flags |
1026 |
- |
1027 |
- multilib-minimal_src_configure |
1028 |
-} |
1029 |
- |
1030 |
-multilib_src_configure() { |
1031 |
- local myconf=( |
1032 |
- --prefix="${MY_PREFIX}" |
1033 |
- --datarootdir="${MY_DATAROOTDIR}" |
1034 |
- --datadir="${MY_DATADIR}" |
1035 |
- --docdir="${MY_DOCDIR}" |
1036 |
- --includedir="${MY_INCLUDEDIR}" |
1037 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
1038 |
- --libexecdir="${MY_LIBEXECDIR}" |
1039 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
1040 |
- --mandir="${MY_MANDIR}" |
1041 |
- --sysconfdir=/etc/wine |
1042 |
- $(use_with alsa) |
1043 |
- $(use_with capi) |
1044 |
- $(use_with lcms cms) |
1045 |
- $(use_with cups) |
1046 |
- $(use_with ncurses curses) |
1047 |
- $(use_with udisks dbus) |
1048 |
- $(use_with fontconfig) |
1049 |
- $(use_with ssl gnutls) |
1050 |
- $(use_enable gecko mshtml) |
1051 |
- $(use_with gphoto2 gphoto) |
1052 |
- $(use_with gsm) |
1053 |
- $(use_with gstreamer) |
1054 |
- --without-hal |
1055 |
- $(use_with jpeg) |
1056 |
- $(use_with ldap) |
1057 |
- $(use_enable mono mscoree) |
1058 |
- $(use_with mp3 mpg123) |
1059 |
- $(use_with netapi) |
1060 |
- $(use_with nls gettext) |
1061 |
- $(use_with openal) |
1062 |
- $(use_with opencl) |
1063 |
- $(use_with opengl) |
1064 |
- $(use_with osmesa) |
1065 |
- $(use_with oss) |
1066 |
- $(use_with pcap) |
1067 |
- $(use_with png) |
1068 |
- $(use_with pulseaudio pulse) |
1069 |
- $(use_with threads pthread) |
1070 |
- $(use_with scanner sane) |
1071 |
- $(use_enable test tests) |
1072 |
- $(use_with truetype freetype) |
1073 |
- $(use_with udev) |
1074 |
- $(use_with v4l) |
1075 |
- $(use_with X x) |
1076 |
- $(use_with xcomposite) |
1077 |
- $(use_with xinerama) |
1078 |
- $(use_with xml) |
1079 |
- $(use_with xml xslt) |
1080 |
- ) |
1081 |
- |
1082 |
- local PKG_CONFIG AR RANLIB |
1083 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
1084 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
1085 |
- tc-export PKG_CONFIG AR RANLIB |
1086 |
- |
1087 |
- if use amd64; then |
1088 |
- if [[ ${ABI} == amd64 ]]; then |
1089 |
- myconf+=( --enable-win64 ) |
1090 |
- else |
1091 |
- myconf+=( --disable-win64 ) |
1092 |
- fi |
1093 |
- |
1094 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
1095 |
- # CC/LD hackery. We're using separate tools instead. |
1096 |
- fi |
1097 |
- |
1098 |
- ECONF_SOURCE=${S} \ |
1099 |
- econf "${myconf[@]}" |
1100 |
- emake depend |
1101 |
-} |
1102 |
- |
1103 |
-multilib_src_test() { |
1104 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
1105 |
- if [[ ${ABI} == x86 ]]; then |
1106 |
- if [[ $(id -u) == 0 ]]; then |
1107 |
- ewarn "Skipping tests since they cannot be run under the root user." |
1108 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
1109 |
- return |
1110 |
- fi |
1111 |
- |
1112 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
1113 |
- Xemake test |
1114 |
- fi |
1115 |
-} |
1116 |
- |
1117 |
-multilib_src_install_all() { |
1118 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
1119 |
- add_locale_docs() { |
1120 |
- local locale_doc="documentation/README.$1" |
1121 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
1122 |
- } |
1123 |
- l10n_for_each_locale_do add_locale_docs |
1124 |
- |
1125 |
- einstalldocs |
1126 |
- prune_libtool_files --all |
1127 |
- |
1128 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
1129 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
1130 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
1131 |
- fi |
1132 |
- |
1133 |
- # Remove wineconsole if neither backend is installed #551124 |
1134 |
- if ! use X && ! use ncurses; then |
1135 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
1136 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
1137 |
- rm_wineconsole() { |
1138 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
1139 |
- } |
1140 |
- multilib_foreach_abi rm_wineconsole |
1141 |
- fi |
1142 |
- |
1143 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
1144 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
1145 |
- |
1146 |
- if use abi_x86_64 && ! use abi_x86_32; then |
1147 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
1148 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
1149 |
- fi |
1150 |
- |
1151 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
1152 |
- eshopts_push -s failglob #615218 |
1153 |
- # Make wrappers for binaries for handling multiple variants |
1154 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
1155 |
- local b |
1156 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
1157 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
1158 |
- done |
1159 |
- eshopts_pop |
1160 |
-} |
1161 |
- |
1162 |
-pkg_postinst() { |
1163 |
- eselect wine register ${P} |
1164 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
1165 |
- eselect wine register --vanilla ${P} || die |
1166 |
- fi |
1167 |
- |
1168 |
- eselect wine update --all --if-unset || die |
1169 |
- |
1170 |
- xdg_desktop_database_update |
1171 |
- |
1172 |
- if ! use gecko; then |
1173 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
1174 |
- ewarn "implementation of iexplore. Many older windows applications" |
1175 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
1176 |
- ewarn "you will likely need to install an external one, like via winetricks" |
1177 |
- fi |
1178 |
- if ! use mono; then |
1179 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
1180 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
1181 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
1182 |
- ewarn "to install an external one, like via winetricks" |
1183 |
- fi |
1184 |
-} |
1185 |
- |
1186 |
-pkg_prerm() { |
1187 |
- eselect wine deregister ${P} |
1188 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
1189 |
- eselect wine deregister --vanilla ${P} || die |
1190 |
- fi |
1191 |
- |
1192 |
- eselect wine update --all --if-unset || die |
1193 |
-} |
1194 |
- |
1195 |
-pkg_postrm() { |
1196 |
- xdg_desktop_database_update |
1197 |
-} |
1198 |
|
1199 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.2-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.2-r1.ebuild |
1200 |
deleted file mode 100644 |
1201 |
index 6a15075..0000000 |
1202 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.0.2-r1.ebuild |
1203 |
+++ /dev/null |
1204 |
@@ -1,525 +0,0 @@ |
1205 |
-# Copyright 1999-2018 Gentoo Foundation |
1206 |
-# Distributed under the terms of the GNU General Public License v2 |
1207 |
- |
1208 |
-EAPI=6 |
1209 |
- |
1210 |
-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" |
1211 |
-PLOCALE_BACKUP="en" |
1212 |
- |
1213 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
1214 |
- |
1215 |
-MY_PN="${PN%%-*}" |
1216 |
-MY_P="${MY_PN}-${PV}" |
1217 |
- |
1218 |
-if [[ ${PV} == "9999" ]] ; then |
1219 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
1220 |
- EGIT_BRANCH="master" |
1221 |
- inherit git-r3 |
1222 |
- SRC_URI="" |
1223 |
- #KEYWORDS="" |
1224 |
-else |
1225 |
- MAJOR_V=$(ver_cut 1) |
1226 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
1227 |
- KEYWORDS="-* amd64 x86 ~x86-fbsd" |
1228 |
-fi |
1229 |
-S="${WORKDIR}/${MY_P}" |
1230 |
- |
1231 |
-GWP_V="20180120" |
1232 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
1233 |
- |
1234 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
1235 |
-HOMEPAGE="https://www.winehq.org/" |
1236 |
-SRC_URI="${SRC_URI} |
1237 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
1238 |
-" |
1239 |
- |
1240 |
-LICENSE="LGPL-2.1" |
1241 |
-SLOT="${PV}" |
1242 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
1243 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
1244 |
- X? ( truetype ) |
1245 |
- elibc_glibc? ( threads ) |
1246 |
- osmesa? ( opengl ) |
1247 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
1248 |
- |
1249 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
1250 |
-# or fail due to Xvfb's opengl limitations. |
1251 |
-RESTRICT="test" |
1252 |
- |
1253 |
-COMMON_DEPEND=" |
1254 |
- X? ( |
1255 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
1256 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
1257 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
1258 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
1259 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
1260 |
- ) |
1261 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
1262 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
1263 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
1264 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
1265 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
1266 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
1267 |
- gstreamer? ( |
1268 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
1269 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
1270 |
- ) |
1271 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
1272 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
1273 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
1274 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
1275 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
1276 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
1277 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
1278 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
1279 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
1280 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
1281 |
- opengl? ( |
1282 |
- virtual/glu[${MULTILIB_USEDEP}] |
1283 |
- virtual/opengl[${MULTILIB_USEDEP}] |
1284 |
- ) |
1285 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
1286 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
1287 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
1288 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
1289 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
1290 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
1291 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
1292 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
1293 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
1294 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
1295 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
1296 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
1297 |
- xml? ( |
1298 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
1299 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
1300 |
- )" |
1301 |
- |
1302 |
-RDEPEND="${COMMON_DEPEND} |
1303 |
- app-emulation/wine-desktop-common |
1304 |
- >app-eselect/eselect-wine-0.3 |
1305 |
- !app-emulation/wine:0 |
1306 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
1307 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
1308 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
1309 |
- perl? ( |
1310 |
- dev-lang/perl |
1311 |
- dev-perl/XML-Simple |
1312 |
- ) |
1313 |
- pulseaudio? ( |
1314 |
- realtime? ( sys-auth/rtkit ) |
1315 |
- ) |
1316 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
1317 |
- selinux? ( sec-policy/selinux-wine ) |
1318 |
- udisks? ( sys-fs/udisks:2 )" |
1319 |
- |
1320 |
-# tools/make_requests requires perl |
1321 |
-DEPEND="${COMMON_DEPEND} |
1322 |
- sys-devel/flex |
1323 |
- >=sys-kernel/linux-headers-2.6 |
1324 |
- virtual/pkgconfig |
1325 |
- virtual/yacc |
1326 |
- X? ( x11-base/xorg-proto ) |
1327 |
- prelink? ( sys-devel/prelink ) |
1328 |
- xinerama? ( x11-base/xorg-proto )" |
1329 |
- |
1330 |
-# These use a non-standard "Wine" category, which is provided by |
1331 |
-# /etc/xdg/applications-merged/wine.menu |
1332 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
1333 |
-usr/share/applications/wine-notepad.desktop |
1334 |
-usr/share/applications/wine-uninstaller.desktop |
1335 |
-usr/share/applications/wine-winecfg.desktop" |
1336 |
- |
1337 |
-PATCHES=( |
1338 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
1339 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
1340 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
1341 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
1342 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
1343 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
1344 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
1345 |
-) |
1346 |
-PATCHES_BIN=( |
1347 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
1348 |
-) |
1349 |
- |
1350 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
1351 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
1352 |
- DEPEND+=" dev-util/patchbin" |
1353 |
-fi |
1354 |
- |
1355 |
-wine_compiler_check() { |
1356 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
1357 |
- |
1358 |
- # GCC-specific bugs |
1359 |
- if tc-is-gcc; then |
1360 |
- # bug #549768 |
1361 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
1362 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
1363 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
1364 |
- # Run in subshell to prevent "Aborted" message |
1365 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
1366 |
- if ! eend $?; then |
1367 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
1368 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
1369 |
- eerror "or use gcc-config to select a different compiler version." |
1370 |
- eerror "See https://bugs.gentoo.org/549768" |
1371 |
- eerror |
1372 |
- return 1 |
1373 |
- fi |
1374 |
- fi |
1375 |
- # bug #574044 |
1376 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
1377 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
1378 |
- # Compile in subshell to prevent "Aborted" message |
1379 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
1380 |
- if ! eend $?; then |
1381 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
1382 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
1383 |
- eerror "or use gcc-config to select a different compiler version." |
1384 |
- eerror "See https://bugs.gentoo.org/574044" |
1385 |
- eerror |
1386 |
- return 1 |
1387 |
- fi |
1388 |
- fi |
1389 |
- fi |
1390 |
- |
1391 |
- # Ensure compiler support |
1392 |
- if use abi_x86_64; then |
1393 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
1394 |
- # Compile in subshell to prevent "Aborted" message |
1395 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
1396 |
- if ! eend $?; then |
1397 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
1398 |
- eerror |
1399 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
1400 |
- eerror |
1401 |
- return 1 |
1402 |
- fi |
1403 |
- fi |
1404 |
-} |
1405 |
- |
1406 |
-wine_build_environment_check() { |
1407 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
1408 |
- |
1409 |
- if use abi_x86_64; then |
1410 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
1411 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
1412 |
- die |
1413 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
1414 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
1415 |
- die |
1416 |
- fi |
1417 |
- fi |
1418 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
1419 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
1420 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
1421 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
1422 |
- fi |
1423 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
1424 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
1425 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
1426 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
1427 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
1428 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
1429 |
- fi |
1430 |
- fi |
1431 |
- |
1432 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
1433 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
1434 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
1435 |
- eerror |
1436 |
- return 1 |
1437 |
- fi |
1438 |
-} |
1439 |
- |
1440 |
-wine_env_vcs_vars() { |
1441 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
1442 |
- local pn_live_val="${pn_live_var}" |
1443 |
- eval pn_live_val='$'${pn_live_val} |
1444 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
1445 |
- eerror "Commits must now be specified using the environmental variables" |
1446 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
1447 |
- eerror |
1448 |
- return 1 |
1449 |
- fi |
1450 |
-} |
1451 |
- |
1452 |
-pkg_pretend() { |
1453 |
- wine_build_environment_check || die |
1454 |
- |
1455 |
- # Verify OSS support |
1456 |
- if use oss && ! use kernel_FreeBSD; then |
1457 |
- if ! has_version ">=media-sound/oss-4"; then |
1458 |
- eerror "You cannot build wine with USE=oss without having support from a" |
1459 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
1460 |
- eerror |
1461 |
- die |
1462 |
- fi |
1463 |
- fi |
1464 |
-} |
1465 |
- |
1466 |
-pkg_setup() { |
1467 |
- wine_build_environment_check || die |
1468 |
- wine_env_vcs_vars || die |
1469 |
- |
1470 |
- WINE_VARIANT="${PN#wine}-${PV}" |
1471 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
1472 |
- |
1473 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
1474 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
1475 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
1476 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
1477 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
1478 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
1479 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
1480 |
- MY_MANDIR="${MY_DATADIR}/man" |
1481 |
-} |
1482 |
- |
1483 |
-src_unpack() { |
1484 |
- if [[ ${PV} == "9999" ]] ; then |
1485 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
1486 |
- fi |
1487 |
- |
1488 |
- default |
1489 |
- |
1490 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
1491 |
-} |
1492 |
- |
1493 |
-src_prepare() { |
1494 |
- |
1495 |
- eapply_bin(){ |
1496 |
- local patch |
1497 |
- for patch in ${PATCHES_BIN[@]}; do |
1498 |
- patchbin --nogit < "${patch}" || die |
1499 |
- done |
1500 |
- } |
1501 |
- |
1502 |
- local md5="$(md5sum server/protocol.def)" |
1503 |
- |
1504 |
- default |
1505 |
- eapply_bin |
1506 |
- eautoreconf |
1507 |
- |
1508 |
- # Modification of the server protocol requires regenerating the server requests |
1509 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
1510 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
1511 |
- tools/make_requests || die #432348 |
1512 |
- fi |
1513 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
1514 |
- if ! use run-exes; then |
1515 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
1516 |
- fi |
1517 |
- |
1518 |
- # Edit wine.desktop to work for specific variant |
1519 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
1520 |
- |
1521 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
1522 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
1523 |
- |
1524 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
1525 |
- |
1526 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
1527 |
- # Requires wine-2.0-rearrange-manpages.patch |
1528 |
- |
1529 |
- # Duplicate manpages input files for wine64 |
1530 |
- local f |
1531 |
- for f in loader/*.man.in; do |
1532 |
- cp ${f} ${f/wine/wine64} || die |
1533 |
- done |
1534 |
- # Add wine64 manpages to Makefile |
1535 |
- if use abi_x86_64; then |
1536 |
- sed -i "/wine.man.in/i \ |
1537 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
1538 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
1539 |
-\164\2/' loader/Makefile.in || die |
1540 |
- fi |
1541 |
- |
1542 |
- rm_man_file(){ |
1543 |
- local file="${1}" |
1544 |
- loc=${2} |
1545 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
1546 |
- } |
1547 |
- |
1548 |
- while read f; do |
1549 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
1550 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
1551 |
-} |
1552 |
- |
1553 |
-src_configure() { |
1554 |
- wine_compiler_check || die |
1555 |
- |
1556 |
- export LDCONFIG=/bin/true |
1557 |
- use custom-cflags || strip-flags |
1558 |
- |
1559 |
- multilib-minimal_src_configure |
1560 |
-} |
1561 |
- |
1562 |
-multilib_src_configure() { |
1563 |
- local myconf=( |
1564 |
- --prefix="${MY_PREFIX}" |
1565 |
- --datarootdir="${MY_DATAROOTDIR}" |
1566 |
- --datadir="${MY_DATADIR}" |
1567 |
- --docdir="${MY_DOCDIR}" |
1568 |
- --includedir="${MY_INCLUDEDIR}" |
1569 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
1570 |
- --libexecdir="${MY_LIBEXECDIR}" |
1571 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
1572 |
- --mandir="${MY_MANDIR}" |
1573 |
- --sysconfdir=/etc/wine |
1574 |
- $(use_with alsa) |
1575 |
- $(use_with capi) |
1576 |
- $(use_with lcms cms) |
1577 |
- $(use_with cups) |
1578 |
- $(use_with ncurses curses) |
1579 |
- $(use_with udisks dbus) |
1580 |
- $(use_with fontconfig) |
1581 |
- $(use_with ssl gnutls) |
1582 |
- $(use_enable gecko mshtml) |
1583 |
- $(use_with gphoto2 gphoto) |
1584 |
- $(use_with gsm) |
1585 |
- $(use_with gstreamer) |
1586 |
- --without-hal |
1587 |
- $(use_with jpeg) |
1588 |
- $(use_with ldap) |
1589 |
- $(use_enable mono mscoree) |
1590 |
- $(use_with mp3 mpg123) |
1591 |
- $(use_with netapi) |
1592 |
- $(use_with nls gettext) |
1593 |
- $(use_with openal) |
1594 |
- $(use_with opencl) |
1595 |
- $(use_with opengl) |
1596 |
- $(use_with osmesa) |
1597 |
- $(use_with oss) |
1598 |
- $(use_with pcap) |
1599 |
- $(use_with png) |
1600 |
- $(use_with pulseaudio pulse) |
1601 |
- $(use_with threads pthread) |
1602 |
- $(use_with scanner sane) |
1603 |
- $(use_enable test tests) |
1604 |
- $(use_with truetype freetype) |
1605 |
- $(use_with udev) |
1606 |
- $(use_with v4l) |
1607 |
- $(use_with X x) |
1608 |
- $(use_with xcomposite) |
1609 |
- $(use_with xinerama) |
1610 |
- $(use_with xml) |
1611 |
- $(use_with xml xslt) |
1612 |
- ) |
1613 |
- |
1614 |
- local PKG_CONFIG AR RANLIB |
1615 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
1616 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
1617 |
- tc-export PKG_CONFIG AR RANLIB |
1618 |
- |
1619 |
- if use amd64; then |
1620 |
- if [[ ${ABI} == amd64 ]]; then |
1621 |
- myconf+=( --enable-win64 ) |
1622 |
- else |
1623 |
- myconf+=( --disable-win64 ) |
1624 |
- fi |
1625 |
- |
1626 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
1627 |
- # CC/LD hackery. We're using separate tools instead. |
1628 |
- fi |
1629 |
- |
1630 |
- ECONF_SOURCE=${S} \ |
1631 |
- econf "${myconf[@]}" |
1632 |
- emake depend |
1633 |
-} |
1634 |
- |
1635 |
-multilib_src_test() { |
1636 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
1637 |
- if [[ ${ABI} == x86 ]]; then |
1638 |
- if [[ $(id -u) == 0 ]]; then |
1639 |
- ewarn "Skipping tests since they cannot be run under the root user." |
1640 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
1641 |
- return |
1642 |
- fi |
1643 |
- |
1644 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
1645 |
- Xemake test |
1646 |
- fi |
1647 |
-} |
1648 |
- |
1649 |
-multilib_src_install_all() { |
1650 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
1651 |
- add_locale_docs() { |
1652 |
- local locale_doc="documentation/README.$1" |
1653 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
1654 |
- } |
1655 |
- l10n_for_each_locale_do add_locale_docs |
1656 |
- |
1657 |
- einstalldocs |
1658 |
- prune_libtool_files --all |
1659 |
- |
1660 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
1661 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
1662 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
1663 |
- fi |
1664 |
- |
1665 |
- # Remove wineconsole if neither backend is installed #551124 |
1666 |
- if ! use X && ! use ncurses; then |
1667 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
1668 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
1669 |
- rm_wineconsole() { |
1670 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
1671 |
- } |
1672 |
- multilib_foreach_abi rm_wineconsole |
1673 |
- fi |
1674 |
- |
1675 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
1676 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
1677 |
- |
1678 |
- if use abi_x86_64 && ! use abi_x86_32; then |
1679 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
1680 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
1681 |
- fi |
1682 |
- |
1683 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
1684 |
- eshopts_push -s failglob #615218 |
1685 |
- # Make wrappers for binaries for handling multiple variants |
1686 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
1687 |
- local b |
1688 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
1689 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
1690 |
- done |
1691 |
- eshopts_pop |
1692 |
-} |
1693 |
- |
1694 |
-pkg_postinst() { |
1695 |
- eselect wine register ${P} |
1696 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
1697 |
- eselect wine register --vanilla ${P} || die |
1698 |
- fi |
1699 |
- |
1700 |
- eselect wine update --all --if-unset || die |
1701 |
- |
1702 |
- xdg_desktop_database_update |
1703 |
- |
1704 |
- if ! use gecko; then |
1705 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
1706 |
- ewarn "implementation of iexplore. Many older windows applications" |
1707 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
1708 |
- ewarn "you will likely need to install an external one, like via winetricks" |
1709 |
- fi |
1710 |
- if ! use mono; then |
1711 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
1712 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
1713 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
1714 |
- ewarn "to install an external one, like via winetricks" |
1715 |
- fi |
1716 |
-} |
1717 |
- |
1718 |
-pkg_prerm() { |
1719 |
- eselect wine deregister ${P} |
1720 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
1721 |
- eselect wine deregister --vanilla ${P} || die |
1722 |
- fi |
1723 |
- |
1724 |
- eselect wine update --all --if-unset || die |
1725 |
-} |
1726 |
- |
1727 |
-pkg_postrm() { |
1728 |
- xdg_desktop_database_update |
1729 |
-} |
1730 |
|
1731 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.3.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.3.ebuild |
1732 |
deleted file mode 100644 |
1733 |
index 4880f03..0000000 |
1734 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.0.3.ebuild |
1735 |
+++ /dev/null |
1736 |
@@ -1,521 +0,0 @@ |
1737 |
-# Copyright 1999-2018 Gentoo Foundation |
1738 |
-# Distributed under the terms of the GNU General Public License v2 |
1739 |
- |
1740 |
-EAPI=6 |
1741 |
- |
1742 |
-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" |
1743 |
-PLOCALE_BACKUP="en" |
1744 |
- |
1745 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
1746 |
- |
1747 |
-MY_PN="${PN%%-*}" |
1748 |
-MY_P="${MY_PN}-${PV}" |
1749 |
- |
1750 |
-if [[ ${PV} == "9999" ]] ; then |
1751 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
1752 |
- EGIT_BRANCH="master" |
1753 |
- inherit git-r3 |
1754 |
- SRC_URI="" |
1755 |
- #KEYWORDS="" |
1756 |
-else |
1757 |
- MAJOR_V=$(ver_cut 1) |
1758 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
1759 |
- KEYWORDS="-* amd64 x86 ~x86-fbsd" |
1760 |
-fi |
1761 |
-S="${WORKDIR}/${MY_P}" |
1762 |
- |
1763 |
-GWP_V="20180120" |
1764 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
1765 |
- |
1766 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
1767 |
-HOMEPAGE="https://www.winehq.org/" |
1768 |
-SRC_URI="${SRC_URI} |
1769 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
1770 |
-" |
1771 |
- |
1772 |
-LICENSE="LGPL-2.1" |
1773 |
-SLOT="${PV}" |
1774 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
1775 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
1776 |
- X? ( truetype ) |
1777 |
- elibc_glibc? ( threads ) |
1778 |
- osmesa? ( opengl ) |
1779 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
1780 |
- |
1781 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
1782 |
-# or fail due to Xvfb's opengl limitations. |
1783 |
-RESTRICT="test" |
1784 |
- |
1785 |
-COMMON_DEPEND=" |
1786 |
- X? ( |
1787 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
1788 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
1789 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
1790 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
1791 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
1792 |
- ) |
1793 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
1794 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
1795 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
1796 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
1797 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
1798 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
1799 |
- gstreamer? ( |
1800 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
1801 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
1802 |
- ) |
1803 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
1804 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
1805 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
1806 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
1807 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
1808 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
1809 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
1810 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
1811 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
1812 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
1813 |
- opengl? ( |
1814 |
- virtual/glu[${MULTILIB_USEDEP}] |
1815 |
- virtual/opengl[${MULTILIB_USEDEP}] |
1816 |
- ) |
1817 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
1818 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
1819 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
1820 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
1821 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
1822 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
1823 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
1824 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
1825 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
1826 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
1827 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
1828 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
1829 |
- xml? ( |
1830 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
1831 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
1832 |
- )" |
1833 |
- |
1834 |
-RDEPEND="${COMMON_DEPEND} |
1835 |
- app-emulation/wine-desktop-common |
1836 |
- >app-eselect/eselect-wine-0.3 |
1837 |
- !app-emulation/wine:0 |
1838 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
1839 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
1840 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
1841 |
- perl? ( |
1842 |
- dev-lang/perl |
1843 |
- dev-perl/XML-Simple |
1844 |
- ) |
1845 |
- pulseaudio? ( |
1846 |
- realtime? ( sys-auth/rtkit ) |
1847 |
- ) |
1848 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
1849 |
- selinux? ( sec-policy/selinux-wine ) |
1850 |
- udisks? ( sys-fs/udisks:2 )" |
1851 |
- |
1852 |
-# tools/make_requests requires perl |
1853 |
-DEPEND="${COMMON_DEPEND} |
1854 |
- sys-devel/flex |
1855 |
- >=sys-kernel/linux-headers-2.6 |
1856 |
- virtual/pkgconfig |
1857 |
- virtual/yacc |
1858 |
- X? ( x11-base/xorg-proto ) |
1859 |
- prelink? ( sys-devel/prelink ) |
1860 |
- xinerama? ( x11-base/xorg-proto )" |
1861 |
- |
1862 |
-# These use a non-standard "Wine" category, which is provided by |
1863 |
-# /etc/xdg/applications-merged/wine.menu |
1864 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
1865 |
-usr/share/applications/wine-notepad.desktop |
1866 |
-usr/share/applications/wine-uninstaller.desktop |
1867 |
-usr/share/applications/wine-winecfg.desktop" |
1868 |
- |
1869 |
-PATCHES=( |
1870 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
1871 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
1872 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
1873 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
1874 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
1875 |
-) |
1876 |
-PATCHES_BIN=() |
1877 |
- |
1878 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
1879 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
1880 |
- DEPEND+=" dev-util/patchbin" |
1881 |
-fi |
1882 |
- |
1883 |
-wine_compiler_check() { |
1884 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
1885 |
- |
1886 |
- # GCC-specific bugs |
1887 |
- if tc-is-gcc; then |
1888 |
- # bug #549768 |
1889 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
1890 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
1891 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
1892 |
- # Run in subshell to prevent "Aborted" message |
1893 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
1894 |
- if ! eend $?; then |
1895 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
1896 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
1897 |
- eerror "or use gcc-config to select a different compiler version." |
1898 |
- eerror "See https://bugs.gentoo.org/549768" |
1899 |
- eerror |
1900 |
- return 1 |
1901 |
- fi |
1902 |
- fi |
1903 |
- # bug #574044 |
1904 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
1905 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
1906 |
- # Compile in subshell to prevent "Aborted" message |
1907 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
1908 |
- if ! eend $?; then |
1909 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
1910 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
1911 |
- eerror "or use gcc-config to select a different compiler version." |
1912 |
- eerror "See https://bugs.gentoo.org/574044" |
1913 |
- eerror |
1914 |
- return 1 |
1915 |
- fi |
1916 |
- fi |
1917 |
- fi |
1918 |
- |
1919 |
- # Ensure compiler support |
1920 |
- if use abi_x86_64; then |
1921 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
1922 |
- # Compile in subshell to prevent "Aborted" message |
1923 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
1924 |
- if ! eend $?; then |
1925 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
1926 |
- eerror |
1927 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
1928 |
- eerror |
1929 |
- return 1 |
1930 |
- fi |
1931 |
- fi |
1932 |
-} |
1933 |
- |
1934 |
-wine_build_environment_check() { |
1935 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
1936 |
- |
1937 |
- if use abi_x86_64; then |
1938 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
1939 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
1940 |
- die |
1941 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
1942 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
1943 |
- die |
1944 |
- fi |
1945 |
- fi |
1946 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
1947 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
1948 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
1949 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
1950 |
- fi |
1951 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
1952 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
1953 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
1954 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
1955 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
1956 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
1957 |
- fi |
1958 |
- fi |
1959 |
- |
1960 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
1961 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
1962 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
1963 |
- eerror |
1964 |
- return 1 |
1965 |
- fi |
1966 |
-} |
1967 |
- |
1968 |
-wine_env_vcs_vars() { |
1969 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
1970 |
- local pn_live_val="${pn_live_var}" |
1971 |
- eval pn_live_val='$'${pn_live_val} |
1972 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
1973 |
- eerror "Commits must now be specified using the environmental variables" |
1974 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
1975 |
- eerror |
1976 |
- return 1 |
1977 |
- fi |
1978 |
-} |
1979 |
- |
1980 |
-pkg_pretend() { |
1981 |
- wine_build_environment_check || die |
1982 |
- |
1983 |
- # Verify OSS support |
1984 |
- if use oss && ! use kernel_FreeBSD; then |
1985 |
- if ! has_version ">=media-sound/oss-4"; then |
1986 |
- eerror "You cannot build wine with USE=oss without having support from a" |
1987 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
1988 |
- eerror |
1989 |
- die |
1990 |
- fi |
1991 |
- fi |
1992 |
-} |
1993 |
- |
1994 |
-pkg_setup() { |
1995 |
- wine_build_environment_check || die |
1996 |
- wine_env_vcs_vars || die |
1997 |
- |
1998 |
- WINE_VARIANT="${PN#wine}-${PV}" |
1999 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
2000 |
- |
2001 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
2002 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
2003 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
2004 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
2005 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
2006 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
2007 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
2008 |
- MY_MANDIR="${MY_DATADIR}/man" |
2009 |
-} |
2010 |
- |
2011 |
-src_unpack() { |
2012 |
- if [[ ${PV} == "9999" ]] ; then |
2013 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
2014 |
- fi |
2015 |
- |
2016 |
- default |
2017 |
- |
2018 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
2019 |
-} |
2020 |
- |
2021 |
-src_prepare() { |
2022 |
- |
2023 |
- eapply_bin(){ |
2024 |
- local patch |
2025 |
- for patch in ${PATCHES_BIN[@]}; do |
2026 |
- patchbin --nogit < "${patch}" || die |
2027 |
- done |
2028 |
- } |
2029 |
- |
2030 |
- local md5="$(md5sum server/protocol.def)" |
2031 |
- |
2032 |
- default |
2033 |
- eapply_bin |
2034 |
- eautoreconf |
2035 |
- |
2036 |
- # Modification of the server protocol requires regenerating the server requests |
2037 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
2038 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
2039 |
- tools/make_requests || die #432348 |
2040 |
- fi |
2041 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
2042 |
- if ! use run-exes; then |
2043 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
2044 |
- fi |
2045 |
- |
2046 |
- # Edit wine.desktop to work for specific variant |
2047 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
2048 |
- |
2049 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
2050 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
2051 |
- |
2052 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
2053 |
- |
2054 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
2055 |
- # Requires wine-2.0-rearrange-manpages.patch |
2056 |
- |
2057 |
- # Duplicate manpages input files for wine64 |
2058 |
- local f |
2059 |
- for f in loader/*.man.in; do |
2060 |
- cp ${f} ${f/wine/wine64} || die |
2061 |
- done |
2062 |
- # Add wine64 manpages to Makefile |
2063 |
- if use abi_x86_64; then |
2064 |
- sed -i "/wine.man.in/i \ |
2065 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
2066 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
2067 |
-\164\2/' loader/Makefile.in || die |
2068 |
- fi |
2069 |
- |
2070 |
- rm_man_file(){ |
2071 |
- local file="${1}" |
2072 |
- loc=${2} |
2073 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
2074 |
- } |
2075 |
- |
2076 |
- while read f; do |
2077 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
2078 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
2079 |
-} |
2080 |
- |
2081 |
-src_configure() { |
2082 |
- wine_compiler_check || die |
2083 |
- |
2084 |
- export LDCONFIG=/bin/true |
2085 |
- use custom-cflags || strip-flags |
2086 |
- |
2087 |
- multilib-minimal_src_configure |
2088 |
-} |
2089 |
- |
2090 |
-multilib_src_configure() { |
2091 |
- local myconf=( |
2092 |
- --prefix="${MY_PREFIX}" |
2093 |
- --datarootdir="${MY_DATAROOTDIR}" |
2094 |
- --datadir="${MY_DATADIR}" |
2095 |
- --docdir="${MY_DOCDIR}" |
2096 |
- --includedir="${MY_INCLUDEDIR}" |
2097 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
2098 |
- --libexecdir="${MY_LIBEXECDIR}" |
2099 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
2100 |
- --mandir="${MY_MANDIR}" |
2101 |
- --sysconfdir=/etc/wine |
2102 |
- $(use_with alsa) |
2103 |
- $(use_with capi) |
2104 |
- $(use_with lcms cms) |
2105 |
- $(use_with cups) |
2106 |
- $(use_with ncurses curses) |
2107 |
- $(use_with udisks dbus) |
2108 |
- $(use_with fontconfig) |
2109 |
- $(use_with ssl gnutls) |
2110 |
- $(use_enable gecko mshtml) |
2111 |
- $(use_with gphoto2 gphoto) |
2112 |
- $(use_with gsm) |
2113 |
- $(use_with gstreamer) |
2114 |
- --without-hal |
2115 |
- $(use_with jpeg) |
2116 |
- $(use_with ldap) |
2117 |
- $(use_enable mono mscoree) |
2118 |
- $(use_with mp3 mpg123) |
2119 |
- $(use_with netapi) |
2120 |
- $(use_with nls gettext) |
2121 |
- $(use_with openal) |
2122 |
- $(use_with opencl) |
2123 |
- $(use_with opengl) |
2124 |
- $(use_with osmesa) |
2125 |
- $(use_with oss) |
2126 |
- $(use_with pcap) |
2127 |
- $(use_with png) |
2128 |
- $(use_with pulseaudio pulse) |
2129 |
- $(use_with threads pthread) |
2130 |
- $(use_with scanner sane) |
2131 |
- $(use_enable test tests) |
2132 |
- $(use_with truetype freetype) |
2133 |
- $(use_with udev) |
2134 |
- $(use_with v4l) |
2135 |
- $(use_with X x) |
2136 |
- $(use_with xcomposite) |
2137 |
- $(use_with xinerama) |
2138 |
- $(use_with xml) |
2139 |
- $(use_with xml xslt) |
2140 |
- ) |
2141 |
- |
2142 |
- local PKG_CONFIG AR RANLIB |
2143 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
2144 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
2145 |
- tc-export PKG_CONFIG AR RANLIB |
2146 |
- |
2147 |
- if use amd64; then |
2148 |
- if [[ ${ABI} == amd64 ]]; then |
2149 |
- myconf+=( --enable-win64 ) |
2150 |
- else |
2151 |
- myconf+=( --disable-win64 ) |
2152 |
- fi |
2153 |
- |
2154 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
2155 |
- # CC/LD hackery. We're using separate tools instead. |
2156 |
- fi |
2157 |
- |
2158 |
- ECONF_SOURCE=${S} \ |
2159 |
- econf "${myconf[@]}" |
2160 |
- emake depend |
2161 |
-} |
2162 |
- |
2163 |
-multilib_src_test() { |
2164 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
2165 |
- if [[ ${ABI} == x86 ]]; then |
2166 |
- if [[ $(id -u) == 0 ]]; then |
2167 |
- ewarn "Skipping tests since they cannot be run under the root user." |
2168 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
2169 |
- return |
2170 |
- fi |
2171 |
- |
2172 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
2173 |
- Xemake test |
2174 |
- fi |
2175 |
-} |
2176 |
- |
2177 |
-multilib_src_install_all() { |
2178 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
2179 |
- add_locale_docs() { |
2180 |
- local locale_doc="documentation/README.$1" |
2181 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
2182 |
- } |
2183 |
- l10n_for_each_locale_do add_locale_docs |
2184 |
- |
2185 |
- einstalldocs |
2186 |
- prune_libtool_files --all |
2187 |
- |
2188 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
2189 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
2190 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
2191 |
- fi |
2192 |
- |
2193 |
- # Remove wineconsole if neither backend is installed #551124 |
2194 |
- if ! use X && ! use ncurses; then |
2195 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
2196 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
2197 |
- rm_wineconsole() { |
2198 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
2199 |
- } |
2200 |
- multilib_foreach_abi rm_wineconsole |
2201 |
- fi |
2202 |
- |
2203 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
2204 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
2205 |
- |
2206 |
- if use abi_x86_64 && ! use abi_x86_32; then |
2207 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
2208 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
2209 |
- fi |
2210 |
- |
2211 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
2212 |
- eshopts_push -s failglob #615218 |
2213 |
- # Make wrappers for binaries for handling multiple variants |
2214 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
2215 |
- local b |
2216 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
2217 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
2218 |
- done |
2219 |
- eshopts_pop |
2220 |
-} |
2221 |
- |
2222 |
-pkg_postinst() { |
2223 |
- eselect wine register ${P} |
2224 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
2225 |
- eselect wine register --vanilla ${P} || die |
2226 |
- fi |
2227 |
- |
2228 |
- eselect wine update --all --if-unset || die |
2229 |
- |
2230 |
- xdg_desktop_database_update |
2231 |
- |
2232 |
- if ! use gecko; then |
2233 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
2234 |
- ewarn "implementation of iexplore. Many older windows applications" |
2235 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
2236 |
- ewarn "you will likely need to install an external one, like via winetricks" |
2237 |
- fi |
2238 |
- if ! use mono; then |
2239 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
2240 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
2241 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
2242 |
- ewarn "to install an external one, like via winetricks" |
2243 |
- fi |
2244 |
-} |
2245 |
- |
2246 |
-pkg_prerm() { |
2247 |
- eselect wine deregister ${P} |
2248 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
2249 |
- eselect wine deregister --vanilla ${P} || die |
2250 |
- fi |
2251 |
- |
2252 |
- eselect wine update --all --if-unset || die |
2253 |
-} |
2254 |
- |
2255 |
-pkg_postrm() { |
2256 |
- xdg_desktop_database_update |
2257 |
-} |
2258 |
|
2259 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.0.4.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.0.4.ebuild |
2260 |
deleted file mode 100644 |
2261 |
index d3ac702..0000000 |
2262 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.0.4.ebuild |
2263 |
+++ /dev/null |
2264 |
@@ -1,521 +0,0 @@ |
2265 |
-# Copyright 1999-2018 Gentoo Foundation |
2266 |
-# Distributed under the terms of the GNU General Public License v2 |
2267 |
- |
2268 |
-EAPI=6 |
2269 |
- |
2270 |
-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" |
2271 |
-PLOCALE_BACKUP="en" |
2272 |
- |
2273 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
2274 |
- |
2275 |
-MY_PN="${PN%%-*}" |
2276 |
-MY_P="${MY_PN}-${PV}" |
2277 |
- |
2278 |
-if [[ ${PV} == "9999" ]] ; then |
2279 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
2280 |
- EGIT_BRANCH="master" |
2281 |
- inherit git-r3 |
2282 |
- SRC_URI="" |
2283 |
- #KEYWORDS="" |
2284 |
-else |
2285 |
- MAJOR_V=$(ver_cut 1) |
2286 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
2287 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
2288 |
-fi |
2289 |
-S="${WORKDIR}/${MY_P}" |
2290 |
- |
2291 |
-GWP_V="20180120" |
2292 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
2293 |
- |
2294 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
2295 |
-HOMEPAGE="https://www.winehq.org/" |
2296 |
-SRC_URI="${SRC_URI} |
2297 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
2298 |
-" |
2299 |
- |
2300 |
-LICENSE="LGPL-2.1" |
2301 |
-SLOT="${PV}" |
2302 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
2303 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
2304 |
- X? ( truetype ) |
2305 |
- elibc_glibc? ( threads ) |
2306 |
- osmesa? ( opengl ) |
2307 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
2308 |
- |
2309 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
2310 |
-# or fail due to Xvfb's opengl limitations. |
2311 |
-RESTRICT="test" |
2312 |
- |
2313 |
-COMMON_DEPEND=" |
2314 |
- X? ( |
2315 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
2316 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
2317 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
2318 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
2319 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
2320 |
- ) |
2321 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
2322 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
2323 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
2324 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
2325 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
2326 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
2327 |
- gstreamer? ( |
2328 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
2329 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
2330 |
- ) |
2331 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
2332 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
2333 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
2334 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
2335 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
2336 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
2337 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
2338 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
2339 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
2340 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
2341 |
- opengl? ( |
2342 |
- virtual/glu[${MULTILIB_USEDEP}] |
2343 |
- virtual/opengl[${MULTILIB_USEDEP}] |
2344 |
- ) |
2345 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
2346 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
2347 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
2348 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
2349 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
2350 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
2351 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
2352 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
2353 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
2354 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
2355 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
2356 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
2357 |
- xml? ( |
2358 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
2359 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
2360 |
- )" |
2361 |
- |
2362 |
-RDEPEND="${COMMON_DEPEND} |
2363 |
- app-emulation/wine-desktop-common |
2364 |
- >app-eselect/eselect-wine-0.3 |
2365 |
- !app-emulation/wine:0 |
2366 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
2367 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
2368 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
2369 |
- perl? ( |
2370 |
- dev-lang/perl |
2371 |
- dev-perl/XML-Simple |
2372 |
- ) |
2373 |
- pulseaudio? ( |
2374 |
- realtime? ( sys-auth/rtkit ) |
2375 |
- ) |
2376 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
2377 |
- selinux? ( sec-policy/selinux-wine ) |
2378 |
- udisks? ( sys-fs/udisks:2 )" |
2379 |
- |
2380 |
-# tools/make_requests requires perl |
2381 |
-DEPEND="${COMMON_DEPEND} |
2382 |
- sys-devel/flex |
2383 |
- >=sys-kernel/linux-headers-2.6 |
2384 |
- virtual/pkgconfig |
2385 |
- virtual/yacc |
2386 |
- X? ( x11-base/xorg-proto ) |
2387 |
- prelink? ( sys-devel/prelink ) |
2388 |
- xinerama? ( x11-base/xorg-proto )" |
2389 |
- |
2390 |
-# These use a non-standard "Wine" category, which is provided by |
2391 |
-# /etc/xdg/applications-merged/wine.menu |
2392 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
2393 |
-usr/share/applications/wine-notepad.desktop |
2394 |
-usr/share/applications/wine-uninstaller.desktop |
2395 |
-usr/share/applications/wine-winecfg.desktop" |
2396 |
- |
2397 |
-PATCHES=( |
2398 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
2399 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
2400 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
2401 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
2402 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
2403 |
-) |
2404 |
-PATCHES_BIN=() |
2405 |
- |
2406 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
2407 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
2408 |
- DEPEND+=" dev-util/patchbin" |
2409 |
-fi |
2410 |
- |
2411 |
-wine_compiler_check() { |
2412 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
2413 |
- |
2414 |
- # GCC-specific bugs |
2415 |
- if tc-is-gcc; then |
2416 |
- # bug #549768 |
2417 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
2418 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
2419 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
2420 |
- # Run in subshell to prevent "Aborted" message |
2421 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
2422 |
- if ! eend $?; then |
2423 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
2424 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
2425 |
- eerror "or use gcc-config to select a different compiler version." |
2426 |
- eerror "See https://bugs.gentoo.org/549768" |
2427 |
- eerror |
2428 |
- return 1 |
2429 |
- fi |
2430 |
- fi |
2431 |
- # bug #574044 |
2432 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
2433 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
2434 |
- # Compile in subshell to prevent "Aborted" message |
2435 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
2436 |
- if ! eend $?; then |
2437 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
2438 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
2439 |
- eerror "or use gcc-config to select a different compiler version." |
2440 |
- eerror "See https://bugs.gentoo.org/574044" |
2441 |
- eerror |
2442 |
- return 1 |
2443 |
- fi |
2444 |
- fi |
2445 |
- fi |
2446 |
- |
2447 |
- # Ensure compiler support |
2448 |
- if use abi_x86_64; then |
2449 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
2450 |
- # Compile in subshell to prevent "Aborted" message |
2451 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
2452 |
- if ! eend $?; then |
2453 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
2454 |
- eerror |
2455 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
2456 |
- eerror |
2457 |
- return 1 |
2458 |
- fi |
2459 |
- fi |
2460 |
-} |
2461 |
- |
2462 |
-wine_build_environment_check() { |
2463 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
2464 |
- |
2465 |
- if use abi_x86_64; then |
2466 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
2467 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
2468 |
- die |
2469 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
2470 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
2471 |
- die |
2472 |
- fi |
2473 |
- fi |
2474 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
2475 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
2476 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
2477 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
2478 |
- fi |
2479 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
2480 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
2481 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
2482 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
2483 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
2484 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
2485 |
- fi |
2486 |
- fi |
2487 |
- |
2488 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
2489 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
2490 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
2491 |
- eerror |
2492 |
- return 1 |
2493 |
- fi |
2494 |
-} |
2495 |
- |
2496 |
-wine_env_vcs_vars() { |
2497 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
2498 |
- local pn_live_val="${pn_live_var}" |
2499 |
- eval pn_live_val='$'${pn_live_val} |
2500 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
2501 |
- eerror "Commits must now be specified using the environmental variables" |
2502 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
2503 |
- eerror |
2504 |
- return 1 |
2505 |
- fi |
2506 |
-} |
2507 |
- |
2508 |
-pkg_pretend() { |
2509 |
- wine_build_environment_check || die |
2510 |
- |
2511 |
- # Verify OSS support |
2512 |
- if use oss && ! use kernel_FreeBSD; then |
2513 |
- if ! has_version ">=media-sound/oss-4"; then |
2514 |
- eerror "You cannot build wine with USE=oss without having support from a" |
2515 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
2516 |
- eerror |
2517 |
- die |
2518 |
- fi |
2519 |
- fi |
2520 |
-} |
2521 |
- |
2522 |
-pkg_setup() { |
2523 |
- wine_build_environment_check || die |
2524 |
- wine_env_vcs_vars || die |
2525 |
- |
2526 |
- WINE_VARIANT="${PN#wine}-${PV}" |
2527 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
2528 |
- |
2529 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
2530 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
2531 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
2532 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
2533 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
2534 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
2535 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
2536 |
- MY_MANDIR="${MY_DATADIR}/man" |
2537 |
-} |
2538 |
- |
2539 |
-src_unpack() { |
2540 |
- if [[ ${PV} == "9999" ]] ; then |
2541 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
2542 |
- fi |
2543 |
- |
2544 |
- default |
2545 |
- |
2546 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
2547 |
-} |
2548 |
- |
2549 |
-src_prepare() { |
2550 |
- |
2551 |
- eapply_bin(){ |
2552 |
- local patch |
2553 |
- for patch in ${PATCHES_BIN[@]}; do |
2554 |
- patchbin --nogit < "${patch}" || die |
2555 |
- done |
2556 |
- } |
2557 |
- |
2558 |
- local md5="$(md5sum server/protocol.def)" |
2559 |
- |
2560 |
- default |
2561 |
- eapply_bin |
2562 |
- eautoreconf |
2563 |
- |
2564 |
- # Modification of the server protocol requires regenerating the server requests |
2565 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
2566 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
2567 |
- tools/make_requests || die #432348 |
2568 |
- fi |
2569 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
2570 |
- if ! use run-exes; then |
2571 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
2572 |
- fi |
2573 |
- |
2574 |
- # Edit wine.desktop to work for specific variant |
2575 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
2576 |
- |
2577 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
2578 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
2579 |
- |
2580 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
2581 |
- |
2582 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
2583 |
- # Requires wine-2.0-rearrange-manpages.patch |
2584 |
- |
2585 |
- # Duplicate manpages input files for wine64 |
2586 |
- local f |
2587 |
- for f in loader/*.man.in; do |
2588 |
- cp ${f} ${f/wine/wine64} || die |
2589 |
- done |
2590 |
- # Add wine64 manpages to Makefile |
2591 |
- if use abi_x86_64; then |
2592 |
- sed -i "/wine.man.in/i \ |
2593 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
2594 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
2595 |
-\164\2/' loader/Makefile.in || die |
2596 |
- fi |
2597 |
- |
2598 |
- rm_man_file(){ |
2599 |
- local file="${1}" |
2600 |
- loc=${2} |
2601 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
2602 |
- } |
2603 |
- |
2604 |
- while read f; do |
2605 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
2606 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
2607 |
-} |
2608 |
- |
2609 |
-src_configure() { |
2610 |
- wine_compiler_check || die |
2611 |
- |
2612 |
- export LDCONFIG=/bin/true |
2613 |
- use custom-cflags || strip-flags |
2614 |
- |
2615 |
- multilib-minimal_src_configure |
2616 |
-} |
2617 |
- |
2618 |
-multilib_src_configure() { |
2619 |
- local myconf=( |
2620 |
- --prefix="${MY_PREFIX}" |
2621 |
- --datarootdir="${MY_DATAROOTDIR}" |
2622 |
- --datadir="${MY_DATADIR}" |
2623 |
- --docdir="${MY_DOCDIR}" |
2624 |
- --includedir="${MY_INCLUDEDIR}" |
2625 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
2626 |
- --libexecdir="${MY_LIBEXECDIR}" |
2627 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
2628 |
- --mandir="${MY_MANDIR}" |
2629 |
- --sysconfdir=/etc/wine |
2630 |
- $(use_with alsa) |
2631 |
- $(use_with capi) |
2632 |
- $(use_with lcms cms) |
2633 |
- $(use_with cups) |
2634 |
- $(use_with ncurses curses) |
2635 |
- $(use_with udisks dbus) |
2636 |
- $(use_with fontconfig) |
2637 |
- $(use_with ssl gnutls) |
2638 |
- $(use_enable gecko mshtml) |
2639 |
- $(use_with gphoto2 gphoto) |
2640 |
- $(use_with gsm) |
2641 |
- $(use_with gstreamer) |
2642 |
- --without-hal |
2643 |
- $(use_with jpeg) |
2644 |
- $(use_with ldap) |
2645 |
- $(use_enable mono mscoree) |
2646 |
- $(use_with mp3 mpg123) |
2647 |
- $(use_with netapi) |
2648 |
- $(use_with nls gettext) |
2649 |
- $(use_with openal) |
2650 |
- $(use_with opencl) |
2651 |
- $(use_with opengl) |
2652 |
- $(use_with osmesa) |
2653 |
- $(use_with oss) |
2654 |
- $(use_with pcap) |
2655 |
- $(use_with png) |
2656 |
- $(use_with pulseaudio pulse) |
2657 |
- $(use_with threads pthread) |
2658 |
- $(use_with scanner sane) |
2659 |
- $(use_enable test tests) |
2660 |
- $(use_with truetype freetype) |
2661 |
- $(use_with udev) |
2662 |
- $(use_with v4l) |
2663 |
- $(use_with X x) |
2664 |
- $(use_with xcomposite) |
2665 |
- $(use_with xinerama) |
2666 |
- $(use_with xml) |
2667 |
- $(use_with xml xslt) |
2668 |
- ) |
2669 |
- |
2670 |
- local PKG_CONFIG AR RANLIB |
2671 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
2672 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
2673 |
- tc-export PKG_CONFIG AR RANLIB |
2674 |
- |
2675 |
- if use amd64; then |
2676 |
- if [[ ${ABI} == amd64 ]]; then |
2677 |
- myconf+=( --enable-win64 ) |
2678 |
- else |
2679 |
- myconf+=( --disable-win64 ) |
2680 |
- fi |
2681 |
- |
2682 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
2683 |
- # CC/LD hackery. We're using separate tools instead. |
2684 |
- fi |
2685 |
- |
2686 |
- ECONF_SOURCE=${S} \ |
2687 |
- econf "${myconf[@]}" |
2688 |
- emake depend |
2689 |
-} |
2690 |
- |
2691 |
-multilib_src_test() { |
2692 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
2693 |
- if [[ ${ABI} == x86 ]]; then |
2694 |
- if [[ $(id -u) == 0 ]]; then |
2695 |
- ewarn "Skipping tests since they cannot be run under the root user." |
2696 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
2697 |
- return |
2698 |
- fi |
2699 |
- |
2700 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
2701 |
- Xemake test |
2702 |
- fi |
2703 |
-} |
2704 |
- |
2705 |
-multilib_src_install_all() { |
2706 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
2707 |
- add_locale_docs() { |
2708 |
- local locale_doc="documentation/README.$1" |
2709 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
2710 |
- } |
2711 |
- l10n_for_each_locale_do add_locale_docs |
2712 |
- |
2713 |
- einstalldocs |
2714 |
- prune_libtool_files --all |
2715 |
- |
2716 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
2717 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
2718 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
2719 |
- fi |
2720 |
- |
2721 |
- # Remove wineconsole if neither backend is installed #551124 |
2722 |
- if ! use X && ! use ncurses; then |
2723 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
2724 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
2725 |
- rm_wineconsole() { |
2726 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
2727 |
- } |
2728 |
- multilib_foreach_abi rm_wineconsole |
2729 |
- fi |
2730 |
- |
2731 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
2732 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
2733 |
- |
2734 |
- if use abi_x86_64 && ! use abi_x86_32; then |
2735 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
2736 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
2737 |
- fi |
2738 |
- |
2739 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
2740 |
- eshopts_push -s failglob #615218 |
2741 |
- # Make wrappers for binaries for handling multiple variants |
2742 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
2743 |
- local b |
2744 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
2745 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
2746 |
- done |
2747 |
- eshopts_pop |
2748 |
-} |
2749 |
- |
2750 |
-pkg_postinst() { |
2751 |
- eselect wine register ${P} |
2752 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
2753 |
- eselect wine register --vanilla ${P} || die |
2754 |
- fi |
2755 |
- |
2756 |
- eselect wine update --all --if-unset || die |
2757 |
- |
2758 |
- xdg_desktop_database_update |
2759 |
- |
2760 |
- if ! use gecko; then |
2761 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
2762 |
- ewarn "implementation of iexplore. Many older windows applications" |
2763 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
2764 |
- ewarn "you will likely need to install an external one, like via winetricks" |
2765 |
- fi |
2766 |
- if ! use mono; then |
2767 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
2768 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
2769 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
2770 |
- ewarn "to install an external one, like via winetricks" |
2771 |
- fi |
2772 |
-} |
2773 |
- |
2774 |
-pkg_prerm() { |
2775 |
- eselect wine deregister ${P} |
2776 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
2777 |
- eselect wine deregister --vanilla ${P} || die |
2778 |
- fi |
2779 |
- |
2780 |
- eselect wine update --all --if-unset || die |
2781 |
-} |
2782 |
- |
2783 |
-pkg_postrm() { |
2784 |
- xdg_desktop_database_update |
2785 |
-} |
2786 |
|
2787 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.1-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.1-r1.ebuild |
2788 |
deleted file mode 100644 |
2789 |
index aa47b91..0000000 |
2790 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.1-r1.ebuild |
2791 |
+++ /dev/null |
2792 |
@@ -1,525 +0,0 @@ |
2793 |
-# Copyright 1999-2018 Gentoo Foundation |
2794 |
-# Distributed under the terms of the GNU General Public License v2 |
2795 |
- |
2796 |
-EAPI=6 |
2797 |
- |
2798 |
-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" |
2799 |
-PLOCALE_BACKUP="en" |
2800 |
- |
2801 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
2802 |
- |
2803 |
-MY_PN="${PN%%-*}" |
2804 |
-MY_P="${MY_PN}-${PV}" |
2805 |
- |
2806 |
-if [[ ${PV} == "9999" ]] ; then |
2807 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
2808 |
- EGIT_BRANCH="master" |
2809 |
- inherit git-r3 |
2810 |
- SRC_URI="" |
2811 |
- #KEYWORDS="" |
2812 |
-else |
2813 |
- MAJOR_V=$(ver_cut 1) |
2814 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
2815 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
2816 |
-fi |
2817 |
-S="${WORKDIR}/${MY_P}" |
2818 |
- |
2819 |
-GWP_V="20180120" |
2820 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
2821 |
- |
2822 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
2823 |
-HOMEPAGE="https://www.winehq.org/" |
2824 |
-SRC_URI="${SRC_URI} |
2825 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
2826 |
-" |
2827 |
- |
2828 |
-LICENSE="LGPL-2.1" |
2829 |
-SLOT="${PV}" |
2830 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
2831 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
2832 |
- X? ( truetype ) |
2833 |
- elibc_glibc? ( threads ) |
2834 |
- osmesa? ( opengl ) |
2835 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
2836 |
- |
2837 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
2838 |
-# or fail due to Xvfb's opengl limitations. |
2839 |
-RESTRICT="test" |
2840 |
- |
2841 |
-COMMON_DEPEND=" |
2842 |
- X? ( |
2843 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
2844 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
2845 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
2846 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
2847 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
2848 |
- ) |
2849 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
2850 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
2851 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
2852 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
2853 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
2854 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
2855 |
- gstreamer? ( |
2856 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
2857 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
2858 |
- ) |
2859 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
2860 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
2861 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
2862 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
2863 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
2864 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
2865 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
2866 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
2867 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
2868 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
2869 |
- opengl? ( |
2870 |
- virtual/glu[${MULTILIB_USEDEP}] |
2871 |
- virtual/opengl[${MULTILIB_USEDEP}] |
2872 |
- ) |
2873 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
2874 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
2875 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
2876 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
2877 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
2878 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
2879 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
2880 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
2881 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
2882 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
2883 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
2884 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
2885 |
- xml? ( |
2886 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
2887 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
2888 |
- )" |
2889 |
- |
2890 |
-RDEPEND="${COMMON_DEPEND} |
2891 |
- app-emulation/wine-desktop-common |
2892 |
- >app-eselect/eselect-wine-0.3 |
2893 |
- !app-emulation/wine:0 |
2894 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
2895 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
2896 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
2897 |
- perl? ( |
2898 |
- dev-lang/perl |
2899 |
- dev-perl/XML-Simple |
2900 |
- ) |
2901 |
- pulseaudio? ( |
2902 |
- realtime? ( sys-auth/rtkit ) |
2903 |
- ) |
2904 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
2905 |
- selinux? ( sec-policy/selinux-wine ) |
2906 |
- udisks? ( sys-fs/udisks:2 )" |
2907 |
- |
2908 |
-# tools/make_requests requires perl |
2909 |
-DEPEND="${COMMON_DEPEND} |
2910 |
- sys-devel/flex |
2911 |
- >=sys-kernel/linux-headers-2.6 |
2912 |
- virtual/pkgconfig |
2913 |
- virtual/yacc |
2914 |
- X? ( x11-base/xorg-proto ) |
2915 |
- prelink? ( sys-devel/prelink ) |
2916 |
- xinerama? ( x11-base/xorg-proto )" |
2917 |
- |
2918 |
-# These use a non-standard "Wine" category, which is provided by |
2919 |
-# /etc/xdg/applications-merged/wine.menu |
2920 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
2921 |
-usr/share/applications/wine-notepad.desktop |
2922 |
-usr/share/applications/wine-uninstaller.desktop |
2923 |
-usr/share/applications/wine-winecfg.desktop" |
2924 |
- |
2925 |
-PATCHES=( |
2926 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
2927 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
2928 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
2929 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
2930 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
2931 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
2932 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
2933 |
-) |
2934 |
-PATCHES_BIN=( |
2935 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
2936 |
-) |
2937 |
- |
2938 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
2939 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
2940 |
- DEPEND+=" dev-util/patchbin" |
2941 |
-fi |
2942 |
- |
2943 |
-wine_compiler_check() { |
2944 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
2945 |
- |
2946 |
- # GCC-specific bugs |
2947 |
- if tc-is-gcc; then |
2948 |
- # bug #549768 |
2949 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
2950 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
2951 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
2952 |
- # Run in subshell to prevent "Aborted" message |
2953 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
2954 |
- if ! eend $?; then |
2955 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
2956 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
2957 |
- eerror "or use gcc-config to select a different compiler version." |
2958 |
- eerror "See https://bugs.gentoo.org/549768" |
2959 |
- eerror |
2960 |
- return 1 |
2961 |
- fi |
2962 |
- fi |
2963 |
- # bug #574044 |
2964 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
2965 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
2966 |
- # Compile in subshell to prevent "Aborted" message |
2967 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
2968 |
- if ! eend $?; then |
2969 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
2970 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
2971 |
- eerror "or use gcc-config to select a different compiler version." |
2972 |
- eerror "See https://bugs.gentoo.org/574044" |
2973 |
- eerror |
2974 |
- return 1 |
2975 |
- fi |
2976 |
- fi |
2977 |
- fi |
2978 |
- |
2979 |
- # Ensure compiler support |
2980 |
- if use abi_x86_64; then |
2981 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
2982 |
- # Compile in subshell to prevent "Aborted" message |
2983 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
2984 |
- if ! eend $?; then |
2985 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
2986 |
- eerror |
2987 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
2988 |
- eerror |
2989 |
- return 1 |
2990 |
- fi |
2991 |
- fi |
2992 |
-} |
2993 |
- |
2994 |
-wine_build_environment_check() { |
2995 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
2996 |
- |
2997 |
- if use abi_x86_64; then |
2998 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
2999 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
3000 |
- die |
3001 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
3002 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
3003 |
- die |
3004 |
- fi |
3005 |
- fi |
3006 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
3007 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
3008 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
3009 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
3010 |
- fi |
3011 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
3012 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
3013 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
3014 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
3015 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
3016 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
3017 |
- fi |
3018 |
- fi |
3019 |
- |
3020 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
3021 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
3022 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
3023 |
- eerror |
3024 |
- return 1 |
3025 |
- fi |
3026 |
-} |
3027 |
- |
3028 |
-wine_env_vcs_vars() { |
3029 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
3030 |
- local pn_live_val="${pn_live_var}" |
3031 |
- eval pn_live_val='$'${pn_live_val} |
3032 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
3033 |
- eerror "Commits must now be specified using the environmental variables" |
3034 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
3035 |
- eerror |
3036 |
- return 1 |
3037 |
- fi |
3038 |
-} |
3039 |
- |
3040 |
-pkg_pretend() { |
3041 |
- wine_build_environment_check || die |
3042 |
- |
3043 |
- # Verify OSS support |
3044 |
- if use oss && ! use kernel_FreeBSD; then |
3045 |
- if ! has_version ">=media-sound/oss-4"; then |
3046 |
- eerror "You cannot build wine with USE=oss without having support from a" |
3047 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
3048 |
- eerror |
3049 |
- die |
3050 |
- fi |
3051 |
- fi |
3052 |
-} |
3053 |
- |
3054 |
-pkg_setup() { |
3055 |
- wine_build_environment_check || die |
3056 |
- wine_env_vcs_vars || die |
3057 |
- |
3058 |
- WINE_VARIANT="${PN#wine}-${PV}" |
3059 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
3060 |
- |
3061 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
3062 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
3063 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
3064 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
3065 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
3066 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
3067 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
3068 |
- MY_MANDIR="${MY_DATADIR}/man" |
3069 |
-} |
3070 |
- |
3071 |
-src_unpack() { |
3072 |
- if [[ ${PV} == "9999" ]] ; then |
3073 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
3074 |
- fi |
3075 |
- |
3076 |
- default |
3077 |
- |
3078 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
3079 |
-} |
3080 |
- |
3081 |
-src_prepare() { |
3082 |
- |
3083 |
- eapply_bin(){ |
3084 |
- local patch |
3085 |
- for patch in ${PATCHES_BIN[@]}; do |
3086 |
- patchbin --nogit < "${patch}" || die |
3087 |
- done |
3088 |
- } |
3089 |
- |
3090 |
- local md5="$(md5sum server/protocol.def)" |
3091 |
- |
3092 |
- default |
3093 |
- eapply_bin |
3094 |
- eautoreconf |
3095 |
- |
3096 |
- # Modification of the server protocol requires regenerating the server requests |
3097 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
3098 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
3099 |
- tools/make_requests || die #432348 |
3100 |
- fi |
3101 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
3102 |
- if ! use run-exes; then |
3103 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
3104 |
- fi |
3105 |
- |
3106 |
- # Edit wine.desktop to work for specific variant |
3107 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
3108 |
- |
3109 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
3110 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
3111 |
- |
3112 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
3113 |
- |
3114 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
3115 |
- # Requires wine-2.0-rearrange-manpages.patch |
3116 |
- |
3117 |
- # Duplicate manpages input files for wine64 |
3118 |
- local f |
3119 |
- for f in loader/*.man.in; do |
3120 |
- cp ${f} ${f/wine/wine64} || die |
3121 |
- done |
3122 |
- # Add wine64 manpages to Makefile |
3123 |
- if use abi_x86_64; then |
3124 |
- sed -i "/wine.man.in/i \ |
3125 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
3126 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
3127 |
-\164\2/' loader/Makefile.in || die |
3128 |
- fi |
3129 |
- |
3130 |
- rm_man_file(){ |
3131 |
- local file="${1}" |
3132 |
- loc=${2} |
3133 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
3134 |
- } |
3135 |
- |
3136 |
- while read f; do |
3137 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
3138 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
3139 |
-} |
3140 |
- |
3141 |
-src_configure() { |
3142 |
- wine_compiler_check || die |
3143 |
- |
3144 |
- export LDCONFIG=/bin/true |
3145 |
- use custom-cflags || strip-flags |
3146 |
- |
3147 |
- multilib-minimal_src_configure |
3148 |
-} |
3149 |
- |
3150 |
-multilib_src_configure() { |
3151 |
- local myconf=( |
3152 |
- --prefix="${MY_PREFIX}" |
3153 |
- --datarootdir="${MY_DATAROOTDIR}" |
3154 |
- --datadir="${MY_DATADIR}" |
3155 |
- --docdir="${MY_DOCDIR}" |
3156 |
- --includedir="${MY_INCLUDEDIR}" |
3157 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
3158 |
- --libexecdir="${MY_LIBEXECDIR}" |
3159 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
3160 |
- --mandir="${MY_MANDIR}" |
3161 |
- --sysconfdir=/etc/wine |
3162 |
- $(use_with alsa) |
3163 |
- $(use_with capi) |
3164 |
- $(use_with lcms cms) |
3165 |
- $(use_with cups) |
3166 |
- $(use_with ncurses curses) |
3167 |
- $(use_with udisks dbus) |
3168 |
- $(use_with fontconfig) |
3169 |
- $(use_with ssl gnutls) |
3170 |
- $(use_enable gecko mshtml) |
3171 |
- $(use_with gphoto2 gphoto) |
3172 |
- $(use_with gsm) |
3173 |
- $(use_with gstreamer) |
3174 |
- --without-hal |
3175 |
- $(use_with jpeg) |
3176 |
- $(use_with ldap) |
3177 |
- $(use_enable mono mscoree) |
3178 |
- $(use_with mp3 mpg123) |
3179 |
- $(use_with netapi) |
3180 |
- $(use_with nls gettext) |
3181 |
- $(use_with openal) |
3182 |
- $(use_with opencl) |
3183 |
- $(use_with opengl) |
3184 |
- $(use_with osmesa) |
3185 |
- $(use_with oss) |
3186 |
- $(use_with pcap) |
3187 |
- $(use_with png) |
3188 |
- $(use_with pulseaudio pulse) |
3189 |
- $(use_with threads pthread) |
3190 |
- $(use_with scanner sane) |
3191 |
- $(use_enable test tests) |
3192 |
- $(use_with truetype freetype) |
3193 |
- $(use_with udev) |
3194 |
- $(use_with v4l) |
3195 |
- $(use_with X x) |
3196 |
- $(use_with xcomposite) |
3197 |
- $(use_with xinerama) |
3198 |
- $(use_with xml) |
3199 |
- $(use_with xml xslt) |
3200 |
- ) |
3201 |
- |
3202 |
- local PKG_CONFIG AR RANLIB |
3203 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
3204 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
3205 |
- tc-export PKG_CONFIG AR RANLIB |
3206 |
- |
3207 |
- if use amd64; then |
3208 |
- if [[ ${ABI} == amd64 ]]; then |
3209 |
- myconf+=( --enable-win64 ) |
3210 |
- else |
3211 |
- myconf+=( --disable-win64 ) |
3212 |
- fi |
3213 |
- |
3214 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
3215 |
- # CC/LD hackery. We're using separate tools instead. |
3216 |
- fi |
3217 |
- |
3218 |
- ECONF_SOURCE=${S} \ |
3219 |
- econf "${myconf[@]}" |
3220 |
- emake depend |
3221 |
-} |
3222 |
- |
3223 |
-multilib_src_test() { |
3224 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
3225 |
- if [[ ${ABI} == x86 ]]; then |
3226 |
- if [[ $(id -u) == 0 ]]; then |
3227 |
- ewarn "Skipping tests since they cannot be run under the root user." |
3228 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
3229 |
- return |
3230 |
- fi |
3231 |
- |
3232 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
3233 |
- Xemake test |
3234 |
- fi |
3235 |
-} |
3236 |
- |
3237 |
-multilib_src_install_all() { |
3238 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
3239 |
- add_locale_docs() { |
3240 |
- local locale_doc="documentation/README.$1" |
3241 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
3242 |
- } |
3243 |
- l10n_for_each_locale_do add_locale_docs |
3244 |
- |
3245 |
- einstalldocs |
3246 |
- prune_libtool_files --all |
3247 |
- |
3248 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
3249 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
3250 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
3251 |
- fi |
3252 |
- |
3253 |
- # Remove wineconsole if neither backend is installed #551124 |
3254 |
- if ! use X && ! use ncurses; then |
3255 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
3256 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
3257 |
- rm_wineconsole() { |
3258 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
3259 |
- } |
3260 |
- multilib_foreach_abi rm_wineconsole |
3261 |
- fi |
3262 |
- |
3263 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
3264 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
3265 |
- |
3266 |
- if use abi_x86_64 && ! use abi_x86_32; then |
3267 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
3268 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
3269 |
- fi |
3270 |
- |
3271 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
3272 |
- eshopts_push -s failglob #615218 |
3273 |
- # Make wrappers for binaries for handling multiple variants |
3274 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
3275 |
- local b |
3276 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
3277 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
3278 |
- done |
3279 |
- eshopts_pop |
3280 |
-} |
3281 |
- |
3282 |
-pkg_postinst() { |
3283 |
- eselect wine register ${P} |
3284 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
3285 |
- eselect wine register --vanilla ${P} || die |
3286 |
- fi |
3287 |
- |
3288 |
- eselect wine update --all --if-unset || die |
3289 |
- |
3290 |
- xdg_desktop_database_update |
3291 |
- |
3292 |
- if ! use gecko; then |
3293 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
3294 |
- ewarn "implementation of iexplore. Many older windows applications" |
3295 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
3296 |
- ewarn "you will likely need to install an external one, like via winetricks" |
3297 |
- fi |
3298 |
- if ! use mono; then |
3299 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
3300 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
3301 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
3302 |
- ewarn "to install an external one, like via winetricks" |
3303 |
- fi |
3304 |
-} |
3305 |
- |
3306 |
-pkg_prerm() { |
3307 |
- eselect wine deregister ${P} |
3308 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
3309 |
- eselect wine deregister --vanilla ${P} || die |
3310 |
- fi |
3311 |
- |
3312 |
- eselect wine update --all --if-unset || die |
3313 |
-} |
3314 |
- |
3315 |
-pkg_postrm() { |
3316 |
- xdg_desktop_database_update |
3317 |
-} |
3318 |
|
3319 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.10-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.10-r1.ebuild |
3320 |
deleted file mode 100644 |
3321 |
index ab84545..0000000 |
3322 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.10-r1.ebuild |
3323 |
+++ /dev/null |
3324 |
@@ -1,527 +0,0 @@ |
3325 |
-# Copyright 1999-2018 Gentoo Foundation |
3326 |
-# Distributed under the terms of the GNU General Public License v2 |
3327 |
- |
3328 |
-EAPI=6 |
3329 |
- |
3330 |
-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" |
3331 |
-PLOCALE_BACKUP="en" |
3332 |
- |
3333 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
3334 |
- |
3335 |
-MY_PN="${PN%%-*}" |
3336 |
-MY_P="${MY_PN}-${PV}" |
3337 |
- |
3338 |
-if [[ ${PV} == "9999" ]] ; then |
3339 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
3340 |
- EGIT_BRANCH="master" |
3341 |
- inherit git-r3 |
3342 |
- SRC_URI="" |
3343 |
- #KEYWORDS="" |
3344 |
-else |
3345 |
- MAJOR_V=$(ver_cut 1) |
3346 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
3347 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
3348 |
-fi |
3349 |
-S="${WORKDIR}/${MY_P}" |
3350 |
- |
3351 |
-GWP_V="20180120" |
3352 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
3353 |
- |
3354 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
3355 |
-HOMEPAGE="https://www.winehq.org/" |
3356 |
-SRC_URI="${SRC_URI} |
3357 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
3358 |
-" |
3359 |
- |
3360 |
-LICENSE="LGPL-2.1" |
3361 |
-SLOT="${PV}" |
3362 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
3363 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
3364 |
- X? ( truetype ) |
3365 |
- elibc_glibc? ( threads ) |
3366 |
- osmesa? ( opengl ) |
3367 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
3368 |
- |
3369 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
3370 |
-# or fail due to Xvfb's opengl limitations. |
3371 |
-RESTRICT="test" |
3372 |
- |
3373 |
-COMMON_DEPEND=" |
3374 |
- X? ( |
3375 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
3376 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
3377 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
3378 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
3379 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
3380 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
3381 |
- ) |
3382 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
3383 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
3384 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
3385 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
3386 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
3387 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
3388 |
- gstreamer? ( |
3389 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
3390 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
3391 |
- ) |
3392 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
3393 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
3394 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
3395 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
3396 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
3397 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
3398 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
3399 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
3400 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
3401 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
3402 |
- opengl? ( |
3403 |
- virtual/glu[${MULTILIB_USEDEP}] |
3404 |
- virtual/opengl[${MULTILIB_USEDEP}] |
3405 |
- ) |
3406 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
3407 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
3408 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
3409 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
3410 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
3411 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
3412 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
3413 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
3414 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
3415 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
3416 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
3417 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
3418 |
- xml? ( |
3419 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
3420 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
3421 |
- )" |
3422 |
- |
3423 |
-RDEPEND="${COMMON_DEPEND} |
3424 |
- app-emulation/wine-desktop-common |
3425 |
- >app-eselect/eselect-wine-0.3 |
3426 |
- !app-emulation/wine:0 |
3427 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
3428 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
3429 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
3430 |
- perl? ( |
3431 |
- dev-lang/perl |
3432 |
- dev-perl/XML-Simple |
3433 |
- ) |
3434 |
- pulseaudio? ( |
3435 |
- realtime? ( sys-auth/rtkit ) |
3436 |
- ) |
3437 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
3438 |
- selinux? ( sec-policy/selinux-wine ) |
3439 |
- udisks? ( sys-fs/udisks:2 )" |
3440 |
- |
3441 |
-# tools/make_requests requires perl |
3442 |
-DEPEND="${COMMON_DEPEND} |
3443 |
- sys-devel/flex |
3444 |
- >=sys-kernel/linux-headers-2.6 |
3445 |
- virtual/pkgconfig |
3446 |
- virtual/yacc |
3447 |
- X? ( x11-base/xorg-proto ) |
3448 |
- prelink? ( sys-devel/prelink ) |
3449 |
- xinerama? ( x11-base/xorg-proto )" |
3450 |
- |
3451 |
-# These use a non-standard "Wine" category, which is provided by |
3452 |
-# /etc/xdg/applications-merged/wine.menu |
3453 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
3454 |
-usr/share/applications/wine-notepad.desktop |
3455 |
-usr/share/applications/wine-uninstaller.desktop |
3456 |
-usr/share/applications/wine-winecfg.desktop" |
3457 |
- |
3458 |
-PATCHES=( |
3459 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
3460 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
3461 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
3462 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
3463 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
3464 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
3465 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
3466 |
-) |
3467 |
-PATCHES_BIN=( |
3468 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
3469 |
-) |
3470 |
- |
3471 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
3472 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
3473 |
- DEPEND+=" dev-util/patchbin" |
3474 |
-fi |
3475 |
- |
3476 |
-wine_compiler_check() { |
3477 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
3478 |
- |
3479 |
- # GCC-specific bugs |
3480 |
- if tc-is-gcc; then |
3481 |
- # bug #549768 |
3482 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
3483 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
3484 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
3485 |
- # Run in subshell to prevent "Aborted" message |
3486 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
3487 |
- if ! eend $?; then |
3488 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
3489 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
3490 |
- eerror "or use gcc-config to select a different compiler version." |
3491 |
- eerror "See https://bugs.gentoo.org/549768" |
3492 |
- eerror |
3493 |
- return 1 |
3494 |
- fi |
3495 |
- fi |
3496 |
- # bug #574044 |
3497 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
3498 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
3499 |
- # Compile in subshell to prevent "Aborted" message |
3500 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
3501 |
- if ! eend $?; then |
3502 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
3503 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
3504 |
- eerror "or use gcc-config to select a different compiler version." |
3505 |
- eerror "See https://bugs.gentoo.org/574044" |
3506 |
- eerror |
3507 |
- return 1 |
3508 |
- fi |
3509 |
- fi |
3510 |
- fi |
3511 |
- |
3512 |
- # Ensure compiler support |
3513 |
- if use abi_x86_64; then |
3514 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
3515 |
- # Compile in subshell to prevent "Aborted" message |
3516 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
3517 |
- if ! eend $?; then |
3518 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
3519 |
- eerror |
3520 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
3521 |
- eerror |
3522 |
- return 1 |
3523 |
- fi |
3524 |
- fi |
3525 |
-} |
3526 |
- |
3527 |
-wine_build_environment_check() { |
3528 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
3529 |
- |
3530 |
- if use abi_x86_64; then |
3531 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
3532 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
3533 |
- die |
3534 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
3535 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
3536 |
- die |
3537 |
- fi |
3538 |
- fi |
3539 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
3540 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
3541 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
3542 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
3543 |
- fi |
3544 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
3545 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
3546 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
3547 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
3548 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
3549 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
3550 |
- fi |
3551 |
- fi |
3552 |
- |
3553 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
3554 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
3555 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
3556 |
- eerror |
3557 |
- return 1 |
3558 |
- fi |
3559 |
-} |
3560 |
- |
3561 |
-wine_env_vcs_vars() { |
3562 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
3563 |
- local pn_live_val="${pn_live_var}" |
3564 |
- eval pn_live_val='$'${pn_live_val} |
3565 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
3566 |
- eerror "Commits must now be specified using the environmental variables" |
3567 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
3568 |
- eerror |
3569 |
- return 1 |
3570 |
- fi |
3571 |
-} |
3572 |
- |
3573 |
-pkg_pretend() { |
3574 |
- wine_build_environment_check || die |
3575 |
- |
3576 |
- # Verify OSS support |
3577 |
- if use oss && ! use kernel_FreeBSD; then |
3578 |
- if ! has_version ">=media-sound/oss-4"; then |
3579 |
- eerror "You cannot build wine with USE=oss without having support from a" |
3580 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
3581 |
- eerror |
3582 |
- die |
3583 |
- fi |
3584 |
- fi |
3585 |
-} |
3586 |
- |
3587 |
-pkg_setup() { |
3588 |
- wine_build_environment_check || die |
3589 |
- wine_env_vcs_vars || die |
3590 |
- |
3591 |
- WINE_VARIANT="${PN#wine}-${PV}" |
3592 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
3593 |
- |
3594 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
3595 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
3596 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
3597 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
3598 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
3599 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
3600 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
3601 |
- MY_MANDIR="${MY_DATADIR}/man" |
3602 |
-} |
3603 |
- |
3604 |
-src_unpack() { |
3605 |
- if [[ ${PV} == "9999" ]] ; then |
3606 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
3607 |
- fi |
3608 |
- |
3609 |
- default |
3610 |
- |
3611 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
3612 |
-} |
3613 |
- |
3614 |
-src_prepare() { |
3615 |
- |
3616 |
- eapply_bin(){ |
3617 |
- local patch |
3618 |
- for patch in ${PATCHES_BIN[@]}; do |
3619 |
- patchbin --nogit < "${patch}" || die |
3620 |
- done |
3621 |
- } |
3622 |
- |
3623 |
- local md5="$(md5sum server/protocol.def)" |
3624 |
- |
3625 |
- default |
3626 |
- eapply_bin |
3627 |
- eautoreconf |
3628 |
- |
3629 |
- # Modification of the server protocol requires regenerating the server requests |
3630 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
3631 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
3632 |
- tools/make_requests || die #432348 |
3633 |
- fi |
3634 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
3635 |
- if ! use run-exes; then |
3636 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
3637 |
- fi |
3638 |
- |
3639 |
- # Edit wine.desktop to work for specific variant |
3640 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
3641 |
- |
3642 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
3643 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
3644 |
- |
3645 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
3646 |
- |
3647 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
3648 |
- # Requires wine-2.0-rearrange-manpages.patch |
3649 |
- |
3650 |
- # Duplicate manpages input files for wine64 |
3651 |
- local f |
3652 |
- for f in loader/*.man.in; do |
3653 |
- cp ${f} ${f/wine/wine64} || die |
3654 |
- done |
3655 |
- # Add wine64 manpages to Makefile |
3656 |
- if use abi_x86_64; then |
3657 |
- sed -i "/wine.man.in/i \ |
3658 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
3659 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
3660 |
-\164\2/' loader/Makefile.in || die |
3661 |
- fi |
3662 |
- |
3663 |
- rm_man_file(){ |
3664 |
- local file="${1}" |
3665 |
- loc=${2} |
3666 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
3667 |
- } |
3668 |
- |
3669 |
- while read f; do |
3670 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
3671 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
3672 |
-} |
3673 |
- |
3674 |
-src_configure() { |
3675 |
- wine_compiler_check || die |
3676 |
- |
3677 |
- export LDCONFIG=/bin/true |
3678 |
- use custom-cflags || strip-flags |
3679 |
- |
3680 |
- multilib-minimal_src_configure |
3681 |
-} |
3682 |
- |
3683 |
-multilib_src_configure() { |
3684 |
- local myconf=( |
3685 |
- --prefix="${MY_PREFIX}" |
3686 |
- --datarootdir="${MY_DATAROOTDIR}" |
3687 |
- --datadir="${MY_DATADIR}" |
3688 |
- --docdir="${MY_DOCDIR}" |
3689 |
- --includedir="${MY_INCLUDEDIR}" |
3690 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
3691 |
- --libexecdir="${MY_LIBEXECDIR}" |
3692 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
3693 |
- --mandir="${MY_MANDIR}" |
3694 |
- --sysconfdir=/etc/wine |
3695 |
- $(use_with alsa) |
3696 |
- $(use_with capi) |
3697 |
- $(use_with lcms cms) |
3698 |
- $(use_with cups) |
3699 |
- $(use_with ncurses curses) |
3700 |
- $(use_with udisks dbus) |
3701 |
- $(use_with fontconfig) |
3702 |
- $(use_with ssl gnutls) |
3703 |
- $(use_enable gecko mshtml) |
3704 |
- $(use_with gphoto2 gphoto) |
3705 |
- $(use_with gsm) |
3706 |
- $(use_with gstreamer) |
3707 |
- --without-hal |
3708 |
- $(use_with jpeg) |
3709 |
- $(use_with ldap) |
3710 |
- $(use_enable mono mscoree) |
3711 |
- $(use_with mp3 mpg123) |
3712 |
- $(use_with netapi) |
3713 |
- $(use_with nls gettext) |
3714 |
- $(use_with openal) |
3715 |
- $(use_with opencl) |
3716 |
- $(use_with opengl) |
3717 |
- $(use_with osmesa) |
3718 |
- $(use_with oss) |
3719 |
- $(use_with pcap) |
3720 |
- $(use_with png) |
3721 |
- $(use_with pulseaudio pulse) |
3722 |
- $(use_with threads pthread) |
3723 |
- $(use_with scanner sane) |
3724 |
- $(use_enable test tests) |
3725 |
- $(use_with truetype freetype) |
3726 |
- $(use_with udev) |
3727 |
- $(use_with v4l) |
3728 |
- $(use_with X x) |
3729 |
- $(use_with X xfixes) |
3730 |
- $(use_with xcomposite) |
3731 |
- $(use_with xinerama) |
3732 |
- $(use_with xml) |
3733 |
- $(use_with xml xslt) |
3734 |
- ) |
3735 |
- |
3736 |
- local PKG_CONFIG AR RANLIB |
3737 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
3738 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
3739 |
- tc-export PKG_CONFIG AR RANLIB |
3740 |
- |
3741 |
- if use amd64; then |
3742 |
- if [[ ${ABI} == amd64 ]]; then |
3743 |
- myconf+=( --enable-win64 ) |
3744 |
- else |
3745 |
- myconf+=( --disable-win64 ) |
3746 |
- fi |
3747 |
- |
3748 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
3749 |
- # CC/LD hackery. We're using separate tools instead. |
3750 |
- fi |
3751 |
- |
3752 |
- ECONF_SOURCE=${S} \ |
3753 |
- econf "${myconf[@]}" |
3754 |
- emake depend |
3755 |
-} |
3756 |
- |
3757 |
-multilib_src_test() { |
3758 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
3759 |
- if [[ ${ABI} == x86 ]]; then |
3760 |
- if [[ $(id -u) == 0 ]]; then |
3761 |
- ewarn "Skipping tests since they cannot be run under the root user." |
3762 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
3763 |
- return |
3764 |
- fi |
3765 |
- |
3766 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
3767 |
- Xemake test |
3768 |
- fi |
3769 |
-} |
3770 |
- |
3771 |
-multilib_src_install_all() { |
3772 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
3773 |
- add_locale_docs() { |
3774 |
- local locale_doc="documentation/README.$1" |
3775 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
3776 |
- } |
3777 |
- l10n_for_each_locale_do add_locale_docs |
3778 |
- |
3779 |
- einstalldocs |
3780 |
- prune_libtool_files --all |
3781 |
- |
3782 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
3783 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
3784 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
3785 |
- fi |
3786 |
- |
3787 |
- # Remove wineconsole if neither backend is installed #551124 |
3788 |
- if ! use X && ! use ncurses; then |
3789 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
3790 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
3791 |
- rm_wineconsole() { |
3792 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
3793 |
- } |
3794 |
- multilib_foreach_abi rm_wineconsole |
3795 |
- fi |
3796 |
- |
3797 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
3798 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
3799 |
- |
3800 |
- if use abi_x86_64 && ! use abi_x86_32; then |
3801 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
3802 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
3803 |
- fi |
3804 |
- |
3805 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
3806 |
- eshopts_push -s failglob #615218 |
3807 |
- # Make wrappers for binaries for handling multiple variants |
3808 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
3809 |
- local b |
3810 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
3811 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
3812 |
- done |
3813 |
- eshopts_pop |
3814 |
-} |
3815 |
- |
3816 |
-pkg_postinst() { |
3817 |
- eselect wine register ${P} |
3818 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
3819 |
- eselect wine register --vanilla ${P} || die |
3820 |
- fi |
3821 |
- |
3822 |
- eselect wine update --all --if-unset || die |
3823 |
- |
3824 |
- xdg_desktop_database_update |
3825 |
- |
3826 |
- if ! use gecko; then |
3827 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
3828 |
- ewarn "implementation of iexplore. Many older windows applications" |
3829 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
3830 |
- ewarn "you will likely need to install an external one, like via winetricks" |
3831 |
- fi |
3832 |
- if ! use mono; then |
3833 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
3834 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
3835 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
3836 |
- ewarn "to install an external one, like via winetricks" |
3837 |
- fi |
3838 |
-} |
3839 |
- |
3840 |
-pkg_prerm() { |
3841 |
- eselect wine deregister ${P} |
3842 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
3843 |
- eselect wine deregister --vanilla ${P} || die |
3844 |
- fi |
3845 |
- |
3846 |
- eselect wine update --all --if-unset || die |
3847 |
-} |
3848 |
- |
3849 |
-pkg_postrm() { |
3850 |
- xdg_desktop_database_update |
3851 |
-} |
3852 |
|
3853 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.11-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.11-r1.ebuild |
3854 |
deleted file mode 100644 |
3855 |
index ab84545..0000000 |
3856 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.11-r1.ebuild |
3857 |
+++ /dev/null |
3858 |
@@ -1,527 +0,0 @@ |
3859 |
-# Copyright 1999-2018 Gentoo Foundation |
3860 |
-# Distributed under the terms of the GNU General Public License v2 |
3861 |
- |
3862 |
-EAPI=6 |
3863 |
- |
3864 |
-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" |
3865 |
-PLOCALE_BACKUP="en" |
3866 |
- |
3867 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
3868 |
- |
3869 |
-MY_PN="${PN%%-*}" |
3870 |
-MY_P="${MY_PN}-${PV}" |
3871 |
- |
3872 |
-if [[ ${PV} == "9999" ]] ; then |
3873 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
3874 |
- EGIT_BRANCH="master" |
3875 |
- inherit git-r3 |
3876 |
- SRC_URI="" |
3877 |
- #KEYWORDS="" |
3878 |
-else |
3879 |
- MAJOR_V=$(ver_cut 1) |
3880 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
3881 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
3882 |
-fi |
3883 |
-S="${WORKDIR}/${MY_P}" |
3884 |
- |
3885 |
-GWP_V="20180120" |
3886 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
3887 |
- |
3888 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
3889 |
-HOMEPAGE="https://www.winehq.org/" |
3890 |
-SRC_URI="${SRC_URI} |
3891 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
3892 |
-" |
3893 |
- |
3894 |
-LICENSE="LGPL-2.1" |
3895 |
-SLOT="${PV}" |
3896 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
3897 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
3898 |
- X? ( truetype ) |
3899 |
- elibc_glibc? ( threads ) |
3900 |
- osmesa? ( opengl ) |
3901 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
3902 |
- |
3903 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
3904 |
-# or fail due to Xvfb's opengl limitations. |
3905 |
-RESTRICT="test" |
3906 |
- |
3907 |
-COMMON_DEPEND=" |
3908 |
- X? ( |
3909 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
3910 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
3911 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
3912 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
3913 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
3914 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
3915 |
- ) |
3916 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
3917 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
3918 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
3919 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
3920 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
3921 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
3922 |
- gstreamer? ( |
3923 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
3924 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
3925 |
- ) |
3926 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
3927 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
3928 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
3929 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
3930 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
3931 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
3932 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
3933 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
3934 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
3935 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
3936 |
- opengl? ( |
3937 |
- virtual/glu[${MULTILIB_USEDEP}] |
3938 |
- virtual/opengl[${MULTILIB_USEDEP}] |
3939 |
- ) |
3940 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
3941 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
3942 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
3943 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
3944 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
3945 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
3946 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
3947 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
3948 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
3949 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
3950 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
3951 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
3952 |
- xml? ( |
3953 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
3954 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
3955 |
- )" |
3956 |
- |
3957 |
-RDEPEND="${COMMON_DEPEND} |
3958 |
- app-emulation/wine-desktop-common |
3959 |
- >app-eselect/eselect-wine-0.3 |
3960 |
- !app-emulation/wine:0 |
3961 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
3962 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
3963 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
3964 |
- perl? ( |
3965 |
- dev-lang/perl |
3966 |
- dev-perl/XML-Simple |
3967 |
- ) |
3968 |
- pulseaudio? ( |
3969 |
- realtime? ( sys-auth/rtkit ) |
3970 |
- ) |
3971 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
3972 |
- selinux? ( sec-policy/selinux-wine ) |
3973 |
- udisks? ( sys-fs/udisks:2 )" |
3974 |
- |
3975 |
-# tools/make_requests requires perl |
3976 |
-DEPEND="${COMMON_DEPEND} |
3977 |
- sys-devel/flex |
3978 |
- >=sys-kernel/linux-headers-2.6 |
3979 |
- virtual/pkgconfig |
3980 |
- virtual/yacc |
3981 |
- X? ( x11-base/xorg-proto ) |
3982 |
- prelink? ( sys-devel/prelink ) |
3983 |
- xinerama? ( x11-base/xorg-proto )" |
3984 |
- |
3985 |
-# These use a non-standard "Wine" category, which is provided by |
3986 |
-# /etc/xdg/applications-merged/wine.menu |
3987 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
3988 |
-usr/share/applications/wine-notepad.desktop |
3989 |
-usr/share/applications/wine-uninstaller.desktop |
3990 |
-usr/share/applications/wine-winecfg.desktop" |
3991 |
- |
3992 |
-PATCHES=( |
3993 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
3994 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
3995 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
3996 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
3997 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
3998 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
3999 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
4000 |
-) |
4001 |
-PATCHES_BIN=( |
4002 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
4003 |
-) |
4004 |
- |
4005 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
4006 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
4007 |
- DEPEND+=" dev-util/patchbin" |
4008 |
-fi |
4009 |
- |
4010 |
-wine_compiler_check() { |
4011 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
4012 |
- |
4013 |
- # GCC-specific bugs |
4014 |
- if tc-is-gcc; then |
4015 |
- # bug #549768 |
4016 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
4017 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
4018 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
4019 |
- # Run in subshell to prevent "Aborted" message |
4020 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
4021 |
- if ! eend $?; then |
4022 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
4023 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
4024 |
- eerror "or use gcc-config to select a different compiler version." |
4025 |
- eerror "See https://bugs.gentoo.org/549768" |
4026 |
- eerror |
4027 |
- return 1 |
4028 |
- fi |
4029 |
- fi |
4030 |
- # bug #574044 |
4031 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
4032 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
4033 |
- # Compile in subshell to prevent "Aborted" message |
4034 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
4035 |
- if ! eend $?; then |
4036 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
4037 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
4038 |
- eerror "or use gcc-config to select a different compiler version." |
4039 |
- eerror "See https://bugs.gentoo.org/574044" |
4040 |
- eerror |
4041 |
- return 1 |
4042 |
- fi |
4043 |
- fi |
4044 |
- fi |
4045 |
- |
4046 |
- # Ensure compiler support |
4047 |
- if use abi_x86_64; then |
4048 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
4049 |
- # Compile in subshell to prevent "Aborted" message |
4050 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
4051 |
- if ! eend $?; then |
4052 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
4053 |
- eerror |
4054 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
4055 |
- eerror |
4056 |
- return 1 |
4057 |
- fi |
4058 |
- fi |
4059 |
-} |
4060 |
- |
4061 |
-wine_build_environment_check() { |
4062 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
4063 |
- |
4064 |
- if use abi_x86_64; then |
4065 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
4066 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
4067 |
- die |
4068 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
4069 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
4070 |
- die |
4071 |
- fi |
4072 |
- fi |
4073 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
4074 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
4075 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
4076 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
4077 |
- fi |
4078 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
4079 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
4080 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
4081 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
4082 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
4083 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
4084 |
- fi |
4085 |
- fi |
4086 |
- |
4087 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
4088 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
4089 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
4090 |
- eerror |
4091 |
- return 1 |
4092 |
- fi |
4093 |
-} |
4094 |
- |
4095 |
-wine_env_vcs_vars() { |
4096 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
4097 |
- local pn_live_val="${pn_live_var}" |
4098 |
- eval pn_live_val='$'${pn_live_val} |
4099 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
4100 |
- eerror "Commits must now be specified using the environmental variables" |
4101 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
4102 |
- eerror |
4103 |
- return 1 |
4104 |
- fi |
4105 |
-} |
4106 |
- |
4107 |
-pkg_pretend() { |
4108 |
- wine_build_environment_check || die |
4109 |
- |
4110 |
- # Verify OSS support |
4111 |
- if use oss && ! use kernel_FreeBSD; then |
4112 |
- if ! has_version ">=media-sound/oss-4"; then |
4113 |
- eerror "You cannot build wine with USE=oss without having support from a" |
4114 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
4115 |
- eerror |
4116 |
- die |
4117 |
- fi |
4118 |
- fi |
4119 |
-} |
4120 |
- |
4121 |
-pkg_setup() { |
4122 |
- wine_build_environment_check || die |
4123 |
- wine_env_vcs_vars || die |
4124 |
- |
4125 |
- WINE_VARIANT="${PN#wine}-${PV}" |
4126 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
4127 |
- |
4128 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
4129 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
4130 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
4131 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
4132 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
4133 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
4134 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
4135 |
- MY_MANDIR="${MY_DATADIR}/man" |
4136 |
-} |
4137 |
- |
4138 |
-src_unpack() { |
4139 |
- if [[ ${PV} == "9999" ]] ; then |
4140 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
4141 |
- fi |
4142 |
- |
4143 |
- default |
4144 |
- |
4145 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
4146 |
-} |
4147 |
- |
4148 |
-src_prepare() { |
4149 |
- |
4150 |
- eapply_bin(){ |
4151 |
- local patch |
4152 |
- for patch in ${PATCHES_BIN[@]}; do |
4153 |
- patchbin --nogit < "${patch}" || die |
4154 |
- done |
4155 |
- } |
4156 |
- |
4157 |
- local md5="$(md5sum server/protocol.def)" |
4158 |
- |
4159 |
- default |
4160 |
- eapply_bin |
4161 |
- eautoreconf |
4162 |
- |
4163 |
- # Modification of the server protocol requires regenerating the server requests |
4164 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
4165 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
4166 |
- tools/make_requests || die #432348 |
4167 |
- fi |
4168 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
4169 |
- if ! use run-exes; then |
4170 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
4171 |
- fi |
4172 |
- |
4173 |
- # Edit wine.desktop to work for specific variant |
4174 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
4175 |
- |
4176 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
4177 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
4178 |
- |
4179 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
4180 |
- |
4181 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
4182 |
- # Requires wine-2.0-rearrange-manpages.patch |
4183 |
- |
4184 |
- # Duplicate manpages input files for wine64 |
4185 |
- local f |
4186 |
- for f in loader/*.man.in; do |
4187 |
- cp ${f} ${f/wine/wine64} || die |
4188 |
- done |
4189 |
- # Add wine64 manpages to Makefile |
4190 |
- if use abi_x86_64; then |
4191 |
- sed -i "/wine.man.in/i \ |
4192 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
4193 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
4194 |
-\164\2/' loader/Makefile.in || die |
4195 |
- fi |
4196 |
- |
4197 |
- rm_man_file(){ |
4198 |
- local file="${1}" |
4199 |
- loc=${2} |
4200 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
4201 |
- } |
4202 |
- |
4203 |
- while read f; do |
4204 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
4205 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
4206 |
-} |
4207 |
- |
4208 |
-src_configure() { |
4209 |
- wine_compiler_check || die |
4210 |
- |
4211 |
- export LDCONFIG=/bin/true |
4212 |
- use custom-cflags || strip-flags |
4213 |
- |
4214 |
- multilib-minimal_src_configure |
4215 |
-} |
4216 |
- |
4217 |
-multilib_src_configure() { |
4218 |
- local myconf=( |
4219 |
- --prefix="${MY_PREFIX}" |
4220 |
- --datarootdir="${MY_DATAROOTDIR}" |
4221 |
- --datadir="${MY_DATADIR}" |
4222 |
- --docdir="${MY_DOCDIR}" |
4223 |
- --includedir="${MY_INCLUDEDIR}" |
4224 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
4225 |
- --libexecdir="${MY_LIBEXECDIR}" |
4226 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
4227 |
- --mandir="${MY_MANDIR}" |
4228 |
- --sysconfdir=/etc/wine |
4229 |
- $(use_with alsa) |
4230 |
- $(use_with capi) |
4231 |
- $(use_with lcms cms) |
4232 |
- $(use_with cups) |
4233 |
- $(use_with ncurses curses) |
4234 |
- $(use_with udisks dbus) |
4235 |
- $(use_with fontconfig) |
4236 |
- $(use_with ssl gnutls) |
4237 |
- $(use_enable gecko mshtml) |
4238 |
- $(use_with gphoto2 gphoto) |
4239 |
- $(use_with gsm) |
4240 |
- $(use_with gstreamer) |
4241 |
- --without-hal |
4242 |
- $(use_with jpeg) |
4243 |
- $(use_with ldap) |
4244 |
- $(use_enable mono mscoree) |
4245 |
- $(use_with mp3 mpg123) |
4246 |
- $(use_with netapi) |
4247 |
- $(use_with nls gettext) |
4248 |
- $(use_with openal) |
4249 |
- $(use_with opencl) |
4250 |
- $(use_with opengl) |
4251 |
- $(use_with osmesa) |
4252 |
- $(use_with oss) |
4253 |
- $(use_with pcap) |
4254 |
- $(use_with png) |
4255 |
- $(use_with pulseaudio pulse) |
4256 |
- $(use_with threads pthread) |
4257 |
- $(use_with scanner sane) |
4258 |
- $(use_enable test tests) |
4259 |
- $(use_with truetype freetype) |
4260 |
- $(use_with udev) |
4261 |
- $(use_with v4l) |
4262 |
- $(use_with X x) |
4263 |
- $(use_with X xfixes) |
4264 |
- $(use_with xcomposite) |
4265 |
- $(use_with xinerama) |
4266 |
- $(use_with xml) |
4267 |
- $(use_with xml xslt) |
4268 |
- ) |
4269 |
- |
4270 |
- local PKG_CONFIG AR RANLIB |
4271 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
4272 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
4273 |
- tc-export PKG_CONFIG AR RANLIB |
4274 |
- |
4275 |
- if use amd64; then |
4276 |
- if [[ ${ABI} == amd64 ]]; then |
4277 |
- myconf+=( --enable-win64 ) |
4278 |
- else |
4279 |
- myconf+=( --disable-win64 ) |
4280 |
- fi |
4281 |
- |
4282 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
4283 |
- # CC/LD hackery. We're using separate tools instead. |
4284 |
- fi |
4285 |
- |
4286 |
- ECONF_SOURCE=${S} \ |
4287 |
- econf "${myconf[@]}" |
4288 |
- emake depend |
4289 |
-} |
4290 |
- |
4291 |
-multilib_src_test() { |
4292 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
4293 |
- if [[ ${ABI} == x86 ]]; then |
4294 |
- if [[ $(id -u) == 0 ]]; then |
4295 |
- ewarn "Skipping tests since they cannot be run under the root user." |
4296 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
4297 |
- return |
4298 |
- fi |
4299 |
- |
4300 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
4301 |
- Xemake test |
4302 |
- fi |
4303 |
-} |
4304 |
- |
4305 |
-multilib_src_install_all() { |
4306 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
4307 |
- add_locale_docs() { |
4308 |
- local locale_doc="documentation/README.$1" |
4309 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
4310 |
- } |
4311 |
- l10n_for_each_locale_do add_locale_docs |
4312 |
- |
4313 |
- einstalldocs |
4314 |
- prune_libtool_files --all |
4315 |
- |
4316 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
4317 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
4318 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
4319 |
- fi |
4320 |
- |
4321 |
- # Remove wineconsole if neither backend is installed #551124 |
4322 |
- if ! use X && ! use ncurses; then |
4323 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
4324 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
4325 |
- rm_wineconsole() { |
4326 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
4327 |
- } |
4328 |
- multilib_foreach_abi rm_wineconsole |
4329 |
- fi |
4330 |
- |
4331 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
4332 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
4333 |
- |
4334 |
- if use abi_x86_64 && ! use abi_x86_32; then |
4335 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
4336 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
4337 |
- fi |
4338 |
- |
4339 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
4340 |
- eshopts_push -s failglob #615218 |
4341 |
- # Make wrappers for binaries for handling multiple variants |
4342 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
4343 |
- local b |
4344 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
4345 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
4346 |
- done |
4347 |
- eshopts_pop |
4348 |
-} |
4349 |
- |
4350 |
-pkg_postinst() { |
4351 |
- eselect wine register ${P} |
4352 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
4353 |
- eselect wine register --vanilla ${P} || die |
4354 |
- fi |
4355 |
- |
4356 |
- eselect wine update --all --if-unset || die |
4357 |
- |
4358 |
- xdg_desktop_database_update |
4359 |
- |
4360 |
- if ! use gecko; then |
4361 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
4362 |
- ewarn "implementation of iexplore. Many older windows applications" |
4363 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
4364 |
- ewarn "you will likely need to install an external one, like via winetricks" |
4365 |
- fi |
4366 |
- if ! use mono; then |
4367 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
4368 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
4369 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
4370 |
- ewarn "to install an external one, like via winetricks" |
4371 |
- fi |
4372 |
-} |
4373 |
- |
4374 |
-pkg_prerm() { |
4375 |
- eselect wine deregister ${P} |
4376 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
4377 |
- eselect wine deregister --vanilla ${P} || die |
4378 |
- fi |
4379 |
- |
4380 |
- eselect wine update --all --if-unset || die |
4381 |
-} |
4382 |
- |
4383 |
-pkg_postrm() { |
4384 |
- xdg_desktop_database_update |
4385 |
-} |
4386 |
|
4387 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.12-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.12-r1.ebuild |
4388 |
deleted file mode 100644 |
4389 |
index ab84545..0000000 |
4390 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.12-r1.ebuild |
4391 |
+++ /dev/null |
4392 |
@@ -1,527 +0,0 @@ |
4393 |
-# Copyright 1999-2018 Gentoo Foundation |
4394 |
-# Distributed under the terms of the GNU General Public License v2 |
4395 |
- |
4396 |
-EAPI=6 |
4397 |
- |
4398 |
-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" |
4399 |
-PLOCALE_BACKUP="en" |
4400 |
- |
4401 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
4402 |
- |
4403 |
-MY_PN="${PN%%-*}" |
4404 |
-MY_P="${MY_PN}-${PV}" |
4405 |
- |
4406 |
-if [[ ${PV} == "9999" ]] ; then |
4407 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
4408 |
- EGIT_BRANCH="master" |
4409 |
- inherit git-r3 |
4410 |
- SRC_URI="" |
4411 |
- #KEYWORDS="" |
4412 |
-else |
4413 |
- MAJOR_V=$(ver_cut 1) |
4414 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
4415 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
4416 |
-fi |
4417 |
-S="${WORKDIR}/${MY_P}" |
4418 |
- |
4419 |
-GWP_V="20180120" |
4420 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
4421 |
- |
4422 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
4423 |
-HOMEPAGE="https://www.winehq.org/" |
4424 |
-SRC_URI="${SRC_URI} |
4425 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
4426 |
-" |
4427 |
- |
4428 |
-LICENSE="LGPL-2.1" |
4429 |
-SLOT="${PV}" |
4430 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
4431 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
4432 |
- X? ( truetype ) |
4433 |
- elibc_glibc? ( threads ) |
4434 |
- osmesa? ( opengl ) |
4435 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
4436 |
- |
4437 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
4438 |
-# or fail due to Xvfb's opengl limitations. |
4439 |
-RESTRICT="test" |
4440 |
- |
4441 |
-COMMON_DEPEND=" |
4442 |
- X? ( |
4443 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
4444 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
4445 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
4446 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
4447 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
4448 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
4449 |
- ) |
4450 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
4451 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
4452 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
4453 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
4454 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
4455 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
4456 |
- gstreamer? ( |
4457 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
4458 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
4459 |
- ) |
4460 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
4461 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
4462 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
4463 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
4464 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
4465 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
4466 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
4467 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
4468 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
4469 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
4470 |
- opengl? ( |
4471 |
- virtual/glu[${MULTILIB_USEDEP}] |
4472 |
- virtual/opengl[${MULTILIB_USEDEP}] |
4473 |
- ) |
4474 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
4475 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
4476 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
4477 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
4478 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
4479 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
4480 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
4481 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
4482 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
4483 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
4484 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
4485 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
4486 |
- xml? ( |
4487 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
4488 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
4489 |
- )" |
4490 |
- |
4491 |
-RDEPEND="${COMMON_DEPEND} |
4492 |
- app-emulation/wine-desktop-common |
4493 |
- >app-eselect/eselect-wine-0.3 |
4494 |
- !app-emulation/wine:0 |
4495 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
4496 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
4497 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
4498 |
- perl? ( |
4499 |
- dev-lang/perl |
4500 |
- dev-perl/XML-Simple |
4501 |
- ) |
4502 |
- pulseaudio? ( |
4503 |
- realtime? ( sys-auth/rtkit ) |
4504 |
- ) |
4505 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
4506 |
- selinux? ( sec-policy/selinux-wine ) |
4507 |
- udisks? ( sys-fs/udisks:2 )" |
4508 |
- |
4509 |
-# tools/make_requests requires perl |
4510 |
-DEPEND="${COMMON_DEPEND} |
4511 |
- sys-devel/flex |
4512 |
- >=sys-kernel/linux-headers-2.6 |
4513 |
- virtual/pkgconfig |
4514 |
- virtual/yacc |
4515 |
- X? ( x11-base/xorg-proto ) |
4516 |
- prelink? ( sys-devel/prelink ) |
4517 |
- xinerama? ( x11-base/xorg-proto )" |
4518 |
- |
4519 |
-# These use a non-standard "Wine" category, which is provided by |
4520 |
-# /etc/xdg/applications-merged/wine.menu |
4521 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
4522 |
-usr/share/applications/wine-notepad.desktop |
4523 |
-usr/share/applications/wine-uninstaller.desktop |
4524 |
-usr/share/applications/wine-winecfg.desktop" |
4525 |
- |
4526 |
-PATCHES=( |
4527 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
4528 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
4529 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
4530 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
4531 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
4532 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
4533 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
4534 |
-) |
4535 |
-PATCHES_BIN=( |
4536 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
4537 |
-) |
4538 |
- |
4539 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
4540 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
4541 |
- DEPEND+=" dev-util/patchbin" |
4542 |
-fi |
4543 |
- |
4544 |
-wine_compiler_check() { |
4545 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
4546 |
- |
4547 |
- # GCC-specific bugs |
4548 |
- if tc-is-gcc; then |
4549 |
- # bug #549768 |
4550 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
4551 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
4552 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
4553 |
- # Run in subshell to prevent "Aborted" message |
4554 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
4555 |
- if ! eend $?; then |
4556 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
4557 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
4558 |
- eerror "or use gcc-config to select a different compiler version." |
4559 |
- eerror "See https://bugs.gentoo.org/549768" |
4560 |
- eerror |
4561 |
- return 1 |
4562 |
- fi |
4563 |
- fi |
4564 |
- # bug #574044 |
4565 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
4566 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
4567 |
- # Compile in subshell to prevent "Aborted" message |
4568 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
4569 |
- if ! eend $?; then |
4570 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
4571 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
4572 |
- eerror "or use gcc-config to select a different compiler version." |
4573 |
- eerror "See https://bugs.gentoo.org/574044" |
4574 |
- eerror |
4575 |
- return 1 |
4576 |
- fi |
4577 |
- fi |
4578 |
- fi |
4579 |
- |
4580 |
- # Ensure compiler support |
4581 |
- if use abi_x86_64; then |
4582 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
4583 |
- # Compile in subshell to prevent "Aborted" message |
4584 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
4585 |
- if ! eend $?; then |
4586 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
4587 |
- eerror |
4588 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
4589 |
- eerror |
4590 |
- return 1 |
4591 |
- fi |
4592 |
- fi |
4593 |
-} |
4594 |
- |
4595 |
-wine_build_environment_check() { |
4596 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
4597 |
- |
4598 |
- if use abi_x86_64; then |
4599 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
4600 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
4601 |
- die |
4602 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
4603 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
4604 |
- die |
4605 |
- fi |
4606 |
- fi |
4607 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
4608 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
4609 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
4610 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
4611 |
- fi |
4612 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
4613 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
4614 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
4615 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
4616 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
4617 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
4618 |
- fi |
4619 |
- fi |
4620 |
- |
4621 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
4622 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
4623 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
4624 |
- eerror |
4625 |
- return 1 |
4626 |
- fi |
4627 |
-} |
4628 |
- |
4629 |
-wine_env_vcs_vars() { |
4630 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
4631 |
- local pn_live_val="${pn_live_var}" |
4632 |
- eval pn_live_val='$'${pn_live_val} |
4633 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
4634 |
- eerror "Commits must now be specified using the environmental variables" |
4635 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
4636 |
- eerror |
4637 |
- return 1 |
4638 |
- fi |
4639 |
-} |
4640 |
- |
4641 |
-pkg_pretend() { |
4642 |
- wine_build_environment_check || die |
4643 |
- |
4644 |
- # Verify OSS support |
4645 |
- if use oss && ! use kernel_FreeBSD; then |
4646 |
- if ! has_version ">=media-sound/oss-4"; then |
4647 |
- eerror "You cannot build wine with USE=oss without having support from a" |
4648 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
4649 |
- eerror |
4650 |
- die |
4651 |
- fi |
4652 |
- fi |
4653 |
-} |
4654 |
- |
4655 |
-pkg_setup() { |
4656 |
- wine_build_environment_check || die |
4657 |
- wine_env_vcs_vars || die |
4658 |
- |
4659 |
- WINE_VARIANT="${PN#wine}-${PV}" |
4660 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
4661 |
- |
4662 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
4663 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
4664 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
4665 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
4666 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
4667 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
4668 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
4669 |
- MY_MANDIR="${MY_DATADIR}/man" |
4670 |
-} |
4671 |
- |
4672 |
-src_unpack() { |
4673 |
- if [[ ${PV} == "9999" ]] ; then |
4674 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
4675 |
- fi |
4676 |
- |
4677 |
- default |
4678 |
- |
4679 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
4680 |
-} |
4681 |
- |
4682 |
-src_prepare() { |
4683 |
- |
4684 |
- eapply_bin(){ |
4685 |
- local patch |
4686 |
- for patch in ${PATCHES_BIN[@]}; do |
4687 |
- patchbin --nogit < "${patch}" || die |
4688 |
- done |
4689 |
- } |
4690 |
- |
4691 |
- local md5="$(md5sum server/protocol.def)" |
4692 |
- |
4693 |
- default |
4694 |
- eapply_bin |
4695 |
- eautoreconf |
4696 |
- |
4697 |
- # Modification of the server protocol requires regenerating the server requests |
4698 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
4699 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
4700 |
- tools/make_requests || die #432348 |
4701 |
- fi |
4702 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
4703 |
- if ! use run-exes; then |
4704 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
4705 |
- fi |
4706 |
- |
4707 |
- # Edit wine.desktop to work for specific variant |
4708 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
4709 |
- |
4710 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
4711 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
4712 |
- |
4713 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
4714 |
- |
4715 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
4716 |
- # Requires wine-2.0-rearrange-manpages.patch |
4717 |
- |
4718 |
- # Duplicate manpages input files for wine64 |
4719 |
- local f |
4720 |
- for f in loader/*.man.in; do |
4721 |
- cp ${f} ${f/wine/wine64} || die |
4722 |
- done |
4723 |
- # Add wine64 manpages to Makefile |
4724 |
- if use abi_x86_64; then |
4725 |
- sed -i "/wine.man.in/i \ |
4726 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
4727 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
4728 |
-\164\2/' loader/Makefile.in || die |
4729 |
- fi |
4730 |
- |
4731 |
- rm_man_file(){ |
4732 |
- local file="${1}" |
4733 |
- loc=${2} |
4734 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
4735 |
- } |
4736 |
- |
4737 |
- while read f; do |
4738 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
4739 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
4740 |
-} |
4741 |
- |
4742 |
-src_configure() { |
4743 |
- wine_compiler_check || die |
4744 |
- |
4745 |
- export LDCONFIG=/bin/true |
4746 |
- use custom-cflags || strip-flags |
4747 |
- |
4748 |
- multilib-minimal_src_configure |
4749 |
-} |
4750 |
- |
4751 |
-multilib_src_configure() { |
4752 |
- local myconf=( |
4753 |
- --prefix="${MY_PREFIX}" |
4754 |
- --datarootdir="${MY_DATAROOTDIR}" |
4755 |
- --datadir="${MY_DATADIR}" |
4756 |
- --docdir="${MY_DOCDIR}" |
4757 |
- --includedir="${MY_INCLUDEDIR}" |
4758 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
4759 |
- --libexecdir="${MY_LIBEXECDIR}" |
4760 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
4761 |
- --mandir="${MY_MANDIR}" |
4762 |
- --sysconfdir=/etc/wine |
4763 |
- $(use_with alsa) |
4764 |
- $(use_with capi) |
4765 |
- $(use_with lcms cms) |
4766 |
- $(use_with cups) |
4767 |
- $(use_with ncurses curses) |
4768 |
- $(use_with udisks dbus) |
4769 |
- $(use_with fontconfig) |
4770 |
- $(use_with ssl gnutls) |
4771 |
- $(use_enable gecko mshtml) |
4772 |
- $(use_with gphoto2 gphoto) |
4773 |
- $(use_with gsm) |
4774 |
- $(use_with gstreamer) |
4775 |
- --without-hal |
4776 |
- $(use_with jpeg) |
4777 |
- $(use_with ldap) |
4778 |
- $(use_enable mono mscoree) |
4779 |
- $(use_with mp3 mpg123) |
4780 |
- $(use_with netapi) |
4781 |
- $(use_with nls gettext) |
4782 |
- $(use_with openal) |
4783 |
- $(use_with opencl) |
4784 |
- $(use_with opengl) |
4785 |
- $(use_with osmesa) |
4786 |
- $(use_with oss) |
4787 |
- $(use_with pcap) |
4788 |
- $(use_with png) |
4789 |
- $(use_with pulseaudio pulse) |
4790 |
- $(use_with threads pthread) |
4791 |
- $(use_with scanner sane) |
4792 |
- $(use_enable test tests) |
4793 |
- $(use_with truetype freetype) |
4794 |
- $(use_with udev) |
4795 |
- $(use_with v4l) |
4796 |
- $(use_with X x) |
4797 |
- $(use_with X xfixes) |
4798 |
- $(use_with xcomposite) |
4799 |
- $(use_with xinerama) |
4800 |
- $(use_with xml) |
4801 |
- $(use_with xml xslt) |
4802 |
- ) |
4803 |
- |
4804 |
- local PKG_CONFIG AR RANLIB |
4805 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
4806 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
4807 |
- tc-export PKG_CONFIG AR RANLIB |
4808 |
- |
4809 |
- if use amd64; then |
4810 |
- if [[ ${ABI} == amd64 ]]; then |
4811 |
- myconf+=( --enable-win64 ) |
4812 |
- else |
4813 |
- myconf+=( --disable-win64 ) |
4814 |
- fi |
4815 |
- |
4816 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
4817 |
- # CC/LD hackery. We're using separate tools instead. |
4818 |
- fi |
4819 |
- |
4820 |
- ECONF_SOURCE=${S} \ |
4821 |
- econf "${myconf[@]}" |
4822 |
- emake depend |
4823 |
-} |
4824 |
- |
4825 |
-multilib_src_test() { |
4826 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
4827 |
- if [[ ${ABI} == x86 ]]; then |
4828 |
- if [[ $(id -u) == 0 ]]; then |
4829 |
- ewarn "Skipping tests since they cannot be run under the root user." |
4830 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
4831 |
- return |
4832 |
- fi |
4833 |
- |
4834 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
4835 |
- Xemake test |
4836 |
- fi |
4837 |
-} |
4838 |
- |
4839 |
-multilib_src_install_all() { |
4840 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
4841 |
- add_locale_docs() { |
4842 |
- local locale_doc="documentation/README.$1" |
4843 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
4844 |
- } |
4845 |
- l10n_for_each_locale_do add_locale_docs |
4846 |
- |
4847 |
- einstalldocs |
4848 |
- prune_libtool_files --all |
4849 |
- |
4850 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
4851 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
4852 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
4853 |
- fi |
4854 |
- |
4855 |
- # Remove wineconsole if neither backend is installed #551124 |
4856 |
- if ! use X && ! use ncurses; then |
4857 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
4858 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
4859 |
- rm_wineconsole() { |
4860 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
4861 |
- } |
4862 |
- multilib_foreach_abi rm_wineconsole |
4863 |
- fi |
4864 |
- |
4865 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
4866 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
4867 |
- |
4868 |
- if use abi_x86_64 && ! use abi_x86_32; then |
4869 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
4870 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
4871 |
- fi |
4872 |
- |
4873 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
4874 |
- eshopts_push -s failglob #615218 |
4875 |
- # Make wrappers for binaries for handling multiple variants |
4876 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
4877 |
- local b |
4878 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
4879 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
4880 |
- done |
4881 |
- eshopts_pop |
4882 |
-} |
4883 |
- |
4884 |
-pkg_postinst() { |
4885 |
- eselect wine register ${P} |
4886 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
4887 |
- eselect wine register --vanilla ${P} || die |
4888 |
- fi |
4889 |
- |
4890 |
- eselect wine update --all --if-unset || die |
4891 |
- |
4892 |
- xdg_desktop_database_update |
4893 |
- |
4894 |
- if ! use gecko; then |
4895 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
4896 |
- ewarn "implementation of iexplore. Many older windows applications" |
4897 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
4898 |
- ewarn "you will likely need to install an external one, like via winetricks" |
4899 |
- fi |
4900 |
- if ! use mono; then |
4901 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
4902 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
4903 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
4904 |
- ewarn "to install an external one, like via winetricks" |
4905 |
- fi |
4906 |
-} |
4907 |
- |
4908 |
-pkg_prerm() { |
4909 |
- eselect wine deregister ${P} |
4910 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
4911 |
- eselect wine deregister --vanilla ${P} || die |
4912 |
- fi |
4913 |
- |
4914 |
- eselect wine update --all --if-unset || die |
4915 |
-} |
4916 |
- |
4917 |
-pkg_postrm() { |
4918 |
- xdg_desktop_database_update |
4919 |
-} |
4920 |
|
4921 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.13-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.13-r1.ebuild |
4922 |
deleted file mode 100644 |
4923 |
index ab84545..0000000 |
4924 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.13-r1.ebuild |
4925 |
+++ /dev/null |
4926 |
@@ -1,527 +0,0 @@ |
4927 |
-# Copyright 1999-2018 Gentoo Foundation |
4928 |
-# Distributed under the terms of the GNU General Public License v2 |
4929 |
- |
4930 |
-EAPI=6 |
4931 |
- |
4932 |
-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" |
4933 |
-PLOCALE_BACKUP="en" |
4934 |
- |
4935 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
4936 |
- |
4937 |
-MY_PN="${PN%%-*}" |
4938 |
-MY_P="${MY_PN}-${PV}" |
4939 |
- |
4940 |
-if [[ ${PV} == "9999" ]] ; then |
4941 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
4942 |
- EGIT_BRANCH="master" |
4943 |
- inherit git-r3 |
4944 |
- SRC_URI="" |
4945 |
- #KEYWORDS="" |
4946 |
-else |
4947 |
- MAJOR_V=$(ver_cut 1) |
4948 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
4949 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
4950 |
-fi |
4951 |
-S="${WORKDIR}/${MY_P}" |
4952 |
- |
4953 |
-GWP_V="20180120" |
4954 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
4955 |
- |
4956 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
4957 |
-HOMEPAGE="https://www.winehq.org/" |
4958 |
-SRC_URI="${SRC_URI} |
4959 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
4960 |
-" |
4961 |
- |
4962 |
-LICENSE="LGPL-2.1" |
4963 |
-SLOT="${PV}" |
4964 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
4965 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
4966 |
- X? ( truetype ) |
4967 |
- elibc_glibc? ( threads ) |
4968 |
- osmesa? ( opengl ) |
4969 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
4970 |
- |
4971 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
4972 |
-# or fail due to Xvfb's opengl limitations. |
4973 |
-RESTRICT="test" |
4974 |
- |
4975 |
-COMMON_DEPEND=" |
4976 |
- X? ( |
4977 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
4978 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
4979 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
4980 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
4981 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
4982 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
4983 |
- ) |
4984 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
4985 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
4986 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
4987 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
4988 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
4989 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
4990 |
- gstreamer? ( |
4991 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
4992 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
4993 |
- ) |
4994 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
4995 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
4996 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
4997 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
4998 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
4999 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
5000 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
5001 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
5002 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
5003 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
5004 |
- opengl? ( |
5005 |
- virtual/glu[${MULTILIB_USEDEP}] |
5006 |
- virtual/opengl[${MULTILIB_USEDEP}] |
5007 |
- ) |
5008 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
5009 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
5010 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
5011 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
5012 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
5013 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
5014 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
5015 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
5016 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
5017 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
5018 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
5019 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
5020 |
- xml? ( |
5021 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
5022 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
5023 |
- )" |
5024 |
- |
5025 |
-RDEPEND="${COMMON_DEPEND} |
5026 |
- app-emulation/wine-desktop-common |
5027 |
- >app-eselect/eselect-wine-0.3 |
5028 |
- !app-emulation/wine:0 |
5029 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
5030 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
5031 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
5032 |
- perl? ( |
5033 |
- dev-lang/perl |
5034 |
- dev-perl/XML-Simple |
5035 |
- ) |
5036 |
- pulseaudio? ( |
5037 |
- realtime? ( sys-auth/rtkit ) |
5038 |
- ) |
5039 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
5040 |
- selinux? ( sec-policy/selinux-wine ) |
5041 |
- udisks? ( sys-fs/udisks:2 )" |
5042 |
- |
5043 |
-# tools/make_requests requires perl |
5044 |
-DEPEND="${COMMON_DEPEND} |
5045 |
- sys-devel/flex |
5046 |
- >=sys-kernel/linux-headers-2.6 |
5047 |
- virtual/pkgconfig |
5048 |
- virtual/yacc |
5049 |
- X? ( x11-base/xorg-proto ) |
5050 |
- prelink? ( sys-devel/prelink ) |
5051 |
- xinerama? ( x11-base/xorg-proto )" |
5052 |
- |
5053 |
-# These use a non-standard "Wine" category, which is provided by |
5054 |
-# /etc/xdg/applications-merged/wine.menu |
5055 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
5056 |
-usr/share/applications/wine-notepad.desktop |
5057 |
-usr/share/applications/wine-uninstaller.desktop |
5058 |
-usr/share/applications/wine-winecfg.desktop" |
5059 |
- |
5060 |
-PATCHES=( |
5061 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
5062 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
5063 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
5064 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
5065 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
5066 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
5067 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
5068 |
-) |
5069 |
-PATCHES_BIN=( |
5070 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
5071 |
-) |
5072 |
- |
5073 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
5074 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
5075 |
- DEPEND+=" dev-util/patchbin" |
5076 |
-fi |
5077 |
- |
5078 |
-wine_compiler_check() { |
5079 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
5080 |
- |
5081 |
- # GCC-specific bugs |
5082 |
- if tc-is-gcc; then |
5083 |
- # bug #549768 |
5084 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
5085 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
5086 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
5087 |
- # Run in subshell to prevent "Aborted" message |
5088 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
5089 |
- if ! eend $?; then |
5090 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
5091 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
5092 |
- eerror "or use gcc-config to select a different compiler version." |
5093 |
- eerror "See https://bugs.gentoo.org/549768" |
5094 |
- eerror |
5095 |
- return 1 |
5096 |
- fi |
5097 |
- fi |
5098 |
- # bug #574044 |
5099 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
5100 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
5101 |
- # Compile in subshell to prevent "Aborted" message |
5102 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
5103 |
- if ! eend $?; then |
5104 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
5105 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
5106 |
- eerror "or use gcc-config to select a different compiler version." |
5107 |
- eerror "See https://bugs.gentoo.org/574044" |
5108 |
- eerror |
5109 |
- return 1 |
5110 |
- fi |
5111 |
- fi |
5112 |
- fi |
5113 |
- |
5114 |
- # Ensure compiler support |
5115 |
- if use abi_x86_64; then |
5116 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
5117 |
- # Compile in subshell to prevent "Aborted" message |
5118 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
5119 |
- if ! eend $?; then |
5120 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
5121 |
- eerror |
5122 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
5123 |
- eerror |
5124 |
- return 1 |
5125 |
- fi |
5126 |
- fi |
5127 |
-} |
5128 |
- |
5129 |
-wine_build_environment_check() { |
5130 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
5131 |
- |
5132 |
- if use abi_x86_64; then |
5133 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
5134 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
5135 |
- die |
5136 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
5137 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
5138 |
- die |
5139 |
- fi |
5140 |
- fi |
5141 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
5142 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
5143 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
5144 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
5145 |
- fi |
5146 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
5147 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
5148 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
5149 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
5150 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
5151 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
5152 |
- fi |
5153 |
- fi |
5154 |
- |
5155 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
5156 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
5157 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
5158 |
- eerror |
5159 |
- return 1 |
5160 |
- fi |
5161 |
-} |
5162 |
- |
5163 |
-wine_env_vcs_vars() { |
5164 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
5165 |
- local pn_live_val="${pn_live_var}" |
5166 |
- eval pn_live_val='$'${pn_live_val} |
5167 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
5168 |
- eerror "Commits must now be specified using the environmental variables" |
5169 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
5170 |
- eerror |
5171 |
- return 1 |
5172 |
- fi |
5173 |
-} |
5174 |
- |
5175 |
-pkg_pretend() { |
5176 |
- wine_build_environment_check || die |
5177 |
- |
5178 |
- # Verify OSS support |
5179 |
- if use oss && ! use kernel_FreeBSD; then |
5180 |
- if ! has_version ">=media-sound/oss-4"; then |
5181 |
- eerror "You cannot build wine with USE=oss without having support from a" |
5182 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
5183 |
- eerror |
5184 |
- die |
5185 |
- fi |
5186 |
- fi |
5187 |
-} |
5188 |
- |
5189 |
-pkg_setup() { |
5190 |
- wine_build_environment_check || die |
5191 |
- wine_env_vcs_vars || die |
5192 |
- |
5193 |
- WINE_VARIANT="${PN#wine}-${PV}" |
5194 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
5195 |
- |
5196 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
5197 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
5198 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
5199 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
5200 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
5201 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
5202 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
5203 |
- MY_MANDIR="${MY_DATADIR}/man" |
5204 |
-} |
5205 |
- |
5206 |
-src_unpack() { |
5207 |
- if [[ ${PV} == "9999" ]] ; then |
5208 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
5209 |
- fi |
5210 |
- |
5211 |
- default |
5212 |
- |
5213 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
5214 |
-} |
5215 |
- |
5216 |
-src_prepare() { |
5217 |
- |
5218 |
- eapply_bin(){ |
5219 |
- local patch |
5220 |
- for patch in ${PATCHES_BIN[@]}; do |
5221 |
- patchbin --nogit < "${patch}" || die |
5222 |
- done |
5223 |
- } |
5224 |
- |
5225 |
- local md5="$(md5sum server/protocol.def)" |
5226 |
- |
5227 |
- default |
5228 |
- eapply_bin |
5229 |
- eautoreconf |
5230 |
- |
5231 |
- # Modification of the server protocol requires regenerating the server requests |
5232 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
5233 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
5234 |
- tools/make_requests || die #432348 |
5235 |
- fi |
5236 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
5237 |
- if ! use run-exes; then |
5238 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
5239 |
- fi |
5240 |
- |
5241 |
- # Edit wine.desktop to work for specific variant |
5242 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
5243 |
- |
5244 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
5245 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
5246 |
- |
5247 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
5248 |
- |
5249 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
5250 |
- # Requires wine-2.0-rearrange-manpages.patch |
5251 |
- |
5252 |
- # Duplicate manpages input files for wine64 |
5253 |
- local f |
5254 |
- for f in loader/*.man.in; do |
5255 |
- cp ${f} ${f/wine/wine64} || die |
5256 |
- done |
5257 |
- # Add wine64 manpages to Makefile |
5258 |
- if use abi_x86_64; then |
5259 |
- sed -i "/wine.man.in/i \ |
5260 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
5261 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
5262 |
-\164\2/' loader/Makefile.in || die |
5263 |
- fi |
5264 |
- |
5265 |
- rm_man_file(){ |
5266 |
- local file="${1}" |
5267 |
- loc=${2} |
5268 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
5269 |
- } |
5270 |
- |
5271 |
- while read f; do |
5272 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
5273 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
5274 |
-} |
5275 |
- |
5276 |
-src_configure() { |
5277 |
- wine_compiler_check || die |
5278 |
- |
5279 |
- export LDCONFIG=/bin/true |
5280 |
- use custom-cflags || strip-flags |
5281 |
- |
5282 |
- multilib-minimal_src_configure |
5283 |
-} |
5284 |
- |
5285 |
-multilib_src_configure() { |
5286 |
- local myconf=( |
5287 |
- --prefix="${MY_PREFIX}" |
5288 |
- --datarootdir="${MY_DATAROOTDIR}" |
5289 |
- --datadir="${MY_DATADIR}" |
5290 |
- --docdir="${MY_DOCDIR}" |
5291 |
- --includedir="${MY_INCLUDEDIR}" |
5292 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
5293 |
- --libexecdir="${MY_LIBEXECDIR}" |
5294 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
5295 |
- --mandir="${MY_MANDIR}" |
5296 |
- --sysconfdir=/etc/wine |
5297 |
- $(use_with alsa) |
5298 |
- $(use_with capi) |
5299 |
- $(use_with lcms cms) |
5300 |
- $(use_with cups) |
5301 |
- $(use_with ncurses curses) |
5302 |
- $(use_with udisks dbus) |
5303 |
- $(use_with fontconfig) |
5304 |
- $(use_with ssl gnutls) |
5305 |
- $(use_enable gecko mshtml) |
5306 |
- $(use_with gphoto2 gphoto) |
5307 |
- $(use_with gsm) |
5308 |
- $(use_with gstreamer) |
5309 |
- --without-hal |
5310 |
- $(use_with jpeg) |
5311 |
- $(use_with ldap) |
5312 |
- $(use_enable mono mscoree) |
5313 |
- $(use_with mp3 mpg123) |
5314 |
- $(use_with netapi) |
5315 |
- $(use_with nls gettext) |
5316 |
- $(use_with openal) |
5317 |
- $(use_with opencl) |
5318 |
- $(use_with opengl) |
5319 |
- $(use_with osmesa) |
5320 |
- $(use_with oss) |
5321 |
- $(use_with pcap) |
5322 |
- $(use_with png) |
5323 |
- $(use_with pulseaudio pulse) |
5324 |
- $(use_with threads pthread) |
5325 |
- $(use_with scanner sane) |
5326 |
- $(use_enable test tests) |
5327 |
- $(use_with truetype freetype) |
5328 |
- $(use_with udev) |
5329 |
- $(use_with v4l) |
5330 |
- $(use_with X x) |
5331 |
- $(use_with X xfixes) |
5332 |
- $(use_with xcomposite) |
5333 |
- $(use_with xinerama) |
5334 |
- $(use_with xml) |
5335 |
- $(use_with xml xslt) |
5336 |
- ) |
5337 |
- |
5338 |
- local PKG_CONFIG AR RANLIB |
5339 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
5340 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
5341 |
- tc-export PKG_CONFIG AR RANLIB |
5342 |
- |
5343 |
- if use amd64; then |
5344 |
- if [[ ${ABI} == amd64 ]]; then |
5345 |
- myconf+=( --enable-win64 ) |
5346 |
- else |
5347 |
- myconf+=( --disable-win64 ) |
5348 |
- fi |
5349 |
- |
5350 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
5351 |
- # CC/LD hackery. We're using separate tools instead. |
5352 |
- fi |
5353 |
- |
5354 |
- ECONF_SOURCE=${S} \ |
5355 |
- econf "${myconf[@]}" |
5356 |
- emake depend |
5357 |
-} |
5358 |
- |
5359 |
-multilib_src_test() { |
5360 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
5361 |
- if [[ ${ABI} == x86 ]]; then |
5362 |
- if [[ $(id -u) == 0 ]]; then |
5363 |
- ewarn "Skipping tests since they cannot be run under the root user." |
5364 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
5365 |
- return |
5366 |
- fi |
5367 |
- |
5368 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
5369 |
- Xemake test |
5370 |
- fi |
5371 |
-} |
5372 |
- |
5373 |
-multilib_src_install_all() { |
5374 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
5375 |
- add_locale_docs() { |
5376 |
- local locale_doc="documentation/README.$1" |
5377 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
5378 |
- } |
5379 |
- l10n_for_each_locale_do add_locale_docs |
5380 |
- |
5381 |
- einstalldocs |
5382 |
- prune_libtool_files --all |
5383 |
- |
5384 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
5385 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
5386 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
5387 |
- fi |
5388 |
- |
5389 |
- # Remove wineconsole if neither backend is installed #551124 |
5390 |
- if ! use X && ! use ncurses; then |
5391 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
5392 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
5393 |
- rm_wineconsole() { |
5394 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
5395 |
- } |
5396 |
- multilib_foreach_abi rm_wineconsole |
5397 |
- fi |
5398 |
- |
5399 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
5400 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
5401 |
- |
5402 |
- if use abi_x86_64 && ! use abi_x86_32; then |
5403 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
5404 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
5405 |
- fi |
5406 |
- |
5407 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
5408 |
- eshopts_push -s failglob #615218 |
5409 |
- # Make wrappers for binaries for handling multiple variants |
5410 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
5411 |
- local b |
5412 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
5413 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
5414 |
- done |
5415 |
- eshopts_pop |
5416 |
-} |
5417 |
- |
5418 |
-pkg_postinst() { |
5419 |
- eselect wine register ${P} |
5420 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
5421 |
- eselect wine register --vanilla ${P} || die |
5422 |
- fi |
5423 |
- |
5424 |
- eselect wine update --all --if-unset || die |
5425 |
- |
5426 |
- xdg_desktop_database_update |
5427 |
- |
5428 |
- if ! use gecko; then |
5429 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
5430 |
- ewarn "implementation of iexplore. Many older windows applications" |
5431 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
5432 |
- ewarn "you will likely need to install an external one, like via winetricks" |
5433 |
- fi |
5434 |
- if ! use mono; then |
5435 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
5436 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
5437 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
5438 |
- ewarn "to install an external one, like via winetricks" |
5439 |
- fi |
5440 |
-} |
5441 |
- |
5442 |
-pkg_prerm() { |
5443 |
- eselect wine deregister ${P} |
5444 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
5445 |
- eselect wine deregister --vanilla ${P} || die |
5446 |
- fi |
5447 |
- |
5448 |
- eselect wine update --all --if-unset || die |
5449 |
-} |
5450 |
- |
5451 |
-pkg_postrm() { |
5452 |
- xdg_desktop_database_update |
5453 |
-} |
5454 |
|
5455 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.14-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.14-r1.ebuild |
5456 |
deleted file mode 100644 |
5457 |
index 2b86b37..0000000 |
5458 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.14-r1.ebuild |
5459 |
+++ /dev/null |
5460 |
@@ -1,527 +0,0 @@ |
5461 |
-# Copyright 1999-2018 Gentoo Foundation |
5462 |
-# Distributed under the terms of the GNU General Public License v2 |
5463 |
- |
5464 |
-EAPI=6 |
5465 |
- |
5466 |
-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" |
5467 |
-PLOCALE_BACKUP="en" |
5468 |
- |
5469 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
5470 |
- |
5471 |
-MY_PN="${PN%%-*}" |
5472 |
-MY_P="${MY_PN}-${PV}" |
5473 |
- |
5474 |
-if [[ ${PV} == "9999" ]] ; then |
5475 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
5476 |
- EGIT_BRANCH="master" |
5477 |
- inherit git-r3 |
5478 |
- SRC_URI="" |
5479 |
- #KEYWORDS="" |
5480 |
-else |
5481 |
- MAJOR_V=$(ver_cut 1) |
5482 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
5483 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
5484 |
-fi |
5485 |
-S="${WORKDIR}/${MY_P}" |
5486 |
- |
5487 |
-GWP_V="20180120" |
5488 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
5489 |
- |
5490 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
5491 |
-HOMEPAGE="https://www.winehq.org/" |
5492 |
-SRC_URI="${SRC_URI} |
5493 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
5494 |
-" |
5495 |
- |
5496 |
-LICENSE="LGPL-2.1" |
5497 |
-SLOT="${PV}" |
5498 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
5499 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
5500 |
- X? ( truetype ) |
5501 |
- elibc_glibc? ( threads ) |
5502 |
- osmesa? ( opengl ) |
5503 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
5504 |
- |
5505 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
5506 |
-# or fail due to Xvfb's opengl limitations. |
5507 |
-RESTRICT="test" |
5508 |
- |
5509 |
-COMMON_DEPEND=" |
5510 |
- X? ( |
5511 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
5512 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
5513 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
5514 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
5515 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
5516 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
5517 |
- ) |
5518 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
5519 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
5520 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
5521 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
5522 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
5523 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
5524 |
- gstreamer? ( |
5525 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
5526 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
5527 |
- ) |
5528 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
5529 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
5530 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
5531 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
5532 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
5533 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
5534 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
5535 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
5536 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
5537 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
5538 |
- opengl? ( |
5539 |
- virtual/glu[${MULTILIB_USEDEP}] |
5540 |
- virtual/opengl[${MULTILIB_USEDEP}] |
5541 |
- ) |
5542 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
5543 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
5544 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
5545 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
5546 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
5547 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
5548 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
5549 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
5550 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
5551 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
5552 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
5553 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
5554 |
- xml? ( |
5555 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
5556 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
5557 |
- )" |
5558 |
- |
5559 |
-RDEPEND="${COMMON_DEPEND} |
5560 |
- app-emulation/wine-desktop-common |
5561 |
- >app-eselect/eselect-wine-0.3 |
5562 |
- !app-emulation/wine:0 |
5563 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
5564 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
5565 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
5566 |
- perl? ( |
5567 |
- dev-lang/perl |
5568 |
- dev-perl/XML-Simple |
5569 |
- ) |
5570 |
- pulseaudio? ( |
5571 |
- realtime? ( sys-auth/rtkit ) |
5572 |
- ) |
5573 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
5574 |
- selinux? ( sec-policy/selinux-wine ) |
5575 |
- udisks? ( sys-fs/udisks:2 )" |
5576 |
- |
5577 |
-# tools/make_requests requires perl |
5578 |
-DEPEND="${COMMON_DEPEND} |
5579 |
- sys-devel/flex |
5580 |
- >=sys-kernel/linux-headers-2.6 |
5581 |
- virtual/pkgconfig |
5582 |
- virtual/yacc |
5583 |
- X? ( x11-base/xorg-proto ) |
5584 |
- prelink? ( sys-devel/prelink ) |
5585 |
- xinerama? ( x11-base/xorg-proto )" |
5586 |
- |
5587 |
-# These use a non-standard "Wine" category, which is provided by |
5588 |
-# /etc/xdg/applications-merged/wine.menu |
5589 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
5590 |
-usr/share/applications/wine-notepad.desktop |
5591 |
-usr/share/applications/wine-uninstaller.desktop |
5592 |
-usr/share/applications/wine-winecfg.desktop" |
5593 |
- |
5594 |
-PATCHES=( |
5595 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
5596 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
5597 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
5598 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
5599 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
5600 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
5601 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
5602 |
-) |
5603 |
-PATCHES_BIN=( |
5604 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
5605 |
-) |
5606 |
- |
5607 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
5608 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
5609 |
- DEPEND+=" dev-util/patchbin" |
5610 |
-fi |
5611 |
- |
5612 |
-wine_compiler_check() { |
5613 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
5614 |
- |
5615 |
- # GCC-specific bugs |
5616 |
- if tc-is-gcc; then |
5617 |
- # bug #549768 |
5618 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
5619 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
5620 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
5621 |
- # Run in subshell to prevent "Aborted" message |
5622 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
5623 |
- if ! eend $?; then |
5624 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
5625 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
5626 |
- eerror "or use gcc-config to select a different compiler version." |
5627 |
- eerror "See https://bugs.gentoo.org/549768" |
5628 |
- eerror |
5629 |
- return 1 |
5630 |
- fi |
5631 |
- fi |
5632 |
- # bug #574044 |
5633 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
5634 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
5635 |
- # Compile in subshell to prevent "Aborted" message |
5636 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
5637 |
- if ! eend $?; then |
5638 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
5639 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
5640 |
- eerror "or use gcc-config to select a different compiler version." |
5641 |
- eerror "See https://bugs.gentoo.org/574044" |
5642 |
- eerror |
5643 |
- return 1 |
5644 |
- fi |
5645 |
- fi |
5646 |
- fi |
5647 |
- |
5648 |
- # Ensure compiler support |
5649 |
- if use abi_x86_64; then |
5650 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
5651 |
- # Compile in subshell to prevent "Aborted" message |
5652 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
5653 |
- if ! eend $?; then |
5654 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
5655 |
- eerror |
5656 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
5657 |
- eerror |
5658 |
- return 1 |
5659 |
- fi |
5660 |
- fi |
5661 |
-} |
5662 |
- |
5663 |
-wine_build_environment_check() { |
5664 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
5665 |
- |
5666 |
- if use abi_x86_64; then |
5667 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
5668 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
5669 |
- die |
5670 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
5671 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
5672 |
- die |
5673 |
- fi |
5674 |
- fi |
5675 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
5676 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
5677 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
5678 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
5679 |
- fi |
5680 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
5681 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
5682 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
5683 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
5684 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
5685 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
5686 |
- fi |
5687 |
- fi |
5688 |
- |
5689 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
5690 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
5691 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
5692 |
- eerror |
5693 |
- return 1 |
5694 |
- fi |
5695 |
-} |
5696 |
- |
5697 |
-wine_env_vcs_vars() { |
5698 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
5699 |
- local pn_live_val="${pn_live_var}" |
5700 |
- eval pn_live_val='$'${pn_live_val} |
5701 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
5702 |
- eerror "Commits must now be specified using the environmental variables" |
5703 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
5704 |
- eerror |
5705 |
- return 1 |
5706 |
- fi |
5707 |
-} |
5708 |
- |
5709 |
-pkg_pretend() { |
5710 |
- wine_build_environment_check || die |
5711 |
- |
5712 |
- # Verify OSS support |
5713 |
- if use oss && ! use kernel_FreeBSD; then |
5714 |
- if ! has_version ">=media-sound/oss-4"; then |
5715 |
- eerror "You cannot build wine with USE=oss without having support from a" |
5716 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
5717 |
- eerror |
5718 |
- die |
5719 |
- fi |
5720 |
- fi |
5721 |
-} |
5722 |
- |
5723 |
-pkg_setup() { |
5724 |
- wine_build_environment_check || die |
5725 |
- wine_env_vcs_vars || die |
5726 |
- |
5727 |
- WINE_VARIANT="${PN#wine}-${PV}" |
5728 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
5729 |
- |
5730 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
5731 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
5732 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
5733 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
5734 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
5735 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
5736 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
5737 |
- MY_MANDIR="${MY_DATADIR}/man" |
5738 |
-} |
5739 |
- |
5740 |
-src_unpack() { |
5741 |
- if [[ ${PV} == "9999" ]] ; then |
5742 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
5743 |
- fi |
5744 |
- |
5745 |
- default |
5746 |
- |
5747 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
5748 |
-} |
5749 |
- |
5750 |
-src_prepare() { |
5751 |
- |
5752 |
- eapply_bin(){ |
5753 |
- local patch |
5754 |
- for patch in ${PATCHES_BIN[@]}; do |
5755 |
- patchbin --nogit < "${patch}" || die |
5756 |
- done |
5757 |
- } |
5758 |
- |
5759 |
- local md5="$(md5sum server/protocol.def)" |
5760 |
- |
5761 |
- default |
5762 |
- eapply_bin |
5763 |
- eautoreconf |
5764 |
- |
5765 |
- # Modification of the server protocol requires regenerating the server requests |
5766 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
5767 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
5768 |
- tools/make_requests || die #432348 |
5769 |
- fi |
5770 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
5771 |
- if ! use run-exes; then |
5772 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
5773 |
- fi |
5774 |
- |
5775 |
- # Edit wine.desktop to work for specific variant |
5776 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
5777 |
- |
5778 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
5779 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
5780 |
- |
5781 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
5782 |
- |
5783 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
5784 |
- # Requires wine-2.0-rearrange-manpages.patch |
5785 |
- |
5786 |
- # Duplicate manpages input files for wine64 |
5787 |
- local f |
5788 |
- for f in loader/*.man.in; do |
5789 |
- cp ${f} ${f/wine/wine64} || die |
5790 |
- done |
5791 |
- # Add wine64 manpages to Makefile |
5792 |
- if use abi_x86_64; then |
5793 |
- sed -i "/wine.man.in/i \ |
5794 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
5795 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
5796 |
-\164\2/' loader/Makefile.in || die |
5797 |
- fi |
5798 |
- |
5799 |
- rm_man_file(){ |
5800 |
- local file="${1}" |
5801 |
- loc=${2} |
5802 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
5803 |
- } |
5804 |
- |
5805 |
- while read f; do |
5806 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
5807 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
5808 |
-} |
5809 |
- |
5810 |
-src_configure() { |
5811 |
- wine_compiler_check || die |
5812 |
- |
5813 |
- export LDCONFIG=/bin/true |
5814 |
- use custom-cflags || strip-flags |
5815 |
- |
5816 |
- multilib-minimal_src_configure |
5817 |
-} |
5818 |
- |
5819 |
-multilib_src_configure() { |
5820 |
- local myconf=( |
5821 |
- --prefix="${MY_PREFIX}" |
5822 |
- --datarootdir="${MY_DATAROOTDIR}" |
5823 |
- --datadir="${MY_DATADIR}" |
5824 |
- --docdir="${MY_DOCDIR}" |
5825 |
- --includedir="${MY_INCLUDEDIR}" |
5826 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
5827 |
- --libexecdir="${MY_LIBEXECDIR}" |
5828 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
5829 |
- --mandir="${MY_MANDIR}" |
5830 |
- --sysconfdir=/etc/wine |
5831 |
- $(use_with alsa) |
5832 |
- $(use_with capi) |
5833 |
- $(use_with lcms cms) |
5834 |
- $(use_with cups) |
5835 |
- $(use_with ncurses curses) |
5836 |
- $(use_with udisks dbus) |
5837 |
- $(use_with fontconfig) |
5838 |
- $(use_with ssl gnutls) |
5839 |
- $(use_enable gecko mshtml) |
5840 |
- $(use_with gphoto2 gphoto) |
5841 |
- $(use_with gsm) |
5842 |
- $(use_with gstreamer) |
5843 |
- --without-hal |
5844 |
- $(use_with jpeg) |
5845 |
- $(use_with ldap) |
5846 |
- $(use_enable mono mscoree) |
5847 |
- $(use_with mp3 mpg123) |
5848 |
- $(use_with netapi) |
5849 |
- $(use_with nls gettext) |
5850 |
- $(use_with openal) |
5851 |
- $(use_with opencl) |
5852 |
- $(use_with opengl) |
5853 |
- $(use_with osmesa) |
5854 |
- $(use_with oss) |
5855 |
- $(use_with pcap) |
5856 |
- $(use_with png) |
5857 |
- $(use_with pulseaudio pulse) |
5858 |
- $(use_with threads pthread) |
5859 |
- $(use_with scanner sane) |
5860 |
- $(use_enable test tests) |
5861 |
- $(use_with truetype freetype) |
5862 |
- $(use_with udev) |
5863 |
- $(use_with v4l) |
5864 |
- $(use_with X x) |
5865 |
- $(use_with X xfixes) |
5866 |
- $(use_with xcomposite) |
5867 |
- $(use_with xinerama) |
5868 |
- $(use_with xml) |
5869 |
- $(use_with xml xslt) |
5870 |
- ) |
5871 |
- |
5872 |
- local PKG_CONFIG AR RANLIB |
5873 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
5874 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
5875 |
- tc-export PKG_CONFIG AR RANLIB |
5876 |
- |
5877 |
- if use amd64; then |
5878 |
- if [[ ${ABI} == amd64 ]]; then |
5879 |
- myconf+=( --enable-win64 ) |
5880 |
- else |
5881 |
- myconf+=( --disable-win64 ) |
5882 |
- fi |
5883 |
- |
5884 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
5885 |
- # CC/LD hackery. We're using separate tools instead. |
5886 |
- fi |
5887 |
- |
5888 |
- ECONF_SOURCE=${S} \ |
5889 |
- econf "${myconf[@]}" |
5890 |
- emake depend |
5891 |
-} |
5892 |
- |
5893 |
-multilib_src_test() { |
5894 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
5895 |
- if [[ ${ABI} == x86 ]]; then |
5896 |
- if [[ $(id -u) == 0 ]]; then |
5897 |
- ewarn "Skipping tests since they cannot be run under the root user." |
5898 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
5899 |
- return |
5900 |
- fi |
5901 |
- |
5902 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
5903 |
- Xemake test |
5904 |
- fi |
5905 |
-} |
5906 |
- |
5907 |
-multilib_src_install_all() { |
5908 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
5909 |
- add_locale_docs() { |
5910 |
- local locale_doc="documentation/README.$1" |
5911 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
5912 |
- } |
5913 |
- l10n_for_each_locale_do add_locale_docs |
5914 |
- |
5915 |
- einstalldocs |
5916 |
- prune_libtool_files --all |
5917 |
- |
5918 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
5919 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
5920 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
5921 |
- fi |
5922 |
- |
5923 |
- # Remove wineconsole if neither backend is installed #551124 |
5924 |
- if ! use X && ! use ncurses; then |
5925 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
5926 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
5927 |
- rm_wineconsole() { |
5928 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
5929 |
- } |
5930 |
- multilib_foreach_abi rm_wineconsole |
5931 |
- fi |
5932 |
- |
5933 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
5934 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
5935 |
- |
5936 |
- if use abi_x86_64 && ! use abi_x86_32; then |
5937 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
5938 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
5939 |
- fi |
5940 |
- |
5941 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
5942 |
- eshopts_push -s failglob #615218 |
5943 |
- # Make wrappers for binaries for handling multiple variants |
5944 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
5945 |
- local b |
5946 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
5947 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
5948 |
- done |
5949 |
- eshopts_pop |
5950 |
-} |
5951 |
- |
5952 |
-pkg_postinst() { |
5953 |
- eselect wine register ${P} |
5954 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
5955 |
- eselect wine register --vanilla ${P} || die |
5956 |
- fi |
5957 |
- |
5958 |
- eselect wine update --all --if-unset || die |
5959 |
- |
5960 |
- xdg_desktop_database_update |
5961 |
- |
5962 |
- if ! use gecko; then |
5963 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
5964 |
- ewarn "implementation of iexplore. Many older windows applications" |
5965 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
5966 |
- ewarn "you will likely need to install an external one, like via winetricks" |
5967 |
- fi |
5968 |
- if ! use mono; then |
5969 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
5970 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
5971 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
5972 |
- ewarn "to install an external one, like via winetricks" |
5973 |
- fi |
5974 |
-} |
5975 |
- |
5976 |
-pkg_prerm() { |
5977 |
- eselect wine deregister ${P} |
5978 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
5979 |
- eselect wine deregister --vanilla ${P} || die |
5980 |
- fi |
5981 |
- |
5982 |
- eselect wine update --all --if-unset || die |
5983 |
-} |
5984 |
- |
5985 |
-pkg_postrm() { |
5986 |
- xdg_desktop_database_update |
5987 |
-} |
5988 |
|
5989 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.15-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.15-r1.ebuild |
5990 |
deleted file mode 100644 |
5991 |
index 2b86b37..0000000 |
5992 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.15-r1.ebuild |
5993 |
+++ /dev/null |
5994 |
@@ -1,527 +0,0 @@ |
5995 |
-# Copyright 1999-2018 Gentoo Foundation |
5996 |
-# Distributed under the terms of the GNU General Public License v2 |
5997 |
- |
5998 |
-EAPI=6 |
5999 |
- |
6000 |
-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" |
6001 |
-PLOCALE_BACKUP="en" |
6002 |
- |
6003 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
6004 |
- |
6005 |
-MY_PN="${PN%%-*}" |
6006 |
-MY_P="${MY_PN}-${PV}" |
6007 |
- |
6008 |
-if [[ ${PV} == "9999" ]] ; then |
6009 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
6010 |
- EGIT_BRANCH="master" |
6011 |
- inherit git-r3 |
6012 |
- SRC_URI="" |
6013 |
- #KEYWORDS="" |
6014 |
-else |
6015 |
- MAJOR_V=$(ver_cut 1) |
6016 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
6017 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
6018 |
-fi |
6019 |
-S="${WORKDIR}/${MY_P}" |
6020 |
- |
6021 |
-GWP_V="20180120" |
6022 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
6023 |
- |
6024 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
6025 |
-HOMEPAGE="https://www.winehq.org/" |
6026 |
-SRC_URI="${SRC_URI} |
6027 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
6028 |
-" |
6029 |
- |
6030 |
-LICENSE="LGPL-2.1" |
6031 |
-SLOT="${PV}" |
6032 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
6033 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
6034 |
- X? ( truetype ) |
6035 |
- elibc_glibc? ( threads ) |
6036 |
- osmesa? ( opengl ) |
6037 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
6038 |
- |
6039 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
6040 |
-# or fail due to Xvfb's opengl limitations. |
6041 |
-RESTRICT="test" |
6042 |
- |
6043 |
-COMMON_DEPEND=" |
6044 |
- X? ( |
6045 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
6046 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
6047 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
6048 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
6049 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
6050 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
6051 |
- ) |
6052 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
6053 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
6054 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
6055 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
6056 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
6057 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
6058 |
- gstreamer? ( |
6059 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
6060 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
6061 |
- ) |
6062 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
6063 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
6064 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
6065 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
6066 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
6067 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
6068 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
6069 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
6070 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
6071 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
6072 |
- opengl? ( |
6073 |
- virtual/glu[${MULTILIB_USEDEP}] |
6074 |
- virtual/opengl[${MULTILIB_USEDEP}] |
6075 |
- ) |
6076 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
6077 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
6078 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
6079 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
6080 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
6081 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
6082 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
6083 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
6084 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
6085 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
6086 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
6087 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
6088 |
- xml? ( |
6089 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
6090 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
6091 |
- )" |
6092 |
- |
6093 |
-RDEPEND="${COMMON_DEPEND} |
6094 |
- app-emulation/wine-desktop-common |
6095 |
- >app-eselect/eselect-wine-0.3 |
6096 |
- !app-emulation/wine:0 |
6097 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
6098 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
6099 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
6100 |
- perl? ( |
6101 |
- dev-lang/perl |
6102 |
- dev-perl/XML-Simple |
6103 |
- ) |
6104 |
- pulseaudio? ( |
6105 |
- realtime? ( sys-auth/rtkit ) |
6106 |
- ) |
6107 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
6108 |
- selinux? ( sec-policy/selinux-wine ) |
6109 |
- udisks? ( sys-fs/udisks:2 )" |
6110 |
- |
6111 |
-# tools/make_requests requires perl |
6112 |
-DEPEND="${COMMON_DEPEND} |
6113 |
- sys-devel/flex |
6114 |
- >=sys-kernel/linux-headers-2.6 |
6115 |
- virtual/pkgconfig |
6116 |
- virtual/yacc |
6117 |
- X? ( x11-base/xorg-proto ) |
6118 |
- prelink? ( sys-devel/prelink ) |
6119 |
- xinerama? ( x11-base/xorg-proto )" |
6120 |
- |
6121 |
-# These use a non-standard "Wine" category, which is provided by |
6122 |
-# /etc/xdg/applications-merged/wine.menu |
6123 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
6124 |
-usr/share/applications/wine-notepad.desktop |
6125 |
-usr/share/applications/wine-uninstaller.desktop |
6126 |
-usr/share/applications/wine-winecfg.desktop" |
6127 |
- |
6128 |
-PATCHES=( |
6129 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
6130 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
6131 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
6132 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
6133 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
6134 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
6135 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
6136 |
-) |
6137 |
-PATCHES_BIN=( |
6138 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
6139 |
-) |
6140 |
- |
6141 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
6142 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
6143 |
- DEPEND+=" dev-util/patchbin" |
6144 |
-fi |
6145 |
- |
6146 |
-wine_compiler_check() { |
6147 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
6148 |
- |
6149 |
- # GCC-specific bugs |
6150 |
- if tc-is-gcc; then |
6151 |
- # bug #549768 |
6152 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
6153 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
6154 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
6155 |
- # Run in subshell to prevent "Aborted" message |
6156 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
6157 |
- if ! eend $?; then |
6158 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
6159 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
6160 |
- eerror "or use gcc-config to select a different compiler version." |
6161 |
- eerror "See https://bugs.gentoo.org/549768" |
6162 |
- eerror |
6163 |
- return 1 |
6164 |
- fi |
6165 |
- fi |
6166 |
- # bug #574044 |
6167 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
6168 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
6169 |
- # Compile in subshell to prevent "Aborted" message |
6170 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
6171 |
- if ! eend $?; then |
6172 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
6173 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
6174 |
- eerror "or use gcc-config to select a different compiler version." |
6175 |
- eerror "See https://bugs.gentoo.org/574044" |
6176 |
- eerror |
6177 |
- return 1 |
6178 |
- fi |
6179 |
- fi |
6180 |
- fi |
6181 |
- |
6182 |
- # Ensure compiler support |
6183 |
- if use abi_x86_64; then |
6184 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
6185 |
- # Compile in subshell to prevent "Aborted" message |
6186 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
6187 |
- if ! eend $?; then |
6188 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
6189 |
- eerror |
6190 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
6191 |
- eerror |
6192 |
- return 1 |
6193 |
- fi |
6194 |
- fi |
6195 |
-} |
6196 |
- |
6197 |
-wine_build_environment_check() { |
6198 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
6199 |
- |
6200 |
- if use abi_x86_64; then |
6201 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
6202 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
6203 |
- die |
6204 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
6205 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
6206 |
- die |
6207 |
- fi |
6208 |
- fi |
6209 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
6210 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
6211 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
6212 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
6213 |
- fi |
6214 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
6215 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
6216 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
6217 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
6218 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
6219 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
6220 |
- fi |
6221 |
- fi |
6222 |
- |
6223 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
6224 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
6225 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
6226 |
- eerror |
6227 |
- return 1 |
6228 |
- fi |
6229 |
-} |
6230 |
- |
6231 |
-wine_env_vcs_vars() { |
6232 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
6233 |
- local pn_live_val="${pn_live_var}" |
6234 |
- eval pn_live_val='$'${pn_live_val} |
6235 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
6236 |
- eerror "Commits must now be specified using the environmental variables" |
6237 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
6238 |
- eerror |
6239 |
- return 1 |
6240 |
- fi |
6241 |
-} |
6242 |
- |
6243 |
-pkg_pretend() { |
6244 |
- wine_build_environment_check || die |
6245 |
- |
6246 |
- # Verify OSS support |
6247 |
- if use oss && ! use kernel_FreeBSD; then |
6248 |
- if ! has_version ">=media-sound/oss-4"; then |
6249 |
- eerror "You cannot build wine with USE=oss without having support from a" |
6250 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
6251 |
- eerror |
6252 |
- die |
6253 |
- fi |
6254 |
- fi |
6255 |
-} |
6256 |
- |
6257 |
-pkg_setup() { |
6258 |
- wine_build_environment_check || die |
6259 |
- wine_env_vcs_vars || die |
6260 |
- |
6261 |
- WINE_VARIANT="${PN#wine}-${PV}" |
6262 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
6263 |
- |
6264 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
6265 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
6266 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
6267 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
6268 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
6269 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
6270 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
6271 |
- MY_MANDIR="${MY_DATADIR}/man" |
6272 |
-} |
6273 |
- |
6274 |
-src_unpack() { |
6275 |
- if [[ ${PV} == "9999" ]] ; then |
6276 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
6277 |
- fi |
6278 |
- |
6279 |
- default |
6280 |
- |
6281 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
6282 |
-} |
6283 |
- |
6284 |
-src_prepare() { |
6285 |
- |
6286 |
- eapply_bin(){ |
6287 |
- local patch |
6288 |
- for patch in ${PATCHES_BIN[@]}; do |
6289 |
- patchbin --nogit < "${patch}" || die |
6290 |
- done |
6291 |
- } |
6292 |
- |
6293 |
- local md5="$(md5sum server/protocol.def)" |
6294 |
- |
6295 |
- default |
6296 |
- eapply_bin |
6297 |
- eautoreconf |
6298 |
- |
6299 |
- # Modification of the server protocol requires regenerating the server requests |
6300 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
6301 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
6302 |
- tools/make_requests || die #432348 |
6303 |
- fi |
6304 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
6305 |
- if ! use run-exes; then |
6306 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
6307 |
- fi |
6308 |
- |
6309 |
- # Edit wine.desktop to work for specific variant |
6310 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
6311 |
- |
6312 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
6313 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
6314 |
- |
6315 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
6316 |
- |
6317 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
6318 |
- # Requires wine-2.0-rearrange-manpages.patch |
6319 |
- |
6320 |
- # Duplicate manpages input files for wine64 |
6321 |
- local f |
6322 |
- for f in loader/*.man.in; do |
6323 |
- cp ${f} ${f/wine/wine64} || die |
6324 |
- done |
6325 |
- # Add wine64 manpages to Makefile |
6326 |
- if use abi_x86_64; then |
6327 |
- sed -i "/wine.man.in/i \ |
6328 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
6329 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
6330 |
-\164\2/' loader/Makefile.in || die |
6331 |
- fi |
6332 |
- |
6333 |
- rm_man_file(){ |
6334 |
- local file="${1}" |
6335 |
- loc=${2} |
6336 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
6337 |
- } |
6338 |
- |
6339 |
- while read f; do |
6340 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
6341 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
6342 |
-} |
6343 |
- |
6344 |
-src_configure() { |
6345 |
- wine_compiler_check || die |
6346 |
- |
6347 |
- export LDCONFIG=/bin/true |
6348 |
- use custom-cflags || strip-flags |
6349 |
- |
6350 |
- multilib-minimal_src_configure |
6351 |
-} |
6352 |
- |
6353 |
-multilib_src_configure() { |
6354 |
- local myconf=( |
6355 |
- --prefix="${MY_PREFIX}" |
6356 |
- --datarootdir="${MY_DATAROOTDIR}" |
6357 |
- --datadir="${MY_DATADIR}" |
6358 |
- --docdir="${MY_DOCDIR}" |
6359 |
- --includedir="${MY_INCLUDEDIR}" |
6360 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
6361 |
- --libexecdir="${MY_LIBEXECDIR}" |
6362 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
6363 |
- --mandir="${MY_MANDIR}" |
6364 |
- --sysconfdir=/etc/wine |
6365 |
- $(use_with alsa) |
6366 |
- $(use_with capi) |
6367 |
- $(use_with lcms cms) |
6368 |
- $(use_with cups) |
6369 |
- $(use_with ncurses curses) |
6370 |
- $(use_with udisks dbus) |
6371 |
- $(use_with fontconfig) |
6372 |
- $(use_with ssl gnutls) |
6373 |
- $(use_enable gecko mshtml) |
6374 |
- $(use_with gphoto2 gphoto) |
6375 |
- $(use_with gsm) |
6376 |
- $(use_with gstreamer) |
6377 |
- --without-hal |
6378 |
- $(use_with jpeg) |
6379 |
- $(use_with ldap) |
6380 |
- $(use_enable mono mscoree) |
6381 |
- $(use_with mp3 mpg123) |
6382 |
- $(use_with netapi) |
6383 |
- $(use_with nls gettext) |
6384 |
- $(use_with openal) |
6385 |
- $(use_with opencl) |
6386 |
- $(use_with opengl) |
6387 |
- $(use_with osmesa) |
6388 |
- $(use_with oss) |
6389 |
- $(use_with pcap) |
6390 |
- $(use_with png) |
6391 |
- $(use_with pulseaudio pulse) |
6392 |
- $(use_with threads pthread) |
6393 |
- $(use_with scanner sane) |
6394 |
- $(use_enable test tests) |
6395 |
- $(use_with truetype freetype) |
6396 |
- $(use_with udev) |
6397 |
- $(use_with v4l) |
6398 |
- $(use_with X x) |
6399 |
- $(use_with X xfixes) |
6400 |
- $(use_with xcomposite) |
6401 |
- $(use_with xinerama) |
6402 |
- $(use_with xml) |
6403 |
- $(use_with xml xslt) |
6404 |
- ) |
6405 |
- |
6406 |
- local PKG_CONFIG AR RANLIB |
6407 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
6408 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
6409 |
- tc-export PKG_CONFIG AR RANLIB |
6410 |
- |
6411 |
- if use amd64; then |
6412 |
- if [[ ${ABI} == amd64 ]]; then |
6413 |
- myconf+=( --enable-win64 ) |
6414 |
- else |
6415 |
- myconf+=( --disable-win64 ) |
6416 |
- fi |
6417 |
- |
6418 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
6419 |
- # CC/LD hackery. We're using separate tools instead. |
6420 |
- fi |
6421 |
- |
6422 |
- ECONF_SOURCE=${S} \ |
6423 |
- econf "${myconf[@]}" |
6424 |
- emake depend |
6425 |
-} |
6426 |
- |
6427 |
-multilib_src_test() { |
6428 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
6429 |
- if [[ ${ABI} == x86 ]]; then |
6430 |
- if [[ $(id -u) == 0 ]]; then |
6431 |
- ewarn "Skipping tests since they cannot be run under the root user." |
6432 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
6433 |
- return |
6434 |
- fi |
6435 |
- |
6436 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
6437 |
- Xemake test |
6438 |
- fi |
6439 |
-} |
6440 |
- |
6441 |
-multilib_src_install_all() { |
6442 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
6443 |
- add_locale_docs() { |
6444 |
- local locale_doc="documentation/README.$1" |
6445 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
6446 |
- } |
6447 |
- l10n_for_each_locale_do add_locale_docs |
6448 |
- |
6449 |
- einstalldocs |
6450 |
- prune_libtool_files --all |
6451 |
- |
6452 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
6453 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
6454 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
6455 |
- fi |
6456 |
- |
6457 |
- # Remove wineconsole if neither backend is installed #551124 |
6458 |
- if ! use X && ! use ncurses; then |
6459 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
6460 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
6461 |
- rm_wineconsole() { |
6462 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
6463 |
- } |
6464 |
- multilib_foreach_abi rm_wineconsole |
6465 |
- fi |
6466 |
- |
6467 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
6468 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
6469 |
- |
6470 |
- if use abi_x86_64 && ! use abi_x86_32; then |
6471 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
6472 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
6473 |
- fi |
6474 |
- |
6475 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
6476 |
- eshopts_push -s failglob #615218 |
6477 |
- # Make wrappers for binaries for handling multiple variants |
6478 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
6479 |
- local b |
6480 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
6481 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
6482 |
- done |
6483 |
- eshopts_pop |
6484 |
-} |
6485 |
- |
6486 |
-pkg_postinst() { |
6487 |
- eselect wine register ${P} |
6488 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
6489 |
- eselect wine register --vanilla ${P} || die |
6490 |
- fi |
6491 |
- |
6492 |
- eselect wine update --all --if-unset || die |
6493 |
- |
6494 |
- xdg_desktop_database_update |
6495 |
- |
6496 |
- if ! use gecko; then |
6497 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
6498 |
- ewarn "implementation of iexplore. Many older windows applications" |
6499 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
6500 |
- ewarn "you will likely need to install an external one, like via winetricks" |
6501 |
- fi |
6502 |
- if ! use mono; then |
6503 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
6504 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
6505 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
6506 |
- ewarn "to install an external one, like via winetricks" |
6507 |
- fi |
6508 |
-} |
6509 |
- |
6510 |
-pkg_prerm() { |
6511 |
- eselect wine deregister ${P} |
6512 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
6513 |
- eselect wine deregister --vanilla ${P} || die |
6514 |
- fi |
6515 |
- |
6516 |
- eselect wine update --all --if-unset || die |
6517 |
-} |
6518 |
- |
6519 |
-pkg_postrm() { |
6520 |
- xdg_desktop_database_update |
6521 |
-} |
6522 |
|
6523 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.16-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.16-r1.ebuild |
6524 |
deleted file mode 100644 |
6525 |
index 2b86b37..0000000 |
6526 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.16-r1.ebuild |
6527 |
+++ /dev/null |
6528 |
@@ -1,527 +0,0 @@ |
6529 |
-# Copyright 1999-2018 Gentoo Foundation |
6530 |
-# Distributed under the terms of the GNU General Public License v2 |
6531 |
- |
6532 |
-EAPI=6 |
6533 |
- |
6534 |
-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" |
6535 |
-PLOCALE_BACKUP="en" |
6536 |
- |
6537 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
6538 |
- |
6539 |
-MY_PN="${PN%%-*}" |
6540 |
-MY_P="${MY_PN}-${PV}" |
6541 |
- |
6542 |
-if [[ ${PV} == "9999" ]] ; then |
6543 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
6544 |
- EGIT_BRANCH="master" |
6545 |
- inherit git-r3 |
6546 |
- SRC_URI="" |
6547 |
- #KEYWORDS="" |
6548 |
-else |
6549 |
- MAJOR_V=$(ver_cut 1) |
6550 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
6551 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
6552 |
-fi |
6553 |
-S="${WORKDIR}/${MY_P}" |
6554 |
- |
6555 |
-GWP_V="20180120" |
6556 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
6557 |
- |
6558 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
6559 |
-HOMEPAGE="https://www.winehq.org/" |
6560 |
-SRC_URI="${SRC_URI} |
6561 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
6562 |
-" |
6563 |
- |
6564 |
-LICENSE="LGPL-2.1" |
6565 |
-SLOT="${PV}" |
6566 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
6567 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
6568 |
- X? ( truetype ) |
6569 |
- elibc_glibc? ( threads ) |
6570 |
- osmesa? ( opengl ) |
6571 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
6572 |
- |
6573 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
6574 |
-# or fail due to Xvfb's opengl limitations. |
6575 |
-RESTRICT="test" |
6576 |
- |
6577 |
-COMMON_DEPEND=" |
6578 |
- X? ( |
6579 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
6580 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
6581 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
6582 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
6583 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
6584 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
6585 |
- ) |
6586 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
6587 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
6588 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
6589 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
6590 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
6591 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
6592 |
- gstreamer? ( |
6593 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
6594 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
6595 |
- ) |
6596 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
6597 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
6598 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
6599 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
6600 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
6601 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
6602 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
6603 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
6604 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
6605 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
6606 |
- opengl? ( |
6607 |
- virtual/glu[${MULTILIB_USEDEP}] |
6608 |
- virtual/opengl[${MULTILIB_USEDEP}] |
6609 |
- ) |
6610 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
6611 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
6612 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
6613 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
6614 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
6615 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
6616 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
6617 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
6618 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
6619 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
6620 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
6621 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
6622 |
- xml? ( |
6623 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
6624 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
6625 |
- )" |
6626 |
- |
6627 |
-RDEPEND="${COMMON_DEPEND} |
6628 |
- app-emulation/wine-desktop-common |
6629 |
- >app-eselect/eselect-wine-0.3 |
6630 |
- !app-emulation/wine:0 |
6631 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
6632 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
6633 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
6634 |
- perl? ( |
6635 |
- dev-lang/perl |
6636 |
- dev-perl/XML-Simple |
6637 |
- ) |
6638 |
- pulseaudio? ( |
6639 |
- realtime? ( sys-auth/rtkit ) |
6640 |
- ) |
6641 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
6642 |
- selinux? ( sec-policy/selinux-wine ) |
6643 |
- udisks? ( sys-fs/udisks:2 )" |
6644 |
- |
6645 |
-# tools/make_requests requires perl |
6646 |
-DEPEND="${COMMON_DEPEND} |
6647 |
- sys-devel/flex |
6648 |
- >=sys-kernel/linux-headers-2.6 |
6649 |
- virtual/pkgconfig |
6650 |
- virtual/yacc |
6651 |
- X? ( x11-base/xorg-proto ) |
6652 |
- prelink? ( sys-devel/prelink ) |
6653 |
- xinerama? ( x11-base/xorg-proto )" |
6654 |
- |
6655 |
-# These use a non-standard "Wine" category, which is provided by |
6656 |
-# /etc/xdg/applications-merged/wine.menu |
6657 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
6658 |
-usr/share/applications/wine-notepad.desktop |
6659 |
-usr/share/applications/wine-uninstaller.desktop |
6660 |
-usr/share/applications/wine-winecfg.desktop" |
6661 |
- |
6662 |
-PATCHES=( |
6663 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
6664 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
6665 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
6666 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
6667 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
6668 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
6669 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
6670 |
-) |
6671 |
-PATCHES_BIN=( |
6672 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
6673 |
-) |
6674 |
- |
6675 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
6676 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
6677 |
- DEPEND+=" dev-util/patchbin" |
6678 |
-fi |
6679 |
- |
6680 |
-wine_compiler_check() { |
6681 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
6682 |
- |
6683 |
- # GCC-specific bugs |
6684 |
- if tc-is-gcc; then |
6685 |
- # bug #549768 |
6686 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
6687 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
6688 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
6689 |
- # Run in subshell to prevent "Aborted" message |
6690 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
6691 |
- if ! eend $?; then |
6692 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
6693 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
6694 |
- eerror "or use gcc-config to select a different compiler version." |
6695 |
- eerror "See https://bugs.gentoo.org/549768" |
6696 |
- eerror |
6697 |
- return 1 |
6698 |
- fi |
6699 |
- fi |
6700 |
- # bug #574044 |
6701 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
6702 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
6703 |
- # Compile in subshell to prevent "Aborted" message |
6704 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
6705 |
- if ! eend $?; then |
6706 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
6707 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
6708 |
- eerror "or use gcc-config to select a different compiler version." |
6709 |
- eerror "See https://bugs.gentoo.org/574044" |
6710 |
- eerror |
6711 |
- return 1 |
6712 |
- fi |
6713 |
- fi |
6714 |
- fi |
6715 |
- |
6716 |
- # Ensure compiler support |
6717 |
- if use abi_x86_64; then |
6718 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
6719 |
- # Compile in subshell to prevent "Aborted" message |
6720 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
6721 |
- if ! eend $?; then |
6722 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
6723 |
- eerror |
6724 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
6725 |
- eerror |
6726 |
- return 1 |
6727 |
- fi |
6728 |
- fi |
6729 |
-} |
6730 |
- |
6731 |
-wine_build_environment_check() { |
6732 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
6733 |
- |
6734 |
- if use abi_x86_64; then |
6735 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
6736 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
6737 |
- die |
6738 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
6739 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
6740 |
- die |
6741 |
- fi |
6742 |
- fi |
6743 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
6744 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
6745 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
6746 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
6747 |
- fi |
6748 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
6749 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
6750 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
6751 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
6752 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
6753 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
6754 |
- fi |
6755 |
- fi |
6756 |
- |
6757 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
6758 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
6759 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
6760 |
- eerror |
6761 |
- return 1 |
6762 |
- fi |
6763 |
-} |
6764 |
- |
6765 |
-wine_env_vcs_vars() { |
6766 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
6767 |
- local pn_live_val="${pn_live_var}" |
6768 |
- eval pn_live_val='$'${pn_live_val} |
6769 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
6770 |
- eerror "Commits must now be specified using the environmental variables" |
6771 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
6772 |
- eerror |
6773 |
- return 1 |
6774 |
- fi |
6775 |
-} |
6776 |
- |
6777 |
-pkg_pretend() { |
6778 |
- wine_build_environment_check || die |
6779 |
- |
6780 |
- # Verify OSS support |
6781 |
- if use oss && ! use kernel_FreeBSD; then |
6782 |
- if ! has_version ">=media-sound/oss-4"; then |
6783 |
- eerror "You cannot build wine with USE=oss without having support from a" |
6784 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
6785 |
- eerror |
6786 |
- die |
6787 |
- fi |
6788 |
- fi |
6789 |
-} |
6790 |
- |
6791 |
-pkg_setup() { |
6792 |
- wine_build_environment_check || die |
6793 |
- wine_env_vcs_vars || die |
6794 |
- |
6795 |
- WINE_VARIANT="${PN#wine}-${PV}" |
6796 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
6797 |
- |
6798 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
6799 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
6800 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
6801 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
6802 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
6803 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
6804 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
6805 |
- MY_MANDIR="${MY_DATADIR}/man" |
6806 |
-} |
6807 |
- |
6808 |
-src_unpack() { |
6809 |
- if [[ ${PV} == "9999" ]] ; then |
6810 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
6811 |
- fi |
6812 |
- |
6813 |
- default |
6814 |
- |
6815 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
6816 |
-} |
6817 |
- |
6818 |
-src_prepare() { |
6819 |
- |
6820 |
- eapply_bin(){ |
6821 |
- local patch |
6822 |
- for patch in ${PATCHES_BIN[@]}; do |
6823 |
- patchbin --nogit < "${patch}" || die |
6824 |
- done |
6825 |
- } |
6826 |
- |
6827 |
- local md5="$(md5sum server/protocol.def)" |
6828 |
- |
6829 |
- default |
6830 |
- eapply_bin |
6831 |
- eautoreconf |
6832 |
- |
6833 |
- # Modification of the server protocol requires regenerating the server requests |
6834 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
6835 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
6836 |
- tools/make_requests || die #432348 |
6837 |
- fi |
6838 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
6839 |
- if ! use run-exes; then |
6840 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
6841 |
- fi |
6842 |
- |
6843 |
- # Edit wine.desktop to work for specific variant |
6844 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
6845 |
- |
6846 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
6847 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
6848 |
- |
6849 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
6850 |
- |
6851 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
6852 |
- # Requires wine-2.0-rearrange-manpages.patch |
6853 |
- |
6854 |
- # Duplicate manpages input files for wine64 |
6855 |
- local f |
6856 |
- for f in loader/*.man.in; do |
6857 |
- cp ${f} ${f/wine/wine64} || die |
6858 |
- done |
6859 |
- # Add wine64 manpages to Makefile |
6860 |
- if use abi_x86_64; then |
6861 |
- sed -i "/wine.man.in/i \ |
6862 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
6863 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
6864 |
-\164\2/' loader/Makefile.in || die |
6865 |
- fi |
6866 |
- |
6867 |
- rm_man_file(){ |
6868 |
- local file="${1}" |
6869 |
- loc=${2} |
6870 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
6871 |
- } |
6872 |
- |
6873 |
- while read f; do |
6874 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
6875 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
6876 |
-} |
6877 |
- |
6878 |
-src_configure() { |
6879 |
- wine_compiler_check || die |
6880 |
- |
6881 |
- export LDCONFIG=/bin/true |
6882 |
- use custom-cflags || strip-flags |
6883 |
- |
6884 |
- multilib-minimal_src_configure |
6885 |
-} |
6886 |
- |
6887 |
-multilib_src_configure() { |
6888 |
- local myconf=( |
6889 |
- --prefix="${MY_PREFIX}" |
6890 |
- --datarootdir="${MY_DATAROOTDIR}" |
6891 |
- --datadir="${MY_DATADIR}" |
6892 |
- --docdir="${MY_DOCDIR}" |
6893 |
- --includedir="${MY_INCLUDEDIR}" |
6894 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
6895 |
- --libexecdir="${MY_LIBEXECDIR}" |
6896 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
6897 |
- --mandir="${MY_MANDIR}" |
6898 |
- --sysconfdir=/etc/wine |
6899 |
- $(use_with alsa) |
6900 |
- $(use_with capi) |
6901 |
- $(use_with lcms cms) |
6902 |
- $(use_with cups) |
6903 |
- $(use_with ncurses curses) |
6904 |
- $(use_with udisks dbus) |
6905 |
- $(use_with fontconfig) |
6906 |
- $(use_with ssl gnutls) |
6907 |
- $(use_enable gecko mshtml) |
6908 |
- $(use_with gphoto2 gphoto) |
6909 |
- $(use_with gsm) |
6910 |
- $(use_with gstreamer) |
6911 |
- --without-hal |
6912 |
- $(use_with jpeg) |
6913 |
- $(use_with ldap) |
6914 |
- $(use_enable mono mscoree) |
6915 |
- $(use_with mp3 mpg123) |
6916 |
- $(use_with netapi) |
6917 |
- $(use_with nls gettext) |
6918 |
- $(use_with openal) |
6919 |
- $(use_with opencl) |
6920 |
- $(use_with opengl) |
6921 |
- $(use_with osmesa) |
6922 |
- $(use_with oss) |
6923 |
- $(use_with pcap) |
6924 |
- $(use_with png) |
6925 |
- $(use_with pulseaudio pulse) |
6926 |
- $(use_with threads pthread) |
6927 |
- $(use_with scanner sane) |
6928 |
- $(use_enable test tests) |
6929 |
- $(use_with truetype freetype) |
6930 |
- $(use_with udev) |
6931 |
- $(use_with v4l) |
6932 |
- $(use_with X x) |
6933 |
- $(use_with X xfixes) |
6934 |
- $(use_with xcomposite) |
6935 |
- $(use_with xinerama) |
6936 |
- $(use_with xml) |
6937 |
- $(use_with xml xslt) |
6938 |
- ) |
6939 |
- |
6940 |
- local PKG_CONFIG AR RANLIB |
6941 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
6942 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
6943 |
- tc-export PKG_CONFIG AR RANLIB |
6944 |
- |
6945 |
- if use amd64; then |
6946 |
- if [[ ${ABI} == amd64 ]]; then |
6947 |
- myconf+=( --enable-win64 ) |
6948 |
- else |
6949 |
- myconf+=( --disable-win64 ) |
6950 |
- fi |
6951 |
- |
6952 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
6953 |
- # CC/LD hackery. We're using separate tools instead. |
6954 |
- fi |
6955 |
- |
6956 |
- ECONF_SOURCE=${S} \ |
6957 |
- econf "${myconf[@]}" |
6958 |
- emake depend |
6959 |
-} |
6960 |
- |
6961 |
-multilib_src_test() { |
6962 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
6963 |
- if [[ ${ABI} == x86 ]]; then |
6964 |
- if [[ $(id -u) == 0 ]]; then |
6965 |
- ewarn "Skipping tests since they cannot be run under the root user." |
6966 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
6967 |
- return |
6968 |
- fi |
6969 |
- |
6970 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
6971 |
- Xemake test |
6972 |
- fi |
6973 |
-} |
6974 |
- |
6975 |
-multilib_src_install_all() { |
6976 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
6977 |
- add_locale_docs() { |
6978 |
- local locale_doc="documentation/README.$1" |
6979 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
6980 |
- } |
6981 |
- l10n_for_each_locale_do add_locale_docs |
6982 |
- |
6983 |
- einstalldocs |
6984 |
- prune_libtool_files --all |
6985 |
- |
6986 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
6987 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
6988 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
6989 |
- fi |
6990 |
- |
6991 |
- # Remove wineconsole if neither backend is installed #551124 |
6992 |
- if ! use X && ! use ncurses; then |
6993 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
6994 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
6995 |
- rm_wineconsole() { |
6996 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
6997 |
- } |
6998 |
- multilib_foreach_abi rm_wineconsole |
6999 |
- fi |
7000 |
- |
7001 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
7002 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
7003 |
- |
7004 |
- if use abi_x86_64 && ! use abi_x86_32; then |
7005 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
7006 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
7007 |
- fi |
7008 |
- |
7009 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
7010 |
- eshopts_push -s failglob #615218 |
7011 |
- # Make wrappers for binaries for handling multiple variants |
7012 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
7013 |
- local b |
7014 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
7015 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
7016 |
- done |
7017 |
- eshopts_pop |
7018 |
-} |
7019 |
- |
7020 |
-pkg_postinst() { |
7021 |
- eselect wine register ${P} |
7022 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
7023 |
- eselect wine register --vanilla ${P} || die |
7024 |
- fi |
7025 |
- |
7026 |
- eselect wine update --all --if-unset || die |
7027 |
- |
7028 |
- xdg_desktop_database_update |
7029 |
- |
7030 |
- if ! use gecko; then |
7031 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
7032 |
- ewarn "implementation of iexplore. Many older windows applications" |
7033 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
7034 |
- ewarn "you will likely need to install an external one, like via winetricks" |
7035 |
- fi |
7036 |
- if ! use mono; then |
7037 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
7038 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
7039 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
7040 |
- ewarn "to install an external one, like via winetricks" |
7041 |
- fi |
7042 |
-} |
7043 |
- |
7044 |
-pkg_prerm() { |
7045 |
- eselect wine deregister ${P} |
7046 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
7047 |
- eselect wine deregister --vanilla ${P} || die |
7048 |
- fi |
7049 |
- |
7050 |
- eselect wine update --all --if-unset || die |
7051 |
-} |
7052 |
- |
7053 |
-pkg_postrm() { |
7054 |
- xdg_desktop_database_update |
7055 |
-} |
7056 |
|
7057 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.17-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.17-r1.ebuild |
7058 |
deleted file mode 100644 |
7059 |
index 2b86b37..0000000 |
7060 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.17-r1.ebuild |
7061 |
+++ /dev/null |
7062 |
@@ -1,527 +0,0 @@ |
7063 |
-# Copyright 1999-2018 Gentoo Foundation |
7064 |
-# Distributed under the terms of the GNU General Public License v2 |
7065 |
- |
7066 |
-EAPI=6 |
7067 |
- |
7068 |
-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" |
7069 |
-PLOCALE_BACKUP="en" |
7070 |
- |
7071 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
7072 |
- |
7073 |
-MY_PN="${PN%%-*}" |
7074 |
-MY_P="${MY_PN}-${PV}" |
7075 |
- |
7076 |
-if [[ ${PV} == "9999" ]] ; then |
7077 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
7078 |
- EGIT_BRANCH="master" |
7079 |
- inherit git-r3 |
7080 |
- SRC_URI="" |
7081 |
- #KEYWORDS="" |
7082 |
-else |
7083 |
- MAJOR_V=$(ver_cut 1) |
7084 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
7085 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
7086 |
-fi |
7087 |
-S="${WORKDIR}/${MY_P}" |
7088 |
- |
7089 |
-GWP_V="20180120" |
7090 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
7091 |
- |
7092 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
7093 |
-HOMEPAGE="https://www.winehq.org/" |
7094 |
-SRC_URI="${SRC_URI} |
7095 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
7096 |
-" |
7097 |
- |
7098 |
-LICENSE="LGPL-2.1" |
7099 |
-SLOT="${PV}" |
7100 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
7101 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
7102 |
- X? ( truetype ) |
7103 |
- elibc_glibc? ( threads ) |
7104 |
- osmesa? ( opengl ) |
7105 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
7106 |
- |
7107 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
7108 |
-# or fail due to Xvfb's opengl limitations. |
7109 |
-RESTRICT="test" |
7110 |
- |
7111 |
-COMMON_DEPEND=" |
7112 |
- X? ( |
7113 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
7114 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
7115 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
7116 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
7117 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
7118 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
7119 |
- ) |
7120 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
7121 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
7122 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
7123 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
7124 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
7125 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
7126 |
- gstreamer? ( |
7127 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
7128 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
7129 |
- ) |
7130 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
7131 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
7132 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
7133 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
7134 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
7135 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
7136 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
7137 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
7138 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
7139 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
7140 |
- opengl? ( |
7141 |
- virtual/glu[${MULTILIB_USEDEP}] |
7142 |
- virtual/opengl[${MULTILIB_USEDEP}] |
7143 |
- ) |
7144 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
7145 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
7146 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
7147 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
7148 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
7149 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
7150 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
7151 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
7152 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
7153 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
7154 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
7155 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
7156 |
- xml? ( |
7157 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
7158 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
7159 |
- )" |
7160 |
- |
7161 |
-RDEPEND="${COMMON_DEPEND} |
7162 |
- app-emulation/wine-desktop-common |
7163 |
- >app-eselect/eselect-wine-0.3 |
7164 |
- !app-emulation/wine:0 |
7165 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
7166 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
7167 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
7168 |
- perl? ( |
7169 |
- dev-lang/perl |
7170 |
- dev-perl/XML-Simple |
7171 |
- ) |
7172 |
- pulseaudio? ( |
7173 |
- realtime? ( sys-auth/rtkit ) |
7174 |
- ) |
7175 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
7176 |
- selinux? ( sec-policy/selinux-wine ) |
7177 |
- udisks? ( sys-fs/udisks:2 )" |
7178 |
- |
7179 |
-# tools/make_requests requires perl |
7180 |
-DEPEND="${COMMON_DEPEND} |
7181 |
- sys-devel/flex |
7182 |
- >=sys-kernel/linux-headers-2.6 |
7183 |
- virtual/pkgconfig |
7184 |
- virtual/yacc |
7185 |
- X? ( x11-base/xorg-proto ) |
7186 |
- prelink? ( sys-devel/prelink ) |
7187 |
- xinerama? ( x11-base/xorg-proto )" |
7188 |
- |
7189 |
-# These use a non-standard "Wine" category, which is provided by |
7190 |
-# /etc/xdg/applications-merged/wine.menu |
7191 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
7192 |
-usr/share/applications/wine-notepad.desktop |
7193 |
-usr/share/applications/wine-uninstaller.desktop |
7194 |
-usr/share/applications/wine-winecfg.desktop" |
7195 |
- |
7196 |
-PATCHES=( |
7197 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
7198 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
7199 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
7200 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
7201 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
7202 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
7203 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
7204 |
-) |
7205 |
-PATCHES_BIN=( |
7206 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
7207 |
-) |
7208 |
- |
7209 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
7210 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
7211 |
- DEPEND+=" dev-util/patchbin" |
7212 |
-fi |
7213 |
- |
7214 |
-wine_compiler_check() { |
7215 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
7216 |
- |
7217 |
- # GCC-specific bugs |
7218 |
- if tc-is-gcc; then |
7219 |
- # bug #549768 |
7220 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
7221 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
7222 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
7223 |
- # Run in subshell to prevent "Aborted" message |
7224 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
7225 |
- if ! eend $?; then |
7226 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
7227 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
7228 |
- eerror "or use gcc-config to select a different compiler version." |
7229 |
- eerror "See https://bugs.gentoo.org/549768" |
7230 |
- eerror |
7231 |
- return 1 |
7232 |
- fi |
7233 |
- fi |
7234 |
- # bug #574044 |
7235 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
7236 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
7237 |
- # Compile in subshell to prevent "Aborted" message |
7238 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
7239 |
- if ! eend $?; then |
7240 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
7241 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
7242 |
- eerror "or use gcc-config to select a different compiler version." |
7243 |
- eerror "See https://bugs.gentoo.org/574044" |
7244 |
- eerror |
7245 |
- return 1 |
7246 |
- fi |
7247 |
- fi |
7248 |
- fi |
7249 |
- |
7250 |
- # Ensure compiler support |
7251 |
- if use abi_x86_64; then |
7252 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
7253 |
- # Compile in subshell to prevent "Aborted" message |
7254 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
7255 |
- if ! eend $?; then |
7256 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
7257 |
- eerror |
7258 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
7259 |
- eerror |
7260 |
- return 1 |
7261 |
- fi |
7262 |
- fi |
7263 |
-} |
7264 |
- |
7265 |
-wine_build_environment_check() { |
7266 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
7267 |
- |
7268 |
- if use abi_x86_64; then |
7269 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
7270 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
7271 |
- die |
7272 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
7273 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
7274 |
- die |
7275 |
- fi |
7276 |
- fi |
7277 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
7278 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
7279 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
7280 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
7281 |
- fi |
7282 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
7283 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
7284 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
7285 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
7286 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
7287 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
7288 |
- fi |
7289 |
- fi |
7290 |
- |
7291 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
7292 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
7293 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
7294 |
- eerror |
7295 |
- return 1 |
7296 |
- fi |
7297 |
-} |
7298 |
- |
7299 |
-wine_env_vcs_vars() { |
7300 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
7301 |
- local pn_live_val="${pn_live_var}" |
7302 |
- eval pn_live_val='$'${pn_live_val} |
7303 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
7304 |
- eerror "Commits must now be specified using the environmental variables" |
7305 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
7306 |
- eerror |
7307 |
- return 1 |
7308 |
- fi |
7309 |
-} |
7310 |
- |
7311 |
-pkg_pretend() { |
7312 |
- wine_build_environment_check || die |
7313 |
- |
7314 |
- # Verify OSS support |
7315 |
- if use oss && ! use kernel_FreeBSD; then |
7316 |
- if ! has_version ">=media-sound/oss-4"; then |
7317 |
- eerror "You cannot build wine with USE=oss without having support from a" |
7318 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
7319 |
- eerror |
7320 |
- die |
7321 |
- fi |
7322 |
- fi |
7323 |
-} |
7324 |
- |
7325 |
-pkg_setup() { |
7326 |
- wine_build_environment_check || die |
7327 |
- wine_env_vcs_vars || die |
7328 |
- |
7329 |
- WINE_VARIANT="${PN#wine}-${PV}" |
7330 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
7331 |
- |
7332 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
7333 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
7334 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
7335 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
7336 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
7337 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
7338 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
7339 |
- MY_MANDIR="${MY_DATADIR}/man" |
7340 |
-} |
7341 |
- |
7342 |
-src_unpack() { |
7343 |
- if [[ ${PV} == "9999" ]] ; then |
7344 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
7345 |
- fi |
7346 |
- |
7347 |
- default |
7348 |
- |
7349 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
7350 |
-} |
7351 |
- |
7352 |
-src_prepare() { |
7353 |
- |
7354 |
- eapply_bin(){ |
7355 |
- local patch |
7356 |
- for patch in ${PATCHES_BIN[@]}; do |
7357 |
- patchbin --nogit < "${patch}" || die |
7358 |
- done |
7359 |
- } |
7360 |
- |
7361 |
- local md5="$(md5sum server/protocol.def)" |
7362 |
- |
7363 |
- default |
7364 |
- eapply_bin |
7365 |
- eautoreconf |
7366 |
- |
7367 |
- # Modification of the server protocol requires regenerating the server requests |
7368 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
7369 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
7370 |
- tools/make_requests || die #432348 |
7371 |
- fi |
7372 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
7373 |
- if ! use run-exes; then |
7374 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
7375 |
- fi |
7376 |
- |
7377 |
- # Edit wine.desktop to work for specific variant |
7378 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
7379 |
- |
7380 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
7381 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
7382 |
- |
7383 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
7384 |
- |
7385 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
7386 |
- # Requires wine-2.0-rearrange-manpages.patch |
7387 |
- |
7388 |
- # Duplicate manpages input files for wine64 |
7389 |
- local f |
7390 |
- for f in loader/*.man.in; do |
7391 |
- cp ${f} ${f/wine/wine64} || die |
7392 |
- done |
7393 |
- # Add wine64 manpages to Makefile |
7394 |
- if use abi_x86_64; then |
7395 |
- sed -i "/wine.man.in/i \ |
7396 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
7397 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
7398 |
-\164\2/' loader/Makefile.in || die |
7399 |
- fi |
7400 |
- |
7401 |
- rm_man_file(){ |
7402 |
- local file="${1}" |
7403 |
- loc=${2} |
7404 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
7405 |
- } |
7406 |
- |
7407 |
- while read f; do |
7408 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
7409 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
7410 |
-} |
7411 |
- |
7412 |
-src_configure() { |
7413 |
- wine_compiler_check || die |
7414 |
- |
7415 |
- export LDCONFIG=/bin/true |
7416 |
- use custom-cflags || strip-flags |
7417 |
- |
7418 |
- multilib-minimal_src_configure |
7419 |
-} |
7420 |
- |
7421 |
-multilib_src_configure() { |
7422 |
- local myconf=( |
7423 |
- --prefix="${MY_PREFIX}" |
7424 |
- --datarootdir="${MY_DATAROOTDIR}" |
7425 |
- --datadir="${MY_DATADIR}" |
7426 |
- --docdir="${MY_DOCDIR}" |
7427 |
- --includedir="${MY_INCLUDEDIR}" |
7428 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
7429 |
- --libexecdir="${MY_LIBEXECDIR}" |
7430 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
7431 |
- --mandir="${MY_MANDIR}" |
7432 |
- --sysconfdir=/etc/wine |
7433 |
- $(use_with alsa) |
7434 |
- $(use_with capi) |
7435 |
- $(use_with lcms cms) |
7436 |
- $(use_with cups) |
7437 |
- $(use_with ncurses curses) |
7438 |
- $(use_with udisks dbus) |
7439 |
- $(use_with fontconfig) |
7440 |
- $(use_with ssl gnutls) |
7441 |
- $(use_enable gecko mshtml) |
7442 |
- $(use_with gphoto2 gphoto) |
7443 |
- $(use_with gsm) |
7444 |
- $(use_with gstreamer) |
7445 |
- --without-hal |
7446 |
- $(use_with jpeg) |
7447 |
- $(use_with ldap) |
7448 |
- $(use_enable mono mscoree) |
7449 |
- $(use_with mp3 mpg123) |
7450 |
- $(use_with netapi) |
7451 |
- $(use_with nls gettext) |
7452 |
- $(use_with openal) |
7453 |
- $(use_with opencl) |
7454 |
- $(use_with opengl) |
7455 |
- $(use_with osmesa) |
7456 |
- $(use_with oss) |
7457 |
- $(use_with pcap) |
7458 |
- $(use_with png) |
7459 |
- $(use_with pulseaudio pulse) |
7460 |
- $(use_with threads pthread) |
7461 |
- $(use_with scanner sane) |
7462 |
- $(use_enable test tests) |
7463 |
- $(use_with truetype freetype) |
7464 |
- $(use_with udev) |
7465 |
- $(use_with v4l) |
7466 |
- $(use_with X x) |
7467 |
- $(use_with X xfixes) |
7468 |
- $(use_with xcomposite) |
7469 |
- $(use_with xinerama) |
7470 |
- $(use_with xml) |
7471 |
- $(use_with xml xslt) |
7472 |
- ) |
7473 |
- |
7474 |
- local PKG_CONFIG AR RANLIB |
7475 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
7476 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
7477 |
- tc-export PKG_CONFIG AR RANLIB |
7478 |
- |
7479 |
- if use amd64; then |
7480 |
- if [[ ${ABI} == amd64 ]]; then |
7481 |
- myconf+=( --enable-win64 ) |
7482 |
- else |
7483 |
- myconf+=( --disable-win64 ) |
7484 |
- fi |
7485 |
- |
7486 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
7487 |
- # CC/LD hackery. We're using separate tools instead. |
7488 |
- fi |
7489 |
- |
7490 |
- ECONF_SOURCE=${S} \ |
7491 |
- econf "${myconf[@]}" |
7492 |
- emake depend |
7493 |
-} |
7494 |
- |
7495 |
-multilib_src_test() { |
7496 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
7497 |
- if [[ ${ABI} == x86 ]]; then |
7498 |
- if [[ $(id -u) == 0 ]]; then |
7499 |
- ewarn "Skipping tests since they cannot be run under the root user." |
7500 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
7501 |
- return |
7502 |
- fi |
7503 |
- |
7504 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
7505 |
- Xemake test |
7506 |
- fi |
7507 |
-} |
7508 |
- |
7509 |
-multilib_src_install_all() { |
7510 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
7511 |
- add_locale_docs() { |
7512 |
- local locale_doc="documentation/README.$1" |
7513 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
7514 |
- } |
7515 |
- l10n_for_each_locale_do add_locale_docs |
7516 |
- |
7517 |
- einstalldocs |
7518 |
- prune_libtool_files --all |
7519 |
- |
7520 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
7521 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
7522 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
7523 |
- fi |
7524 |
- |
7525 |
- # Remove wineconsole if neither backend is installed #551124 |
7526 |
- if ! use X && ! use ncurses; then |
7527 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
7528 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
7529 |
- rm_wineconsole() { |
7530 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
7531 |
- } |
7532 |
- multilib_foreach_abi rm_wineconsole |
7533 |
- fi |
7534 |
- |
7535 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
7536 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
7537 |
- |
7538 |
- if use abi_x86_64 && ! use abi_x86_32; then |
7539 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
7540 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
7541 |
- fi |
7542 |
- |
7543 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
7544 |
- eshopts_push -s failglob #615218 |
7545 |
- # Make wrappers for binaries for handling multiple variants |
7546 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
7547 |
- local b |
7548 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
7549 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
7550 |
- done |
7551 |
- eshopts_pop |
7552 |
-} |
7553 |
- |
7554 |
-pkg_postinst() { |
7555 |
- eselect wine register ${P} |
7556 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
7557 |
- eselect wine register --vanilla ${P} || die |
7558 |
- fi |
7559 |
- |
7560 |
- eselect wine update --all --if-unset || die |
7561 |
- |
7562 |
- xdg_desktop_database_update |
7563 |
- |
7564 |
- if ! use gecko; then |
7565 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
7566 |
- ewarn "implementation of iexplore. Many older windows applications" |
7567 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
7568 |
- ewarn "you will likely need to install an external one, like via winetricks" |
7569 |
- fi |
7570 |
- if ! use mono; then |
7571 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
7572 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
7573 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
7574 |
- ewarn "to install an external one, like via winetricks" |
7575 |
- fi |
7576 |
-} |
7577 |
- |
7578 |
-pkg_prerm() { |
7579 |
- eselect wine deregister ${P} |
7580 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
7581 |
- eselect wine deregister --vanilla ${P} || die |
7582 |
- fi |
7583 |
- |
7584 |
- eselect wine update --all --if-unset || die |
7585 |
-} |
7586 |
- |
7587 |
-pkg_postrm() { |
7588 |
- xdg_desktop_database_update |
7589 |
-} |
7590 |
|
7591 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.18-r2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.18-r2.ebuild |
7592 |
deleted file mode 100644 |
7593 |
index 9a7aeeb..0000000 |
7594 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.18-r2.ebuild |
7595 |
+++ /dev/null |
7596 |
@@ -1,523 +0,0 @@ |
7597 |
-# Copyright 1999-2018 Gentoo Foundation |
7598 |
-# Distributed under the terms of the GNU General Public License v2 |
7599 |
- |
7600 |
-EAPI=6 |
7601 |
- |
7602 |
-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" |
7603 |
-PLOCALE_BACKUP="en" |
7604 |
- |
7605 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
7606 |
- |
7607 |
-MY_PN="${PN%%-*}" |
7608 |
-MY_P="${MY_PN}-${PV}" |
7609 |
- |
7610 |
-if [[ ${PV} == "9999" ]] ; then |
7611 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
7612 |
- EGIT_BRANCH="master" |
7613 |
- inherit git-r3 |
7614 |
- SRC_URI="" |
7615 |
- #KEYWORDS="" |
7616 |
-else |
7617 |
- MAJOR_V=$(ver_cut 1) |
7618 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
7619 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
7620 |
-fi |
7621 |
-S="${WORKDIR}/${MY_P}" |
7622 |
- |
7623 |
-GWP_V="20180120" |
7624 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
7625 |
- |
7626 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
7627 |
-HOMEPAGE="https://www.winehq.org/" |
7628 |
-SRC_URI="${SRC_URI} |
7629 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
7630 |
-" |
7631 |
- |
7632 |
-LICENSE="LGPL-2.1" |
7633 |
-SLOT="${PV}" |
7634 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
7635 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
7636 |
- X? ( truetype ) |
7637 |
- elibc_glibc? ( threads ) |
7638 |
- osmesa? ( opengl ) |
7639 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
7640 |
- |
7641 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
7642 |
-# or fail due to Xvfb's opengl limitations. |
7643 |
-RESTRICT="test" |
7644 |
- |
7645 |
-COMMON_DEPEND=" |
7646 |
- X? ( |
7647 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
7648 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
7649 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
7650 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
7651 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
7652 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
7653 |
- ) |
7654 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
7655 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
7656 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
7657 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
7658 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
7659 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
7660 |
- gstreamer? ( |
7661 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
7662 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
7663 |
- ) |
7664 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
7665 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
7666 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
7667 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
7668 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
7669 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
7670 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
7671 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
7672 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
7673 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
7674 |
- opengl? ( |
7675 |
- virtual/glu[${MULTILIB_USEDEP}] |
7676 |
- virtual/opengl[${MULTILIB_USEDEP}] |
7677 |
- ) |
7678 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
7679 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
7680 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
7681 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
7682 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
7683 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
7684 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
7685 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
7686 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
7687 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
7688 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
7689 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
7690 |
- xml? ( |
7691 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
7692 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
7693 |
- )" |
7694 |
- |
7695 |
-RDEPEND="${COMMON_DEPEND} |
7696 |
- app-emulation/wine-desktop-common |
7697 |
- >app-eselect/eselect-wine-0.3 |
7698 |
- !app-emulation/wine:0 |
7699 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
7700 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
7701 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
7702 |
- perl? ( |
7703 |
- dev-lang/perl |
7704 |
- dev-perl/XML-Simple |
7705 |
- ) |
7706 |
- pulseaudio? ( |
7707 |
- realtime? ( sys-auth/rtkit ) |
7708 |
- ) |
7709 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
7710 |
- selinux? ( sec-policy/selinux-wine ) |
7711 |
- udisks? ( sys-fs/udisks:2 )" |
7712 |
- |
7713 |
-# tools/make_requests requires perl |
7714 |
-DEPEND="${COMMON_DEPEND} |
7715 |
- sys-devel/flex |
7716 |
- >=sys-kernel/linux-headers-2.6 |
7717 |
- virtual/pkgconfig |
7718 |
- virtual/yacc |
7719 |
- X? ( x11-base/xorg-proto ) |
7720 |
- prelink? ( sys-devel/prelink ) |
7721 |
- xinerama? ( x11-base/xorg-proto )" |
7722 |
- |
7723 |
-# These use a non-standard "Wine" category, which is provided by |
7724 |
-# /etc/xdg/applications-merged/wine.menu |
7725 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
7726 |
-usr/share/applications/wine-notepad.desktop |
7727 |
-usr/share/applications/wine-uninstaller.desktop |
7728 |
-usr/share/applications/wine-winecfg.desktop" |
7729 |
- |
7730 |
-PATCHES=( |
7731 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
7732 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
7733 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
7734 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
7735 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
7736 |
-) |
7737 |
-PATCHES_BIN=() |
7738 |
- |
7739 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
7740 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
7741 |
- DEPEND+=" dev-util/patchbin" |
7742 |
-fi |
7743 |
- |
7744 |
-wine_compiler_check() { |
7745 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
7746 |
- |
7747 |
- # GCC-specific bugs |
7748 |
- if tc-is-gcc; then |
7749 |
- # bug #549768 |
7750 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
7751 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
7752 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
7753 |
- # Run in subshell to prevent "Aborted" message |
7754 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
7755 |
- if ! eend $?; then |
7756 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
7757 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
7758 |
- eerror "or use gcc-config to select a different compiler version." |
7759 |
- eerror "See https://bugs.gentoo.org/549768" |
7760 |
- eerror |
7761 |
- return 1 |
7762 |
- fi |
7763 |
- fi |
7764 |
- # bug #574044 |
7765 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
7766 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
7767 |
- # Compile in subshell to prevent "Aborted" message |
7768 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
7769 |
- if ! eend $?; then |
7770 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
7771 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
7772 |
- eerror "or use gcc-config to select a different compiler version." |
7773 |
- eerror "See https://bugs.gentoo.org/574044" |
7774 |
- eerror |
7775 |
- return 1 |
7776 |
- fi |
7777 |
- fi |
7778 |
- fi |
7779 |
- |
7780 |
- # Ensure compiler support |
7781 |
- if use abi_x86_64; then |
7782 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
7783 |
- # Compile in subshell to prevent "Aborted" message |
7784 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
7785 |
- if ! eend $?; then |
7786 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
7787 |
- eerror |
7788 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
7789 |
- eerror |
7790 |
- return 1 |
7791 |
- fi |
7792 |
- fi |
7793 |
-} |
7794 |
- |
7795 |
-wine_build_environment_check() { |
7796 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
7797 |
- |
7798 |
- if use abi_x86_64; then |
7799 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
7800 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
7801 |
- die |
7802 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
7803 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
7804 |
- die |
7805 |
- fi |
7806 |
- fi |
7807 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
7808 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
7809 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
7810 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
7811 |
- fi |
7812 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
7813 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
7814 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
7815 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
7816 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
7817 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
7818 |
- fi |
7819 |
- fi |
7820 |
- |
7821 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
7822 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
7823 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
7824 |
- eerror |
7825 |
- return 1 |
7826 |
- fi |
7827 |
-} |
7828 |
- |
7829 |
-wine_env_vcs_vars() { |
7830 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
7831 |
- local pn_live_val="${pn_live_var}" |
7832 |
- eval pn_live_val='$'${pn_live_val} |
7833 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
7834 |
- eerror "Commits must now be specified using the environmental variables" |
7835 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
7836 |
- eerror |
7837 |
- return 1 |
7838 |
- fi |
7839 |
-} |
7840 |
- |
7841 |
-pkg_pretend() { |
7842 |
- wine_build_environment_check || die |
7843 |
- |
7844 |
- # Verify OSS support |
7845 |
- if use oss && ! use kernel_FreeBSD; then |
7846 |
- if ! has_version ">=media-sound/oss-4"; then |
7847 |
- eerror "You cannot build wine with USE=oss without having support from a" |
7848 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
7849 |
- eerror |
7850 |
- die |
7851 |
- fi |
7852 |
- fi |
7853 |
-} |
7854 |
- |
7855 |
-pkg_setup() { |
7856 |
- wine_build_environment_check || die |
7857 |
- wine_env_vcs_vars || die |
7858 |
- |
7859 |
- WINE_VARIANT="${PN#wine}-${PV}" |
7860 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
7861 |
- |
7862 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
7863 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
7864 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
7865 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
7866 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
7867 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
7868 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
7869 |
- MY_MANDIR="${MY_DATADIR}/man" |
7870 |
-} |
7871 |
- |
7872 |
-src_unpack() { |
7873 |
- if [[ ${PV} == "9999" ]] ; then |
7874 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
7875 |
- fi |
7876 |
- |
7877 |
- default |
7878 |
- |
7879 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
7880 |
-} |
7881 |
- |
7882 |
-src_prepare() { |
7883 |
- |
7884 |
- eapply_bin(){ |
7885 |
- local patch |
7886 |
- for patch in ${PATCHES_BIN[@]}; do |
7887 |
- patchbin --nogit < "${patch}" || die |
7888 |
- done |
7889 |
- } |
7890 |
- |
7891 |
- local md5="$(md5sum server/protocol.def)" |
7892 |
- |
7893 |
- default |
7894 |
- eapply_bin |
7895 |
- eautoreconf |
7896 |
- |
7897 |
- # Modification of the server protocol requires regenerating the server requests |
7898 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
7899 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
7900 |
- tools/make_requests || die #432348 |
7901 |
- fi |
7902 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
7903 |
- if ! use run-exes; then |
7904 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
7905 |
- fi |
7906 |
- |
7907 |
- # Edit wine.desktop to work for specific variant |
7908 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
7909 |
- |
7910 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
7911 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
7912 |
- |
7913 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
7914 |
- |
7915 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
7916 |
- # Requires wine-2.0-rearrange-manpages.patch |
7917 |
- |
7918 |
- # Duplicate manpages input files for wine64 |
7919 |
- local f |
7920 |
- for f in loader/*.man.in; do |
7921 |
- cp ${f} ${f/wine/wine64} || die |
7922 |
- done |
7923 |
- # Add wine64 manpages to Makefile |
7924 |
- if use abi_x86_64; then |
7925 |
- sed -i "/wine.man.in/i \ |
7926 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
7927 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
7928 |
-\164\2/' loader/Makefile.in || die |
7929 |
- fi |
7930 |
- |
7931 |
- rm_man_file(){ |
7932 |
- local file="${1}" |
7933 |
- loc=${2} |
7934 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
7935 |
- } |
7936 |
- |
7937 |
- while read f; do |
7938 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
7939 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
7940 |
-} |
7941 |
- |
7942 |
-src_configure() { |
7943 |
- wine_compiler_check || die |
7944 |
- |
7945 |
- export LDCONFIG=/bin/true |
7946 |
- use custom-cflags || strip-flags |
7947 |
- |
7948 |
- multilib-minimal_src_configure |
7949 |
-} |
7950 |
- |
7951 |
-multilib_src_configure() { |
7952 |
- local myconf=( |
7953 |
- --prefix="${MY_PREFIX}" |
7954 |
- --datarootdir="${MY_DATAROOTDIR}" |
7955 |
- --datadir="${MY_DATADIR}" |
7956 |
- --docdir="${MY_DOCDIR}" |
7957 |
- --includedir="${MY_INCLUDEDIR}" |
7958 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
7959 |
- --libexecdir="${MY_LIBEXECDIR}" |
7960 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
7961 |
- --mandir="${MY_MANDIR}" |
7962 |
- --sysconfdir=/etc/wine |
7963 |
- $(use_with alsa) |
7964 |
- $(use_with capi) |
7965 |
- $(use_with lcms cms) |
7966 |
- $(use_with cups) |
7967 |
- $(use_with ncurses curses) |
7968 |
- $(use_with udisks dbus) |
7969 |
- $(use_with fontconfig) |
7970 |
- $(use_with ssl gnutls) |
7971 |
- $(use_enable gecko mshtml) |
7972 |
- $(use_with gphoto2 gphoto) |
7973 |
- $(use_with gsm) |
7974 |
- $(use_with gstreamer) |
7975 |
- --without-hal |
7976 |
- $(use_with jpeg) |
7977 |
- $(use_with ldap) |
7978 |
- $(use_enable mono mscoree) |
7979 |
- $(use_with mp3 mpg123) |
7980 |
- $(use_with netapi) |
7981 |
- $(use_with nls gettext) |
7982 |
- $(use_with openal) |
7983 |
- $(use_with opencl) |
7984 |
- $(use_with opengl) |
7985 |
- $(use_with osmesa) |
7986 |
- $(use_with oss) |
7987 |
- $(use_with pcap) |
7988 |
- $(use_with png) |
7989 |
- $(use_with pulseaudio pulse) |
7990 |
- $(use_with threads pthread) |
7991 |
- $(use_with scanner sane) |
7992 |
- $(use_enable test tests) |
7993 |
- $(use_with truetype freetype) |
7994 |
- $(use_with udev) |
7995 |
- $(use_with v4l) |
7996 |
- $(use_with X x) |
7997 |
- $(use_with X xfixes) |
7998 |
- $(use_with xcomposite) |
7999 |
- $(use_with xinerama) |
8000 |
- $(use_with xml) |
8001 |
- $(use_with xml xslt) |
8002 |
- ) |
8003 |
- |
8004 |
- local PKG_CONFIG AR RANLIB |
8005 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
8006 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
8007 |
- tc-export PKG_CONFIG AR RANLIB |
8008 |
- |
8009 |
- if use amd64; then |
8010 |
- if [[ ${ABI} == amd64 ]]; then |
8011 |
- myconf+=( --enable-win64 ) |
8012 |
- else |
8013 |
- myconf+=( --disable-win64 ) |
8014 |
- fi |
8015 |
- |
8016 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
8017 |
- # CC/LD hackery. We're using separate tools instead. |
8018 |
- fi |
8019 |
- |
8020 |
- ECONF_SOURCE=${S} \ |
8021 |
- econf "${myconf[@]}" |
8022 |
- emake depend |
8023 |
-} |
8024 |
- |
8025 |
-multilib_src_test() { |
8026 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
8027 |
- if [[ ${ABI} == x86 ]]; then |
8028 |
- if [[ $(id -u) == 0 ]]; then |
8029 |
- ewarn "Skipping tests since they cannot be run under the root user." |
8030 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
8031 |
- return |
8032 |
- fi |
8033 |
- |
8034 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
8035 |
- Xemake test |
8036 |
- fi |
8037 |
-} |
8038 |
- |
8039 |
-multilib_src_install_all() { |
8040 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
8041 |
- add_locale_docs() { |
8042 |
- local locale_doc="documentation/README.$1" |
8043 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
8044 |
- } |
8045 |
- l10n_for_each_locale_do add_locale_docs |
8046 |
- |
8047 |
- einstalldocs |
8048 |
- prune_libtool_files --all |
8049 |
- |
8050 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
8051 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
8052 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
8053 |
- fi |
8054 |
- |
8055 |
- # Remove wineconsole if neither backend is installed #551124 |
8056 |
- if ! use X && ! use ncurses; then |
8057 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
8058 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
8059 |
- rm_wineconsole() { |
8060 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
8061 |
- } |
8062 |
- multilib_foreach_abi rm_wineconsole |
8063 |
- fi |
8064 |
- |
8065 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
8066 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
8067 |
- |
8068 |
- if use abi_x86_64 && ! use abi_x86_32; then |
8069 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
8070 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
8071 |
- fi |
8072 |
- |
8073 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
8074 |
- eshopts_push -s failglob #615218 |
8075 |
- # Make wrappers for binaries for handling multiple variants |
8076 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
8077 |
- local b |
8078 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
8079 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
8080 |
- done |
8081 |
- eshopts_pop |
8082 |
-} |
8083 |
- |
8084 |
-pkg_postinst() { |
8085 |
- eselect wine register ${P} |
8086 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
8087 |
- eselect wine register --vanilla ${P} || die |
8088 |
- fi |
8089 |
- |
8090 |
- eselect wine update --all --if-unset || die |
8091 |
- |
8092 |
- xdg_desktop_database_update |
8093 |
- |
8094 |
- if ! use gecko; then |
8095 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
8096 |
- ewarn "implementation of iexplore. Many older windows applications" |
8097 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
8098 |
- ewarn "you will likely need to install an external one, like via winetricks" |
8099 |
- fi |
8100 |
- if ! use mono; then |
8101 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
8102 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
8103 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
8104 |
- ewarn "to install an external one, like via winetricks" |
8105 |
- fi |
8106 |
-} |
8107 |
- |
8108 |
-pkg_prerm() { |
8109 |
- eselect wine deregister ${P} |
8110 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
8111 |
- eselect wine deregister --vanilla ${P} || die |
8112 |
- fi |
8113 |
- |
8114 |
- eselect wine update --all --if-unset || die |
8115 |
-} |
8116 |
- |
8117 |
-pkg_postrm() { |
8118 |
- xdg_desktop_database_update |
8119 |
-} |
8120 |
|
8121 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.19-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.19-r1.ebuild |
8122 |
deleted file mode 100644 |
8123 |
index 9a7aeeb..0000000 |
8124 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.19-r1.ebuild |
8125 |
+++ /dev/null |
8126 |
@@ -1,523 +0,0 @@ |
8127 |
-# Copyright 1999-2018 Gentoo Foundation |
8128 |
-# Distributed under the terms of the GNU General Public License v2 |
8129 |
- |
8130 |
-EAPI=6 |
8131 |
- |
8132 |
-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" |
8133 |
-PLOCALE_BACKUP="en" |
8134 |
- |
8135 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
8136 |
- |
8137 |
-MY_PN="${PN%%-*}" |
8138 |
-MY_P="${MY_PN}-${PV}" |
8139 |
- |
8140 |
-if [[ ${PV} == "9999" ]] ; then |
8141 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
8142 |
- EGIT_BRANCH="master" |
8143 |
- inherit git-r3 |
8144 |
- SRC_URI="" |
8145 |
- #KEYWORDS="" |
8146 |
-else |
8147 |
- MAJOR_V=$(ver_cut 1) |
8148 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
8149 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
8150 |
-fi |
8151 |
-S="${WORKDIR}/${MY_P}" |
8152 |
- |
8153 |
-GWP_V="20180120" |
8154 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
8155 |
- |
8156 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
8157 |
-HOMEPAGE="https://www.winehq.org/" |
8158 |
-SRC_URI="${SRC_URI} |
8159 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
8160 |
-" |
8161 |
- |
8162 |
-LICENSE="LGPL-2.1" |
8163 |
-SLOT="${PV}" |
8164 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
8165 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
8166 |
- X? ( truetype ) |
8167 |
- elibc_glibc? ( threads ) |
8168 |
- osmesa? ( opengl ) |
8169 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
8170 |
- |
8171 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
8172 |
-# or fail due to Xvfb's opengl limitations. |
8173 |
-RESTRICT="test" |
8174 |
- |
8175 |
-COMMON_DEPEND=" |
8176 |
- X? ( |
8177 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
8178 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
8179 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
8180 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
8181 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
8182 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
8183 |
- ) |
8184 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
8185 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
8186 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
8187 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
8188 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
8189 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
8190 |
- gstreamer? ( |
8191 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
8192 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
8193 |
- ) |
8194 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
8195 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
8196 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
8197 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
8198 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
8199 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
8200 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
8201 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
8202 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
8203 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
8204 |
- opengl? ( |
8205 |
- virtual/glu[${MULTILIB_USEDEP}] |
8206 |
- virtual/opengl[${MULTILIB_USEDEP}] |
8207 |
- ) |
8208 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
8209 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
8210 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
8211 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
8212 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
8213 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
8214 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
8215 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
8216 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
8217 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
8218 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
8219 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
8220 |
- xml? ( |
8221 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
8222 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
8223 |
- )" |
8224 |
- |
8225 |
-RDEPEND="${COMMON_DEPEND} |
8226 |
- app-emulation/wine-desktop-common |
8227 |
- >app-eselect/eselect-wine-0.3 |
8228 |
- !app-emulation/wine:0 |
8229 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
8230 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
8231 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
8232 |
- perl? ( |
8233 |
- dev-lang/perl |
8234 |
- dev-perl/XML-Simple |
8235 |
- ) |
8236 |
- pulseaudio? ( |
8237 |
- realtime? ( sys-auth/rtkit ) |
8238 |
- ) |
8239 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
8240 |
- selinux? ( sec-policy/selinux-wine ) |
8241 |
- udisks? ( sys-fs/udisks:2 )" |
8242 |
- |
8243 |
-# tools/make_requests requires perl |
8244 |
-DEPEND="${COMMON_DEPEND} |
8245 |
- sys-devel/flex |
8246 |
- >=sys-kernel/linux-headers-2.6 |
8247 |
- virtual/pkgconfig |
8248 |
- virtual/yacc |
8249 |
- X? ( x11-base/xorg-proto ) |
8250 |
- prelink? ( sys-devel/prelink ) |
8251 |
- xinerama? ( x11-base/xorg-proto )" |
8252 |
- |
8253 |
-# These use a non-standard "Wine" category, which is provided by |
8254 |
-# /etc/xdg/applications-merged/wine.menu |
8255 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
8256 |
-usr/share/applications/wine-notepad.desktop |
8257 |
-usr/share/applications/wine-uninstaller.desktop |
8258 |
-usr/share/applications/wine-winecfg.desktop" |
8259 |
- |
8260 |
-PATCHES=( |
8261 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
8262 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
8263 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
8264 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
8265 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
8266 |
-) |
8267 |
-PATCHES_BIN=() |
8268 |
- |
8269 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
8270 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
8271 |
- DEPEND+=" dev-util/patchbin" |
8272 |
-fi |
8273 |
- |
8274 |
-wine_compiler_check() { |
8275 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
8276 |
- |
8277 |
- # GCC-specific bugs |
8278 |
- if tc-is-gcc; then |
8279 |
- # bug #549768 |
8280 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
8281 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
8282 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
8283 |
- # Run in subshell to prevent "Aborted" message |
8284 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
8285 |
- if ! eend $?; then |
8286 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
8287 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
8288 |
- eerror "or use gcc-config to select a different compiler version." |
8289 |
- eerror "See https://bugs.gentoo.org/549768" |
8290 |
- eerror |
8291 |
- return 1 |
8292 |
- fi |
8293 |
- fi |
8294 |
- # bug #574044 |
8295 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
8296 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
8297 |
- # Compile in subshell to prevent "Aborted" message |
8298 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
8299 |
- if ! eend $?; then |
8300 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
8301 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
8302 |
- eerror "or use gcc-config to select a different compiler version." |
8303 |
- eerror "See https://bugs.gentoo.org/574044" |
8304 |
- eerror |
8305 |
- return 1 |
8306 |
- fi |
8307 |
- fi |
8308 |
- fi |
8309 |
- |
8310 |
- # Ensure compiler support |
8311 |
- if use abi_x86_64; then |
8312 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
8313 |
- # Compile in subshell to prevent "Aborted" message |
8314 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
8315 |
- if ! eend $?; then |
8316 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
8317 |
- eerror |
8318 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
8319 |
- eerror |
8320 |
- return 1 |
8321 |
- fi |
8322 |
- fi |
8323 |
-} |
8324 |
- |
8325 |
-wine_build_environment_check() { |
8326 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
8327 |
- |
8328 |
- if use abi_x86_64; then |
8329 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
8330 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
8331 |
- die |
8332 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
8333 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
8334 |
- die |
8335 |
- fi |
8336 |
- fi |
8337 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
8338 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
8339 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
8340 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
8341 |
- fi |
8342 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
8343 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
8344 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
8345 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
8346 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
8347 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
8348 |
- fi |
8349 |
- fi |
8350 |
- |
8351 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
8352 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
8353 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
8354 |
- eerror |
8355 |
- return 1 |
8356 |
- fi |
8357 |
-} |
8358 |
- |
8359 |
-wine_env_vcs_vars() { |
8360 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
8361 |
- local pn_live_val="${pn_live_var}" |
8362 |
- eval pn_live_val='$'${pn_live_val} |
8363 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
8364 |
- eerror "Commits must now be specified using the environmental variables" |
8365 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
8366 |
- eerror |
8367 |
- return 1 |
8368 |
- fi |
8369 |
-} |
8370 |
- |
8371 |
-pkg_pretend() { |
8372 |
- wine_build_environment_check || die |
8373 |
- |
8374 |
- # Verify OSS support |
8375 |
- if use oss && ! use kernel_FreeBSD; then |
8376 |
- if ! has_version ">=media-sound/oss-4"; then |
8377 |
- eerror "You cannot build wine with USE=oss without having support from a" |
8378 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
8379 |
- eerror |
8380 |
- die |
8381 |
- fi |
8382 |
- fi |
8383 |
-} |
8384 |
- |
8385 |
-pkg_setup() { |
8386 |
- wine_build_environment_check || die |
8387 |
- wine_env_vcs_vars || die |
8388 |
- |
8389 |
- WINE_VARIANT="${PN#wine}-${PV}" |
8390 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
8391 |
- |
8392 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
8393 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
8394 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
8395 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
8396 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
8397 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
8398 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
8399 |
- MY_MANDIR="${MY_DATADIR}/man" |
8400 |
-} |
8401 |
- |
8402 |
-src_unpack() { |
8403 |
- if [[ ${PV} == "9999" ]] ; then |
8404 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
8405 |
- fi |
8406 |
- |
8407 |
- default |
8408 |
- |
8409 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
8410 |
-} |
8411 |
- |
8412 |
-src_prepare() { |
8413 |
- |
8414 |
- eapply_bin(){ |
8415 |
- local patch |
8416 |
- for patch in ${PATCHES_BIN[@]}; do |
8417 |
- patchbin --nogit < "${patch}" || die |
8418 |
- done |
8419 |
- } |
8420 |
- |
8421 |
- local md5="$(md5sum server/protocol.def)" |
8422 |
- |
8423 |
- default |
8424 |
- eapply_bin |
8425 |
- eautoreconf |
8426 |
- |
8427 |
- # Modification of the server protocol requires regenerating the server requests |
8428 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
8429 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
8430 |
- tools/make_requests || die #432348 |
8431 |
- fi |
8432 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
8433 |
- if ! use run-exes; then |
8434 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
8435 |
- fi |
8436 |
- |
8437 |
- # Edit wine.desktop to work for specific variant |
8438 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
8439 |
- |
8440 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
8441 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
8442 |
- |
8443 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
8444 |
- |
8445 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
8446 |
- # Requires wine-2.0-rearrange-manpages.patch |
8447 |
- |
8448 |
- # Duplicate manpages input files for wine64 |
8449 |
- local f |
8450 |
- for f in loader/*.man.in; do |
8451 |
- cp ${f} ${f/wine/wine64} || die |
8452 |
- done |
8453 |
- # Add wine64 manpages to Makefile |
8454 |
- if use abi_x86_64; then |
8455 |
- sed -i "/wine.man.in/i \ |
8456 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
8457 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
8458 |
-\164\2/' loader/Makefile.in || die |
8459 |
- fi |
8460 |
- |
8461 |
- rm_man_file(){ |
8462 |
- local file="${1}" |
8463 |
- loc=${2} |
8464 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
8465 |
- } |
8466 |
- |
8467 |
- while read f; do |
8468 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
8469 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
8470 |
-} |
8471 |
- |
8472 |
-src_configure() { |
8473 |
- wine_compiler_check || die |
8474 |
- |
8475 |
- export LDCONFIG=/bin/true |
8476 |
- use custom-cflags || strip-flags |
8477 |
- |
8478 |
- multilib-minimal_src_configure |
8479 |
-} |
8480 |
- |
8481 |
-multilib_src_configure() { |
8482 |
- local myconf=( |
8483 |
- --prefix="${MY_PREFIX}" |
8484 |
- --datarootdir="${MY_DATAROOTDIR}" |
8485 |
- --datadir="${MY_DATADIR}" |
8486 |
- --docdir="${MY_DOCDIR}" |
8487 |
- --includedir="${MY_INCLUDEDIR}" |
8488 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
8489 |
- --libexecdir="${MY_LIBEXECDIR}" |
8490 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
8491 |
- --mandir="${MY_MANDIR}" |
8492 |
- --sysconfdir=/etc/wine |
8493 |
- $(use_with alsa) |
8494 |
- $(use_with capi) |
8495 |
- $(use_with lcms cms) |
8496 |
- $(use_with cups) |
8497 |
- $(use_with ncurses curses) |
8498 |
- $(use_with udisks dbus) |
8499 |
- $(use_with fontconfig) |
8500 |
- $(use_with ssl gnutls) |
8501 |
- $(use_enable gecko mshtml) |
8502 |
- $(use_with gphoto2 gphoto) |
8503 |
- $(use_with gsm) |
8504 |
- $(use_with gstreamer) |
8505 |
- --without-hal |
8506 |
- $(use_with jpeg) |
8507 |
- $(use_with ldap) |
8508 |
- $(use_enable mono mscoree) |
8509 |
- $(use_with mp3 mpg123) |
8510 |
- $(use_with netapi) |
8511 |
- $(use_with nls gettext) |
8512 |
- $(use_with openal) |
8513 |
- $(use_with opencl) |
8514 |
- $(use_with opengl) |
8515 |
- $(use_with osmesa) |
8516 |
- $(use_with oss) |
8517 |
- $(use_with pcap) |
8518 |
- $(use_with png) |
8519 |
- $(use_with pulseaudio pulse) |
8520 |
- $(use_with threads pthread) |
8521 |
- $(use_with scanner sane) |
8522 |
- $(use_enable test tests) |
8523 |
- $(use_with truetype freetype) |
8524 |
- $(use_with udev) |
8525 |
- $(use_with v4l) |
8526 |
- $(use_with X x) |
8527 |
- $(use_with X xfixes) |
8528 |
- $(use_with xcomposite) |
8529 |
- $(use_with xinerama) |
8530 |
- $(use_with xml) |
8531 |
- $(use_with xml xslt) |
8532 |
- ) |
8533 |
- |
8534 |
- local PKG_CONFIG AR RANLIB |
8535 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
8536 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
8537 |
- tc-export PKG_CONFIG AR RANLIB |
8538 |
- |
8539 |
- if use amd64; then |
8540 |
- if [[ ${ABI} == amd64 ]]; then |
8541 |
- myconf+=( --enable-win64 ) |
8542 |
- else |
8543 |
- myconf+=( --disable-win64 ) |
8544 |
- fi |
8545 |
- |
8546 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
8547 |
- # CC/LD hackery. We're using separate tools instead. |
8548 |
- fi |
8549 |
- |
8550 |
- ECONF_SOURCE=${S} \ |
8551 |
- econf "${myconf[@]}" |
8552 |
- emake depend |
8553 |
-} |
8554 |
- |
8555 |
-multilib_src_test() { |
8556 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
8557 |
- if [[ ${ABI} == x86 ]]; then |
8558 |
- if [[ $(id -u) == 0 ]]; then |
8559 |
- ewarn "Skipping tests since they cannot be run under the root user." |
8560 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
8561 |
- return |
8562 |
- fi |
8563 |
- |
8564 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
8565 |
- Xemake test |
8566 |
- fi |
8567 |
-} |
8568 |
- |
8569 |
-multilib_src_install_all() { |
8570 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
8571 |
- add_locale_docs() { |
8572 |
- local locale_doc="documentation/README.$1" |
8573 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
8574 |
- } |
8575 |
- l10n_for_each_locale_do add_locale_docs |
8576 |
- |
8577 |
- einstalldocs |
8578 |
- prune_libtool_files --all |
8579 |
- |
8580 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
8581 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
8582 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
8583 |
- fi |
8584 |
- |
8585 |
- # Remove wineconsole if neither backend is installed #551124 |
8586 |
- if ! use X && ! use ncurses; then |
8587 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
8588 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
8589 |
- rm_wineconsole() { |
8590 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
8591 |
- } |
8592 |
- multilib_foreach_abi rm_wineconsole |
8593 |
- fi |
8594 |
- |
8595 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
8596 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
8597 |
- |
8598 |
- if use abi_x86_64 && ! use abi_x86_32; then |
8599 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
8600 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
8601 |
- fi |
8602 |
- |
8603 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
8604 |
- eshopts_push -s failglob #615218 |
8605 |
- # Make wrappers for binaries for handling multiple variants |
8606 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
8607 |
- local b |
8608 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
8609 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
8610 |
- done |
8611 |
- eshopts_pop |
8612 |
-} |
8613 |
- |
8614 |
-pkg_postinst() { |
8615 |
- eselect wine register ${P} |
8616 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
8617 |
- eselect wine register --vanilla ${P} || die |
8618 |
- fi |
8619 |
- |
8620 |
- eselect wine update --all --if-unset || die |
8621 |
- |
8622 |
- xdg_desktop_database_update |
8623 |
- |
8624 |
- if ! use gecko; then |
8625 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
8626 |
- ewarn "implementation of iexplore. Many older windows applications" |
8627 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
8628 |
- ewarn "you will likely need to install an external one, like via winetricks" |
8629 |
- fi |
8630 |
- if ! use mono; then |
8631 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
8632 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
8633 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
8634 |
- ewarn "to install an external one, like via winetricks" |
8635 |
- fi |
8636 |
-} |
8637 |
- |
8638 |
-pkg_prerm() { |
8639 |
- eselect wine deregister ${P} |
8640 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
8641 |
- eselect wine deregister --vanilla ${P} || die |
8642 |
- fi |
8643 |
- |
8644 |
- eselect wine update --all --if-unset || die |
8645 |
-} |
8646 |
- |
8647 |
-pkg_postrm() { |
8648 |
- xdg_desktop_database_update |
8649 |
-} |
8650 |
|
8651 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.2-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.2-r1.ebuild |
8652 |
deleted file mode 100644 |
8653 |
index aa47b91..0000000 |
8654 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.2-r1.ebuild |
8655 |
+++ /dev/null |
8656 |
@@ -1,525 +0,0 @@ |
8657 |
-# Copyright 1999-2018 Gentoo Foundation |
8658 |
-# Distributed under the terms of the GNU General Public License v2 |
8659 |
- |
8660 |
-EAPI=6 |
8661 |
- |
8662 |
-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" |
8663 |
-PLOCALE_BACKUP="en" |
8664 |
- |
8665 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
8666 |
- |
8667 |
-MY_PN="${PN%%-*}" |
8668 |
-MY_P="${MY_PN}-${PV}" |
8669 |
- |
8670 |
-if [[ ${PV} == "9999" ]] ; then |
8671 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
8672 |
- EGIT_BRANCH="master" |
8673 |
- inherit git-r3 |
8674 |
- SRC_URI="" |
8675 |
- #KEYWORDS="" |
8676 |
-else |
8677 |
- MAJOR_V=$(ver_cut 1) |
8678 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
8679 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
8680 |
-fi |
8681 |
-S="${WORKDIR}/${MY_P}" |
8682 |
- |
8683 |
-GWP_V="20180120" |
8684 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
8685 |
- |
8686 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
8687 |
-HOMEPAGE="https://www.winehq.org/" |
8688 |
-SRC_URI="${SRC_URI} |
8689 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
8690 |
-" |
8691 |
- |
8692 |
-LICENSE="LGPL-2.1" |
8693 |
-SLOT="${PV}" |
8694 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
8695 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
8696 |
- X? ( truetype ) |
8697 |
- elibc_glibc? ( threads ) |
8698 |
- osmesa? ( opengl ) |
8699 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
8700 |
- |
8701 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
8702 |
-# or fail due to Xvfb's opengl limitations. |
8703 |
-RESTRICT="test" |
8704 |
- |
8705 |
-COMMON_DEPEND=" |
8706 |
- X? ( |
8707 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
8708 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
8709 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
8710 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
8711 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
8712 |
- ) |
8713 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
8714 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
8715 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
8716 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
8717 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
8718 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
8719 |
- gstreamer? ( |
8720 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
8721 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
8722 |
- ) |
8723 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
8724 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
8725 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
8726 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
8727 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
8728 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
8729 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
8730 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
8731 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
8732 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
8733 |
- opengl? ( |
8734 |
- virtual/glu[${MULTILIB_USEDEP}] |
8735 |
- virtual/opengl[${MULTILIB_USEDEP}] |
8736 |
- ) |
8737 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
8738 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
8739 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
8740 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
8741 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
8742 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
8743 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
8744 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
8745 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
8746 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
8747 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
8748 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
8749 |
- xml? ( |
8750 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
8751 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
8752 |
- )" |
8753 |
- |
8754 |
-RDEPEND="${COMMON_DEPEND} |
8755 |
- app-emulation/wine-desktop-common |
8756 |
- >app-eselect/eselect-wine-0.3 |
8757 |
- !app-emulation/wine:0 |
8758 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
8759 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
8760 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
8761 |
- perl? ( |
8762 |
- dev-lang/perl |
8763 |
- dev-perl/XML-Simple |
8764 |
- ) |
8765 |
- pulseaudio? ( |
8766 |
- realtime? ( sys-auth/rtkit ) |
8767 |
- ) |
8768 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
8769 |
- selinux? ( sec-policy/selinux-wine ) |
8770 |
- udisks? ( sys-fs/udisks:2 )" |
8771 |
- |
8772 |
-# tools/make_requests requires perl |
8773 |
-DEPEND="${COMMON_DEPEND} |
8774 |
- sys-devel/flex |
8775 |
- >=sys-kernel/linux-headers-2.6 |
8776 |
- virtual/pkgconfig |
8777 |
- virtual/yacc |
8778 |
- X? ( x11-base/xorg-proto ) |
8779 |
- prelink? ( sys-devel/prelink ) |
8780 |
- xinerama? ( x11-base/xorg-proto )" |
8781 |
- |
8782 |
-# These use a non-standard "Wine" category, which is provided by |
8783 |
-# /etc/xdg/applications-merged/wine.menu |
8784 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
8785 |
-usr/share/applications/wine-notepad.desktop |
8786 |
-usr/share/applications/wine-uninstaller.desktop |
8787 |
-usr/share/applications/wine-winecfg.desktop" |
8788 |
- |
8789 |
-PATCHES=( |
8790 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
8791 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
8792 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
8793 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
8794 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
8795 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
8796 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
8797 |
-) |
8798 |
-PATCHES_BIN=( |
8799 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
8800 |
-) |
8801 |
- |
8802 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
8803 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
8804 |
- DEPEND+=" dev-util/patchbin" |
8805 |
-fi |
8806 |
- |
8807 |
-wine_compiler_check() { |
8808 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
8809 |
- |
8810 |
- # GCC-specific bugs |
8811 |
- if tc-is-gcc; then |
8812 |
- # bug #549768 |
8813 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
8814 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
8815 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
8816 |
- # Run in subshell to prevent "Aborted" message |
8817 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
8818 |
- if ! eend $?; then |
8819 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
8820 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
8821 |
- eerror "or use gcc-config to select a different compiler version." |
8822 |
- eerror "See https://bugs.gentoo.org/549768" |
8823 |
- eerror |
8824 |
- return 1 |
8825 |
- fi |
8826 |
- fi |
8827 |
- # bug #574044 |
8828 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
8829 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
8830 |
- # Compile in subshell to prevent "Aborted" message |
8831 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
8832 |
- if ! eend $?; then |
8833 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
8834 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
8835 |
- eerror "or use gcc-config to select a different compiler version." |
8836 |
- eerror "See https://bugs.gentoo.org/574044" |
8837 |
- eerror |
8838 |
- return 1 |
8839 |
- fi |
8840 |
- fi |
8841 |
- fi |
8842 |
- |
8843 |
- # Ensure compiler support |
8844 |
- if use abi_x86_64; then |
8845 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
8846 |
- # Compile in subshell to prevent "Aborted" message |
8847 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
8848 |
- if ! eend $?; then |
8849 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
8850 |
- eerror |
8851 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
8852 |
- eerror |
8853 |
- return 1 |
8854 |
- fi |
8855 |
- fi |
8856 |
-} |
8857 |
- |
8858 |
-wine_build_environment_check() { |
8859 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
8860 |
- |
8861 |
- if use abi_x86_64; then |
8862 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
8863 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
8864 |
- die |
8865 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
8866 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
8867 |
- die |
8868 |
- fi |
8869 |
- fi |
8870 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
8871 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
8872 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
8873 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
8874 |
- fi |
8875 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
8876 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
8877 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
8878 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
8879 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
8880 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
8881 |
- fi |
8882 |
- fi |
8883 |
- |
8884 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
8885 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
8886 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
8887 |
- eerror |
8888 |
- return 1 |
8889 |
- fi |
8890 |
-} |
8891 |
- |
8892 |
-wine_env_vcs_vars() { |
8893 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
8894 |
- local pn_live_val="${pn_live_var}" |
8895 |
- eval pn_live_val='$'${pn_live_val} |
8896 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
8897 |
- eerror "Commits must now be specified using the environmental variables" |
8898 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
8899 |
- eerror |
8900 |
- return 1 |
8901 |
- fi |
8902 |
-} |
8903 |
- |
8904 |
-pkg_pretend() { |
8905 |
- wine_build_environment_check || die |
8906 |
- |
8907 |
- # Verify OSS support |
8908 |
- if use oss && ! use kernel_FreeBSD; then |
8909 |
- if ! has_version ">=media-sound/oss-4"; then |
8910 |
- eerror "You cannot build wine with USE=oss without having support from a" |
8911 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
8912 |
- eerror |
8913 |
- die |
8914 |
- fi |
8915 |
- fi |
8916 |
-} |
8917 |
- |
8918 |
-pkg_setup() { |
8919 |
- wine_build_environment_check || die |
8920 |
- wine_env_vcs_vars || die |
8921 |
- |
8922 |
- WINE_VARIANT="${PN#wine}-${PV}" |
8923 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
8924 |
- |
8925 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
8926 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
8927 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
8928 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
8929 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
8930 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
8931 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
8932 |
- MY_MANDIR="${MY_DATADIR}/man" |
8933 |
-} |
8934 |
- |
8935 |
-src_unpack() { |
8936 |
- if [[ ${PV} == "9999" ]] ; then |
8937 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
8938 |
- fi |
8939 |
- |
8940 |
- default |
8941 |
- |
8942 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
8943 |
-} |
8944 |
- |
8945 |
-src_prepare() { |
8946 |
- |
8947 |
- eapply_bin(){ |
8948 |
- local patch |
8949 |
- for patch in ${PATCHES_BIN[@]}; do |
8950 |
- patchbin --nogit < "${patch}" || die |
8951 |
- done |
8952 |
- } |
8953 |
- |
8954 |
- local md5="$(md5sum server/protocol.def)" |
8955 |
- |
8956 |
- default |
8957 |
- eapply_bin |
8958 |
- eautoreconf |
8959 |
- |
8960 |
- # Modification of the server protocol requires regenerating the server requests |
8961 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
8962 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
8963 |
- tools/make_requests || die #432348 |
8964 |
- fi |
8965 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
8966 |
- if ! use run-exes; then |
8967 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
8968 |
- fi |
8969 |
- |
8970 |
- # Edit wine.desktop to work for specific variant |
8971 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
8972 |
- |
8973 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
8974 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
8975 |
- |
8976 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
8977 |
- |
8978 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
8979 |
- # Requires wine-2.0-rearrange-manpages.patch |
8980 |
- |
8981 |
- # Duplicate manpages input files for wine64 |
8982 |
- local f |
8983 |
- for f in loader/*.man.in; do |
8984 |
- cp ${f} ${f/wine/wine64} || die |
8985 |
- done |
8986 |
- # Add wine64 manpages to Makefile |
8987 |
- if use abi_x86_64; then |
8988 |
- sed -i "/wine.man.in/i \ |
8989 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
8990 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
8991 |
-\164\2/' loader/Makefile.in || die |
8992 |
- fi |
8993 |
- |
8994 |
- rm_man_file(){ |
8995 |
- local file="${1}" |
8996 |
- loc=${2} |
8997 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
8998 |
- } |
8999 |
- |
9000 |
- while read f; do |
9001 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
9002 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
9003 |
-} |
9004 |
- |
9005 |
-src_configure() { |
9006 |
- wine_compiler_check || die |
9007 |
- |
9008 |
- export LDCONFIG=/bin/true |
9009 |
- use custom-cflags || strip-flags |
9010 |
- |
9011 |
- multilib-minimal_src_configure |
9012 |
-} |
9013 |
- |
9014 |
-multilib_src_configure() { |
9015 |
- local myconf=( |
9016 |
- --prefix="${MY_PREFIX}" |
9017 |
- --datarootdir="${MY_DATAROOTDIR}" |
9018 |
- --datadir="${MY_DATADIR}" |
9019 |
- --docdir="${MY_DOCDIR}" |
9020 |
- --includedir="${MY_INCLUDEDIR}" |
9021 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
9022 |
- --libexecdir="${MY_LIBEXECDIR}" |
9023 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
9024 |
- --mandir="${MY_MANDIR}" |
9025 |
- --sysconfdir=/etc/wine |
9026 |
- $(use_with alsa) |
9027 |
- $(use_with capi) |
9028 |
- $(use_with lcms cms) |
9029 |
- $(use_with cups) |
9030 |
- $(use_with ncurses curses) |
9031 |
- $(use_with udisks dbus) |
9032 |
- $(use_with fontconfig) |
9033 |
- $(use_with ssl gnutls) |
9034 |
- $(use_enable gecko mshtml) |
9035 |
- $(use_with gphoto2 gphoto) |
9036 |
- $(use_with gsm) |
9037 |
- $(use_with gstreamer) |
9038 |
- --without-hal |
9039 |
- $(use_with jpeg) |
9040 |
- $(use_with ldap) |
9041 |
- $(use_enable mono mscoree) |
9042 |
- $(use_with mp3 mpg123) |
9043 |
- $(use_with netapi) |
9044 |
- $(use_with nls gettext) |
9045 |
- $(use_with openal) |
9046 |
- $(use_with opencl) |
9047 |
- $(use_with opengl) |
9048 |
- $(use_with osmesa) |
9049 |
- $(use_with oss) |
9050 |
- $(use_with pcap) |
9051 |
- $(use_with png) |
9052 |
- $(use_with pulseaudio pulse) |
9053 |
- $(use_with threads pthread) |
9054 |
- $(use_with scanner sane) |
9055 |
- $(use_enable test tests) |
9056 |
- $(use_with truetype freetype) |
9057 |
- $(use_with udev) |
9058 |
- $(use_with v4l) |
9059 |
- $(use_with X x) |
9060 |
- $(use_with xcomposite) |
9061 |
- $(use_with xinerama) |
9062 |
- $(use_with xml) |
9063 |
- $(use_with xml xslt) |
9064 |
- ) |
9065 |
- |
9066 |
- local PKG_CONFIG AR RANLIB |
9067 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
9068 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
9069 |
- tc-export PKG_CONFIG AR RANLIB |
9070 |
- |
9071 |
- if use amd64; then |
9072 |
- if [[ ${ABI} == amd64 ]]; then |
9073 |
- myconf+=( --enable-win64 ) |
9074 |
- else |
9075 |
- myconf+=( --disable-win64 ) |
9076 |
- fi |
9077 |
- |
9078 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
9079 |
- # CC/LD hackery. We're using separate tools instead. |
9080 |
- fi |
9081 |
- |
9082 |
- ECONF_SOURCE=${S} \ |
9083 |
- econf "${myconf[@]}" |
9084 |
- emake depend |
9085 |
-} |
9086 |
- |
9087 |
-multilib_src_test() { |
9088 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
9089 |
- if [[ ${ABI} == x86 ]]; then |
9090 |
- if [[ $(id -u) == 0 ]]; then |
9091 |
- ewarn "Skipping tests since they cannot be run under the root user." |
9092 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
9093 |
- return |
9094 |
- fi |
9095 |
- |
9096 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
9097 |
- Xemake test |
9098 |
- fi |
9099 |
-} |
9100 |
- |
9101 |
-multilib_src_install_all() { |
9102 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
9103 |
- add_locale_docs() { |
9104 |
- local locale_doc="documentation/README.$1" |
9105 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
9106 |
- } |
9107 |
- l10n_for_each_locale_do add_locale_docs |
9108 |
- |
9109 |
- einstalldocs |
9110 |
- prune_libtool_files --all |
9111 |
- |
9112 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
9113 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
9114 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
9115 |
- fi |
9116 |
- |
9117 |
- # Remove wineconsole if neither backend is installed #551124 |
9118 |
- if ! use X && ! use ncurses; then |
9119 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
9120 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
9121 |
- rm_wineconsole() { |
9122 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
9123 |
- } |
9124 |
- multilib_foreach_abi rm_wineconsole |
9125 |
- fi |
9126 |
- |
9127 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
9128 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
9129 |
- |
9130 |
- if use abi_x86_64 && ! use abi_x86_32; then |
9131 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
9132 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
9133 |
- fi |
9134 |
- |
9135 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
9136 |
- eshopts_push -s failglob #615218 |
9137 |
- # Make wrappers for binaries for handling multiple variants |
9138 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
9139 |
- local b |
9140 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
9141 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
9142 |
- done |
9143 |
- eshopts_pop |
9144 |
-} |
9145 |
- |
9146 |
-pkg_postinst() { |
9147 |
- eselect wine register ${P} |
9148 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
9149 |
- eselect wine register --vanilla ${P} || die |
9150 |
- fi |
9151 |
- |
9152 |
- eselect wine update --all --if-unset || die |
9153 |
- |
9154 |
- xdg_desktop_database_update |
9155 |
- |
9156 |
- if ! use gecko; then |
9157 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
9158 |
- ewarn "implementation of iexplore. Many older windows applications" |
9159 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
9160 |
- ewarn "you will likely need to install an external one, like via winetricks" |
9161 |
- fi |
9162 |
- if ! use mono; then |
9163 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
9164 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
9165 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
9166 |
- ewarn "to install an external one, like via winetricks" |
9167 |
- fi |
9168 |
-} |
9169 |
- |
9170 |
-pkg_prerm() { |
9171 |
- eselect wine deregister ${P} |
9172 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
9173 |
- eselect wine deregister --vanilla ${P} || die |
9174 |
- fi |
9175 |
- |
9176 |
- eselect wine update --all --if-unset || die |
9177 |
-} |
9178 |
- |
9179 |
-pkg_postrm() { |
9180 |
- xdg_desktop_database_update |
9181 |
-} |
9182 |
|
9183 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.20.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.20.ebuild |
9184 |
deleted file mode 100644 |
9185 |
index 256b4de..0000000 |
9186 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.20.ebuild |
9187 |
+++ /dev/null |
9188 |
@@ -1,525 +0,0 @@ |
9189 |
-# Copyright 1999-2018 Gentoo Foundation |
9190 |
-# Distributed under the terms of the GNU General Public License v2 |
9191 |
- |
9192 |
-EAPI=6 |
9193 |
- |
9194 |
-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" |
9195 |
-PLOCALE_BACKUP="en" |
9196 |
- |
9197 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
9198 |
- |
9199 |
-MY_PN="${PN%%-*}" |
9200 |
-MY_P="${MY_PN}-${PV}" |
9201 |
- |
9202 |
-if [[ ${PV} == "9999" ]] ; then |
9203 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
9204 |
- EGIT_BRANCH="master" |
9205 |
- inherit git-r3 |
9206 |
- SRC_URI="" |
9207 |
- #KEYWORDS="" |
9208 |
-else |
9209 |
- MAJOR_V=$(ver_cut 1) |
9210 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
9211 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
9212 |
-fi |
9213 |
-S="${WORKDIR}/${MY_P}" |
9214 |
- |
9215 |
-GWP_V="20180120" |
9216 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
9217 |
- |
9218 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
9219 |
-HOMEPAGE="https://www.winehq.org/" |
9220 |
-SRC_URI="${SRC_URI} |
9221 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
9222 |
-" |
9223 |
- |
9224 |
-LICENSE="LGPL-2.1" |
9225 |
-SLOT="${PV}" |
9226 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
9227 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
9228 |
- X? ( truetype ) |
9229 |
- elibc_glibc? ( threads ) |
9230 |
- osmesa? ( opengl ) |
9231 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
9232 |
- |
9233 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
9234 |
-# or fail due to Xvfb's opengl limitations. |
9235 |
-RESTRICT="test" |
9236 |
- |
9237 |
-COMMON_DEPEND=" |
9238 |
- X? ( |
9239 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
9240 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
9241 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
9242 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
9243 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
9244 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
9245 |
- ) |
9246 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
9247 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
9248 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
9249 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
9250 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
9251 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
9252 |
- gstreamer? ( |
9253 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
9254 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
9255 |
- ) |
9256 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
9257 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
9258 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
9259 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
9260 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
9261 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
9262 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
9263 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
9264 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
9265 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
9266 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
9267 |
- opengl? ( |
9268 |
- virtual/glu[${MULTILIB_USEDEP}] |
9269 |
- virtual/opengl[${MULTILIB_USEDEP}] |
9270 |
- ) |
9271 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
9272 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
9273 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
9274 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
9275 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
9276 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
9277 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
9278 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
9279 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
9280 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
9281 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
9282 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
9283 |
- xml? ( |
9284 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
9285 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
9286 |
- )" |
9287 |
- |
9288 |
-RDEPEND="${COMMON_DEPEND} |
9289 |
- app-emulation/wine-desktop-common |
9290 |
- >app-eselect/eselect-wine-0.3 |
9291 |
- !app-emulation/wine:0 |
9292 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
9293 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
9294 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
9295 |
- perl? ( |
9296 |
- dev-lang/perl |
9297 |
- dev-perl/XML-Simple |
9298 |
- ) |
9299 |
- pulseaudio? ( |
9300 |
- realtime? ( sys-auth/rtkit ) |
9301 |
- ) |
9302 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
9303 |
- selinux? ( sec-policy/selinux-wine ) |
9304 |
- udisks? ( sys-fs/udisks:2 )" |
9305 |
- |
9306 |
-# tools/make_requests requires perl |
9307 |
-DEPEND="${COMMON_DEPEND} |
9308 |
- sys-devel/flex |
9309 |
- >=sys-kernel/linux-headers-2.6 |
9310 |
- virtual/pkgconfig |
9311 |
- virtual/yacc |
9312 |
- X? ( x11-base/xorg-proto ) |
9313 |
- prelink? ( sys-devel/prelink ) |
9314 |
- xinerama? ( x11-base/xorg-proto )" |
9315 |
- |
9316 |
-# These use a non-standard "Wine" category, which is provided by |
9317 |
-# /etc/xdg/applications-merged/wine.menu |
9318 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
9319 |
-usr/share/applications/wine-notepad.desktop |
9320 |
-usr/share/applications/wine-uninstaller.desktop |
9321 |
-usr/share/applications/wine-winecfg.desktop" |
9322 |
- |
9323 |
-PATCHES=( |
9324 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
9325 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
9326 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
9327 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
9328 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
9329 |
-) |
9330 |
-PATCHES_BIN=() |
9331 |
- |
9332 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
9333 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
9334 |
- DEPEND+=" dev-util/patchbin" |
9335 |
-fi |
9336 |
- |
9337 |
-wine_compiler_check() { |
9338 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
9339 |
- |
9340 |
- # GCC-specific bugs |
9341 |
- if tc-is-gcc; then |
9342 |
- # bug #549768 |
9343 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
9344 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
9345 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
9346 |
- # Run in subshell to prevent "Aborted" message |
9347 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
9348 |
- if ! eend $?; then |
9349 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
9350 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
9351 |
- eerror "or use gcc-config to select a different compiler version." |
9352 |
- eerror "See https://bugs.gentoo.org/549768" |
9353 |
- eerror |
9354 |
- return 1 |
9355 |
- fi |
9356 |
- fi |
9357 |
- # bug #574044 |
9358 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
9359 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
9360 |
- # Compile in subshell to prevent "Aborted" message |
9361 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
9362 |
- if ! eend $?; then |
9363 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
9364 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
9365 |
- eerror "or use gcc-config to select a different compiler version." |
9366 |
- eerror "See https://bugs.gentoo.org/574044" |
9367 |
- eerror |
9368 |
- return 1 |
9369 |
- fi |
9370 |
- fi |
9371 |
- fi |
9372 |
- |
9373 |
- # Ensure compiler support |
9374 |
- if use abi_x86_64; then |
9375 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
9376 |
- # Compile in subshell to prevent "Aborted" message |
9377 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
9378 |
- if ! eend $?; then |
9379 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
9380 |
- eerror |
9381 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
9382 |
- eerror |
9383 |
- return 1 |
9384 |
- fi |
9385 |
- fi |
9386 |
-} |
9387 |
- |
9388 |
-wine_build_environment_check() { |
9389 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
9390 |
- |
9391 |
- if use abi_x86_64; then |
9392 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
9393 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
9394 |
- die |
9395 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
9396 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
9397 |
- die |
9398 |
- fi |
9399 |
- fi |
9400 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
9401 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
9402 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
9403 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
9404 |
- fi |
9405 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
9406 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
9407 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
9408 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
9409 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
9410 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
9411 |
- fi |
9412 |
- fi |
9413 |
- |
9414 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
9415 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
9416 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
9417 |
- eerror |
9418 |
- return 1 |
9419 |
- fi |
9420 |
-} |
9421 |
- |
9422 |
-wine_env_vcs_vars() { |
9423 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
9424 |
- local pn_live_val="${pn_live_var}" |
9425 |
- eval pn_live_val='$'${pn_live_val} |
9426 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
9427 |
- eerror "Commits must now be specified using the environmental variables" |
9428 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
9429 |
- eerror |
9430 |
- return 1 |
9431 |
- fi |
9432 |
-} |
9433 |
- |
9434 |
-pkg_pretend() { |
9435 |
- wine_build_environment_check || die |
9436 |
- |
9437 |
- # Verify OSS support |
9438 |
- if use oss && ! use kernel_FreeBSD; then |
9439 |
- if ! has_version ">=media-sound/oss-4"; then |
9440 |
- eerror "You cannot build wine with USE=oss without having support from a" |
9441 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
9442 |
- eerror |
9443 |
- die |
9444 |
- fi |
9445 |
- fi |
9446 |
-} |
9447 |
- |
9448 |
-pkg_setup() { |
9449 |
- wine_build_environment_check || die |
9450 |
- wine_env_vcs_vars || die |
9451 |
- |
9452 |
- WINE_VARIANT="${PN#wine}-${PV}" |
9453 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
9454 |
- |
9455 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
9456 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
9457 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
9458 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
9459 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
9460 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
9461 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
9462 |
- MY_MANDIR="${MY_DATADIR}/man" |
9463 |
-} |
9464 |
- |
9465 |
-src_unpack() { |
9466 |
- if [[ ${PV} == "9999" ]] ; then |
9467 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
9468 |
- fi |
9469 |
- |
9470 |
- default |
9471 |
- |
9472 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
9473 |
-} |
9474 |
- |
9475 |
-src_prepare() { |
9476 |
- |
9477 |
- eapply_bin(){ |
9478 |
- local patch |
9479 |
- for patch in ${PATCHES_BIN[@]}; do |
9480 |
- patchbin --nogit < "${patch}" || die |
9481 |
- done |
9482 |
- } |
9483 |
- |
9484 |
- local md5="$(md5sum server/protocol.def)" |
9485 |
- |
9486 |
- default |
9487 |
- eapply_bin |
9488 |
- eautoreconf |
9489 |
- |
9490 |
- # Modification of the server protocol requires regenerating the server requests |
9491 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
9492 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
9493 |
- tools/make_requests || die #432348 |
9494 |
- fi |
9495 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
9496 |
- if ! use run-exes; then |
9497 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
9498 |
- fi |
9499 |
- |
9500 |
- # Edit wine.desktop to work for specific variant |
9501 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
9502 |
- |
9503 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
9504 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
9505 |
- |
9506 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
9507 |
- |
9508 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
9509 |
- # Requires wine-2.0-rearrange-manpages.patch |
9510 |
- |
9511 |
- # Duplicate manpages input files for wine64 |
9512 |
- local f |
9513 |
- for f in loader/*.man.in; do |
9514 |
- cp ${f} ${f/wine/wine64} || die |
9515 |
- done |
9516 |
- # Add wine64 manpages to Makefile |
9517 |
- if use abi_x86_64; then |
9518 |
- sed -i "/wine.man.in/i \ |
9519 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
9520 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
9521 |
-\164\2/' loader/Makefile.in || die |
9522 |
- fi |
9523 |
- |
9524 |
- rm_man_file(){ |
9525 |
- local file="${1}" |
9526 |
- loc=${2} |
9527 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
9528 |
- } |
9529 |
- |
9530 |
- while read f; do |
9531 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
9532 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
9533 |
-} |
9534 |
- |
9535 |
-src_configure() { |
9536 |
- wine_compiler_check || die |
9537 |
- |
9538 |
- export LDCONFIG=/bin/true |
9539 |
- use custom-cflags || strip-flags |
9540 |
- |
9541 |
- multilib-minimal_src_configure |
9542 |
-} |
9543 |
- |
9544 |
-multilib_src_configure() { |
9545 |
- local myconf=( |
9546 |
- --prefix="${MY_PREFIX}" |
9547 |
- --datarootdir="${MY_DATAROOTDIR}" |
9548 |
- --datadir="${MY_DATADIR}" |
9549 |
- --docdir="${MY_DOCDIR}" |
9550 |
- --includedir="${MY_INCLUDEDIR}" |
9551 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
9552 |
- --libexecdir="${MY_LIBEXECDIR}" |
9553 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
9554 |
- --mandir="${MY_MANDIR}" |
9555 |
- --sysconfdir=/etc/wine |
9556 |
- $(use_with alsa) |
9557 |
- $(use_with capi) |
9558 |
- $(use_with lcms cms) |
9559 |
- $(use_with cups) |
9560 |
- $(use_with ncurses curses) |
9561 |
- $(use_with udisks dbus) |
9562 |
- $(use_with fontconfig) |
9563 |
- $(use_with ssl gnutls) |
9564 |
- $(use_enable gecko mshtml) |
9565 |
- $(use_with gphoto2 gphoto) |
9566 |
- $(use_with gsm) |
9567 |
- $(use_with gstreamer) |
9568 |
- --without-hal |
9569 |
- $(use_with jpeg) |
9570 |
- $(use_with kerberos krb5) |
9571 |
- $(use_with ldap) |
9572 |
- $(use_enable mono mscoree) |
9573 |
- $(use_with mp3 mpg123) |
9574 |
- $(use_with netapi) |
9575 |
- $(use_with nls gettext) |
9576 |
- $(use_with openal) |
9577 |
- $(use_with opencl) |
9578 |
- $(use_with opengl) |
9579 |
- $(use_with osmesa) |
9580 |
- $(use_with oss) |
9581 |
- $(use_with pcap) |
9582 |
- $(use_with png) |
9583 |
- $(use_with pulseaudio pulse) |
9584 |
- $(use_with threads pthread) |
9585 |
- $(use_with scanner sane) |
9586 |
- $(use_enable test tests) |
9587 |
- $(use_with truetype freetype) |
9588 |
- $(use_with udev) |
9589 |
- $(use_with v4l) |
9590 |
- $(use_with X x) |
9591 |
- $(use_with X xfixes) |
9592 |
- $(use_with xcomposite) |
9593 |
- $(use_with xinerama) |
9594 |
- $(use_with xml) |
9595 |
- $(use_with xml xslt) |
9596 |
- ) |
9597 |
- |
9598 |
- local PKG_CONFIG AR RANLIB |
9599 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
9600 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
9601 |
- tc-export PKG_CONFIG AR RANLIB |
9602 |
- |
9603 |
- if use amd64; then |
9604 |
- if [[ ${ABI} == amd64 ]]; then |
9605 |
- myconf+=( --enable-win64 ) |
9606 |
- else |
9607 |
- myconf+=( --disable-win64 ) |
9608 |
- fi |
9609 |
- |
9610 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
9611 |
- # CC/LD hackery. We're using separate tools instead. |
9612 |
- fi |
9613 |
- |
9614 |
- ECONF_SOURCE=${S} \ |
9615 |
- econf "${myconf[@]}" |
9616 |
- emake depend |
9617 |
-} |
9618 |
- |
9619 |
-multilib_src_test() { |
9620 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
9621 |
- if [[ ${ABI} == x86 ]]; then |
9622 |
- if [[ $(id -u) == 0 ]]; then |
9623 |
- ewarn "Skipping tests since they cannot be run under the root user." |
9624 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
9625 |
- return |
9626 |
- fi |
9627 |
- |
9628 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
9629 |
- Xemake test |
9630 |
- fi |
9631 |
-} |
9632 |
- |
9633 |
-multilib_src_install_all() { |
9634 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
9635 |
- add_locale_docs() { |
9636 |
- local locale_doc="documentation/README.$1" |
9637 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
9638 |
- } |
9639 |
- l10n_for_each_locale_do add_locale_docs |
9640 |
- |
9641 |
- einstalldocs |
9642 |
- prune_libtool_files --all |
9643 |
- |
9644 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
9645 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
9646 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
9647 |
- fi |
9648 |
- |
9649 |
- # Remove wineconsole if neither backend is installed #551124 |
9650 |
- if ! use X && ! use ncurses; then |
9651 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
9652 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
9653 |
- rm_wineconsole() { |
9654 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
9655 |
- } |
9656 |
- multilib_foreach_abi rm_wineconsole |
9657 |
- fi |
9658 |
- |
9659 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
9660 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
9661 |
- |
9662 |
- if use abi_x86_64 && ! use abi_x86_32; then |
9663 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
9664 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
9665 |
- fi |
9666 |
- |
9667 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
9668 |
- eshopts_push -s failglob #615218 |
9669 |
- # Make wrappers for binaries for handling multiple variants |
9670 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
9671 |
- local b |
9672 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
9673 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
9674 |
- done |
9675 |
- eshopts_pop |
9676 |
-} |
9677 |
- |
9678 |
-pkg_postinst() { |
9679 |
- eselect wine register ${P} |
9680 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
9681 |
- eselect wine register --vanilla ${P} || die |
9682 |
- fi |
9683 |
- |
9684 |
- eselect wine update --all --if-unset || die |
9685 |
- |
9686 |
- xdg_desktop_database_update |
9687 |
- |
9688 |
- if ! use gecko; then |
9689 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
9690 |
- ewarn "implementation of iexplore. Many older windows applications" |
9691 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
9692 |
- ewarn "you will likely need to install an external one, like via winetricks" |
9693 |
- fi |
9694 |
- if ! use mono; then |
9695 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
9696 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
9697 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
9698 |
- ewarn "to install an external one, like via winetricks" |
9699 |
- fi |
9700 |
-} |
9701 |
- |
9702 |
-pkg_prerm() { |
9703 |
- eselect wine deregister ${P} |
9704 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
9705 |
- eselect wine deregister --vanilla ${P} || die |
9706 |
- fi |
9707 |
- |
9708 |
- eselect wine update --all --if-unset || die |
9709 |
-} |
9710 |
- |
9711 |
-pkg_postrm() { |
9712 |
- xdg_desktop_database_update |
9713 |
-} |
9714 |
|
9715 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.21.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.21.ebuild |
9716 |
deleted file mode 100644 |
9717 |
index 256b4de..0000000 |
9718 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.21.ebuild |
9719 |
+++ /dev/null |
9720 |
@@ -1,525 +0,0 @@ |
9721 |
-# Copyright 1999-2018 Gentoo Foundation |
9722 |
-# Distributed under the terms of the GNU General Public License v2 |
9723 |
- |
9724 |
-EAPI=6 |
9725 |
- |
9726 |
-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" |
9727 |
-PLOCALE_BACKUP="en" |
9728 |
- |
9729 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
9730 |
- |
9731 |
-MY_PN="${PN%%-*}" |
9732 |
-MY_P="${MY_PN}-${PV}" |
9733 |
- |
9734 |
-if [[ ${PV} == "9999" ]] ; then |
9735 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
9736 |
- EGIT_BRANCH="master" |
9737 |
- inherit git-r3 |
9738 |
- SRC_URI="" |
9739 |
- #KEYWORDS="" |
9740 |
-else |
9741 |
- MAJOR_V=$(ver_cut 1) |
9742 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
9743 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
9744 |
-fi |
9745 |
-S="${WORKDIR}/${MY_P}" |
9746 |
- |
9747 |
-GWP_V="20180120" |
9748 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
9749 |
- |
9750 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
9751 |
-HOMEPAGE="https://www.winehq.org/" |
9752 |
-SRC_URI="${SRC_URI} |
9753 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
9754 |
-" |
9755 |
- |
9756 |
-LICENSE="LGPL-2.1" |
9757 |
-SLOT="${PV}" |
9758 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
9759 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
9760 |
- X? ( truetype ) |
9761 |
- elibc_glibc? ( threads ) |
9762 |
- osmesa? ( opengl ) |
9763 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
9764 |
- |
9765 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
9766 |
-# or fail due to Xvfb's opengl limitations. |
9767 |
-RESTRICT="test" |
9768 |
- |
9769 |
-COMMON_DEPEND=" |
9770 |
- X? ( |
9771 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
9772 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
9773 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
9774 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
9775 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
9776 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
9777 |
- ) |
9778 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
9779 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
9780 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
9781 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
9782 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
9783 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
9784 |
- gstreamer? ( |
9785 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
9786 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
9787 |
- ) |
9788 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
9789 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
9790 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
9791 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
9792 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
9793 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
9794 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
9795 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
9796 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
9797 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
9798 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
9799 |
- opengl? ( |
9800 |
- virtual/glu[${MULTILIB_USEDEP}] |
9801 |
- virtual/opengl[${MULTILIB_USEDEP}] |
9802 |
- ) |
9803 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
9804 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
9805 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
9806 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
9807 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
9808 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
9809 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
9810 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
9811 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
9812 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
9813 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
9814 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
9815 |
- xml? ( |
9816 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
9817 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
9818 |
- )" |
9819 |
- |
9820 |
-RDEPEND="${COMMON_DEPEND} |
9821 |
- app-emulation/wine-desktop-common |
9822 |
- >app-eselect/eselect-wine-0.3 |
9823 |
- !app-emulation/wine:0 |
9824 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
9825 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
9826 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
9827 |
- perl? ( |
9828 |
- dev-lang/perl |
9829 |
- dev-perl/XML-Simple |
9830 |
- ) |
9831 |
- pulseaudio? ( |
9832 |
- realtime? ( sys-auth/rtkit ) |
9833 |
- ) |
9834 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
9835 |
- selinux? ( sec-policy/selinux-wine ) |
9836 |
- udisks? ( sys-fs/udisks:2 )" |
9837 |
- |
9838 |
-# tools/make_requests requires perl |
9839 |
-DEPEND="${COMMON_DEPEND} |
9840 |
- sys-devel/flex |
9841 |
- >=sys-kernel/linux-headers-2.6 |
9842 |
- virtual/pkgconfig |
9843 |
- virtual/yacc |
9844 |
- X? ( x11-base/xorg-proto ) |
9845 |
- prelink? ( sys-devel/prelink ) |
9846 |
- xinerama? ( x11-base/xorg-proto )" |
9847 |
- |
9848 |
-# These use a non-standard "Wine" category, which is provided by |
9849 |
-# /etc/xdg/applications-merged/wine.menu |
9850 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
9851 |
-usr/share/applications/wine-notepad.desktop |
9852 |
-usr/share/applications/wine-uninstaller.desktop |
9853 |
-usr/share/applications/wine-winecfg.desktop" |
9854 |
- |
9855 |
-PATCHES=( |
9856 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
9857 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
9858 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
9859 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
9860 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
9861 |
-) |
9862 |
-PATCHES_BIN=() |
9863 |
- |
9864 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
9865 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
9866 |
- DEPEND+=" dev-util/patchbin" |
9867 |
-fi |
9868 |
- |
9869 |
-wine_compiler_check() { |
9870 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
9871 |
- |
9872 |
- # GCC-specific bugs |
9873 |
- if tc-is-gcc; then |
9874 |
- # bug #549768 |
9875 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
9876 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
9877 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
9878 |
- # Run in subshell to prevent "Aborted" message |
9879 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
9880 |
- if ! eend $?; then |
9881 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
9882 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
9883 |
- eerror "or use gcc-config to select a different compiler version." |
9884 |
- eerror "See https://bugs.gentoo.org/549768" |
9885 |
- eerror |
9886 |
- return 1 |
9887 |
- fi |
9888 |
- fi |
9889 |
- # bug #574044 |
9890 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
9891 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
9892 |
- # Compile in subshell to prevent "Aborted" message |
9893 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
9894 |
- if ! eend $?; then |
9895 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
9896 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
9897 |
- eerror "or use gcc-config to select a different compiler version." |
9898 |
- eerror "See https://bugs.gentoo.org/574044" |
9899 |
- eerror |
9900 |
- return 1 |
9901 |
- fi |
9902 |
- fi |
9903 |
- fi |
9904 |
- |
9905 |
- # Ensure compiler support |
9906 |
- if use abi_x86_64; then |
9907 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
9908 |
- # Compile in subshell to prevent "Aborted" message |
9909 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
9910 |
- if ! eend $?; then |
9911 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
9912 |
- eerror |
9913 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
9914 |
- eerror |
9915 |
- return 1 |
9916 |
- fi |
9917 |
- fi |
9918 |
-} |
9919 |
- |
9920 |
-wine_build_environment_check() { |
9921 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
9922 |
- |
9923 |
- if use abi_x86_64; then |
9924 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
9925 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
9926 |
- die |
9927 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
9928 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
9929 |
- die |
9930 |
- fi |
9931 |
- fi |
9932 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
9933 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
9934 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
9935 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
9936 |
- fi |
9937 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
9938 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
9939 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
9940 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
9941 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
9942 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
9943 |
- fi |
9944 |
- fi |
9945 |
- |
9946 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
9947 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
9948 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
9949 |
- eerror |
9950 |
- return 1 |
9951 |
- fi |
9952 |
-} |
9953 |
- |
9954 |
-wine_env_vcs_vars() { |
9955 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
9956 |
- local pn_live_val="${pn_live_var}" |
9957 |
- eval pn_live_val='$'${pn_live_val} |
9958 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
9959 |
- eerror "Commits must now be specified using the environmental variables" |
9960 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
9961 |
- eerror |
9962 |
- return 1 |
9963 |
- fi |
9964 |
-} |
9965 |
- |
9966 |
-pkg_pretend() { |
9967 |
- wine_build_environment_check || die |
9968 |
- |
9969 |
- # Verify OSS support |
9970 |
- if use oss && ! use kernel_FreeBSD; then |
9971 |
- if ! has_version ">=media-sound/oss-4"; then |
9972 |
- eerror "You cannot build wine with USE=oss without having support from a" |
9973 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
9974 |
- eerror |
9975 |
- die |
9976 |
- fi |
9977 |
- fi |
9978 |
-} |
9979 |
- |
9980 |
-pkg_setup() { |
9981 |
- wine_build_environment_check || die |
9982 |
- wine_env_vcs_vars || die |
9983 |
- |
9984 |
- WINE_VARIANT="${PN#wine}-${PV}" |
9985 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
9986 |
- |
9987 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
9988 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
9989 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
9990 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
9991 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
9992 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
9993 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
9994 |
- MY_MANDIR="${MY_DATADIR}/man" |
9995 |
-} |
9996 |
- |
9997 |
-src_unpack() { |
9998 |
- if [[ ${PV} == "9999" ]] ; then |
9999 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
10000 |
- fi |
10001 |
- |
10002 |
- default |
10003 |
- |
10004 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
10005 |
-} |
10006 |
- |
10007 |
-src_prepare() { |
10008 |
- |
10009 |
- eapply_bin(){ |
10010 |
- local patch |
10011 |
- for patch in ${PATCHES_BIN[@]}; do |
10012 |
- patchbin --nogit < "${patch}" || die |
10013 |
- done |
10014 |
- } |
10015 |
- |
10016 |
- local md5="$(md5sum server/protocol.def)" |
10017 |
- |
10018 |
- default |
10019 |
- eapply_bin |
10020 |
- eautoreconf |
10021 |
- |
10022 |
- # Modification of the server protocol requires regenerating the server requests |
10023 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
10024 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
10025 |
- tools/make_requests || die #432348 |
10026 |
- fi |
10027 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
10028 |
- if ! use run-exes; then |
10029 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
10030 |
- fi |
10031 |
- |
10032 |
- # Edit wine.desktop to work for specific variant |
10033 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
10034 |
- |
10035 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
10036 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
10037 |
- |
10038 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
10039 |
- |
10040 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
10041 |
- # Requires wine-2.0-rearrange-manpages.patch |
10042 |
- |
10043 |
- # Duplicate manpages input files for wine64 |
10044 |
- local f |
10045 |
- for f in loader/*.man.in; do |
10046 |
- cp ${f} ${f/wine/wine64} || die |
10047 |
- done |
10048 |
- # Add wine64 manpages to Makefile |
10049 |
- if use abi_x86_64; then |
10050 |
- sed -i "/wine.man.in/i \ |
10051 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
10052 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
10053 |
-\164\2/' loader/Makefile.in || die |
10054 |
- fi |
10055 |
- |
10056 |
- rm_man_file(){ |
10057 |
- local file="${1}" |
10058 |
- loc=${2} |
10059 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
10060 |
- } |
10061 |
- |
10062 |
- while read f; do |
10063 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
10064 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
10065 |
-} |
10066 |
- |
10067 |
-src_configure() { |
10068 |
- wine_compiler_check || die |
10069 |
- |
10070 |
- export LDCONFIG=/bin/true |
10071 |
- use custom-cflags || strip-flags |
10072 |
- |
10073 |
- multilib-minimal_src_configure |
10074 |
-} |
10075 |
- |
10076 |
-multilib_src_configure() { |
10077 |
- local myconf=( |
10078 |
- --prefix="${MY_PREFIX}" |
10079 |
- --datarootdir="${MY_DATAROOTDIR}" |
10080 |
- --datadir="${MY_DATADIR}" |
10081 |
- --docdir="${MY_DOCDIR}" |
10082 |
- --includedir="${MY_INCLUDEDIR}" |
10083 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
10084 |
- --libexecdir="${MY_LIBEXECDIR}" |
10085 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
10086 |
- --mandir="${MY_MANDIR}" |
10087 |
- --sysconfdir=/etc/wine |
10088 |
- $(use_with alsa) |
10089 |
- $(use_with capi) |
10090 |
- $(use_with lcms cms) |
10091 |
- $(use_with cups) |
10092 |
- $(use_with ncurses curses) |
10093 |
- $(use_with udisks dbus) |
10094 |
- $(use_with fontconfig) |
10095 |
- $(use_with ssl gnutls) |
10096 |
- $(use_enable gecko mshtml) |
10097 |
- $(use_with gphoto2 gphoto) |
10098 |
- $(use_with gsm) |
10099 |
- $(use_with gstreamer) |
10100 |
- --without-hal |
10101 |
- $(use_with jpeg) |
10102 |
- $(use_with kerberos krb5) |
10103 |
- $(use_with ldap) |
10104 |
- $(use_enable mono mscoree) |
10105 |
- $(use_with mp3 mpg123) |
10106 |
- $(use_with netapi) |
10107 |
- $(use_with nls gettext) |
10108 |
- $(use_with openal) |
10109 |
- $(use_with opencl) |
10110 |
- $(use_with opengl) |
10111 |
- $(use_with osmesa) |
10112 |
- $(use_with oss) |
10113 |
- $(use_with pcap) |
10114 |
- $(use_with png) |
10115 |
- $(use_with pulseaudio pulse) |
10116 |
- $(use_with threads pthread) |
10117 |
- $(use_with scanner sane) |
10118 |
- $(use_enable test tests) |
10119 |
- $(use_with truetype freetype) |
10120 |
- $(use_with udev) |
10121 |
- $(use_with v4l) |
10122 |
- $(use_with X x) |
10123 |
- $(use_with X xfixes) |
10124 |
- $(use_with xcomposite) |
10125 |
- $(use_with xinerama) |
10126 |
- $(use_with xml) |
10127 |
- $(use_with xml xslt) |
10128 |
- ) |
10129 |
- |
10130 |
- local PKG_CONFIG AR RANLIB |
10131 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
10132 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
10133 |
- tc-export PKG_CONFIG AR RANLIB |
10134 |
- |
10135 |
- if use amd64; then |
10136 |
- if [[ ${ABI} == amd64 ]]; then |
10137 |
- myconf+=( --enable-win64 ) |
10138 |
- else |
10139 |
- myconf+=( --disable-win64 ) |
10140 |
- fi |
10141 |
- |
10142 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
10143 |
- # CC/LD hackery. We're using separate tools instead. |
10144 |
- fi |
10145 |
- |
10146 |
- ECONF_SOURCE=${S} \ |
10147 |
- econf "${myconf[@]}" |
10148 |
- emake depend |
10149 |
-} |
10150 |
- |
10151 |
-multilib_src_test() { |
10152 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
10153 |
- if [[ ${ABI} == x86 ]]; then |
10154 |
- if [[ $(id -u) == 0 ]]; then |
10155 |
- ewarn "Skipping tests since they cannot be run under the root user." |
10156 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
10157 |
- return |
10158 |
- fi |
10159 |
- |
10160 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
10161 |
- Xemake test |
10162 |
- fi |
10163 |
-} |
10164 |
- |
10165 |
-multilib_src_install_all() { |
10166 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
10167 |
- add_locale_docs() { |
10168 |
- local locale_doc="documentation/README.$1" |
10169 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
10170 |
- } |
10171 |
- l10n_for_each_locale_do add_locale_docs |
10172 |
- |
10173 |
- einstalldocs |
10174 |
- prune_libtool_files --all |
10175 |
- |
10176 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
10177 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
10178 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
10179 |
- fi |
10180 |
- |
10181 |
- # Remove wineconsole if neither backend is installed #551124 |
10182 |
- if ! use X && ! use ncurses; then |
10183 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
10184 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
10185 |
- rm_wineconsole() { |
10186 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
10187 |
- } |
10188 |
- multilib_foreach_abi rm_wineconsole |
10189 |
- fi |
10190 |
- |
10191 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
10192 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
10193 |
- |
10194 |
- if use abi_x86_64 && ! use abi_x86_32; then |
10195 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
10196 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
10197 |
- fi |
10198 |
- |
10199 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
10200 |
- eshopts_push -s failglob #615218 |
10201 |
- # Make wrappers for binaries for handling multiple variants |
10202 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
10203 |
- local b |
10204 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
10205 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
10206 |
- done |
10207 |
- eshopts_pop |
10208 |
-} |
10209 |
- |
10210 |
-pkg_postinst() { |
10211 |
- eselect wine register ${P} |
10212 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
10213 |
- eselect wine register --vanilla ${P} || die |
10214 |
- fi |
10215 |
- |
10216 |
- eselect wine update --all --if-unset || die |
10217 |
- |
10218 |
- xdg_desktop_database_update |
10219 |
- |
10220 |
- if ! use gecko; then |
10221 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
10222 |
- ewarn "implementation of iexplore. Many older windows applications" |
10223 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
10224 |
- ewarn "you will likely need to install an external one, like via winetricks" |
10225 |
- fi |
10226 |
- if ! use mono; then |
10227 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
10228 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
10229 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
10230 |
- ewarn "to install an external one, like via winetricks" |
10231 |
- fi |
10232 |
-} |
10233 |
- |
10234 |
-pkg_prerm() { |
10235 |
- eselect wine deregister ${P} |
10236 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
10237 |
- eselect wine deregister --vanilla ${P} || die |
10238 |
- fi |
10239 |
- |
10240 |
- eselect wine update --all --if-unset || die |
10241 |
-} |
10242 |
- |
10243 |
-pkg_postrm() { |
10244 |
- xdg_desktop_database_update |
10245 |
-} |
10246 |
|
10247 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.22.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.22.ebuild |
10248 |
deleted file mode 100644 |
10249 |
index 256b4de..0000000 |
10250 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.22.ebuild |
10251 |
+++ /dev/null |
10252 |
@@ -1,525 +0,0 @@ |
10253 |
-# Copyright 1999-2018 Gentoo Foundation |
10254 |
-# Distributed under the terms of the GNU General Public License v2 |
10255 |
- |
10256 |
-EAPI=6 |
10257 |
- |
10258 |
-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" |
10259 |
-PLOCALE_BACKUP="en" |
10260 |
- |
10261 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
10262 |
- |
10263 |
-MY_PN="${PN%%-*}" |
10264 |
-MY_P="${MY_PN}-${PV}" |
10265 |
- |
10266 |
-if [[ ${PV} == "9999" ]] ; then |
10267 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
10268 |
- EGIT_BRANCH="master" |
10269 |
- inherit git-r3 |
10270 |
- SRC_URI="" |
10271 |
- #KEYWORDS="" |
10272 |
-else |
10273 |
- MAJOR_V=$(ver_cut 1) |
10274 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
10275 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
10276 |
-fi |
10277 |
-S="${WORKDIR}/${MY_P}" |
10278 |
- |
10279 |
-GWP_V="20180120" |
10280 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
10281 |
- |
10282 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
10283 |
-HOMEPAGE="https://www.winehq.org/" |
10284 |
-SRC_URI="${SRC_URI} |
10285 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
10286 |
-" |
10287 |
- |
10288 |
-LICENSE="LGPL-2.1" |
10289 |
-SLOT="${PV}" |
10290 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
10291 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
10292 |
- X? ( truetype ) |
10293 |
- elibc_glibc? ( threads ) |
10294 |
- osmesa? ( opengl ) |
10295 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
10296 |
- |
10297 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
10298 |
-# or fail due to Xvfb's opengl limitations. |
10299 |
-RESTRICT="test" |
10300 |
- |
10301 |
-COMMON_DEPEND=" |
10302 |
- X? ( |
10303 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
10304 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
10305 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
10306 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
10307 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
10308 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
10309 |
- ) |
10310 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
10311 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
10312 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
10313 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
10314 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
10315 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
10316 |
- gstreamer? ( |
10317 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
10318 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
10319 |
- ) |
10320 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
10321 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
10322 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
10323 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
10324 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
10325 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
10326 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
10327 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
10328 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
10329 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
10330 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
10331 |
- opengl? ( |
10332 |
- virtual/glu[${MULTILIB_USEDEP}] |
10333 |
- virtual/opengl[${MULTILIB_USEDEP}] |
10334 |
- ) |
10335 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
10336 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
10337 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
10338 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
10339 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
10340 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
10341 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
10342 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
10343 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
10344 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
10345 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
10346 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
10347 |
- xml? ( |
10348 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
10349 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
10350 |
- )" |
10351 |
- |
10352 |
-RDEPEND="${COMMON_DEPEND} |
10353 |
- app-emulation/wine-desktop-common |
10354 |
- >app-eselect/eselect-wine-0.3 |
10355 |
- !app-emulation/wine:0 |
10356 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
10357 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
10358 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
10359 |
- perl? ( |
10360 |
- dev-lang/perl |
10361 |
- dev-perl/XML-Simple |
10362 |
- ) |
10363 |
- pulseaudio? ( |
10364 |
- realtime? ( sys-auth/rtkit ) |
10365 |
- ) |
10366 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
10367 |
- selinux? ( sec-policy/selinux-wine ) |
10368 |
- udisks? ( sys-fs/udisks:2 )" |
10369 |
- |
10370 |
-# tools/make_requests requires perl |
10371 |
-DEPEND="${COMMON_DEPEND} |
10372 |
- sys-devel/flex |
10373 |
- >=sys-kernel/linux-headers-2.6 |
10374 |
- virtual/pkgconfig |
10375 |
- virtual/yacc |
10376 |
- X? ( x11-base/xorg-proto ) |
10377 |
- prelink? ( sys-devel/prelink ) |
10378 |
- xinerama? ( x11-base/xorg-proto )" |
10379 |
- |
10380 |
-# These use a non-standard "Wine" category, which is provided by |
10381 |
-# /etc/xdg/applications-merged/wine.menu |
10382 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
10383 |
-usr/share/applications/wine-notepad.desktop |
10384 |
-usr/share/applications/wine-uninstaller.desktop |
10385 |
-usr/share/applications/wine-winecfg.desktop" |
10386 |
- |
10387 |
-PATCHES=( |
10388 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
10389 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
10390 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
10391 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
10392 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
10393 |
-) |
10394 |
-PATCHES_BIN=() |
10395 |
- |
10396 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
10397 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
10398 |
- DEPEND+=" dev-util/patchbin" |
10399 |
-fi |
10400 |
- |
10401 |
-wine_compiler_check() { |
10402 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
10403 |
- |
10404 |
- # GCC-specific bugs |
10405 |
- if tc-is-gcc; then |
10406 |
- # bug #549768 |
10407 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
10408 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
10409 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
10410 |
- # Run in subshell to prevent "Aborted" message |
10411 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
10412 |
- if ! eend $?; then |
10413 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
10414 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
10415 |
- eerror "or use gcc-config to select a different compiler version." |
10416 |
- eerror "See https://bugs.gentoo.org/549768" |
10417 |
- eerror |
10418 |
- return 1 |
10419 |
- fi |
10420 |
- fi |
10421 |
- # bug #574044 |
10422 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
10423 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
10424 |
- # Compile in subshell to prevent "Aborted" message |
10425 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
10426 |
- if ! eend $?; then |
10427 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
10428 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
10429 |
- eerror "or use gcc-config to select a different compiler version." |
10430 |
- eerror "See https://bugs.gentoo.org/574044" |
10431 |
- eerror |
10432 |
- return 1 |
10433 |
- fi |
10434 |
- fi |
10435 |
- fi |
10436 |
- |
10437 |
- # Ensure compiler support |
10438 |
- if use abi_x86_64; then |
10439 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
10440 |
- # Compile in subshell to prevent "Aborted" message |
10441 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
10442 |
- if ! eend $?; then |
10443 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
10444 |
- eerror |
10445 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
10446 |
- eerror |
10447 |
- return 1 |
10448 |
- fi |
10449 |
- fi |
10450 |
-} |
10451 |
- |
10452 |
-wine_build_environment_check() { |
10453 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
10454 |
- |
10455 |
- if use abi_x86_64; then |
10456 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
10457 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
10458 |
- die |
10459 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
10460 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
10461 |
- die |
10462 |
- fi |
10463 |
- fi |
10464 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
10465 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
10466 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
10467 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
10468 |
- fi |
10469 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
10470 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
10471 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
10472 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
10473 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
10474 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
10475 |
- fi |
10476 |
- fi |
10477 |
- |
10478 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
10479 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
10480 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
10481 |
- eerror |
10482 |
- return 1 |
10483 |
- fi |
10484 |
-} |
10485 |
- |
10486 |
-wine_env_vcs_vars() { |
10487 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
10488 |
- local pn_live_val="${pn_live_var}" |
10489 |
- eval pn_live_val='$'${pn_live_val} |
10490 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
10491 |
- eerror "Commits must now be specified using the environmental variables" |
10492 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
10493 |
- eerror |
10494 |
- return 1 |
10495 |
- fi |
10496 |
-} |
10497 |
- |
10498 |
-pkg_pretend() { |
10499 |
- wine_build_environment_check || die |
10500 |
- |
10501 |
- # Verify OSS support |
10502 |
- if use oss && ! use kernel_FreeBSD; then |
10503 |
- if ! has_version ">=media-sound/oss-4"; then |
10504 |
- eerror "You cannot build wine with USE=oss without having support from a" |
10505 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
10506 |
- eerror |
10507 |
- die |
10508 |
- fi |
10509 |
- fi |
10510 |
-} |
10511 |
- |
10512 |
-pkg_setup() { |
10513 |
- wine_build_environment_check || die |
10514 |
- wine_env_vcs_vars || die |
10515 |
- |
10516 |
- WINE_VARIANT="${PN#wine}-${PV}" |
10517 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
10518 |
- |
10519 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
10520 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
10521 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
10522 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
10523 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
10524 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
10525 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
10526 |
- MY_MANDIR="${MY_DATADIR}/man" |
10527 |
-} |
10528 |
- |
10529 |
-src_unpack() { |
10530 |
- if [[ ${PV} == "9999" ]] ; then |
10531 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
10532 |
- fi |
10533 |
- |
10534 |
- default |
10535 |
- |
10536 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
10537 |
-} |
10538 |
- |
10539 |
-src_prepare() { |
10540 |
- |
10541 |
- eapply_bin(){ |
10542 |
- local patch |
10543 |
- for patch in ${PATCHES_BIN[@]}; do |
10544 |
- patchbin --nogit < "${patch}" || die |
10545 |
- done |
10546 |
- } |
10547 |
- |
10548 |
- local md5="$(md5sum server/protocol.def)" |
10549 |
- |
10550 |
- default |
10551 |
- eapply_bin |
10552 |
- eautoreconf |
10553 |
- |
10554 |
- # Modification of the server protocol requires regenerating the server requests |
10555 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
10556 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
10557 |
- tools/make_requests || die #432348 |
10558 |
- fi |
10559 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
10560 |
- if ! use run-exes; then |
10561 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
10562 |
- fi |
10563 |
- |
10564 |
- # Edit wine.desktop to work for specific variant |
10565 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
10566 |
- |
10567 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
10568 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
10569 |
- |
10570 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
10571 |
- |
10572 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
10573 |
- # Requires wine-2.0-rearrange-manpages.patch |
10574 |
- |
10575 |
- # Duplicate manpages input files for wine64 |
10576 |
- local f |
10577 |
- for f in loader/*.man.in; do |
10578 |
- cp ${f} ${f/wine/wine64} || die |
10579 |
- done |
10580 |
- # Add wine64 manpages to Makefile |
10581 |
- if use abi_x86_64; then |
10582 |
- sed -i "/wine.man.in/i \ |
10583 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
10584 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
10585 |
-\164\2/' loader/Makefile.in || die |
10586 |
- fi |
10587 |
- |
10588 |
- rm_man_file(){ |
10589 |
- local file="${1}" |
10590 |
- loc=${2} |
10591 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
10592 |
- } |
10593 |
- |
10594 |
- while read f; do |
10595 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
10596 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
10597 |
-} |
10598 |
- |
10599 |
-src_configure() { |
10600 |
- wine_compiler_check || die |
10601 |
- |
10602 |
- export LDCONFIG=/bin/true |
10603 |
- use custom-cflags || strip-flags |
10604 |
- |
10605 |
- multilib-minimal_src_configure |
10606 |
-} |
10607 |
- |
10608 |
-multilib_src_configure() { |
10609 |
- local myconf=( |
10610 |
- --prefix="${MY_PREFIX}" |
10611 |
- --datarootdir="${MY_DATAROOTDIR}" |
10612 |
- --datadir="${MY_DATADIR}" |
10613 |
- --docdir="${MY_DOCDIR}" |
10614 |
- --includedir="${MY_INCLUDEDIR}" |
10615 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
10616 |
- --libexecdir="${MY_LIBEXECDIR}" |
10617 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
10618 |
- --mandir="${MY_MANDIR}" |
10619 |
- --sysconfdir=/etc/wine |
10620 |
- $(use_with alsa) |
10621 |
- $(use_with capi) |
10622 |
- $(use_with lcms cms) |
10623 |
- $(use_with cups) |
10624 |
- $(use_with ncurses curses) |
10625 |
- $(use_with udisks dbus) |
10626 |
- $(use_with fontconfig) |
10627 |
- $(use_with ssl gnutls) |
10628 |
- $(use_enable gecko mshtml) |
10629 |
- $(use_with gphoto2 gphoto) |
10630 |
- $(use_with gsm) |
10631 |
- $(use_with gstreamer) |
10632 |
- --without-hal |
10633 |
- $(use_with jpeg) |
10634 |
- $(use_with kerberos krb5) |
10635 |
- $(use_with ldap) |
10636 |
- $(use_enable mono mscoree) |
10637 |
- $(use_with mp3 mpg123) |
10638 |
- $(use_with netapi) |
10639 |
- $(use_with nls gettext) |
10640 |
- $(use_with openal) |
10641 |
- $(use_with opencl) |
10642 |
- $(use_with opengl) |
10643 |
- $(use_with osmesa) |
10644 |
- $(use_with oss) |
10645 |
- $(use_with pcap) |
10646 |
- $(use_with png) |
10647 |
- $(use_with pulseaudio pulse) |
10648 |
- $(use_with threads pthread) |
10649 |
- $(use_with scanner sane) |
10650 |
- $(use_enable test tests) |
10651 |
- $(use_with truetype freetype) |
10652 |
- $(use_with udev) |
10653 |
- $(use_with v4l) |
10654 |
- $(use_with X x) |
10655 |
- $(use_with X xfixes) |
10656 |
- $(use_with xcomposite) |
10657 |
- $(use_with xinerama) |
10658 |
- $(use_with xml) |
10659 |
- $(use_with xml xslt) |
10660 |
- ) |
10661 |
- |
10662 |
- local PKG_CONFIG AR RANLIB |
10663 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
10664 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
10665 |
- tc-export PKG_CONFIG AR RANLIB |
10666 |
- |
10667 |
- if use amd64; then |
10668 |
- if [[ ${ABI} == amd64 ]]; then |
10669 |
- myconf+=( --enable-win64 ) |
10670 |
- else |
10671 |
- myconf+=( --disable-win64 ) |
10672 |
- fi |
10673 |
- |
10674 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
10675 |
- # CC/LD hackery. We're using separate tools instead. |
10676 |
- fi |
10677 |
- |
10678 |
- ECONF_SOURCE=${S} \ |
10679 |
- econf "${myconf[@]}" |
10680 |
- emake depend |
10681 |
-} |
10682 |
- |
10683 |
-multilib_src_test() { |
10684 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
10685 |
- if [[ ${ABI} == x86 ]]; then |
10686 |
- if [[ $(id -u) == 0 ]]; then |
10687 |
- ewarn "Skipping tests since they cannot be run under the root user." |
10688 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
10689 |
- return |
10690 |
- fi |
10691 |
- |
10692 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
10693 |
- Xemake test |
10694 |
- fi |
10695 |
-} |
10696 |
- |
10697 |
-multilib_src_install_all() { |
10698 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
10699 |
- add_locale_docs() { |
10700 |
- local locale_doc="documentation/README.$1" |
10701 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
10702 |
- } |
10703 |
- l10n_for_each_locale_do add_locale_docs |
10704 |
- |
10705 |
- einstalldocs |
10706 |
- prune_libtool_files --all |
10707 |
- |
10708 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
10709 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
10710 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
10711 |
- fi |
10712 |
- |
10713 |
- # Remove wineconsole if neither backend is installed #551124 |
10714 |
- if ! use X && ! use ncurses; then |
10715 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
10716 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
10717 |
- rm_wineconsole() { |
10718 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
10719 |
- } |
10720 |
- multilib_foreach_abi rm_wineconsole |
10721 |
- fi |
10722 |
- |
10723 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
10724 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
10725 |
- |
10726 |
- if use abi_x86_64 && ! use abi_x86_32; then |
10727 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
10728 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
10729 |
- fi |
10730 |
- |
10731 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
10732 |
- eshopts_push -s failglob #615218 |
10733 |
- # Make wrappers for binaries for handling multiple variants |
10734 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
10735 |
- local b |
10736 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
10737 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
10738 |
- done |
10739 |
- eshopts_pop |
10740 |
-} |
10741 |
- |
10742 |
-pkg_postinst() { |
10743 |
- eselect wine register ${P} |
10744 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
10745 |
- eselect wine register --vanilla ${P} || die |
10746 |
- fi |
10747 |
- |
10748 |
- eselect wine update --all --if-unset || die |
10749 |
- |
10750 |
- xdg_desktop_database_update |
10751 |
- |
10752 |
- if ! use gecko; then |
10753 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
10754 |
- ewarn "implementation of iexplore. Many older windows applications" |
10755 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
10756 |
- ewarn "you will likely need to install an external one, like via winetricks" |
10757 |
- fi |
10758 |
- if ! use mono; then |
10759 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
10760 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
10761 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
10762 |
- ewarn "to install an external one, like via winetricks" |
10763 |
- fi |
10764 |
-} |
10765 |
- |
10766 |
-pkg_prerm() { |
10767 |
- eselect wine deregister ${P} |
10768 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
10769 |
- eselect wine deregister --vanilla ${P} || die |
10770 |
- fi |
10771 |
- |
10772 |
- eselect wine update --all --if-unset || die |
10773 |
-} |
10774 |
- |
10775 |
-pkg_postrm() { |
10776 |
- xdg_desktop_database_update |
10777 |
-} |
10778 |
|
10779 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.3-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.3-r1.ebuild |
10780 |
deleted file mode 100644 |
10781 |
index aa47b91..0000000 |
10782 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.3-r1.ebuild |
10783 |
+++ /dev/null |
10784 |
@@ -1,525 +0,0 @@ |
10785 |
-# Copyright 1999-2018 Gentoo Foundation |
10786 |
-# Distributed under the terms of the GNU General Public License v2 |
10787 |
- |
10788 |
-EAPI=6 |
10789 |
- |
10790 |
-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" |
10791 |
-PLOCALE_BACKUP="en" |
10792 |
- |
10793 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
10794 |
- |
10795 |
-MY_PN="${PN%%-*}" |
10796 |
-MY_P="${MY_PN}-${PV}" |
10797 |
- |
10798 |
-if [[ ${PV} == "9999" ]] ; then |
10799 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
10800 |
- EGIT_BRANCH="master" |
10801 |
- inherit git-r3 |
10802 |
- SRC_URI="" |
10803 |
- #KEYWORDS="" |
10804 |
-else |
10805 |
- MAJOR_V=$(ver_cut 1) |
10806 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
10807 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
10808 |
-fi |
10809 |
-S="${WORKDIR}/${MY_P}" |
10810 |
- |
10811 |
-GWP_V="20180120" |
10812 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
10813 |
- |
10814 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
10815 |
-HOMEPAGE="https://www.winehq.org/" |
10816 |
-SRC_URI="${SRC_URI} |
10817 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
10818 |
-" |
10819 |
- |
10820 |
-LICENSE="LGPL-2.1" |
10821 |
-SLOT="${PV}" |
10822 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
10823 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
10824 |
- X? ( truetype ) |
10825 |
- elibc_glibc? ( threads ) |
10826 |
- osmesa? ( opengl ) |
10827 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
10828 |
- |
10829 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
10830 |
-# or fail due to Xvfb's opengl limitations. |
10831 |
-RESTRICT="test" |
10832 |
- |
10833 |
-COMMON_DEPEND=" |
10834 |
- X? ( |
10835 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
10836 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
10837 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
10838 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
10839 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
10840 |
- ) |
10841 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
10842 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
10843 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
10844 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
10845 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
10846 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
10847 |
- gstreamer? ( |
10848 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
10849 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
10850 |
- ) |
10851 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
10852 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
10853 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
10854 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
10855 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
10856 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
10857 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
10858 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
10859 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
10860 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
10861 |
- opengl? ( |
10862 |
- virtual/glu[${MULTILIB_USEDEP}] |
10863 |
- virtual/opengl[${MULTILIB_USEDEP}] |
10864 |
- ) |
10865 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
10866 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
10867 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
10868 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
10869 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
10870 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
10871 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
10872 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
10873 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
10874 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
10875 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
10876 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
10877 |
- xml? ( |
10878 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
10879 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
10880 |
- )" |
10881 |
- |
10882 |
-RDEPEND="${COMMON_DEPEND} |
10883 |
- app-emulation/wine-desktop-common |
10884 |
- >app-eselect/eselect-wine-0.3 |
10885 |
- !app-emulation/wine:0 |
10886 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
10887 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
10888 |
- mono? ( app-emulation/wine-mono:4.6.4 ) |
10889 |
- perl? ( |
10890 |
- dev-lang/perl |
10891 |
- dev-perl/XML-Simple |
10892 |
- ) |
10893 |
- pulseaudio? ( |
10894 |
- realtime? ( sys-auth/rtkit ) |
10895 |
- ) |
10896 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
10897 |
- selinux? ( sec-policy/selinux-wine ) |
10898 |
- udisks? ( sys-fs/udisks:2 )" |
10899 |
- |
10900 |
-# tools/make_requests requires perl |
10901 |
-DEPEND="${COMMON_DEPEND} |
10902 |
- sys-devel/flex |
10903 |
- >=sys-kernel/linux-headers-2.6 |
10904 |
- virtual/pkgconfig |
10905 |
- virtual/yacc |
10906 |
- X? ( x11-base/xorg-proto ) |
10907 |
- prelink? ( sys-devel/prelink ) |
10908 |
- xinerama? ( x11-base/xorg-proto )" |
10909 |
- |
10910 |
-# These use a non-standard "Wine" category, which is provided by |
10911 |
-# /etc/xdg/applications-merged/wine.menu |
10912 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
10913 |
-usr/share/applications/wine-notepad.desktop |
10914 |
-usr/share/applications/wine-uninstaller.desktop |
10915 |
-usr/share/applications/wine-winecfg.desktop" |
10916 |
- |
10917 |
-PATCHES=( |
10918 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
10919 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
10920 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
10921 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
10922 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
10923 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
10924 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
10925 |
-) |
10926 |
-PATCHES_BIN=( |
10927 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
10928 |
-) |
10929 |
- |
10930 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
10931 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
10932 |
- DEPEND+=" dev-util/patchbin" |
10933 |
-fi |
10934 |
- |
10935 |
-wine_compiler_check() { |
10936 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
10937 |
- |
10938 |
- # GCC-specific bugs |
10939 |
- if tc-is-gcc; then |
10940 |
- # bug #549768 |
10941 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
10942 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
10943 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
10944 |
- # Run in subshell to prevent "Aborted" message |
10945 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
10946 |
- if ! eend $?; then |
10947 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
10948 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
10949 |
- eerror "or use gcc-config to select a different compiler version." |
10950 |
- eerror "See https://bugs.gentoo.org/549768" |
10951 |
- eerror |
10952 |
- return 1 |
10953 |
- fi |
10954 |
- fi |
10955 |
- # bug #574044 |
10956 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
10957 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
10958 |
- # Compile in subshell to prevent "Aborted" message |
10959 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
10960 |
- if ! eend $?; then |
10961 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
10962 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
10963 |
- eerror "or use gcc-config to select a different compiler version." |
10964 |
- eerror "See https://bugs.gentoo.org/574044" |
10965 |
- eerror |
10966 |
- return 1 |
10967 |
- fi |
10968 |
- fi |
10969 |
- fi |
10970 |
- |
10971 |
- # Ensure compiler support |
10972 |
- if use abi_x86_64; then |
10973 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
10974 |
- # Compile in subshell to prevent "Aborted" message |
10975 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
10976 |
- if ! eend $?; then |
10977 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
10978 |
- eerror |
10979 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
10980 |
- eerror |
10981 |
- return 1 |
10982 |
- fi |
10983 |
- fi |
10984 |
-} |
10985 |
- |
10986 |
-wine_build_environment_check() { |
10987 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
10988 |
- |
10989 |
- if use abi_x86_64; then |
10990 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
10991 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
10992 |
- die |
10993 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
10994 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
10995 |
- die |
10996 |
- fi |
10997 |
- fi |
10998 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
10999 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
11000 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
11001 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
11002 |
- fi |
11003 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
11004 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
11005 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
11006 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
11007 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
11008 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
11009 |
- fi |
11010 |
- fi |
11011 |
- |
11012 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
11013 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
11014 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
11015 |
- eerror |
11016 |
- return 1 |
11017 |
- fi |
11018 |
-} |
11019 |
- |
11020 |
-wine_env_vcs_vars() { |
11021 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
11022 |
- local pn_live_val="${pn_live_var}" |
11023 |
- eval pn_live_val='$'${pn_live_val} |
11024 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
11025 |
- eerror "Commits must now be specified using the environmental variables" |
11026 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
11027 |
- eerror |
11028 |
- return 1 |
11029 |
- fi |
11030 |
-} |
11031 |
- |
11032 |
-pkg_pretend() { |
11033 |
- wine_build_environment_check || die |
11034 |
- |
11035 |
- # Verify OSS support |
11036 |
- if use oss && ! use kernel_FreeBSD; then |
11037 |
- if ! has_version ">=media-sound/oss-4"; then |
11038 |
- eerror "You cannot build wine with USE=oss without having support from a" |
11039 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
11040 |
- eerror |
11041 |
- die |
11042 |
- fi |
11043 |
- fi |
11044 |
-} |
11045 |
- |
11046 |
-pkg_setup() { |
11047 |
- wine_build_environment_check || die |
11048 |
- wine_env_vcs_vars || die |
11049 |
- |
11050 |
- WINE_VARIANT="${PN#wine}-${PV}" |
11051 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
11052 |
- |
11053 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
11054 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
11055 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
11056 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
11057 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
11058 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
11059 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
11060 |
- MY_MANDIR="${MY_DATADIR}/man" |
11061 |
-} |
11062 |
- |
11063 |
-src_unpack() { |
11064 |
- if [[ ${PV} == "9999" ]] ; then |
11065 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
11066 |
- fi |
11067 |
- |
11068 |
- default |
11069 |
- |
11070 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
11071 |
-} |
11072 |
- |
11073 |
-src_prepare() { |
11074 |
- |
11075 |
- eapply_bin(){ |
11076 |
- local patch |
11077 |
- for patch in ${PATCHES_BIN[@]}; do |
11078 |
- patchbin --nogit < "${patch}" || die |
11079 |
- done |
11080 |
- } |
11081 |
- |
11082 |
- local md5="$(md5sum server/protocol.def)" |
11083 |
- |
11084 |
- default |
11085 |
- eapply_bin |
11086 |
- eautoreconf |
11087 |
- |
11088 |
- # Modification of the server protocol requires regenerating the server requests |
11089 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
11090 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
11091 |
- tools/make_requests || die #432348 |
11092 |
- fi |
11093 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
11094 |
- if ! use run-exes; then |
11095 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
11096 |
- fi |
11097 |
- |
11098 |
- # Edit wine.desktop to work for specific variant |
11099 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
11100 |
- |
11101 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
11102 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
11103 |
- |
11104 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
11105 |
- |
11106 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
11107 |
- # Requires wine-2.0-rearrange-manpages.patch |
11108 |
- |
11109 |
- # Duplicate manpages input files for wine64 |
11110 |
- local f |
11111 |
- for f in loader/*.man.in; do |
11112 |
- cp ${f} ${f/wine/wine64} || die |
11113 |
- done |
11114 |
- # Add wine64 manpages to Makefile |
11115 |
- if use abi_x86_64; then |
11116 |
- sed -i "/wine.man.in/i \ |
11117 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
11118 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
11119 |
-\164\2/' loader/Makefile.in || die |
11120 |
- fi |
11121 |
- |
11122 |
- rm_man_file(){ |
11123 |
- local file="${1}" |
11124 |
- loc=${2} |
11125 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
11126 |
- } |
11127 |
- |
11128 |
- while read f; do |
11129 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
11130 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
11131 |
-} |
11132 |
- |
11133 |
-src_configure() { |
11134 |
- wine_compiler_check || die |
11135 |
- |
11136 |
- export LDCONFIG=/bin/true |
11137 |
- use custom-cflags || strip-flags |
11138 |
- |
11139 |
- multilib-minimal_src_configure |
11140 |
-} |
11141 |
- |
11142 |
-multilib_src_configure() { |
11143 |
- local myconf=( |
11144 |
- --prefix="${MY_PREFIX}" |
11145 |
- --datarootdir="${MY_DATAROOTDIR}" |
11146 |
- --datadir="${MY_DATADIR}" |
11147 |
- --docdir="${MY_DOCDIR}" |
11148 |
- --includedir="${MY_INCLUDEDIR}" |
11149 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
11150 |
- --libexecdir="${MY_LIBEXECDIR}" |
11151 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
11152 |
- --mandir="${MY_MANDIR}" |
11153 |
- --sysconfdir=/etc/wine |
11154 |
- $(use_with alsa) |
11155 |
- $(use_with capi) |
11156 |
- $(use_with lcms cms) |
11157 |
- $(use_with cups) |
11158 |
- $(use_with ncurses curses) |
11159 |
- $(use_with udisks dbus) |
11160 |
- $(use_with fontconfig) |
11161 |
- $(use_with ssl gnutls) |
11162 |
- $(use_enable gecko mshtml) |
11163 |
- $(use_with gphoto2 gphoto) |
11164 |
- $(use_with gsm) |
11165 |
- $(use_with gstreamer) |
11166 |
- --without-hal |
11167 |
- $(use_with jpeg) |
11168 |
- $(use_with ldap) |
11169 |
- $(use_enable mono mscoree) |
11170 |
- $(use_with mp3 mpg123) |
11171 |
- $(use_with netapi) |
11172 |
- $(use_with nls gettext) |
11173 |
- $(use_with openal) |
11174 |
- $(use_with opencl) |
11175 |
- $(use_with opengl) |
11176 |
- $(use_with osmesa) |
11177 |
- $(use_with oss) |
11178 |
- $(use_with pcap) |
11179 |
- $(use_with png) |
11180 |
- $(use_with pulseaudio pulse) |
11181 |
- $(use_with threads pthread) |
11182 |
- $(use_with scanner sane) |
11183 |
- $(use_enable test tests) |
11184 |
- $(use_with truetype freetype) |
11185 |
- $(use_with udev) |
11186 |
- $(use_with v4l) |
11187 |
- $(use_with X x) |
11188 |
- $(use_with xcomposite) |
11189 |
- $(use_with xinerama) |
11190 |
- $(use_with xml) |
11191 |
- $(use_with xml xslt) |
11192 |
- ) |
11193 |
- |
11194 |
- local PKG_CONFIG AR RANLIB |
11195 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
11196 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
11197 |
- tc-export PKG_CONFIG AR RANLIB |
11198 |
- |
11199 |
- if use amd64; then |
11200 |
- if [[ ${ABI} == amd64 ]]; then |
11201 |
- myconf+=( --enable-win64 ) |
11202 |
- else |
11203 |
- myconf+=( --disable-win64 ) |
11204 |
- fi |
11205 |
- |
11206 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
11207 |
- # CC/LD hackery. We're using separate tools instead. |
11208 |
- fi |
11209 |
- |
11210 |
- ECONF_SOURCE=${S} \ |
11211 |
- econf "${myconf[@]}" |
11212 |
- emake depend |
11213 |
-} |
11214 |
- |
11215 |
-multilib_src_test() { |
11216 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
11217 |
- if [[ ${ABI} == x86 ]]; then |
11218 |
- if [[ $(id -u) == 0 ]]; then |
11219 |
- ewarn "Skipping tests since they cannot be run under the root user." |
11220 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
11221 |
- return |
11222 |
- fi |
11223 |
- |
11224 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
11225 |
- Xemake test |
11226 |
- fi |
11227 |
-} |
11228 |
- |
11229 |
-multilib_src_install_all() { |
11230 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
11231 |
- add_locale_docs() { |
11232 |
- local locale_doc="documentation/README.$1" |
11233 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
11234 |
- } |
11235 |
- l10n_for_each_locale_do add_locale_docs |
11236 |
- |
11237 |
- einstalldocs |
11238 |
- prune_libtool_files --all |
11239 |
- |
11240 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
11241 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
11242 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
11243 |
- fi |
11244 |
- |
11245 |
- # Remove wineconsole if neither backend is installed #551124 |
11246 |
- if ! use X && ! use ncurses; then |
11247 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
11248 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
11249 |
- rm_wineconsole() { |
11250 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
11251 |
- } |
11252 |
- multilib_foreach_abi rm_wineconsole |
11253 |
- fi |
11254 |
- |
11255 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
11256 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
11257 |
- |
11258 |
- if use abi_x86_64 && ! use abi_x86_32; then |
11259 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
11260 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
11261 |
- fi |
11262 |
- |
11263 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
11264 |
- eshopts_push -s failglob #615218 |
11265 |
- # Make wrappers for binaries for handling multiple variants |
11266 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
11267 |
- local b |
11268 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
11269 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
11270 |
- done |
11271 |
- eshopts_pop |
11272 |
-} |
11273 |
- |
11274 |
-pkg_postinst() { |
11275 |
- eselect wine register ${P} |
11276 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
11277 |
- eselect wine register --vanilla ${P} || die |
11278 |
- fi |
11279 |
- |
11280 |
- eselect wine update --all --if-unset || die |
11281 |
- |
11282 |
- xdg_desktop_database_update |
11283 |
- |
11284 |
- if ! use gecko; then |
11285 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
11286 |
- ewarn "implementation of iexplore. Many older windows applications" |
11287 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
11288 |
- ewarn "you will likely need to install an external one, like via winetricks" |
11289 |
- fi |
11290 |
- if ! use mono; then |
11291 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
11292 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
11293 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
11294 |
- ewarn "to install an external one, like via winetricks" |
11295 |
- fi |
11296 |
-} |
11297 |
- |
11298 |
-pkg_prerm() { |
11299 |
- eselect wine deregister ${P} |
11300 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
11301 |
- eselect wine deregister --vanilla ${P} || die |
11302 |
- fi |
11303 |
- |
11304 |
- eselect wine update --all --if-unset || die |
11305 |
-} |
11306 |
- |
11307 |
-pkg_postrm() { |
11308 |
- xdg_desktop_database_update |
11309 |
-} |
11310 |
|
11311 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.4-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.4-r1.ebuild |
11312 |
deleted file mode 100644 |
11313 |
index 461d2fe..0000000 |
11314 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.4-r1.ebuild |
11315 |
+++ /dev/null |
11316 |
@@ -1,525 +0,0 @@ |
11317 |
-# Copyright 1999-2018 Gentoo Foundation |
11318 |
-# Distributed under the terms of the GNU General Public License v2 |
11319 |
- |
11320 |
-EAPI=6 |
11321 |
- |
11322 |
-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" |
11323 |
-PLOCALE_BACKUP="en" |
11324 |
- |
11325 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
11326 |
- |
11327 |
-MY_PN="${PN%%-*}" |
11328 |
-MY_P="${MY_PN}-${PV}" |
11329 |
- |
11330 |
-if [[ ${PV} == "9999" ]] ; then |
11331 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
11332 |
- EGIT_BRANCH="master" |
11333 |
- inherit git-r3 |
11334 |
- SRC_URI="" |
11335 |
- #KEYWORDS="" |
11336 |
-else |
11337 |
- MAJOR_V=$(ver_cut 1) |
11338 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
11339 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
11340 |
-fi |
11341 |
-S="${WORKDIR}/${MY_P}" |
11342 |
- |
11343 |
-GWP_V="20180120" |
11344 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
11345 |
- |
11346 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
11347 |
-HOMEPAGE="https://www.winehq.org/" |
11348 |
-SRC_URI="${SRC_URI} |
11349 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
11350 |
-" |
11351 |
- |
11352 |
-LICENSE="LGPL-2.1" |
11353 |
-SLOT="${PV}" |
11354 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
11355 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
11356 |
- X? ( truetype ) |
11357 |
- elibc_glibc? ( threads ) |
11358 |
- osmesa? ( opengl ) |
11359 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
11360 |
- |
11361 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
11362 |
-# or fail due to Xvfb's opengl limitations. |
11363 |
-RESTRICT="test" |
11364 |
- |
11365 |
-COMMON_DEPEND=" |
11366 |
- X? ( |
11367 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
11368 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
11369 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
11370 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
11371 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
11372 |
- ) |
11373 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
11374 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
11375 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
11376 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
11377 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
11378 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
11379 |
- gstreamer? ( |
11380 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
11381 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
11382 |
- ) |
11383 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
11384 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
11385 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
11386 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
11387 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
11388 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
11389 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
11390 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
11391 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
11392 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
11393 |
- opengl? ( |
11394 |
- virtual/glu[${MULTILIB_USEDEP}] |
11395 |
- virtual/opengl[${MULTILIB_USEDEP}] |
11396 |
- ) |
11397 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
11398 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
11399 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
11400 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
11401 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
11402 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
11403 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
11404 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
11405 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
11406 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
11407 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
11408 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
11409 |
- xml? ( |
11410 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
11411 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
11412 |
- )" |
11413 |
- |
11414 |
-RDEPEND="${COMMON_DEPEND} |
11415 |
- app-emulation/wine-desktop-common |
11416 |
- >app-eselect/eselect-wine-0.3 |
11417 |
- !app-emulation/wine:0 |
11418 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
11419 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
11420 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
11421 |
- perl? ( |
11422 |
- dev-lang/perl |
11423 |
- dev-perl/XML-Simple |
11424 |
- ) |
11425 |
- pulseaudio? ( |
11426 |
- realtime? ( sys-auth/rtkit ) |
11427 |
- ) |
11428 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
11429 |
- selinux? ( sec-policy/selinux-wine ) |
11430 |
- udisks? ( sys-fs/udisks:2 )" |
11431 |
- |
11432 |
-# tools/make_requests requires perl |
11433 |
-DEPEND="${COMMON_DEPEND} |
11434 |
- sys-devel/flex |
11435 |
- >=sys-kernel/linux-headers-2.6 |
11436 |
- virtual/pkgconfig |
11437 |
- virtual/yacc |
11438 |
- X? ( x11-base/xorg-proto ) |
11439 |
- prelink? ( sys-devel/prelink ) |
11440 |
- xinerama? ( x11-base/xorg-proto )" |
11441 |
- |
11442 |
-# These use a non-standard "Wine" category, which is provided by |
11443 |
-# /etc/xdg/applications-merged/wine.menu |
11444 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
11445 |
-usr/share/applications/wine-notepad.desktop |
11446 |
-usr/share/applications/wine-uninstaller.desktop |
11447 |
-usr/share/applications/wine-winecfg.desktop" |
11448 |
- |
11449 |
-PATCHES=( |
11450 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
11451 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
11452 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
11453 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
11454 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
11455 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
11456 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
11457 |
-) |
11458 |
-PATCHES_BIN=( |
11459 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
11460 |
-) |
11461 |
- |
11462 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
11463 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
11464 |
- DEPEND+=" dev-util/patchbin" |
11465 |
-fi |
11466 |
- |
11467 |
-wine_compiler_check() { |
11468 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
11469 |
- |
11470 |
- # GCC-specific bugs |
11471 |
- if tc-is-gcc; then |
11472 |
- # bug #549768 |
11473 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
11474 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
11475 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
11476 |
- # Run in subshell to prevent "Aborted" message |
11477 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
11478 |
- if ! eend $?; then |
11479 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
11480 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
11481 |
- eerror "or use gcc-config to select a different compiler version." |
11482 |
- eerror "See https://bugs.gentoo.org/549768" |
11483 |
- eerror |
11484 |
- return 1 |
11485 |
- fi |
11486 |
- fi |
11487 |
- # bug #574044 |
11488 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
11489 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
11490 |
- # Compile in subshell to prevent "Aborted" message |
11491 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
11492 |
- if ! eend $?; then |
11493 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
11494 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
11495 |
- eerror "or use gcc-config to select a different compiler version." |
11496 |
- eerror "See https://bugs.gentoo.org/574044" |
11497 |
- eerror |
11498 |
- return 1 |
11499 |
- fi |
11500 |
- fi |
11501 |
- fi |
11502 |
- |
11503 |
- # Ensure compiler support |
11504 |
- if use abi_x86_64; then |
11505 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
11506 |
- # Compile in subshell to prevent "Aborted" message |
11507 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
11508 |
- if ! eend $?; then |
11509 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
11510 |
- eerror |
11511 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
11512 |
- eerror |
11513 |
- return 1 |
11514 |
- fi |
11515 |
- fi |
11516 |
-} |
11517 |
- |
11518 |
-wine_build_environment_check() { |
11519 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
11520 |
- |
11521 |
- if use abi_x86_64; then |
11522 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
11523 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
11524 |
- die |
11525 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
11526 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
11527 |
- die |
11528 |
- fi |
11529 |
- fi |
11530 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
11531 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
11532 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
11533 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
11534 |
- fi |
11535 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
11536 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
11537 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
11538 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
11539 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
11540 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
11541 |
- fi |
11542 |
- fi |
11543 |
- |
11544 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
11545 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
11546 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
11547 |
- eerror |
11548 |
- return 1 |
11549 |
- fi |
11550 |
-} |
11551 |
- |
11552 |
-wine_env_vcs_vars() { |
11553 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
11554 |
- local pn_live_val="${pn_live_var}" |
11555 |
- eval pn_live_val='$'${pn_live_val} |
11556 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
11557 |
- eerror "Commits must now be specified using the environmental variables" |
11558 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
11559 |
- eerror |
11560 |
- return 1 |
11561 |
- fi |
11562 |
-} |
11563 |
- |
11564 |
-pkg_pretend() { |
11565 |
- wine_build_environment_check || die |
11566 |
- |
11567 |
- # Verify OSS support |
11568 |
- if use oss && ! use kernel_FreeBSD; then |
11569 |
- if ! has_version ">=media-sound/oss-4"; then |
11570 |
- eerror "You cannot build wine with USE=oss without having support from a" |
11571 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
11572 |
- eerror |
11573 |
- die |
11574 |
- fi |
11575 |
- fi |
11576 |
-} |
11577 |
- |
11578 |
-pkg_setup() { |
11579 |
- wine_build_environment_check || die |
11580 |
- wine_env_vcs_vars || die |
11581 |
- |
11582 |
- WINE_VARIANT="${PN#wine}-${PV}" |
11583 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
11584 |
- |
11585 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
11586 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
11587 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
11588 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
11589 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
11590 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
11591 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
11592 |
- MY_MANDIR="${MY_DATADIR}/man" |
11593 |
-} |
11594 |
- |
11595 |
-src_unpack() { |
11596 |
- if [[ ${PV} == "9999" ]] ; then |
11597 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
11598 |
- fi |
11599 |
- |
11600 |
- default |
11601 |
- |
11602 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
11603 |
-} |
11604 |
- |
11605 |
-src_prepare() { |
11606 |
- |
11607 |
- eapply_bin(){ |
11608 |
- local patch |
11609 |
- for patch in ${PATCHES_BIN[@]}; do |
11610 |
- patchbin --nogit < "${patch}" || die |
11611 |
- done |
11612 |
- } |
11613 |
- |
11614 |
- local md5="$(md5sum server/protocol.def)" |
11615 |
- |
11616 |
- default |
11617 |
- eapply_bin |
11618 |
- eautoreconf |
11619 |
- |
11620 |
- # Modification of the server protocol requires regenerating the server requests |
11621 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
11622 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
11623 |
- tools/make_requests || die #432348 |
11624 |
- fi |
11625 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
11626 |
- if ! use run-exes; then |
11627 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
11628 |
- fi |
11629 |
- |
11630 |
- # Edit wine.desktop to work for specific variant |
11631 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
11632 |
- |
11633 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
11634 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
11635 |
- |
11636 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
11637 |
- |
11638 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
11639 |
- # Requires wine-2.0-rearrange-manpages.patch |
11640 |
- |
11641 |
- # Duplicate manpages input files for wine64 |
11642 |
- local f |
11643 |
- for f in loader/*.man.in; do |
11644 |
- cp ${f} ${f/wine/wine64} || die |
11645 |
- done |
11646 |
- # Add wine64 manpages to Makefile |
11647 |
- if use abi_x86_64; then |
11648 |
- sed -i "/wine.man.in/i \ |
11649 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
11650 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
11651 |
-\164\2/' loader/Makefile.in || die |
11652 |
- fi |
11653 |
- |
11654 |
- rm_man_file(){ |
11655 |
- local file="${1}" |
11656 |
- loc=${2} |
11657 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
11658 |
- } |
11659 |
- |
11660 |
- while read f; do |
11661 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
11662 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
11663 |
-} |
11664 |
- |
11665 |
-src_configure() { |
11666 |
- wine_compiler_check || die |
11667 |
- |
11668 |
- export LDCONFIG=/bin/true |
11669 |
- use custom-cflags || strip-flags |
11670 |
- |
11671 |
- multilib-minimal_src_configure |
11672 |
-} |
11673 |
- |
11674 |
-multilib_src_configure() { |
11675 |
- local myconf=( |
11676 |
- --prefix="${MY_PREFIX}" |
11677 |
- --datarootdir="${MY_DATAROOTDIR}" |
11678 |
- --datadir="${MY_DATADIR}" |
11679 |
- --docdir="${MY_DOCDIR}" |
11680 |
- --includedir="${MY_INCLUDEDIR}" |
11681 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
11682 |
- --libexecdir="${MY_LIBEXECDIR}" |
11683 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
11684 |
- --mandir="${MY_MANDIR}" |
11685 |
- --sysconfdir=/etc/wine |
11686 |
- $(use_with alsa) |
11687 |
- $(use_with capi) |
11688 |
- $(use_with lcms cms) |
11689 |
- $(use_with cups) |
11690 |
- $(use_with ncurses curses) |
11691 |
- $(use_with udisks dbus) |
11692 |
- $(use_with fontconfig) |
11693 |
- $(use_with ssl gnutls) |
11694 |
- $(use_enable gecko mshtml) |
11695 |
- $(use_with gphoto2 gphoto) |
11696 |
- $(use_with gsm) |
11697 |
- $(use_with gstreamer) |
11698 |
- --without-hal |
11699 |
- $(use_with jpeg) |
11700 |
- $(use_with ldap) |
11701 |
- $(use_enable mono mscoree) |
11702 |
- $(use_with mp3 mpg123) |
11703 |
- $(use_with netapi) |
11704 |
- $(use_with nls gettext) |
11705 |
- $(use_with openal) |
11706 |
- $(use_with opencl) |
11707 |
- $(use_with opengl) |
11708 |
- $(use_with osmesa) |
11709 |
- $(use_with oss) |
11710 |
- $(use_with pcap) |
11711 |
- $(use_with png) |
11712 |
- $(use_with pulseaudio pulse) |
11713 |
- $(use_with threads pthread) |
11714 |
- $(use_with scanner sane) |
11715 |
- $(use_enable test tests) |
11716 |
- $(use_with truetype freetype) |
11717 |
- $(use_with udev) |
11718 |
- $(use_with v4l) |
11719 |
- $(use_with X x) |
11720 |
- $(use_with xcomposite) |
11721 |
- $(use_with xinerama) |
11722 |
- $(use_with xml) |
11723 |
- $(use_with xml xslt) |
11724 |
- ) |
11725 |
- |
11726 |
- local PKG_CONFIG AR RANLIB |
11727 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
11728 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
11729 |
- tc-export PKG_CONFIG AR RANLIB |
11730 |
- |
11731 |
- if use amd64; then |
11732 |
- if [[ ${ABI} == amd64 ]]; then |
11733 |
- myconf+=( --enable-win64 ) |
11734 |
- else |
11735 |
- myconf+=( --disable-win64 ) |
11736 |
- fi |
11737 |
- |
11738 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
11739 |
- # CC/LD hackery. We're using separate tools instead. |
11740 |
- fi |
11741 |
- |
11742 |
- ECONF_SOURCE=${S} \ |
11743 |
- econf "${myconf[@]}" |
11744 |
- emake depend |
11745 |
-} |
11746 |
- |
11747 |
-multilib_src_test() { |
11748 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
11749 |
- if [[ ${ABI} == x86 ]]; then |
11750 |
- if [[ $(id -u) == 0 ]]; then |
11751 |
- ewarn "Skipping tests since they cannot be run under the root user." |
11752 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
11753 |
- return |
11754 |
- fi |
11755 |
- |
11756 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
11757 |
- Xemake test |
11758 |
- fi |
11759 |
-} |
11760 |
- |
11761 |
-multilib_src_install_all() { |
11762 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
11763 |
- add_locale_docs() { |
11764 |
- local locale_doc="documentation/README.$1" |
11765 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
11766 |
- } |
11767 |
- l10n_for_each_locale_do add_locale_docs |
11768 |
- |
11769 |
- einstalldocs |
11770 |
- prune_libtool_files --all |
11771 |
- |
11772 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
11773 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
11774 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
11775 |
- fi |
11776 |
- |
11777 |
- # Remove wineconsole if neither backend is installed #551124 |
11778 |
- if ! use X && ! use ncurses; then |
11779 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
11780 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
11781 |
- rm_wineconsole() { |
11782 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
11783 |
- } |
11784 |
- multilib_foreach_abi rm_wineconsole |
11785 |
- fi |
11786 |
- |
11787 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
11788 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
11789 |
- |
11790 |
- if use abi_x86_64 && ! use abi_x86_32; then |
11791 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
11792 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
11793 |
- fi |
11794 |
- |
11795 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
11796 |
- eshopts_push -s failglob #615218 |
11797 |
- # Make wrappers for binaries for handling multiple variants |
11798 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
11799 |
- local b |
11800 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
11801 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
11802 |
- done |
11803 |
- eshopts_pop |
11804 |
-} |
11805 |
- |
11806 |
-pkg_postinst() { |
11807 |
- eselect wine register ${P} |
11808 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
11809 |
- eselect wine register --vanilla ${P} || die |
11810 |
- fi |
11811 |
- |
11812 |
- eselect wine update --all --if-unset || die |
11813 |
- |
11814 |
- xdg_desktop_database_update |
11815 |
- |
11816 |
- if ! use gecko; then |
11817 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
11818 |
- ewarn "implementation of iexplore. Many older windows applications" |
11819 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
11820 |
- ewarn "you will likely need to install an external one, like via winetricks" |
11821 |
- fi |
11822 |
- if ! use mono; then |
11823 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
11824 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
11825 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
11826 |
- ewarn "to install an external one, like via winetricks" |
11827 |
- fi |
11828 |
-} |
11829 |
- |
11830 |
-pkg_prerm() { |
11831 |
- eselect wine deregister ${P} |
11832 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
11833 |
- eselect wine deregister --vanilla ${P} || die |
11834 |
- fi |
11835 |
- |
11836 |
- eselect wine update --all --if-unset || die |
11837 |
-} |
11838 |
- |
11839 |
-pkg_postrm() { |
11840 |
- xdg_desktop_database_update |
11841 |
-} |
11842 |
|
11843 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.5-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.5-r1.ebuild |
11844 |
deleted file mode 100644 |
11845 |
index 461d2fe..0000000 |
11846 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.5-r1.ebuild |
11847 |
+++ /dev/null |
11848 |
@@ -1,525 +0,0 @@ |
11849 |
-# Copyright 1999-2018 Gentoo Foundation |
11850 |
-# Distributed under the terms of the GNU General Public License v2 |
11851 |
- |
11852 |
-EAPI=6 |
11853 |
- |
11854 |
-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" |
11855 |
-PLOCALE_BACKUP="en" |
11856 |
- |
11857 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
11858 |
- |
11859 |
-MY_PN="${PN%%-*}" |
11860 |
-MY_P="${MY_PN}-${PV}" |
11861 |
- |
11862 |
-if [[ ${PV} == "9999" ]] ; then |
11863 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
11864 |
- EGIT_BRANCH="master" |
11865 |
- inherit git-r3 |
11866 |
- SRC_URI="" |
11867 |
- #KEYWORDS="" |
11868 |
-else |
11869 |
- MAJOR_V=$(ver_cut 1) |
11870 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
11871 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
11872 |
-fi |
11873 |
-S="${WORKDIR}/${MY_P}" |
11874 |
- |
11875 |
-GWP_V="20180120" |
11876 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
11877 |
- |
11878 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
11879 |
-HOMEPAGE="https://www.winehq.org/" |
11880 |
-SRC_URI="${SRC_URI} |
11881 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
11882 |
-" |
11883 |
- |
11884 |
-LICENSE="LGPL-2.1" |
11885 |
-SLOT="${PV}" |
11886 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
11887 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
11888 |
- X? ( truetype ) |
11889 |
- elibc_glibc? ( threads ) |
11890 |
- osmesa? ( opengl ) |
11891 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
11892 |
- |
11893 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
11894 |
-# or fail due to Xvfb's opengl limitations. |
11895 |
-RESTRICT="test" |
11896 |
- |
11897 |
-COMMON_DEPEND=" |
11898 |
- X? ( |
11899 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
11900 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
11901 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
11902 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
11903 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
11904 |
- ) |
11905 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
11906 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
11907 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
11908 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
11909 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
11910 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
11911 |
- gstreamer? ( |
11912 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
11913 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
11914 |
- ) |
11915 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
11916 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
11917 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
11918 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
11919 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
11920 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
11921 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
11922 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
11923 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
11924 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
11925 |
- opengl? ( |
11926 |
- virtual/glu[${MULTILIB_USEDEP}] |
11927 |
- virtual/opengl[${MULTILIB_USEDEP}] |
11928 |
- ) |
11929 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
11930 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
11931 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
11932 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
11933 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
11934 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
11935 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
11936 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
11937 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
11938 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
11939 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
11940 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
11941 |
- xml? ( |
11942 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
11943 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
11944 |
- )" |
11945 |
- |
11946 |
-RDEPEND="${COMMON_DEPEND} |
11947 |
- app-emulation/wine-desktop-common |
11948 |
- >app-eselect/eselect-wine-0.3 |
11949 |
- !app-emulation/wine:0 |
11950 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
11951 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
11952 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
11953 |
- perl? ( |
11954 |
- dev-lang/perl |
11955 |
- dev-perl/XML-Simple |
11956 |
- ) |
11957 |
- pulseaudio? ( |
11958 |
- realtime? ( sys-auth/rtkit ) |
11959 |
- ) |
11960 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
11961 |
- selinux? ( sec-policy/selinux-wine ) |
11962 |
- udisks? ( sys-fs/udisks:2 )" |
11963 |
- |
11964 |
-# tools/make_requests requires perl |
11965 |
-DEPEND="${COMMON_DEPEND} |
11966 |
- sys-devel/flex |
11967 |
- >=sys-kernel/linux-headers-2.6 |
11968 |
- virtual/pkgconfig |
11969 |
- virtual/yacc |
11970 |
- X? ( x11-base/xorg-proto ) |
11971 |
- prelink? ( sys-devel/prelink ) |
11972 |
- xinerama? ( x11-base/xorg-proto )" |
11973 |
- |
11974 |
-# These use a non-standard "Wine" category, which is provided by |
11975 |
-# /etc/xdg/applications-merged/wine.menu |
11976 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
11977 |
-usr/share/applications/wine-notepad.desktop |
11978 |
-usr/share/applications/wine-uninstaller.desktop |
11979 |
-usr/share/applications/wine-winecfg.desktop" |
11980 |
- |
11981 |
-PATCHES=( |
11982 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
11983 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
11984 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
11985 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
11986 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
11987 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
11988 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
11989 |
-) |
11990 |
-PATCHES_BIN=( |
11991 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
11992 |
-) |
11993 |
- |
11994 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
11995 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
11996 |
- DEPEND+=" dev-util/patchbin" |
11997 |
-fi |
11998 |
- |
11999 |
-wine_compiler_check() { |
12000 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
12001 |
- |
12002 |
- # GCC-specific bugs |
12003 |
- if tc-is-gcc; then |
12004 |
- # bug #549768 |
12005 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
12006 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
12007 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
12008 |
- # Run in subshell to prevent "Aborted" message |
12009 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
12010 |
- if ! eend $?; then |
12011 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
12012 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
12013 |
- eerror "or use gcc-config to select a different compiler version." |
12014 |
- eerror "See https://bugs.gentoo.org/549768" |
12015 |
- eerror |
12016 |
- return 1 |
12017 |
- fi |
12018 |
- fi |
12019 |
- # bug #574044 |
12020 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
12021 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
12022 |
- # Compile in subshell to prevent "Aborted" message |
12023 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
12024 |
- if ! eend $?; then |
12025 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
12026 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
12027 |
- eerror "or use gcc-config to select a different compiler version." |
12028 |
- eerror "See https://bugs.gentoo.org/574044" |
12029 |
- eerror |
12030 |
- return 1 |
12031 |
- fi |
12032 |
- fi |
12033 |
- fi |
12034 |
- |
12035 |
- # Ensure compiler support |
12036 |
- if use abi_x86_64; then |
12037 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
12038 |
- # Compile in subshell to prevent "Aborted" message |
12039 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
12040 |
- if ! eend $?; then |
12041 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
12042 |
- eerror |
12043 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
12044 |
- eerror |
12045 |
- return 1 |
12046 |
- fi |
12047 |
- fi |
12048 |
-} |
12049 |
- |
12050 |
-wine_build_environment_check() { |
12051 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
12052 |
- |
12053 |
- if use abi_x86_64; then |
12054 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
12055 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
12056 |
- die |
12057 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
12058 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
12059 |
- die |
12060 |
- fi |
12061 |
- fi |
12062 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
12063 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
12064 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
12065 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
12066 |
- fi |
12067 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
12068 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
12069 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
12070 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
12071 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
12072 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
12073 |
- fi |
12074 |
- fi |
12075 |
- |
12076 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
12077 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
12078 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
12079 |
- eerror |
12080 |
- return 1 |
12081 |
- fi |
12082 |
-} |
12083 |
- |
12084 |
-wine_env_vcs_vars() { |
12085 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
12086 |
- local pn_live_val="${pn_live_var}" |
12087 |
- eval pn_live_val='$'${pn_live_val} |
12088 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
12089 |
- eerror "Commits must now be specified using the environmental variables" |
12090 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
12091 |
- eerror |
12092 |
- return 1 |
12093 |
- fi |
12094 |
-} |
12095 |
- |
12096 |
-pkg_pretend() { |
12097 |
- wine_build_environment_check || die |
12098 |
- |
12099 |
- # Verify OSS support |
12100 |
- if use oss && ! use kernel_FreeBSD; then |
12101 |
- if ! has_version ">=media-sound/oss-4"; then |
12102 |
- eerror "You cannot build wine with USE=oss without having support from a" |
12103 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
12104 |
- eerror |
12105 |
- die |
12106 |
- fi |
12107 |
- fi |
12108 |
-} |
12109 |
- |
12110 |
-pkg_setup() { |
12111 |
- wine_build_environment_check || die |
12112 |
- wine_env_vcs_vars || die |
12113 |
- |
12114 |
- WINE_VARIANT="${PN#wine}-${PV}" |
12115 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
12116 |
- |
12117 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
12118 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
12119 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
12120 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
12121 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
12122 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
12123 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
12124 |
- MY_MANDIR="${MY_DATADIR}/man" |
12125 |
-} |
12126 |
- |
12127 |
-src_unpack() { |
12128 |
- if [[ ${PV} == "9999" ]] ; then |
12129 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
12130 |
- fi |
12131 |
- |
12132 |
- default |
12133 |
- |
12134 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
12135 |
-} |
12136 |
- |
12137 |
-src_prepare() { |
12138 |
- |
12139 |
- eapply_bin(){ |
12140 |
- local patch |
12141 |
- for patch in ${PATCHES_BIN[@]}; do |
12142 |
- patchbin --nogit < "${patch}" || die |
12143 |
- done |
12144 |
- } |
12145 |
- |
12146 |
- local md5="$(md5sum server/protocol.def)" |
12147 |
- |
12148 |
- default |
12149 |
- eapply_bin |
12150 |
- eautoreconf |
12151 |
- |
12152 |
- # Modification of the server protocol requires regenerating the server requests |
12153 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
12154 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
12155 |
- tools/make_requests || die #432348 |
12156 |
- fi |
12157 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
12158 |
- if ! use run-exes; then |
12159 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
12160 |
- fi |
12161 |
- |
12162 |
- # Edit wine.desktop to work for specific variant |
12163 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
12164 |
- |
12165 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
12166 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
12167 |
- |
12168 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
12169 |
- |
12170 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
12171 |
- # Requires wine-2.0-rearrange-manpages.patch |
12172 |
- |
12173 |
- # Duplicate manpages input files for wine64 |
12174 |
- local f |
12175 |
- for f in loader/*.man.in; do |
12176 |
- cp ${f} ${f/wine/wine64} || die |
12177 |
- done |
12178 |
- # Add wine64 manpages to Makefile |
12179 |
- if use abi_x86_64; then |
12180 |
- sed -i "/wine.man.in/i \ |
12181 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
12182 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
12183 |
-\164\2/' loader/Makefile.in || die |
12184 |
- fi |
12185 |
- |
12186 |
- rm_man_file(){ |
12187 |
- local file="${1}" |
12188 |
- loc=${2} |
12189 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
12190 |
- } |
12191 |
- |
12192 |
- while read f; do |
12193 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
12194 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
12195 |
-} |
12196 |
- |
12197 |
-src_configure() { |
12198 |
- wine_compiler_check || die |
12199 |
- |
12200 |
- export LDCONFIG=/bin/true |
12201 |
- use custom-cflags || strip-flags |
12202 |
- |
12203 |
- multilib-minimal_src_configure |
12204 |
-} |
12205 |
- |
12206 |
-multilib_src_configure() { |
12207 |
- local myconf=( |
12208 |
- --prefix="${MY_PREFIX}" |
12209 |
- --datarootdir="${MY_DATAROOTDIR}" |
12210 |
- --datadir="${MY_DATADIR}" |
12211 |
- --docdir="${MY_DOCDIR}" |
12212 |
- --includedir="${MY_INCLUDEDIR}" |
12213 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
12214 |
- --libexecdir="${MY_LIBEXECDIR}" |
12215 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
12216 |
- --mandir="${MY_MANDIR}" |
12217 |
- --sysconfdir=/etc/wine |
12218 |
- $(use_with alsa) |
12219 |
- $(use_with capi) |
12220 |
- $(use_with lcms cms) |
12221 |
- $(use_with cups) |
12222 |
- $(use_with ncurses curses) |
12223 |
- $(use_with udisks dbus) |
12224 |
- $(use_with fontconfig) |
12225 |
- $(use_with ssl gnutls) |
12226 |
- $(use_enable gecko mshtml) |
12227 |
- $(use_with gphoto2 gphoto) |
12228 |
- $(use_with gsm) |
12229 |
- $(use_with gstreamer) |
12230 |
- --without-hal |
12231 |
- $(use_with jpeg) |
12232 |
- $(use_with ldap) |
12233 |
- $(use_enable mono mscoree) |
12234 |
- $(use_with mp3 mpg123) |
12235 |
- $(use_with netapi) |
12236 |
- $(use_with nls gettext) |
12237 |
- $(use_with openal) |
12238 |
- $(use_with opencl) |
12239 |
- $(use_with opengl) |
12240 |
- $(use_with osmesa) |
12241 |
- $(use_with oss) |
12242 |
- $(use_with pcap) |
12243 |
- $(use_with png) |
12244 |
- $(use_with pulseaudio pulse) |
12245 |
- $(use_with threads pthread) |
12246 |
- $(use_with scanner sane) |
12247 |
- $(use_enable test tests) |
12248 |
- $(use_with truetype freetype) |
12249 |
- $(use_with udev) |
12250 |
- $(use_with v4l) |
12251 |
- $(use_with X x) |
12252 |
- $(use_with xcomposite) |
12253 |
- $(use_with xinerama) |
12254 |
- $(use_with xml) |
12255 |
- $(use_with xml xslt) |
12256 |
- ) |
12257 |
- |
12258 |
- local PKG_CONFIG AR RANLIB |
12259 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
12260 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
12261 |
- tc-export PKG_CONFIG AR RANLIB |
12262 |
- |
12263 |
- if use amd64; then |
12264 |
- if [[ ${ABI} == amd64 ]]; then |
12265 |
- myconf+=( --enable-win64 ) |
12266 |
- else |
12267 |
- myconf+=( --disable-win64 ) |
12268 |
- fi |
12269 |
- |
12270 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
12271 |
- # CC/LD hackery. We're using separate tools instead. |
12272 |
- fi |
12273 |
- |
12274 |
- ECONF_SOURCE=${S} \ |
12275 |
- econf "${myconf[@]}" |
12276 |
- emake depend |
12277 |
-} |
12278 |
- |
12279 |
-multilib_src_test() { |
12280 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
12281 |
- if [[ ${ABI} == x86 ]]; then |
12282 |
- if [[ $(id -u) == 0 ]]; then |
12283 |
- ewarn "Skipping tests since they cannot be run under the root user." |
12284 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
12285 |
- return |
12286 |
- fi |
12287 |
- |
12288 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
12289 |
- Xemake test |
12290 |
- fi |
12291 |
-} |
12292 |
- |
12293 |
-multilib_src_install_all() { |
12294 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
12295 |
- add_locale_docs() { |
12296 |
- local locale_doc="documentation/README.$1" |
12297 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
12298 |
- } |
12299 |
- l10n_for_each_locale_do add_locale_docs |
12300 |
- |
12301 |
- einstalldocs |
12302 |
- prune_libtool_files --all |
12303 |
- |
12304 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
12305 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
12306 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
12307 |
- fi |
12308 |
- |
12309 |
- # Remove wineconsole if neither backend is installed #551124 |
12310 |
- if ! use X && ! use ncurses; then |
12311 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
12312 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
12313 |
- rm_wineconsole() { |
12314 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
12315 |
- } |
12316 |
- multilib_foreach_abi rm_wineconsole |
12317 |
- fi |
12318 |
- |
12319 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
12320 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
12321 |
- |
12322 |
- if use abi_x86_64 && ! use abi_x86_32; then |
12323 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
12324 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
12325 |
- fi |
12326 |
- |
12327 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
12328 |
- eshopts_push -s failglob #615218 |
12329 |
- # Make wrappers for binaries for handling multiple variants |
12330 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
12331 |
- local b |
12332 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
12333 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
12334 |
- done |
12335 |
- eshopts_pop |
12336 |
-} |
12337 |
- |
12338 |
-pkg_postinst() { |
12339 |
- eselect wine register ${P} |
12340 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
12341 |
- eselect wine register --vanilla ${P} || die |
12342 |
- fi |
12343 |
- |
12344 |
- eselect wine update --all --if-unset || die |
12345 |
- |
12346 |
- xdg_desktop_database_update |
12347 |
- |
12348 |
- if ! use gecko; then |
12349 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
12350 |
- ewarn "implementation of iexplore. Many older windows applications" |
12351 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
12352 |
- ewarn "you will likely need to install an external one, like via winetricks" |
12353 |
- fi |
12354 |
- if ! use mono; then |
12355 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
12356 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
12357 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
12358 |
- ewarn "to install an external one, like via winetricks" |
12359 |
- fi |
12360 |
-} |
12361 |
- |
12362 |
-pkg_prerm() { |
12363 |
- eselect wine deregister ${P} |
12364 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
12365 |
- eselect wine deregister --vanilla ${P} || die |
12366 |
- fi |
12367 |
- |
12368 |
- eselect wine update --all --if-unset || die |
12369 |
-} |
12370 |
- |
12371 |
-pkg_postrm() { |
12372 |
- xdg_desktop_database_update |
12373 |
-} |
12374 |
|
12375 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.6-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.6-r1.ebuild |
12376 |
deleted file mode 100644 |
12377 |
index 461d2fe..0000000 |
12378 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.6-r1.ebuild |
12379 |
+++ /dev/null |
12380 |
@@ -1,525 +0,0 @@ |
12381 |
-# Copyright 1999-2018 Gentoo Foundation |
12382 |
-# Distributed under the terms of the GNU General Public License v2 |
12383 |
- |
12384 |
-EAPI=6 |
12385 |
- |
12386 |
-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" |
12387 |
-PLOCALE_BACKUP="en" |
12388 |
- |
12389 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
12390 |
- |
12391 |
-MY_PN="${PN%%-*}" |
12392 |
-MY_P="${MY_PN}-${PV}" |
12393 |
- |
12394 |
-if [[ ${PV} == "9999" ]] ; then |
12395 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
12396 |
- EGIT_BRANCH="master" |
12397 |
- inherit git-r3 |
12398 |
- SRC_URI="" |
12399 |
- #KEYWORDS="" |
12400 |
-else |
12401 |
- MAJOR_V=$(ver_cut 1) |
12402 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
12403 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
12404 |
-fi |
12405 |
-S="${WORKDIR}/${MY_P}" |
12406 |
- |
12407 |
-GWP_V="20180120" |
12408 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
12409 |
- |
12410 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
12411 |
-HOMEPAGE="https://www.winehq.org/" |
12412 |
-SRC_URI="${SRC_URI} |
12413 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
12414 |
-" |
12415 |
- |
12416 |
-LICENSE="LGPL-2.1" |
12417 |
-SLOT="${PV}" |
12418 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
12419 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
12420 |
- X? ( truetype ) |
12421 |
- elibc_glibc? ( threads ) |
12422 |
- osmesa? ( opengl ) |
12423 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
12424 |
- |
12425 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
12426 |
-# or fail due to Xvfb's opengl limitations. |
12427 |
-RESTRICT="test" |
12428 |
- |
12429 |
-COMMON_DEPEND=" |
12430 |
- X? ( |
12431 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
12432 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
12433 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
12434 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
12435 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
12436 |
- ) |
12437 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
12438 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
12439 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
12440 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
12441 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
12442 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
12443 |
- gstreamer? ( |
12444 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
12445 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
12446 |
- ) |
12447 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
12448 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
12449 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
12450 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
12451 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
12452 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
12453 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
12454 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
12455 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
12456 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
12457 |
- opengl? ( |
12458 |
- virtual/glu[${MULTILIB_USEDEP}] |
12459 |
- virtual/opengl[${MULTILIB_USEDEP}] |
12460 |
- ) |
12461 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
12462 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
12463 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
12464 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
12465 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
12466 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
12467 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
12468 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
12469 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
12470 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
12471 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
12472 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
12473 |
- xml? ( |
12474 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
12475 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
12476 |
- )" |
12477 |
- |
12478 |
-RDEPEND="${COMMON_DEPEND} |
12479 |
- app-emulation/wine-desktop-common |
12480 |
- >app-eselect/eselect-wine-0.3 |
12481 |
- !app-emulation/wine:0 |
12482 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
12483 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
12484 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
12485 |
- perl? ( |
12486 |
- dev-lang/perl |
12487 |
- dev-perl/XML-Simple |
12488 |
- ) |
12489 |
- pulseaudio? ( |
12490 |
- realtime? ( sys-auth/rtkit ) |
12491 |
- ) |
12492 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
12493 |
- selinux? ( sec-policy/selinux-wine ) |
12494 |
- udisks? ( sys-fs/udisks:2 )" |
12495 |
- |
12496 |
-# tools/make_requests requires perl |
12497 |
-DEPEND="${COMMON_DEPEND} |
12498 |
- sys-devel/flex |
12499 |
- >=sys-kernel/linux-headers-2.6 |
12500 |
- virtual/pkgconfig |
12501 |
- virtual/yacc |
12502 |
- X? ( x11-base/xorg-proto ) |
12503 |
- prelink? ( sys-devel/prelink ) |
12504 |
- xinerama? ( x11-base/xorg-proto )" |
12505 |
- |
12506 |
-# These use a non-standard "Wine" category, which is provided by |
12507 |
-# /etc/xdg/applications-merged/wine.menu |
12508 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
12509 |
-usr/share/applications/wine-notepad.desktop |
12510 |
-usr/share/applications/wine-uninstaller.desktop |
12511 |
-usr/share/applications/wine-winecfg.desktop" |
12512 |
- |
12513 |
-PATCHES=( |
12514 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
12515 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
12516 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
12517 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
12518 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
12519 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
12520 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
12521 |
-) |
12522 |
-PATCHES_BIN=( |
12523 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
12524 |
-) |
12525 |
- |
12526 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
12527 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
12528 |
- DEPEND+=" dev-util/patchbin" |
12529 |
-fi |
12530 |
- |
12531 |
-wine_compiler_check() { |
12532 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
12533 |
- |
12534 |
- # GCC-specific bugs |
12535 |
- if tc-is-gcc; then |
12536 |
- # bug #549768 |
12537 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
12538 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
12539 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
12540 |
- # Run in subshell to prevent "Aborted" message |
12541 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
12542 |
- if ! eend $?; then |
12543 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
12544 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
12545 |
- eerror "or use gcc-config to select a different compiler version." |
12546 |
- eerror "See https://bugs.gentoo.org/549768" |
12547 |
- eerror |
12548 |
- return 1 |
12549 |
- fi |
12550 |
- fi |
12551 |
- # bug #574044 |
12552 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
12553 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
12554 |
- # Compile in subshell to prevent "Aborted" message |
12555 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
12556 |
- if ! eend $?; then |
12557 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
12558 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
12559 |
- eerror "or use gcc-config to select a different compiler version." |
12560 |
- eerror "See https://bugs.gentoo.org/574044" |
12561 |
- eerror |
12562 |
- return 1 |
12563 |
- fi |
12564 |
- fi |
12565 |
- fi |
12566 |
- |
12567 |
- # Ensure compiler support |
12568 |
- if use abi_x86_64; then |
12569 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
12570 |
- # Compile in subshell to prevent "Aborted" message |
12571 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
12572 |
- if ! eend $?; then |
12573 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
12574 |
- eerror |
12575 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
12576 |
- eerror |
12577 |
- return 1 |
12578 |
- fi |
12579 |
- fi |
12580 |
-} |
12581 |
- |
12582 |
-wine_build_environment_check() { |
12583 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
12584 |
- |
12585 |
- if use abi_x86_64; then |
12586 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
12587 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
12588 |
- die |
12589 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
12590 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
12591 |
- die |
12592 |
- fi |
12593 |
- fi |
12594 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
12595 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
12596 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
12597 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
12598 |
- fi |
12599 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
12600 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
12601 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
12602 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
12603 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
12604 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
12605 |
- fi |
12606 |
- fi |
12607 |
- |
12608 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
12609 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
12610 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
12611 |
- eerror |
12612 |
- return 1 |
12613 |
- fi |
12614 |
-} |
12615 |
- |
12616 |
-wine_env_vcs_vars() { |
12617 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
12618 |
- local pn_live_val="${pn_live_var}" |
12619 |
- eval pn_live_val='$'${pn_live_val} |
12620 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
12621 |
- eerror "Commits must now be specified using the environmental variables" |
12622 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
12623 |
- eerror |
12624 |
- return 1 |
12625 |
- fi |
12626 |
-} |
12627 |
- |
12628 |
-pkg_pretend() { |
12629 |
- wine_build_environment_check || die |
12630 |
- |
12631 |
- # Verify OSS support |
12632 |
- if use oss && ! use kernel_FreeBSD; then |
12633 |
- if ! has_version ">=media-sound/oss-4"; then |
12634 |
- eerror "You cannot build wine with USE=oss without having support from a" |
12635 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
12636 |
- eerror |
12637 |
- die |
12638 |
- fi |
12639 |
- fi |
12640 |
-} |
12641 |
- |
12642 |
-pkg_setup() { |
12643 |
- wine_build_environment_check || die |
12644 |
- wine_env_vcs_vars || die |
12645 |
- |
12646 |
- WINE_VARIANT="${PN#wine}-${PV}" |
12647 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
12648 |
- |
12649 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
12650 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
12651 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
12652 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
12653 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
12654 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
12655 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
12656 |
- MY_MANDIR="${MY_DATADIR}/man" |
12657 |
-} |
12658 |
- |
12659 |
-src_unpack() { |
12660 |
- if [[ ${PV} == "9999" ]] ; then |
12661 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
12662 |
- fi |
12663 |
- |
12664 |
- default |
12665 |
- |
12666 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
12667 |
-} |
12668 |
- |
12669 |
-src_prepare() { |
12670 |
- |
12671 |
- eapply_bin(){ |
12672 |
- local patch |
12673 |
- for patch in ${PATCHES_BIN[@]}; do |
12674 |
- patchbin --nogit < "${patch}" || die |
12675 |
- done |
12676 |
- } |
12677 |
- |
12678 |
- local md5="$(md5sum server/protocol.def)" |
12679 |
- |
12680 |
- default |
12681 |
- eapply_bin |
12682 |
- eautoreconf |
12683 |
- |
12684 |
- # Modification of the server protocol requires regenerating the server requests |
12685 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
12686 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
12687 |
- tools/make_requests || die #432348 |
12688 |
- fi |
12689 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
12690 |
- if ! use run-exes; then |
12691 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
12692 |
- fi |
12693 |
- |
12694 |
- # Edit wine.desktop to work for specific variant |
12695 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
12696 |
- |
12697 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
12698 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
12699 |
- |
12700 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
12701 |
- |
12702 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
12703 |
- # Requires wine-2.0-rearrange-manpages.patch |
12704 |
- |
12705 |
- # Duplicate manpages input files for wine64 |
12706 |
- local f |
12707 |
- for f in loader/*.man.in; do |
12708 |
- cp ${f} ${f/wine/wine64} || die |
12709 |
- done |
12710 |
- # Add wine64 manpages to Makefile |
12711 |
- if use abi_x86_64; then |
12712 |
- sed -i "/wine.man.in/i \ |
12713 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
12714 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
12715 |
-\164\2/' loader/Makefile.in || die |
12716 |
- fi |
12717 |
- |
12718 |
- rm_man_file(){ |
12719 |
- local file="${1}" |
12720 |
- loc=${2} |
12721 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
12722 |
- } |
12723 |
- |
12724 |
- while read f; do |
12725 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
12726 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
12727 |
-} |
12728 |
- |
12729 |
-src_configure() { |
12730 |
- wine_compiler_check || die |
12731 |
- |
12732 |
- export LDCONFIG=/bin/true |
12733 |
- use custom-cflags || strip-flags |
12734 |
- |
12735 |
- multilib-minimal_src_configure |
12736 |
-} |
12737 |
- |
12738 |
-multilib_src_configure() { |
12739 |
- local myconf=( |
12740 |
- --prefix="${MY_PREFIX}" |
12741 |
- --datarootdir="${MY_DATAROOTDIR}" |
12742 |
- --datadir="${MY_DATADIR}" |
12743 |
- --docdir="${MY_DOCDIR}" |
12744 |
- --includedir="${MY_INCLUDEDIR}" |
12745 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
12746 |
- --libexecdir="${MY_LIBEXECDIR}" |
12747 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
12748 |
- --mandir="${MY_MANDIR}" |
12749 |
- --sysconfdir=/etc/wine |
12750 |
- $(use_with alsa) |
12751 |
- $(use_with capi) |
12752 |
- $(use_with lcms cms) |
12753 |
- $(use_with cups) |
12754 |
- $(use_with ncurses curses) |
12755 |
- $(use_with udisks dbus) |
12756 |
- $(use_with fontconfig) |
12757 |
- $(use_with ssl gnutls) |
12758 |
- $(use_enable gecko mshtml) |
12759 |
- $(use_with gphoto2 gphoto) |
12760 |
- $(use_with gsm) |
12761 |
- $(use_with gstreamer) |
12762 |
- --without-hal |
12763 |
- $(use_with jpeg) |
12764 |
- $(use_with ldap) |
12765 |
- $(use_enable mono mscoree) |
12766 |
- $(use_with mp3 mpg123) |
12767 |
- $(use_with netapi) |
12768 |
- $(use_with nls gettext) |
12769 |
- $(use_with openal) |
12770 |
- $(use_with opencl) |
12771 |
- $(use_with opengl) |
12772 |
- $(use_with osmesa) |
12773 |
- $(use_with oss) |
12774 |
- $(use_with pcap) |
12775 |
- $(use_with png) |
12776 |
- $(use_with pulseaudio pulse) |
12777 |
- $(use_with threads pthread) |
12778 |
- $(use_with scanner sane) |
12779 |
- $(use_enable test tests) |
12780 |
- $(use_with truetype freetype) |
12781 |
- $(use_with udev) |
12782 |
- $(use_with v4l) |
12783 |
- $(use_with X x) |
12784 |
- $(use_with xcomposite) |
12785 |
- $(use_with xinerama) |
12786 |
- $(use_with xml) |
12787 |
- $(use_with xml xslt) |
12788 |
- ) |
12789 |
- |
12790 |
- local PKG_CONFIG AR RANLIB |
12791 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
12792 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
12793 |
- tc-export PKG_CONFIG AR RANLIB |
12794 |
- |
12795 |
- if use amd64; then |
12796 |
- if [[ ${ABI} == amd64 ]]; then |
12797 |
- myconf+=( --enable-win64 ) |
12798 |
- else |
12799 |
- myconf+=( --disable-win64 ) |
12800 |
- fi |
12801 |
- |
12802 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
12803 |
- # CC/LD hackery. We're using separate tools instead. |
12804 |
- fi |
12805 |
- |
12806 |
- ECONF_SOURCE=${S} \ |
12807 |
- econf "${myconf[@]}" |
12808 |
- emake depend |
12809 |
-} |
12810 |
- |
12811 |
-multilib_src_test() { |
12812 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
12813 |
- if [[ ${ABI} == x86 ]]; then |
12814 |
- if [[ $(id -u) == 0 ]]; then |
12815 |
- ewarn "Skipping tests since they cannot be run under the root user." |
12816 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
12817 |
- return |
12818 |
- fi |
12819 |
- |
12820 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
12821 |
- Xemake test |
12822 |
- fi |
12823 |
-} |
12824 |
- |
12825 |
-multilib_src_install_all() { |
12826 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
12827 |
- add_locale_docs() { |
12828 |
- local locale_doc="documentation/README.$1" |
12829 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
12830 |
- } |
12831 |
- l10n_for_each_locale_do add_locale_docs |
12832 |
- |
12833 |
- einstalldocs |
12834 |
- prune_libtool_files --all |
12835 |
- |
12836 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
12837 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
12838 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
12839 |
- fi |
12840 |
- |
12841 |
- # Remove wineconsole if neither backend is installed #551124 |
12842 |
- if ! use X && ! use ncurses; then |
12843 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
12844 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
12845 |
- rm_wineconsole() { |
12846 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
12847 |
- } |
12848 |
- multilib_foreach_abi rm_wineconsole |
12849 |
- fi |
12850 |
- |
12851 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
12852 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
12853 |
- |
12854 |
- if use abi_x86_64 && ! use abi_x86_32; then |
12855 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
12856 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
12857 |
- fi |
12858 |
- |
12859 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
12860 |
- eshopts_push -s failglob #615218 |
12861 |
- # Make wrappers for binaries for handling multiple variants |
12862 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
12863 |
- local b |
12864 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
12865 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
12866 |
- done |
12867 |
- eshopts_pop |
12868 |
-} |
12869 |
- |
12870 |
-pkg_postinst() { |
12871 |
- eselect wine register ${P} |
12872 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
12873 |
- eselect wine register --vanilla ${P} || die |
12874 |
- fi |
12875 |
- |
12876 |
- eselect wine update --all --if-unset || die |
12877 |
- |
12878 |
- xdg_desktop_database_update |
12879 |
- |
12880 |
- if ! use gecko; then |
12881 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
12882 |
- ewarn "implementation of iexplore. Many older windows applications" |
12883 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
12884 |
- ewarn "you will likely need to install an external one, like via winetricks" |
12885 |
- fi |
12886 |
- if ! use mono; then |
12887 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
12888 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
12889 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
12890 |
- ewarn "to install an external one, like via winetricks" |
12891 |
- fi |
12892 |
-} |
12893 |
- |
12894 |
-pkg_prerm() { |
12895 |
- eselect wine deregister ${P} |
12896 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
12897 |
- eselect wine deregister --vanilla ${P} || die |
12898 |
- fi |
12899 |
- |
12900 |
- eselect wine update --all --if-unset || die |
12901 |
-} |
12902 |
- |
12903 |
-pkg_postrm() { |
12904 |
- xdg_desktop_database_update |
12905 |
-} |
12906 |
|
12907 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.7-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.7-r1.ebuild |
12908 |
deleted file mode 100644 |
12909 |
index 461d2fe..0000000 |
12910 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.7-r1.ebuild |
12911 |
+++ /dev/null |
12912 |
@@ -1,525 +0,0 @@ |
12913 |
-# Copyright 1999-2018 Gentoo Foundation |
12914 |
-# Distributed under the terms of the GNU General Public License v2 |
12915 |
- |
12916 |
-EAPI=6 |
12917 |
- |
12918 |
-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" |
12919 |
-PLOCALE_BACKUP="en" |
12920 |
- |
12921 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
12922 |
- |
12923 |
-MY_PN="${PN%%-*}" |
12924 |
-MY_P="${MY_PN}-${PV}" |
12925 |
- |
12926 |
-if [[ ${PV} == "9999" ]] ; then |
12927 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
12928 |
- EGIT_BRANCH="master" |
12929 |
- inherit git-r3 |
12930 |
- SRC_URI="" |
12931 |
- #KEYWORDS="" |
12932 |
-else |
12933 |
- MAJOR_V=$(ver_cut 1) |
12934 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
12935 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
12936 |
-fi |
12937 |
-S="${WORKDIR}/${MY_P}" |
12938 |
- |
12939 |
-GWP_V="20180120" |
12940 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
12941 |
- |
12942 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
12943 |
-HOMEPAGE="https://www.winehq.org/" |
12944 |
-SRC_URI="${SRC_URI} |
12945 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
12946 |
-" |
12947 |
- |
12948 |
-LICENSE="LGPL-2.1" |
12949 |
-SLOT="${PV}" |
12950 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
12951 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
12952 |
- X? ( truetype ) |
12953 |
- elibc_glibc? ( threads ) |
12954 |
- osmesa? ( opengl ) |
12955 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
12956 |
- |
12957 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
12958 |
-# or fail due to Xvfb's opengl limitations. |
12959 |
-RESTRICT="test" |
12960 |
- |
12961 |
-COMMON_DEPEND=" |
12962 |
- X? ( |
12963 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
12964 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
12965 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
12966 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
12967 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
12968 |
- ) |
12969 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
12970 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
12971 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
12972 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
12973 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
12974 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
12975 |
- gstreamer? ( |
12976 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
12977 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
12978 |
- ) |
12979 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
12980 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
12981 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
12982 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
12983 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
12984 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
12985 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
12986 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
12987 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
12988 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
12989 |
- opengl? ( |
12990 |
- virtual/glu[${MULTILIB_USEDEP}] |
12991 |
- virtual/opengl[${MULTILIB_USEDEP}] |
12992 |
- ) |
12993 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
12994 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
12995 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
12996 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
12997 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
12998 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
12999 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
13000 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
13001 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
13002 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
13003 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
13004 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
13005 |
- xml? ( |
13006 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
13007 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
13008 |
- )" |
13009 |
- |
13010 |
-RDEPEND="${COMMON_DEPEND} |
13011 |
- app-emulation/wine-desktop-common |
13012 |
- >app-eselect/eselect-wine-0.3 |
13013 |
- !app-emulation/wine:0 |
13014 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
13015 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
13016 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
13017 |
- perl? ( |
13018 |
- dev-lang/perl |
13019 |
- dev-perl/XML-Simple |
13020 |
- ) |
13021 |
- pulseaudio? ( |
13022 |
- realtime? ( sys-auth/rtkit ) |
13023 |
- ) |
13024 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
13025 |
- selinux? ( sec-policy/selinux-wine ) |
13026 |
- udisks? ( sys-fs/udisks:2 )" |
13027 |
- |
13028 |
-# tools/make_requests requires perl |
13029 |
-DEPEND="${COMMON_DEPEND} |
13030 |
- sys-devel/flex |
13031 |
- >=sys-kernel/linux-headers-2.6 |
13032 |
- virtual/pkgconfig |
13033 |
- virtual/yacc |
13034 |
- X? ( x11-base/xorg-proto ) |
13035 |
- prelink? ( sys-devel/prelink ) |
13036 |
- xinerama? ( x11-base/xorg-proto )" |
13037 |
- |
13038 |
-# These use a non-standard "Wine" category, which is provided by |
13039 |
-# /etc/xdg/applications-merged/wine.menu |
13040 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
13041 |
-usr/share/applications/wine-notepad.desktop |
13042 |
-usr/share/applications/wine-uninstaller.desktop |
13043 |
-usr/share/applications/wine-winecfg.desktop" |
13044 |
- |
13045 |
-PATCHES=( |
13046 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
13047 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
13048 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
13049 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
13050 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
13051 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
13052 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
13053 |
-) |
13054 |
-PATCHES_BIN=( |
13055 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
13056 |
-) |
13057 |
- |
13058 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
13059 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
13060 |
- DEPEND+=" dev-util/patchbin" |
13061 |
-fi |
13062 |
- |
13063 |
-wine_compiler_check() { |
13064 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
13065 |
- |
13066 |
- # GCC-specific bugs |
13067 |
- if tc-is-gcc; then |
13068 |
- # bug #549768 |
13069 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
13070 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
13071 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
13072 |
- # Run in subshell to prevent "Aborted" message |
13073 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
13074 |
- if ! eend $?; then |
13075 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
13076 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
13077 |
- eerror "or use gcc-config to select a different compiler version." |
13078 |
- eerror "See https://bugs.gentoo.org/549768" |
13079 |
- eerror |
13080 |
- return 1 |
13081 |
- fi |
13082 |
- fi |
13083 |
- # bug #574044 |
13084 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
13085 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
13086 |
- # Compile in subshell to prevent "Aborted" message |
13087 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
13088 |
- if ! eend $?; then |
13089 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
13090 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
13091 |
- eerror "or use gcc-config to select a different compiler version." |
13092 |
- eerror "See https://bugs.gentoo.org/574044" |
13093 |
- eerror |
13094 |
- return 1 |
13095 |
- fi |
13096 |
- fi |
13097 |
- fi |
13098 |
- |
13099 |
- # Ensure compiler support |
13100 |
- if use abi_x86_64; then |
13101 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
13102 |
- # Compile in subshell to prevent "Aborted" message |
13103 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
13104 |
- if ! eend $?; then |
13105 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
13106 |
- eerror |
13107 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
13108 |
- eerror |
13109 |
- return 1 |
13110 |
- fi |
13111 |
- fi |
13112 |
-} |
13113 |
- |
13114 |
-wine_build_environment_check() { |
13115 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
13116 |
- |
13117 |
- if use abi_x86_64; then |
13118 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
13119 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
13120 |
- die |
13121 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
13122 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
13123 |
- die |
13124 |
- fi |
13125 |
- fi |
13126 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
13127 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
13128 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
13129 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
13130 |
- fi |
13131 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
13132 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
13133 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
13134 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
13135 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
13136 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
13137 |
- fi |
13138 |
- fi |
13139 |
- |
13140 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
13141 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
13142 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
13143 |
- eerror |
13144 |
- return 1 |
13145 |
- fi |
13146 |
-} |
13147 |
- |
13148 |
-wine_env_vcs_vars() { |
13149 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
13150 |
- local pn_live_val="${pn_live_var}" |
13151 |
- eval pn_live_val='$'${pn_live_val} |
13152 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
13153 |
- eerror "Commits must now be specified using the environmental variables" |
13154 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
13155 |
- eerror |
13156 |
- return 1 |
13157 |
- fi |
13158 |
-} |
13159 |
- |
13160 |
-pkg_pretend() { |
13161 |
- wine_build_environment_check || die |
13162 |
- |
13163 |
- # Verify OSS support |
13164 |
- if use oss && ! use kernel_FreeBSD; then |
13165 |
- if ! has_version ">=media-sound/oss-4"; then |
13166 |
- eerror "You cannot build wine with USE=oss without having support from a" |
13167 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
13168 |
- eerror |
13169 |
- die |
13170 |
- fi |
13171 |
- fi |
13172 |
-} |
13173 |
- |
13174 |
-pkg_setup() { |
13175 |
- wine_build_environment_check || die |
13176 |
- wine_env_vcs_vars || die |
13177 |
- |
13178 |
- WINE_VARIANT="${PN#wine}-${PV}" |
13179 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
13180 |
- |
13181 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
13182 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
13183 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
13184 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
13185 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
13186 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
13187 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
13188 |
- MY_MANDIR="${MY_DATADIR}/man" |
13189 |
-} |
13190 |
- |
13191 |
-src_unpack() { |
13192 |
- if [[ ${PV} == "9999" ]] ; then |
13193 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
13194 |
- fi |
13195 |
- |
13196 |
- default |
13197 |
- |
13198 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
13199 |
-} |
13200 |
- |
13201 |
-src_prepare() { |
13202 |
- |
13203 |
- eapply_bin(){ |
13204 |
- local patch |
13205 |
- for patch in ${PATCHES_BIN[@]}; do |
13206 |
- patchbin --nogit < "${patch}" || die |
13207 |
- done |
13208 |
- } |
13209 |
- |
13210 |
- local md5="$(md5sum server/protocol.def)" |
13211 |
- |
13212 |
- default |
13213 |
- eapply_bin |
13214 |
- eautoreconf |
13215 |
- |
13216 |
- # Modification of the server protocol requires regenerating the server requests |
13217 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
13218 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
13219 |
- tools/make_requests || die #432348 |
13220 |
- fi |
13221 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
13222 |
- if ! use run-exes; then |
13223 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
13224 |
- fi |
13225 |
- |
13226 |
- # Edit wine.desktop to work for specific variant |
13227 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
13228 |
- |
13229 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
13230 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
13231 |
- |
13232 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
13233 |
- |
13234 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
13235 |
- # Requires wine-2.0-rearrange-manpages.patch |
13236 |
- |
13237 |
- # Duplicate manpages input files for wine64 |
13238 |
- local f |
13239 |
- for f in loader/*.man.in; do |
13240 |
- cp ${f} ${f/wine/wine64} || die |
13241 |
- done |
13242 |
- # Add wine64 manpages to Makefile |
13243 |
- if use abi_x86_64; then |
13244 |
- sed -i "/wine.man.in/i \ |
13245 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
13246 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
13247 |
-\164\2/' loader/Makefile.in || die |
13248 |
- fi |
13249 |
- |
13250 |
- rm_man_file(){ |
13251 |
- local file="${1}" |
13252 |
- loc=${2} |
13253 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
13254 |
- } |
13255 |
- |
13256 |
- while read f; do |
13257 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
13258 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
13259 |
-} |
13260 |
- |
13261 |
-src_configure() { |
13262 |
- wine_compiler_check || die |
13263 |
- |
13264 |
- export LDCONFIG=/bin/true |
13265 |
- use custom-cflags || strip-flags |
13266 |
- |
13267 |
- multilib-minimal_src_configure |
13268 |
-} |
13269 |
- |
13270 |
-multilib_src_configure() { |
13271 |
- local myconf=( |
13272 |
- --prefix="${MY_PREFIX}" |
13273 |
- --datarootdir="${MY_DATAROOTDIR}" |
13274 |
- --datadir="${MY_DATADIR}" |
13275 |
- --docdir="${MY_DOCDIR}" |
13276 |
- --includedir="${MY_INCLUDEDIR}" |
13277 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
13278 |
- --libexecdir="${MY_LIBEXECDIR}" |
13279 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
13280 |
- --mandir="${MY_MANDIR}" |
13281 |
- --sysconfdir=/etc/wine |
13282 |
- $(use_with alsa) |
13283 |
- $(use_with capi) |
13284 |
- $(use_with lcms cms) |
13285 |
- $(use_with cups) |
13286 |
- $(use_with ncurses curses) |
13287 |
- $(use_with udisks dbus) |
13288 |
- $(use_with fontconfig) |
13289 |
- $(use_with ssl gnutls) |
13290 |
- $(use_enable gecko mshtml) |
13291 |
- $(use_with gphoto2 gphoto) |
13292 |
- $(use_with gsm) |
13293 |
- $(use_with gstreamer) |
13294 |
- --without-hal |
13295 |
- $(use_with jpeg) |
13296 |
- $(use_with ldap) |
13297 |
- $(use_enable mono mscoree) |
13298 |
- $(use_with mp3 mpg123) |
13299 |
- $(use_with netapi) |
13300 |
- $(use_with nls gettext) |
13301 |
- $(use_with openal) |
13302 |
- $(use_with opencl) |
13303 |
- $(use_with opengl) |
13304 |
- $(use_with osmesa) |
13305 |
- $(use_with oss) |
13306 |
- $(use_with pcap) |
13307 |
- $(use_with png) |
13308 |
- $(use_with pulseaudio pulse) |
13309 |
- $(use_with threads pthread) |
13310 |
- $(use_with scanner sane) |
13311 |
- $(use_enable test tests) |
13312 |
- $(use_with truetype freetype) |
13313 |
- $(use_with udev) |
13314 |
- $(use_with v4l) |
13315 |
- $(use_with X x) |
13316 |
- $(use_with xcomposite) |
13317 |
- $(use_with xinerama) |
13318 |
- $(use_with xml) |
13319 |
- $(use_with xml xslt) |
13320 |
- ) |
13321 |
- |
13322 |
- local PKG_CONFIG AR RANLIB |
13323 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
13324 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
13325 |
- tc-export PKG_CONFIG AR RANLIB |
13326 |
- |
13327 |
- if use amd64; then |
13328 |
- if [[ ${ABI} == amd64 ]]; then |
13329 |
- myconf+=( --enable-win64 ) |
13330 |
- else |
13331 |
- myconf+=( --disable-win64 ) |
13332 |
- fi |
13333 |
- |
13334 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
13335 |
- # CC/LD hackery. We're using separate tools instead. |
13336 |
- fi |
13337 |
- |
13338 |
- ECONF_SOURCE=${S} \ |
13339 |
- econf "${myconf[@]}" |
13340 |
- emake depend |
13341 |
-} |
13342 |
- |
13343 |
-multilib_src_test() { |
13344 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
13345 |
- if [[ ${ABI} == x86 ]]; then |
13346 |
- if [[ $(id -u) == 0 ]]; then |
13347 |
- ewarn "Skipping tests since they cannot be run under the root user." |
13348 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
13349 |
- return |
13350 |
- fi |
13351 |
- |
13352 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
13353 |
- Xemake test |
13354 |
- fi |
13355 |
-} |
13356 |
- |
13357 |
-multilib_src_install_all() { |
13358 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
13359 |
- add_locale_docs() { |
13360 |
- local locale_doc="documentation/README.$1" |
13361 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
13362 |
- } |
13363 |
- l10n_for_each_locale_do add_locale_docs |
13364 |
- |
13365 |
- einstalldocs |
13366 |
- prune_libtool_files --all |
13367 |
- |
13368 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
13369 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
13370 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
13371 |
- fi |
13372 |
- |
13373 |
- # Remove wineconsole if neither backend is installed #551124 |
13374 |
- if ! use X && ! use ncurses; then |
13375 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
13376 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
13377 |
- rm_wineconsole() { |
13378 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
13379 |
- } |
13380 |
- multilib_foreach_abi rm_wineconsole |
13381 |
- fi |
13382 |
- |
13383 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
13384 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
13385 |
- |
13386 |
- if use abi_x86_64 && ! use abi_x86_32; then |
13387 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
13388 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
13389 |
- fi |
13390 |
- |
13391 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
13392 |
- eshopts_push -s failglob #615218 |
13393 |
- # Make wrappers for binaries for handling multiple variants |
13394 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
13395 |
- local b |
13396 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
13397 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
13398 |
- done |
13399 |
- eshopts_pop |
13400 |
-} |
13401 |
- |
13402 |
-pkg_postinst() { |
13403 |
- eselect wine register ${P} |
13404 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
13405 |
- eselect wine register --vanilla ${P} || die |
13406 |
- fi |
13407 |
- |
13408 |
- eselect wine update --all --if-unset || die |
13409 |
- |
13410 |
- xdg_desktop_database_update |
13411 |
- |
13412 |
- if ! use gecko; then |
13413 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
13414 |
- ewarn "implementation of iexplore. Many older windows applications" |
13415 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
13416 |
- ewarn "you will likely need to install an external one, like via winetricks" |
13417 |
- fi |
13418 |
- if ! use mono; then |
13419 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
13420 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
13421 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
13422 |
- ewarn "to install an external one, like via winetricks" |
13423 |
- fi |
13424 |
-} |
13425 |
- |
13426 |
-pkg_prerm() { |
13427 |
- eselect wine deregister ${P} |
13428 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
13429 |
- eselect wine deregister --vanilla ${P} || die |
13430 |
- fi |
13431 |
- |
13432 |
- eselect wine update --all --if-unset || die |
13433 |
-} |
13434 |
- |
13435 |
-pkg_postrm() { |
13436 |
- xdg_desktop_database_update |
13437 |
-} |
13438 |
|
13439 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.8-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.8-r1.ebuild |
13440 |
deleted file mode 100644 |
13441 |
index 461d2fe..0000000 |
13442 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.8-r1.ebuild |
13443 |
+++ /dev/null |
13444 |
@@ -1,525 +0,0 @@ |
13445 |
-# Copyright 1999-2018 Gentoo Foundation |
13446 |
-# Distributed under the terms of the GNU General Public License v2 |
13447 |
- |
13448 |
-EAPI=6 |
13449 |
- |
13450 |
-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" |
13451 |
-PLOCALE_BACKUP="en" |
13452 |
- |
13453 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
13454 |
- |
13455 |
-MY_PN="${PN%%-*}" |
13456 |
-MY_P="${MY_PN}-${PV}" |
13457 |
- |
13458 |
-if [[ ${PV} == "9999" ]] ; then |
13459 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
13460 |
- EGIT_BRANCH="master" |
13461 |
- inherit git-r3 |
13462 |
- SRC_URI="" |
13463 |
- #KEYWORDS="" |
13464 |
-else |
13465 |
- MAJOR_V=$(ver_cut 1) |
13466 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
13467 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
13468 |
-fi |
13469 |
-S="${WORKDIR}/${MY_P}" |
13470 |
- |
13471 |
-GWP_V="20180120" |
13472 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
13473 |
- |
13474 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
13475 |
-HOMEPAGE="https://www.winehq.org/" |
13476 |
-SRC_URI="${SRC_URI} |
13477 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
13478 |
-" |
13479 |
- |
13480 |
-LICENSE="LGPL-2.1" |
13481 |
-SLOT="${PV}" |
13482 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
13483 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
13484 |
- X? ( truetype ) |
13485 |
- elibc_glibc? ( threads ) |
13486 |
- osmesa? ( opengl ) |
13487 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
13488 |
- |
13489 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
13490 |
-# or fail due to Xvfb's opengl limitations. |
13491 |
-RESTRICT="test" |
13492 |
- |
13493 |
-COMMON_DEPEND=" |
13494 |
- X? ( |
13495 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
13496 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
13497 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
13498 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
13499 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
13500 |
- ) |
13501 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
13502 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
13503 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
13504 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
13505 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
13506 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
13507 |
- gstreamer? ( |
13508 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
13509 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
13510 |
- ) |
13511 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
13512 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
13513 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
13514 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
13515 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
13516 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
13517 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
13518 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
13519 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
13520 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
13521 |
- opengl? ( |
13522 |
- virtual/glu[${MULTILIB_USEDEP}] |
13523 |
- virtual/opengl[${MULTILIB_USEDEP}] |
13524 |
- ) |
13525 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
13526 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
13527 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
13528 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
13529 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
13530 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
13531 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
13532 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
13533 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
13534 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
13535 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
13536 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
13537 |
- xml? ( |
13538 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
13539 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
13540 |
- )" |
13541 |
- |
13542 |
-RDEPEND="${COMMON_DEPEND} |
13543 |
- app-emulation/wine-desktop-common |
13544 |
- >app-eselect/eselect-wine-0.3 |
13545 |
- !app-emulation/wine:0 |
13546 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
13547 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
13548 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
13549 |
- perl? ( |
13550 |
- dev-lang/perl |
13551 |
- dev-perl/XML-Simple |
13552 |
- ) |
13553 |
- pulseaudio? ( |
13554 |
- realtime? ( sys-auth/rtkit ) |
13555 |
- ) |
13556 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
13557 |
- selinux? ( sec-policy/selinux-wine ) |
13558 |
- udisks? ( sys-fs/udisks:2 )" |
13559 |
- |
13560 |
-# tools/make_requests requires perl |
13561 |
-DEPEND="${COMMON_DEPEND} |
13562 |
- sys-devel/flex |
13563 |
- >=sys-kernel/linux-headers-2.6 |
13564 |
- virtual/pkgconfig |
13565 |
- virtual/yacc |
13566 |
- X? ( x11-base/xorg-proto ) |
13567 |
- prelink? ( sys-devel/prelink ) |
13568 |
- xinerama? ( x11-base/xorg-proto )" |
13569 |
- |
13570 |
-# These use a non-standard "Wine" category, which is provided by |
13571 |
-# /etc/xdg/applications-merged/wine.menu |
13572 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
13573 |
-usr/share/applications/wine-notepad.desktop |
13574 |
-usr/share/applications/wine-uninstaller.desktop |
13575 |
-usr/share/applications/wine-winecfg.desktop" |
13576 |
- |
13577 |
-PATCHES=( |
13578 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
13579 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
13580 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
13581 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
13582 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
13583 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
13584 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
13585 |
-) |
13586 |
-PATCHES_BIN=( |
13587 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
13588 |
-) |
13589 |
- |
13590 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
13591 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
13592 |
- DEPEND+=" dev-util/patchbin" |
13593 |
-fi |
13594 |
- |
13595 |
-wine_compiler_check() { |
13596 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
13597 |
- |
13598 |
- # GCC-specific bugs |
13599 |
- if tc-is-gcc; then |
13600 |
- # bug #549768 |
13601 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
13602 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
13603 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
13604 |
- # Run in subshell to prevent "Aborted" message |
13605 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
13606 |
- if ! eend $?; then |
13607 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
13608 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
13609 |
- eerror "or use gcc-config to select a different compiler version." |
13610 |
- eerror "See https://bugs.gentoo.org/549768" |
13611 |
- eerror |
13612 |
- return 1 |
13613 |
- fi |
13614 |
- fi |
13615 |
- # bug #574044 |
13616 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
13617 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
13618 |
- # Compile in subshell to prevent "Aborted" message |
13619 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
13620 |
- if ! eend $?; then |
13621 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
13622 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
13623 |
- eerror "or use gcc-config to select a different compiler version." |
13624 |
- eerror "See https://bugs.gentoo.org/574044" |
13625 |
- eerror |
13626 |
- return 1 |
13627 |
- fi |
13628 |
- fi |
13629 |
- fi |
13630 |
- |
13631 |
- # Ensure compiler support |
13632 |
- if use abi_x86_64; then |
13633 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
13634 |
- # Compile in subshell to prevent "Aborted" message |
13635 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
13636 |
- if ! eend $?; then |
13637 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
13638 |
- eerror |
13639 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
13640 |
- eerror |
13641 |
- return 1 |
13642 |
- fi |
13643 |
- fi |
13644 |
-} |
13645 |
- |
13646 |
-wine_build_environment_check() { |
13647 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
13648 |
- |
13649 |
- if use abi_x86_64; then |
13650 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
13651 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
13652 |
- die |
13653 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
13654 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
13655 |
- die |
13656 |
- fi |
13657 |
- fi |
13658 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
13659 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
13660 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
13661 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
13662 |
- fi |
13663 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
13664 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
13665 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
13666 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
13667 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
13668 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
13669 |
- fi |
13670 |
- fi |
13671 |
- |
13672 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
13673 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
13674 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
13675 |
- eerror |
13676 |
- return 1 |
13677 |
- fi |
13678 |
-} |
13679 |
- |
13680 |
-wine_env_vcs_vars() { |
13681 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
13682 |
- local pn_live_val="${pn_live_var}" |
13683 |
- eval pn_live_val='$'${pn_live_val} |
13684 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
13685 |
- eerror "Commits must now be specified using the environmental variables" |
13686 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
13687 |
- eerror |
13688 |
- return 1 |
13689 |
- fi |
13690 |
-} |
13691 |
- |
13692 |
-pkg_pretend() { |
13693 |
- wine_build_environment_check || die |
13694 |
- |
13695 |
- # Verify OSS support |
13696 |
- if use oss && ! use kernel_FreeBSD; then |
13697 |
- if ! has_version ">=media-sound/oss-4"; then |
13698 |
- eerror "You cannot build wine with USE=oss without having support from a" |
13699 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
13700 |
- eerror |
13701 |
- die |
13702 |
- fi |
13703 |
- fi |
13704 |
-} |
13705 |
- |
13706 |
-pkg_setup() { |
13707 |
- wine_build_environment_check || die |
13708 |
- wine_env_vcs_vars || die |
13709 |
- |
13710 |
- WINE_VARIANT="${PN#wine}-${PV}" |
13711 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
13712 |
- |
13713 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
13714 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
13715 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
13716 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
13717 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
13718 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
13719 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
13720 |
- MY_MANDIR="${MY_DATADIR}/man" |
13721 |
-} |
13722 |
- |
13723 |
-src_unpack() { |
13724 |
- if [[ ${PV} == "9999" ]] ; then |
13725 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
13726 |
- fi |
13727 |
- |
13728 |
- default |
13729 |
- |
13730 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
13731 |
-} |
13732 |
- |
13733 |
-src_prepare() { |
13734 |
- |
13735 |
- eapply_bin(){ |
13736 |
- local patch |
13737 |
- for patch in ${PATCHES_BIN[@]}; do |
13738 |
- patchbin --nogit < "${patch}" || die |
13739 |
- done |
13740 |
- } |
13741 |
- |
13742 |
- local md5="$(md5sum server/protocol.def)" |
13743 |
- |
13744 |
- default |
13745 |
- eapply_bin |
13746 |
- eautoreconf |
13747 |
- |
13748 |
- # Modification of the server protocol requires regenerating the server requests |
13749 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
13750 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
13751 |
- tools/make_requests || die #432348 |
13752 |
- fi |
13753 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
13754 |
- if ! use run-exes; then |
13755 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
13756 |
- fi |
13757 |
- |
13758 |
- # Edit wine.desktop to work for specific variant |
13759 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
13760 |
- |
13761 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
13762 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
13763 |
- |
13764 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
13765 |
- |
13766 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
13767 |
- # Requires wine-2.0-rearrange-manpages.patch |
13768 |
- |
13769 |
- # Duplicate manpages input files for wine64 |
13770 |
- local f |
13771 |
- for f in loader/*.man.in; do |
13772 |
- cp ${f} ${f/wine/wine64} || die |
13773 |
- done |
13774 |
- # Add wine64 manpages to Makefile |
13775 |
- if use abi_x86_64; then |
13776 |
- sed -i "/wine.man.in/i \ |
13777 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
13778 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
13779 |
-\164\2/' loader/Makefile.in || die |
13780 |
- fi |
13781 |
- |
13782 |
- rm_man_file(){ |
13783 |
- local file="${1}" |
13784 |
- loc=${2} |
13785 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
13786 |
- } |
13787 |
- |
13788 |
- while read f; do |
13789 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
13790 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
13791 |
-} |
13792 |
- |
13793 |
-src_configure() { |
13794 |
- wine_compiler_check || die |
13795 |
- |
13796 |
- export LDCONFIG=/bin/true |
13797 |
- use custom-cflags || strip-flags |
13798 |
- |
13799 |
- multilib-minimal_src_configure |
13800 |
-} |
13801 |
- |
13802 |
-multilib_src_configure() { |
13803 |
- local myconf=( |
13804 |
- --prefix="${MY_PREFIX}" |
13805 |
- --datarootdir="${MY_DATAROOTDIR}" |
13806 |
- --datadir="${MY_DATADIR}" |
13807 |
- --docdir="${MY_DOCDIR}" |
13808 |
- --includedir="${MY_INCLUDEDIR}" |
13809 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
13810 |
- --libexecdir="${MY_LIBEXECDIR}" |
13811 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
13812 |
- --mandir="${MY_MANDIR}" |
13813 |
- --sysconfdir=/etc/wine |
13814 |
- $(use_with alsa) |
13815 |
- $(use_with capi) |
13816 |
- $(use_with lcms cms) |
13817 |
- $(use_with cups) |
13818 |
- $(use_with ncurses curses) |
13819 |
- $(use_with udisks dbus) |
13820 |
- $(use_with fontconfig) |
13821 |
- $(use_with ssl gnutls) |
13822 |
- $(use_enable gecko mshtml) |
13823 |
- $(use_with gphoto2 gphoto) |
13824 |
- $(use_with gsm) |
13825 |
- $(use_with gstreamer) |
13826 |
- --without-hal |
13827 |
- $(use_with jpeg) |
13828 |
- $(use_with ldap) |
13829 |
- $(use_enable mono mscoree) |
13830 |
- $(use_with mp3 mpg123) |
13831 |
- $(use_with netapi) |
13832 |
- $(use_with nls gettext) |
13833 |
- $(use_with openal) |
13834 |
- $(use_with opencl) |
13835 |
- $(use_with opengl) |
13836 |
- $(use_with osmesa) |
13837 |
- $(use_with oss) |
13838 |
- $(use_with pcap) |
13839 |
- $(use_with png) |
13840 |
- $(use_with pulseaudio pulse) |
13841 |
- $(use_with threads pthread) |
13842 |
- $(use_with scanner sane) |
13843 |
- $(use_enable test tests) |
13844 |
- $(use_with truetype freetype) |
13845 |
- $(use_with udev) |
13846 |
- $(use_with v4l) |
13847 |
- $(use_with X x) |
13848 |
- $(use_with xcomposite) |
13849 |
- $(use_with xinerama) |
13850 |
- $(use_with xml) |
13851 |
- $(use_with xml xslt) |
13852 |
- ) |
13853 |
- |
13854 |
- local PKG_CONFIG AR RANLIB |
13855 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
13856 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
13857 |
- tc-export PKG_CONFIG AR RANLIB |
13858 |
- |
13859 |
- if use amd64; then |
13860 |
- if [[ ${ABI} == amd64 ]]; then |
13861 |
- myconf+=( --enable-win64 ) |
13862 |
- else |
13863 |
- myconf+=( --disable-win64 ) |
13864 |
- fi |
13865 |
- |
13866 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
13867 |
- # CC/LD hackery. We're using separate tools instead. |
13868 |
- fi |
13869 |
- |
13870 |
- ECONF_SOURCE=${S} \ |
13871 |
- econf "${myconf[@]}" |
13872 |
- emake depend |
13873 |
-} |
13874 |
- |
13875 |
-multilib_src_test() { |
13876 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
13877 |
- if [[ ${ABI} == x86 ]]; then |
13878 |
- if [[ $(id -u) == 0 ]]; then |
13879 |
- ewarn "Skipping tests since they cannot be run under the root user." |
13880 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
13881 |
- return |
13882 |
- fi |
13883 |
- |
13884 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
13885 |
- Xemake test |
13886 |
- fi |
13887 |
-} |
13888 |
- |
13889 |
-multilib_src_install_all() { |
13890 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
13891 |
- add_locale_docs() { |
13892 |
- local locale_doc="documentation/README.$1" |
13893 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
13894 |
- } |
13895 |
- l10n_for_each_locale_do add_locale_docs |
13896 |
- |
13897 |
- einstalldocs |
13898 |
- prune_libtool_files --all |
13899 |
- |
13900 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
13901 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
13902 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
13903 |
- fi |
13904 |
- |
13905 |
- # Remove wineconsole if neither backend is installed #551124 |
13906 |
- if ! use X && ! use ncurses; then |
13907 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
13908 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
13909 |
- rm_wineconsole() { |
13910 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
13911 |
- } |
13912 |
- multilib_foreach_abi rm_wineconsole |
13913 |
- fi |
13914 |
- |
13915 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
13916 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
13917 |
- |
13918 |
- if use abi_x86_64 && ! use abi_x86_32; then |
13919 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
13920 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
13921 |
- fi |
13922 |
- |
13923 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
13924 |
- eshopts_push -s failglob #615218 |
13925 |
- # Make wrappers for binaries for handling multiple variants |
13926 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
13927 |
- local b |
13928 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
13929 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
13930 |
- done |
13931 |
- eshopts_pop |
13932 |
-} |
13933 |
- |
13934 |
-pkg_postinst() { |
13935 |
- eselect wine register ${P} |
13936 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
13937 |
- eselect wine register --vanilla ${P} || die |
13938 |
- fi |
13939 |
- |
13940 |
- eselect wine update --all --if-unset || die |
13941 |
- |
13942 |
- xdg_desktop_database_update |
13943 |
- |
13944 |
- if ! use gecko; then |
13945 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
13946 |
- ewarn "implementation of iexplore. Many older windows applications" |
13947 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
13948 |
- ewarn "you will likely need to install an external one, like via winetricks" |
13949 |
- fi |
13950 |
- if ! use mono; then |
13951 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
13952 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
13953 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
13954 |
- ewarn "to install an external one, like via winetricks" |
13955 |
- fi |
13956 |
-} |
13957 |
- |
13958 |
-pkg_prerm() { |
13959 |
- eselect wine deregister ${P} |
13960 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
13961 |
- eselect wine deregister --vanilla ${P} || die |
13962 |
- fi |
13963 |
- |
13964 |
- eselect wine update --all --if-unset || die |
13965 |
-} |
13966 |
- |
13967 |
-pkg_postrm() { |
13968 |
- xdg_desktop_database_update |
13969 |
-} |
13970 |
|
13971 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-2.9-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-2.9-r1.ebuild |
13972 |
deleted file mode 100644 |
13973 |
index ab84545..0000000 |
13974 |
--- a/app-emulation/wine-vanilla/wine-vanilla-2.9-r1.ebuild |
13975 |
+++ /dev/null |
13976 |
@@ -1,527 +0,0 @@ |
13977 |
-# Copyright 1999-2018 Gentoo Foundation |
13978 |
-# Distributed under the terms of the GNU General Public License v2 |
13979 |
- |
13980 |
-EAPI=6 |
13981 |
- |
13982 |
-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" |
13983 |
-PLOCALE_BACKUP="en" |
13984 |
- |
13985 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
13986 |
- |
13987 |
-MY_PN="${PN%%-*}" |
13988 |
-MY_P="${MY_PN}-${PV}" |
13989 |
- |
13990 |
-if [[ ${PV} == "9999" ]] ; then |
13991 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
13992 |
- EGIT_BRANCH="master" |
13993 |
- inherit git-r3 |
13994 |
- SRC_URI="" |
13995 |
- #KEYWORDS="" |
13996 |
-else |
13997 |
- MAJOR_V=$(ver_cut 1) |
13998 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
13999 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
14000 |
-fi |
14001 |
-S="${WORKDIR}/${MY_P}" |
14002 |
- |
14003 |
-GWP_V="20180120" |
14004 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
14005 |
- |
14006 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
14007 |
-HOMEPAGE="https://www.winehq.org/" |
14008 |
-SRC_URI="${SRC_URI} |
14009 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
14010 |
-" |
14011 |
- |
14012 |
-LICENSE="LGPL-2.1" |
14013 |
-SLOT="${PV}" |
14014 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype udev +udisks v4l +X +xcomposite xinerama +xml" |
14015 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
14016 |
- X? ( truetype ) |
14017 |
- elibc_glibc? ( threads ) |
14018 |
- osmesa? ( opengl ) |
14019 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
14020 |
- |
14021 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
14022 |
-# or fail due to Xvfb's opengl limitations. |
14023 |
-RESTRICT="test" |
14024 |
- |
14025 |
-COMMON_DEPEND=" |
14026 |
- X? ( |
14027 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
14028 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
14029 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
14030 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
14031 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
14032 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
14033 |
- ) |
14034 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
14035 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
14036 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
14037 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
14038 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
14039 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
14040 |
- gstreamer? ( |
14041 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
14042 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
14043 |
- ) |
14044 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
14045 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
14046 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
14047 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
14048 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
14049 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
14050 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
14051 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
14052 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
14053 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
14054 |
- opengl? ( |
14055 |
- virtual/glu[${MULTILIB_USEDEP}] |
14056 |
- virtual/opengl[${MULTILIB_USEDEP}] |
14057 |
- ) |
14058 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
14059 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
14060 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
14061 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
14062 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
14063 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
14064 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
14065 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
14066 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
14067 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
14068 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
14069 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
14070 |
- xml? ( |
14071 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
14072 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
14073 |
- )" |
14074 |
- |
14075 |
-RDEPEND="${COMMON_DEPEND} |
14076 |
- app-emulation/wine-desktop-common |
14077 |
- >app-eselect/eselect-wine-0.3 |
14078 |
- !app-emulation/wine:0 |
14079 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
14080 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
14081 |
- mono? ( app-emulation/wine-mono:4.7.0 ) |
14082 |
- perl? ( |
14083 |
- dev-lang/perl |
14084 |
- dev-perl/XML-Simple |
14085 |
- ) |
14086 |
- pulseaudio? ( |
14087 |
- realtime? ( sys-auth/rtkit ) |
14088 |
- ) |
14089 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
14090 |
- selinux? ( sec-policy/selinux-wine ) |
14091 |
- udisks? ( sys-fs/udisks:2 )" |
14092 |
- |
14093 |
-# tools/make_requests requires perl |
14094 |
-DEPEND="${COMMON_DEPEND} |
14095 |
- sys-devel/flex |
14096 |
- >=sys-kernel/linux-headers-2.6 |
14097 |
- virtual/pkgconfig |
14098 |
- virtual/yacc |
14099 |
- X? ( x11-base/xorg-proto ) |
14100 |
- prelink? ( sys-devel/prelink ) |
14101 |
- xinerama? ( x11-base/xorg-proto )" |
14102 |
- |
14103 |
-# These use a non-standard "Wine" category, which is provided by |
14104 |
-# /etc/xdg/applications-merged/wine.menu |
14105 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
14106 |
-usr/share/applications/wine-notepad.desktop |
14107 |
-usr/share/applications/wine-uninstaller.desktop |
14108 |
-usr/share/applications/wine-winecfg.desktop" |
14109 |
- |
14110 |
-PATCHES=( |
14111 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
14112 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
14113 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
14114 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
14115 |
- "${PATCHDIR}/patches/freetype-2.8.1-segfault.patch" #631676 |
14116 |
- "${PATCHDIR}/patches/freetype-2.8.1-drop-glyphs.patch" #631376 |
14117 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
14118 |
-) |
14119 |
-PATCHES_BIN=( |
14120 |
- "${PATCHDIR}/patches/freetype-2.8.1-patch-fonts.patch" #631376 |
14121 |
-) |
14122 |
- |
14123 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
14124 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
14125 |
- DEPEND+=" dev-util/patchbin" |
14126 |
-fi |
14127 |
- |
14128 |
-wine_compiler_check() { |
14129 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
14130 |
- |
14131 |
- # GCC-specific bugs |
14132 |
- if tc-is-gcc; then |
14133 |
- # bug #549768 |
14134 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
14135 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
14136 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
14137 |
- # Run in subshell to prevent "Aborted" message |
14138 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
14139 |
- if ! eend $?; then |
14140 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
14141 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
14142 |
- eerror "or use gcc-config to select a different compiler version." |
14143 |
- eerror "See https://bugs.gentoo.org/549768" |
14144 |
- eerror |
14145 |
- return 1 |
14146 |
- fi |
14147 |
- fi |
14148 |
- # bug #574044 |
14149 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
14150 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
14151 |
- # Compile in subshell to prevent "Aborted" message |
14152 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
14153 |
- if ! eend $?; then |
14154 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
14155 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
14156 |
- eerror "or use gcc-config to select a different compiler version." |
14157 |
- eerror "See https://bugs.gentoo.org/574044" |
14158 |
- eerror |
14159 |
- return 1 |
14160 |
- fi |
14161 |
- fi |
14162 |
- fi |
14163 |
- |
14164 |
- # Ensure compiler support |
14165 |
- if use abi_x86_64; then |
14166 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
14167 |
- # Compile in subshell to prevent "Aborted" message |
14168 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
14169 |
- if ! eend $?; then |
14170 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
14171 |
- eerror |
14172 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
14173 |
- eerror |
14174 |
- return 1 |
14175 |
- fi |
14176 |
- fi |
14177 |
-} |
14178 |
- |
14179 |
-wine_build_environment_check() { |
14180 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
14181 |
- |
14182 |
- if use abi_x86_64; then |
14183 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
14184 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
14185 |
- die |
14186 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
14187 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
14188 |
- die |
14189 |
- fi |
14190 |
- fi |
14191 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
14192 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
14193 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
14194 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
14195 |
- fi |
14196 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
14197 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
14198 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
14199 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
14200 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
14201 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
14202 |
- fi |
14203 |
- fi |
14204 |
- |
14205 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
14206 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
14207 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
14208 |
- eerror |
14209 |
- return 1 |
14210 |
- fi |
14211 |
-} |
14212 |
- |
14213 |
-wine_env_vcs_vars() { |
14214 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
14215 |
- local pn_live_val="${pn_live_var}" |
14216 |
- eval pn_live_val='$'${pn_live_val} |
14217 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
14218 |
- eerror "Commits must now be specified using the environmental variables" |
14219 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
14220 |
- eerror |
14221 |
- return 1 |
14222 |
- fi |
14223 |
-} |
14224 |
- |
14225 |
-pkg_pretend() { |
14226 |
- wine_build_environment_check || die |
14227 |
- |
14228 |
- # Verify OSS support |
14229 |
- if use oss && ! use kernel_FreeBSD; then |
14230 |
- if ! has_version ">=media-sound/oss-4"; then |
14231 |
- eerror "You cannot build wine with USE=oss without having support from a" |
14232 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
14233 |
- eerror |
14234 |
- die |
14235 |
- fi |
14236 |
- fi |
14237 |
-} |
14238 |
- |
14239 |
-pkg_setup() { |
14240 |
- wine_build_environment_check || die |
14241 |
- wine_env_vcs_vars || die |
14242 |
- |
14243 |
- WINE_VARIANT="${PN#wine}-${PV}" |
14244 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
14245 |
- |
14246 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
14247 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
14248 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
14249 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
14250 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
14251 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
14252 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
14253 |
- MY_MANDIR="${MY_DATADIR}/man" |
14254 |
-} |
14255 |
- |
14256 |
-src_unpack() { |
14257 |
- if [[ ${PV} == "9999" ]] ; then |
14258 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
14259 |
- fi |
14260 |
- |
14261 |
- default |
14262 |
- |
14263 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
14264 |
-} |
14265 |
- |
14266 |
-src_prepare() { |
14267 |
- |
14268 |
- eapply_bin(){ |
14269 |
- local patch |
14270 |
- for patch in ${PATCHES_BIN[@]}; do |
14271 |
- patchbin --nogit < "${patch}" || die |
14272 |
- done |
14273 |
- } |
14274 |
- |
14275 |
- local md5="$(md5sum server/protocol.def)" |
14276 |
- |
14277 |
- default |
14278 |
- eapply_bin |
14279 |
- eautoreconf |
14280 |
- |
14281 |
- # Modification of the server protocol requires regenerating the server requests |
14282 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
14283 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
14284 |
- tools/make_requests || die #432348 |
14285 |
- fi |
14286 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
14287 |
- if ! use run-exes; then |
14288 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
14289 |
- fi |
14290 |
- |
14291 |
- # Edit wine.desktop to work for specific variant |
14292 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
14293 |
- |
14294 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
14295 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
14296 |
- |
14297 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
14298 |
- |
14299 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
14300 |
- # Requires wine-2.0-rearrange-manpages.patch |
14301 |
- |
14302 |
- # Duplicate manpages input files for wine64 |
14303 |
- local f |
14304 |
- for f in loader/*.man.in; do |
14305 |
- cp ${f} ${f/wine/wine64} || die |
14306 |
- done |
14307 |
- # Add wine64 manpages to Makefile |
14308 |
- if use abi_x86_64; then |
14309 |
- sed -i "/wine.man.in/i \ |
14310 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
14311 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
14312 |
-\164\2/' loader/Makefile.in || die |
14313 |
- fi |
14314 |
- |
14315 |
- rm_man_file(){ |
14316 |
- local file="${1}" |
14317 |
- loc=${2} |
14318 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
14319 |
- } |
14320 |
- |
14321 |
- while read f; do |
14322 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
14323 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
14324 |
-} |
14325 |
- |
14326 |
-src_configure() { |
14327 |
- wine_compiler_check || die |
14328 |
- |
14329 |
- export LDCONFIG=/bin/true |
14330 |
- use custom-cflags || strip-flags |
14331 |
- |
14332 |
- multilib-minimal_src_configure |
14333 |
-} |
14334 |
- |
14335 |
-multilib_src_configure() { |
14336 |
- local myconf=( |
14337 |
- --prefix="${MY_PREFIX}" |
14338 |
- --datarootdir="${MY_DATAROOTDIR}" |
14339 |
- --datadir="${MY_DATADIR}" |
14340 |
- --docdir="${MY_DOCDIR}" |
14341 |
- --includedir="${MY_INCLUDEDIR}" |
14342 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
14343 |
- --libexecdir="${MY_LIBEXECDIR}" |
14344 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
14345 |
- --mandir="${MY_MANDIR}" |
14346 |
- --sysconfdir=/etc/wine |
14347 |
- $(use_with alsa) |
14348 |
- $(use_with capi) |
14349 |
- $(use_with lcms cms) |
14350 |
- $(use_with cups) |
14351 |
- $(use_with ncurses curses) |
14352 |
- $(use_with udisks dbus) |
14353 |
- $(use_with fontconfig) |
14354 |
- $(use_with ssl gnutls) |
14355 |
- $(use_enable gecko mshtml) |
14356 |
- $(use_with gphoto2 gphoto) |
14357 |
- $(use_with gsm) |
14358 |
- $(use_with gstreamer) |
14359 |
- --without-hal |
14360 |
- $(use_with jpeg) |
14361 |
- $(use_with ldap) |
14362 |
- $(use_enable mono mscoree) |
14363 |
- $(use_with mp3 mpg123) |
14364 |
- $(use_with netapi) |
14365 |
- $(use_with nls gettext) |
14366 |
- $(use_with openal) |
14367 |
- $(use_with opencl) |
14368 |
- $(use_with opengl) |
14369 |
- $(use_with osmesa) |
14370 |
- $(use_with oss) |
14371 |
- $(use_with pcap) |
14372 |
- $(use_with png) |
14373 |
- $(use_with pulseaudio pulse) |
14374 |
- $(use_with threads pthread) |
14375 |
- $(use_with scanner sane) |
14376 |
- $(use_enable test tests) |
14377 |
- $(use_with truetype freetype) |
14378 |
- $(use_with udev) |
14379 |
- $(use_with v4l) |
14380 |
- $(use_with X x) |
14381 |
- $(use_with X xfixes) |
14382 |
- $(use_with xcomposite) |
14383 |
- $(use_with xinerama) |
14384 |
- $(use_with xml) |
14385 |
- $(use_with xml xslt) |
14386 |
- ) |
14387 |
- |
14388 |
- local PKG_CONFIG AR RANLIB |
14389 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
14390 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
14391 |
- tc-export PKG_CONFIG AR RANLIB |
14392 |
- |
14393 |
- if use amd64; then |
14394 |
- if [[ ${ABI} == amd64 ]]; then |
14395 |
- myconf+=( --enable-win64 ) |
14396 |
- else |
14397 |
- myconf+=( --disable-win64 ) |
14398 |
- fi |
14399 |
- |
14400 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
14401 |
- # CC/LD hackery. We're using separate tools instead. |
14402 |
- fi |
14403 |
- |
14404 |
- ECONF_SOURCE=${S} \ |
14405 |
- econf "${myconf[@]}" |
14406 |
- emake depend |
14407 |
-} |
14408 |
- |
14409 |
-multilib_src_test() { |
14410 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
14411 |
- if [[ ${ABI} == x86 ]]; then |
14412 |
- if [[ $(id -u) == 0 ]]; then |
14413 |
- ewarn "Skipping tests since they cannot be run under the root user." |
14414 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
14415 |
- return |
14416 |
- fi |
14417 |
- |
14418 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
14419 |
- Xemake test |
14420 |
- fi |
14421 |
-} |
14422 |
- |
14423 |
-multilib_src_install_all() { |
14424 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
14425 |
- add_locale_docs() { |
14426 |
- local locale_doc="documentation/README.$1" |
14427 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
14428 |
- } |
14429 |
- l10n_for_each_locale_do add_locale_docs |
14430 |
- |
14431 |
- einstalldocs |
14432 |
- prune_libtool_files --all |
14433 |
- |
14434 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
14435 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
14436 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
14437 |
- fi |
14438 |
- |
14439 |
- # Remove wineconsole if neither backend is installed #551124 |
14440 |
- if ! use X && ! use ncurses; then |
14441 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
14442 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
14443 |
- rm_wineconsole() { |
14444 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
14445 |
- } |
14446 |
- multilib_foreach_abi rm_wineconsole |
14447 |
- fi |
14448 |
- |
14449 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
14450 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
14451 |
- |
14452 |
- if use abi_x86_64 && ! use abi_x86_32; then |
14453 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
14454 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
14455 |
- fi |
14456 |
- |
14457 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
14458 |
- eshopts_push -s failglob #615218 |
14459 |
- # Make wrappers for binaries for handling multiple variants |
14460 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
14461 |
- local b |
14462 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
14463 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
14464 |
- done |
14465 |
- eshopts_pop |
14466 |
-} |
14467 |
- |
14468 |
-pkg_postinst() { |
14469 |
- eselect wine register ${P} |
14470 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
14471 |
- eselect wine register --vanilla ${P} || die |
14472 |
- fi |
14473 |
- |
14474 |
- eselect wine update --all --if-unset || die |
14475 |
- |
14476 |
- xdg_desktop_database_update |
14477 |
- |
14478 |
- if ! use gecko; then |
14479 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
14480 |
- ewarn "implementation of iexplore. Many older windows applications" |
14481 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
14482 |
- ewarn "you will likely need to install an external one, like via winetricks" |
14483 |
- fi |
14484 |
- if ! use mono; then |
14485 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
14486 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
14487 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
14488 |
- ewarn "to install an external one, like via winetricks" |
14489 |
- fi |
14490 |
-} |
14491 |
- |
14492 |
-pkg_prerm() { |
14493 |
- eselect wine deregister ${P} |
14494 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
14495 |
- eselect wine deregister --vanilla ${P} || die |
14496 |
- fi |
14497 |
- |
14498 |
- eselect wine update --all --if-unset || die |
14499 |
-} |
14500 |
- |
14501 |
-pkg_postrm() { |
14502 |
- xdg_desktop_database_update |
14503 |
-} |
14504 |
|
14505 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.0.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.0.1.ebuild |
14506 |
deleted file mode 100644 |
14507 |
index fdc92cf..0000000 |
14508 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.0.1.ebuild |
14509 |
+++ /dev/null |
14510 |
@@ -1,525 +0,0 @@ |
14511 |
-# Copyright 1999-2018 Gentoo Foundation |
14512 |
-# Distributed under the terms of the GNU General Public License v2 |
14513 |
- |
14514 |
-EAPI=6 |
14515 |
- |
14516 |
-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" |
14517 |
-PLOCALE_BACKUP="en" |
14518 |
- |
14519 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
14520 |
- |
14521 |
-MY_PN="${PN%%-*}" |
14522 |
-MY_P="${MY_PN}-${PV}" |
14523 |
- |
14524 |
-if [[ ${PV} == "9999" ]] ; then |
14525 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
14526 |
- EGIT_BRANCH="master" |
14527 |
- inherit git-r3 |
14528 |
- SRC_URI="" |
14529 |
- #KEYWORDS="" |
14530 |
-else |
14531 |
- MAJOR_V=$(ver_cut 1) |
14532 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
14533 |
- KEYWORDS="-* amd64 x86 ~x86-fbsd" |
14534 |
-fi |
14535 |
-S="${WORKDIR}/${MY_P}" |
14536 |
- |
14537 |
-GWP_V="20180120" |
14538 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
14539 |
- |
14540 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
14541 |
-HOMEPAGE="https://www.winehq.org/" |
14542 |
-SRC_URI="${SRC_URI} |
14543 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
14544 |
-" |
14545 |
- |
14546 |
-LICENSE="LGPL-2.1" |
14547 |
-SLOT="${PV}" |
14548 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
14549 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
14550 |
- X? ( truetype ) |
14551 |
- elibc_glibc? ( threads ) |
14552 |
- osmesa? ( opengl ) |
14553 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
14554 |
- |
14555 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
14556 |
-# or fail due to Xvfb's opengl limitations. |
14557 |
-RESTRICT="test" |
14558 |
- |
14559 |
-COMMON_DEPEND=" |
14560 |
- X? ( |
14561 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
14562 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
14563 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
14564 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
14565 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
14566 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
14567 |
- ) |
14568 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
14569 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
14570 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
14571 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
14572 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
14573 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
14574 |
- gstreamer? ( |
14575 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
14576 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
14577 |
- ) |
14578 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
14579 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
14580 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
14581 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
14582 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
14583 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
14584 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
14585 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
14586 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
14587 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
14588 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
14589 |
- opengl? ( |
14590 |
- virtual/glu[${MULTILIB_USEDEP}] |
14591 |
- virtual/opengl[${MULTILIB_USEDEP}] |
14592 |
- ) |
14593 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
14594 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
14595 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
14596 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
14597 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
14598 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
14599 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
14600 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
14601 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
14602 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
14603 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
14604 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
14605 |
- xml? ( |
14606 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
14607 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
14608 |
- )" |
14609 |
- |
14610 |
-RDEPEND="${COMMON_DEPEND} |
14611 |
- app-emulation/wine-desktop-common |
14612 |
- >app-eselect/eselect-wine-0.3 |
14613 |
- !app-emulation/wine:0 |
14614 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
14615 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
14616 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
14617 |
- perl? ( |
14618 |
- dev-lang/perl |
14619 |
- dev-perl/XML-Simple |
14620 |
- ) |
14621 |
- pulseaudio? ( |
14622 |
- realtime? ( sys-auth/rtkit ) |
14623 |
- ) |
14624 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
14625 |
- selinux? ( sec-policy/selinux-wine ) |
14626 |
- udisks? ( sys-fs/udisks:2 )" |
14627 |
- |
14628 |
-# tools/make_requests requires perl |
14629 |
-DEPEND="${COMMON_DEPEND} |
14630 |
- sys-devel/flex |
14631 |
- >=sys-kernel/linux-headers-2.6 |
14632 |
- virtual/pkgconfig |
14633 |
- virtual/yacc |
14634 |
- X? ( x11-base/xorg-proto ) |
14635 |
- prelink? ( sys-devel/prelink ) |
14636 |
- xinerama? ( x11-base/xorg-proto )" |
14637 |
- |
14638 |
-# These use a non-standard "Wine" category, which is provided by |
14639 |
-# /etc/xdg/applications-merged/wine.menu |
14640 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
14641 |
-usr/share/applications/wine-notepad.desktop |
14642 |
-usr/share/applications/wine-uninstaller.desktop |
14643 |
-usr/share/applications/wine-winecfg.desktop" |
14644 |
- |
14645 |
-PATCHES=( |
14646 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
14647 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
14648 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
14649 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
14650 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
14651 |
-) |
14652 |
-PATCHES_BIN=() |
14653 |
- |
14654 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
14655 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
14656 |
- DEPEND+=" dev-util/patchbin" |
14657 |
-fi |
14658 |
- |
14659 |
-wine_compiler_check() { |
14660 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
14661 |
- |
14662 |
- # GCC-specific bugs |
14663 |
- if tc-is-gcc; then |
14664 |
- # bug #549768 |
14665 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
14666 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
14667 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
14668 |
- # Run in subshell to prevent "Aborted" message |
14669 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
14670 |
- if ! eend $?; then |
14671 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
14672 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
14673 |
- eerror "or use gcc-config to select a different compiler version." |
14674 |
- eerror "See https://bugs.gentoo.org/549768" |
14675 |
- eerror |
14676 |
- return 1 |
14677 |
- fi |
14678 |
- fi |
14679 |
- # bug #574044 |
14680 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
14681 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
14682 |
- # Compile in subshell to prevent "Aborted" message |
14683 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
14684 |
- if ! eend $?; then |
14685 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
14686 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
14687 |
- eerror "or use gcc-config to select a different compiler version." |
14688 |
- eerror "See https://bugs.gentoo.org/574044" |
14689 |
- eerror |
14690 |
- return 1 |
14691 |
- fi |
14692 |
- fi |
14693 |
- fi |
14694 |
- |
14695 |
- # Ensure compiler support |
14696 |
- if use abi_x86_64; then |
14697 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
14698 |
- # Compile in subshell to prevent "Aborted" message |
14699 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
14700 |
- if ! eend $?; then |
14701 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
14702 |
- eerror |
14703 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
14704 |
- eerror |
14705 |
- return 1 |
14706 |
- fi |
14707 |
- fi |
14708 |
-} |
14709 |
- |
14710 |
-wine_build_environment_check() { |
14711 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
14712 |
- |
14713 |
- if use abi_x86_64; then |
14714 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
14715 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
14716 |
- die |
14717 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
14718 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
14719 |
- die |
14720 |
- fi |
14721 |
- fi |
14722 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
14723 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
14724 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
14725 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
14726 |
- fi |
14727 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
14728 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
14729 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
14730 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
14731 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
14732 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
14733 |
- fi |
14734 |
- fi |
14735 |
- |
14736 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
14737 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
14738 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
14739 |
- eerror |
14740 |
- return 1 |
14741 |
- fi |
14742 |
-} |
14743 |
- |
14744 |
-wine_env_vcs_vars() { |
14745 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
14746 |
- local pn_live_val="${pn_live_var}" |
14747 |
- eval pn_live_val='$'${pn_live_val} |
14748 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
14749 |
- eerror "Commits must now be specified using the environmental variables" |
14750 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
14751 |
- eerror |
14752 |
- return 1 |
14753 |
- fi |
14754 |
-} |
14755 |
- |
14756 |
-pkg_pretend() { |
14757 |
- wine_build_environment_check || die |
14758 |
- |
14759 |
- # Verify OSS support |
14760 |
- if use oss && ! use kernel_FreeBSD; then |
14761 |
- if ! has_version ">=media-sound/oss-4"; then |
14762 |
- eerror "You cannot build wine with USE=oss without having support from a" |
14763 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
14764 |
- eerror |
14765 |
- die |
14766 |
- fi |
14767 |
- fi |
14768 |
-} |
14769 |
- |
14770 |
-pkg_setup() { |
14771 |
- wine_build_environment_check || die |
14772 |
- wine_env_vcs_vars || die |
14773 |
- |
14774 |
- WINE_VARIANT="${PN#wine}-${PV}" |
14775 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
14776 |
- |
14777 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
14778 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
14779 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
14780 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
14781 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
14782 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
14783 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
14784 |
- MY_MANDIR="${MY_DATADIR}/man" |
14785 |
-} |
14786 |
- |
14787 |
-src_unpack() { |
14788 |
- if [[ ${PV} == "9999" ]] ; then |
14789 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
14790 |
- fi |
14791 |
- |
14792 |
- default |
14793 |
- |
14794 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
14795 |
-} |
14796 |
- |
14797 |
-src_prepare() { |
14798 |
- |
14799 |
- eapply_bin(){ |
14800 |
- local patch |
14801 |
- for patch in ${PATCHES_BIN[@]}; do |
14802 |
- patchbin --nogit < "${patch}" || die |
14803 |
- done |
14804 |
- } |
14805 |
- |
14806 |
- local md5="$(md5sum server/protocol.def)" |
14807 |
- |
14808 |
- default |
14809 |
- eapply_bin |
14810 |
- eautoreconf |
14811 |
- |
14812 |
- # Modification of the server protocol requires regenerating the server requests |
14813 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
14814 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
14815 |
- tools/make_requests || die #432348 |
14816 |
- fi |
14817 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
14818 |
- if ! use run-exes; then |
14819 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
14820 |
- fi |
14821 |
- |
14822 |
- # Edit wine.desktop to work for specific variant |
14823 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
14824 |
- |
14825 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
14826 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
14827 |
- |
14828 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
14829 |
- |
14830 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
14831 |
- # Requires wine-2.0-rearrange-manpages.patch |
14832 |
- |
14833 |
- # Duplicate manpages input files for wine64 |
14834 |
- local f |
14835 |
- for f in loader/*.man.in; do |
14836 |
- cp ${f} ${f/wine/wine64} || die |
14837 |
- done |
14838 |
- # Add wine64 manpages to Makefile |
14839 |
- if use abi_x86_64; then |
14840 |
- sed -i "/wine.man.in/i \ |
14841 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
14842 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
14843 |
-\164\2/' loader/Makefile.in || die |
14844 |
- fi |
14845 |
- |
14846 |
- rm_man_file(){ |
14847 |
- local file="${1}" |
14848 |
- loc=${2} |
14849 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
14850 |
- } |
14851 |
- |
14852 |
- while read f; do |
14853 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
14854 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
14855 |
-} |
14856 |
- |
14857 |
-src_configure() { |
14858 |
- wine_compiler_check || die |
14859 |
- |
14860 |
- export LDCONFIG=/bin/true |
14861 |
- use custom-cflags || strip-flags |
14862 |
- |
14863 |
- multilib-minimal_src_configure |
14864 |
-} |
14865 |
- |
14866 |
-multilib_src_configure() { |
14867 |
- local myconf=( |
14868 |
- --prefix="${MY_PREFIX}" |
14869 |
- --datarootdir="${MY_DATAROOTDIR}" |
14870 |
- --datadir="${MY_DATADIR}" |
14871 |
- --docdir="${MY_DOCDIR}" |
14872 |
- --includedir="${MY_INCLUDEDIR}" |
14873 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
14874 |
- --libexecdir="${MY_LIBEXECDIR}" |
14875 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
14876 |
- --mandir="${MY_MANDIR}" |
14877 |
- --sysconfdir=/etc/wine |
14878 |
- $(use_with alsa) |
14879 |
- $(use_with capi) |
14880 |
- $(use_with lcms cms) |
14881 |
- $(use_with cups) |
14882 |
- $(use_with ncurses curses) |
14883 |
- $(use_with udisks dbus) |
14884 |
- $(use_with fontconfig) |
14885 |
- $(use_with ssl gnutls) |
14886 |
- $(use_enable gecko mshtml) |
14887 |
- $(use_with gphoto2 gphoto) |
14888 |
- $(use_with gsm) |
14889 |
- $(use_with gstreamer) |
14890 |
- --without-hal |
14891 |
- $(use_with jpeg) |
14892 |
- $(use_with kerberos krb5) |
14893 |
- $(use_with ldap) |
14894 |
- $(use_enable mono mscoree) |
14895 |
- $(use_with mp3 mpg123) |
14896 |
- $(use_with netapi) |
14897 |
- $(use_with nls gettext) |
14898 |
- $(use_with openal) |
14899 |
- $(use_with opencl) |
14900 |
- $(use_with opengl) |
14901 |
- $(use_with osmesa) |
14902 |
- $(use_with oss) |
14903 |
- $(use_with pcap) |
14904 |
- $(use_with png) |
14905 |
- $(use_with pulseaudio pulse) |
14906 |
- $(use_with threads pthread) |
14907 |
- $(use_with scanner sane) |
14908 |
- $(use_enable test tests) |
14909 |
- $(use_with truetype freetype) |
14910 |
- $(use_with udev) |
14911 |
- $(use_with v4l) |
14912 |
- $(use_with X x) |
14913 |
- $(use_with X xfixes) |
14914 |
- $(use_with xcomposite) |
14915 |
- $(use_with xinerama) |
14916 |
- $(use_with xml) |
14917 |
- $(use_with xml xslt) |
14918 |
- ) |
14919 |
- |
14920 |
- local PKG_CONFIG AR RANLIB |
14921 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
14922 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
14923 |
- tc-export PKG_CONFIG AR RANLIB |
14924 |
- |
14925 |
- if use amd64; then |
14926 |
- if [[ ${ABI} == amd64 ]]; then |
14927 |
- myconf+=( --enable-win64 ) |
14928 |
- else |
14929 |
- myconf+=( --disable-win64 ) |
14930 |
- fi |
14931 |
- |
14932 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
14933 |
- # CC/LD hackery. We're using separate tools instead. |
14934 |
- fi |
14935 |
- |
14936 |
- ECONF_SOURCE=${S} \ |
14937 |
- econf "${myconf[@]}" |
14938 |
- emake depend |
14939 |
-} |
14940 |
- |
14941 |
-multilib_src_test() { |
14942 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
14943 |
- if [[ ${ABI} == x86 ]]; then |
14944 |
- if [[ $(id -u) == 0 ]]; then |
14945 |
- ewarn "Skipping tests since they cannot be run under the root user." |
14946 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
14947 |
- return |
14948 |
- fi |
14949 |
- |
14950 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
14951 |
- Xemake test |
14952 |
- fi |
14953 |
-} |
14954 |
- |
14955 |
-multilib_src_install_all() { |
14956 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
14957 |
- add_locale_docs() { |
14958 |
- local locale_doc="documentation/README.$1" |
14959 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
14960 |
- } |
14961 |
- l10n_for_each_locale_do add_locale_docs |
14962 |
- |
14963 |
- einstalldocs |
14964 |
- prune_libtool_files --all |
14965 |
- |
14966 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
14967 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
14968 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
14969 |
- fi |
14970 |
- |
14971 |
- # Remove wineconsole if neither backend is installed #551124 |
14972 |
- if ! use X && ! use ncurses; then |
14973 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
14974 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
14975 |
- rm_wineconsole() { |
14976 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
14977 |
- } |
14978 |
- multilib_foreach_abi rm_wineconsole |
14979 |
- fi |
14980 |
- |
14981 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
14982 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
14983 |
- |
14984 |
- if use abi_x86_64 && ! use abi_x86_32; then |
14985 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
14986 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
14987 |
- fi |
14988 |
- |
14989 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
14990 |
- eshopts_push -s failglob #615218 |
14991 |
- # Make wrappers for binaries for handling multiple variants |
14992 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
14993 |
- local b |
14994 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
14995 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
14996 |
- done |
14997 |
- eshopts_pop |
14998 |
-} |
14999 |
- |
15000 |
-pkg_postinst() { |
15001 |
- eselect wine register ${P} |
15002 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
15003 |
- eselect wine register --vanilla ${P} || die |
15004 |
- fi |
15005 |
- |
15006 |
- eselect wine update --all --if-unset || die |
15007 |
- |
15008 |
- xdg_desktop_database_update |
15009 |
- |
15010 |
- if ! use gecko; then |
15011 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
15012 |
- ewarn "implementation of iexplore. Many older windows applications" |
15013 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
15014 |
- ewarn "you will likely need to install an external one, like via winetricks" |
15015 |
- fi |
15016 |
- if ! use mono; then |
15017 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
15018 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
15019 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
15020 |
- ewarn "to install an external one, like via winetricks" |
15021 |
- fi |
15022 |
-} |
15023 |
- |
15024 |
-pkg_prerm() { |
15025 |
- eselect wine deregister ${P} |
15026 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
15027 |
- eselect wine deregister --vanilla ${P} || die |
15028 |
- fi |
15029 |
- |
15030 |
- eselect wine update --all --if-unset || die |
15031 |
-} |
15032 |
- |
15033 |
-pkg_postrm() { |
15034 |
- xdg_desktop_database_update |
15035 |
-} |
15036 |
|
15037 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.0.2.ebuild |
15038 |
deleted file mode 100644 |
15039 |
index 666c113..0000000 |
15040 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.0.2.ebuild |
15041 |
+++ /dev/null |
15042 |
@@ -1,525 +0,0 @@ |
15043 |
-# Copyright 1999-2018 Gentoo Foundation |
15044 |
-# Distributed under the terms of the GNU General Public License v2 |
15045 |
- |
15046 |
-EAPI=6 |
15047 |
- |
15048 |
-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" |
15049 |
-PLOCALE_BACKUP="en" |
15050 |
- |
15051 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
15052 |
- |
15053 |
-MY_PN="${PN%%-*}" |
15054 |
-MY_P="${MY_PN}-${PV}" |
15055 |
- |
15056 |
-if [[ ${PV} == "9999" ]] ; then |
15057 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
15058 |
- EGIT_BRANCH="master" |
15059 |
- inherit git-r3 |
15060 |
- SRC_URI="" |
15061 |
- #KEYWORDS="" |
15062 |
-else |
15063 |
- MAJOR_V=$(ver_cut 1) |
15064 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
15065 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
15066 |
-fi |
15067 |
-S="${WORKDIR}/${MY_P}" |
15068 |
- |
15069 |
-GWP_V="20180120" |
15070 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
15071 |
- |
15072 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
15073 |
-HOMEPAGE="https://www.winehq.org/" |
15074 |
-SRC_URI="${SRC_URI} |
15075 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
15076 |
-" |
15077 |
- |
15078 |
-LICENSE="LGPL-2.1" |
15079 |
-SLOT="${PV}" |
15080 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
15081 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
15082 |
- X? ( truetype ) |
15083 |
- elibc_glibc? ( threads ) |
15084 |
- osmesa? ( opengl ) |
15085 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
15086 |
- |
15087 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
15088 |
-# or fail due to Xvfb's opengl limitations. |
15089 |
-RESTRICT="test" |
15090 |
- |
15091 |
-COMMON_DEPEND=" |
15092 |
- X? ( |
15093 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
15094 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
15095 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
15096 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
15097 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
15098 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
15099 |
- ) |
15100 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
15101 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
15102 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
15103 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
15104 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
15105 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
15106 |
- gstreamer? ( |
15107 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
15108 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
15109 |
- ) |
15110 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
15111 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
15112 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
15113 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
15114 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
15115 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
15116 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
15117 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
15118 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
15119 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
15120 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
15121 |
- opengl? ( |
15122 |
- virtual/glu[${MULTILIB_USEDEP}] |
15123 |
- virtual/opengl[${MULTILIB_USEDEP}] |
15124 |
- ) |
15125 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
15126 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
15127 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
15128 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
15129 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
15130 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
15131 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
15132 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
15133 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
15134 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
15135 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
15136 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
15137 |
- xml? ( |
15138 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
15139 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
15140 |
- )" |
15141 |
- |
15142 |
-RDEPEND="${COMMON_DEPEND} |
15143 |
- app-emulation/wine-desktop-common |
15144 |
- >app-eselect/eselect-wine-0.3 |
15145 |
- !app-emulation/wine:0 |
15146 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
15147 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
15148 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
15149 |
- perl? ( |
15150 |
- dev-lang/perl |
15151 |
- dev-perl/XML-Simple |
15152 |
- ) |
15153 |
- pulseaudio? ( |
15154 |
- realtime? ( sys-auth/rtkit ) |
15155 |
- ) |
15156 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
15157 |
- selinux? ( sec-policy/selinux-wine ) |
15158 |
- udisks? ( sys-fs/udisks:2 )" |
15159 |
- |
15160 |
-# tools/make_requests requires perl |
15161 |
-DEPEND="${COMMON_DEPEND} |
15162 |
- sys-devel/flex |
15163 |
- >=sys-kernel/linux-headers-2.6 |
15164 |
- virtual/pkgconfig |
15165 |
- virtual/yacc |
15166 |
- X? ( x11-base/xorg-proto ) |
15167 |
- prelink? ( sys-devel/prelink ) |
15168 |
- xinerama? ( x11-base/xorg-proto )" |
15169 |
- |
15170 |
-# These use a non-standard "Wine" category, which is provided by |
15171 |
-# /etc/xdg/applications-merged/wine.menu |
15172 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
15173 |
-usr/share/applications/wine-notepad.desktop |
15174 |
-usr/share/applications/wine-uninstaller.desktop |
15175 |
-usr/share/applications/wine-winecfg.desktop" |
15176 |
- |
15177 |
-PATCHES=( |
15178 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
15179 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
15180 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
15181 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
15182 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
15183 |
-) |
15184 |
-PATCHES_BIN=() |
15185 |
- |
15186 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
15187 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
15188 |
- DEPEND+=" dev-util/patchbin" |
15189 |
-fi |
15190 |
- |
15191 |
-wine_compiler_check() { |
15192 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
15193 |
- |
15194 |
- # GCC-specific bugs |
15195 |
- if tc-is-gcc; then |
15196 |
- # bug #549768 |
15197 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
15198 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
15199 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
15200 |
- # Run in subshell to prevent "Aborted" message |
15201 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
15202 |
- if ! eend $?; then |
15203 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
15204 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
15205 |
- eerror "or use gcc-config to select a different compiler version." |
15206 |
- eerror "See https://bugs.gentoo.org/549768" |
15207 |
- eerror |
15208 |
- return 1 |
15209 |
- fi |
15210 |
- fi |
15211 |
- # bug #574044 |
15212 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
15213 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
15214 |
- # Compile in subshell to prevent "Aborted" message |
15215 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
15216 |
- if ! eend $?; then |
15217 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
15218 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
15219 |
- eerror "or use gcc-config to select a different compiler version." |
15220 |
- eerror "See https://bugs.gentoo.org/574044" |
15221 |
- eerror |
15222 |
- return 1 |
15223 |
- fi |
15224 |
- fi |
15225 |
- fi |
15226 |
- |
15227 |
- # Ensure compiler support |
15228 |
- if use abi_x86_64; then |
15229 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
15230 |
- # Compile in subshell to prevent "Aborted" message |
15231 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
15232 |
- if ! eend $?; then |
15233 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
15234 |
- eerror |
15235 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
15236 |
- eerror |
15237 |
- return 1 |
15238 |
- fi |
15239 |
- fi |
15240 |
-} |
15241 |
- |
15242 |
-wine_build_environment_check() { |
15243 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
15244 |
- |
15245 |
- if use abi_x86_64; then |
15246 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
15247 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
15248 |
- die |
15249 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
15250 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
15251 |
- die |
15252 |
- fi |
15253 |
- fi |
15254 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
15255 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
15256 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
15257 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
15258 |
- fi |
15259 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
15260 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
15261 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
15262 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
15263 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
15264 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
15265 |
- fi |
15266 |
- fi |
15267 |
- |
15268 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
15269 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
15270 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
15271 |
- eerror |
15272 |
- return 1 |
15273 |
- fi |
15274 |
-} |
15275 |
- |
15276 |
-wine_env_vcs_vars() { |
15277 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
15278 |
- local pn_live_val="${pn_live_var}" |
15279 |
- eval pn_live_val='$'${pn_live_val} |
15280 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
15281 |
- eerror "Commits must now be specified using the environmental variables" |
15282 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
15283 |
- eerror |
15284 |
- return 1 |
15285 |
- fi |
15286 |
-} |
15287 |
- |
15288 |
-pkg_pretend() { |
15289 |
- wine_build_environment_check || die |
15290 |
- |
15291 |
- # Verify OSS support |
15292 |
- if use oss && ! use kernel_FreeBSD; then |
15293 |
- if ! has_version ">=media-sound/oss-4"; then |
15294 |
- eerror "You cannot build wine with USE=oss without having support from a" |
15295 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
15296 |
- eerror |
15297 |
- die |
15298 |
- fi |
15299 |
- fi |
15300 |
-} |
15301 |
- |
15302 |
-pkg_setup() { |
15303 |
- wine_build_environment_check || die |
15304 |
- wine_env_vcs_vars || die |
15305 |
- |
15306 |
- WINE_VARIANT="${PN#wine}-${PV}" |
15307 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
15308 |
- |
15309 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
15310 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
15311 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
15312 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
15313 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
15314 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
15315 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
15316 |
- MY_MANDIR="${MY_DATADIR}/man" |
15317 |
-} |
15318 |
- |
15319 |
-src_unpack() { |
15320 |
- if [[ ${PV} == "9999" ]] ; then |
15321 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
15322 |
- fi |
15323 |
- |
15324 |
- default |
15325 |
- |
15326 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
15327 |
-} |
15328 |
- |
15329 |
-src_prepare() { |
15330 |
- |
15331 |
- eapply_bin(){ |
15332 |
- local patch |
15333 |
- for patch in ${PATCHES_BIN[@]}; do |
15334 |
- patchbin --nogit < "${patch}" || die |
15335 |
- done |
15336 |
- } |
15337 |
- |
15338 |
- local md5="$(md5sum server/protocol.def)" |
15339 |
- |
15340 |
- default |
15341 |
- eapply_bin |
15342 |
- eautoreconf |
15343 |
- |
15344 |
- # Modification of the server protocol requires regenerating the server requests |
15345 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
15346 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
15347 |
- tools/make_requests || die #432348 |
15348 |
- fi |
15349 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
15350 |
- if ! use run-exes; then |
15351 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
15352 |
- fi |
15353 |
- |
15354 |
- # Edit wine.desktop to work for specific variant |
15355 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
15356 |
- |
15357 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
15358 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
15359 |
- |
15360 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
15361 |
- |
15362 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
15363 |
- # Requires wine-2.0-rearrange-manpages.patch |
15364 |
- |
15365 |
- # Duplicate manpages input files for wine64 |
15366 |
- local f |
15367 |
- for f in loader/*.man.in; do |
15368 |
- cp ${f} ${f/wine/wine64} || die |
15369 |
- done |
15370 |
- # Add wine64 manpages to Makefile |
15371 |
- if use abi_x86_64; then |
15372 |
- sed -i "/wine.man.in/i \ |
15373 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
15374 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
15375 |
-\164\2/' loader/Makefile.in || die |
15376 |
- fi |
15377 |
- |
15378 |
- rm_man_file(){ |
15379 |
- local file="${1}" |
15380 |
- loc=${2} |
15381 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
15382 |
- } |
15383 |
- |
15384 |
- while read f; do |
15385 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
15386 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
15387 |
-} |
15388 |
- |
15389 |
-src_configure() { |
15390 |
- wine_compiler_check || die |
15391 |
- |
15392 |
- export LDCONFIG=/bin/true |
15393 |
- use custom-cflags || strip-flags |
15394 |
- |
15395 |
- multilib-minimal_src_configure |
15396 |
-} |
15397 |
- |
15398 |
-multilib_src_configure() { |
15399 |
- local myconf=( |
15400 |
- --prefix="${MY_PREFIX}" |
15401 |
- --datarootdir="${MY_DATAROOTDIR}" |
15402 |
- --datadir="${MY_DATADIR}" |
15403 |
- --docdir="${MY_DOCDIR}" |
15404 |
- --includedir="${MY_INCLUDEDIR}" |
15405 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
15406 |
- --libexecdir="${MY_LIBEXECDIR}" |
15407 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
15408 |
- --mandir="${MY_MANDIR}" |
15409 |
- --sysconfdir=/etc/wine |
15410 |
- $(use_with alsa) |
15411 |
- $(use_with capi) |
15412 |
- $(use_with lcms cms) |
15413 |
- $(use_with cups) |
15414 |
- $(use_with ncurses curses) |
15415 |
- $(use_with udisks dbus) |
15416 |
- $(use_with fontconfig) |
15417 |
- $(use_with ssl gnutls) |
15418 |
- $(use_enable gecko mshtml) |
15419 |
- $(use_with gphoto2 gphoto) |
15420 |
- $(use_with gsm) |
15421 |
- $(use_with gstreamer) |
15422 |
- --without-hal |
15423 |
- $(use_with jpeg) |
15424 |
- $(use_with kerberos krb5) |
15425 |
- $(use_with ldap) |
15426 |
- $(use_enable mono mscoree) |
15427 |
- $(use_with mp3 mpg123) |
15428 |
- $(use_with netapi) |
15429 |
- $(use_with nls gettext) |
15430 |
- $(use_with openal) |
15431 |
- $(use_with opencl) |
15432 |
- $(use_with opengl) |
15433 |
- $(use_with osmesa) |
15434 |
- $(use_with oss) |
15435 |
- $(use_with pcap) |
15436 |
- $(use_with png) |
15437 |
- $(use_with pulseaudio pulse) |
15438 |
- $(use_with threads pthread) |
15439 |
- $(use_with scanner sane) |
15440 |
- $(use_enable test tests) |
15441 |
- $(use_with truetype freetype) |
15442 |
- $(use_with udev) |
15443 |
- $(use_with v4l) |
15444 |
- $(use_with X x) |
15445 |
- $(use_with X xfixes) |
15446 |
- $(use_with xcomposite) |
15447 |
- $(use_with xinerama) |
15448 |
- $(use_with xml) |
15449 |
- $(use_with xml xslt) |
15450 |
- ) |
15451 |
- |
15452 |
- local PKG_CONFIG AR RANLIB |
15453 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
15454 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
15455 |
- tc-export PKG_CONFIG AR RANLIB |
15456 |
- |
15457 |
- if use amd64; then |
15458 |
- if [[ ${ABI} == amd64 ]]; then |
15459 |
- myconf+=( --enable-win64 ) |
15460 |
- else |
15461 |
- myconf+=( --disable-win64 ) |
15462 |
- fi |
15463 |
- |
15464 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
15465 |
- # CC/LD hackery. We're using separate tools instead. |
15466 |
- fi |
15467 |
- |
15468 |
- ECONF_SOURCE=${S} \ |
15469 |
- econf "${myconf[@]}" |
15470 |
- emake depend |
15471 |
-} |
15472 |
- |
15473 |
-multilib_src_test() { |
15474 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
15475 |
- if [[ ${ABI} == x86 ]]; then |
15476 |
- if [[ $(id -u) == 0 ]]; then |
15477 |
- ewarn "Skipping tests since they cannot be run under the root user." |
15478 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
15479 |
- return |
15480 |
- fi |
15481 |
- |
15482 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
15483 |
- Xemake test |
15484 |
- fi |
15485 |
-} |
15486 |
- |
15487 |
-multilib_src_install_all() { |
15488 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
15489 |
- add_locale_docs() { |
15490 |
- local locale_doc="documentation/README.$1" |
15491 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
15492 |
- } |
15493 |
- l10n_for_each_locale_do add_locale_docs |
15494 |
- |
15495 |
- einstalldocs |
15496 |
- prune_libtool_files --all |
15497 |
- |
15498 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
15499 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
15500 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
15501 |
- fi |
15502 |
- |
15503 |
- # Remove wineconsole if neither backend is installed #551124 |
15504 |
- if ! use X && ! use ncurses; then |
15505 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
15506 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
15507 |
- rm_wineconsole() { |
15508 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
15509 |
- } |
15510 |
- multilib_foreach_abi rm_wineconsole |
15511 |
- fi |
15512 |
- |
15513 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
15514 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
15515 |
- |
15516 |
- if use abi_x86_64 && ! use abi_x86_32; then |
15517 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
15518 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
15519 |
- fi |
15520 |
- |
15521 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
15522 |
- eshopts_push -s failglob #615218 |
15523 |
- # Make wrappers for binaries for handling multiple variants |
15524 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
15525 |
- local b |
15526 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
15527 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
15528 |
- done |
15529 |
- eshopts_pop |
15530 |
-} |
15531 |
- |
15532 |
-pkg_postinst() { |
15533 |
- eselect wine register ${P} |
15534 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
15535 |
- eselect wine register --vanilla ${P} || die |
15536 |
- fi |
15537 |
- |
15538 |
- eselect wine update --all --if-unset || die |
15539 |
- |
15540 |
- xdg_desktop_database_update |
15541 |
- |
15542 |
- if ! use gecko; then |
15543 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
15544 |
- ewarn "implementation of iexplore. Many older windows applications" |
15545 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
15546 |
- ewarn "you will likely need to install an external one, like via winetricks" |
15547 |
- fi |
15548 |
- if ! use mono; then |
15549 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
15550 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
15551 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
15552 |
- ewarn "to install an external one, like via winetricks" |
15553 |
- fi |
15554 |
-} |
15555 |
- |
15556 |
-pkg_prerm() { |
15557 |
- eselect wine deregister ${P} |
15558 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
15559 |
- eselect wine deregister --vanilla ${P} || die |
15560 |
- fi |
15561 |
- |
15562 |
- eselect wine update --all --if-unset || die |
15563 |
-} |
15564 |
- |
15565 |
-pkg_postrm() { |
15566 |
- xdg_desktop_database_update |
15567 |
-} |
15568 |
|
15569 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.0.3.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.0.3.ebuild |
15570 |
deleted file mode 100644 |
15571 |
index 666c113..0000000 |
15572 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.0.3.ebuild |
15573 |
+++ /dev/null |
15574 |
@@ -1,525 +0,0 @@ |
15575 |
-# Copyright 1999-2018 Gentoo Foundation |
15576 |
-# Distributed under the terms of the GNU General Public License v2 |
15577 |
- |
15578 |
-EAPI=6 |
15579 |
- |
15580 |
-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" |
15581 |
-PLOCALE_BACKUP="en" |
15582 |
- |
15583 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
15584 |
- |
15585 |
-MY_PN="${PN%%-*}" |
15586 |
-MY_P="${MY_PN}-${PV}" |
15587 |
- |
15588 |
-if [[ ${PV} == "9999" ]] ; then |
15589 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
15590 |
- EGIT_BRANCH="master" |
15591 |
- inherit git-r3 |
15592 |
- SRC_URI="" |
15593 |
- #KEYWORDS="" |
15594 |
-else |
15595 |
- MAJOR_V=$(ver_cut 1) |
15596 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
15597 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
15598 |
-fi |
15599 |
-S="${WORKDIR}/${MY_P}" |
15600 |
- |
15601 |
-GWP_V="20180120" |
15602 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
15603 |
- |
15604 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
15605 |
-HOMEPAGE="https://www.winehq.org/" |
15606 |
-SRC_URI="${SRC_URI} |
15607 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
15608 |
-" |
15609 |
- |
15610 |
-LICENSE="LGPL-2.1" |
15611 |
-SLOT="${PV}" |
15612 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
15613 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
15614 |
- X? ( truetype ) |
15615 |
- elibc_glibc? ( threads ) |
15616 |
- osmesa? ( opengl ) |
15617 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
15618 |
- |
15619 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
15620 |
-# or fail due to Xvfb's opengl limitations. |
15621 |
-RESTRICT="test" |
15622 |
- |
15623 |
-COMMON_DEPEND=" |
15624 |
- X? ( |
15625 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
15626 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
15627 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
15628 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
15629 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
15630 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
15631 |
- ) |
15632 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
15633 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
15634 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
15635 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
15636 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
15637 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
15638 |
- gstreamer? ( |
15639 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
15640 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
15641 |
- ) |
15642 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
15643 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
15644 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
15645 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
15646 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
15647 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
15648 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
15649 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
15650 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
15651 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
15652 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
15653 |
- opengl? ( |
15654 |
- virtual/glu[${MULTILIB_USEDEP}] |
15655 |
- virtual/opengl[${MULTILIB_USEDEP}] |
15656 |
- ) |
15657 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
15658 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
15659 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
15660 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
15661 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
15662 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
15663 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
15664 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
15665 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
15666 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
15667 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
15668 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
15669 |
- xml? ( |
15670 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
15671 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
15672 |
- )" |
15673 |
- |
15674 |
-RDEPEND="${COMMON_DEPEND} |
15675 |
- app-emulation/wine-desktop-common |
15676 |
- >app-eselect/eselect-wine-0.3 |
15677 |
- !app-emulation/wine:0 |
15678 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
15679 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
15680 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
15681 |
- perl? ( |
15682 |
- dev-lang/perl |
15683 |
- dev-perl/XML-Simple |
15684 |
- ) |
15685 |
- pulseaudio? ( |
15686 |
- realtime? ( sys-auth/rtkit ) |
15687 |
- ) |
15688 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
15689 |
- selinux? ( sec-policy/selinux-wine ) |
15690 |
- udisks? ( sys-fs/udisks:2 )" |
15691 |
- |
15692 |
-# tools/make_requests requires perl |
15693 |
-DEPEND="${COMMON_DEPEND} |
15694 |
- sys-devel/flex |
15695 |
- >=sys-kernel/linux-headers-2.6 |
15696 |
- virtual/pkgconfig |
15697 |
- virtual/yacc |
15698 |
- X? ( x11-base/xorg-proto ) |
15699 |
- prelink? ( sys-devel/prelink ) |
15700 |
- xinerama? ( x11-base/xorg-proto )" |
15701 |
- |
15702 |
-# These use a non-standard "Wine" category, which is provided by |
15703 |
-# /etc/xdg/applications-merged/wine.menu |
15704 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
15705 |
-usr/share/applications/wine-notepad.desktop |
15706 |
-usr/share/applications/wine-uninstaller.desktop |
15707 |
-usr/share/applications/wine-winecfg.desktop" |
15708 |
- |
15709 |
-PATCHES=( |
15710 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
15711 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
15712 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
15713 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
15714 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
15715 |
-) |
15716 |
-PATCHES_BIN=() |
15717 |
- |
15718 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
15719 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
15720 |
- DEPEND+=" dev-util/patchbin" |
15721 |
-fi |
15722 |
- |
15723 |
-wine_compiler_check() { |
15724 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
15725 |
- |
15726 |
- # GCC-specific bugs |
15727 |
- if tc-is-gcc; then |
15728 |
- # bug #549768 |
15729 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
15730 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
15731 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
15732 |
- # Run in subshell to prevent "Aborted" message |
15733 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
15734 |
- if ! eend $?; then |
15735 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
15736 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
15737 |
- eerror "or use gcc-config to select a different compiler version." |
15738 |
- eerror "See https://bugs.gentoo.org/549768" |
15739 |
- eerror |
15740 |
- return 1 |
15741 |
- fi |
15742 |
- fi |
15743 |
- # bug #574044 |
15744 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
15745 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
15746 |
- # Compile in subshell to prevent "Aborted" message |
15747 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
15748 |
- if ! eend $?; then |
15749 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
15750 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
15751 |
- eerror "or use gcc-config to select a different compiler version." |
15752 |
- eerror "See https://bugs.gentoo.org/574044" |
15753 |
- eerror |
15754 |
- return 1 |
15755 |
- fi |
15756 |
- fi |
15757 |
- fi |
15758 |
- |
15759 |
- # Ensure compiler support |
15760 |
- if use abi_x86_64; then |
15761 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
15762 |
- # Compile in subshell to prevent "Aborted" message |
15763 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
15764 |
- if ! eend $?; then |
15765 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
15766 |
- eerror |
15767 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
15768 |
- eerror |
15769 |
- return 1 |
15770 |
- fi |
15771 |
- fi |
15772 |
-} |
15773 |
- |
15774 |
-wine_build_environment_check() { |
15775 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
15776 |
- |
15777 |
- if use abi_x86_64; then |
15778 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
15779 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
15780 |
- die |
15781 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
15782 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
15783 |
- die |
15784 |
- fi |
15785 |
- fi |
15786 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
15787 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
15788 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
15789 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
15790 |
- fi |
15791 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
15792 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
15793 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
15794 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
15795 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
15796 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
15797 |
- fi |
15798 |
- fi |
15799 |
- |
15800 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
15801 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
15802 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
15803 |
- eerror |
15804 |
- return 1 |
15805 |
- fi |
15806 |
-} |
15807 |
- |
15808 |
-wine_env_vcs_vars() { |
15809 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
15810 |
- local pn_live_val="${pn_live_var}" |
15811 |
- eval pn_live_val='$'${pn_live_val} |
15812 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
15813 |
- eerror "Commits must now be specified using the environmental variables" |
15814 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
15815 |
- eerror |
15816 |
- return 1 |
15817 |
- fi |
15818 |
-} |
15819 |
- |
15820 |
-pkg_pretend() { |
15821 |
- wine_build_environment_check || die |
15822 |
- |
15823 |
- # Verify OSS support |
15824 |
- if use oss && ! use kernel_FreeBSD; then |
15825 |
- if ! has_version ">=media-sound/oss-4"; then |
15826 |
- eerror "You cannot build wine with USE=oss without having support from a" |
15827 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
15828 |
- eerror |
15829 |
- die |
15830 |
- fi |
15831 |
- fi |
15832 |
-} |
15833 |
- |
15834 |
-pkg_setup() { |
15835 |
- wine_build_environment_check || die |
15836 |
- wine_env_vcs_vars || die |
15837 |
- |
15838 |
- WINE_VARIANT="${PN#wine}-${PV}" |
15839 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
15840 |
- |
15841 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
15842 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
15843 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
15844 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
15845 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
15846 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
15847 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
15848 |
- MY_MANDIR="${MY_DATADIR}/man" |
15849 |
-} |
15850 |
- |
15851 |
-src_unpack() { |
15852 |
- if [[ ${PV} == "9999" ]] ; then |
15853 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
15854 |
- fi |
15855 |
- |
15856 |
- default |
15857 |
- |
15858 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
15859 |
-} |
15860 |
- |
15861 |
-src_prepare() { |
15862 |
- |
15863 |
- eapply_bin(){ |
15864 |
- local patch |
15865 |
- for patch in ${PATCHES_BIN[@]}; do |
15866 |
- patchbin --nogit < "${patch}" || die |
15867 |
- done |
15868 |
- } |
15869 |
- |
15870 |
- local md5="$(md5sum server/protocol.def)" |
15871 |
- |
15872 |
- default |
15873 |
- eapply_bin |
15874 |
- eautoreconf |
15875 |
- |
15876 |
- # Modification of the server protocol requires regenerating the server requests |
15877 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
15878 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
15879 |
- tools/make_requests || die #432348 |
15880 |
- fi |
15881 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
15882 |
- if ! use run-exes; then |
15883 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
15884 |
- fi |
15885 |
- |
15886 |
- # Edit wine.desktop to work for specific variant |
15887 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
15888 |
- |
15889 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
15890 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
15891 |
- |
15892 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
15893 |
- |
15894 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
15895 |
- # Requires wine-2.0-rearrange-manpages.patch |
15896 |
- |
15897 |
- # Duplicate manpages input files for wine64 |
15898 |
- local f |
15899 |
- for f in loader/*.man.in; do |
15900 |
- cp ${f} ${f/wine/wine64} || die |
15901 |
- done |
15902 |
- # Add wine64 manpages to Makefile |
15903 |
- if use abi_x86_64; then |
15904 |
- sed -i "/wine.man.in/i \ |
15905 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
15906 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
15907 |
-\164\2/' loader/Makefile.in || die |
15908 |
- fi |
15909 |
- |
15910 |
- rm_man_file(){ |
15911 |
- local file="${1}" |
15912 |
- loc=${2} |
15913 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
15914 |
- } |
15915 |
- |
15916 |
- while read f; do |
15917 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
15918 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
15919 |
-} |
15920 |
- |
15921 |
-src_configure() { |
15922 |
- wine_compiler_check || die |
15923 |
- |
15924 |
- export LDCONFIG=/bin/true |
15925 |
- use custom-cflags || strip-flags |
15926 |
- |
15927 |
- multilib-minimal_src_configure |
15928 |
-} |
15929 |
- |
15930 |
-multilib_src_configure() { |
15931 |
- local myconf=( |
15932 |
- --prefix="${MY_PREFIX}" |
15933 |
- --datarootdir="${MY_DATAROOTDIR}" |
15934 |
- --datadir="${MY_DATADIR}" |
15935 |
- --docdir="${MY_DOCDIR}" |
15936 |
- --includedir="${MY_INCLUDEDIR}" |
15937 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
15938 |
- --libexecdir="${MY_LIBEXECDIR}" |
15939 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
15940 |
- --mandir="${MY_MANDIR}" |
15941 |
- --sysconfdir=/etc/wine |
15942 |
- $(use_with alsa) |
15943 |
- $(use_with capi) |
15944 |
- $(use_with lcms cms) |
15945 |
- $(use_with cups) |
15946 |
- $(use_with ncurses curses) |
15947 |
- $(use_with udisks dbus) |
15948 |
- $(use_with fontconfig) |
15949 |
- $(use_with ssl gnutls) |
15950 |
- $(use_enable gecko mshtml) |
15951 |
- $(use_with gphoto2 gphoto) |
15952 |
- $(use_with gsm) |
15953 |
- $(use_with gstreamer) |
15954 |
- --without-hal |
15955 |
- $(use_with jpeg) |
15956 |
- $(use_with kerberos krb5) |
15957 |
- $(use_with ldap) |
15958 |
- $(use_enable mono mscoree) |
15959 |
- $(use_with mp3 mpg123) |
15960 |
- $(use_with netapi) |
15961 |
- $(use_with nls gettext) |
15962 |
- $(use_with openal) |
15963 |
- $(use_with opencl) |
15964 |
- $(use_with opengl) |
15965 |
- $(use_with osmesa) |
15966 |
- $(use_with oss) |
15967 |
- $(use_with pcap) |
15968 |
- $(use_with png) |
15969 |
- $(use_with pulseaudio pulse) |
15970 |
- $(use_with threads pthread) |
15971 |
- $(use_with scanner sane) |
15972 |
- $(use_enable test tests) |
15973 |
- $(use_with truetype freetype) |
15974 |
- $(use_with udev) |
15975 |
- $(use_with v4l) |
15976 |
- $(use_with X x) |
15977 |
- $(use_with X xfixes) |
15978 |
- $(use_with xcomposite) |
15979 |
- $(use_with xinerama) |
15980 |
- $(use_with xml) |
15981 |
- $(use_with xml xslt) |
15982 |
- ) |
15983 |
- |
15984 |
- local PKG_CONFIG AR RANLIB |
15985 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
15986 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
15987 |
- tc-export PKG_CONFIG AR RANLIB |
15988 |
- |
15989 |
- if use amd64; then |
15990 |
- if [[ ${ABI} == amd64 ]]; then |
15991 |
- myconf+=( --enable-win64 ) |
15992 |
- else |
15993 |
- myconf+=( --disable-win64 ) |
15994 |
- fi |
15995 |
- |
15996 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
15997 |
- # CC/LD hackery. We're using separate tools instead. |
15998 |
- fi |
15999 |
- |
16000 |
- ECONF_SOURCE=${S} \ |
16001 |
- econf "${myconf[@]}" |
16002 |
- emake depend |
16003 |
-} |
16004 |
- |
16005 |
-multilib_src_test() { |
16006 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
16007 |
- if [[ ${ABI} == x86 ]]; then |
16008 |
- if [[ $(id -u) == 0 ]]; then |
16009 |
- ewarn "Skipping tests since they cannot be run under the root user." |
16010 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
16011 |
- return |
16012 |
- fi |
16013 |
- |
16014 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
16015 |
- Xemake test |
16016 |
- fi |
16017 |
-} |
16018 |
- |
16019 |
-multilib_src_install_all() { |
16020 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
16021 |
- add_locale_docs() { |
16022 |
- local locale_doc="documentation/README.$1" |
16023 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
16024 |
- } |
16025 |
- l10n_for_each_locale_do add_locale_docs |
16026 |
- |
16027 |
- einstalldocs |
16028 |
- prune_libtool_files --all |
16029 |
- |
16030 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
16031 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
16032 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
16033 |
- fi |
16034 |
- |
16035 |
- # Remove wineconsole if neither backend is installed #551124 |
16036 |
- if ! use X && ! use ncurses; then |
16037 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
16038 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
16039 |
- rm_wineconsole() { |
16040 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
16041 |
- } |
16042 |
- multilib_foreach_abi rm_wineconsole |
16043 |
- fi |
16044 |
- |
16045 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
16046 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
16047 |
- |
16048 |
- if use abi_x86_64 && ! use abi_x86_32; then |
16049 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
16050 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
16051 |
- fi |
16052 |
- |
16053 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
16054 |
- eshopts_push -s failglob #615218 |
16055 |
- # Make wrappers for binaries for handling multiple variants |
16056 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
16057 |
- local b |
16058 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
16059 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
16060 |
- done |
16061 |
- eshopts_pop |
16062 |
-} |
16063 |
- |
16064 |
-pkg_postinst() { |
16065 |
- eselect wine register ${P} |
16066 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
16067 |
- eselect wine register --vanilla ${P} || die |
16068 |
- fi |
16069 |
- |
16070 |
- eselect wine update --all --if-unset || die |
16071 |
- |
16072 |
- xdg_desktop_database_update |
16073 |
- |
16074 |
- if ! use gecko; then |
16075 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
16076 |
- ewarn "implementation of iexplore. Many older windows applications" |
16077 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
16078 |
- ewarn "you will likely need to install an external one, like via winetricks" |
16079 |
- fi |
16080 |
- if ! use mono; then |
16081 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
16082 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
16083 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
16084 |
- ewarn "to install an external one, like via winetricks" |
16085 |
- fi |
16086 |
-} |
16087 |
- |
16088 |
-pkg_prerm() { |
16089 |
- eselect wine deregister ${P} |
16090 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
16091 |
- eselect wine deregister --vanilla ${P} || die |
16092 |
- fi |
16093 |
- |
16094 |
- eselect wine update --all --if-unset || die |
16095 |
-} |
16096 |
- |
16097 |
-pkg_postrm() { |
16098 |
- xdg_desktop_database_update |
16099 |
-} |
16100 |
|
16101 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.0.4.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.0.4.ebuild |
16102 |
deleted file mode 100644 |
16103 |
index c30c621..0000000 |
16104 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.0.4.ebuild |
16105 |
+++ /dev/null |
16106 |
@@ -1,525 +0,0 @@ |
16107 |
-# Copyright 1999-2018 Gentoo Authors |
16108 |
-# Distributed under the terms of the GNU General Public License v2 |
16109 |
- |
16110 |
-EAPI=6 |
16111 |
- |
16112 |
-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" |
16113 |
-PLOCALE_BACKUP="en" |
16114 |
- |
16115 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
16116 |
- |
16117 |
-MY_PN="${PN%%-*}" |
16118 |
-MY_P="${MY_PN}-${PV}" |
16119 |
- |
16120 |
-if [[ ${PV} == "9999" ]] ; then |
16121 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
16122 |
- EGIT_BRANCH="master" |
16123 |
- inherit git-r3 |
16124 |
- SRC_URI="" |
16125 |
- #KEYWORDS="" |
16126 |
-else |
16127 |
- MAJOR_V=$(ver_cut 1) |
16128 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
16129 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
16130 |
-fi |
16131 |
-S="${WORKDIR}/${MY_P}" |
16132 |
- |
16133 |
-GWP_V="20180120" |
16134 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
16135 |
- |
16136 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
16137 |
-HOMEPAGE="https://www.winehq.org/" |
16138 |
-SRC_URI="${SRC_URI} |
16139 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
16140 |
-" |
16141 |
- |
16142 |
-LICENSE="LGPL-2.1" |
16143 |
-SLOT="${PV}" |
16144 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
16145 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
16146 |
- X? ( truetype ) |
16147 |
- elibc_glibc? ( threads ) |
16148 |
- osmesa? ( opengl ) |
16149 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
16150 |
- |
16151 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
16152 |
-# or fail due to Xvfb's opengl limitations. |
16153 |
-RESTRICT="test" |
16154 |
- |
16155 |
-COMMON_DEPEND=" |
16156 |
- X? ( |
16157 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
16158 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
16159 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
16160 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
16161 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
16162 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
16163 |
- ) |
16164 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
16165 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
16166 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
16167 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
16168 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
16169 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
16170 |
- gstreamer? ( |
16171 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
16172 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
16173 |
- ) |
16174 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
16175 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
16176 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
16177 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
16178 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
16179 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
16180 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
16181 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
16182 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
16183 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
16184 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
16185 |
- opengl? ( |
16186 |
- virtual/glu[${MULTILIB_USEDEP}] |
16187 |
- virtual/opengl[${MULTILIB_USEDEP}] |
16188 |
- ) |
16189 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
16190 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
16191 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
16192 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
16193 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
16194 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
16195 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
16196 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
16197 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
16198 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
16199 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
16200 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
16201 |
- xml? ( |
16202 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
16203 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
16204 |
- )" |
16205 |
- |
16206 |
-RDEPEND="${COMMON_DEPEND} |
16207 |
- app-emulation/wine-desktop-common |
16208 |
- >app-eselect/eselect-wine-0.3 |
16209 |
- !app-emulation/wine:0 |
16210 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
16211 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
16212 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
16213 |
- perl? ( |
16214 |
- dev-lang/perl |
16215 |
- dev-perl/XML-Simple |
16216 |
- ) |
16217 |
- pulseaudio? ( |
16218 |
- realtime? ( sys-auth/rtkit ) |
16219 |
- ) |
16220 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
16221 |
- selinux? ( sec-policy/selinux-wine ) |
16222 |
- udisks? ( sys-fs/udisks:2 )" |
16223 |
- |
16224 |
-# tools/make_requests requires perl |
16225 |
-DEPEND="${COMMON_DEPEND} |
16226 |
- sys-devel/flex |
16227 |
- >=sys-kernel/linux-headers-2.6 |
16228 |
- virtual/pkgconfig |
16229 |
- virtual/yacc |
16230 |
- X? ( x11-base/xorg-proto ) |
16231 |
- prelink? ( sys-devel/prelink ) |
16232 |
- xinerama? ( x11-base/xorg-proto )" |
16233 |
- |
16234 |
-# These use a non-standard "Wine" category, which is provided by |
16235 |
-# /etc/xdg/applications-merged/wine.menu |
16236 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
16237 |
-usr/share/applications/wine-notepad.desktop |
16238 |
-usr/share/applications/wine-uninstaller.desktop |
16239 |
-usr/share/applications/wine-winecfg.desktop" |
16240 |
- |
16241 |
-PATCHES=( |
16242 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
16243 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
16244 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
16245 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
16246 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
16247 |
-) |
16248 |
-PATCHES_BIN=() |
16249 |
- |
16250 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
16251 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
16252 |
- DEPEND+=" dev-util/patchbin" |
16253 |
-fi |
16254 |
- |
16255 |
-wine_compiler_check() { |
16256 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
16257 |
- |
16258 |
- # GCC-specific bugs |
16259 |
- if tc-is-gcc; then |
16260 |
- # bug #549768 |
16261 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
16262 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
16263 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
16264 |
- # Run in subshell to prevent "Aborted" message |
16265 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
16266 |
- if ! eend $?; then |
16267 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
16268 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
16269 |
- eerror "or use gcc-config to select a different compiler version." |
16270 |
- eerror "See https://bugs.gentoo.org/549768" |
16271 |
- eerror |
16272 |
- return 1 |
16273 |
- fi |
16274 |
- fi |
16275 |
- # bug #574044 |
16276 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
16277 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
16278 |
- # Compile in subshell to prevent "Aborted" message |
16279 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
16280 |
- if ! eend $?; then |
16281 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
16282 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
16283 |
- eerror "or use gcc-config to select a different compiler version." |
16284 |
- eerror "See https://bugs.gentoo.org/574044" |
16285 |
- eerror |
16286 |
- return 1 |
16287 |
- fi |
16288 |
- fi |
16289 |
- fi |
16290 |
- |
16291 |
- # Ensure compiler support |
16292 |
- if use abi_x86_64; then |
16293 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
16294 |
- # Compile in subshell to prevent "Aborted" message |
16295 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
16296 |
- if ! eend $?; then |
16297 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
16298 |
- eerror |
16299 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
16300 |
- eerror |
16301 |
- return 1 |
16302 |
- fi |
16303 |
- fi |
16304 |
-} |
16305 |
- |
16306 |
-wine_build_environment_check() { |
16307 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
16308 |
- |
16309 |
- if use abi_x86_64; then |
16310 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
16311 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
16312 |
- die |
16313 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
16314 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
16315 |
- die |
16316 |
- fi |
16317 |
- fi |
16318 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
16319 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
16320 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
16321 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
16322 |
- fi |
16323 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
16324 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
16325 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
16326 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
16327 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
16328 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
16329 |
- fi |
16330 |
- fi |
16331 |
- |
16332 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
16333 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
16334 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
16335 |
- eerror |
16336 |
- return 1 |
16337 |
- fi |
16338 |
-} |
16339 |
- |
16340 |
-wine_env_vcs_vars() { |
16341 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
16342 |
- local pn_live_val="${pn_live_var}" |
16343 |
- eval pn_live_val='$'${pn_live_val} |
16344 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
16345 |
- eerror "Commits must now be specified using the environmental variables" |
16346 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
16347 |
- eerror |
16348 |
- return 1 |
16349 |
- fi |
16350 |
-} |
16351 |
- |
16352 |
-pkg_pretend() { |
16353 |
- wine_build_environment_check || die |
16354 |
- |
16355 |
- # Verify OSS support |
16356 |
- if use oss && ! use kernel_FreeBSD; then |
16357 |
- if ! has_version ">=media-sound/oss-4"; then |
16358 |
- eerror "You cannot build wine with USE=oss without having support from a" |
16359 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
16360 |
- eerror |
16361 |
- die |
16362 |
- fi |
16363 |
- fi |
16364 |
-} |
16365 |
- |
16366 |
-pkg_setup() { |
16367 |
- wine_build_environment_check || die |
16368 |
- wine_env_vcs_vars || die |
16369 |
- |
16370 |
- WINE_VARIANT="${PN#wine}-${PV}" |
16371 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
16372 |
- |
16373 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
16374 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
16375 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
16376 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
16377 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
16378 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
16379 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
16380 |
- MY_MANDIR="${MY_DATADIR}/man" |
16381 |
-} |
16382 |
- |
16383 |
-src_unpack() { |
16384 |
- if [[ ${PV} == "9999" ]] ; then |
16385 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
16386 |
- fi |
16387 |
- |
16388 |
- default |
16389 |
- |
16390 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
16391 |
-} |
16392 |
- |
16393 |
-src_prepare() { |
16394 |
- |
16395 |
- eapply_bin(){ |
16396 |
- local patch |
16397 |
- for patch in ${PATCHES_BIN[@]}; do |
16398 |
- patchbin --nogit < "${patch}" || die |
16399 |
- done |
16400 |
- } |
16401 |
- |
16402 |
- local md5="$(md5sum server/protocol.def)" |
16403 |
- |
16404 |
- default |
16405 |
- eapply_bin |
16406 |
- eautoreconf |
16407 |
- |
16408 |
- # Modification of the server protocol requires regenerating the server requests |
16409 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
16410 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
16411 |
- tools/make_requests || die #432348 |
16412 |
- fi |
16413 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
16414 |
- if ! use run-exes; then |
16415 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
16416 |
- fi |
16417 |
- |
16418 |
- # Edit wine.desktop to work for specific variant |
16419 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
16420 |
- |
16421 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
16422 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
16423 |
- |
16424 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
16425 |
- |
16426 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
16427 |
- # Requires wine-2.0-rearrange-manpages.patch |
16428 |
- |
16429 |
- # Duplicate manpages input files for wine64 |
16430 |
- local f |
16431 |
- for f in loader/*.man.in; do |
16432 |
- cp ${f} ${f/wine/wine64} || die |
16433 |
- done |
16434 |
- # Add wine64 manpages to Makefile |
16435 |
- if use abi_x86_64; then |
16436 |
- sed -i "/wine.man.in/i \ |
16437 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
16438 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
16439 |
-\164\2/' loader/Makefile.in || die |
16440 |
- fi |
16441 |
- |
16442 |
- rm_man_file(){ |
16443 |
- local file="${1}" |
16444 |
- loc=${2} |
16445 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
16446 |
- } |
16447 |
- |
16448 |
- while read f; do |
16449 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
16450 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
16451 |
-} |
16452 |
- |
16453 |
-src_configure() { |
16454 |
- wine_compiler_check || die |
16455 |
- |
16456 |
- export LDCONFIG=/bin/true |
16457 |
- use custom-cflags || strip-flags |
16458 |
- |
16459 |
- multilib-minimal_src_configure |
16460 |
-} |
16461 |
- |
16462 |
-multilib_src_configure() { |
16463 |
- local myconf=( |
16464 |
- --prefix="${MY_PREFIX}" |
16465 |
- --datarootdir="${MY_DATAROOTDIR}" |
16466 |
- --datadir="${MY_DATADIR}" |
16467 |
- --docdir="${MY_DOCDIR}" |
16468 |
- --includedir="${MY_INCLUDEDIR}" |
16469 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
16470 |
- --libexecdir="${MY_LIBEXECDIR}" |
16471 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
16472 |
- --mandir="${MY_MANDIR}" |
16473 |
- --sysconfdir=/etc/wine |
16474 |
- $(use_with alsa) |
16475 |
- $(use_with capi) |
16476 |
- $(use_with lcms cms) |
16477 |
- $(use_with cups) |
16478 |
- $(use_with ncurses curses) |
16479 |
- $(use_with udisks dbus) |
16480 |
- $(use_with fontconfig) |
16481 |
- $(use_with ssl gnutls) |
16482 |
- $(use_enable gecko mshtml) |
16483 |
- $(use_with gphoto2 gphoto) |
16484 |
- $(use_with gsm) |
16485 |
- $(use_with gstreamer) |
16486 |
- --without-hal |
16487 |
- $(use_with jpeg) |
16488 |
- $(use_with kerberos krb5) |
16489 |
- $(use_with ldap) |
16490 |
- $(use_enable mono mscoree) |
16491 |
- $(use_with mp3 mpg123) |
16492 |
- $(use_with netapi) |
16493 |
- $(use_with nls gettext) |
16494 |
- $(use_with openal) |
16495 |
- $(use_with opencl) |
16496 |
- $(use_with opengl) |
16497 |
- $(use_with osmesa) |
16498 |
- $(use_with oss) |
16499 |
- $(use_with pcap) |
16500 |
- $(use_with png) |
16501 |
- $(use_with pulseaudio pulse) |
16502 |
- $(use_with threads pthread) |
16503 |
- $(use_with scanner sane) |
16504 |
- $(use_enable test tests) |
16505 |
- $(use_with truetype freetype) |
16506 |
- $(use_with udev) |
16507 |
- $(use_with v4l) |
16508 |
- $(use_with X x) |
16509 |
- $(use_with X xfixes) |
16510 |
- $(use_with xcomposite) |
16511 |
- $(use_with xinerama) |
16512 |
- $(use_with xml) |
16513 |
- $(use_with xml xslt) |
16514 |
- ) |
16515 |
- |
16516 |
- local PKG_CONFIG AR RANLIB |
16517 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
16518 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
16519 |
- tc-export PKG_CONFIG AR RANLIB |
16520 |
- |
16521 |
- if use amd64; then |
16522 |
- if [[ ${ABI} == amd64 ]]; then |
16523 |
- myconf+=( --enable-win64 ) |
16524 |
- else |
16525 |
- myconf+=( --disable-win64 ) |
16526 |
- fi |
16527 |
- |
16528 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
16529 |
- # CC/LD hackery. We're using separate tools instead. |
16530 |
- fi |
16531 |
- |
16532 |
- ECONF_SOURCE=${S} \ |
16533 |
- econf "${myconf[@]}" |
16534 |
- emake depend |
16535 |
-} |
16536 |
- |
16537 |
-multilib_src_test() { |
16538 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
16539 |
- if [[ ${ABI} == x86 ]]; then |
16540 |
- if [[ $(id -u) == 0 ]]; then |
16541 |
- ewarn "Skipping tests since they cannot be run under the root user." |
16542 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
16543 |
- return |
16544 |
- fi |
16545 |
- |
16546 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
16547 |
- Xemake test |
16548 |
- fi |
16549 |
-} |
16550 |
- |
16551 |
-multilib_src_install_all() { |
16552 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
16553 |
- add_locale_docs() { |
16554 |
- local locale_doc="documentation/README.$1" |
16555 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
16556 |
- } |
16557 |
- l10n_for_each_locale_do add_locale_docs |
16558 |
- |
16559 |
- einstalldocs |
16560 |
- prune_libtool_files --all |
16561 |
- |
16562 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
16563 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
16564 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
16565 |
- fi |
16566 |
- |
16567 |
- # Remove wineconsole if neither backend is installed #551124 |
16568 |
- if ! use X && ! use ncurses; then |
16569 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
16570 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
16571 |
- rm_wineconsole() { |
16572 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
16573 |
- } |
16574 |
- multilib_foreach_abi rm_wineconsole |
16575 |
- fi |
16576 |
- |
16577 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
16578 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
16579 |
- |
16580 |
- if use abi_x86_64 && ! use abi_x86_32; then |
16581 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
16582 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
16583 |
- fi |
16584 |
- |
16585 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
16586 |
- eshopts_push -s failglob #615218 |
16587 |
- # Make wrappers for binaries for handling multiple variants |
16588 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
16589 |
- local b |
16590 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
16591 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
16592 |
- done |
16593 |
- eshopts_pop |
16594 |
-} |
16595 |
- |
16596 |
-pkg_postinst() { |
16597 |
- eselect wine register ${P} |
16598 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
16599 |
- eselect wine register --vanilla ${P} || die |
16600 |
- fi |
16601 |
- |
16602 |
- eselect wine update --all --if-unset || die |
16603 |
- |
16604 |
- xdg_desktop_database_update |
16605 |
- |
16606 |
- if ! use gecko; then |
16607 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
16608 |
- ewarn "implementation of iexplore. Many older windows applications" |
16609 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
16610 |
- ewarn "you will likely need to install an external one, like via winetricks" |
16611 |
- fi |
16612 |
- if ! use mono; then |
16613 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
16614 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
16615 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
16616 |
- ewarn "to install an external one, like via winetricks" |
16617 |
- fi |
16618 |
-} |
16619 |
- |
16620 |
-pkg_prerm() { |
16621 |
- eselect wine deregister ${P} |
16622 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
16623 |
- eselect wine deregister --vanilla ${P} || die |
16624 |
- fi |
16625 |
- |
16626 |
- eselect wine update --all --if-unset || die |
16627 |
-} |
16628 |
- |
16629 |
-pkg_postrm() { |
16630 |
- xdg_desktop_database_update |
16631 |
-} |
16632 |
|
16633 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.0.ebuild |
16634 |
deleted file mode 100644 |
16635 |
index 666c113..0000000 |
16636 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.0.ebuild |
16637 |
+++ /dev/null |
16638 |
@@ -1,525 +0,0 @@ |
16639 |
-# Copyright 1999-2018 Gentoo Foundation |
16640 |
-# Distributed under the terms of the GNU General Public License v2 |
16641 |
- |
16642 |
-EAPI=6 |
16643 |
- |
16644 |
-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" |
16645 |
-PLOCALE_BACKUP="en" |
16646 |
- |
16647 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
16648 |
- |
16649 |
-MY_PN="${PN%%-*}" |
16650 |
-MY_P="${MY_PN}-${PV}" |
16651 |
- |
16652 |
-if [[ ${PV} == "9999" ]] ; then |
16653 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
16654 |
- EGIT_BRANCH="master" |
16655 |
- inherit git-r3 |
16656 |
- SRC_URI="" |
16657 |
- #KEYWORDS="" |
16658 |
-else |
16659 |
- MAJOR_V=$(ver_cut 1) |
16660 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" |
16661 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
16662 |
-fi |
16663 |
-S="${WORKDIR}/${MY_P}" |
16664 |
- |
16665 |
-GWP_V="20180120" |
16666 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
16667 |
- |
16668 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
16669 |
-HOMEPAGE="https://www.winehq.org/" |
16670 |
-SRC_URI="${SRC_URI} |
16671 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
16672 |
-" |
16673 |
- |
16674 |
-LICENSE="LGPL-2.1" |
16675 |
-SLOT="${PV}" |
16676 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kerberos 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" |
16677 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
16678 |
- X? ( truetype ) |
16679 |
- elibc_glibc? ( threads ) |
16680 |
- osmesa? ( opengl ) |
16681 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
16682 |
- |
16683 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
16684 |
-# or fail due to Xvfb's opengl limitations. |
16685 |
-RESTRICT="test" |
16686 |
- |
16687 |
-COMMON_DEPEND=" |
16688 |
- X? ( |
16689 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
16690 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
16691 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
16692 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
16693 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
16694 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
16695 |
- ) |
16696 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
16697 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
16698 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
16699 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
16700 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
16701 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
16702 |
- gstreamer? ( |
16703 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
16704 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
16705 |
- ) |
16706 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
16707 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
16708 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
16709 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
16710 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
16711 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
16712 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
16713 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
16714 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
16715 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
16716 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
16717 |
- opengl? ( |
16718 |
- virtual/glu[${MULTILIB_USEDEP}] |
16719 |
- virtual/opengl[${MULTILIB_USEDEP}] |
16720 |
- ) |
16721 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
16722 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
16723 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
16724 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
16725 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
16726 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
16727 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
16728 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
16729 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
16730 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
16731 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
16732 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
16733 |
- xml? ( |
16734 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
16735 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
16736 |
- )" |
16737 |
- |
16738 |
-RDEPEND="${COMMON_DEPEND} |
16739 |
- app-emulation/wine-desktop-common |
16740 |
- >app-eselect/eselect-wine-0.3 |
16741 |
- !app-emulation/wine:0 |
16742 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
16743 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
16744 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
16745 |
- perl? ( |
16746 |
- dev-lang/perl |
16747 |
- dev-perl/XML-Simple |
16748 |
- ) |
16749 |
- pulseaudio? ( |
16750 |
- realtime? ( sys-auth/rtkit ) |
16751 |
- ) |
16752 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
16753 |
- selinux? ( sec-policy/selinux-wine ) |
16754 |
- udisks? ( sys-fs/udisks:2 )" |
16755 |
- |
16756 |
-# tools/make_requests requires perl |
16757 |
-DEPEND="${COMMON_DEPEND} |
16758 |
- sys-devel/flex |
16759 |
- >=sys-kernel/linux-headers-2.6 |
16760 |
- virtual/pkgconfig |
16761 |
- virtual/yacc |
16762 |
- X? ( x11-base/xorg-proto ) |
16763 |
- prelink? ( sys-devel/prelink ) |
16764 |
- xinerama? ( x11-base/xorg-proto )" |
16765 |
- |
16766 |
-# These use a non-standard "Wine" category, which is provided by |
16767 |
-# /etc/xdg/applications-merged/wine.menu |
16768 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
16769 |
-usr/share/applications/wine-notepad.desktop |
16770 |
-usr/share/applications/wine-uninstaller.desktop |
16771 |
-usr/share/applications/wine-winecfg.desktop" |
16772 |
- |
16773 |
-PATCHES=( |
16774 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
16775 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
16776 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
16777 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
16778 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
16779 |
-) |
16780 |
-PATCHES_BIN=() |
16781 |
- |
16782 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
16783 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
16784 |
- DEPEND+=" dev-util/patchbin" |
16785 |
-fi |
16786 |
- |
16787 |
-wine_compiler_check() { |
16788 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
16789 |
- |
16790 |
- # GCC-specific bugs |
16791 |
- if tc-is-gcc; then |
16792 |
- # bug #549768 |
16793 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
16794 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
16795 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
16796 |
- # Run in subshell to prevent "Aborted" message |
16797 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
16798 |
- if ! eend $?; then |
16799 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
16800 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
16801 |
- eerror "or use gcc-config to select a different compiler version." |
16802 |
- eerror "See https://bugs.gentoo.org/549768" |
16803 |
- eerror |
16804 |
- return 1 |
16805 |
- fi |
16806 |
- fi |
16807 |
- # bug #574044 |
16808 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
16809 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
16810 |
- # Compile in subshell to prevent "Aborted" message |
16811 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
16812 |
- if ! eend $?; then |
16813 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
16814 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
16815 |
- eerror "or use gcc-config to select a different compiler version." |
16816 |
- eerror "See https://bugs.gentoo.org/574044" |
16817 |
- eerror |
16818 |
- return 1 |
16819 |
- fi |
16820 |
- fi |
16821 |
- fi |
16822 |
- |
16823 |
- # Ensure compiler support |
16824 |
- if use abi_x86_64; then |
16825 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
16826 |
- # Compile in subshell to prevent "Aborted" message |
16827 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
16828 |
- if ! eend $?; then |
16829 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
16830 |
- eerror |
16831 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
16832 |
- eerror |
16833 |
- return 1 |
16834 |
- fi |
16835 |
- fi |
16836 |
-} |
16837 |
- |
16838 |
-wine_build_environment_check() { |
16839 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
16840 |
- |
16841 |
- if use abi_x86_64; then |
16842 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
16843 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
16844 |
- die |
16845 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
16846 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
16847 |
- die |
16848 |
- fi |
16849 |
- fi |
16850 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
16851 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
16852 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
16853 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
16854 |
- fi |
16855 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
16856 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
16857 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
16858 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
16859 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
16860 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
16861 |
- fi |
16862 |
- fi |
16863 |
- |
16864 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
16865 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
16866 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
16867 |
- eerror |
16868 |
- return 1 |
16869 |
- fi |
16870 |
-} |
16871 |
- |
16872 |
-wine_env_vcs_vars() { |
16873 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
16874 |
- local pn_live_val="${pn_live_var}" |
16875 |
- eval pn_live_val='$'${pn_live_val} |
16876 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
16877 |
- eerror "Commits must now be specified using the environmental variables" |
16878 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
16879 |
- eerror |
16880 |
- return 1 |
16881 |
- fi |
16882 |
-} |
16883 |
- |
16884 |
-pkg_pretend() { |
16885 |
- wine_build_environment_check || die |
16886 |
- |
16887 |
- # Verify OSS support |
16888 |
- if use oss && ! use kernel_FreeBSD; then |
16889 |
- if ! has_version ">=media-sound/oss-4"; then |
16890 |
- eerror "You cannot build wine with USE=oss without having support from a" |
16891 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
16892 |
- eerror |
16893 |
- die |
16894 |
- fi |
16895 |
- fi |
16896 |
-} |
16897 |
- |
16898 |
-pkg_setup() { |
16899 |
- wine_build_environment_check || die |
16900 |
- wine_env_vcs_vars || die |
16901 |
- |
16902 |
- WINE_VARIANT="${PN#wine}-${PV}" |
16903 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
16904 |
- |
16905 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
16906 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
16907 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
16908 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
16909 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
16910 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
16911 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
16912 |
- MY_MANDIR="${MY_DATADIR}/man" |
16913 |
-} |
16914 |
- |
16915 |
-src_unpack() { |
16916 |
- if [[ ${PV} == "9999" ]] ; then |
16917 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
16918 |
- fi |
16919 |
- |
16920 |
- default |
16921 |
- |
16922 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
16923 |
-} |
16924 |
- |
16925 |
-src_prepare() { |
16926 |
- |
16927 |
- eapply_bin(){ |
16928 |
- local patch |
16929 |
- for patch in ${PATCHES_BIN[@]}; do |
16930 |
- patchbin --nogit < "${patch}" || die |
16931 |
- done |
16932 |
- } |
16933 |
- |
16934 |
- local md5="$(md5sum server/protocol.def)" |
16935 |
- |
16936 |
- default |
16937 |
- eapply_bin |
16938 |
- eautoreconf |
16939 |
- |
16940 |
- # Modification of the server protocol requires regenerating the server requests |
16941 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
16942 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
16943 |
- tools/make_requests || die #432348 |
16944 |
- fi |
16945 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
16946 |
- if ! use run-exes; then |
16947 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
16948 |
- fi |
16949 |
- |
16950 |
- # Edit wine.desktop to work for specific variant |
16951 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
16952 |
- |
16953 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
16954 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
16955 |
- |
16956 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
16957 |
- |
16958 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
16959 |
- # Requires wine-2.0-rearrange-manpages.patch |
16960 |
- |
16961 |
- # Duplicate manpages input files for wine64 |
16962 |
- local f |
16963 |
- for f in loader/*.man.in; do |
16964 |
- cp ${f} ${f/wine/wine64} || die |
16965 |
- done |
16966 |
- # Add wine64 manpages to Makefile |
16967 |
- if use abi_x86_64; then |
16968 |
- sed -i "/wine.man.in/i \ |
16969 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
16970 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
16971 |
-\164\2/' loader/Makefile.in || die |
16972 |
- fi |
16973 |
- |
16974 |
- rm_man_file(){ |
16975 |
- local file="${1}" |
16976 |
- loc=${2} |
16977 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
16978 |
- } |
16979 |
- |
16980 |
- while read f; do |
16981 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
16982 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
16983 |
-} |
16984 |
- |
16985 |
-src_configure() { |
16986 |
- wine_compiler_check || die |
16987 |
- |
16988 |
- export LDCONFIG=/bin/true |
16989 |
- use custom-cflags || strip-flags |
16990 |
- |
16991 |
- multilib-minimal_src_configure |
16992 |
-} |
16993 |
- |
16994 |
-multilib_src_configure() { |
16995 |
- local myconf=( |
16996 |
- --prefix="${MY_PREFIX}" |
16997 |
- --datarootdir="${MY_DATAROOTDIR}" |
16998 |
- --datadir="${MY_DATADIR}" |
16999 |
- --docdir="${MY_DOCDIR}" |
17000 |
- --includedir="${MY_INCLUDEDIR}" |
17001 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
17002 |
- --libexecdir="${MY_LIBEXECDIR}" |
17003 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
17004 |
- --mandir="${MY_MANDIR}" |
17005 |
- --sysconfdir=/etc/wine |
17006 |
- $(use_with alsa) |
17007 |
- $(use_with capi) |
17008 |
- $(use_with lcms cms) |
17009 |
- $(use_with cups) |
17010 |
- $(use_with ncurses curses) |
17011 |
- $(use_with udisks dbus) |
17012 |
- $(use_with fontconfig) |
17013 |
- $(use_with ssl gnutls) |
17014 |
- $(use_enable gecko mshtml) |
17015 |
- $(use_with gphoto2 gphoto) |
17016 |
- $(use_with gsm) |
17017 |
- $(use_with gstreamer) |
17018 |
- --without-hal |
17019 |
- $(use_with jpeg) |
17020 |
- $(use_with kerberos krb5) |
17021 |
- $(use_with ldap) |
17022 |
- $(use_enable mono mscoree) |
17023 |
- $(use_with mp3 mpg123) |
17024 |
- $(use_with netapi) |
17025 |
- $(use_with nls gettext) |
17026 |
- $(use_with openal) |
17027 |
- $(use_with opencl) |
17028 |
- $(use_with opengl) |
17029 |
- $(use_with osmesa) |
17030 |
- $(use_with oss) |
17031 |
- $(use_with pcap) |
17032 |
- $(use_with png) |
17033 |
- $(use_with pulseaudio pulse) |
17034 |
- $(use_with threads pthread) |
17035 |
- $(use_with scanner sane) |
17036 |
- $(use_enable test tests) |
17037 |
- $(use_with truetype freetype) |
17038 |
- $(use_with udev) |
17039 |
- $(use_with v4l) |
17040 |
- $(use_with X x) |
17041 |
- $(use_with X xfixes) |
17042 |
- $(use_with xcomposite) |
17043 |
- $(use_with xinerama) |
17044 |
- $(use_with xml) |
17045 |
- $(use_with xml xslt) |
17046 |
- ) |
17047 |
- |
17048 |
- local PKG_CONFIG AR RANLIB |
17049 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
17050 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
17051 |
- tc-export PKG_CONFIG AR RANLIB |
17052 |
- |
17053 |
- if use amd64; then |
17054 |
- if [[ ${ABI} == amd64 ]]; then |
17055 |
- myconf+=( --enable-win64 ) |
17056 |
- else |
17057 |
- myconf+=( --disable-win64 ) |
17058 |
- fi |
17059 |
- |
17060 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
17061 |
- # CC/LD hackery. We're using separate tools instead. |
17062 |
- fi |
17063 |
- |
17064 |
- ECONF_SOURCE=${S} \ |
17065 |
- econf "${myconf[@]}" |
17066 |
- emake depend |
17067 |
-} |
17068 |
- |
17069 |
-multilib_src_test() { |
17070 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
17071 |
- if [[ ${ABI} == x86 ]]; then |
17072 |
- if [[ $(id -u) == 0 ]]; then |
17073 |
- ewarn "Skipping tests since they cannot be run under the root user." |
17074 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
17075 |
- return |
17076 |
- fi |
17077 |
- |
17078 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
17079 |
- Xemake test |
17080 |
- fi |
17081 |
-} |
17082 |
- |
17083 |
-multilib_src_install_all() { |
17084 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
17085 |
- add_locale_docs() { |
17086 |
- local locale_doc="documentation/README.$1" |
17087 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
17088 |
- } |
17089 |
- l10n_for_each_locale_do add_locale_docs |
17090 |
- |
17091 |
- einstalldocs |
17092 |
- prune_libtool_files --all |
17093 |
- |
17094 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
17095 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
17096 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
17097 |
- fi |
17098 |
- |
17099 |
- # Remove wineconsole if neither backend is installed #551124 |
17100 |
- if ! use X && ! use ncurses; then |
17101 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
17102 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
17103 |
- rm_wineconsole() { |
17104 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
17105 |
- } |
17106 |
- multilib_foreach_abi rm_wineconsole |
17107 |
- fi |
17108 |
- |
17109 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
17110 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
17111 |
- |
17112 |
- if use abi_x86_64 && ! use abi_x86_32; then |
17113 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
17114 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
17115 |
- fi |
17116 |
- |
17117 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
17118 |
- eshopts_push -s failglob #615218 |
17119 |
- # Make wrappers for binaries for handling multiple variants |
17120 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
17121 |
- local b |
17122 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
17123 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
17124 |
- done |
17125 |
- eshopts_pop |
17126 |
-} |
17127 |
- |
17128 |
-pkg_postinst() { |
17129 |
- eselect wine register ${P} |
17130 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
17131 |
- eselect wine register --vanilla ${P} || die |
17132 |
- fi |
17133 |
- |
17134 |
- eselect wine update --all --if-unset || die |
17135 |
- |
17136 |
- xdg_desktop_database_update |
17137 |
- |
17138 |
- if ! use gecko; then |
17139 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
17140 |
- ewarn "implementation of iexplore. Many older windows applications" |
17141 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
17142 |
- ewarn "you will likely need to install an external one, like via winetricks" |
17143 |
- fi |
17144 |
- if ! use mono; then |
17145 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
17146 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
17147 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
17148 |
- ewarn "to install an external one, like via winetricks" |
17149 |
- fi |
17150 |
-} |
17151 |
- |
17152 |
-pkg_prerm() { |
17153 |
- eselect wine deregister ${P} |
17154 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
17155 |
- eselect wine deregister --vanilla ${P} || die |
17156 |
- fi |
17157 |
- |
17158 |
- eselect wine update --all --if-unset || die |
17159 |
-} |
17160 |
- |
17161 |
-pkg_postrm() { |
17162 |
- xdg_desktop_database_update |
17163 |
-} |
17164 |
|
17165 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.1.ebuild |
17166 |
deleted file mode 100644 |
17167 |
index da4d092..0000000 |
17168 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.1.ebuild |
17169 |
+++ /dev/null |
17170 |
@@ -1,527 +0,0 @@ |
17171 |
-# Copyright 1999-2018 Gentoo Foundation |
17172 |
-# Distributed under the terms of the GNU General Public License v2 |
17173 |
- |
17174 |
-EAPI=6 |
17175 |
- |
17176 |
-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" |
17177 |
-PLOCALE_BACKUP="en" |
17178 |
- |
17179 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
17180 |
- |
17181 |
-MY_PN="${PN%%-*}" |
17182 |
-MY_P="${MY_PN}-${PV}" |
17183 |
- |
17184 |
-if [[ ${PV} == "9999" ]] ; then |
17185 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
17186 |
- EGIT_BRANCH="master" |
17187 |
- inherit git-r3 |
17188 |
- SRC_URI="" |
17189 |
- #KEYWORDS="" |
17190 |
-else |
17191 |
- MAJOR_V=$(ver_cut 1) |
17192 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
17193 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
17194 |
-fi |
17195 |
-S="${WORKDIR}/${MY_P}" |
17196 |
- |
17197 |
-GWP_V="20180120" |
17198 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
17199 |
- |
17200 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
17201 |
-HOMEPAGE="https://www.winehq.org/" |
17202 |
-SRC_URI="${SRC_URI} |
17203 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
17204 |
-" |
17205 |
- |
17206 |
-LICENSE="LGPL-2.1" |
17207 |
-SLOT="${PV}" |
17208 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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" |
17209 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
17210 |
- X? ( truetype ) |
17211 |
- elibc_glibc? ( threads ) |
17212 |
- osmesa? ( opengl ) |
17213 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
17214 |
- |
17215 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
17216 |
-# or fail due to Xvfb's opengl limitations. |
17217 |
-RESTRICT="test" |
17218 |
- |
17219 |
-COMMON_DEPEND=" |
17220 |
- X? ( |
17221 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
17222 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
17223 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
17224 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
17225 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
17226 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
17227 |
- ) |
17228 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
17229 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
17230 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
17231 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
17232 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
17233 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
17234 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
17235 |
- gstreamer? ( |
17236 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
17237 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
17238 |
- ) |
17239 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
17240 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
17241 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
17242 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
17243 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
17244 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
17245 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
17246 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
17247 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
17248 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
17249 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
17250 |
- opengl? ( |
17251 |
- virtual/glu[${MULTILIB_USEDEP}] |
17252 |
- virtual/opengl[${MULTILIB_USEDEP}] |
17253 |
- ) |
17254 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
17255 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
17256 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
17257 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
17258 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
17259 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
17260 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
17261 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
17262 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
17263 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
17264 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
17265 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
17266 |
- xml? ( |
17267 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
17268 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
17269 |
- )" |
17270 |
- |
17271 |
-RDEPEND="${COMMON_DEPEND} |
17272 |
- app-emulation/wine-desktop-common |
17273 |
- >app-eselect/eselect-wine-0.3 |
17274 |
- !app-emulation/wine:0 |
17275 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
17276 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
17277 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
17278 |
- perl? ( |
17279 |
- dev-lang/perl |
17280 |
- dev-perl/XML-Simple |
17281 |
- ) |
17282 |
- pulseaudio? ( |
17283 |
- realtime? ( sys-auth/rtkit ) |
17284 |
- ) |
17285 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
17286 |
- selinux? ( sec-policy/selinux-wine ) |
17287 |
- udisks? ( sys-fs/udisks:2 )" |
17288 |
- |
17289 |
-# tools/make_requests requires perl |
17290 |
-DEPEND="${COMMON_DEPEND} |
17291 |
- sys-devel/flex |
17292 |
- >=sys-kernel/linux-headers-2.6 |
17293 |
- virtual/pkgconfig |
17294 |
- virtual/yacc |
17295 |
- X? ( x11-base/xorg-proto ) |
17296 |
- prelink? ( sys-devel/prelink ) |
17297 |
- xinerama? ( x11-base/xorg-proto )" |
17298 |
- |
17299 |
-# These use a non-standard "Wine" category, which is provided by |
17300 |
-# /etc/xdg/applications-merged/wine.menu |
17301 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
17302 |
-usr/share/applications/wine-notepad.desktop |
17303 |
-usr/share/applications/wine-uninstaller.desktop |
17304 |
-usr/share/applications/wine-winecfg.desktop" |
17305 |
- |
17306 |
-PATCHES=( |
17307 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
17308 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
17309 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
17310 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
17311 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
17312 |
-) |
17313 |
-PATCHES_BIN=() |
17314 |
- |
17315 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
17316 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
17317 |
- DEPEND+=" dev-util/patchbin" |
17318 |
-fi |
17319 |
- |
17320 |
-wine_compiler_check() { |
17321 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
17322 |
- |
17323 |
- # GCC-specific bugs |
17324 |
- if tc-is-gcc; then |
17325 |
- # bug #549768 |
17326 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
17327 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
17328 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
17329 |
- # Run in subshell to prevent "Aborted" message |
17330 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
17331 |
- if ! eend $?; then |
17332 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
17333 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
17334 |
- eerror "or use gcc-config to select a different compiler version." |
17335 |
- eerror "See https://bugs.gentoo.org/549768" |
17336 |
- eerror |
17337 |
- return 1 |
17338 |
- fi |
17339 |
- fi |
17340 |
- # bug #574044 |
17341 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
17342 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
17343 |
- # Compile in subshell to prevent "Aborted" message |
17344 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
17345 |
- if ! eend $?; then |
17346 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
17347 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
17348 |
- eerror "or use gcc-config to select a different compiler version." |
17349 |
- eerror "See https://bugs.gentoo.org/574044" |
17350 |
- eerror |
17351 |
- return 1 |
17352 |
- fi |
17353 |
- fi |
17354 |
- fi |
17355 |
- |
17356 |
- # Ensure compiler support |
17357 |
- if use abi_x86_64; then |
17358 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
17359 |
- # Compile in subshell to prevent "Aborted" message |
17360 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
17361 |
- if ! eend $?; then |
17362 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
17363 |
- eerror |
17364 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
17365 |
- eerror |
17366 |
- return 1 |
17367 |
- fi |
17368 |
- fi |
17369 |
-} |
17370 |
- |
17371 |
-wine_build_environment_check() { |
17372 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
17373 |
- |
17374 |
- if use abi_x86_64; then |
17375 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
17376 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
17377 |
- die |
17378 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
17379 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
17380 |
- die |
17381 |
- fi |
17382 |
- fi |
17383 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
17384 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
17385 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
17386 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
17387 |
- fi |
17388 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
17389 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
17390 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
17391 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
17392 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
17393 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
17394 |
- fi |
17395 |
- fi |
17396 |
- |
17397 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
17398 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
17399 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
17400 |
- eerror |
17401 |
- return 1 |
17402 |
- fi |
17403 |
-} |
17404 |
- |
17405 |
-wine_env_vcs_vars() { |
17406 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
17407 |
- local pn_live_val="${pn_live_var}" |
17408 |
- eval pn_live_val='$'${pn_live_val} |
17409 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
17410 |
- eerror "Commits must now be specified using the environmental variables" |
17411 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
17412 |
- eerror |
17413 |
- return 1 |
17414 |
- fi |
17415 |
-} |
17416 |
- |
17417 |
-pkg_pretend() { |
17418 |
- wine_build_environment_check || die |
17419 |
- |
17420 |
- # Verify OSS support |
17421 |
- if use oss && ! use kernel_FreeBSD; then |
17422 |
- if ! has_version ">=media-sound/oss-4"; then |
17423 |
- eerror "You cannot build wine with USE=oss without having support from a" |
17424 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
17425 |
- eerror |
17426 |
- die |
17427 |
- fi |
17428 |
- fi |
17429 |
-} |
17430 |
- |
17431 |
-pkg_setup() { |
17432 |
- wine_build_environment_check || die |
17433 |
- wine_env_vcs_vars || die |
17434 |
- |
17435 |
- WINE_VARIANT="${PN#wine}-${PV}" |
17436 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
17437 |
- |
17438 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
17439 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
17440 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
17441 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
17442 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
17443 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
17444 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
17445 |
- MY_MANDIR="${MY_DATADIR}/man" |
17446 |
-} |
17447 |
- |
17448 |
-src_unpack() { |
17449 |
- if [[ ${PV} == "9999" ]] ; then |
17450 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
17451 |
- fi |
17452 |
- |
17453 |
- default |
17454 |
- |
17455 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
17456 |
-} |
17457 |
- |
17458 |
-src_prepare() { |
17459 |
- |
17460 |
- eapply_bin(){ |
17461 |
- local patch |
17462 |
- for patch in ${PATCHES_BIN[@]}; do |
17463 |
- patchbin --nogit < "${patch}" || die |
17464 |
- done |
17465 |
- } |
17466 |
- |
17467 |
- local md5="$(md5sum server/protocol.def)" |
17468 |
- |
17469 |
- default |
17470 |
- eapply_bin |
17471 |
- eautoreconf |
17472 |
- |
17473 |
- # Modification of the server protocol requires regenerating the server requests |
17474 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
17475 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
17476 |
- tools/make_requests || die #432348 |
17477 |
- fi |
17478 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
17479 |
- if ! use run-exes; then |
17480 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
17481 |
- fi |
17482 |
- |
17483 |
- # Edit wine.desktop to work for specific variant |
17484 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
17485 |
- |
17486 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
17487 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
17488 |
- |
17489 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
17490 |
- |
17491 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
17492 |
- # Requires wine-2.0-rearrange-manpages.patch |
17493 |
- |
17494 |
- # Duplicate manpages input files for wine64 |
17495 |
- local f |
17496 |
- for f in loader/*.man.in; do |
17497 |
- cp ${f} ${f/wine/wine64} || die |
17498 |
- done |
17499 |
- # Add wine64 manpages to Makefile |
17500 |
- if use abi_x86_64; then |
17501 |
- sed -i "/wine.man.in/i \ |
17502 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
17503 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
17504 |
-\164\2/' loader/Makefile.in || die |
17505 |
- fi |
17506 |
- |
17507 |
- rm_man_file(){ |
17508 |
- local file="${1}" |
17509 |
- loc=${2} |
17510 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
17511 |
- } |
17512 |
- |
17513 |
- while read f; do |
17514 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
17515 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
17516 |
-} |
17517 |
- |
17518 |
-src_configure() { |
17519 |
- wine_compiler_check || die |
17520 |
- |
17521 |
- export LDCONFIG=/bin/true |
17522 |
- use custom-cflags || strip-flags |
17523 |
- |
17524 |
- multilib-minimal_src_configure |
17525 |
-} |
17526 |
- |
17527 |
-multilib_src_configure() { |
17528 |
- local myconf=( |
17529 |
- --prefix="${MY_PREFIX}" |
17530 |
- --datarootdir="${MY_DATAROOTDIR}" |
17531 |
- --datadir="${MY_DATADIR}" |
17532 |
- --docdir="${MY_DOCDIR}" |
17533 |
- --includedir="${MY_INCLUDEDIR}" |
17534 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
17535 |
- --libexecdir="${MY_LIBEXECDIR}" |
17536 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
17537 |
- --mandir="${MY_MANDIR}" |
17538 |
- --sysconfdir=/etc/wine |
17539 |
- $(use_with alsa) |
17540 |
- $(use_with capi) |
17541 |
- $(use_with lcms cms) |
17542 |
- $(use_with cups) |
17543 |
- $(use_with ncurses curses) |
17544 |
- $(use_with udisks dbus) |
17545 |
- $(use_with fontconfig) |
17546 |
- $(use_with ssl gnutls) |
17547 |
- $(use_enable gecko mshtml) |
17548 |
- $(use_with gphoto2 gphoto) |
17549 |
- $(use_with gsm) |
17550 |
- $(use_with gssapi) |
17551 |
- $(use_with gstreamer) |
17552 |
- --without-hal |
17553 |
- $(use_with jpeg) |
17554 |
- $(use_with kerberos krb5) |
17555 |
- $(use_with ldap) |
17556 |
- $(use_enable mono mscoree) |
17557 |
- $(use_with mp3 mpg123) |
17558 |
- $(use_with netapi) |
17559 |
- $(use_with nls gettext) |
17560 |
- $(use_with openal) |
17561 |
- $(use_with opencl) |
17562 |
- $(use_with opengl) |
17563 |
- $(use_with osmesa) |
17564 |
- $(use_with oss) |
17565 |
- $(use_with pcap) |
17566 |
- $(use_with png) |
17567 |
- $(use_with pulseaudio pulse) |
17568 |
- $(use_with threads pthread) |
17569 |
- $(use_with scanner sane) |
17570 |
- $(use_enable test tests) |
17571 |
- $(use_with truetype freetype) |
17572 |
- $(use_with udev) |
17573 |
- $(use_with v4l) |
17574 |
- $(use_with X x) |
17575 |
- $(use_with X xfixes) |
17576 |
- $(use_with xcomposite) |
17577 |
- $(use_with xinerama) |
17578 |
- $(use_with xml) |
17579 |
- $(use_with xml xslt) |
17580 |
- ) |
17581 |
- |
17582 |
- local PKG_CONFIG AR RANLIB |
17583 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
17584 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
17585 |
- tc-export PKG_CONFIG AR RANLIB |
17586 |
- |
17587 |
- if use amd64; then |
17588 |
- if [[ ${ABI} == amd64 ]]; then |
17589 |
- myconf+=( --enable-win64 ) |
17590 |
- else |
17591 |
- myconf+=( --disable-win64 ) |
17592 |
- fi |
17593 |
- |
17594 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
17595 |
- # CC/LD hackery. We're using separate tools instead. |
17596 |
- fi |
17597 |
- |
17598 |
- ECONF_SOURCE=${S} \ |
17599 |
- econf "${myconf[@]}" |
17600 |
- emake depend |
17601 |
-} |
17602 |
- |
17603 |
-multilib_src_test() { |
17604 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
17605 |
- if [[ ${ABI} == x86 ]]; then |
17606 |
- if [[ $(id -u) == 0 ]]; then |
17607 |
- ewarn "Skipping tests since they cannot be run under the root user." |
17608 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
17609 |
- return |
17610 |
- fi |
17611 |
- |
17612 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
17613 |
- Xemake test |
17614 |
- fi |
17615 |
-} |
17616 |
- |
17617 |
-multilib_src_install_all() { |
17618 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
17619 |
- add_locale_docs() { |
17620 |
- local locale_doc="documentation/README.$1" |
17621 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
17622 |
- } |
17623 |
- l10n_for_each_locale_do add_locale_docs |
17624 |
- |
17625 |
- einstalldocs |
17626 |
- prune_libtool_files --all |
17627 |
- |
17628 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
17629 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
17630 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
17631 |
- fi |
17632 |
- |
17633 |
- # Remove wineconsole if neither backend is installed #551124 |
17634 |
- if ! use X && ! use ncurses; then |
17635 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
17636 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
17637 |
- rm_wineconsole() { |
17638 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
17639 |
- } |
17640 |
- multilib_foreach_abi rm_wineconsole |
17641 |
- fi |
17642 |
- |
17643 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
17644 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
17645 |
- |
17646 |
- if use abi_x86_64 && ! use abi_x86_32; then |
17647 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
17648 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
17649 |
- fi |
17650 |
- |
17651 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
17652 |
- eshopts_push -s failglob #615218 |
17653 |
- # Make wrappers for binaries for handling multiple variants |
17654 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
17655 |
- local b |
17656 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
17657 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
17658 |
- done |
17659 |
- eshopts_pop |
17660 |
-} |
17661 |
- |
17662 |
-pkg_postinst() { |
17663 |
- eselect wine register ${P} |
17664 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
17665 |
- eselect wine register --vanilla ${P} || die |
17666 |
- fi |
17667 |
- |
17668 |
- eselect wine update --all --if-unset || die |
17669 |
- |
17670 |
- xdg_desktop_database_update |
17671 |
- |
17672 |
- if ! use gecko; then |
17673 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
17674 |
- ewarn "implementation of iexplore. Many older windows applications" |
17675 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
17676 |
- ewarn "you will likely need to install an external one, like via winetricks" |
17677 |
- fi |
17678 |
- if ! use mono; then |
17679 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
17680 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
17681 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
17682 |
- ewarn "to install an external one, like via winetricks" |
17683 |
- fi |
17684 |
-} |
17685 |
- |
17686 |
-pkg_prerm() { |
17687 |
- eselect wine deregister ${P} |
17688 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
17689 |
- eselect wine deregister --vanilla ${P} || die |
17690 |
- fi |
17691 |
- |
17692 |
- eselect wine update --all --if-unset || die |
17693 |
-} |
17694 |
- |
17695 |
-pkg_postrm() { |
17696 |
- xdg_desktop_database_update |
17697 |
-} |
17698 |
|
17699 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.10.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.10.ebuild |
17700 |
deleted file mode 100644 |
17701 |
index 49079cc..0000000 |
17702 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.10.ebuild |
17703 |
+++ /dev/null |
17704 |
@@ -1,532 +0,0 @@ |
17705 |
-# Copyright 1999-2018 Gentoo Foundation |
17706 |
-# Distributed under the terms of the GNU General Public License v2 |
17707 |
- |
17708 |
-EAPI=6 |
17709 |
- |
17710 |
-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" |
17711 |
-PLOCALE_BACKUP="en" |
17712 |
- |
17713 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
17714 |
- |
17715 |
-MY_PN="${PN%%-*}" |
17716 |
-MY_P="${MY_PN}-${PV}" |
17717 |
- |
17718 |
-if [[ ${PV} == "9999" ]] ; then |
17719 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
17720 |
- EGIT_BRANCH="master" |
17721 |
- inherit git-r3 |
17722 |
- SRC_URI="" |
17723 |
- #KEYWORDS="" |
17724 |
-else |
17725 |
- MAJOR_V=$(ver_cut 1) |
17726 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
17727 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
17728 |
-fi |
17729 |
-S="${WORKDIR}/${MY_P}" |
17730 |
- |
17731 |
-GWP_V="20180120" |
17732 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
17733 |
- |
17734 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
17735 |
-HOMEPAGE="https://www.winehq.org/" |
17736 |
-SRC_URI="${SRC_URI} |
17737 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
17738 |
-" |
17739 |
- |
17740 |
-LICENSE="LGPL-2.1" |
17741 |
-SLOT="${PV}" |
17742 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
17743 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
17744 |
- X? ( truetype ) |
17745 |
- elibc_glibc? ( threads ) |
17746 |
- osmesa? ( opengl ) |
17747 |
- test? ( abi_x86_32 ) |
17748 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
17749 |
- |
17750 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
17751 |
-# or fail due to Xvfb's opengl limitations. |
17752 |
-RESTRICT="test" |
17753 |
- |
17754 |
-COMMON_DEPEND=" |
17755 |
- X? ( |
17756 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
17757 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
17758 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
17759 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
17760 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
17761 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
17762 |
- ) |
17763 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
17764 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
17765 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
17766 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
17767 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
17768 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
17769 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
17770 |
- gstreamer? ( |
17771 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
17772 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
17773 |
- ) |
17774 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
17775 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
17776 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
17777 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
17778 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
17779 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
17780 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
17781 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
17782 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
17783 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
17784 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
17785 |
- opengl? ( |
17786 |
- virtual/glu[${MULTILIB_USEDEP}] |
17787 |
- virtual/opengl[${MULTILIB_USEDEP}] |
17788 |
- ) |
17789 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
17790 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
17791 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
17792 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
17793 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
17794 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
17795 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
17796 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
17797 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
17798 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
17799 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
17800 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
17801 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
17802 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
17803 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
17804 |
- xml? ( |
17805 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
17806 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
17807 |
- )" |
17808 |
- |
17809 |
-RDEPEND="${COMMON_DEPEND} |
17810 |
- app-emulation/wine-desktop-common |
17811 |
- >app-eselect/eselect-wine-0.3 |
17812 |
- !app-emulation/wine:0 |
17813 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
17814 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
17815 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
17816 |
- perl? ( |
17817 |
- dev-lang/perl |
17818 |
- dev-perl/XML-Simple |
17819 |
- ) |
17820 |
- pulseaudio? ( |
17821 |
- realtime? ( sys-auth/rtkit ) |
17822 |
- ) |
17823 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
17824 |
- selinux? ( sec-policy/selinux-wine ) |
17825 |
- udisks? ( sys-fs/udisks:2 )" |
17826 |
- |
17827 |
-# tools/make_requests requires perl |
17828 |
-DEPEND="${COMMON_DEPEND} |
17829 |
- sys-devel/flex |
17830 |
- >=sys-kernel/linux-headers-2.6 |
17831 |
- virtual/pkgconfig |
17832 |
- virtual/yacc |
17833 |
- X? ( x11-base/xorg-proto ) |
17834 |
- prelink? ( sys-devel/prelink ) |
17835 |
- xinerama? ( x11-base/xorg-proto )" |
17836 |
- |
17837 |
-# These use a non-standard "Wine" category, which is provided by |
17838 |
-# /etc/xdg/applications-merged/wine.menu |
17839 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
17840 |
-usr/share/applications/wine-notepad.desktop |
17841 |
-usr/share/applications/wine-uninstaller.desktop |
17842 |
-usr/share/applications/wine-winecfg.desktop" |
17843 |
- |
17844 |
-PATCHES=( |
17845 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
17846 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
17847 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
17848 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
17849 |
-) |
17850 |
-PATCHES_BIN=() |
17851 |
- |
17852 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
17853 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
17854 |
- DEPEND+=" dev-util/patchbin" |
17855 |
-fi |
17856 |
- |
17857 |
-wine_compiler_check() { |
17858 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
17859 |
- |
17860 |
- # GCC-specific bugs |
17861 |
- if tc-is-gcc; then |
17862 |
- # bug #549768 |
17863 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
17864 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
17865 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
17866 |
- # Run in subshell to prevent "Aborted" message |
17867 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
17868 |
- if ! eend $?; then |
17869 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
17870 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
17871 |
- eerror "or use gcc-config to select a different compiler version." |
17872 |
- eerror "See https://bugs.gentoo.org/549768" |
17873 |
- eerror |
17874 |
- return 1 |
17875 |
- fi |
17876 |
- fi |
17877 |
- # bug #574044 |
17878 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
17879 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
17880 |
- # Compile in subshell to prevent "Aborted" message |
17881 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
17882 |
- if ! eend $?; then |
17883 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
17884 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
17885 |
- eerror "or use gcc-config to select a different compiler version." |
17886 |
- eerror "See https://bugs.gentoo.org/574044" |
17887 |
- eerror |
17888 |
- return 1 |
17889 |
- fi |
17890 |
- fi |
17891 |
- fi |
17892 |
- |
17893 |
- # Ensure compiler support |
17894 |
- if use abi_x86_64; then |
17895 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
17896 |
- # Compile in subshell to prevent "Aborted" message |
17897 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
17898 |
- if ! eend $?; then |
17899 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
17900 |
- eerror |
17901 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
17902 |
- eerror |
17903 |
- return 1 |
17904 |
- fi |
17905 |
- fi |
17906 |
-} |
17907 |
- |
17908 |
-wine_build_environment_check() { |
17909 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
17910 |
- |
17911 |
- if use abi_x86_64; then |
17912 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
17913 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
17914 |
- die |
17915 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
17916 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
17917 |
- die |
17918 |
- fi |
17919 |
- fi |
17920 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
17921 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
17922 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
17923 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
17924 |
- fi |
17925 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
17926 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
17927 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
17928 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
17929 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
17930 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
17931 |
- fi |
17932 |
- fi |
17933 |
- |
17934 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
17935 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
17936 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
17937 |
- eerror |
17938 |
- return 1 |
17939 |
- fi |
17940 |
-} |
17941 |
- |
17942 |
-wine_env_vcs_vars() { |
17943 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
17944 |
- local pn_live_val="${pn_live_var}" |
17945 |
- eval pn_live_val='$'${pn_live_val} |
17946 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
17947 |
- eerror "Commits must now be specified using the environmental variables" |
17948 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
17949 |
- eerror |
17950 |
- return 1 |
17951 |
- fi |
17952 |
-} |
17953 |
- |
17954 |
-pkg_pretend() { |
17955 |
- wine_build_environment_check || die |
17956 |
- |
17957 |
- # Verify OSS support |
17958 |
- if use oss && ! use kernel_FreeBSD; then |
17959 |
- if ! has_version ">=media-sound/oss-4"; then |
17960 |
- eerror "You cannot build wine with USE=oss without having support from a" |
17961 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
17962 |
- eerror |
17963 |
- die |
17964 |
- fi |
17965 |
- fi |
17966 |
-} |
17967 |
- |
17968 |
-pkg_setup() { |
17969 |
- wine_build_environment_check || die |
17970 |
- wine_env_vcs_vars || die |
17971 |
- |
17972 |
- WINE_VARIANT="${PN#wine}-${PV}" |
17973 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
17974 |
- |
17975 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
17976 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
17977 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
17978 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
17979 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
17980 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
17981 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
17982 |
- MY_MANDIR="${MY_DATADIR}/man" |
17983 |
-} |
17984 |
- |
17985 |
-src_unpack() { |
17986 |
- if [[ ${PV} == "9999" ]] ; then |
17987 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
17988 |
- fi |
17989 |
- |
17990 |
- default |
17991 |
- |
17992 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
17993 |
-} |
17994 |
- |
17995 |
-src_prepare() { |
17996 |
- |
17997 |
- eapply_bin(){ |
17998 |
- local patch |
17999 |
- for patch in ${PATCHES_BIN[@]}; do |
18000 |
- patchbin --nogit < "${patch}" || die |
18001 |
- done |
18002 |
- } |
18003 |
- |
18004 |
- local md5="$(md5sum server/protocol.def)" |
18005 |
- |
18006 |
- default |
18007 |
- eapply_bin |
18008 |
- eautoreconf |
18009 |
- |
18010 |
- # Modification of the server protocol requires regenerating the server requests |
18011 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
18012 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
18013 |
- tools/make_requests || die #432348 |
18014 |
- fi |
18015 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
18016 |
- if ! use run-exes; then |
18017 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
18018 |
- fi |
18019 |
- |
18020 |
- # Edit wine.desktop to work for specific variant |
18021 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
18022 |
- |
18023 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
18024 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
18025 |
- |
18026 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
18027 |
- |
18028 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
18029 |
- |
18030 |
- # Duplicate manpages input files for wine64 |
18031 |
- local f |
18032 |
- for f in loader/*.man.in; do |
18033 |
- cp ${f} ${f/wine/wine64} || die |
18034 |
- done |
18035 |
- # Add wine64 manpages to Makefile |
18036 |
- if use abi_x86_64; then |
18037 |
- sed -i "/wine.man.in/i \ |
18038 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
18039 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
18040 |
-\164\2/' loader/Makefile.in || die |
18041 |
- fi |
18042 |
- |
18043 |
- rm_man_file(){ |
18044 |
- local file="${1}" |
18045 |
- loc=${2} |
18046 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
18047 |
- } |
18048 |
- |
18049 |
- while read f; do |
18050 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
18051 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
18052 |
-} |
18053 |
- |
18054 |
-src_configure() { |
18055 |
- wine_compiler_check || die |
18056 |
- |
18057 |
- export LDCONFIG=/bin/true |
18058 |
- use custom-cflags || strip-flags |
18059 |
- |
18060 |
- multilib-minimal_src_configure |
18061 |
-} |
18062 |
- |
18063 |
-multilib_src_configure() { |
18064 |
- local myconf=( |
18065 |
- --prefix="${MY_PREFIX}" |
18066 |
- --datarootdir="${MY_DATAROOTDIR}" |
18067 |
- --datadir="${MY_DATADIR}" |
18068 |
- --docdir="${MY_DOCDIR}" |
18069 |
- --includedir="${MY_INCLUDEDIR}" |
18070 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
18071 |
- --libexecdir="${MY_LIBEXECDIR}" |
18072 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
18073 |
- --mandir="${MY_MANDIR}" |
18074 |
- --sysconfdir=/etc/wine |
18075 |
- $(use_with alsa) |
18076 |
- $(use_with capi) |
18077 |
- $(use_with lcms cms) |
18078 |
- $(use_with cups) |
18079 |
- $(use_with ncurses curses) |
18080 |
- $(use_with udisks dbus) |
18081 |
- $(use_with fontconfig) |
18082 |
- $(use_with ssl gnutls) |
18083 |
- $(use_enable gecko mshtml) |
18084 |
- $(use_with gphoto2 gphoto) |
18085 |
- $(use_with gsm) |
18086 |
- $(use_with gssapi) |
18087 |
- $(use_with gstreamer) |
18088 |
- --without-hal |
18089 |
- $(use_with jpeg) |
18090 |
- $(use_with kerberos krb5) |
18091 |
- $(use_with ldap) |
18092 |
- $(use_enable mono mscoree) |
18093 |
- $(use_with mp3 mpg123) |
18094 |
- $(use_with netapi) |
18095 |
- $(use_with nls gettext) |
18096 |
- $(use_with openal) |
18097 |
- $(use_with opencl) |
18098 |
- $(use_with opengl) |
18099 |
- $(use_with osmesa) |
18100 |
- $(use_with oss) |
18101 |
- $(use_with pcap) |
18102 |
- $(use_with png) |
18103 |
- $(use_with pulseaudio pulse) |
18104 |
- $(use_with threads pthread) |
18105 |
- $(use_with scanner sane) |
18106 |
- $(use_with sdl) |
18107 |
- $(use_enable test tests) |
18108 |
- $(use_with truetype freetype) |
18109 |
- $(use_with udev) |
18110 |
- $(use_with v4l) |
18111 |
- $(use_with vkd3d) |
18112 |
- $(use_with vulkan) |
18113 |
- $(use_with X x) |
18114 |
- $(use_with X xfixes) |
18115 |
- $(use_with xcomposite) |
18116 |
- $(use_with xinerama) |
18117 |
- $(use_with xml) |
18118 |
- $(use_with xml xslt) |
18119 |
- ) |
18120 |
- |
18121 |
- local PKG_CONFIG AR RANLIB |
18122 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
18123 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
18124 |
- tc-export PKG_CONFIG AR RANLIB |
18125 |
- |
18126 |
- if use amd64; then |
18127 |
- if [[ ${ABI} == amd64 ]]; then |
18128 |
- myconf+=( --enable-win64 ) |
18129 |
- else |
18130 |
- myconf+=( --disable-win64 ) |
18131 |
- fi |
18132 |
- |
18133 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
18134 |
- # CC/LD hackery. We're using separate tools instead. |
18135 |
- fi |
18136 |
- |
18137 |
- ECONF_SOURCE=${S} \ |
18138 |
- econf "${myconf[@]}" |
18139 |
- emake depend |
18140 |
-} |
18141 |
- |
18142 |
-multilib_src_test() { |
18143 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
18144 |
- if [[ ${ABI} == x86 ]]; then |
18145 |
- if [[ $(id -u) == 0 ]]; then |
18146 |
- ewarn "Skipping tests since they cannot be run under the root user." |
18147 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
18148 |
- return |
18149 |
- fi |
18150 |
- |
18151 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
18152 |
- Xemake test |
18153 |
- fi |
18154 |
-} |
18155 |
- |
18156 |
-multilib_src_install_all() { |
18157 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
18158 |
- add_locale_docs() { |
18159 |
- local locale_doc="documentation/README.$1" |
18160 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
18161 |
- } |
18162 |
- l10n_for_each_locale_do add_locale_docs |
18163 |
- |
18164 |
- einstalldocs |
18165 |
- prune_libtool_files --all |
18166 |
- |
18167 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
18168 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
18169 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
18170 |
- fi |
18171 |
- |
18172 |
- # Remove wineconsole if neither backend is installed #551124 |
18173 |
- if ! use X && ! use ncurses; then |
18174 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
18175 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
18176 |
- rm_wineconsole() { |
18177 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
18178 |
- } |
18179 |
- multilib_foreach_abi rm_wineconsole |
18180 |
- fi |
18181 |
- |
18182 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
18183 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
18184 |
- |
18185 |
- if use abi_x86_64 && ! use abi_x86_32; then |
18186 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
18187 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
18188 |
- fi |
18189 |
- |
18190 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
18191 |
- eshopts_push -s failglob #615218 |
18192 |
- # Make wrappers for binaries for handling multiple variants |
18193 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
18194 |
- local b |
18195 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
18196 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
18197 |
- done |
18198 |
- eshopts_pop |
18199 |
-} |
18200 |
- |
18201 |
-pkg_postinst() { |
18202 |
- eselect wine register ${P} |
18203 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
18204 |
- eselect wine register --vanilla ${P} || die |
18205 |
- fi |
18206 |
- |
18207 |
- eselect wine update --all --if-unset || die |
18208 |
- |
18209 |
- xdg_desktop_database_update |
18210 |
- |
18211 |
- if ! use gecko; then |
18212 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
18213 |
- ewarn "implementation of iexplore. Many older windows applications" |
18214 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
18215 |
- ewarn "you will likely need to install an external one, like via winetricks" |
18216 |
- fi |
18217 |
- if ! use mono; then |
18218 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
18219 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
18220 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
18221 |
- ewarn "to install an external one, like via winetricks" |
18222 |
- fi |
18223 |
-} |
18224 |
- |
18225 |
-pkg_prerm() { |
18226 |
- eselect wine deregister ${P} |
18227 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
18228 |
- eselect wine deregister --vanilla ${P} || die |
18229 |
- fi |
18230 |
- |
18231 |
- eselect wine update --all --if-unset || die |
18232 |
-} |
18233 |
- |
18234 |
-pkg_postrm() { |
18235 |
- xdg_desktop_database_update |
18236 |
-} |
18237 |
|
18238 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.11.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.11.ebuild |
18239 |
deleted file mode 100644 |
18240 |
index 49079cc..0000000 |
18241 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.11.ebuild |
18242 |
+++ /dev/null |
18243 |
@@ -1,532 +0,0 @@ |
18244 |
-# Copyright 1999-2018 Gentoo Foundation |
18245 |
-# Distributed under the terms of the GNU General Public License v2 |
18246 |
- |
18247 |
-EAPI=6 |
18248 |
- |
18249 |
-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" |
18250 |
-PLOCALE_BACKUP="en" |
18251 |
- |
18252 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
18253 |
- |
18254 |
-MY_PN="${PN%%-*}" |
18255 |
-MY_P="${MY_PN}-${PV}" |
18256 |
- |
18257 |
-if [[ ${PV} == "9999" ]] ; then |
18258 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
18259 |
- EGIT_BRANCH="master" |
18260 |
- inherit git-r3 |
18261 |
- SRC_URI="" |
18262 |
- #KEYWORDS="" |
18263 |
-else |
18264 |
- MAJOR_V=$(ver_cut 1) |
18265 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
18266 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
18267 |
-fi |
18268 |
-S="${WORKDIR}/${MY_P}" |
18269 |
- |
18270 |
-GWP_V="20180120" |
18271 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
18272 |
- |
18273 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
18274 |
-HOMEPAGE="https://www.winehq.org/" |
18275 |
-SRC_URI="${SRC_URI} |
18276 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
18277 |
-" |
18278 |
- |
18279 |
-LICENSE="LGPL-2.1" |
18280 |
-SLOT="${PV}" |
18281 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
18282 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
18283 |
- X? ( truetype ) |
18284 |
- elibc_glibc? ( threads ) |
18285 |
- osmesa? ( opengl ) |
18286 |
- test? ( abi_x86_32 ) |
18287 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
18288 |
- |
18289 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
18290 |
-# or fail due to Xvfb's opengl limitations. |
18291 |
-RESTRICT="test" |
18292 |
- |
18293 |
-COMMON_DEPEND=" |
18294 |
- X? ( |
18295 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
18296 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
18297 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
18298 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
18299 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
18300 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
18301 |
- ) |
18302 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
18303 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
18304 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
18305 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
18306 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
18307 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
18308 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
18309 |
- gstreamer? ( |
18310 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
18311 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
18312 |
- ) |
18313 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
18314 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
18315 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
18316 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
18317 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
18318 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
18319 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
18320 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
18321 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
18322 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
18323 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
18324 |
- opengl? ( |
18325 |
- virtual/glu[${MULTILIB_USEDEP}] |
18326 |
- virtual/opengl[${MULTILIB_USEDEP}] |
18327 |
- ) |
18328 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
18329 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
18330 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
18331 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
18332 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
18333 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
18334 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
18335 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
18336 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
18337 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
18338 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
18339 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
18340 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
18341 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
18342 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
18343 |
- xml? ( |
18344 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
18345 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
18346 |
- )" |
18347 |
- |
18348 |
-RDEPEND="${COMMON_DEPEND} |
18349 |
- app-emulation/wine-desktop-common |
18350 |
- >app-eselect/eselect-wine-0.3 |
18351 |
- !app-emulation/wine:0 |
18352 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
18353 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
18354 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
18355 |
- perl? ( |
18356 |
- dev-lang/perl |
18357 |
- dev-perl/XML-Simple |
18358 |
- ) |
18359 |
- pulseaudio? ( |
18360 |
- realtime? ( sys-auth/rtkit ) |
18361 |
- ) |
18362 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
18363 |
- selinux? ( sec-policy/selinux-wine ) |
18364 |
- udisks? ( sys-fs/udisks:2 )" |
18365 |
- |
18366 |
-# tools/make_requests requires perl |
18367 |
-DEPEND="${COMMON_DEPEND} |
18368 |
- sys-devel/flex |
18369 |
- >=sys-kernel/linux-headers-2.6 |
18370 |
- virtual/pkgconfig |
18371 |
- virtual/yacc |
18372 |
- X? ( x11-base/xorg-proto ) |
18373 |
- prelink? ( sys-devel/prelink ) |
18374 |
- xinerama? ( x11-base/xorg-proto )" |
18375 |
- |
18376 |
-# These use a non-standard "Wine" category, which is provided by |
18377 |
-# /etc/xdg/applications-merged/wine.menu |
18378 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
18379 |
-usr/share/applications/wine-notepad.desktop |
18380 |
-usr/share/applications/wine-uninstaller.desktop |
18381 |
-usr/share/applications/wine-winecfg.desktop" |
18382 |
- |
18383 |
-PATCHES=( |
18384 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
18385 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
18386 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
18387 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
18388 |
-) |
18389 |
-PATCHES_BIN=() |
18390 |
- |
18391 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
18392 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
18393 |
- DEPEND+=" dev-util/patchbin" |
18394 |
-fi |
18395 |
- |
18396 |
-wine_compiler_check() { |
18397 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
18398 |
- |
18399 |
- # GCC-specific bugs |
18400 |
- if tc-is-gcc; then |
18401 |
- # bug #549768 |
18402 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
18403 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
18404 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
18405 |
- # Run in subshell to prevent "Aborted" message |
18406 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
18407 |
- if ! eend $?; then |
18408 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
18409 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
18410 |
- eerror "or use gcc-config to select a different compiler version." |
18411 |
- eerror "See https://bugs.gentoo.org/549768" |
18412 |
- eerror |
18413 |
- return 1 |
18414 |
- fi |
18415 |
- fi |
18416 |
- # bug #574044 |
18417 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
18418 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
18419 |
- # Compile in subshell to prevent "Aborted" message |
18420 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
18421 |
- if ! eend $?; then |
18422 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
18423 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
18424 |
- eerror "or use gcc-config to select a different compiler version." |
18425 |
- eerror "See https://bugs.gentoo.org/574044" |
18426 |
- eerror |
18427 |
- return 1 |
18428 |
- fi |
18429 |
- fi |
18430 |
- fi |
18431 |
- |
18432 |
- # Ensure compiler support |
18433 |
- if use abi_x86_64; then |
18434 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
18435 |
- # Compile in subshell to prevent "Aborted" message |
18436 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
18437 |
- if ! eend $?; then |
18438 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
18439 |
- eerror |
18440 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
18441 |
- eerror |
18442 |
- return 1 |
18443 |
- fi |
18444 |
- fi |
18445 |
-} |
18446 |
- |
18447 |
-wine_build_environment_check() { |
18448 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
18449 |
- |
18450 |
- if use abi_x86_64; then |
18451 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
18452 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
18453 |
- die |
18454 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
18455 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
18456 |
- die |
18457 |
- fi |
18458 |
- fi |
18459 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
18460 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
18461 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
18462 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
18463 |
- fi |
18464 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
18465 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
18466 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
18467 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
18468 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
18469 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
18470 |
- fi |
18471 |
- fi |
18472 |
- |
18473 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
18474 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
18475 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
18476 |
- eerror |
18477 |
- return 1 |
18478 |
- fi |
18479 |
-} |
18480 |
- |
18481 |
-wine_env_vcs_vars() { |
18482 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
18483 |
- local pn_live_val="${pn_live_var}" |
18484 |
- eval pn_live_val='$'${pn_live_val} |
18485 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
18486 |
- eerror "Commits must now be specified using the environmental variables" |
18487 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
18488 |
- eerror |
18489 |
- return 1 |
18490 |
- fi |
18491 |
-} |
18492 |
- |
18493 |
-pkg_pretend() { |
18494 |
- wine_build_environment_check || die |
18495 |
- |
18496 |
- # Verify OSS support |
18497 |
- if use oss && ! use kernel_FreeBSD; then |
18498 |
- if ! has_version ">=media-sound/oss-4"; then |
18499 |
- eerror "You cannot build wine with USE=oss without having support from a" |
18500 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
18501 |
- eerror |
18502 |
- die |
18503 |
- fi |
18504 |
- fi |
18505 |
-} |
18506 |
- |
18507 |
-pkg_setup() { |
18508 |
- wine_build_environment_check || die |
18509 |
- wine_env_vcs_vars || die |
18510 |
- |
18511 |
- WINE_VARIANT="${PN#wine}-${PV}" |
18512 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
18513 |
- |
18514 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
18515 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
18516 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
18517 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
18518 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
18519 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
18520 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
18521 |
- MY_MANDIR="${MY_DATADIR}/man" |
18522 |
-} |
18523 |
- |
18524 |
-src_unpack() { |
18525 |
- if [[ ${PV} == "9999" ]] ; then |
18526 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
18527 |
- fi |
18528 |
- |
18529 |
- default |
18530 |
- |
18531 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
18532 |
-} |
18533 |
- |
18534 |
-src_prepare() { |
18535 |
- |
18536 |
- eapply_bin(){ |
18537 |
- local patch |
18538 |
- for patch in ${PATCHES_BIN[@]}; do |
18539 |
- patchbin --nogit < "${patch}" || die |
18540 |
- done |
18541 |
- } |
18542 |
- |
18543 |
- local md5="$(md5sum server/protocol.def)" |
18544 |
- |
18545 |
- default |
18546 |
- eapply_bin |
18547 |
- eautoreconf |
18548 |
- |
18549 |
- # Modification of the server protocol requires regenerating the server requests |
18550 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
18551 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
18552 |
- tools/make_requests || die #432348 |
18553 |
- fi |
18554 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
18555 |
- if ! use run-exes; then |
18556 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
18557 |
- fi |
18558 |
- |
18559 |
- # Edit wine.desktop to work for specific variant |
18560 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
18561 |
- |
18562 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
18563 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
18564 |
- |
18565 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
18566 |
- |
18567 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
18568 |
- |
18569 |
- # Duplicate manpages input files for wine64 |
18570 |
- local f |
18571 |
- for f in loader/*.man.in; do |
18572 |
- cp ${f} ${f/wine/wine64} || die |
18573 |
- done |
18574 |
- # Add wine64 manpages to Makefile |
18575 |
- if use abi_x86_64; then |
18576 |
- sed -i "/wine.man.in/i \ |
18577 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
18578 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
18579 |
-\164\2/' loader/Makefile.in || die |
18580 |
- fi |
18581 |
- |
18582 |
- rm_man_file(){ |
18583 |
- local file="${1}" |
18584 |
- loc=${2} |
18585 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
18586 |
- } |
18587 |
- |
18588 |
- while read f; do |
18589 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
18590 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
18591 |
-} |
18592 |
- |
18593 |
-src_configure() { |
18594 |
- wine_compiler_check || die |
18595 |
- |
18596 |
- export LDCONFIG=/bin/true |
18597 |
- use custom-cflags || strip-flags |
18598 |
- |
18599 |
- multilib-minimal_src_configure |
18600 |
-} |
18601 |
- |
18602 |
-multilib_src_configure() { |
18603 |
- local myconf=( |
18604 |
- --prefix="${MY_PREFIX}" |
18605 |
- --datarootdir="${MY_DATAROOTDIR}" |
18606 |
- --datadir="${MY_DATADIR}" |
18607 |
- --docdir="${MY_DOCDIR}" |
18608 |
- --includedir="${MY_INCLUDEDIR}" |
18609 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
18610 |
- --libexecdir="${MY_LIBEXECDIR}" |
18611 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
18612 |
- --mandir="${MY_MANDIR}" |
18613 |
- --sysconfdir=/etc/wine |
18614 |
- $(use_with alsa) |
18615 |
- $(use_with capi) |
18616 |
- $(use_with lcms cms) |
18617 |
- $(use_with cups) |
18618 |
- $(use_with ncurses curses) |
18619 |
- $(use_with udisks dbus) |
18620 |
- $(use_with fontconfig) |
18621 |
- $(use_with ssl gnutls) |
18622 |
- $(use_enable gecko mshtml) |
18623 |
- $(use_with gphoto2 gphoto) |
18624 |
- $(use_with gsm) |
18625 |
- $(use_with gssapi) |
18626 |
- $(use_with gstreamer) |
18627 |
- --without-hal |
18628 |
- $(use_with jpeg) |
18629 |
- $(use_with kerberos krb5) |
18630 |
- $(use_with ldap) |
18631 |
- $(use_enable mono mscoree) |
18632 |
- $(use_with mp3 mpg123) |
18633 |
- $(use_with netapi) |
18634 |
- $(use_with nls gettext) |
18635 |
- $(use_with openal) |
18636 |
- $(use_with opencl) |
18637 |
- $(use_with opengl) |
18638 |
- $(use_with osmesa) |
18639 |
- $(use_with oss) |
18640 |
- $(use_with pcap) |
18641 |
- $(use_with png) |
18642 |
- $(use_with pulseaudio pulse) |
18643 |
- $(use_with threads pthread) |
18644 |
- $(use_with scanner sane) |
18645 |
- $(use_with sdl) |
18646 |
- $(use_enable test tests) |
18647 |
- $(use_with truetype freetype) |
18648 |
- $(use_with udev) |
18649 |
- $(use_with v4l) |
18650 |
- $(use_with vkd3d) |
18651 |
- $(use_with vulkan) |
18652 |
- $(use_with X x) |
18653 |
- $(use_with X xfixes) |
18654 |
- $(use_with xcomposite) |
18655 |
- $(use_with xinerama) |
18656 |
- $(use_with xml) |
18657 |
- $(use_with xml xslt) |
18658 |
- ) |
18659 |
- |
18660 |
- local PKG_CONFIG AR RANLIB |
18661 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
18662 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
18663 |
- tc-export PKG_CONFIG AR RANLIB |
18664 |
- |
18665 |
- if use amd64; then |
18666 |
- if [[ ${ABI} == amd64 ]]; then |
18667 |
- myconf+=( --enable-win64 ) |
18668 |
- else |
18669 |
- myconf+=( --disable-win64 ) |
18670 |
- fi |
18671 |
- |
18672 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
18673 |
- # CC/LD hackery. We're using separate tools instead. |
18674 |
- fi |
18675 |
- |
18676 |
- ECONF_SOURCE=${S} \ |
18677 |
- econf "${myconf[@]}" |
18678 |
- emake depend |
18679 |
-} |
18680 |
- |
18681 |
-multilib_src_test() { |
18682 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
18683 |
- if [[ ${ABI} == x86 ]]; then |
18684 |
- if [[ $(id -u) == 0 ]]; then |
18685 |
- ewarn "Skipping tests since they cannot be run under the root user." |
18686 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
18687 |
- return |
18688 |
- fi |
18689 |
- |
18690 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
18691 |
- Xemake test |
18692 |
- fi |
18693 |
-} |
18694 |
- |
18695 |
-multilib_src_install_all() { |
18696 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
18697 |
- add_locale_docs() { |
18698 |
- local locale_doc="documentation/README.$1" |
18699 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
18700 |
- } |
18701 |
- l10n_for_each_locale_do add_locale_docs |
18702 |
- |
18703 |
- einstalldocs |
18704 |
- prune_libtool_files --all |
18705 |
- |
18706 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
18707 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
18708 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
18709 |
- fi |
18710 |
- |
18711 |
- # Remove wineconsole if neither backend is installed #551124 |
18712 |
- if ! use X && ! use ncurses; then |
18713 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
18714 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
18715 |
- rm_wineconsole() { |
18716 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
18717 |
- } |
18718 |
- multilib_foreach_abi rm_wineconsole |
18719 |
- fi |
18720 |
- |
18721 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
18722 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
18723 |
- |
18724 |
- if use abi_x86_64 && ! use abi_x86_32; then |
18725 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
18726 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
18727 |
- fi |
18728 |
- |
18729 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
18730 |
- eshopts_push -s failglob #615218 |
18731 |
- # Make wrappers for binaries for handling multiple variants |
18732 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
18733 |
- local b |
18734 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
18735 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
18736 |
- done |
18737 |
- eshopts_pop |
18738 |
-} |
18739 |
- |
18740 |
-pkg_postinst() { |
18741 |
- eselect wine register ${P} |
18742 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
18743 |
- eselect wine register --vanilla ${P} || die |
18744 |
- fi |
18745 |
- |
18746 |
- eselect wine update --all --if-unset || die |
18747 |
- |
18748 |
- xdg_desktop_database_update |
18749 |
- |
18750 |
- if ! use gecko; then |
18751 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
18752 |
- ewarn "implementation of iexplore. Many older windows applications" |
18753 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
18754 |
- ewarn "you will likely need to install an external one, like via winetricks" |
18755 |
- fi |
18756 |
- if ! use mono; then |
18757 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
18758 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
18759 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
18760 |
- ewarn "to install an external one, like via winetricks" |
18761 |
- fi |
18762 |
-} |
18763 |
- |
18764 |
-pkg_prerm() { |
18765 |
- eselect wine deregister ${P} |
18766 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
18767 |
- eselect wine deregister --vanilla ${P} || die |
18768 |
- fi |
18769 |
- |
18770 |
- eselect wine update --all --if-unset || die |
18771 |
-} |
18772 |
- |
18773 |
-pkg_postrm() { |
18774 |
- xdg_desktop_database_update |
18775 |
-} |
18776 |
|
18777 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.12.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.12.ebuild |
18778 |
deleted file mode 100644 |
18779 |
index 49079cc..0000000 |
18780 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.12.ebuild |
18781 |
+++ /dev/null |
18782 |
@@ -1,532 +0,0 @@ |
18783 |
-# Copyright 1999-2018 Gentoo Foundation |
18784 |
-# Distributed under the terms of the GNU General Public License v2 |
18785 |
- |
18786 |
-EAPI=6 |
18787 |
- |
18788 |
-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" |
18789 |
-PLOCALE_BACKUP="en" |
18790 |
- |
18791 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
18792 |
- |
18793 |
-MY_PN="${PN%%-*}" |
18794 |
-MY_P="${MY_PN}-${PV}" |
18795 |
- |
18796 |
-if [[ ${PV} == "9999" ]] ; then |
18797 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
18798 |
- EGIT_BRANCH="master" |
18799 |
- inherit git-r3 |
18800 |
- SRC_URI="" |
18801 |
- #KEYWORDS="" |
18802 |
-else |
18803 |
- MAJOR_V=$(ver_cut 1) |
18804 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
18805 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
18806 |
-fi |
18807 |
-S="${WORKDIR}/${MY_P}" |
18808 |
- |
18809 |
-GWP_V="20180120" |
18810 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
18811 |
- |
18812 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
18813 |
-HOMEPAGE="https://www.winehq.org/" |
18814 |
-SRC_URI="${SRC_URI} |
18815 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
18816 |
-" |
18817 |
- |
18818 |
-LICENSE="LGPL-2.1" |
18819 |
-SLOT="${PV}" |
18820 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
18821 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
18822 |
- X? ( truetype ) |
18823 |
- elibc_glibc? ( threads ) |
18824 |
- osmesa? ( opengl ) |
18825 |
- test? ( abi_x86_32 ) |
18826 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
18827 |
- |
18828 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
18829 |
-# or fail due to Xvfb's opengl limitations. |
18830 |
-RESTRICT="test" |
18831 |
- |
18832 |
-COMMON_DEPEND=" |
18833 |
- X? ( |
18834 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
18835 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
18836 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
18837 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
18838 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
18839 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
18840 |
- ) |
18841 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
18842 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
18843 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
18844 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
18845 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
18846 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
18847 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
18848 |
- gstreamer? ( |
18849 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
18850 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
18851 |
- ) |
18852 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
18853 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
18854 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
18855 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
18856 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
18857 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
18858 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
18859 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
18860 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
18861 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
18862 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
18863 |
- opengl? ( |
18864 |
- virtual/glu[${MULTILIB_USEDEP}] |
18865 |
- virtual/opengl[${MULTILIB_USEDEP}] |
18866 |
- ) |
18867 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
18868 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
18869 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
18870 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
18871 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
18872 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
18873 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
18874 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
18875 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
18876 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
18877 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
18878 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
18879 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
18880 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
18881 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
18882 |
- xml? ( |
18883 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
18884 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
18885 |
- )" |
18886 |
- |
18887 |
-RDEPEND="${COMMON_DEPEND} |
18888 |
- app-emulation/wine-desktop-common |
18889 |
- >app-eselect/eselect-wine-0.3 |
18890 |
- !app-emulation/wine:0 |
18891 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
18892 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
18893 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
18894 |
- perl? ( |
18895 |
- dev-lang/perl |
18896 |
- dev-perl/XML-Simple |
18897 |
- ) |
18898 |
- pulseaudio? ( |
18899 |
- realtime? ( sys-auth/rtkit ) |
18900 |
- ) |
18901 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
18902 |
- selinux? ( sec-policy/selinux-wine ) |
18903 |
- udisks? ( sys-fs/udisks:2 )" |
18904 |
- |
18905 |
-# tools/make_requests requires perl |
18906 |
-DEPEND="${COMMON_DEPEND} |
18907 |
- sys-devel/flex |
18908 |
- >=sys-kernel/linux-headers-2.6 |
18909 |
- virtual/pkgconfig |
18910 |
- virtual/yacc |
18911 |
- X? ( x11-base/xorg-proto ) |
18912 |
- prelink? ( sys-devel/prelink ) |
18913 |
- xinerama? ( x11-base/xorg-proto )" |
18914 |
- |
18915 |
-# These use a non-standard "Wine" category, which is provided by |
18916 |
-# /etc/xdg/applications-merged/wine.menu |
18917 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
18918 |
-usr/share/applications/wine-notepad.desktop |
18919 |
-usr/share/applications/wine-uninstaller.desktop |
18920 |
-usr/share/applications/wine-winecfg.desktop" |
18921 |
- |
18922 |
-PATCHES=( |
18923 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
18924 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
18925 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
18926 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
18927 |
-) |
18928 |
-PATCHES_BIN=() |
18929 |
- |
18930 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
18931 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
18932 |
- DEPEND+=" dev-util/patchbin" |
18933 |
-fi |
18934 |
- |
18935 |
-wine_compiler_check() { |
18936 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
18937 |
- |
18938 |
- # GCC-specific bugs |
18939 |
- if tc-is-gcc; then |
18940 |
- # bug #549768 |
18941 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
18942 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
18943 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
18944 |
- # Run in subshell to prevent "Aborted" message |
18945 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
18946 |
- if ! eend $?; then |
18947 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
18948 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
18949 |
- eerror "or use gcc-config to select a different compiler version." |
18950 |
- eerror "See https://bugs.gentoo.org/549768" |
18951 |
- eerror |
18952 |
- return 1 |
18953 |
- fi |
18954 |
- fi |
18955 |
- # bug #574044 |
18956 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
18957 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
18958 |
- # Compile in subshell to prevent "Aborted" message |
18959 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
18960 |
- if ! eend $?; then |
18961 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
18962 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
18963 |
- eerror "or use gcc-config to select a different compiler version." |
18964 |
- eerror "See https://bugs.gentoo.org/574044" |
18965 |
- eerror |
18966 |
- return 1 |
18967 |
- fi |
18968 |
- fi |
18969 |
- fi |
18970 |
- |
18971 |
- # Ensure compiler support |
18972 |
- if use abi_x86_64; then |
18973 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
18974 |
- # Compile in subshell to prevent "Aborted" message |
18975 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
18976 |
- if ! eend $?; then |
18977 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
18978 |
- eerror |
18979 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
18980 |
- eerror |
18981 |
- return 1 |
18982 |
- fi |
18983 |
- fi |
18984 |
-} |
18985 |
- |
18986 |
-wine_build_environment_check() { |
18987 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
18988 |
- |
18989 |
- if use abi_x86_64; then |
18990 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
18991 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
18992 |
- die |
18993 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
18994 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
18995 |
- die |
18996 |
- fi |
18997 |
- fi |
18998 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
18999 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
19000 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
19001 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
19002 |
- fi |
19003 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
19004 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
19005 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
19006 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
19007 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
19008 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
19009 |
- fi |
19010 |
- fi |
19011 |
- |
19012 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
19013 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
19014 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
19015 |
- eerror |
19016 |
- return 1 |
19017 |
- fi |
19018 |
-} |
19019 |
- |
19020 |
-wine_env_vcs_vars() { |
19021 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
19022 |
- local pn_live_val="${pn_live_var}" |
19023 |
- eval pn_live_val='$'${pn_live_val} |
19024 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
19025 |
- eerror "Commits must now be specified using the environmental variables" |
19026 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
19027 |
- eerror |
19028 |
- return 1 |
19029 |
- fi |
19030 |
-} |
19031 |
- |
19032 |
-pkg_pretend() { |
19033 |
- wine_build_environment_check || die |
19034 |
- |
19035 |
- # Verify OSS support |
19036 |
- if use oss && ! use kernel_FreeBSD; then |
19037 |
- if ! has_version ">=media-sound/oss-4"; then |
19038 |
- eerror "You cannot build wine with USE=oss without having support from a" |
19039 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
19040 |
- eerror |
19041 |
- die |
19042 |
- fi |
19043 |
- fi |
19044 |
-} |
19045 |
- |
19046 |
-pkg_setup() { |
19047 |
- wine_build_environment_check || die |
19048 |
- wine_env_vcs_vars || die |
19049 |
- |
19050 |
- WINE_VARIANT="${PN#wine}-${PV}" |
19051 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
19052 |
- |
19053 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
19054 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
19055 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
19056 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
19057 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
19058 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
19059 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
19060 |
- MY_MANDIR="${MY_DATADIR}/man" |
19061 |
-} |
19062 |
- |
19063 |
-src_unpack() { |
19064 |
- if [[ ${PV} == "9999" ]] ; then |
19065 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
19066 |
- fi |
19067 |
- |
19068 |
- default |
19069 |
- |
19070 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
19071 |
-} |
19072 |
- |
19073 |
-src_prepare() { |
19074 |
- |
19075 |
- eapply_bin(){ |
19076 |
- local patch |
19077 |
- for patch in ${PATCHES_BIN[@]}; do |
19078 |
- patchbin --nogit < "${patch}" || die |
19079 |
- done |
19080 |
- } |
19081 |
- |
19082 |
- local md5="$(md5sum server/protocol.def)" |
19083 |
- |
19084 |
- default |
19085 |
- eapply_bin |
19086 |
- eautoreconf |
19087 |
- |
19088 |
- # Modification of the server protocol requires regenerating the server requests |
19089 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
19090 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
19091 |
- tools/make_requests || die #432348 |
19092 |
- fi |
19093 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
19094 |
- if ! use run-exes; then |
19095 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
19096 |
- fi |
19097 |
- |
19098 |
- # Edit wine.desktop to work for specific variant |
19099 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
19100 |
- |
19101 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
19102 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
19103 |
- |
19104 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
19105 |
- |
19106 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
19107 |
- |
19108 |
- # Duplicate manpages input files for wine64 |
19109 |
- local f |
19110 |
- for f in loader/*.man.in; do |
19111 |
- cp ${f} ${f/wine/wine64} || die |
19112 |
- done |
19113 |
- # Add wine64 manpages to Makefile |
19114 |
- if use abi_x86_64; then |
19115 |
- sed -i "/wine.man.in/i \ |
19116 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
19117 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
19118 |
-\164\2/' loader/Makefile.in || die |
19119 |
- fi |
19120 |
- |
19121 |
- rm_man_file(){ |
19122 |
- local file="${1}" |
19123 |
- loc=${2} |
19124 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
19125 |
- } |
19126 |
- |
19127 |
- while read f; do |
19128 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
19129 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
19130 |
-} |
19131 |
- |
19132 |
-src_configure() { |
19133 |
- wine_compiler_check || die |
19134 |
- |
19135 |
- export LDCONFIG=/bin/true |
19136 |
- use custom-cflags || strip-flags |
19137 |
- |
19138 |
- multilib-minimal_src_configure |
19139 |
-} |
19140 |
- |
19141 |
-multilib_src_configure() { |
19142 |
- local myconf=( |
19143 |
- --prefix="${MY_PREFIX}" |
19144 |
- --datarootdir="${MY_DATAROOTDIR}" |
19145 |
- --datadir="${MY_DATADIR}" |
19146 |
- --docdir="${MY_DOCDIR}" |
19147 |
- --includedir="${MY_INCLUDEDIR}" |
19148 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
19149 |
- --libexecdir="${MY_LIBEXECDIR}" |
19150 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
19151 |
- --mandir="${MY_MANDIR}" |
19152 |
- --sysconfdir=/etc/wine |
19153 |
- $(use_with alsa) |
19154 |
- $(use_with capi) |
19155 |
- $(use_with lcms cms) |
19156 |
- $(use_with cups) |
19157 |
- $(use_with ncurses curses) |
19158 |
- $(use_with udisks dbus) |
19159 |
- $(use_with fontconfig) |
19160 |
- $(use_with ssl gnutls) |
19161 |
- $(use_enable gecko mshtml) |
19162 |
- $(use_with gphoto2 gphoto) |
19163 |
- $(use_with gsm) |
19164 |
- $(use_with gssapi) |
19165 |
- $(use_with gstreamer) |
19166 |
- --without-hal |
19167 |
- $(use_with jpeg) |
19168 |
- $(use_with kerberos krb5) |
19169 |
- $(use_with ldap) |
19170 |
- $(use_enable mono mscoree) |
19171 |
- $(use_with mp3 mpg123) |
19172 |
- $(use_with netapi) |
19173 |
- $(use_with nls gettext) |
19174 |
- $(use_with openal) |
19175 |
- $(use_with opencl) |
19176 |
- $(use_with opengl) |
19177 |
- $(use_with osmesa) |
19178 |
- $(use_with oss) |
19179 |
- $(use_with pcap) |
19180 |
- $(use_with png) |
19181 |
- $(use_with pulseaudio pulse) |
19182 |
- $(use_with threads pthread) |
19183 |
- $(use_with scanner sane) |
19184 |
- $(use_with sdl) |
19185 |
- $(use_enable test tests) |
19186 |
- $(use_with truetype freetype) |
19187 |
- $(use_with udev) |
19188 |
- $(use_with v4l) |
19189 |
- $(use_with vkd3d) |
19190 |
- $(use_with vulkan) |
19191 |
- $(use_with X x) |
19192 |
- $(use_with X xfixes) |
19193 |
- $(use_with xcomposite) |
19194 |
- $(use_with xinerama) |
19195 |
- $(use_with xml) |
19196 |
- $(use_with xml xslt) |
19197 |
- ) |
19198 |
- |
19199 |
- local PKG_CONFIG AR RANLIB |
19200 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
19201 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
19202 |
- tc-export PKG_CONFIG AR RANLIB |
19203 |
- |
19204 |
- if use amd64; then |
19205 |
- if [[ ${ABI} == amd64 ]]; then |
19206 |
- myconf+=( --enable-win64 ) |
19207 |
- else |
19208 |
- myconf+=( --disable-win64 ) |
19209 |
- fi |
19210 |
- |
19211 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
19212 |
- # CC/LD hackery. We're using separate tools instead. |
19213 |
- fi |
19214 |
- |
19215 |
- ECONF_SOURCE=${S} \ |
19216 |
- econf "${myconf[@]}" |
19217 |
- emake depend |
19218 |
-} |
19219 |
- |
19220 |
-multilib_src_test() { |
19221 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
19222 |
- if [[ ${ABI} == x86 ]]; then |
19223 |
- if [[ $(id -u) == 0 ]]; then |
19224 |
- ewarn "Skipping tests since they cannot be run under the root user." |
19225 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
19226 |
- return |
19227 |
- fi |
19228 |
- |
19229 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
19230 |
- Xemake test |
19231 |
- fi |
19232 |
-} |
19233 |
- |
19234 |
-multilib_src_install_all() { |
19235 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
19236 |
- add_locale_docs() { |
19237 |
- local locale_doc="documentation/README.$1" |
19238 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
19239 |
- } |
19240 |
- l10n_for_each_locale_do add_locale_docs |
19241 |
- |
19242 |
- einstalldocs |
19243 |
- prune_libtool_files --all |
19244 |
- |
19245 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
19246 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
19247 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
19248 |
- fi |
19249 |
- |
19250 |
- # Remove wineconsole if neither backend is installed #551124 |
19251 |
- if ! use X && ! use ncurses; then |
19252 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
19253 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
19254 |
- rm_wineconsole() { |
19255 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
19256 |
- } |
19257 |
- multilib_foreach_abi rm_wineconsole |
19258 |
- fi |
19259 |
- |
19260 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
19261 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
19262 |
- |
19263 |
- if use abi_x86_64 && ! use abi_x86_32; then |
19264 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
19265 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
19266 |
- fi |
19267 |
- |
19268 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
19269 |
- eshopts_push -s failglob #615218 |
19270 |
- # Make wrappers for binaries for handling multiple variants |
19271 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
19272 |
- local b |
19273 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
19274 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
19275 |
- done |
19276 |
- eshopts_pop |
19277 |
-} |
19278 |
- |
19279 |
-pkg_postinst() { |
19280 |
- eselect wine register ${P} |
19281 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
19282 |
- eselect wine register --vanilla ${P} || die |
19283 |
- fi |
19284 |
- |
19285 |
- eselect wine update --all --if-unset || die |
19286 |
- |
19287 |
- xdg_desktop_database_update |
19288 |
- |
19289 |
- if ! use gecko; then |
19290 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
19291 |
- ewarn "implementation of iexplore. Many older windows applications" |
19292 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
19293 |
- ewarn "you will likely need to install an external one, like via winetricks" |
19294 |
- fi |
19295 |
- if ! use mono; then |
19296 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
19297 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
19298 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
19299 |
- ewarn "to install an external one, like via winetricks" |
19300 |
- fi |
19301 |
-} |
19302 |
- |
19303 |
-pkg_prerm() { |
19304 |
- eselect wine deregister ${P} |
19305 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
19306 |
- eselect wine deregister --vanilla ${P} || die |
19307 |
- fi |
19308 |
- |
19309 |
- eselect wine update --all --if-unset || die |
19310 |
-} |
19311 |
- |
19312 |
-pkg_postrm() { |
19313 |
- xdg_desktop_database_update |
19314 |
-} |
19315 |
|
19316 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.13-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.13-r1.ebuild |
19317 |
deleted file mode 100644 |
19318 |
index ffbae03..0000000 |
19319 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.13-r1.ebuild |
19320 |
+++ /dev/null |
19321 |
@@ -1,532 +0,0 @@ |
19322 |
-# Copyright 1999-2018 Gentoo Foundation |
19323 |
-# Distributed under the terms of the GNU General Public License v2 |
19324 |
- |
19325 |
-EAPI=6 |
19326 |
- |
19327 |
-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" |
19328 |
-PLOCALE_BACKUP="en" |
19329 |
- |
19330 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
19331 |
- |
19332 |
-MY_PN="${PN%%-*}" |
19333 |
-MY_P="${MY_PN}-${PV}" |
19334 |
- |
19335 |
-if [[ ${PV} == "9999" ]] ; then |
19336 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
19337 |
- EGIT_BRANCH="master" |
19338 |
- inherit git-r3 |
19339 |
- SRC_URI="" |
19340 |
- #KEYWORDS="" |
19341 |
-else |
19342 |
- MAJOR_V=$(ver_cut 1) |
19343 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
19344 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
19345 |
-fi |
19346 |
-S="${WORKDIR}/${MY_P}" |
19347 |
- |
19348 |
-GWP_V="20180120" |
19349 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
19350 |
- |
19351 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
19352 |
-HOMEPAGE="https://www.winehq.org/" |
19353 |
-SRC_URI="${SRC_URI} |
19354 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
19355 |
-" |
19356 |
- |
19357 |
-LICENSE="LGPL-2.1" |
19358 |
-SLOT="${PV}" |
19359 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
19360 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
19361 |
- X? ( truetype ) |
19362 |
- elibc_glibc? ( threads ) |
19363 |
- osmesa? ( opengl ) |
19364 |
- test? ( abi_x86_32 ) |
19365 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
19366 |
- |
19367 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
19368 |
-# or fail due to Xvfb's opengl limitations. |
19369 |
-RESTRICT="test" |
19370 |
- |
19371 |
-COMMON_DEPEND=" |
19372 |
- X? ( |
19373 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
19374 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
19375 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
19376 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
19377 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
19378 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
19379 |
- ) |
19380 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
19381 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
19382 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
19383 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
19384 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
19385 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
19386 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
19387 |
- gstreamer? ( |
19388 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
19389 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
19390 |
- ) |
19391 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
19392 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
19393 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
19394 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
19395 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
19396 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
19397 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
19398 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
19399 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
19400 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
19401 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
19402 |
- opengl? ( |
19403 |
- virtual/glu[${MULTILIB_USEDEP}] |
19404 |
- virtual/opengl[${MULTILIB_USEDEP}] |
19405 |
- ) |
19406 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
19407 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
19408 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
19409 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
19410 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
19411 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
19412 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
19413 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
19414 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
19415 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
19416 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
19417 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
19418 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
19419 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
19420 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
19421 |
- xml? ( |
19422 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
19423 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
19424 |
- )" |
19425 |
- |
19426 |
-RDEPEND="${COMMON_DEPEND} |
19427 |
- app-emulation/wine-desktop-common |
19428 |
- >app-eselect/eselect-wine-0.3 |
19429 |
- !app-emulation/wine:0 |
19430 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
19431 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
19432 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
19433 |
- perl? ( |
19434 |
- dev-lang/perl |
19435 |
- dev-perl/XML-Simple |
19436 |
- ) |
19437 |
- pulseaudio? ( |
19438 |
- realtime? ( sys-auth/rtkit ) |
19439 |
- ) |
19440 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
19441 |
- selinux? ( sec-policy/selinux-wine ) |
19442 |
- udisks? ( sys-fs/udisks:2 )" |
19443 |
- |
19444 |
-# tools/make_requests requires perl |
19445 |
-DEPEND="${COMMON_DEPEND} |
19446 |
- sys-devel/flex |
19447 |
- >=sys-kernel/linux-headers-2.6 |
19448 |
- virtual/pkgconfig |
19449 |
- virtual/yacc |
19450 |
- X? ( x11-base/xorg-proto ) |
19451 |
- prelink? ( sys-devel/prelink ) |
19452 |
- xinerama? ( x11-base/xorg-proto )" |
19453 |
- |
19454 |
-# These use a non-standard "Wine" category, which is provided by |
19455 |
-# /etc/xdg/applications-merged/wine.menu |
19456 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
19457 |
-usr/share/applications/wine-notepad.desktop |
19458 |
-usr/share/applications/wine-uninstaller.desktop |
19459 |
-usr/share/applications/wine-winecfg.desktop" |
19460 |
- |
19461 |
-PATCHES=( |
19462 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
19463 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
19464 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
19465 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
19466 |
-) |
19467 |
-PATCHES_BIN=() |
19468 |
- |
19469 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
19470 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
19471 |
- DEPEND+=" dev-util/patchbin" |
19472 |
-fi |
19473 |
- |
19474 |
-wine_compiler_check() { |
19475 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
19476 |
- |
19477 |
- # GCC-specific bugs |
19478 |
- if tc-is-gcc; then |
19479 |
- # bug #549768 |
19480 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
19481 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
19482 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
19483 |
- # Run in subshell to prevent "Aborted" message |
19484 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
19485 |
- if ! eend $?; then |
19486 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
19487 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
19488 |
- eerror "or use gcc-config to select a different compiler version." |
19489 |
- eerror "See https://bugs.gentoo.org/549768" |
19490 |
- eerror |
19491 |
- return 1 |
19492 |
- fi |
19493 |
- fi |
19494 |
- # bug #574044 |
19495 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
19496 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
19497 |
- # Compile in subshell to prevent "Aborted" message |
19498 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
19499 |
- if ! eend $?; then |
19500 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
19501 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
19502 |
- eerror "or use gcc-config to select a different compiler version." |
19503 |
- eerror "See https://bugs.gentoo.org/574044" |
19504 |
- eerror |
19505 |
- return 1 |
19506 |
- fi |
19507 |
- fi |
19508 |
- fi |
19509 |
- |
19510 |
- # Ensure compiler support |
19511 |
- if use abi_x86_64; then |
19512 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
19513 |
- # Compile in subshell to prevent "Aborted" message |
19514 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
19515 |
- if ! eend $?; then |
19516 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
19517 |
- eerror |
19518 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
19519 |
- eerror |
19520 |
- return 1 |
19521 |
- fi |
19522 |
- fi |
19523 |
-} |
19524 |
- |
19525 |
-wine_build_environment_check() { |
19526 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
19527 |
- |
19528 |
- if use abi_x86_64; then |
19529 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
19530 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
19531 |
- die |
19532 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
19533 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
19534 |
- die |
19535 |
- fi |
19536 |
- fi |
19537 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
19538 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
19539 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
19540 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
19541 |
- fi |
19542 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
19543 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
19544 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
19545 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
19546 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
19547 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
19548 |
- fi |
19549 |
- fi |
19550 |
- |
19551 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
19552 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
19553 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
19554 |
- eerror |
19555 |
- return 1 |
19556 |
- fi |
19557 |
-} |
19558 |
- |
19559 |
-wine_env_vcs_vars() { |
19560 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
19561 |
- local pn_live_val="${pn_live_var}" |
19562 |
- eval pn_live_val='$'${pn_live_val} |
19563 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
19564 |
- eerror "Commits must now be specified using the environmental variables" |
19565 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
19566 |
- eerror |
19567 |
- return 1 |
19568 |
- fi |
19569 |
-} |
19570 |
- |
19571 |
-pkg_pretend() { |
19572 |
- wine_build_environment_check || die |
19573 |
- |
19574 |
- # Verify OSS support |
19575 |
- if use oss && ! use kernel_FreeBSD; then |
19576 |
- if ! has_version ">=media-sound/oss-4"; then |
19577 |
- eerror "You cannot build wine with USE=oss without having support from a" |
19578 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
19579 |
- eerror |
19580 |
- die |
19581 |
- fi |
19582 |
- fi |
19583 |
-} |
19584 |
- |
19585 |
-pkg_setup() { |
19586 |
- wine_build_environment_check || die |
19587 |
- wine_env_vcs_vars || die |
19588 |
- |
19589 |
- WINE_VARIANT="${PN#wine}-${PV}" |
19590 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
19591 |
- |
19592 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
19593 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
19594 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
19595 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
19596 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
19597 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
19598 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
19599 |
- MY_MANDIR="${MY_DATADIR}/man" |
19600 |
-} |
19601 |
- |
19602 |
-src_unpack() { |
19603 |
- if [[ ${PV} == "9999" ]] ; then |
19604 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
19605 |
- fi |
19606 |
- |
19607 |
- default |
19608 |
- |
19609 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
19610 |
-} |
19611 |
- |
19612 |
-src_prepare() { |
19613 |
- |
19614 |
- eapply_bin(){ |
19615 |
- local patch |
19616 |
- for patch in ${PATCHES_BIN[@]}; do |
19617 |
- patchbin --nogit < "${patch}" || die |
19618 |
- done |
19619 |
- } |
19620 |
- |
19621 |
- local md5="$(md5sum server/protocol.def)" |
19622 |
- |
19623 |
- default |
19624 |
- eapply_bin |
19625 |
- eautoreconf |
19626 |
- |
19627 |
- # Modification of the server protocol requires regenerating the server requests |
19628 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
19629 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
19630 |
- tools/make_requests || die #432348 |
19631 |
- fi |
19632 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
19633 |
- if ! use run-exes; then |
19634 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
19635 |
- fi |
19636 |
- |
19637 |
- # Edit wine.desktop to work for specific variant |
19638 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
19639 |
- |
19640 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
19641 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
19642 |
- |
19643 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
19644 |
- |
19645 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
19646 |
- |
19647 |
- # Duplicate manpages input files for wine64 |
19648 |
- local f |
19649 |
- for f in loader/*.man.in; do |
19650 |
- cp ${f} ${f/wine/wine64} || die |
19651 |
- done |
19652 |
- # Add wine64 manpages to Makefile |
19653 |
- if use abi_x86_64; then |
19654 |
- sed -i "/wine.man.in/i \ |
19655 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
19656 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
19657 |
-\164\2/' loader/Makefile.in || die |
19658 |
- fi |
19659 |
- |
19660 |
- rm_man_file(){ |
19661 |
- local file="${1}" |
19662 |
- loc=${2} |
19663 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
19664 |
- } |
19665 |
- |
19666 |
- while read f; do |
19667 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
19668 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
19669 |
-} |
19670 |
- |
19671 |
-src_configure() { |
19672 |
- wine_compiler_check || die |
19673 |
- |
19674 |
- export LDCONFIG=/bin/true |
19675 |
- use custom-cflags || strip-flags |
19676 |
- |
19677 |
- multilib-minimal_src_configure |
19678 |
-} |
19679 |
- |
19680 |
-multilib_src_configure() { |
19681 |
- local myconf=( |
19682 |
- --prefix="${MY_PREFIX}" |
19683 |
- --datarootdir="${MY_DATAROOTDIR}" |
19684 |
- --datadir="${MY_DATADIR}" |
19685 |
- --docdir="${MY_DOCDIR}" |
19686 |
- --includedir="${MY_INCLUDEDIR}" |
19687 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
19688 |
- --libexecdir="${MY_LIBEXECDIR}" |
19689 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
19690 |
- --mandir="${MY_MANDIR}" |
19691 |
- --sysconfdir=/etc/wine |
19692 |
- $(use_with alsa) |
19693 |
- $(use_with capi) |
19694 |
- $(use_with lcms cms) |
19695 |
- $(use_with cups) |
19696 |
- $(use_with ncurses curses) |
19697 |
- $(use_with udisks dbus) |
19698 |
- $(use_with fontconfig) |
19699 |
- $(use_with ssl gnutls) |
19700 |
- $(use_enable gecko mshtml) |
19701 |
- $(use_with gphoto2 gphoto) |
19702 |
- $(use_with gsm) |
19703 |
- $(use_with gssapi) |
19704 |
- $(use_with gstreamer) |
19705 |
- --without-hal |
19706 |
- $(use_with jpeg) |
19707 |
- $(use_with kerberos krb5) |
19708 |
- $(use_with ldap) |
19709 |
- $(use_enable mono mscoree) |
19710 |
- $(use_with mp3 mpg123) |
19711 |
- $(use_with netapi) |
19712 |
- $(use_with nls gettext) |
19713 |
- $(use_with openal) |
19714 |
- $(use_with opencl) |
19715 |
- $(use_with opengl) |
19716 |
- $(use_with osmesa) |
19717 |
- $(use_with oss) |
19718 |
- $(use_with pcap) |
19719 |
- $(use_with png) |
19720 |
- $(use_with pulseaudio pulse) |
19721 |
- $(use_with threads pthread) |
19722 |
- $(use_with scanner sane) |
19723 |
- $(use_with sdl) |
19724 |
- $(use_enable test tests) |
19725 |
- $(use_with truetype freetype) |
19726 |
- $(use_with udev) |
19727 |
- $(use_with v4l) |
19728 |
- $(use_with vkd3d) |
19729 |
- $(use_with vulkan) |
19730 |
- $(use_with X x) |
19731 |
- $(use_with X xfixes) |
19732 |
- $(use_with xcomposite) |
19733 |
- $(use_with xinerama) |
19734 |
- $(use_with xml) |
19735 |
- $(use_with xml xslt) |
19736 |
- ) |
19737 |
- |
19738 |
- local PKG_CONFIG AR RANLIB |
19739 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
19740 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
19741 |
- tc-export PKG_CONFIG AR RANLIB |
19742 |
- |
19743 |
- if use amd64; then |
19744 |
- if [[ ${ABI} == amd64 ]]; then |
19745 |
- myconf+=( --enable-win64 ) |
19746 |
- else |
19747 |
- myconf+=( --disable-win64 ) |
19748 |
- fi |
19749 |
- |
19750 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
19751 |
- # CC/LD hackery. We're using separate tools instead. |
19752 |
- fi |
19753 |
- |
19754 |
- ECONF_SOURCE=${S} \ |
19755 |
- econf "${myconf[@]}" |
19756 |
- emake depend |
19757 |
-} |
19758 |
- |
19759 |
-multilib_src_test() { |
19760 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
19761 |
- if [[ ${ABI} == x86 ]]; then |
19762 |
- if [[ $(id -u) == 0 ]]; then |
19763 |
- ewarn "Skipping tests since they cannot be run under the root user." |
19764 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
19765 |
- return |
19766 |
- fi |
19767 |
- |
19768 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
19769 |
- Xemake test |
19770 |
- fi |
19771 |
-} |
19772 |
- |
19773 |
-multilib_src_install_all() { |
19774 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
19775 |
- add_locale_docs() { |
19776 |
- local locale_doc="documentation/README.$1" |
19777 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
19778 |
- } |
19779 |
- l10n_for_each_locale_do add_locale_docs |
19780 |
- |
19781 |
- einstalldocs |
19782 |
- prune_libtool_files --all |
19783 |
- |
19784 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
19785 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
19786 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
19787 |
- fi |
19788 |
- |
19789 |
- # Remove wineconsole if neither backend is installed #551124 |
19790 |
- if ! use X && ! use ncurses; then |
19791 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
19792 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
19793 |
- rm_wineconsole() { |
19794 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
19795 |
- } |
19796 |
- multilib_foreach_abi rm_wineconsole |
19797 |
- fi |
19798 |
- |
19799 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
19800 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
19801 |
- |
19802 |
- if use abi_x86_64 && ! use abi_x86_32; then |
19803 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
19804 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
19805 |
- fi |
19806 |
- |
19807 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
19808 |
- eshopts_push -s failglob #615218 |
19809 |
- # Make wrappers for binaries for handling multiple variants |
19810 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
19811 |
- local b |
19812 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
19813 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
19814 |
- done |
19815 |
- eshopts_pop |
19816 |
-} |
19817 |
- |
19818 |
-pkg_postinst() { |
19819 |
- eselect wine register ${P} |
19820 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
19821 |
- eselect wine register --vanilla ${P} || die |
19822 |
- fi |
19823 |
- |
19824 |
- eselect wine update --all --if-unset || die |
19825 |
- |
19826 |
- xdg_desktop_database_update |
19827 |
- |
19828 |
- if ! use gecko; then |
19829 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
19830 |
- ewarn "implementation of iexplore. Many older windows applications" |
19831 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
19832 |
- ewarn "you will likely need to install an external one, like via winetricks" |
19833 |
- fi |
19834 |
- if ! use mono; then |
19835 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
19836 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
19837 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
19838 |
- ewarn "to install an external one, like via winetricks" |
19839 |
- fi |
19840 |
-} |
19841 |
- |
19842 |
-pkg_prerm() { |
19843 |
- eselect wine deregister ${P} |
19844 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
19845 |
- eselect wine deregister --vanilla ${P} || die |
19846 |
- fi |
19847 |
- |
19848 |
- eselect wine update --all --if-unset || die |
19849 |
-} |
19850 |
- |
19851 |
-pkg_postrm() { |
19852 |
- xdg_desktop_database_update |
19853 |
-} |
19854 |
|
19855 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.13.ebuild |
19856 |
deleted file mode 100644 |
19857 |
index ffbae03..0000000 |
19858 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.13.ebuild |
19859 |
+++ /dev/null |
19860 |
@@ -1,532 +0,0 @@ |
19861 |
-# Copyright 1999-2018 Gentoo Foundation |
19862 |
-# Distributed under the terms of the GNU General Public License v2 |
19863 |
- |
19864 |
-EAPI=6 |
19865 |
- |
19866 |
-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" |
19867 |
-PLOCALE_BACKUP="en" |
19868 |
- |
19869 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
19870 |
- |
19871 |
-MY_PN="${PN%%-*}" |
19872 |
-MY_P="${MY_PN}-${PV}" |
19873 |
- |
19874 |
-if [[ ${PV} == "9999" ]] ; then |
19875 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
19876 |
- EGIT_BRANCH="master" |
19877 |
- inherit git-r3 |
19878 |
- SRC_URI="" |
19879 |
- #KEYWORDS="" |
19880 |
-else |
19881 |
- MAJOR_V=$(ver_cut 1) |
19882 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
19883 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
19884 |
-fi |
19885 |
-S="${WORKDIR}/${MY_P}" |
19886 |
- |
19887 |
-GWP_V="20180120" |
19888 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
19889 |
- |
19890 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
19891 |
-HOMEPAGE="https://www.winehq.org/" |
19892 |
-SRC_URI="${SRC_URI} |
19893 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
19894 |
-" |
19895 |
- |
19896 |
-LICENSE="LGPL-2.1" |
19897 |
-SLOT="${PV}" |
19898 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
19899 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
19900 |
- X? ( truetype ) |
19901 |
- elibc_glibc? ( threads ) |
19902 |
- osmesa? ( opengl ) |
19903 |
- test? ( abi_x86_32 ) |
19904 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
19905 |
- |
19906 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
19907 |
-# or fail due to Xvfb's opengl limitations. |
19908 |
-RESTRICT="test" |
19909 |
- |
19910 |
-COMMON_DEPEND=" |
19911 |
- X? ( |
19912 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
19913 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
19914 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
19915 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
19916 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
19917 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
19918 |
- ) |
19919 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
19920 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
19921 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
19922 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
19923 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
19924 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
19925 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
19926 |
- gstreamer? ( |
19927 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
19928 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
19929 |
- ) |
19930 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
19931 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
19932 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
19933 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
19934 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
19935 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
19936 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
19937 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
19938 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
19939 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
19940 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
19941 |
- opengl? ( |
19942 |
- virtual/glu[${MULTILIB_USEDEP}] |
19943 |
- virtual/opengl[${MULTILIB_USEDEP}] |
19944 |
- ) |
19945 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
19946 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
19947 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
19948 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
19949 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
19950 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
19951 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
19952 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
19953 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
19954 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
19955 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
19956 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
19957 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
19958 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
19959 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
19960 |
- xml? ( |
19961 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
19962 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
19963 |
- )" |
19964 |
- |
19965 |
-RDEPEND="${COMMON_DEPEND} |
19966 |
- app-emulation/wine-desktop-common |
19967 |
- >app-eselect/eselect-wine-0.3 |
19968 |
- !app-emulation/wine:0 |
19969 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
19970 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
19971 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
19972 |
- perl? ( |
19973 |
- dev-lang/perl |
19974 |
- dev-perl/XML-Simple |
19975 |
- ) |
19976 |
- pulseaudio? ( |
19977 |
- realtime? ( sys-auth/rtkit ) |
19978 |
- ) |
19979 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
19980 |
- selinux? ( sec-policy/selinux-wine ) |
19981 |
- udisks? ( sys-fs/udisks:2 )" |
19982 |
- |
19983 |
-# tools/make_requests requires perl |
19984 |
-DEPEND="${COMMON_DEPEND} |
19985 |
- sys-devel/flex |
19986 |
- >=sys-kernel/linux-headers-2.6 |
19987 |
- virtual/pkgconfig |
19988 |
- virtual/yacc |
19989 |
- X? ( x11-base/xorg-proto ) |
19990 |
- prelink? ( sys-devel/prelink ) |
19991 |
- xinerama? ( x11-base/xorg-proto )" |
19992 |
- |
19993 |
-# These use a non-standard "Wine" category, which is provided by |
19994 |
-# /etc/xdg/applications-merged/wine.menu |
19995 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
19996 |
-usr/share/applications/wine-notepad.desktop |
19997 |
-usr/share/applications/wine-uninstaller.desktop |
19998 |
-usr/share/applications/wine-winecfg.desktop" |
19999 |
- |
20000 |
-PATCHES=( |
20001 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
20002 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
20003 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
20004 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
20005 |
-) |
20006 |
-PATCHES_BIN=() |
20007 |
- |
20008 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
20009 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
20010 |
- DEPEND+=" dev-util/patchbin" |
20011 |
-fi |
20012 |
- |
20013 |
-wine_compiler_check() { |
20014 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
20015 |
- |
20016 |
- # GCC-specific bugs |
20017 |
- if tc-is-gcc; then |
20018 |
- # bug #549768 |
20019 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
20020 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
20021 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
20022 |
- # Run in subshell to prevent "Aborted" message |
20023 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
20024 |
- if ! eend $?; then |
20025 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
20026 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
20027 |
- eerror "or use gcc-config to select a different compiler version." |
20028 |
- eerror "See https://bugs.gentoo.org/549768" |
20029 |
- eerror |
20030 |
- return 1 |
20031 |
- fi |
20032 |
- fi |
20033 |
- # bug #574044 |
20034 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
20035 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
20036 |
- # Compile in subshell to prevent "Aborted" message |
20037 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
20038 |
- if ! eend $?; then |
20039 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
20040 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
20041 |
- eerror "or use gcc-config to select a different compiler version." |
20042 |
- eerror "See https://bugs.gentoo.org/574044" |
20043 |
- eerror |
20044 |
- return 1 |
20045 |
- fi |
20046 |
- fi |
20047 |
- fi |
20048 |
- |
20049 |
- # Ensure compiler support |
20050 |
- if use abi_x86_64; then |
20051 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
20052 |
- # Compile in subshell to prevent "Aborted" message |
20053 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
20054 |
- if ! eend $?; then |
20055 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
20056 |
- eerror |
20057 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
20058 |
- eerror |
20059 |
- return 1 |
20060 |
- fi |
20061 |
- fi |
20062 |
-} |
20063 |
- |
20064 |
-wine_build_environment_check() { |
20065 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
20066 |
- |
20067 |
- if use abi_x86_64; then |
20068 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
20069 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
20070 |
- die |
20071 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
20072 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
20073 |
- die |
20074 |
- fi |
20075 |
- fi |
20076 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
20077 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
20078 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
20079 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
20080 |
- fi |
20081 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
20082 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
20083 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
20084 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
20085 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
20086 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
20087 |
- fi |
20088 |
- fi |
20089 |
- |
20090 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
20091 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
20092 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
20093 |
- eerror |
20094 |
- return 1 |
20095 |
- fi |
20096 |
-} |
20097 |
- |
20098 |
-wine_env_vcs_vars() { |
20099 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
20100 |
- local pn_live_val="${pn_live_var}" |
20101 |
- eval pn_live_val='$'${pn_live_val} |
20102 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
20103 |
- eerror "Commits must now be specified using the environmental variables" |
20104 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
20105 |
- eerror |
20106 |
- return 1 |
20107 |
- fi |
20108 |
-} |
20109 |
- |
20110 |
-pkg_pretend() { |
20111 |
- wine_build_environment_check || die |
20112 |
- |
20113 |
- # Verify OSS support |
20114 |
- if use oss && ! use kernel_FreeBSD; then |
20115 |
- if ! has_version ">=media-sound/oss-4"; then |
20116 |
- eerror "You cannot build wine with USE=oss without having support from a" |
20117 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
20118 |
- eerror |
20119 |
- die |
20120 |
- fi |
20121 |
- fi |
20122 |
-} |
20123 |
- |
20124 |
-pkg_setup() { |
20125 |
- wine_build_environment_check || die |
20126 |
- wine_env_vcs_vars || die |
20127 |
- |
20128 |
- WINE_VARIANT="${PN#wine}-${PV}" |
20129 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
20130 |
- |
20131 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
20132 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
20133 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
20134 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
20135 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
20136 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
20137 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
20138 |
- MY_MANDIR="${MY_DATADIR}/man" |
20139 |
-} |
20140 |
- |
20141 |
-src_unpack() { |
20142 |
- if [[ ${PV} == "9999" ]] ; then |
20143 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
20144 |
- fi |
20145 |
- |
20146 |
- default |
20147 |
- |
20148 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
20149 |
-} |
20150 |
- |
20151 |
-src_prepare() { |
20152 |
- |
20153 |
- eapply_bin(){ |
20154 |
- local patch |
20155 |
- for patch in ${PATCHES_BIN[@]}; do |
20156 |
- patchbin --nogit < "${patch}" || die |
20157 |
- done |
20158 |
- } |
20159 |
- |
20160 |
- local md5="$(md5sum server/protocol.def)" |
20161 |
- |
20162 |
- default |
20163 |
- eapply_bin |
20164 |
- eautoreconf |
20165 |
- |
20166 |
- # Modification of the server protocol requires regenerating the server requests |
20167 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
20168 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
20169 |
- tools/make_requests || die #432348 |
20170 |
- fi |
20171 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
20172 |
- if ! use run-exes; then |
20173 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
20174 |
- fi |
20175 |
- |
20176 |
- # Edit wine.desktop to work for specific variant |
20177 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
20178 |
- |
20179 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
20180 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
20181 |
- |
20182 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
20183 |
- |
20184 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
20185 |
- |
20186 |
- # Duplicate manpages input files for wine64 |
20187 |
- local f |
20188 |
- for f in loader/*.man.in; do |
20189 |
- cp ${f} ${f/wine/wine64} || die |
20190 |
- done |
20191 |
- # Add wine64 manpages to Makefile |
20192 |
- if use abi_x86_64; then |
20193 |
- sed -i "/wine.man.in/i \ |
20194 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
20195 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
20196 |
-\164\2/' loader/Makefile.in || die |
20197 |
- fi |
20198 |
- |
20199 |
- rm_man_file(){ |
20200 |
- local file="${1}" |
20201 |
- loc=${2} |
20202 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
20203 |
- } |
20204 |
- |
20205 |
- while read f; do |
20206 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
20207 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
20208 |
-} |
20209 |
- |
20210 |
-src_configure() { |
20211 |
- wine_compiler_check || die |
20212 |
- |
20213 |
- export LDCONFIG=/bin/true |
20214 |
- use custom-cflags || strip-flags |
20215 |
- |
20216 |
- multilib-minimal_src_configure |
20217 |
-} |
20218 |
- |
20219 |
-multilib_src_configure() { |
20220 |
- local myconf=( |
20221 |
- --prefix="${MY_PREFIX}" |
20222 |
- --datarootdir="${MY_DATAROOTDIR}" |
20223 |
- --datadir="${MY_DATADIR}" |
20224 |
- --docdir="${MY_DOCDIR}" |
20225 |
- --includedir="${MY_INCLUDEDIR}" |
20226 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
20227 |
- --libexecdir="${MY_LIBEXECDIR}" |
20228 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
20229 |
- --mandir="${MY_MANDIR}" |
20230 |
- --sysconfdir=/etc/wine |
20231 |
- $(use_with alsa) |
20232 |
- $(use_with capi) |
20233 |
- $(use_with lcms cms) |
20234 |
- $(use_with cups) |
20235 |
- $(use_with ncurses curses) |
20236 |
- $(use_with udisks dbus) |
20237 |
- $(use_with fontconfig) |
20238 |
- $(use_with ssl gnutls) |
20239 |
- $(use_enable gecko mshtml) |
20240 |
- $(use_with gphoto2 gphoto) |
20241 |
- $(use_with gsm) |
20242 |
- $(use_with gssapi) |
20243 |
- $(use_with gstreamer) |
20244 |
- --without-hal |
20245 |
- $(use_with jpeg) |
20246 |
- $(use_with kerberos krb5) |
20247 |
- $(use_with ldap) |
20248 |
- $(use_enable mono mscoree) |
20249 |
- $(use_with mp3 mpg123) |
20250 |
- $(use_with netapi) |
20251 |
- $(use_with nls gettext) |
20252 |
- $(use_with openal) |
20253 |
- $(use_with opencl) |
20254 |
- $(use_with opengl) |
20255 |
- $(use_with osmesa) |
20256 |
- $(use_with oss) |
20257 |
- $(use_with pcap) |
20258 |
- $(use_with png) |
20259 |
- $(use_with pulseaudio pulse) |
20260 |
- $(use_with threads pthread) |
20261 |
- $(use_with scanner sane) |
20262 |
- $(use_with sdl) |
20263 |
- $(use_enable test tests) |
20264 |
- $(use_with truetype freetype) |
20265 |
- $(use_with udev) |
20266 |
- $(use_with v4l) |
20267 |
- $(use_with vkd3d) |
20268 |
- $(use_with vulkan) |
20269 |
- $(use_with X x) |
20270 |
- $(use_with X xfixes) |
20271 |
- $(use_with xcomposite) |
20272 |
- $(use_with xinerama) |
20273 |
- $(use_with xml) |
20274 |
- $(use_with xml xslt) |
20275 |
- ) |
20276 |
- |
20277 |
- local PKG_CONFIG AR RANLIB |
20278 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
20279 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
20280 |
- tc-export PKG_CONFIG AR RANLIB |
20281 |
- |
20282 |
- if use amd64; then |
20283 |
- if [[ ${ABI} == amd64 ]]; then |
20284 |
- myconf+=( --enable-win64 ) |
20285 |
- else |
20286 |
- myconf+=( --disable-win64 ) |
20287 |
- fi |
20288 |
- |
20289 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
20290 |
- # CC/LD hackery. We're using separate tools instead. |
20291 |
- fi |
20292 |
- |
20293 |
- ECONF_SOURCE=${S} \ |
20294 |
- econf "${myconf[@]}" |
20295 |
- emake depend |
20296 |
-} |
20297 |
- |
20298 |
-multilib_src_test() { |
20299 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
20300 |
- if [[ ${ABI} == x86 ]]; then |
20301 |
- if [[ $(id -u) == 0 ]]; then |
20302 |
- ewarn "Skipping tests since they cannot be run under the root user." |
20303 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
20304 |
- return |
20305 |
- fi |
20306 |
- |
20307 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
20308 |
- Xemake test |
20309 |
- fi |
20310 |
-} |
20311 |
- |
20312 |
-multilib_src_install_all() { |
20313 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
20314 |
- add_locale_docs() { |
20315 |
- local locale_doc="documentation/README.$1" |
20316 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
20317 |
- } |
20318 |
- l10n_for_each_locale_do add_locale_docs |
20319 |
- |
20320 |
- einstalldocs |
20321 |
- prune_libtool_files --all |
20322 |
- |
20323 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
20324 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
20325 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
20326 |
- fi |
20327 |
- |
20328 |
- # Remove wineconsole if neither backend is installed #551124 |
20329 |
- if ! use X && ! use ncurses; then |
20330 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
20331 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
20332 |
- rm_wineconsole() { |
20333 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
20334 |
- } |
20335 |
- multilib_foreach_abi rm_wineconsole |
20336 |
- fi |
20337 |
- |
20338 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
20339 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
20340 |
- |
20341 |
- if use abi_x86_64 && ! use abi_x86_32; then |
20342 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
20343 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
20344 |
- fi |
20345 |
- |
20346 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
20347 |
- eshopts_push -s failglob #615218 |
20348 |
- # Make wrappers for binaries for handling multiple variants |
20349 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
20350 |
- local b |
20351 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
20352 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
20353 |
- done |
20354 |
- eshopts_pop |
20355 |
-} |
20356 |
- |
20357 |
-pkg_postinst() { |
20358 |
- eselect wine register ${P} |
20359 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
20360 |
- eselect wine register --vanilla ${P} || die |
20361 |
- fi |
20362 |
- |
20363 |
- eselect wine update --all --if-unset || die |
20364 |
- |
20365 |
- xdg_desktop_database_update |
20366 |
- |
20367 |
- if ! use gecko; then |
20368 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
20369 |
- ewarn "implementation of iexplore. Many older windows applications" |
20370 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
20371 |
- ewarn "you will likely need to install an external one, like via winetricks" |
20372 |
- fi |
20373 |
- if ! use mono; then |
20374 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
20375 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
20376 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
20377 |
- ewarn "to install an external one, like via winetricks" |
20378 |
- fi |
20379 |
-} |
20380 |
- |
20381 |
-pkg_prerm() { |
20382 |
- eselect wine deregister ${P} |
20383 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
20384 |
- eselect wine deregister --vanilla ${P} || die |
20385 |
- fi |
20386 |
- |
20387 |
- eselect wine update --all --if-unset || die |
20388 |
-} |
20389 |
- |
20390 |
-pkg_postrm() { |
20391 |
- xdg_desktop_database_update |
20392 |
-} |
20393 |
|
20394 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.14.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.14.ebuild |
20395 |
deleted file mode 100644 |
20396 |
index ffbae03..0000000 |
20397 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.14.ebuild |
20398 |
+++ /dev/null |
20399 |
@@ -1,532 +0,0 @@ |
20400 |
-# Copyright 1999-2018 Gentoo Foundation |
20401 |
-# Distributed under the terms of the GNU General Public License v2 |
20402 |
- |
20403 |
-EAPI=6 |
20404 |
- |
20405 |
-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" |
20406 |
-PLOCALE_BACKUP="en" |
20407 |
- |
20408 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
20409 |
- |
20410 |
-MY_PN="${PN%%-*}" |
20411 |
-MY_P="${MY_PN}-${PV}" |
20412 |
- |
20413 |
-if [[ ${PV} == "9999" ]] ; then |
20414 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
20415 |
- EGIT_BRANCH="master" |
20416 |
- inherit git-r3 |
20417 |
- SRC_URI="" |
20418 |
- #KEYWORDS="" |
20419 |
-else |
20420 |
- MAJOR_V=$(ver_cut 1) |
20421 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
20422 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
20423 |
-fi |
20424 |
-S="${WORKDIR}/${MY_P}" |
20425 |
- |
20426 |
-GWP_V="20180120" |
20427 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
20428 |
- |
20429 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
20430 |
-HOMEPAGE="https://www.winehq.org/" |
20431 |
-SRC_URI="${SRC_URI} |
20432 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
20433 |
-" |
20434 |
- |
20435 |
-LICENSE="LGPL-2.1" |
20436 |
-SLOT="${PV}" |
20437 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
20438 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
20439 |
- X? ( truetype ) |
20440 |
- elibc_glibc? ( threads ) |
20441 |
- osmesa? ( opengl ) |
20442 |
- test? ( abi_x86_32 ) |
20443 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
20444 |
- |
20445 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
20446 |
-# or fail due to Xvfb's opengl limitations. |
20447 |
-RESTRICT="test" |
20448 |
- |
20449 |
-COMMON_DEPEND=" |
20450 |
- X? ( |
20451 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
20452 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
20453 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
20454 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
20455 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
20456 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
20457 |
- ) |
20458 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
20459 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
20460 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
20461 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
20462 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
20463 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
20464 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
20465 |
- gstreamer? ( |
20466 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
20467 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
20468 |
- ) |
20469 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
20470 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
20471 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
20472 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
20473 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
20474 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
20475 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
20476 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
20477 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
20478 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
20479 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
20480 |
- opengl? ( |
20481 |
- virtual/glu[${MULTILIB_USEDEP}] |
20482 |
- virtual/opengl[${MULTILIB_USEDEP}] |
20483 |
- ) |
20484 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
20485 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
20486 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
20487 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
20488 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
20489 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
20490 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
20491 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
20492 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
20493 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
20494 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
20495 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
20496 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
20497 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
20498 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
20499 |
- xml? ( |
20500 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
20501 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
20502 |
- )" |
20503 |
- |
20504 |
-RDEPEND="${COMMON_DEPEND} |
20505 |
- app-emulation/wine-desktop-common |
20506 |
- >app-eselect/eselect-wine-0.3 |
20507 |
- !app-emulation/wine:0 |
20508 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
20509 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
20510 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
20511 |
- perl? ( |
20512 |
- dev-lang/perl |
20513 |
- dev-perl/XML-Simple |
20514 |
- ) |
20515 |
- pulseaudio? ( |
20516 |
- realtime? ( sys-auth/rtkit ) |
20517 |
- ) |
20518 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
20519 |
- selinux? ( sec-policy/selinux-wine ) |
20520 |
- udisks? ( sys-fs/udisks:2 )" |
20521 |
- |
20522 |
-# tools/make_requests requires perl |
20523 |
-DEPEND="${COMMON_DEPEND} |
20524 |
- sys-devel/flex |
20525 |
- >=sys-kernel/linux-headers-2.6 |
20526 |
- virtual/pkgconfig |
20527 |
- virtual/yacc |
20528 |
- X? ( x11-base/xorg-proto ) |
20529 |
- prelink? ( sys-devel/prelink ) |
20530 |
- xinerama? ( x11-base/xorg-proto )" |
20531 |
- |
20532 |
-# These use a non-standard "Wine" category, which is provided by |
20533 |
-# /etc/xdg/applications-merged/wine.menu |
20534 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
20535 |
-usr/share/applications/wine-notepad.desktop |
20536 |
-usr/share/applications/wine-uninstaller.desktop |
20537 |
-usr/share/applications/wine-winecfg.desktop" |
20538 |
- |
20539 |
-PATCHES=( |
20540 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
20541 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
20542 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
20543 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
20544 |
-) |
20545 |
-PATCHES_BIN=() |
20546 |
- |
20547 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
20548 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
20549 |
- DEPEND+=" dev-util/patchbin" |
20550 |
-fi |
20551 |
- |
20552 |
-wine_compiler_check() { |
20553 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
20554 |
- |
20555 |
- # GCC-specific bugs |
20556 |
- if tc-is-gcc; then |
20557 |
- # bug #549768 |
20558 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
20559 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
20560 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
20561 |
- # Run in subshell to prevent "Aborted" message |
20562 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
20563 |
- if ! eend $?; then |
20564 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
20565 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
20566 |
- eerror "or use gcc-config to select a different compiler version." |
20567 |
- eerror "See https://bugs.gentoo.org/549768" |
20568 |
- eerror |
20569 |
- return 1 |
20570 |
- fi |
20571 |
- fi |
20572 |
- # bug #574044 |
20573 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
20574 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
20575 |
- # Compile in subshell to prevent "Aborted" message |
20576 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
20577 |
- if ! eend $?; then |
20578 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
20579 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
20580 |
- eerror "or use gcc-config to select a different compiler version." |
20581 |
- eerror "See https://bugs.gentoo.org/574044" |
20582 |
- eerror |
20583 |
- return 1 |
20584 |
- fi |
20585 |
- fi |
20586 |
- fi |
20587 |
- |
20588 |
- # Ensure compiler support |
20589 |
- if use abi_x86_64; then |
20590 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
20591 |
- # Compile in subshell to prevent "Aborted" message |
20592 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
20593 |
- if ! eend $?; then |
20594 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
20595 |
- eerror |
20596 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
20597 |
- eerror |
20598 |
- return 1 |
20599 |
- fi |
20600 |
- fi |
20601 |
-} |
20602 |
- |
20603 |
-wine_build_environment_check() { |
20604 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
20605 |
- |
20606 |
- if use abi_x86_64; then |
20607 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
20608 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
20609 |
- die |
20610 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
20611 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
20612 |
- die |
20613 |
- fi |
20614 |
- fi |
20615 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
20616 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
20617 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
20618 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
20619 |
- fi |
20620 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
20621 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
20622 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
20623 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
20624 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
20625 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
20626 |
- fi |
20627 |
- fi |
20628 |
- |
20629 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
20630 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
20631 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
20632 |
- eerror |
20633 |
- return 1 |
20634 |
- fi |
20635 |
-} |
20636 |
- |
20637 |
-wine_env_vcs_vars() { |
20638 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
20639 |
- local pn_live_val="${pn_live_var}" |
20640 |
- eval pn_live_val='$'${pn_live_val} |
20641 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
20642 |
- eerror "Commits must now be specified using the environmental variables" |
20643 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
20644 |
- eerror |
20645 |
- return 1 |
20646 |
- fi |
20647 |
-} |
20648 |
- |
20649 |
-pkg_pretend() { |
20650 |
- wine_build_environment_check || die |
20651 |
- |
20652 |
- # Verify OSS support |
20653 |
- if use oss && ! use kernel_FreeBSD; then |
20654 |
- if ! has_version ">=media-sound/oss-4"; then |
20655 |
- eerror "You cannot build wine with USE=oss without having support from a" |
20656 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
20657 |
- eerror |
20658 |
- die |
20659 |
- fi |
20660 |
- fi |
20661 |
-} |
20662 |
- |
20663 |
-pkg_setup() { |
20664 |
- wine_build_environment_check || die |
20665 |
- wine_env_vcs_vars || die |
20666 |
- |
20667 |
- WINE_VARIANT="${PN#wine}-${PV}" |
20668 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
20669 |
- |
20670 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
20671 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
20672 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
20673 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
20674 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
20675 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
20676 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
20677 |
- MY_MANDIR="${MY_DATADIR}/man" |
20678 |
-} |
20679 |
- |
20680 |
-src_unpack() { |
20681 |
- if [[ ${PV} == "9999" ]] ; then |
20682 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
20683 |
- fi |
20684 |
- |
20685 |
- default |
20686 |
- |
20687 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
20688 |
-} |
20689 |
- |
20690 |
-src_prepare() { |
20691 |
- |
20692 |
- eapply_bin(){ |
20693 |
- local patch |
20694 |
- for patch in ${PATCHES_BIN[@]}; do |
20695 |
- patchbin --nogit < "${patch}" || die |
20696 |
- done |
20697 |
- } |
20698 |
- |
20699 |
- local md5="$(md5sum server/protocol.def)" |
20700 |
- |
20701 |
- default |
20702 |
- eapply_bin |
20703 |
- eautoreconf |
20704 |
- |
20705 |
- # Modification of the server protocol requires regenerating the server requests |
20706 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
20707 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
20708 |
- tools/make_requests || die #432348 |
20709 |
- fi |
20710 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
20711 |
- if ! use run-exes; then |
20712 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
20713 |
- fi |
20714 |
- |
20715 |
- # Edit wine.desktop to work for specific variant |
20716 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
20717 |
- |
20718 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
20719 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
20720 |
- |
20721 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
20722 |
- |
20723 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
20724 |
- |
20725 |
- # Duplicate manpages input files for wine64 |
20726 |
- local f |
20727 |
- for f in loader/*.man.in; do |
20728 |
- cp ${f} ${f/wine/wine64} || die |
20729 |
- done |
20730 |
- # Add wine64 manpages to Makefile |
20731 |
- if use abi_x86_64; then |
20732 |
- sed -i "/wine.man.in/i \ |
20733 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
20734 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
20735 |
-\164\2/' loader/Makefile.in || die |
20736 |
- fi |
20737 |
- |
20738 |
- rm_man_file(){ |
20739 |
- local file="${1}" |
20740 |
- loc=${2} |
20741 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
20742 |
- } |
20743 |
- |
20744 |
- while read f; do |
20745 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
20746 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
20747 |
-} |
20748 |
- |
20749 |
-src_configure() { |
20750 |
- wine_compiler_check || die |
20751 |
- |
20752 |
- export LDCONFIG=/bin/true |
20753 |
- use custom-cflags || strip-flags |
20754 |
- |
20755 |
- multilib-minimal_src_configure |
20756 |
-} |
20757 |
- |
20758 |
-multilib_src_configure() { |
20759 |
- local myconf=( |
20760 |
- --prefix="${MY_PREFIX}" |
20761 |
- --datarootdir="${MY_DATAROOTDIR}" |
20762 |
- --datadir="${MY_DATADIR}" |
20763 |
- --docdir="${MY_DOCDIR}" |
20764 |
- --includedir="${MY_INCLUDEDIR}" |
20765 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
20766 |
- --libexecdir="${MY_LIBEXECDIR}" |
20767 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
20768 |
- --mandir="${MY_MANDIR}" |
20769 |
- --sysconfdir=/etc/wine |
20770 |
- $(use_with alsa) |
20771 |
- $(use_with capi) |
20772 |
- $(use_with lcms cms) |
20773 |
- $(use_with cups) |
20774 |
- $(use_with ncurses curses) |
20775 |
- $(use_with udisks dbus) |
20776 |
- $(use_with fontconfig) |
20777 |
- $(use_with ssl gnutls) |
20778 |
- $(use_enable gecko mshtml) |
20779 |
- $(use_with gphoto2 gphoto) |
20780 |
- $(use_with gsm) |
20781 |
- $(use_with gssapi) |
20782 |
- $(use_with gstreamer) |
20783 |
- --without-hal |
20784 |
- $(use_with jpeg) |
20785 |
- $(use_with kerberos krb5) |
20786 |
- $(use_with ldap) |
20787 |
- $(use_enable mono mscoree) |
20788 |
- $(use_with mp3 mpg123) |
20789 |
- $(use_with netapi) |
20790 |
- $(use_with nls gettext) |
20791 |
- $(use_with openal) |
20792 |
- $(use_with opencl) |
20793 |
- $(use_with opengl) |
20794 |
- $(use_with osmesa) |
20795 |
- $(use_with oss) |
20796 |
- $(use_with pcap) |
20797 |
- $(use_with png) |
20798 |
- $(use_with pulseaudio pulse) |
20799 |
- $(use_with threads pthread) |
20800 |
- $(use_with scanner sane) |
20801 |
- $(use_with sdl) |
20802 |
- $(use_enable test tests) |
20803 |
- $(use_with truetype freetype) |
20804 |
- $(use_with udev) |
20805 |
- $(use_with v4l) |
20806 |
- $(use_with vkd3d) |
20807 |
- $(use_with vulkan) |
20808 |
- $(use_with X x) |
20809 |
- $(use_with X xfixes) |
20810 |
- $(use_with xcomposite) |
20811 |
- $(use_with xinerama) |
20812 |
- $(use_with xml) |
20813 |
- $(use_with xml xslt) |
20814 |
- ) |
20815 |
- |
20816 |
- local PKG_CONFIG AR RANLIB |
20817 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
20818 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
20819 |
- tc-export PKG_CONFIG AR RANLIB |
20820 |
- |
20821 |
- if use amd64; then |
20822 |
- if [[ ${ABI} == amd64 ]]; then |
20823 |
- myconf+=( --enable-win64 ) |
20824 |
- else |
20825 |
- myconf+=( --disable-win64 ) |
20826 |
- fi |
20827 |
- |
20828 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
20829 |
- # CC/LD hackery. We're using separate tools instead. |
20830 |
- fi |
20831 |
- |
20832 |
- ECONF_SOURCE=${S} \ |
20833 |
- econf "${myconf[@]}" |
20834 |
- emake depend |
20835 |
-} |
20836 |
- |
20837 |
-multilib_src_test() { |
20838 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
20839 |
- if [[ ${ABI} == x86 ]]; then |
20840 |
- if [[ $(id -u) == 0 ]]; then |
20841 |
- ewarn "Skipping tests since they cannot be run under the root user." |
20842 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
20843 |
- return |
20844 |
- fi |
20845 |
- |
20846 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
20847 |
- Xemake test |
20848 |
- fi |
20849 |
-} |
20850 |
- |
20851 |
-multilib_src_install_all() { |
20852 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
20853 |
- add_locale_docs() { |
20854 |
- local locale_doc="documentation/README.$1" |
20855 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
20856 |
- } |
20857 |
- l10n_for_each_locale_do add_locale_docs |
20858 |
- |
20859 |
- einstalldocs |
20860 |
- prune_libtool_files --all |
20861 |
- |
20862 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
20863 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
20864 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
20865 |
- fi |
20866 |
- |
20867 |
- # Remove wineconsole if neither backend is installed #551124 |
20868 |
- if ! use X && ! use ncurses; then |
20869 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
20870 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
20871 |
- rm_wineconsole() { |
20872 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
20873 |
- } |
20874 |
- multilib_foreach_abi rm_wineconsole |
20875 |
- fi |
20876 |
- |
20877 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
20878 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
20879 |
- |
20880 |
- if use abi_x86_64 && ! use abi_x86_32; then |
20881 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
20882 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
20883 |
- fi |
20884 |
- |
20885 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
20886 |
- eshopts_push -s failglob #615218 |
20887 |
- # Make wrappers for binaries for handling multiple variants |
20888 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
20889 |
- local b |
20890 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
20891 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
20892 |
- done |
20893 |
- eshopts_pop |
20894 |
-} |
20895 |
- |
20896 |
-pkg_postinst() { |
20897 |
- eselect wine register ${P} |
20898 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
20899 |
- eselect wine register --vanilla ${P} || die |
20900 |
- fi |
20901 |
- |
20902 |
- eselect wine update --all --if-unset || die |
20903 |
- |
20904 |
- xdg_desktop_database_update |
20905 |
- |
20906 |
- if ! use gecko; then |
20907 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
20908 |
- ewarn "implementation of iexplore. Many older windows applications" |
20909 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
20910 |
- ewarn "you will likely need to install an external one, like via winetricks" |
20911 |
- fi |
20912 |
- if ! use mono; then |
20913 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
20914 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
20915 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
20916 |
- ewarn "to install an external one, like via winetricks" |
20917 |
- fi |
20918 |
-} |
20919 |
- |
20920 |
-pkg_prerm() { |
20921 |
- eselect wine deregister ${P} |
20922 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
20923 |
- eselect wine deregister --vanilla ${P} || die |
20924 |
- fi |
20925 |
- |
20926 |
- eselect wine update --all --if-unset || die |
20927 |
-} |
20928 |
- |
20929 |
-pkg_postrm() { |
20930 |
- xdg_desktop_database_update |
20931 |
-} |
20932 |
|
20933 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.15.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.15.ebuild |
20934 |
deleted file mode 100644 |
20935 |
index ffbae03..0000000 |
20936 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.15.ebuild |
20937 |
+++ /dev/null |
20938 |
@@ -1,532 +0,0 @@ |
20939 |
-# Copyright 1999-2018 Gentoo Foundation |
20940 |
-# Distributed under the terms of the GNU General Public License v2 |
20941 |
- |
20942 |
-EAPI=6 |
20943 |
- |
20944 |
-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" |
20945 |
-PLOCALE_BACKUP="en" |
20946 |
- |
20947 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
20948 |
- |
20949 |
-MY_PN="${PN%%-*}" |
20950 |
-MY_P="${MY_PN}-${PV}" |
20951 |
- |
20952 |
-if [[ ${PV} == "9999" ]] ; then |
20953 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
20954 |
- EGIT_BRANCH="master" |
20955 |
- inherit git-r3 |
20956 |
- SRC_URI="" |
20957 |
- #KEYWORDS="" |
20958 |
-else |
20959 |
- MAJOR_V=$(ver_cut 1) |
20960 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
20961 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
20962 |
-fi |
20963 |
-S="${WORKDIR}/${MY_P}" |
20964 |
- |
20965 |
-GWP_V="20180120" |
20966 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
20967 |
- |
20968 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
20969 |
-HOMEPAGE="https://www.winehq.org/" |
20970 |
-SRC_URI="${SRC_URI} |
20971 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
20972 |
-" |
20973 |
- |
20974 |
-LICENSE="LGPL-2.1" |
20975 |
-SLOT="${PV}" |
20976 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
20977 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
20978 |
- X? ( truetype ) |
20979 |
- elibc_glibc? ( threads ) |
20980 |
- osmesa? ( opengl ) |
20981 |
- test? ( abi_x86_32 ) |
20982 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
20983 |
- |
20984 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
20985 |
-# or fail due to Xvfb's opengl limitations. |
20986 |
-RESTRICT="test" |
20987 |
- |
20988 |
-COMMON_DEPEND=" |
20989 |
- X? ( |
20990 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
20991 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
20992 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
20993 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
20994 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
20995 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
20996 |
- ) |
20997 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
20998 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
20999 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
21000 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
21001 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
21002 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
21003 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
21004 |
- gstreamer? ( |
21005 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
21006 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
21007 |
- ) |
21008 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
21009 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
21010 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
21011 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
21012 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
21013 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
21014 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
21015 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
21016 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
21017 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
21018 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
21019 |
- opengl? ( |
21020 |
- virtual/glu[${MULTILIB_USEDEP}] |
21021 |
- virtual/opengl[${MULTILIB_USEDEP}] |
21022 |
- ) |
21023 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
21024 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
21025 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
21026 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
21027 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
21028 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
21029 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
21030 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
21031 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
21032 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
21033 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
21034 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
21035 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
21036 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
21037 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
21038 |
- xml? ( |
21039 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
21040 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
21041 |
- )" |
21042 |
- |
21043 |
-RDEPEND="${COMMON_DEPEND} |
21044 |
- app-emulation/wine-desktop-common |
21045 |
- >app-eselect/eselect-wine-0.3 |
21046 |
- !app-emulation/wine:0 |
21047 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
21048 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
21049 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
21050 |
- perl? ( |
21051 |
- dev-lang/perl |
21052 |
- dev-perl/XML-Simple |
21053 |
- ) |
21054 |
- pulseaudio? ( |
21055 |
- realtime? ( sys-auth/rtkit ) |
21056 |
- ) |
21057 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
21058 |
- selinux? ( sec-policy/selinux-wine ) |
21059 |
- udisks? ( sys-fs/udisks:2 )" |
21060 |
- |
21061 |
-# tools/make_requests requires perl |
21062 |
-DEPEND="${COMMON_DEPEND} |
21063 |
- sys-devel/flex |
21064 |
- >=sys-kernel/linux-headers-2.6 |
21065 |
- virtual/pkgconfig |
21066 |
- virtual/yacc |
21067 |
- X? ( x11-base/xorg-proto ) |
21068 |
- prelink? ( sys-devel/prelink ) |
21069 |
- xinerama? ( x11-base/xorg-proto )" |
21070 |
- |
21071 |
-# These use a non-standard "Wine" category, which is provided by |
21072 |
-# /etc/xdg/applications-merged/wine.menu |
21073 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
21074 |
-usr/share/applications/wine-notepad.desktop |
21075 |
-usr/share/applications/wine-uninstaller.desktop |
21076 |
-usr/share/applications/wine-winecfg.desktop" |
21077 |
- |
21078 |
-PATCHES=( |
21079 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
21080 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
21081 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
21082 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
21083 |
-) |
21084 |
-PATCHES_BIN=() |
21085 |
- |
21086 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
21087 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
21088 |
- DEPEND+=" dev-util/patchbin" |
21089 |
-fi |
21090 |
- |
21091 |
-wine_compiler_check() { |
21092 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
21093 |
- |
21094 |
- # GCC-specific bugs |
21095 |
- if tc-is-gcc; then |
21096 |
- # bug #549768 |
21097 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
21098 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
21099 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
21100 |
- # Run in subshell to prevent "Aborted" message |
21101 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
21102 |
- if ! eend $?; then |
21103 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
21104 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
21105 |
- eerror "or use gcc-config to select a different compiler version." |
21106 |
- eerror "See https://bugs.gentoo.org/549768" |
21107 |
- eerror |
21108 |
- return 1 |
21109 |
- fi |
21110 |
- fi |
21111 |
- # bug #574044 |
21112 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
21113 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
21114 |
- # Compile in subshell to prevent "Aborted" message |
21115 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
21116 |
- if ! eend $?; then |
21117 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
21118 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
21119 |
- eerror "or use gcc-config to select a different compiler version." |
21120 |
- eerror "See https://bugs.gentoo.org/574044" |
21121 |
- eerror |
21122 |
- return 1 |
21123 |
- fi |
21124 |
- fi |
21125 |
- fi |
21126 |
- |
21127 |
- # Ensure compiler support |
21128 |
- if use abi_x86_64; then |
21129 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
21130 |
- # Compile in subshell to prevent "Aborted" message |
21131 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
21132 |
- if ! eend $?; then |
21133 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
21134 |
- eerror |
21135 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
21136 |
- eerror |
21137 |
- return 1 |
21138 |
- fi |
21139 |
- fi |
21140 |
-} |
21141 |
- |
21142 |
-wine_build_environment_check() { |
21143 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
21144 |
- |
21145 |
- if use abi_x86_64; then |
21146 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
21147 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
21148 |
- die |
21149 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
21150 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
21151 |
- die |
21152 |
- fi |
21153 |
- fi |
21154 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
21155 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
21156 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
21157 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
21158 |
- fi |
21159 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
21160 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
21161 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
21162 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
21163 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
21164 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
21165 |
- fi |
21166 |
- fi |
21167 |
- |
21168 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
21169 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
21170 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
21171 |
- eerror |
21172 |
- return 1 |
21173 |
- fi |
21174 |
-} |
21175 |
- |
21176 |
-wine_env_vcs_vars() { |
21177 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
21178 |
- local pn_live_val="${pn_live_var}" |
21179 |
- eval pn_live_val='$'${pn_live_val} |
21180 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
21181 |
- eerror "Commits must now be specified using the environmental variables" |
21182 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
21183 |
- eerror |
21184 |
- return 1 |
21185 |
- fi |
21186 |
-} |
21187 |
- |
21188 |
-pkg_pretend() { |
21189 |
- wine_build_environment_check || die |
21190 |
- |
21191 |
- # Verify OSS support |
21192 |
- if use oss && ! use kernel_FreeBSD; then |
21193 |
- if ! has_version ">=media-sound/oss-4"; then |
21194 |
- eerror "You cannot build wine with USE=oss without having support from a" |
21195 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
21196 |
- eerror |
21197 |
- die |
21198 |
- fi |
21199 |
- fi |
21200 |
-} |
21201 |
- |
21202 |
-pkg_setup() { |
21203 |
- wine_build_environment_check || die |
21204 |
- wine_env_vcs_vars || die |
21205 |
- |
21206 |
- WINE_VARIANT="${PN#wine}-${PV}" |
21207 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
21208 |
- |
21209 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
21210 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
21211 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
21212 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
21213 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
21214 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
21215 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
21216 |
- MY_MANDIR="${MY_DATADIR}/man" |
21217 |
-} |
21218 |
- |
21219 |
-src_unpack() { |
21220 |
- if [[ ${PV} == "9999" ]] ; then |
21221 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
21222 |
- fi |
21223 |
- |
21224 |
- default |
21225 |
- |
21226 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
21227 |
-} |
21228 |
- |
21229 |
-src_prepare() { |
21230 |
- |
21231 |
- eapply_bin(){ |
21232 |
- local patch |
21233 |
- for patch in ${PATCHES_BIN[@]}; do |
21234 |
- patchbin --nogit < "${patch}" || die |
21235 |
- done |
21236 |
- } |
21237 |
- |
21238 |
- local md5="$(md5sum server/protocol.def)" |
21239 |
- |
21240 |
- default |
21241 |
- eapply_bin |
21242 |
- eautoreconf |
21243 |
- |
21244 |
- # Modification of the server protocol requires regenerating the server requests |
21245 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
21246 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
21247 |
- tools/make_requests || die #432348 |
21248 |
- fi |
21249 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
21250 |
- if ! use run-exes; then |
21251 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
21252 |
- fi |
21253 |
- |
21254 |
- # Edit wine.desktop to work for specific variant |
21255 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
21256 |
- |
21257 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
21258 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
21259 |
- |
21260 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
21261 |
- |
21262 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
21263 |
- |
21264 |
- # Duplicate manpages input files for wine64 |
21265 |
- local f |
21266 |
- for f in loader/*.man.in; do |
21267 |
- cp ${f} ${f/wine/wine64} || die |
21268 |
- done |
21269 |
- # Add wine64 manpages to Makefile |
21270 |
- if use abi_x86_64; then |
21271 |
- sed -i "/wine.man.in/i \ |
21272 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
21273 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
21274 |
-\164\2/' loader/Makefile.in || die |
21275 |
- fi |
21276 |
- |
21277 |
- rm_man_file(){ |
21278 |
- local file="${1}" |
21279 |
- loc=${2} |
21280 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
21281 |
- } |
21282 |
- |
21283 |
- while read f; do |
21284 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
21285 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
21286 |
-} |
21287 |
- |
21288 |
-src_configure() { |
21289 |
- wine_compiler_check || die |
21290 |
- |
21291 |
- export LDCONFIG=/bin/true |
21292 |
- use custom-cflags || strip-flags |
21293 |
- |
21294 |
- multilib-minimal_src_configure |
21295 |
-} |
21296 |
- |
21297 |
-multilib_src_configure() { |
21298 |
- local myconf=( |
21299 |
- --prefix="${MY_PREFIX}" |
21300 |
- --datarootdir="${MY_DATAROOTDIR}" |
21301 |
- --datadir="${MY_DATADIR}" |
21302 |
- --docdir="${MY_DOCDIR}" |
21303 |
- --includedir="${MY_INCLUDEDIR}" |
21304 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
21305 |
- --libexecdir="${MY_LIBEXECDIR}" |
21306 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
21307 |
- --mandir="${MY_MANDIR}" |
21308 |
- --sysconfdir=/etc/wine |
21309 |
- $(use_with alsa) |
21310 |
- $(use_with capi) |
21311 |
- $(use_with lcms cms) |
21312 |
- $(use_with cups) |
21313 |
- $(use_with ncurses curses) |
21314 |
- $(use_with udisks dbus) |
21315 |
- $(use_with fontconfig) |
21316 |
- $(use_with ssl gnutls) |
21317 |
- $(use_enable gecko mshtml) |
21318 |
- $(use_with gphoto2 gphoto) |
21319 |
- $(use_with gsm) |
21320 |
- $(use_with gssapi) |
21321 |
- $(use_with gstreamer) |
21322 |
- --without-hal |
21323 |
- $(use_with jpeg) |
21324 |
- $(use_with kerberos krb5) |
21325 |
- $(use_with ldap) |
21326 |
- $(use_enable mono mscoree) |
21327 |
- $(use_with mp3 mpg123) |
21328 |
- $(use_with netapi) |
21329 |
- $(use_with nls gettext) |
21330 |
- $(use_with openal) |
21331 |
- $(use_with opencl) |
21332 |
- $(use_with opengl) |
21333 |
- $(use_with osmesa) |
21334 |
- $(use_with oss) |
21335 |
- $(use_with pcap) |
21336 |
- $(use_with png) |
21337 |
- $(use_with pulseaudio pulse) |
21338 |
- $(use_with threads pthread) |
21339 |
- $(use_with scanner sane) |
21340 |
- $(use_with sdl) |
21341 |
- $(use_enable test tests) |
21342 |
- $(use_with truetype freetype) |
21343 |
- $(use_with udev) |
21344 |
- $(use_with v4l) |
21345 |
- $(use_with vkd3d) |
21346 |
- $(use_with vulkan) |
21347 |
- $(use_with X x) |
21348 |
- $(use_with X xfixes) |
21349 |
- $(use_with xcomposite) |
21350 |
- $(use_with xinerama) |
21351 |
- $(use_with xml) |
21352 |
- $(use_with xml xslt) |
21353 |
- ) |
21354 |
- |
21355 |
- local PKG_CONFIG AR RANLIB |
21356 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
21357 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
21358 |
- tc-export PKG_CONFIG AR RANLIB |
21359 |
- |
21360 |
- if use amd64; then |
21361 |
- if [[ ${ABI} == amd64 ]]; then |
21362 |
- myconf+=( --enable-win64 ) |
21363 |
- else |
21364 |
- myconf+=( --disable-win64 ) |
21365 |
- fi |
21366 |
- |
21367 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
21368 |
- # CC/LD hackery. We're using separate tools instead. |
21369 |
- fi |
21370 |
- |
21371 |
- ECONF_SOURCE=${S} \ |
21372 |
- econf "${myconf[@]}" |
21373 |
- emake depend |
21374 |
-} |
21375 |
- |
21376 |
-multilib_src_test() { |
21377 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
21378 |
- if [[ ${ABI} == x86 ]]; then |
21379 |
- if [[ $(id -u) == 0 ]]; then |
21380 |
- ewarn "Skipping tests since they cannot be run under the root user." |
21381 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
21382 |
- return |
21383 |
- fi |
21384 |
- |
21385 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
21386 |
- Xemake test |
21387 |
- fi |
21388 |
-} |
21389 |
- |
21390 |
-multilib_src_install_all() { |
21391 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
21392 |
- add_locale_docs() { |
21393 |
- local locale_doc="documentation/README.$1" |
21394 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
21395 |
- } |
21396 |
- l10n_for_each_locale_do add_locale_docs |
21397 |
- |
21398 |
- einstalldocs |
21399 |
- prune_libtool_files --all |
21400 |
- |
21401 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
21402 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
21403 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
21404 |
- fi |
21405 |
- |
21406 |
- # Remove wineconsole if neither backend is installed #551124 |
21407 |
- if ! use X && ! use ncurses; then |
21408 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
21409 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
21410 |
- rm_wineconsole() { |
21411 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
21412 |
- } |
21413 |
- multilib_foreach_abi rm_wineconsole |
21414 |
- fi |
21415 |
- |
21416 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
21417 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
21418 |
- |
21419 |
- if use abi_x86_64 && ! use abi_x86_32; then |
21420 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
21421 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
21422 |
- fi |
21423 |
- |
21424 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
21425 |
- eshopts_push -s failglob #615218 |
21426 |
- # Make wrappers for binaries for handling multiple variants |
21427 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
21428 |
- local b |
21429 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
21430 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
21431 |
- done |
21432 |
- eshopts_pop |
21433 |
-} |
21434 |
- |
21435 |
-pkg_postinst() { |
21436 |
- eselect wine register ${P} |
21437 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
21438 |
- eselect wine register --vanilla ${P} || die |
21439 |
- fi |
21440 |
- |
21441 |
- eselect wine update --all --if-unset || die |
21442 |
- |
21443 |
- xdg_desktop_database_update |
21444 |
- |
21445 |
- if ! use gecko; then |
21446 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
21447 |
- ewarn "implementation of iexplore. Many older windows applications" |
21448 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
21449 |
- ewarn "you will likely need to install an external one, like via winetricks" |
21450 |
- fi |
21451 |
- if ! use mono; then |
21452 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
21453 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
21454 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
21455 |
- ewarn "to install an external one, like via winetricks" |
21456 |
- fi |
21457 |
-} |
21458 |
- |
21459 |
-pkg_prerm() { |
21460 |
- eselect wine deregister ${P} |
21461 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
21462 |
- eselect wine deregister --vanilla ${P} || die |
21463 |
- fi |
21464 |
- |
21465 |
- eselect wine update --all --if-unset || die |
21466 |
-} |
21467 |
- |
21468 |
-pkg_postrm() { |
21469 |
- xdg_desktop_database_update |
21470 |
-} |
21471 |
|
21472 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.16.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.16.ebuild |
21473 |
deleted file mode 100644 |
21474 |
index ffbae03..0000000 |
21475 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.16.ebuild |
21476 |
+++ /dev/null |
21477 |
@@ -1,532 +0,0 @@ |
21478 |
-# Copyright 1999-2018 Gentoo Foundation |
21479 |
-# Distributed under the terms of the GNU General Public License v2 |
21480 |
- |
21481 |
-EAPI=6 |
21482 |
- |
21483 |
-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" |
21484 |
-PLOCALE_BACKUP="en" |
21485 |
- |
21486 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
21487 |
- |
21488 |
-MY_PN="${PN%%-*}" |
21489 |
-MY_P="${MY_PN}-${PV}" |
21490 |
- |
21491 |
-if [[ ${PV} == "9999" ]] ; then |
21492 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
21493 |
- EGIT_BRANCH="master" |
21494 |
- inherit git-r3 |
21495 |
- SRC_URI="" |
21496 |
- #KEYWORDS="" |
21497 |
-else |
21498 |
- MAJOR_V=$(ver_cut 1) |
21499 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
21500 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
21501 |
-fi |
21502 |
-S="${WORKDIR}/${MY_P}" |
21503 |
- |
21504 |
-GWP_V="20180120" |
21505 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
21506 |
- |
21507 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
21508 |
-HOMEPAGE="https://www.winehq.org/" |
21509 |
-SRC_URI="${SRC_URI} |
21510 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
21511 |
-" |
21512 |
- |
21513 |
-LICENSE="LGPL-2.1" |
21514 |
-SLOT="${PV}" |
21515 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
21516 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
21517 |
- X? ( truetype ) |
21518 |
- elibc_glibc? ( threads ) |
21519 |
- osmesa? ( opengl ) |
21520 |
- test? ( abi_x86_32 ) |
21521 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
21522 |
- |
21523 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
21524 |
-# or fail due to Xvfb's opengl limitations. |
21525 |
-RESTRICT="test" |
21526 |
- |
21527 |
-COMMON_DEPEND=" |
21528 |
- X? ( |
21529 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
21530 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
21531 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
21532 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
21533 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
21534 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
21535 |
- ) |
21536 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
21537 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
21538 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
21539 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
21540 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
21541 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
21542 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
21543 |
- gstreamer? ( |
21544 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
21545 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
21546 |
- ) |
21547 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
21548 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
21549 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
21550 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
21551 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
21552 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
21553 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
21554 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
21555 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
21556 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
21557 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
21558 |
- opengl? ( |
21559 |
- virtual/glu[${MULTILIB_USEDEP}] |
21560 |
- virtual/opengl[${MULTILIB_USEDEP}] |
21561 |
- ) |
21562 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
21563 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
21564 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
21565 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
21566 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
21567 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
21568 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
21569 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
21570 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
21571 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
21572 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
21573 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
21574 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
21575 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
21576 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
21577 |
- xml? ( |
21578 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
21579 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
21580 |
- )" |
21581 |
- |
21582 |
-RDEPEND="${COMMON_DEPEND} |
21583 |
- app-emulation/wine-desktop-common |
21584 |
- >app-eselect/eselect-wine-0.3 |
21585 |
- !app-emulation/wine:0 |
21586 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
21587 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
21588 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
21589 |
- perl? ( |
21590 |
- dev-lang/perl |
21591 |
- dev-perl/XML-Simple |
21592 |
- ) |
21593 |
- pulseaudio? ( |
21594 |
- realtime? ( sys-auth/rtkit ) |
21595 |
- ) |
21596 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
21597 |
- selinux? ( sec-policy/selinux-wine ) |
21598 |
- udisks? ( sys-fs/udisks:2 )" |
21599 |
- |
21600 |
-# tools/make_requests requires perl |
21601 |
-DEPEND="${COMMON_DEPEND} |
21602 |
- sys-devel/flex |
21603 |
- >=sys-kernel/linux-headers-2.6 |
21604 |
- virtual/pkgconfig |
21605 |
- virtual/yacc |
21606 |
- X? ( x11-base/xorg-proto ) |
21607 |
- prelink? ( sys-devel/prelink ) |
21608 |
- xinerama? ( x11-base/xorg-proto )" |
21609 |
- |
21610 |
-# These use a non-standard "Wine" category, which is provided by |
21611 |
-# /etc/xdg/applications-merged/wine.menu |
21612 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
21613 |
-usr/share/applications/wine-notepad.desktop |
21614 |
-usr/share/applications/wine-uninstaller.desktop |
21615 |
-usr/share/applications/wine-winecfg.desktop" |
21616 |
- |
21617 |
-PATCHES=( |
21618 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
21619 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
21620 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
21621 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
21622 |
-) |
21623 |
-PATCHES_BIN=() |
21624 |
- |
21625 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
21626 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
21627 |
- DEPEND+=" dev-util/patchbin" |
21628 |
-fi |
21629 |
- |
21630 |
-wine_compiler_check() { |
21631 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
21632 |
- |
21633 |
- # GCC-specific bugs |
21634 |
- if tc-is-gcc; then |
21635 |
- # bug #549768 |
21636 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
21637 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
21638 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
21639 |
- # Run in subshell to prevent "Aborted" message |
21640 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
21641 |
- if ! eend $?; then |
21642 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
21643 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
21644 |
- eerror "or use gcc-config to select a different compiler version." |
21645 |
- eerror "See https://bugs.gentoo.org/549768" |
21646 |
- eerror |
21647 |
- return 1 |
21648 |
- fi |
21649 |
- fi |
21650 |
- # bug #574044 |
21651 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
21652 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
21653 |
- # Compile in subshell to prevent "Aborted" message |
21654 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
21655 |
- if ! eend $?; then |
21656 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
21657 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
21658 |
- eerror "or use gcc-config to select a different compiler version." |
21659 |
- eerror "See https://bugs.gentoo.org/574044" |
21660 |
- eerror |
21661 |
- return 1 |
21662 |
- fi |
21663 |
- fi |
21664 |
- fi |
21665 |
- |
21666 |
- # Ensure compiler support |
21667 |
- if use abi_x86_64; then |
21668 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
21669 |
- # Compile in subshell to prevent "Aborted" message |
21670 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
21671 |
- if ! eend $?; then |
21672 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
21673 |
- eerror |
21674 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
21675 |
- eerror |
21676 |
- return 1 |
21677 |
- fi |
21678 |
- fi |
21679 |
-} |
21680 |
- |
21681 |
-wine_build_environment_check() { |
21682 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
21683 |
- |
21684 |
- if use abi_x86_64; then |
21685 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
21686 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
21687 |
- die |
21688 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
21689 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
21690 |
- die |
21691 |
- fi |
21692 |
- fi |
21693 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
21694 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
21695 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
21696 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
21697 |
- fi |
21698 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
21699 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
21700 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
21701 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
21702 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
21703 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
21704 |
- fi |
21705 |
- fi |
21706 |
- |
21707 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
21708 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
21709 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
21710 |
- eerror |
21711 |
- return 1 |
21712 |
- fi |
21713 |
-} |
21714 |
- |
21715 |
-wine_env_vcs_vars() { |
21716 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
21717 |
- local pn_live_val="${pn_live_var}" |
21718 |
- eval pn_live_val='$'${pn_live_val} |
21719 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
21720 |
- eerror "Commits must now be specified using the environmental variables" |
21721 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
21722 |
- eerror |
21723 |
- return 1 |
21724 |
- fi |
21725 |
-} |
21726 |
- |
21727 |
-pkg_pretend() { |
21728 |
- wine_build_environment_check || die |
21729 |
- |
21730 |
- # Verify OSS support |
21731 |
- if use oss && ! use kernel_FreeBSD; then |
21732 |
- if ! has_version ">=media-sound/oss-4"; then |
21733 |
- eerror "You cannot build wine with USE=oss without having support from a" |
21734 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
21735 |
- eerror |
21736 |
- die |
21737 |
- fi |
21738 |
- fi |
21739 |
-} |
21740 |
- |
21741 |
-pkg_setup() { |
21742 |
- wine_build_environment_check || die |
21743 |
- wine_env_vcs_vars || die |
21744 |
- |
21745 |
- WINE_VARIANT="${PN#wine}-${PV}" |
21746 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
21747 |
- |
21748 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
21749 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
21750 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
21751 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
21752 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
21753 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
21754 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
21755 |
- MY_MANDIR="${MY_DATADIR}/man" |
21756 |
-} |
21757 |
- |
21758 |
-src_unpack() { |
21759 |
- if [[ ${PV} == "9999" ]] ; then |
21760 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
21761 |
- fi |
21762 |
- |
21763 |
- default |
21764 |
- |
21765 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
21766 |
-} |
21767 |
- |
21768 |
-src_prepare() { |
21769 |
- |
21770 |
- eapply_bin(){ |
21771 |
- local patch |
21772 |
- for patch in ${PATCHES_BIN[@]}; do |
21773 |
- patchbin --nogit < "${patch}" || die |
21774 |
- done |
21775 |
- } |
21776 |
- |
21777 |
- local md5="$(md5sum server/protocol.def)" |
21778 |
- |
21779 |
- default |
21780 |
- eapply_bin |
21781 |
- eautoreconf |
21782 |
- |
21783 |
- # Modification of the server protocol requires regenerating the server requests |
21784 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
21785 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
21786 |
- tools/make_requests || die #432348 |
21787 |
- fi |
21788 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
21789 |
- if ! use run-exes; then |
21790 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
21791 |
- fi |
21792 |
- |
21793 |
- # Edit wine.desktop to work for specific variant |
21794 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
21795 |
- |
21796 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
21797 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
21798 |
- |
21799 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
21800 |
- |
21801 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
21802 |
- |
21803 |
- # Duplicate manpages input files for wine64 |
21804 |
- local f |
21805 |
- for f in loader/*.man.in; do |
21806 |
- cp ${f} ${f/wine/wine64} || die |
21807 |
- done |
21808 |
- # Add wine64 manpages to Makefile |
21809 |
- if use abi_x86_64; then |
21810 |
- sed -i "/wine.man.in/i \ |
21811 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
21812 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
21813 |
-\164\2/' loader/Makefile.in || die |
21814 |
- fi |
21815 |
- |
21816 |
- rm_man_file(){ |
21817 |
- local file="${1}" |
21818 |
- loc=${2} |
21819 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
21820 |
- } |
21821 |
- |
21822 |
- while read f; do |
21823 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
21824 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
21825 |
-} |
21826 |
- |
21827 |
-src_configure() { |
21828 |
- wine_compiler_check || die |
21829 |
- |
21830 |
- export LDCONFIG=/bin/true |
21831 |
- use custom-cflags || strip-flags |
21832 |
- |
21833 |
- multilib-minimal_src_configure |
21834 |
-} |
21835 |
- |
21836 |
-multilib_src_configure() { |
21837 |
- local myconf=( |
21838 |
- --prefix="${MY_PREFIX}" |
21839 |
- --datarootdir="${MY_DATAROOTDIR}" |
21840 |
- --datadir="${MY_DATADIR}" |
21841 |
- --docdir="${MY_DOCDIR}" |
21842 |
- --includedir="${MY_INCLUDEDIR}" |
21843 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
21844 |
- --libexecdir="${MY_LIBEXECDIR}" |
21845 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
21846 |
- --mandir="${MY_MANDIR}" |
21847 |
- --sysconfdir=/etc/wine |
21848 |
- $(use_with alsa) |
21849 |
- $(use_with capi) |
21850 |
- $(use_with lcms cms) |
21851 |
- $(use_with cups) |
21852 |
- $(use_with ncurses curses) |
21853 |
- $(use_with udisks dbus) |
21854 |
- $(use_with fontconfig) |
21855 |
- $(use_with ssl gnutls) |
21856 |
- $(use_enable gecko mshtml) |
21857 |
- $(use_with gphoto2 gphoto) |
21858 |
- $(use_with gsm) |
21859 |
- $(use_with gssapi) |
21860 |
- $(use_with gstreamer) |
21861 |
- --without-hal |
21862 |
- $(use_with jpeg) |
21863 |
- $(use_with kerberos krb5) |
21864 |
- $(use_with ldap) |
21865 |
- $(use_enable mono mscoree) |
21866 |
- $(use_with mp3 mpg123) |
21867 |
- $(use_with netapi) |
21868 |
- $(use_with nls gettext) |
21869 |
- $(use_with openal) |
21870 |
- $(use_with opencl) |
21871 |
- $(use_with opengl) |
21872 |
- $(use_with osmesa) |
21873 |
- $(use_with oss) |
21874 |
- $(use_with pcap) |
21875 |
- $(use_with png) |
21876 |
- $(use_with pulseaudio pulse) |
21877 |
- $(use_with threads pthread) |
21878 |
- $(use_with scanner sane) |
21879 |
- $(use_with sdl) |
21880 |
- $(use_enable test tests) |
21881 |
- $(use_with truetype freetype) |
21882 |
- $(use_with udev) |
21883 |
- $(use_with v4l) |
21884 |
- $(use_with vkd3d) |
21885 |
- $(use_with vulkan) |
21886 |
- $(use_with X x) |
21887 |
- $(use_with X xfixes) |
21888 |
- $(use_with xcomposite) |
21889 |
- $(use_with xinerama) |
21890 |
- $(use_with xml) |
21891 |
- $(use_with xml xslt) |
21892 |
- ) |
21893 |
- |
21894 |
- local PKG_CONFIG AR RANLIB |
21895 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
21896 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
21897 |
- tc-export PKG_CONFIG AR RANLIB |
21898 |
- |
21899 |
- if use amd64; then |
21900 |
- if [[ ${ABI} == amd64 ]]; then |
21901 |
- myconf+=( --enable-win64 ) |
21902 |
- else |
21903 |
- myconf+=( --disable-win64 ) |
21904 |
- fi |
21905 |
- |
21906 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
21907 |
- # CC/LD hackery. We're using separate tools instead. |
21908 |
- fi |
21909 |
- |
21910 |
- ECONF_SOURCE=${S} \ |
21911 |
- econf "${myconf[@]}" |
21912 |
- emake depend |
21913 |
-} |
21914 |
- |
21915 |
-multilib_src_test() { |
21916 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
21917 |
- if [[ ${ABI} == x86 ]]; then |
21918 |
- if [[ $(id -u) == 0 ]]; then |
21919 |
- ewarn "Skipping tests since they cannot be run under the root user." |
21920 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
21921 |
- return |
21922 |
- fi |
21923 |
- |
21924 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
21925 |
- Xemake test |
21926 |
- fi |
21927 |
-} |
21928 |
- |
21929 |
-multilib_src_install_all() { |
21930 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
21931 |
- add_locale_docs() { |
21932 |
- local locale_doc="documentation/README.$1" |
21933 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
21934 |
- } |
21935 |
- l10n_for_each_locale_do add_locale_docs |
21936 |
- |
21937 |
- einstalldocs |
21938 |
- prune_libtool_files --all |
21939 |
- |
21940 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
21941 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
21942 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
21943 |
- fi |
21944 |
- |
21945 |
- # Remove wineconsole if neither backend is installed #551124 |
21946 |
- if ! use X && ! use ncurses; then |
21947 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
21948 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
21949 |
- rm_wineconsole() { |
21950 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
21951 |
- } |
21952 |
- multilib_foreach_abi rm_wineconsole |
21953 |
- fi |
21954 |
- |
21955 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
21956 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
21957 |
- |
21958 |
- if use abi_x86_64 && ! use abi_x86_32; then |
21959 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
21960 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
21961 |
- fi |
21962 |
- |
21963 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
21964 |
- eshopts_push -s failglob #615218 |
21965 |
- # Make wrappers for binaries for handling multiple variants |
21966 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
21967 |
- local b |
21968 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
21969 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
21970 |
- done |
21971 |
- eshopts_pop |
21972 |
-} |
21973 |
- |
21974 |
-pkg_postinst() { |
21975 |
- eselect wine register ${P} |
21976 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
21977 |
- eselect wine register --vanilla ${P} || die |
21978 |
- fi |
21979 |
- |
21980 |
- eselect wine update --all --if-unset || die |
21981 |
- |
21982 |
- xdg_desktop_database_update |
21983 |
- |
21984 |
- if ! use gecko; then |
21985 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
21986 |
- ewarn "implementation of iexplore. Many older windows applications" |
21987 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
21988 |
- ewarn "you will likely need to install an external one, like via winetricks" |
21989 |
- fi |
21990 |
- if ! use mono; then |
21991 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
21992 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
21993 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
21994 |
- ewarn "to install an external one, like via winetricks" |
21995 |
- fi |
21996 |
-} |
21997 |
- |
21998 |
-pkg_prerm() { |
21999 |
- eselect wine deregister ${P} |
22000 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
22001 |
- eselect wine deregister --vanilla ${P} || die |
22002 |
- fi |
22003 |
- |
22004 |
- eselect wine update --all --if-unset || die |
22005 |
-} |
22006 |
- |
22007 |
-pkg_postrm() { |
22008 |
- xdg_desktop_database_update |
22009 |
-} |
22010 |
|
22011 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.17.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.17.ebuild |
22012 |
deleted file mode 100644 |
22013 |
index 04acfab..0000000 |
22014 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.17.ebuild |
22015 |
+++ /dev/null |
22016 |
@@ -1,532 +0,0 @@ |
22017 |
-# Copyright 1999-2018 Gentoo Authors |
22018 |
-# Distributed under the terms of the GNU General Public License v2 |
22019 |
- |
22020 |
-EAPI=6 |
22021 |
- |
22022 |
-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" |
22023 |
-PLOCALE_BACKUP="en" |
22024 |
- |
22025 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
22026 |
- |
22027 |
-MY_PN="${PN%%-*}" |
22028 |
-MY_P="${MY_PN}-${PV}" |
22029 |
- |
22030 |
-if [[ ${PV} == "9999" ]] ; then |
22031 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
22032 |
- EGIT_BRANCH="master" |
22033 |
- inherit git-r3 |
22034 |
- SRC_URI="" |
22035 |
- #KEYWORDS="" |
22036 |
-else |
22037 |
- MAJOR_V=$(ver_cut 1) |
22038 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
22039 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
22040 |
-fi |
22041 |
-S="${WORKDIR}/${MY_P}" |
22042 |
- |
22043 |
-GWP_V="20180120" |
22044 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
22045 |
- |
22046 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
22047 |
-HOMEPAGE="https://www.winehq.org/" |
22048 |
-SRC_URI="${SRC_URI} |
22049 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
22050 |
-" |
22051 |
- |
22052 |
-LICENSE="LGPL-2.1" |
22053 |
-SLOT="${PV}" |
22054 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
22055 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
22056 |
- X? ( truetype ) |
22057 |
- elibc_glibc? ( threads ) |
22058 |
- osmesa? ( opengl ) |
22059 |
- test? ( abi_x86_32 ) |
22060 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
22061 |
- |
22062 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
22063 |
-# or fail due to Xvfb's opengl limitations. |
22064 |
-RESTRICT="test" |
22065 |
- |
22066 |
-COMMON_DEPEND=" |
22067 |
- X? ( |
22068 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
22069 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
22070 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
22071 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
22072 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
22073 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
22074 |
- ) |
22075 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
22076 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
22077 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
22078 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
22079 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
22080 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
22081 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
22082 |
- gstreamer? ( |
22083 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
22084 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
22085 |
- ) |
22086 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
22087 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
22088 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
22089 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
22090 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
22091 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
22092 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
22093 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
22094 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
22095 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
22096 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
22097 |
- opengl? ( |
22098 |
- virtual/glu[${MULTILIB_USEDEP}] |
22099 |
- virtual/opengl[${MULTILIB_USEDEP}] |
22100 |
- ) |
22101 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
22102 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
22103 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
22104 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
22105 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
22106 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
22107 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
22108 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
22109 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
22110 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
22111 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
22112 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
22113 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
22114 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
22115 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
22116 |
- xml? ( |
22117 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
22118 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
22119 |
- )" |
22120 |
- |
22121 |
-RDEPEND="${COMMON_DEPEND} |
22122 |
- app-emulation/wine-desktop-common |
22123 |
- >app-eselect/eselect-wine-0.3 |
22124 |
- !app-emulation/wine:0 |
22125 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
22126 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
22127 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
22128 |
- perl? ( |
22129 |
- dev-lang/perl |
22130 |
- dev-perl/XML-Simple |
22131 |
- ) |
22132 |
- pulseaudio? ( |
22133 |
- realtime? ( sys-auth/rtkit ) |
22134 |
- ) |
22135 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
22136 |
- selinux? ( sec-policy/selinux-wine ) |
22137 |
- udisks? ( sys-fs/udisks:2 )" |
22138 |
- |
22139 |
-# tools/make_requests requires perl |
22140 |
-DEPEND="${COMMON_DEPEND} |
22141 |
- sys-devel/flex |
22142 |
- >=sys-kernel/linux-headers-2.6 |
22143 |
- virtual/pkgconfig |
22144 |
- virtual/yacc |
22145 |
- X? ( x11-base/xorg-proto ) |
22146 |
- prelink? ( sys-devel/prelink ) |
22147 |
- xinerama? ( x11-base/xorg-proto )" |
22148 |
- |
22149 |
-# These use a non-standard "Wine" category, which is provided by |
22150 |
-# /etc/xdg/applications-merged/wine.menu |
22151 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
22152 |
-usr/share/applications/wine-notepad.desktop |
22153 |
-usr/share/applications/wine-uninstaller.desktop |
22154 |
-usr/share/applications/wine-winecfg.desktop" |
22155 |
- |
22156 |
-PATCHES=( |
22157 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
22158 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
22159 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
22160 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
22161 |
-) |
22162 |
-PATCHES_BIN=() |
22163 |
- |
22164 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
22165 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
22166 |
- DEPEND+=" dev-util/patchbin" |
22167 |
-fi |
22168 |
- |
22169 |
-wine_compiler_check() { |
22170 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
22171 |
- |
22172 |
- # GCC-specific bugs |
22173 |
- if tc-is-gcc; then |
22174 |
- # bug #549768 |
22175 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
22176 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
22177 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
22178 |
- # Run in subshell to prevent "Aborted" message |
22179 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
22180 |
- if ! eend $?; then |
22181 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
22182 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
22183 |
- eerror "or use gcc-config to select a different compiler version." |
22184 |
- eerror "See https://bugs.gentoo.org/549768" |
22185 |
- eerror |
22186 |
- return 1 |
22187 |
- fi |
22188 |
- fi |
22189 |
- # bug #574044 |
22190 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
22191 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
22192 |
- # Compile in subshell to prevent "Aborted" message |
22193 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
22194 |
- if ! eend $?; then |
22195 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
22196 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
22197 |
- eerror "or use gcc-config to select a different compiler version." |
22198 |
- eerror "See https://bugs.gentoo.org/574044" |
22199 |
- eerror |
22200 |
- return 1 |
22201 |
- fi |
22202 |
- fi |
22203 |
- fi |
22204 |
- |
22205 |
- # Ensure compiler support |
22206 |
- if use abi_x86_64; then |
22207 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
22208 |
- # Compile in subshell to prevent "Aborted" message |
22209 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
22210 |
- if ! eend $?; then |
22211 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
22212 |
- eerror |
22213 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
22214 |
- eerror |
22215 |
- return 1 |
22216 |
- fi |
22217 |
- fi |
22218 |
-} |
22219 |
- |
22220 |
-wine_build_environment_check() { |
22221 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
22222 |
- |
22223 |
- if use abi_x86_64; then |
22224 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
22225 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
22226 |
- die |
22227 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
22228 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
22229 |
- die |
22230 |
- fi |
22231 |
- fi |
22232 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
22233 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
22234 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
22235 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
22236 |
- fi |
22237 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
22238 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
22239 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
22240 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
22241 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
22242 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
22243 |
- fi |
22244 |
- fi |
22245 |
- |
22246 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
22247 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
22248 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
22249 |
- eerror |
22250 |
- return 1 |
22251 |
- fi |
22252 |
-} |
22253 |
- |
22254 |
-wine_env_vcs_vars() { |
22255 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
22256 |
- local pn_live_val="${pn_live_var}" |
22257 |
- eval pn_live_val='$'${pn_live_val} |
22258 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
22259 |
- eerror "Commits must now be specified using the environmental variables" |
22260 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
22261 |
- eerror |
22262 |
- return 1 |
22263 |
- fi |
22264 |
-} |
22265 |
- |
22266 |
-pkg_pretend() { |
22267 |
- wine_build_environment_check || die |
22268 |
- |
22269 |
- # Verify OSS support |
22270 |
- if use oss && ! use kernel_FreeBSD; then |
22271 |
- if ! has_version ">=media-sound/oss-4"; then |
22272 |
- eerror "You cannot build wine with USE=oss without having support from a" |
22273 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
22274 |
- eerror |
22275 |
- die |
22276 |
- fi |
22277 |
- fi |
22278 |
-} |
22279 |
- |
22280 |
-pkg_setup() { |
22281 |
- wine_build_environment_check || die |
22282 |
- wine_env_vcs_vars || die |
22283 |
- |
22284 |
- WINE_VARIANT="${PN#wine}-${PV}" |
22285 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
22286 |
- |
22287 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
22288 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
22289 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
22290 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
22291 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
22292 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
22293 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
22294 |
- MY_MANDIR="${MY_DATADIR}/man" |
22295 |
-} |
22296 |
- |
22297 |
-src_unpack() { |
22298 |
- if [[ ${PV} == "9999" ]] ; then |
22299 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
22300 |
- fi |
22301 |
- |
22302 |
- default |
22303 |
- |
22304 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
22305 |
-} |
22306 |
- |
22307 |
-src_prepare() { |
22308 |
- |
22309 |
- eapply_bin(){ |
22310 |
- local patch |
22311 |
- for patch in ${PATCHES_BIN[@]}; do |
22312 |
- patchbin --nogit < "${patch}" || die |
22313 |
- done |
22314 |
- } |
22315 |
- |
22316 |
- local md5="$(md5sum server/protocol.def)" |
22317 |
- |
22318 |
- default |
22319 |
- eapply_bin |
22320 |
- eautoreconf |
22321 |
- |
22322 |
- # Modification of the server protocol requires regenerating the server requests |
22323 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
22324 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
22325 |
- tools/make_requests || die #432348 |
22326 |
- fi |
22327 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
22328 |
- if ! use run-exes; then |
22329 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
22330 |
- fi |
22331 |
- |
22332 |
- # Edit wine.desktop to work for specific variant |
22333 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
22334 |
- |
22335 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
22336 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
22337 |
- |
22338 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
22339 |
- |
22340 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
22341 |
- |
22342 |
- # Duplicate manpages input files for wine64 |
22343 |
- local f |
22344 |
- for f in loader/*.man.in; do |
22345 |
- cp ${f} ${f/wine/wine64} || die |
22346 |
- done |
22347 |
- # Add wine64 manpages to Makefile |
22348 |
- if use abi_x86_64; then |
22349 |
- sed -i "/wine.man.in/i \ |
22350 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
22351 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
22352 |
-\164\2/' loader/Makefile.in || die |
22353 |
- fi |
22354 |
- |
22355 |
- rm_man_file(){ |
22356 |
- local file="${1}" |
22357 |
- loc=${2} |
22358 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
22359 |
- } |
22360 |
- |
22361 |
- while read f; do |
22362 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
22363 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
22364 |
-} |
22365 |
- |
22366 |
-src_configure() { |
22367 |
- wine_compiler_check || die |
22368 |
- |
22369 |
- export LDCONFIG=/bin/true |
22370 |
- use custom-cflags || strip-flags |
22371 |
- |
22372 |
- multilib-minimal_src_configure |
22373 |
-} |
22374 |
- |
22375 |
-multilib_src_configure() { |
22376 |
- local myconf=( |
22377 |
- --prefix="${MY_PREFIX}" |
22378 |
- --datarootdir="${MY_DATAROOTDIR}" |
22379 |
- --datadir="${MY_DATADIR}" |
22380 |
- --docdir="${MY_DOCDIR}" |
22381 |
- --includedir="${MY_INCLUDEDIR}" |
22382 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
22383 |
- --libexecdir="${MY_LIBEXECDIR}" |
22384 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
22385 |
- --mandir="${MY_MANDIR}" |
22386 |
- --sysconfdir=/etc/wine |
22387 |
- $(use_with alsa) |
22388 |
- $(use_with capi) |
22389 |
- $(use_with lcms cms) |
22390 |
- $(use_with cups) |
22391 |
- $(use_with ncurses curses) |
22392 |
- $(use_with udisks dbus) |
22393 |
- $(use_with fontconfig) |
22394 |
- $(use_with ssl gnutls) |
22395 |
- $(use_enable gecko mshtml) |
22396 |
- $(use_with gphoto2 gphoto) |
22397 |
- $(use_with gsm) |
22398 |
- $(use_with gssapi) |
22399 |
- $(use_with gstreamer) |
22400 |
- --without-hal |
22401 |
- $(use_with jpeg) |
22402 |
- $(use_with kerberos krb5) |
22403 |
- $(use_with ldap) |
22404 |
- $(use_enable mono mscoree) |
22405 |
- $(use_with mp3 mpg123) |
22406 |
- $(use_with netapi) |
22407 |
- $(use_with nls gettext) |
22408 |
- $(use_with openal) |
22409 |
- $(use_with opencl) |
22410 |
- $(use_with opengl) |
22411 |
- $(use_with osmesa) |
22412 |
- $(use_with oss) |
22413 |
- $(use_with pcap) |
22414 |
- $(use_with png) |
22415 |
- $(use_with pulseaudio pulse) |
22416 |
- $(use_with threads pthread) |
22417 |
- $(use_with scanner sane) |
22418 |
- $(use_with sdl) |
22419 |
- $(use_enable test tests) |
22420 |
- $(use_with truetype freetype) |
22421 |
- $(use_with udev) |
22422 |
- $(use_with v4l) |
22423 |
- $(use_with vkd3d) |
22424 |
- $(use_with vulkan) |
22425 |
- $(use_with X x) |
22426 |
- $(use_with X xfixes) |
22427 |
- $(use_with xcomposite) |
22428 |
- $(use_with xinerama) |
22429 |
- $(use_with xml) |
22430 |
- $(use_with xml xslt) |
22431 |
- ) |
22432 |
- |
22433 |
- local PKG_CONFIG AR RANLIB |
22434 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
22435 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
22436 |
- tc-export PKG_CONFIG AR RANLIB |
22437 |
- |
22438 |
- if use amd64; then |
22439 |
- if [[ ${ABI} == amd64 ]]; then |
22440 |
- myconf+=( --enable-win64 ) |
22441 |
- else |
22442 |
- myconf+=( --disable-win64 ) |
22443 |
- fi |
22444 |
- |
22445 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
22446 |
- # CC/LD hackery. We're using separate tools instead. |
22447 |
- fi |
22448 |
- |
22449 |
- ECONF_SOURCE=${S} \ |
22450 |
- econf "${myconf[@]}" |
22451 |
- emake depend |
22452 |
-} |
22453 |
- |
22454 |
-multilib_src_test() { |
22455 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
22456 |
- if [[ ${ABI} == x86 ]]; then |
22457 |
- if [[ $(id -u) == 0 ]]; then |
22458 |
- ewarn "Skipping tests since they cannot be run under the root user." |
22459 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
22460 |
- return |
22461 |
- fi |
22462 |
- |
22463 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
22464 |
- Xemake test |
22465 |
- fi |
22466 |
-} |
22467 |
- |
22468 |
-multilib_src_install_all() { |
22469 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
22470 |
- add_locale_docs() { |
22471 |
- local locale_doc="documentation/README.$1" |
22472 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
22473 |
- } |
22474 |
- l10n_for_each_locale_do add_locale_docs |
22475 |
- |
22476 |
- einstalldocs |
22477 |
- prune_libtool_files --all |
22478 |
- |
22479 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
22480 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
22481 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
22482 |
- fi |
22483 |
- |
22484 |
- # Remove wineconsole if neither backend is installed #551124 |
22485 |
- if ! use X && ! use ncurses; then |
22486 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
22487 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
22488 |
- rm_wineconsole() { |
22489 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
22490 |
- } |
22491 |
- multilib_foreach_abi rm_wineconsole |
22492 |
- fi |
22493 |
- |
22494 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
22495 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
22496 |
- |
22497 |
- if use abi_x86_64 && ! use abi_x86_32; then |
22498 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
22499 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
22500 |
- fi |
22501 |
- |
22502 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
22503 |
- eshopts_push -s failglob #615218 |
22504 |
- # Make wrappers for binaries for handling multiple variants |
22505 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
22506 |
- local b |
22507 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
22508 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
22509 |
- done |
22510 |
- eshopts_pop |
22511 |
-} |
22512 |
- |
22513 |
-pkg_postinst() { |
22514 |
- eselect wine register ${P} |
22515 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
22516 |
- eselect wine register --vanilla ${P} || die |
22517 |
- fi |
22518 |
- |
22519 |
- eselect wine update --all --if-unset || die |
22520 |
- |
22521 |
- xdg_desktop_database_update |
22522 |
- |
22523 |
- if ! use gecko; then |
22524 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
22525 |
- ewarn "implementation of iexplore. Many older windows applications" |
22526 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
22527 |
- ewarn "you will likely need to install an external one, like via winetricks" |
22528 |
- fi |
22529 |
- if ! use mono; then |
22530 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
22531 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
22532 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
22533 |
- ewarn "to install an external one, like via winetricks" |
22534 |
- fi |
22535 |
-} |
22536 |
- |
22537 |
-pkg_prerm() { |
22538 |
- eselect wine deregister ${P} |
22539 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
22540 |
- eselect wine deregister --vanilla ${P} || die |
22541 |
- fi |
22542 |
- |
22543 |
- eselect wine update --all --if-unset || die |
22544 |
-} |
22545 |
- |
22546 |
-pkg_postrm() { |
22547 |
- xdg_desktop_database_update |
22548 |
-} |
22549 |
|
22550 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.18.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.18.ebuild |
22551 |
deleted file mode 100644 |
22552 |
index 04acfab..0000000 |
22553 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.18.ebuild |
22554 |
+++ /dev/null |
22555 |
@@ -1,532 +0,0 @@ |
22556 |
-# Copyright 1999-2018 Gentoo Authors |
22557 |
-# Distributed under the terms of the GNU General Public License v2 |
22558 |
- |
22559 |
-EAPI=6 |
22560 |
- |
22561 |
-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" |
22562 |
-PLOCALE_BACKUP="en" |
22563 |
- |
22564 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
22565 |
- |
22566 |
-MY_PN="${PN%%-*}" |
22567 |
-MY_P="${MY_PN}-${PV}" |
22568 |
- |
22569 |
-if [[ ${PV} == "9999" ]] ; then |
22570 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
22571 |
- EGIT_BRANCH="master" |
22572 |
- inherit git-r3 |
22573 |
- SRC_URI="" |
22574 |
- #KEYWORDS="" |
22575 |
-else |
22576 |
- MAJOR_V=$(ver_cut 1) |
22577 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
22578 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
22579 |
-fi |
22580 |
-S="${WORKDIR}/${MY_P}" |
22581 |
- |
22582 |
-GWP_V="20180120" |
22583 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
22584 |
- |
22585 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
22586 |
-HOMEPAGE="https://www.winehq.org/" |
22587 |
-SRC_URI="${SRC_URI} |
22588 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
22589 |
-" |
22590 |
- |
22591 |
-LICENSE="LGPL-2.1" |
22592 |
-SLOT="${PV}" |
22593 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
22594 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
22595 |
- X? ( truetype ) |
22596 |
- elibc_glibc? ( threads ) |
22597 |
- osmesa? ( opengl ) |
22598 |
- test? ( abi_x86_32 ) |
22599 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
22600 |
- |
22601 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
22602 |
-# or fail due to Xvfb's opengl limitations. |
22603 |
-RESTRICT="test" |
22604 |
- |
22605 |
-COMMON_DEPEND=" |
22606 |
- X? ( |
22607 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
22608 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
22609 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
22610 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
22611 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
22612 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
22613 |
- ) |
22614 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
22615 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
22616 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
22617 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
22618 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
22619 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
22620 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
22621 |
- gstreamer? ( |
22622 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
22623 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
22624 |
- ) |
22625 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
22626 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
22627 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
22628 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
22629 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
22630 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
22631 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
22632 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
22633 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
22634 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
22635 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
22636 |
- opengl? ( |
22637 |
- virtual/glu[${MULTILIB_USEDEP}] |
22638 |
- virtual/opengl[${MULTILIB_USEDEP}] |
22639 |
- ) |
22640 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
22641 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
22642 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
22643 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
22644 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
22645 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
22646 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
22647 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
22648 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
22649 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
22650 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
22651 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
22652 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
22653 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
22654 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
22655 |
- xml? ( |
22656 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
22657 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
22658 |
- )" |
22659 |
- |
22660 |
-RDEPEND="${COMMON_DEPEND} |
22661 |
- app-emulation/wine-desktop-common |
22662 |
- >app-eselect/eselect-wine-0.3 |
22663 |
- !app-emulation/wine:0 |
22664 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
22665 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
22666 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
22667 |
- perl? ( |
22668 |
- dev-lang/perl |
22669 |
- dev-perl/XML-Simple |
22670 |
- ) |
22671 |
- pulseaudio? ( |
22672 |
- realtime? ( sys-auth/rtkit ) |
22673 |
- ) |
22674 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
22675 |
- selinux? ( sec-policy/selinux-wine ) |
22676 |
- udisks? ( sys-fs/udisks:2 )" |
22677 |
- |
22678 |
-# tools/make_requests requires perl |
22679 |
-DEPEND="${COMMON_DEPEND} |
22680 |
- sys-devel/flex |
22681 |
- >=sys-kernel/linux-headers-2.6 |
22682 |
- virtual/pkgconfig |
22683 |
- virtual/yacc |
22684 |
- X? ( x11-base/xorg-proto ) |
22685 |
- prelink? ( sys-devel/prelink ) |
22686 |
- xinerama? ( x11-base/xorg-proto )" |
22687 |
- |
22688 |
-# These use a non-standard "Wine" category, which is provided by |
22689 |
-# /etc/xdg/applications-merged/wine.menu |
22690 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
22691 |
-usr/share/applications/wine-notepad.desktop |
22692 |
-usr/share/applications/wine-uninstaller.desktop |
22693 |
-usr/share/applications/wine-winecfg.desktop" |
22694 |
- |
22695 |
-PATCHES=( |
22696 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
22697 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
22698 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
22699 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
22700 |
-) |
22701 |
-PATCHES_BIN=() |
22702 |
- |
22703 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
22704 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
22705 |
- DEPEND+=" dev-util/patchbin" |
22706 |
-fi |
22707 |
- |
22708 |
-wine_compiler_check() { |
22709 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
22710 |
- |
22711 |
- # GCC-specific bugs |
22712 |
- if tc-is-gcc; then |
22713 |
- # bug #549768 |
22714 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
22715 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
22716 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
22717 |
- # Run in subshell to prevent "Aborted" message |
22718 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
22719 |
- if ! eend $?; then |
22720 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
22721 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
22722 |
- eerror "or use gcc-config to select a different compiler version." |
22723 |
- eerror "See https://bugs.gentoo.org/549768" |
22724 |
- eerror |
22725 |
- return 1 |
22726 |
- fi |
22727 |
- fi |
22728 |
- # bug #574044 |
22729 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
22730 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
22731 |
- # Compile in subshell to prevent "Aborted" message |
22732 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
22733 |
- if ! eend $?; then |
22734 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
22735 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
22736 |
- eerror "or use gcc-config to select a different compiler version." |
22737 |
- eerror "See https://bugs.gentoo.org/574044" |
22738 |
- eerror |
22739 |
- return 1 |
22740 |
- fi |
22741 |
- fi |
22742 |
- fi |
22743 |
- |
22744 |
- # Ensure compiler support |
22745 |
- if use abi_x86_64; then |
22746 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
22747 |
- # Compile in subshell to prevent "Aborted" message |
22748 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
22749 |
- if ! eend $?; then |
22750 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
22751 |
- eerror |
22752 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
22753 |
- eerror |
22754 |
- return 1 |
22755 |
- fi |
22756 |
- fi |
22757 |
-} |
22758 |
- |
22759 |
-wine_build_environment_check() { |
22760 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
22761 |
- |
22762 |
- if use abi_x86_64; then |
22763 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
22764 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
22765 |
- die |
22766 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
22767 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
22768 |
- die |
22769 |
- fi |
22770 |
- fi |
22771 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
22772 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
22773 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
22774 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
22775 |
- fi |
22776 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
22777 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
22778 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
22779 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
22780 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
22781 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
22782 |
- fi |
22783 |
- fi |
22784 |
- |
22785 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
22786 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
22787 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
22788 |
- eerror |
22789 |
- return 1 |
22790 |
- fi |
22791 |
-} |
22792 |
- |
22793 |
-wine_env_vcs_vars() { |
22794 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
22795 |
- local pn_live_val="${pn_live_var}" |
22796 |
- eval pn_live_val='$'${pn_live_val} |
22797 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
22798 |
- eerror "Commits must now be specified using the environmental variables" |
22799 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
22800 |
- eerror |
22801 |
- return 1 |
22802 |
- fi |
22803 |
-} |
22804 |
- |
22805 |
-pkg_pretend() { |
22806 |
- wine_build_environment_check || die |
22807 |
- |
22808 |
- # Verify OSS support |
22809 |
- if use oss && ! use kernel_FreeBSD; then |
22810 |
- if ! has_version ">=media-sound/oss-4"; then |
22811 |
- eerror "You cannot build wine with USE=oss without having support from a" |
22812 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
22813 |
- eerror |
22814 |
- die |
22815 |
- fi |
22816 |
- fi |
22817 |
-} |
22818 |
- |
22819 |
-pkg_setup() { |
22820 |
- wine_build_environment_check || die |
22821 |
- wine_env_vcs_vars || die |
22822 |
- |
22823 |
- WINE_VARIANT="${PN#wine}-${PV}" |
22824 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
22825 |
- |
22826 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
22827 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
22828 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
22829 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
22830 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
22831 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
22832 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
22833 |
- MY_MANDIR="${MY_DATADIR}/man" |
22834 |
-} |
22835 |
- |
22836 |
-src_unpack() { |
22837 |
- if [[ ${PV} == "9999" ]] ; then |
22838 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
22839 |
- fi |
22840 |
- |
22841 |
- default |
22842 |
- |
22843 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
22844 |
-} |
22845 |
- |
22846 |
-src_prepare() { |
22847 |
- |
22848 |
- eapply_bin(){ |
22849 |
- local patch |
22850 |
- for patch in ${PATCHES_BIN[@]}; do |
22851 |
- patchbin --nogit < "${patch}" || die |
22852 |
- done |
22853 |
- } |
22854 |
- |
22855 |
- local md5="$(md5sum server/protocol.def)" |
22856 |
- |
22857 |
- default |
22858 |
- eapply_bin |
22859 |
- eautoreconf |
22860 |
- |
22861 |
- # Modification of the server protocol requires regenerating the server requests |
22862 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
22863 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
22864 |
- tools/make_requests || die #432348 |
22865 |
- fi |
22866 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
22867 |
- if ! use run-exes; then |
22868 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
22869 |
- fi |
22870 |
- |
22871 |
- # Edit wine.desktop to work for specific variant |
22872 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
22873 |
- |
22874 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
22875 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
22876 |
- |
22877 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
22878 |
- |
22879 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
22880 |
- |
22881 |
- # Duplicate manpages input files for wine64 |
22882 |
- local f |
22883 |
- for f in loader/*.man.in; do |
22884 |
- cp ${f} ${f/wine/wine64} || die |
22885 |
- done |
22886 |
- # Add wine64 manpages to Makefile |
22887 |
- if use abi_x86_64; then |
22888 |
- sed -i "/wine.man.in/i \ |
22889 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
22890 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
22891 |
-\164\2/' loader/Makefile.in || die |
22892 |
- fi |
22893 |
- |
22894 |
- rm_man_file(){ |
22895 |
- local file="${1}" |
22896 |
- loc=${2} |
22897 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
22898 |
- } |
22899 |
- |
22900 |
- while read f; do |
22901 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
22902 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
22903 |
-} |
22904 |
- |
22905 |
-src_configure() { |
22906 |
- wine_compiler_check || die |
22907 |
- |
22908 |
- export LDCONFIG=/bin/true |
22909 |
- use custom-cflags || strip-flags |
22910 |
- |
22911 |
- multilib-minimal_src_configure |
22912 |
-} |
22913 |
- |
22914 |
-multilib_src_configure() { |
22915 |
- local myconf=( |
22916 |
- --prefix="${MY_PREFIX}" |
22917 |
- --datarootdir="${MY_DATAROOTDIR}" |
22918 |
- --datadir="${MY_DATADIR}" |
22919 |
- --docdir="${MY_DOCDIR}" |
22920 |
- --includedir="${MY_INCLUDEDIR}" |
22921 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
22922 |
- --libexecdir="${MY_LIBEXECDIR}" |
22923 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
22924 |
- --mandir="${MY_MANDIR}" |
22925 |
- --sysconfdir=/etc/wine |
22926 |
- $(use_with alsa) |
22927 |
- $(use_with capi) |
22928 |
- $(use_with lcms cms) |
22929 |
- $(use_with cups) |
22930 |
- $(use_with ncurses curses) |
22931 |
- $(use_with udisks dbus) |
22932 |
- $(use_with fontconfig) |
22933 |
- $(use_with ssl gnutls) |
22934 |
- $(use_enable gecko mshtml) |
22935 |
- $(use_with gphoto2 gphoto) |
22936 |
- $(use_with gsm) |
22937 |
- $(use_with gssapi) |
22938 |
- $(use_with gstreamer) |
22939 |
- --without-hal |
22940 |
- $(use_with jpeg) |
22941 |
- $(use_with kerberos krb5) |
22942 |
- $(use_with ldap) |
22943 |
- $(use_enable mono mscoree) |
22944 |
- $(use_with mp3 mpg123) |
22945 |
- $(use_with netapi) |
22946 |
- $(use_with nls gettext) |
22947 |
- $(use_with openal) |
22948 |
- $(use_with opencl) |
22949 |
- $(use_with opengl) |
22950 |
- $(use_with osmesa) |
22951 |
- $(use_with oss) |
22952 |
- $(use_with pcap) |
22953 |
- $(use_with png) |
22954 |
- $(use_with pulseaudio pulse) |
22955 |
- $(use_with threads pthread) |
22956 |
- $(use_with scanner sane) |
22957 |
- $(use_with sdl) |
22958 |
- $(use_enable test tests) |
22959 |
- $(use_with truetype freetype) |
22960 |
- $(use_with udev) |
22961 |
- $(use_with v4l) |
22962 |
- $(use_with vkd3d) |
22963 |
- $(use_with vulkan) |
22964 |
- $(use_with X x) |
22965 |
- $(use_with X xfixes) |
22966 |
- $(use_with xcomposite) |
22967 |
- $(use_with xinerama) |
22968 |
- $(use_with xml) |
22969 |
- $(use_with xml xslt) |
22970 |
- ) |
22971 |
- |
22972 |
- local PKG_CONFIG AR RANLIB |
22973 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
22974 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
22975 |
- tc-export PKG_CONFIG AR RANLIB |
22976 |
- |
22977 |
- if use amd64; then |
22978 |
- if [[ ${ABI} == amd64 ]]; then |
22979 |
- myconf+=( --enable-win64 ) |
22980 |
- else |
22981 |
- myconf+=( --disable-win64 ) |
22982 |
- fi |
22983 |
- |
22984 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
22985 |
- # CC/LD hackery. We're using separate tools instead. |
22986 |
- fi |
22987 |
- |
22988 |
- ECONF_SOURCE=${S} \ |
22989 |
- econf "${myconf[@]}" |
22990 |
- emake depend |
22991 |
-} |
22992 |
- |
22993 |
-multilib_src_test() { |
22994 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
22995 |
- if [[ ${ABI} == x86 ]]; then |
22996 |
- if [[ $(id -u) == 0 ]]; then |
22997 |
- ewarn "Skipping tests since they cannot be run under the root user." |
22998 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
22999 |
- return |
23000 |
- fi |
23001 |
- |
23002 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
23003 |
- Xemake test |
23004 |
- fi |
23005 |
-} |
23006 |
- |
23007 |
-multilib_src_install_all() { |
23008 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
23009 |
- add_locale_docs() { |
23010 |
- local locale_doc="documentation/README.$1" |
23011 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
23012 |
- } |
23013 |
- l10n_for_each_locale_do add_locale_docs |
23014 |
- |
23015 |
- einstalldocs |
23016 |
- prune_libtool_files --all |
23017 |
- |
23018 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
23019 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
23020 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
23021 |
- fi |
23022 |
- |
23023 |
- # Remove wineconsole if neither backend is installed #551124 |
23024 |
- if ! use X && ! use ncurses; then |
23025 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
23026 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
23027 |
- rm_wineconsole() { |
23028 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
23029 |
- } |
23030 |
- multilib_foreach_abi rm_wineconsole |
23031 |
- fi |
23032 |
- |
23033 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
23034 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
23035 |
- |
23036 |
- if use abi_x86_64 && ! use abi_x86_32; then |
23037 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
23038 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
23039 |
- fi |
23040 |
- |
23041 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
23042 |
- eshopts_push -s failglob #615218 |
23043 |
- # Make wrappers for binaries for handling multiple variants |
23044 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
23045 |
- local b |
23046 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
23047 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
23048 |
- done |
23049 |
- eshopts_pop |
23050 |
-} |
23051 |
- |
23052 |
-pkg_postinst() { |
23053 |
- eselect wine register ${P} |
23054 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
23055 |
- eselect wine register --vanilla ${P} || die |
23056 |
- fi |
23057 |
- |
23058 |
- eselect wine update --all --if-unset || die |
23059 |
- |
23060 |
- xdg_desktop_database_update |
23061 |
- |
23062 |
- if ! use gecko; then |
23063 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
23064 |
- ewarn "implementation of iexplore. Many older windows applications" |
23065 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
23066 |
- ewarn "you will likely need to install an external one, like via winetricks" |
23067 |
- fi |
23068 |
- if ! use mono; then |
23069 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
23070 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
23071 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
23072 |
- ewarn "to install an external one, like via winetricks" |
23073 |
- fi |
23074 |
-} |
23075 |
- |
23076 |
-pkg_prerm() { |
23077 |
- eselect wine deregister ${P} |
23078 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
23079 |
- eselect wine deregister --vanilla ${P} || die |
23080 |
- fi |
23081 |
- |
23082 |
- eselect wine update --all --if-unset || die |
23083 |
-} |
23084 |
- |
23085 |
-pkg_postrm() { |
23086 |
- xdg_desktop_database_update |
23087 |
-} |
23088 |
|
23089 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.19.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.19.ebuild |
23090 |
deleted file mode 100644 |
23091 |
index 04acfab..0000000 |
23092 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.19.ebuild |
23093 |
+++ /dev/null |
23094 |
@@ -1,532 +0,0 @@ |
23095 |
-# Copyright 1999-2018 Gentoo Authors |
23096 |
-# Distributed under the terms of the GNU General Public License v2 |
23097 |
- |
23098 |
-EAPI=6 |
23099 |
- |
23100 |
-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" |
23101 |
-PLOCALE_BACKUP="en" |
23102 |
- |
23103 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
23104 |
- |
23105 |
-MY_PN="${PN%%-*}" |
23106 |
-MY_P="${MY_PN}-${PV}" |
23107 |
- |
23108 |
-if [[ ${PV} == "9999" ]] ; then |
23109 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
23110 |
- EGIT_BRANCH="master" |
23111 |
- inherit git-r3 |
23112 |
- SRC_URI="" |
23113 |
- #KEYWORDS="" |
23114 |
-else |
23115 |
- MAJOR_V=$(ver_cut 1) |
23116 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
23117 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
23118 |
-fi |
23119 |
-S="${WORKDIR}/${MY_P}" |
23120 |
- |
23121 |
-GWP_V="20180120" |
23122 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
23123 |
- |
23124 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
23125 |
-HOMEPAGE="https://www.winehq.org/" |
23126 |
-SRC_URI="${SRC_URI} |
23127 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
23128 |
-" |
23129 |
- |
23130 |
-LICENSE="LGPL-2.1" |
23131 |
-SLOT="${PV}" |
23132 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
23133 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
23134 |
- X? ( truetype ) |
23135 |
- elibc_glibc? ( threads ) |
23136 |
- osmesa? ( opengl ) |
23137 |
- test? ( abi_x86_32 ) |
23138 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
23139 |
- |
23140 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
23141 |
-# or fail due to Xvfb's opengl limitations. |
23142 |
-RESTRICT="test" |
23143 |
- |
23144 |
-COMMON_DEPEND=" |
23145 |
- X? ( |
23146 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
23147 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
23148 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
23149 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
23150 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
23151 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
23152 |
- ) |
23153 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
23154 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
23155 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
23156 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
23157 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
23158 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
23159 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
23160 |
- gstreamer? ( |
23161 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
23162 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
23163 |
- ) |
23164 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
23165 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
23166 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
23167 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
23168 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
23169 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
23170 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
23171 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
23172 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
23173 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
23174 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
23175 |
- opengl? ( |
23176 |
- virtual/glu[${MULTILIB_USEDEP}] |
23177 |
- virtual/opengl[${MULTILIB_USEDEP}] |
23178 |
- ) |
23179 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
23180 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
23181 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
23182 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
23183 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
23184 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
23185 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
23186 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
23187 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
23188 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
23189 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
23190 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
23191 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
23192 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
23193 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
23194 |
- xml? ( |
23195 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
23196 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
23197 |
- )" |
23198 |
- |
23199 |
-RDEPEND="${COMMON_DEPEND} |
23200 |
- app-emulation/wine-desktop-common |
23201 |
- >app-eselect/eselect-wine-0.3 |
23202 |
- !app-emulation/wine:0 |
23203 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
23204 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
23205 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
23206 |
- perl? ( |
23207 |
- dev-lang/perl |
23208 |
- dev-perl/XML-Simple |
23209 |
- ) |
23210 |
- pulseaudio? ( |
23211 |
- realtime? ( sys-auth/rtkit ) |
23212 |
- ) |
23213 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
23214 |
- selinux? ( sec-policy/selinux-wine ) |
23215 |
- udisks? ( sys-fs/udisks:2 )" |
23216 |
- |
23217 |
-# tools/make_requests requires perl |
23218 |
-DEPEND="${COMMON_DEPEND} |
23219 |
- sys-devel/flex |
23220 |
- >=sys-kernel/linux-headers-2.6 |
23221 |
- virtual/pkgconfig |
23222 |
- virtual/yacc |
23223 |
- X? ( x11-base/xorg-proto ) |
23224 |
- prelink? ( sys-devel/prelink ) |
23225 |
- xinerama? ( x11-base/xorg-proto )" |
23226 |
- |
23227 |
-# These use a non-standard "Wine" category, which is provided by |
23228 |
-# /etc/xdg/applications-merged/wine.menu |
23229 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
23230 |
-usr/share/applications/wine-notepad.desktop |
23231 |
-usr/share/applications/wine-uninstaller.desktop |
23232 |
-usr/share/applications/wine-winecfg.desktop" |
23233 |
- |
23234 |
-PATCHES=( |
23235 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
23236 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
23237 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
23238 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
23239 |
-) |
23240 |
-PATCHES_BIN=() |
23241 |
- |
23242 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
23243 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
23244 |
- DEPEND+=" dev-util/patchbin" |
23245 |
-fi |
23246 |
- |
23247 |
-wine_compiler_check() { |
23248 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
23249 |
- |
23250 |
- # GCC-specific bugs |
23251 |
- if tc-is-gcc; then |
23252 |
- # bug #549768 |
23253 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
23254 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
23255 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
23256 |
- # Run in subshell to prevent "Aborted" message |
23257 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
23258 |
- if ! eend $?; then |
23259 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
23260 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
23261 |
- eerror "or use gcc-config to select a different compiler version." |
23262 |
- eerror "See https://bugs.gentoo.org/549768" |
23263 |
- eerror |
23264 |
- return 1 |
23265 |
- fi |
23266 |
- fi |
23267 |
- # bug #574044 |
23268 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
23269 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
23270 |
- # Compile in subshell to prevent "Aborted" message |
23271 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
23272 |
- if ! eend $?; then |
23273 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
23274 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
23275 |
- eerror "or use gcc-config to select a different compiler version." |
23276 |
- eerror "See https://bugs.gentoo.org/574044" |
23277 |
- eerror |
23278 |
- return 1 |
23279 |
- fi |
23280 |
- fi |
23281 |
- fi |
23282 |
- |
23283 |
- # Ensure compiler support |
23284 |
- if use abi_x86_64; then |
23285 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
23286 |
- # Compile in subshell to prevent "Aborted" message |
23287 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
23288 |
- if ! eend $?; then |
23289 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
23290 |
- eerror |
23291 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
23292 |
- eerror |
23293 |
- return 1 |
23294 |
- fi |
23295 |
- fi |
23296 |
-} |
23297 |
- |
23298 |
-wine_build_environment_check() { |
23299 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
23300 |
- |
23301 |
- if use abi_x86_64; then |
23302 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
23303 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
23304 |
- die |
23305 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
23306 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
23307 |
- die |
23308 |
- fi |
23309 |
- fi |
23310 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
23311 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
23312 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
23313 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
23314 |
- fi |
23315 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
23316 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
23317 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
23318 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
23319 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
23320 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
23321 |
- fi |
23322 |
- fi |
23323 |
- |
23324 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
23325 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
23326 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
23327 |
- eerror |
23328 |
- return 1 |
23329 |
- fi |
23330 |
-} |
23331 |
- |
23332 |
-wine_env_vcs_vars() { |
23333 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
23334 |
- local pn_live_val="${pn_live_var}" |
23335 |
- eval pn_live_val='$'${pn_live_val} |
23336 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
23337 |
- eerror "Commits must now be specified using the environmental variables" |
23338 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
23339 |
- eerror |
23340 |
- return 1 |
23341 |
- fi |
23342 |
-} |
23343 |
- |
23344 |
-pkg_pretend() { |
23345 |
- wine_build_environment_check || die |
23346 |
- |
23347 |
- # Verify OSS support |
23348 |
- if use oss && ! use kernel_FreeBSD; then |
23349 |
- if ! has_version ">=media-sound/oss-4"; then |
23350 |
- eerror "You cannot build wine with USE=oss without having support from a" |
23351 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
23352 |
- eerror |
23353 |
- die |
23354 |
- fi |
23355 |
- fi |
23356 |
-} |
23357 |
- |
23358 |
-pkg_setup() { |
23359 |
- wine_build_environment_check || die |
23360 |
- wine_env_vcs_vars || die |
23361 |
- |
23362 |
- WINE_VARIANT="${PN#wine}-${PV}" |
23363 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
23364 |
- |
23365 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
23366 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
23367 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
23368 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
23369 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
23370 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
23371 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
23372 |
- MY_MANDIR="${MY_DATADIR}/man" |
23373 |
-} |
23374 |
- |
23375 |
-src_unpack() { |
23376 |
- if [[ ${PV} == "9999" ]] ; then |
23377 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
23378 |
- fi |
23379 |
- |
23380 |
- default |
23381 |
- |
23382 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
23383 |
-} |
23384 |
- |
23385 |
-src_prepare() { |
23386 |
- |
23387 |
- eapply_bin(){ |
23388 |
- local patch |
23389 |
- for patch in ${PATCHES_BIN[@]}; do |
23390 |
- patchbin --nogit < "${patch}" || die |
23391 |
- done |
23392 |
- } |
23393 |
- |
23394 |
- local md5="$(md5sum server/protocol.def)" |
23395 |
- |
23396 |
- default |
23397 |
- eapply_bin |
23398 |
- eautoreconf |
23399 |
- |
23400 |
- # Modification of the server protocol requires regenerating the server requests |
23401 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
23402 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
23403 |
- tools/make_requests || die #432348 |
23404 |
- fi |
23405 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
23406 |
- if ! use run-exes; then |
23407 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
23408 |
- fi |
23409 |
- |
23410 |
- # Edit wine.desktop to work for specific variant |
23411 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
23412 |
- |
23413 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
23414 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
23415 |
- |
23416 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
23417 |
- |
23418 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
23419 |
- |
23420 |
- # Duplicate manpages input files for wine64 |
23421 |
- local f |
23422 |
- for f in loader/*.man.in; do |
23423 |
- cp ${f} ${f/wine/wine64} || die |
23424 |
- done |
23425 |
- # Add wine64 manpages to Makefile |
23426 |
- if use abi_x86_64; then |
23427 |
- sed -i "/wine.man.in/i \ |
23428 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
23429 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
23430 |
-\164\2/' loader/Makefile.in || die |
23431 |
- fi |
23432 |
- |
23433 |
- rm_man_file(){ |
23434 |
- local file="${1}" |
23435 |
- loc=${2} |
23436 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
23437 |
- } |
23438 |
- |
23439 |
- while read f; do |
23440 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
23441 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
23442 |
-} |
23443 |
- |
23444 |
-src_configure() { |
23445 |
- wine_compiler_check || die |
23446 |
- |
23447 |
- export LDCONFIG=/bin/true |
23448 |
- use custom-cflags || strip-flags |
23449 |
- |
23450 |
- multilib-minimal_src_configure |
23451 |
-} |
23452 |
- |
23453 |
-multilib_src_configure() { |
23454 |
- local myconf=( |
23455 |
- --prefix="${MY_PREFIX}" |
23456 |
- --datarootdir="${MY_DATAROOTDIR}" |
23457 |
- --datadir="${MY_DATADIR}" |
23458 |
- --docdir="${MY_DOCDIR}" |
23459 |
- --includedir="${MY_INCLUDEDIR}" |
23460 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
23461 |
- --libexecdir="${MY_LIBEXECDIR}" |
23462 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
23463 |
- --mandir="${MY_MANDIR}" |
23464 |
- --sysconfdir=/etc/wine |
23465 |
- $(use_with alsa) |
23466 |
- $(use_with capi) |
23467 |
- $(use_with lcms cms) |
23468 |
- $(use_with cups) |
23469 |
- $(use_with ncurses curses) |
23470 |
- $(use_with udisks dbus) |
23471 |
- $(use_with fontconfig) |
23472 |
- $(use_with ssl gnutls) |
23473 |
- $(use_enable gecko mshtml) |
23474 |
- $(use_with gphoto2 gphoto) |
23475 |
- $(use_with gsm) |
23476 |
- $(use_with gssapi) |
23477 |
- $(use_with gstreamer) |
23478 |
- --without-hal |
23479 |
- $(use_with jpeg) |
23480 |
- $(use_with kerberos krb5) |
23481 |
- $(use_with ldap) |
23482 |
- $(use_enable mono mscoree) |
23483 |
- $(use_with mp3 mpg123) |
23484 |
- $(use_with netapi) |
23485 |
- $(use_with nls gettext) |
23486 |
- $(use_with openal) |
23487 |
- $(use_with opencl) |
23488 |
- $(use_with opengl) |
23489 |
- $(use_with osmesa) |
23490 |
- $(use_with oss) |
23491 |
- $(use_with pcap) |
23492 |
- $(use_with png) |
23493 |
- $(use_with pulseaudio pulse) |
23494 |
- $(use_with threads pthread) |
23495 |
- $(use_with scanner sane) |
23496 |
- $(use_with sdl) |
23497 |
- $(use_enable test tests) |
23498 |
- $(use_with truetype freetype) |
23499 |
- $(use_with udev) |
23500 |
- $(use_with v4l) |
23501 |
- $(use_with vkd3d) |
23502 |
- $(use_with vulkan) |
23503 |
- $(use_with X x) |
23504 |
- $(use_with X xfixes) |
23505 |
- $(use_with xcomposite) |
23506 |
- $(use_with xinerama) |
23507 |
- $(use_with xml) |
23508 |
- $(use_with xml xslt) |
23509 |
- ) |
23510 |
- |
23511 |
- local PKG_CONFIG AR RANLIB |
23512 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
23513 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
23514 |
- tc-export PKG_CONFIG AR RANLIB |
23515 |
- |
23516 |
- if use amd64; then |
23517 |
- if [[ ${ABI} == amd64 ]]; then |
23518 |
- myconf+=( --enable-win64 ) |
23519 |
- else |
23520 |
- myconf+=( --disable-win64 ) |
23521 |
- fi |
23522 |
- |
23523 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
23524 |
- # CC/LD hackery. We're using separate tools instead. |
23525 |
- fi |
23526 |
- |
23527 |
- ECONF_SOURCE=${S} \ |
23528 |
- econf "${myconf[@]}" |
23529 |
- emake depend |
23530 |
-} |
23531 |
- |
23532 |
-multilib_src_test() { |
23533 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
23534 |
- if [[ ${ABI} == x86 ]]; then |
23535 |
- if [[ $(id -u) == 0 ]]; then |
23536 |
- ewarn "Skipping tests since they cannot be run under the root user." |
23537 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
23538 |
- return |
23539 |
- fi |
23540 |
- |
23541 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
23542 |
- Xemake test |
23543 |
- fi |
23544 |
-} |
23545 |
- |
23546 |
-multilib_src_install_all() { |
23547 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
23548 |
- add_locale_docs() { |
23549 |
- local locale_doc="documentation/README.$1" |
23550 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
23551 |
- } |
23552 |
- l10n_for_each_locale_do add_locale_docs |
23553 |
- |
23554 |
- einstalldocs |
23555 |
- prune_libtool_files --all |
23556 |
- |
23557 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
23558 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
23559 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
23560 |
- fi |
23561 |
- |
23562 |
- # Remove wineconsole if neither backend is installed #551124 |
23563 |
- if ! use X && ! use ncurses; then |
23564 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
23565 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
23566 |
- rm_wineconsole() { |
23567 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
23568 |
- } |
23569 |
- multilib_foreach_abi rm_wineconsole |
23570 |
- fi |
23571 |
- |
23572 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
23573 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
23574 |
- |
23575 |
- if use abi_x86_64 && ! use abi_x86_32; then |
23576 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
23577 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
23578 |
- fi |
23579 |
- |
23580 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
23581 |
- eshopts_push -s failglob #615218 |
23582 |
- # Make wrappers for binaries for handling multiple variants |
23583 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
23584 |
- local b |
23585 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
23586 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
23587 |
- done |
23588 |
- eshopts_pop |
23589 |
-} |
23590 |
- |
23591 |
-pkg_postinst() { |
23592 |
- eselect wine register ${P} |
23593 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
23594 |
- eselect wine register --vanilla ${P} || die |
23595 |
- fi |
23596 |
- |
23597 |
- eselect wine update --all --if-unset || die |
23598 |
- |
23599 |
- xdg_desktop_database_update |
23600 |
- |
23601 |
- if ! use gecko; then |
23602 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
23603 |
- ewarn "implementation of iexplore. Many older windows applications" |
23604 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
23605 |
- ewarn "you will likely need to install an external one, like via winetricks" |
23606 |
- fi |
23607 |
- if ! use mono; then |
23608 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
23609 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
23610 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
23611 |
- ewarn "to install an external one, like via winetricks" |
23612 |
- fi |
23613 |
-} |
23614 |
- |
23615 |
-pkg_prerm() { |
23616 |
- eselect wine deregister ${P} |
23617 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
23618 |
- eselect wine deregister --vanilla ${P} || die |
23619 |
- fi |
23620 |
- |
23621 |
- eselect wine update --all --if-unset || die |
23622 |
-} |
23623 |
- |
23624 |
-pkg_postrm() { |
23625 |
- xdg_desktop_database_update |
23626 |
-} |
23627 |
|
23628 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.2.ebuild |
23629 |
deleted file mode 100644 |
23630 |
index da4d092..0000000 |
23631 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.2.ebuild |
23632 |
+++ /dev/null |
23633 |
@@ -1,527 +0,0 @@ |
23634 |
-# Copyright 1999-2018 Gentoo Foundation |
23635 |
-# Distributed under the terms of the GNU General Public License v2 |
23636 |
- |
23637 |
-EAPI=6 |
23638 |
- |
23639 |
-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" |
23640 |
-PLOCALE_BACKUP="en" |
23641 |
- |
23642 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
23643 |
- |
23644 |
-MY_PN="${PN%%-*}" |
23645 |
-MY_P="${MY_PN}-${PV}" |
23646 |
- |
23647 |
-if [[ ${PV} == "9999" ]] ; then |
23648 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
23649 |
- EGIT_BRANCH="master" |
23650 |
- inherit git-r3 |
23651 |
- SRC_URI="" |
23652 |
- #KEYWORDS="" |
23653 |
-else |
23654 |
- MAJOR_V=$(ver_cut 1) |
23655 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
23656 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
23657 |
-fi |
23658 |
-S="${WORKDIR}/${MY_P}" |
23659 |
- |
23660 |
-GWP_V="20180120" |
23661 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
23662 |
- |
23663 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
23664 |
-HOMEPAGE="https://www.winehq.org/" |
23665 |
-SRC_URI="${SRC_URI} |
23666 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
23667 |
-" |
23668 |
- |
23669 |
-LICENSE="LGPL-2.1" |
23670 |
-SLOT="${PV}" |
23671 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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" |
23672 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
23673 |
- X? ( truetype ) |
23674 |
- elibc_glibc? ( threads ) |
23675 |
- osmesa? ( opengl ) |
23676 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
23677 |
- |
23678 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
23679 |
-# or fail due to Xvfb's opengl limitations. |
23680 |
-RESTRICT="test" |
23681 |
- |
23682 |
-COMMON_DEPEND=" |
23683 |
- X? ( |
23684 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
23685 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
23686 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
23687 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
23688 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
23689 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
23690 |
- ) |
23691 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
23692 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
23693 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
23694 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
23695 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
23696 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
23697 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
23698 |
- gstreamer? ( |
23699 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
23700 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
23701 |
- ) |
23702 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
23703 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
23704 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
23705 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
23706 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
23707 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
23708 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
23709 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
23710 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
23711 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
23712 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
23713 |
- opengl? ( |
23714 |
- virtual/glu[${MULTILIB_USEDEP}] |
23715 |
- virtual/opengl[${MULTILIB_USEDEP}] |
23716 |
- ) |
23717 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
23718 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
23719 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
23720 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
23721 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
23722 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
23723 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
23724 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
23725 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
23726 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
23727 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
23728 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
23729 |
- xml? ( |
23730 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
23731 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
23732 |
- )" |
23733 |
- |
23734 |
-RDEPEND="${COMMON_DEPEND} |
23735 |
- app-emulation/wine-desktop-common |
23736 |
- >app-eselect/eselect-wine-0.3 |
23737 |
- !app-emulation/wine:0 |
23738 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
23739 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
23740 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
23741 |
- perl? ( |
23742 |
- dev-lang/perl |
23743 |
- dev-perl/XML-Simple |
23744 |
- ) |
23745 |
- pulseaudio? ( |
23746 |
- realtime? ( sys-auth/rtkit ) |
23747 |
- ) |
23748 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
23749 |
- selinux? ( sec-policy/selinux-wine ) |
23750 |
- udisks? ( sys-fs/udisks:2 )" |
23751 |
- |
23752 |
-# tools/make_requests requires perl |
23753 |
-DEPEND="${COMMON_DEPEND} |
23754 |
- sys-devel/flex |
23755 |
- >=sys-kernel/linux-headers-2.6 |
23756 |
- virtual/pkgconfig |
23757 |
- virtual/yacc |
23758 |
- X? ( x11-base/xorg-proto ) |
23759 |
- prelink? ( sys-devel/prelink ) |
23760 |
- xinerama? ( x11-base/xorg-proto )" |
23761 |
- |
23762 |
-# These use a non-standard "Wine" category, which is provided by |
23763 |
-# /etc/xdg/applications-merged/wine.menu |
23764 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
23765 |
-usr/share/applications/wine-notepad.desktop |
23766 |
-usr/share/applications/wine-uninstaller.desktop |
23767 |
-usr/share/applications/wine-winecfg.desktop" |
23768 |
- |
23769 |
-PATCHES=( |
23770 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
23771 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
23772 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
23773 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
23774 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-rearrange-manpages.patch" #469418 #617864 |
23775 |
-) |
23776 |
-PATCHES_BIN=() |
23777 |
- |
23778 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
23779 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
23780 |
- DEPEND+=" dev-util/patchbin" |
23781 |
-fi |
23782 |
- |
23783 |
-wine_compiler_check() { |
23784 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
23785 |
- |
23786 |
- # GCC-specific bugs |
23787 |
- if tc-is-gcc; then |
23788 |
- # bug #549768 |
23789 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
23790 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
23791 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
23792 |
- # Run in subshell to prevent "Aborted" message |
23793 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
23794 |
- if ! eend $?; then |
23795 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
23796 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
23797 |
- eerror "or use gcc-config to select a different compiler version." |
23798 |
- eerror "See https://bugs.gentoo.org/549768" |
23799 |
- eerror |
23800 |
- return 1 |
23801 |
- fi |
23802 |
- fi |
23803 |
- # bug #574044 |
23804 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
23805 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
23806 |
- # Compile in subshell to prevent "Aborted" message |
23807 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
23808 |
- if ! eend $?; then |
23809 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
23810 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
23811 |
- eerror "or use gcc-config to select a different compiler version." |
23812 |
- eerror "See https://bugs.gentoo.org/574044" |
23813 |
- eerror |
23814 |
- return 1 |
23815 |
- fi |
23816 |
- fi |
23817 |
- fi |
23818 |
- |
23819 |
- # Ensure compiler support |
23820 |
- if use abi_x86_64; then |
23821 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
23822 |
- # Compile in subshell to prevent "Aborted" message |
23823 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
23824 |
- if ! eend $?; then |
23825 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
23826 |
- eerror |
23827 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
23828 |
- eerror |
23829 |
- return 1 |
23830 |
- fi |
23831 |
- fi |
23832 |
-} |
23833 |
- |
23834 |
-wine_build_environment_check() { |
23835 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
23836 |
- |
23837 |
- if use abi_x86_64; then |
23838 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
23839 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
23840 |
- die |
23841 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
23842 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
23843 |
- die |
23844 |
- fi |
23845 |
- fi |
23846 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
23847 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
23848 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
23849 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
23850 |
- fi |
23851 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
23852 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
23853 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
23854 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
23855 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
23856 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
23857 |
- fi |
23858 |
- fi |
23859 |
- |
23860 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
23861 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
23862 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
23863 |
- eerror |
23864 |
- return 1 |
23865 |
- fi |
23866 |
-} |
23867 |
- |
23868 |
-wine_env_vcs_vars() { |
23869 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
23870 |
- local pn_live_val="${pn_live_var}" |
23871 |
- eval pn_live_val='$'${pn_live_val} |
23872 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
23873 |
- eerror "Commits must now be specified using the environmental variables" |
23874 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
23875 |
- eerror |
23876 |
- return 1 |
23877 |
- fi |
23878 |
-} |
23879 |
- |
23880 |
-pkg_pretend() { |
23881 |
- wine_build_environment_check || die |
23882 |
- |
23883 |
- # Verify OSS support |
23884 |
- if use oss && ! use kernel_FreeBSD; then |
23885 |
- if ! has_version ">=media-sound/oss-4"; then |
23886 |
- eerror "You cannot build wine with USE=oss without having support from a" |
23887 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
23888 |
- eerror |
23889 |
- die |
23890 |
- fi |
23891 |
- fi |
23892 |
-} |
23893 |
- |
23894 |
-pkg_setup() { |
23895 |
- wine_build_environment_check || die |
23896 |
- wine_env_vcs_vars || die |
23897 |
- |
23898 |
- WINE_VARIANT="${PN#wine}-${PV}" |
23899 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
23900 |
- |
23901 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
23902 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
23903 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
23904 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
23905 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
23906 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
23907 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
23908 |
- MY_MANDIR="${MY_DATADIR}/man" |
23909 |
-} |
23910 |
- |
23911 |
-src_unpack() { |
23912 |
- if [[ ${PV} == "9999" ]] ; then |
23913 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
23914 |
- fi |
23915 |
- |
23916 |
- default |
23917 |
- |
23918 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
23919 |
-} |
23920 |
- |
23921 |
-src_prepare() { |
23922 |
- |
23923 |
- eapply_bin(){ |
23924 |
- local patch |
23925 |
- for patch in ${PATCHES_BIN[@]}; do |
23926 |
- patchbin --nogit < "${patch}" || die |
23927 |
- done |
23928 |
- } |
23929 |
- |
23930 |
- local md5="$(md5sum server/protocol.def)" |
23931 |
- |
23932 |
- default |
23933 |
- eapply_bin |
23934 |
- eautoreconf |
23935 |
- |
23936 |
- # Modification of the server protocol requires regenerating the server requests |
23937 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
23938 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
23939 |
- tools/make_requests || die #432348 |
23940 |
- fi |
23941 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
23942 |
- if ! use run-exes; then |
23943 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
23944 |
- fi |
23945 |
- |
23946 |
- # Edit wine.desktop to work for specific variant |
23947 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
23948 |
- |
23949 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
23950 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
23951 |
- |
23952 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
23953 |
- |
23954 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
23955 |
- # Requires wine-2.0-rearrange-manpages.patch |
23956 |
- |
23957 |
- # Duplicate manpages input files for wine64 |
23958 |
- local f |
23959 |
- for f in loader/*.man.in; do |
23960 |
- cp ${f} ${f/wine/wine64} || die |
23961 |
- done |
23962 |
- # Add wine64 manpages to Makefile |
23963 |
- if use abi_x86_64; then |
23964 |
- sed -i "/wine.man.in/i \ |
23965 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
23966 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
23967 |
-\164\2/' loader/Makefile.in || die |
23968 |
- fi |
23969 |
- |
23970 |
- rm_man_file(){ |
23971 |
- local file="${1}" |
23972 |
- loc=${2} |
23973 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
23974 |
- } |
23975 |
- |
23976 |
- while read f; do |
23977 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
23978 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
23979 |
-} |
23980 |
- |
23981 |
-src_configure() { |
23982 |
- wine_compiler_check || die |
23983 |
- |
23984 |
- export LDCONFIG=/bin/true |
23985 |
- use custom-cflags || strip-flags |
23986 |
- |
23987 |
- multilib-minimal_src_configure |
23988 |
-} |
23989 |
- |
23990 |
-multilib_src_configure() { |
23991 |
- local myconf=( |
23992 |
- --prefix="${MY_PREFIX}" |
23993 |
- --datarootdir="${MY_DATAROOTDIR}" |
23994 |
- --datadir="${MY_DATADIR}" |
23995 |
- --docdir="${MY_DOCDIR}" |
23996 |
- --includedir="${MY_INCLUDEDIR}" |
23997 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
23998 |
- --libexecdir="${MY_LIBEXECDIR}" |
23999 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
24000 |
- --mandir="${MY_MANDIR}" |
24001 |
- --sysconfdir=/etc/wine |
24002 |
- $(use_with alsa) |
24003 |
- $(use_with capi) |
24004 |
- $(use_with lcms cms) |
24005 |
- $(use_with cups) |
24006 |
- $(use_with ncurses curses) |
24007 |
- $(use_with udisks dbus) |
24008 |
- $(use_with fontconfig) |
24009 |
- $(use_with ssl gnutls) |
24010 |
- $(use_enable gecko mshtml) |
24011 |
- $(use_with gphoto2 gphoto) |
24012 |
- $(use_with gsm) |
24013 |
- $(use_with gssapi) |
24014 |
- $(use_with gstreamer) |
24015 |
- --without-hal |
24016 |
- $(use_with jpeg) |
24017 |
- $(use_with kerberos krb5) |
24018 |
- $(use_with ldap) |
24019 |
- $(use_enable mono mscoree) |
24020 |
- $(use_with mp3 mpg123) |
24021 |
- $(use_with netapi) |
24022 |
- $(use_with nls gettext) |
24023 |
- $(use_with openal) |
24024 |
- $(use_with opencl) |
24025 |
- $(use_with opengl) |
24026 |
- $(use_with osmesa) |
24027 |
- $(use_with oss) |
24028 |
- $(use_with pcap) |
24029 |
- $(use_with png) |
24030 |
- $(use_with pulseaudio pulse) |
24031 |
- $(use_with threads pthread) |
24032 |
- $(use_with scanner sane) |
24033 |
- $(use_enable test tests) |
24034 |
- $(use_with truetype freetype) |
24035 |
- $(use_with udev) |
24036 |
- $(use_with v4l) |
24037 |
- $(use_with X x) |
24038 |
- $(use_with X xfixes) |
24039 |
- $(use_with xcomposite) |
24040 |
- $(use_with xinerama) |
24041 |
- $(use_with xml) |
24042 |
- $(use_with xml xslt) |
24043 |
- ) |
24044 |
- |
24045 |
- local PKG_CONFIG AR RANLIB |
24046 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
24047 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
24048 |
- tc-export PKG_CONFIG AR RANLIB |
24049 |
- |
24050 |
- if use amd64; then |
24051 |
- if [[ ${ABI} == amd64 ]]; then |
24052 |
- myconf+=( --enable-win64 ) |
24053 |
- else |
24054 |
- myconf+=( --disable-win64 ) |
24055 |
- fi |
24056 |
- |
24057 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
24058 |
- # CC/LD hackery. We're using separate tools instead. |
24059 |
- fi |
24060 |
- |
24061 |
- ECONF_SOURCE=${S} \ |
24062 |
- econf "${myconf[@]}" |
24063 |
- emake depend |
24064 |
-} |
24065 |
- |
24066 |
-multilib_src_test() { |
24067 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
24068 |
- if [[ ${ABI} == x86 ]]; then |
24069 |
- if [[ $(id -u) == 0 ]]; then |
24070 |
- ewarn "Skipping tests since they cannot be run under the root user." |
24071 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
24072 |
- return |
24073 |
- fi |
24074 |
- |
24075 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
24076 |
- Xemake test |
24077 |
- fi |
24078 |
-} |
24079 |
- |
24080 |
-multilib_src_install_all() { |
24081 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
24082 |
- add_locale_docs() { |
24083 |
- local locale_doc="documentation/README.$1" |
24084 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
24085 |
- } |
24086 |
- l10n_for_each_locale_do add_locale_docs |
24087 |
- |
24088 |
- einstalldocs |
24089 |
- prune_libtool_files --all |
24090 |
- |
24091 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
24092 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
24093 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
24094 |
- fi |
24095 |
- |
24096 |
- # Remove wineconsole if neither backend is installed #551124 |
24097 |
- if ! use X && ! use ncurses; then |
24098 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
24099 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
24100 |
- rm_wineconsole() { |
24101 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
24102 |
- } |
24103 |
- multilib_foreach_abi rm_wineconsole |
24104 |
- fi |
24105 |
- |
24106 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
24107 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
24108 |
- |
24109 |
- if use abi_x86_64 && ! use abi_x86_32; then |
24110 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
24111 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
24112 |
- fi |
24113 |
- |
24114 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
24115 |
- eshopts_push -s failglob #615218 |
24116 |
- # Make wrappers for binaries for handling multiple variants |
24117 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
24118 |
- local b |
24119 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
24120 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
24121 |
- done |
24122 |
- eshopts_pop |
24123 |
-} |
24124 |
- |
24125 |
-pkg_postinst() { |
24126 |
- eselect wine register ${P} |
24127 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
24128 |
- eselect wine register --vanilla ${P} || die |
24129 |
- fi |
24130 |
- |
24131 |
- eselect wine update --all --if-unset || die |
24132 |
- |
24133 |
- xdg_desktop_database_update |
24134 |
- |
24135 |
- if ! use gecko; then |
24136 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
24137 |
- ewarn "implementation of iexplore. Many older windows applications" |
24138 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
24139 |
- ewarn "you will likely need to install an external one, like via winetricks" |
24140 |
- fi |
24141 |
- if ! use mono; then |
24142 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
24143 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
24144 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
24145 |
- ewarn "to install an external one, like via winetricks" |
24146 |
- fi |
24147 |
-} |
24148 |
- |
24149 |
-pkg_prerm() { |
24150 |
- eselect wine deregister ${P} |
24151 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
24152 |
- eselect wine deregister --vanilla ${P} || die |
24153 |
- fi |
24154 |
- |
24155 |
- eselect wine update --all --if-unset || die |
24156 |
-} |
24157 |
- |
24158 |
-pkg_postrm() { |
24159 |
- xdg_desktop_database_update |
24160 |
-} |
24161 |
|
24162 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.20.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.20.ebuild |
24163 |
deleted file mode 100644 |
24164 |
index 04acfab..0000000 |
24165 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.20.ebuild |
24166 |
+++ /dev/null |
24167 |
@@ -1,532 +0,0 @@ |
24168 |
-# Copyright 1999-2018 Gentoo Authors |
24169 |
-# Distributed under the terms of the GNU General Public License v2 |
24170 |
- |
24171 |
-EAPI=6 |
24172 |
- |
24173 |
-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" |
24174 |
-PLOCALE_BACKUP="en" |
24175 |
- |
24176 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
24177 |
- |
24178 |
-MY_PN="${PN%%-*}" |
24179 |
-MY_P="${MY_PN}-${PV}" |
24180 |
- |
24181 |
-if [[ ${PV} == "9999" ]] ; then |
24182 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
24183 |
- EGIT_BRANCH="master" |
24184 |
- inherit git-r3 |
24185 |
- SRC_URI="" |
24186 |
- #KEYWORDS="" |
24187 |
-else |
24188 |
- MAJOR_V=$(ver_cut 1) |
24189 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
24190 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
24191 |
-fi |
24192 |
-S="${WORKDIR}/${MY_P}" |
24193 |
- |
24194 |
-GWP_V="20180120" |
24195 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
24196 |
- |
24197 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
24198 |
-HOMEPAGE="https://www.winehq.org/" |
24199 |
-SRC_URI="${SRC_URI} |
24200 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
24201 |
-" |
24202 |
- |
24203 |
-LICENSE="LGPL-2.1" |
24204 |
-SLOT="${PV}" |
24205 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
24206 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
24207 |
- X? ( truetype ) |
24208 |
- elibc_glibc? ( threads ) |
24209 |
- osmesa? ( opengl ) |
24210 |
- test? ( abi_x86_32 ) |
24211 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
24212 |
- |
24213 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
24214 |
-# or fail due to Xvfb's opengl limitations. |
24215 |
-RESTRICT="test" |
24216 |
- |
24217 |
-COMMON_DEPEND=" |
24218 |
- X? ( |
24219 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
24220 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
24221 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
24222 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
24223 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
24224 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
24225 |
- ) |
24226 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
24227 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
24228 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
24229 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
24230 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
24231 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
24232 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
24233 |
- gstreamer? ( |
24234 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
24235 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
24236 |
- ) |
24237 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
24238 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
24239 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
24240 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
24241 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
24242 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
24243 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
24244 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
24245 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
24246 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
24247 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
24248 |
- opengl? ( |
24249 |
- virtual/glu[${MULTILIB_USEDEP}] |
24250 |
- virtual/opengl[${MULTILIB_USEDEP}] |
24251 |
- ) |
24252 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
24253 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
24254 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
24255 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
24256 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
24257 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
24258 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
24259 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
24260 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
24261 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
24262 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
24263 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
24264 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
24265 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
24266 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
24267 |
- xml? ( |
24268 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
24269 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
24270 |
- )" |
24271 |
- |
24272 |
-RDEPEND="${COMMON_DEPEND} |
24273 |
- app-emulation/wine-desktop-common |
24274 |
- >app-eselect/eselect-wine-0.3 |
24275 |
- !app-emulation/wine:0 |
24276 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
24277 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
24278 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
24279 |
- perl? ( |
24280 |
- dev-lang/perl |
24281 |
- dev-perl/XML-Simple |
24282 |
- ) |
24283 |
- pulseaudio? ( |
24284 |
- realtime? ( sys-auth/rtkit ) |
24285 |
- ) |
24286 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
24287 |
- selinux? ( sec-policy/selinux-wine ) |
24288 |
- udisks? ( sys-fs/udisks:2 )" |
24289 |
- |
24290 |
-# tools/make_requests requires perl |
24291 |
-DEPEND="${COMMON_DEPEND} |
24292 |
- sys-devel/flex |
24293 |
- >=sys-kernel/linux-headers-2.6 |
24294 |
- virtual/pkgconfig |
24295 |
- virtual/yacc |
24296 |
- X? ( x11-base/xorg-proto ) |
24297 |
- prelink? ( sys-devel/prelink ) |
24298 |
- xinerama? ( x11-base/xorg-proto )" |
24299 |
- |
24300 |
-# These use a non-standard "Wine" category, which is provided by |
24301 |
-# /etc/xdg/applications-merged/wine.menu |
24302 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
24303 |
-usr/share/applications/wine-notepad.desktop |
24304 |
-usr/share/applications/wine-uninstaller.desktop |
24305 |
-usr/share/applications/wine-winecfg.desktop" |
24306 |
- |
24307 |
-PATCHES=( |
24308 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
24309 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
24310 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
24311 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
24312 |
-) |
24313 |
-PATCHES_BIN=() |
24314 |
- |
24315 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
24316 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
24317 |
- DEPEND+=" dev-util/patchbin" |
24318 |
-fi |
24319 |
- |
24320 |
-wine_compiler_check() { |
24321 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
24322 |
- |
24323 |
- # GCC-specific bugs |
24324 |
- if tc-is-gcc; then |
24325 |
- # bug #549768 |
24326 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
24327 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
24328 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
24329 |
- # Run in subshell to prevent "Aborted" message |
24330 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
24331 |
- if ! eend $?; then |
24332 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
24333 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
24334 |
- eerror "or use gcc-config to select a different compiler version." |
24335 |
- eerror "See https://bugs.gentoo.org/549768" |
24336 |
- eerror |
24337 |
- return 1 |
24338 |
- fi |
24339 |
- fi |
24340 |
- # bug #574044 |
24341 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
24342 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
24343 |
- # Compile in subshell to prevent "Aborted" message |
24344 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
24345 |
- if ! eend $?; then |
24346 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
24347 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
24348 |
- eerror "or use gcc-config to select a different compiler version." |
24349 |
- eerror "See https://bugs.gentoo.org/574044" |
24350 |
- eerror |
24351 |
- return 1 |
24352 |
- fi |
24353 |
- fi |
24354 |
- fi |
24355 |
- |
24356 |
- # Ensure compiler support |
24357 |
- if use abi_x86_64; then |
24358 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
24359 |
- # Compile in subshell to prevent "Aborted" message |
24360 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
24361 |
- if ! eend $?; then |
24362 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
24363 |
- eerror |
24364 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
24365 |
- eerror |
24366 |
- return 1 |
24367 |
- fi |
24368 |
- fi |
24369 |
-} |
24370 |
- |
24371 |
-wine_build_environment_check() { |
24372 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
24373 |
- |
24374 |
- if use abi_x86_64; then |
24375 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
24376 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
24377 |
- die |
24378 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
24379 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
24380 |
- die |
24381 |
- fi |
24382 |
- fi |
24383 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
24384 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
24385 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
24386 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
24387 |
- fi |
24388 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
24389 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
24390 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
24391 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
24392 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
24393 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
24394 |
- fi |
24395 |
- fi |
24396 |
- |
24397 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
24398 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
24399 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
24400 |
- eerror |
24401 |
- return 1 |
24402 |
- fi |
24403 |
-} |
24404 |
- |
24405 |
-wine_env_vcs_vars() { |
24406 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
24407 |
- local pn_live_val="${pn_live_var}" |
24408 |
- eval pn_live_val='$'${pn_live_val} |
24409 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
24410 |
- eerror "Commits must now be specified using the environmental variables" |
24411 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
24412 |
- eerror |
24413 |
- return 1 |
24414 |
- fi |
24415 |
-} |
24416 |
- |
24417 |
-pkg_pretend() { |
24418 |
- wine_build_environment_check || die |
24419 |
- |
24420 |
- # Verify OSS support |
24421 |
- if use oss && ! use kernel_FreeBSD; then |
24422 |
- if ! has_version ">=media-sound/oss-4"; then |
24423 |
- eerror "You cannot build wine with USE=oss without having support from a" |
24424 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
24425 |
- eerror |
24426 |
- die |
24427 |
- fi |
24428 |
- fi |
24429 |
-} |
24430 |
- |
24431 |
-pkg_setup() { |
24432 |
- wine_build_environment_check || die |
24433 |
- wine_env_vcs_vars || die |
24434 |
- |
24435 |
- WINE_VARIANT="${PN#wine}-${PV}" |
24436 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
24437 |
- |
24438 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
24439 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
24440 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
24441 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
24442 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
24443 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
24444 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
24445 |
- MY_MANDIR="${MY_DATADIR}/man" |
24446 |
-} |
24447 |
- |
24448 |
-src_unpack() { |
24449 |
- if [[ ${PV} == "9999" ]] ; then |
24450 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
24451 |
- fi |
24452 |
- |
24453 |
- default |
24454 |
- |
24455 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
24456 |
-} |
24457 |
- |
24458 |
-src_prepare() { |
24459 |
- |
24460 |
- eapply_bin(){ |
24461 |
- local patch |
24462 |
- for patch in ${PATCHES_BIN[@]}; do |
24463 |
- patchbin --nogit < "${patch}" || die |
24464 |
- done |
24465 |
- } |
24466 |
- |
24467 |
- local md5="$(md5sum server/protocol.def)" |
24468 |
- |
24469 |
- default |
24470 |
- eapply_bin |
24471 |
- eautoreconf |
24472 |
- |
24473 |
- # Modification of the server protocol requires regenerating the server requests |
24474 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
24475 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
24476 |
- tools/make_requests || die #432348 |
24477 |
- fi |
24478 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
24479 |
- if ! use run-exes; then |
24480 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
24481 |
- fi |
24482 |
- |
24483 |
- # Edit wine.desktop to work for specific variant |
24484 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
24485 |
- |
24486 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
24487 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
24488 |
- |
24489 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
24490 |
- |
24491 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
24492 |
- |
24493 |
- # Duplicate manpages input files for wine64 |
24494 |
- local f |
24495 |
- for f in loader/*.man.in; do |
24496 |
- cp ${f} ${f/wine/wine64} || die |
24497 |
- done |
24498 |
- # Add wine64 manpages to Makefile |
24499 |
- if use abi_x86_64; then |
24500 |
- sed -i "/wine.man.in/i \ |
24501 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
24502 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
24503 |
-\164\2/' loader/Makefile.in || die |
24504 |
- fi |
24505 |
- |
24506 |
- rm_man_file(){ |
24507 |
- local file="${1}" |
24508 |
- loc=${2} |
24509 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
24510 |
- } |
24511 |
- |
24512 |
- while read f; do |
24513 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
24514 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
24515 |
-} |
24516 |
- |
24517 |
-src_configure() { |
24518 |
- wine_compiler_check || die |
24519 |
- |
24520 |
- export LDCONFIG=/bin/true |
24521 |
- use custom-cflags || strip-flags |
24522 |
- |
24523 |
- multilib-minimal_src_configure |
24524 |
-} |
24525 |
- |
24526 |
-multilib_src_configure() { |
24527 |
- local myconf=( |
24528 |
- --prefix="${MY_PREFIX}" |
24529 |
- --datarootdir="${MY_DATAROOTDIR}" |
24530 |
- --datadir="${MY_DATADIR}" |
24531 |
- --docdir="${MY_DOCDIR}" |
24532 |
- --includedir="${MY_INCLUDEDIR}" |
24533 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
24534 |
- --libexecdir="${MY_LIBEXECDIR}" |
24535 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
24536 |
- --mandir="${MY_MANDIR}" |
24537 |
- --sysconfdir=/etc/wine |
24538 |
- $(use_with alsa) |
24539 |
- $(use_with capi) |
24540 |
- $(use_with lcms cms) |
24541 |
- $(use_with cups) |
24542 |
- $(use_with ncurses curses) |
24543 |
- $(use_with udisks dbus) |
24544 |
- $(use_with fontconfig) |
24545 |
- $(use_with ssl gnutls) |
24546 |
- $(use_enable gecko mshtml) |
24547 |
- $(use_with gphoto2 gphoto) |
24548 |
- $(use_with gsm) |
24549 |
- $(use_with gssapi) |
24550 |
- $(use_with gstreamer) |
24551 |
- --without-hal |
24552 |
- $(use_with jpeg) |
24553 |
- $(use_with kerberos krb5) |
24554 |
- $(use_with ldap) |
24555 |
- $(use_enable mono mscoree) |
24556 |
- $(use_with mp3 mpg123) |
24557 |
- $(use_with netapi) |
24558 |
- $(use_with nls gettext) |
24559 |
- $(use_with openal) |
24560 |
- $(use_with opencl) |
24561 |
- $(use_with opengl) |
24562 |
- $(use_with osmesa) |
24563 |
- $(use_with oss) |
24564 |
- $(use_with pcap) |
24565 |
- $(use_with png) |
24566 |
- $(use_with pulseaudio pulse) |
24567 |
- $(use_with threads pthread) |
24568 |
- $(use_with scanner sane) |
24569 |
- $(use_with sdl) |
24570 |
- $(use_enable test tests) |
24571 |
- $(use_with truetype freetype) |
24572 |
- $(use_with udev) |
24573 |
- $(use_with v4l) |
24574 |
- $(use_with vkd3d) |
24575 |
- $(use_with vulkan) |
24576 |
- $(use_with X x) |
24577 |
- $(use_with X xfixes) |
24578 |
- $(use_with xcomposite) |
24579 |
- $(use_with xinerama) |
24580 |
- $(use_with xml) |
24581 |
- $(use_with xml xslt) |
24582 |
- ) |
24583 |
- |
24584 |
- local PKG_CONFIG AR RANLIB |
24585 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
24586 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
24587 |
- tc-export PKG_CONFIG AR RANLIB |
24588 |
- |
24589 |
- if use amd64; then |
24590 |
- if [[ ${ABI} == amd64 ]]; then |
24591 |
- myconf+=( --enable-win64 ) |
24592 |
- else |
24593 |
- myconf+=( --disable-win64 ) |
24594 |
- fi |
24595 |
- |
24596 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
24597 |
- # CC/LD hackery. We're using separate tools instead. |
24598 |
- fi |
24599 |
- |
24600 |
- ECONF_SOURCE=${S} \ |
24601 |
- econf "${myconf[@]}" |
24602 |
- emake depend |
24603 |
-} |
24604 |
- |
24605 |
-multilib_src_test() { |
24606 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
24607 |
- if [[ ${ABI} == x86 ]]; then |
24608 |
- if [[ $(id -u) == 0 ]]; then |
24609 |
- ewarn "Skipping tests since they cannot be run under the root user." |
24610 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
24611 |
- return |
24612 |
- fi |
24613 |
- |
24614 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
24615 |
- Xemake test |
24616 |
- fi |
24617 |
-} |
24618 |
- |
24619 |
-multilib_src_install_all() { |
24620 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
24621 |
- add_locale_docs() { |
24622 |
- local locale_doc="documentation/README.$1" |
24623 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
24624 |
- } |
24625 |
- l10n_for_each_locale_do add_locale_docs |
24626 |
- |
24627 |
- einstalldocs |
24628 |
- prune_libtool_files --all |
24629 |
- |
24630 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
24631 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
24632 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
24633 |
- fi |
24634 |
- |
24635 |
- # Remove wineconsole if neither backend is installed #551124 |
24636 |
- if ! use X && ! use ncurses; then |
24637 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
24638 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
24639 |
- rm_wineconsole() { |
24640 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
24641 |
- } |
24642 |
- multilib_foreach_abi rm_wineconsole |
24643 |
- fi |
24644 |
- |
24645 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
24646 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
24647 |
- |
24648 |
- if use abi_x86_64 && ! use abi_x86_32; then |
24649 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
24650 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
24651 |
- fi |
24652 |
- |
24653 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
24654 |
- eshopts_push -s failglob #615218 |
24655 |
- # Make wrappers for binaries for handling multiple variants |
24656 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
24657 |
- local b |
24658 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
24659 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
24660 |
- done |
24661 |
- eshopts_pop |
24662 |
-} |
24663 |
- |
24664 |
-pkg_postinst() { |
24665 |
- eselect wine register ${P} |
24666 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
24667 |
- eselect wine register --vanilla ${P} || die |
24668 |
- fi |
24669 |
- |
24670 |
- eselect wine update --all --if-unset || die |
24671 |
- |
24672 |
- xdg_desktop_database_update |
24673 |
- |
24674 |
- if ! use gecko; then |
24675 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
24676 |
- ewarn "implementation of iexplore. Many older windows applications" |
24677 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
24678 |
- ewarn "you will likely need to install an external one, like via winetricks" |
24679 |
- fi |
24680 |
- if ! use mono; then |
24681 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
24682 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
24683 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
24684 |
- ewarn "to install an external one, like via winetricks" |
24685 |
- fi |
24686 |
-} |
24687 |
- |
24688 |
-pkg_prerm() { |
24689 |
- eselect wine deregister ${P} |
24690 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
24691 |
- eselect wine deregister --vanilla ${P} || die |
24692 |
- fi |
24693 |
- |
24694 |
- eselect wine update --all --if-unset || die |
24695 |
-} |
24696 |
- |
24697 |
-pkg_postrm() { |
24698 |
- xdg_desktop_database_update |
24699 |
-} |
24700 |
|
24701 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.21.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.21.ebuild |
24702 |
deleted file mode 100644 |
24703 |
index 04acfab..0000000 |
24704 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.21.ebuild |
24705 |
+++ /dev/null |
24706 |
@@ -1,532 +0,0 @@ |
24707 |
-# Copyright 1999-2018 Gentoo Authors |
24708 |
-# Distributed under the terms of the GNU General Public License v2 |
24709 |
- |
24710 |
-EAPI=6 |
24711 |
- |
24712 |
-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" |
24713 |
-PLOCALE_BACKUP="en" |
24714 |
- |
24715 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
24716 |
- |
24717 |
-MY_PN="${PN%%-*}" |
24718 |
-MY_P="${MY_PN}-${PV}" |
24719 |
- |
24720 |
-if [[ ${PV} == "9999" ]] ; then |
24721 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
24722 |
- EGIT_BRANCH="master" |
24723 |
- inherit git-r3 |
24724 |
- SRC_URI="" |
24725 |
- #KEYWORDS="" |
24726 |
-else |
24727 |
- MAJOR_V=$(ver_cut 1) |
24728 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
24729 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
24730 |
-fi |
24731 |
-S="${WORKDIR}/${MY_P}" |
24732 |
- |
24733 |
-GWP_V="20180120" |
24734 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
24735 |
- |
24736 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
24737 |
-HOMEPAGE="https://www.winehq.org/" |
24738 |
-SRC_URI="${SRC_URI} |
24739 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
24740 |
-" |
24741 |
- |
24742 |
-LICENSE="LGPL-2.1" |
24743 |
-SLOT="${PV}" |
24744 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
24745 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
24746 |
- X? ( truetype ) |
24747 |
- elibc_glibc? ( threads ) |
24748 |
- osmesa? ( opengl ) |
24749 |
- test? ( abi_x86_32 ) |
24750 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
24751 |
- |
24752 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
24753 |
-# or fail due to Xvfb's opengl limitations. |
24754 |
-RESTRICT="test" |
24755 |
- |
24756 |
-COMMON_DEPEND=" |
24757 |
- X? ( |
24758 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
24759 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
24760 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
24761 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
24762 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
24763 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
24764 |
- ) |
24765 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
24766 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
24767 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
24768 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
24769 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
24770 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
24771 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
24772 |
- gstreamer? ( |
24773 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
24774 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
24775 |
- ) |
24776 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
24777 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
24778 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
24779 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
24780 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
24781 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
24782 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
24783 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
24784 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
24785 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
24786 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
24787 |
- opengl? ( |
24788 |
- virtual/glu[${MULTILIB_USEDEP}] |
24789 |
- virtual/opengl[${MULTILIB_USEDEP}] |
24790 |
- ) |
24791 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
24792 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
24793 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
24794 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
24795 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
24796 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
24797 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
24798 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
24799 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
24800 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
24801 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
24802 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
24803 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
24804 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
24805 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
24806 |
- xml? ( |
24807 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
24808 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
24809 |
- )" |
24810 |
- |
24811 |
-RDEPEND="${COMMON_DEPEND} |
24812 |
- app-emulation/wine-desktop-common |
24813 |
- >app-eselect/eselect-wine-0.3 |
24814 |
- !app-emulation/wine:0 |
24815 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
24816 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
24817 |
- mono? ( app-emulation/wine-mono:4.7.3 ) |
24818 |
- perl? ( |
24819 |
- dev-lang/perl |
24820 |
- dev-perl/XML-Simple |
24821 |
- ) |
24822 |
- pulseaudio? ( |
24823 |
- realtime? ( sys-auth/rtkit ) |
24824 |
- ) |
24825 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
24826 |
- selinux? ( sec-policy/selinux-wine ) |
24827 |
- udisks? ( sys-fs/udisks:2 )" |
24828 |
- |
24829 |
-# tools/make_requests requires perl |
24830 |
-DEPEND="${COMMON_DEPEND} |
24831 |
- sys-devel/flex |
24832 |
- >=sys-kernel/linux-headers-2.6 |
24833 |
- virtual/pkgconfig |
24834 |
- virtual/yacc |
24835 |
- X? ( x11-base/xorg-proto ) |
24836 |
- prelink? ( sys-devel/prelink ) |
24837 |
- xinerama? ( x11-base/xorg-proto )" |
24838 |
- |
24839 |
-# These use a non-standard "Wine" category, which is provided by |
24840 |
-# /etc/xdg/applications-merged/wine.menu |
24841 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
24842 |
-usr/share/applications/wine-notepad.desktop |
24843 |
-usr/share/applications/wine-uninstaller.desktop |
24844 |
-usr/share/applications/wine-winecfg.desktop" |
24845 |
- |
24846 |
-PATCHES=( |
24847 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
24848 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
24849 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
24850 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
24851 |
-) |
24852 |
-PATCHES_BIN=() |
24853 |
- |
24854 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
24855 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
24856 |
- DEPEND+=" dev-util/patchbin" |
24857 |
-fi |
24858 |
- |
24859 |
-wine_compiler_check() { |
24860 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
24861 |
- |
24862 |
- # GCC-specific bugs |
24863 |
- if tc-is-gcc; then |
24864 |
- # bug #549768 |
24865 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
24866 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
24867 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
24868 |
- # Run in subshell to prevent "Aborted" message |
24869 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
24870 |
- if ! eend $?; then |
24871 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
24872 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
24873 |
- eerror "or use gcc-config to select a different compiler version." |
24874 |
- eerror "See https://bugs.gentoo.org/549768" |
24875 |
- eerror |
24876 |
- return 1 |
24877 |
- fi |
24878 |
- fi |
24879 |
- # bug #574044 |
24880 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
24881 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
24882 |
- # Compile in subshell to prevent "Aborted" message |
24883 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
24884 |
- if ! eend $?; then |
24885 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
24886 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
24887 |
- eerror "or use gcc-config to select a different compiler version." |
24888 |
- eerror "See https://bugs.gentoo.org/574044" |
24889 |
- eerror |
24890 |
- return 1 |
24891 |
- fi |
24892 |
- fi |
24893 |
- fi |
24894 |
- |
24895 |
- # Ensure compiler support |
24896 |
- if use abi_x86_64; then |
24897 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
24898 |
- # Compile in subshell to prevent "Aborted" message |
24899 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
24900 |
- if ! eend $?; then |
24901 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
24902 |
- eerror |
24903 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
24904 |
- eerror |
24905 |
- return 1 |
24906 |
- fi |
24907 |
- fi |
24908 |
-} |
24909 |
- |
24910 |
-wine_build_environment_check() { |
24911 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
24912 |
- |
24913 |
- if use abi_x86_64; then |
24914 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
24915 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
24916 |
- die |
24917 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
24918 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
24919 |
- die |
24920 |
- fi |
24921 |
- fi |
24922 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
24923 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
24924 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
24925 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
24926 |
- fi |
24927 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
24928 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
24929 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
24930 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
24931 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
24932 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
24933 |
- fi |
24934 |
- fi |
24935 |
- |
24936 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
24937 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
24938 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
24939 |
- eerror |
24940 |
- return 1 |
24941 |
- fi |
24942 |
-} |
24943 |
- |
24944 |
-wine_env_vcs_vars() { |
24945 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
24946 |
- local pn_live_val="${pn_live_var}" |
24947 |
- eval pn_live_val='$'${pn_live_val} |
24948 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
24949 |
- eerror "Commits must now be specified using the environmental variables" |
24950 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
24951 |
- eerror |
24952 |
- return 1 |
24953 |
- fi |
24954 |
-} |
24955 |
- |
24956 |
-pkg_pretend() { |
24957 |
- wine_build_environment_check || die |
24958 |
- |
24959 |
- # Verify OSS support |
24960 |
- if use oss && ! use kernel_FreeBSD; then |
24961 |
- if ! has_version ">=media-sound/oss-4"; then |
24962 |
- eerror "You cannot build wine with USE=oss without having support from a" |
24963 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
24964 |
- eerror |
24965 |
- die |
24966 |
- fi |
24967 |
- fi |
24968 |
-} |
24969 |
- |
24970 |
-pkg_setup() { |
24971 |
- wine_build_environment_check || die |
24972 |
- wine_env_vcs_vars || die |
24973 |
- |
24974 |
- WINE_VARIANT="${PN#wine}-${PV}" |
24975 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
24976 |
- |
24977 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
24978 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
24979 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
24980 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
24981 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
24982 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
24983 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
24984 |
- MY_MANDIR="${MY_DATADIR}/man" |
24985 |
-} |
24986 |
- |
24987 |
-src_unpack() { |
24988 |
- if [[ ${PV} == "9999" ]] ; then |
24989 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
24990 |
- fi |
24991 |
- |
24992 |
- default |
24993 |
- |
24994 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
24995 |
-} |
24996 |
- |
24997 |
-src_prepare() { |
24998 |
- |
24999 |
- eapply_bin(){ |
25000 |
- local patch |
25001 |
- for patch in ${PATCHES_BIN[@]}; do |
25002 |
- patchbin --nogit < "${patch}" || die |
25003 |
- done |
25004 |
- } |
25005 |
- |
25006 |
- local md5="$(md5sum server/protocol.def)" |
25007 |
- |
25008 |
- default |
25009 |
- eapply_bin |
25010 |
- eautoreconf |
25011 |
- |
25012 |
- # Modification of the server protocol requires regenerating the server requests |
25013 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
25014 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
25015 |
- tools/make_requests || die #432348 |
25016 |
- fi |
25017 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
25018 |
- if ! use run-exes; then |
25019 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
25020 |
- fi |
25021 |
- |
25022 |
- # Edit wine.desktop to work for specific variant |
25023 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
25024 |
- |
25025 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
25026 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
25027 |
- |
25028 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
25029 |
- |
25030 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
25031 |
- |
25032 |
- # Duplicate manpages input files for wine64 |
25033 |
- local f |
25034 |
- for f in loader/*.man.in; do |
25035 |
- cp ${f} ${f/wine/wine64} || die |
25036 |
- done |
25037 |
- # Add wine64 manpages to Makefile |
25038 |
- if use abi_x86_64; then |
25039 |
- sed -i "/wine.man.in/i \ |
25040 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
25041 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
25042 |
-\164\2/' loader/Makefile.in || die |
25043 |
- fi |
25044 |
- |
25045 |
- rm_man_file(){ |
25046 |
- local file="${1}" |
25047 |
- loc=${2} |
25048 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
25049 |
- } |
25050 |
- |
25051 |
- while read f; do |
25052 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
25053 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
25054 |
-} |
25055 |
- |
25056 |
-src_configure() { |
25057 |
- wine_compiler_check || die |
25058 |
- |
25059 |
- export LDCONFIG=/bin/true |
25060 |
- use custom-cflags || strip-flags |
25061 |
- |
25062 |
- multilib-minimal_src_configure |
25063 |
-} |
25064 |
- |
25065 |
-multilib_src_configure() { |
25066 |
- local myconf=( |
25067 |
- --prefix="${MY_PREFIX}" |
25068 |
- --datarootdir="${MY_DATAROOTDIR}" |
25069 |
- --datadir="${MY_DATADIR}" |
25070 |
- --docdir="${MY_DOCDIR}" |
25071 |
- --includedir="${MY_INCLUDEDIR}" |
25072 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
25073 |
- --libexecdir="${MY_LIBEXECDIR}" |
25074 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
25075 |
- --mandir="${MY_MANDIR}" |
25076 |
- --sysconfdir=/etc/wine |
25077 |
- $(use_with alsa) |
25078 |
- $(use_with capi) |
25079 |
- $(use_with lcms cms) |
25080 |
- $(use_with cups) |
25081 |
- $(use_with ncurses curses) |
25082 |
- $(use_with udisks dbus) |
25083 |
- $(use_with fontconfig) |
25084 |
- $(use_with ssl gnutls) |
25085 |
- $(use_enable gecko mshtml) |
25086 |
- $(use_with gphoto2 gphoto) |
25087 |
- $(use_with gsm) |
25088 |
- $(use_with gssapi) |
25089 |
- $(use_with gstreamer) |
25090 |
- --without-hal |
25091 |
- $(use_with jpeg) |
25092 |
- $(use_with kerberos krb5) |
25093 |
- $(use_with ldap) |
25094 |
- $(use_enable mono mscoree) |
25095 |
- $(use_with mp3 mpg123) |
25096 |
- $(use_with netapi) |
25097 |
- $(use_with nls gettext) |
25098 |
- $(use_with openal) |
25099 |
- $(use_with opencl) |
25100 |
- $(use_with opengl) |
25101 |
- $(use_with osmesa) |
25102 |
- $(use_with oss) |
25103 |
- $(use_with pcap) |
25104 |
- $(use_with png) |
25105 |
- $(use_with pulseaudio pulse) |
25106 |
- $(use_with threads pthread) |
25107 |
- $(use_with scanner sane) |
25108 |
- $(use_with sdl) |
25109 |
- $(use_enable test tests) |
25110 |
- $(use_with truetype freetype) |
25111 |
- $(use_with udev) |
25112 |
- $(use_with v4l) |
25113 |
- $(use_with vkd3d) |
25114 |
- $(use_with vulkan) |
25115 |
- $(use_with X x) |
25116 |
- $(use_with X xfixes) |
25117 |
- $(use_with xcomposite) |
25118 |
- $(use_with xinerama) |
25119 |
- $(use_with xml) |
25120 |
- $(use_with xml xslt) |
25121 |
- ) |
25122 |
- |
25123 |
- local PKG_CONFIG AR RANLIB |
25124 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
25125 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
25126 |
- tc-export PKG_CONFIG AR RANLIB |
25127 |
- |
25128 |
- if use amd64; then |
25129 |
- if [[ ${ABI} == amd64 ]]; then |
25130 |
- myconf+=( --enable-win64 ) |
25131 |
- else |
25132 |
- myconf+=( --disable-win64 ) |
25133 |
- fi |
25134 |
- |
25135 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
25136 |
- # CC/LD hackery. We're using separate tools instead. |
25137 |
- fi |
25138 |
- |
25139 |
- ECONF_SOURCE=${S} \ |
25140 |
- econf "${myconf[@]}" |
25141 |
- emake depend |
25142 |
-} |
25143 |
- |
25144 |
-multilib_src_test() { |
25145 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
25146 |
- if [[ ${ABI} == x86 ]]; then |
25147 |
- if [[ $(id -u) == 0 ]]; then |
25148 |
- ewarn "Skipping tests since they cannot be run under the root user." |
25149 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
25150 |
- return |
25151 |
- fi |
25152 |
- |
25153 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
25154 |
- Xemake test |
25155 |
- fi |
25156 |
-} |
25157 |
- |
25158 |
-multilib_src_install_all() { |
25159 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
25160 |
- add_locale_docs() { |
25161 |
- local locale_doc="documentation/README.$1" |
25162 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
25163 |
- } |
25164 |
- l10n_for_each_locale_do add_locale_docs |
25165 |
- |
25166 |
- einstalldocs |
25167 |
- prune_libtool_files --all |
25168 |
- |
25169 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
25170 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
25171 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
25172 |
- fi |
25173 |
- |
25174 |
- # Remove wineconsole if neither backend is installed #551124 |
25175 |
- if ! use X && ! use ncurses; then |
25176 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
25177 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
25178 |
- rm_wineconsole() { |
25179 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
25180 |
- } |
25181 |
- multilib_foreach_abi rm_wineconsole |
25182 |
- fi |
25183 |
- |
25184 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
25185 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
25186 |
- |
25187 |
- if use abi_x86_64 && ! use abi_x86_32; then |
25188 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
25189 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
25190 |
- fi |
25191 |
- |
25192 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
25193 |
- eshopts_push -s failglob #615218 |
25194 |
- # Make wrappers for binaries for handling multiple variants |
25195 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
25196 |
- local b |
25197 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
25198 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
25199 |
- done |
25200 |
- eshopts_pop |
25201 |
-} |
25202 |
- |
25203 |
-pkg_postinst() { |
25204 |
- eselect wine register ${P} |
25205 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
25206 |
- eselect wine register --vanilla ${P} || die |
25207 |
- fi |
25208 |
- |
25209 |
- eselect wine update --all --if-unset || die |
25210 |
- |
25211 |
- xdg_desktop_database_update |
25212 |
- |
25213 |
- if ! use gecko; then |
25214 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
25215 |
- ewarn "implementation of iexplore. Many older windows applications" |
25216 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
25217 |
- ewarn "you will likely need to install an external one, like via winetricks" |
25218 |
- fi |
25219 |
- if ! use mono; then |
25220 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
25221 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
25222 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
25223 |
- ewarn "to install an external one, like via winetricks" |
25224 |
- fi |
25225 |
-} |
25226 |
- |
25227 |
-pkg_prerm() { |
25228 |
- eselect wine deregister ${P} |
25229 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
25230 |
- eselect wine deregister --vanilla ${P} || die |
25231 |
- fi |
25232 |
- |
25233 |
- eselect wine update --all --if-unset || die |
25234 |
-} |
25235 |
- |
25236 |
-pkg_postrm() { |
25237 |
- xdg_desktop_database_update |
25238 |
-} |
25239 |
|
25240 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.3.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.3.ebuild |
25241 |
deleted file mode 100644 |
25242 |
index af3f138..0000000 |
25243 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.3.ebuild |
25244 |
+++ /dev/null |
25245 |
@@ -1,529 +0,0 @@ |
25246 |
-# Copyright 1999-2018 Gentoo Foundation |
25247 |
-# Distributed under the terms of the GNU General Public License v2 |
25248 |
- |
25249 |
-EAPI=6 |
25250 |
- |
25251 |
-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" |
25252 |
-PLOCALE_BACKUP="en" |
25253 |
- |
25254 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
25255 |
- |
25256 |
-MY_PN="${PN%%-*}" |
25257 |
-MY_P="${MY_PN}-${PV}" |
25258 |
- |
25259 |
-if [[ ${PV} == "9999" ]] ; then |
25260 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
25261 |
- EGIT_BRANCH="master" |
25262 |
- inherit git-r3 |
25263 |
- SRC_URI="" |
25264 |
- #KEYWORDS="" |
25265 |
-else |
25266 |
- MAJOR_V=$(ver_cut 1) |
25267 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
25268 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
25269 |
-fi |
25270 |
-S="${WORKDIR}/${MY_P}" |
25271 |
- |
25272 |
-GWP_V="20180120" |
25273 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
25274 |
- |
25275 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
25276 |
-HOMEPAGE="https://www.winehq.org/" |
25277 |
-SRC_URI="${SRC_URI} |
25278 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
25279 |
-" |
25280 |
- |
25281 |
-LICENSE="LGPL-2.1" |
25282 |
-SLOT="${PV}" |
25283 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vulkan +X +xcomposite xinerama +xml" |
25284 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
25285 |
- X? ( truetype ) |
25286 |
- elibc_glibc? ( threads ) |
25287 |
- osmesa? ( opengl ) |
25288 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
25289 |
- |
25290 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
25291 |
-# or fail due to Xvfb's opengl limitations. |
25292 |
-RESTRICT="test" |
25293 |
- |
25294 |
-COMMON_DEPEND=" |
25295 |
- X? ( |
25296 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
25297 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
25298 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
25299 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
25300 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
25301 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
25302 |
- ) |
25303 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
25304 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
25305 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
25306 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
25307 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
25308 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
25309 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
25310 |
- gstreamer? ( |
25311 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
25312 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
25313 |
- ) |
25314 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
25315 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
25316 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
25317 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
25318 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
25319 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
25320 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
25321 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
25322 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
25323 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
25324 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
25325 |
- opengl? ( |
25326 |
- virtual/glu[${MULTILIB_USEDEP}] |
25327 |
- virtual/opengl[${MULTILIB_USEDEP}] |
25328 |
- ) |
25329 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
25330 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
25331 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
25332 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
25333 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
25334 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
25335 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
25336 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
25337 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
25338 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
25339 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
25340 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
25341 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
25342 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
25343 |
- xml? ( |
25344 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
25345 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
25346 |
- )" |
25347 |
- |
25348 |
-RDEPEND="${COMMON_DEPEND} |
25349 |
- app-emulation/wine-desktop-common |
25350 |
- >app-eselect/eselect-wine-0.3 |
25351 |
- !app-emulation/wine:0 |
25352 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
25353 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
25354 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
25355 |
- perl? ( |
25356 |
- dev-lang/perl |
25357 |
- dev-perl/XML-Simple |
25358 |
- ) |
25359 |
- pulseaudio? ( |
25360 |
- realtime? ( sys-auth/rtkit ) |
25361 |
- ) |
25362 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
25363 |
- selinux? ( sec-policy/selinux-wine ) |
25364 |
- udisks? ( sys-fs/udisks:2 )" |
25365 |
- |
25366 |
-# tools/make_requests requires perl |
25367 |
-DEPEND="${COMMON_DEPEND} |
25368 |
- sys-devel/flex |
25369 |
- >=sys-kernel/linux-headers-2.6 |
25370 |
- virtual/pkgconfig |
25371 |
- virtual/yacc |
25372 |
- X? ( x11-base/xorg-proto ) |
25373 |
- prelink? ( sys-devel/prelink ) |
25374 |
- xinerama? ( x11-base/xorg-proto )" |
25375 |
- |
25376 |
-# These use a non-standard "Wine" category, which is provided by |
25377 |
-# /etc/xdg/applications-merged/wine.menu |
25378 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
25379 |
-usr/share/applications/wine-notepad.desktop |
25380 |
-usr/share/applications/wine-uninstaller.desktop |
25381 |
-usr/share/applications/wine-winecfg.desktop" |
25382 |
- |
25383 |
-PATCHES=( |
25384 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
25385 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
25386 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
25387 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
25388 |
-) |
25389 |
-PATCHES_BIN=() |
25390 |
- |
25391 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
25392 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
25393 |
- DEPEND+=" dev-util/patchbin" |
25394 |
-fi |
25395 |
- |
25396 |
-wine_compiler_check() { |
25397 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
25398 |
- |
25399 |
- # GCC-specific bugs |
25400 |
- if tc-is-gcc; then |
25401 |
- # bug #549768 |
25402 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
25403 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
25404 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
25405 |
- # Run in subshell to prevent "Aborted" message |
25406 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
25407 |
- if ! eend $?; then |
25408 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
25409 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
25410 |
- eerror "or use gcc-config to select a different compiler version." |
25411 |
- eerror "See https://bugs.gentoo.org/549768" |
25412 |
- eerror |
25413 |
- return 1 |
25414 |
- fi |
25415 |
- fi |
25416 |
- # bug #574044 |
25417 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
25418 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
25419 |
- # Compile in subshell to prevent "Aborted" message |
25420 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
25421 |
- if ! eend $?; then |
25422 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
25423 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
25424 |
- eerror "or use gcc-config to select a different compiler version." |
25425 |
- eerror "See https://bugs.gentoo.org/574044" |
25426 |
- eerror |
25427 |
- return 1 |
25428 |
- fi |
25429 |
- fi |
25430 |
- fi |
25431 |
- |
25432 |
- # Ensure compiler support |
25433 |
- if use abi_x86_64; then |
25434 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
25435 |
- # Compile in subshell to prevent "Aborted" message |
25436 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
25437 |
- if ! eend $?; then |
25438 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
25439 |
- eerror |
25440 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
25441 |
- eerror |
25442 |
- return 1 |
25443 |
- fi |
25444 |
- fi |
25445 |
-} |
25446 |
- |
25447 |
-wine_build_environment_check() { |
25448 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
25449 |
- |
25450 |
- if use abi_x86_64; then |
25451 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
25452 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
25453 |
- die |
25454 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
25455 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
25456 |
- die |
25457 |
- fi |
25458 |
- fi |
25459 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
25460 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
25461 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
25462 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
25463 |
- fi |
25464 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
25465 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
25466 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
25467 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
25468 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
25469 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
25470 |
- fi |
25471 |
- fi |
25472 |
- |
25473 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
25474 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
25475 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
25476 |
- eerror |
25477 |
- return 1 |
25478 |
- fi |
25479 |
-} |
25480 |
- |
25481 |
-wine_env_vcs_vars() { |
25482 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
25483 |
- local pn_live_val="${pn_live_var}" |
25484 |
- eval pn_live_val='$'${pn_live_val} |
25485 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
25486 |
- eerror "Commits must now be specified using the environmental variables" |
25487 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
25488 |
- eerror |
25489 |
- return 1 |
25490 |
- fi |
25491 |
-} |
25492 |
- |
25493 |
-pkg_pretend() { |
25494 |
- wine_build_environment_check || die |
25495 |
- |
25496 |
- # Verify OSS support |
25497 |
- if use oss && ! use kernel_FreeBSD; then |
25498 |
- if ! has_version ">=media-sound/oss-4"; then |
25499 |
- eerror "You cannot build wine with USE=oss without having support from a" |
25500 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
25501 |
- eerror |
25502 |
- die |
25503 |
- fi |
25504 |
- fi |
25505 |
-} |
25506 |
- |
25507 |
-pkg_setup() { |
25508 |
- wine_build_environment_check || die |
25509 |
- wine_env_vcs_vars || die |
25510 |
- |
25511 |
- WINE_VARIANT="${PN#wine}-${PV}" |
25512 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
25513 |
- |
25514 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
25515 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
25516 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
25517 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
25518 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
25519 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
25520 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
25521 |
- MY_MANDIR="${MY_DATADIR}/man" |
25522 |
-} |
25523 |
- |
25524 |
-src_unpack() { |
25525 |
- if [[ ${PV} == "9999" ]] ; then |
25526 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
25527 |
- fi |
25528 |
- |
25529 |
- default |
25530 |
- |
25531 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
25532 |
-} |
25533 |
- |
25534 |
-src_prepare() { |
25535 |
- |
25536 |
- eapply_bin(){ |
25537 |
- local patch |
25538 |
- for patch in ${PATCHES_BIN[@]}; do |
25539 |
- patchbin --nogit < "${patch}" || die |
25540 |
- done |
25541 |
- } |
25542 |
- |
25543 |
- local md5="$(md5sum server/protocol.def)" |
25544 |
- |
25545 |
- default |
25546 |
- eapply_bin |
25547 |
- eautoreconf |
25548 |
- |
25549 |
- # Modification of the server protocol requires regenerating the server requests |
25550 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
25551 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
25552 |
- tools/make_requests || die #432348 |
25553 |
- fi |
25554 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
25555 |
- if ! use run-exes; then |
25556 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
25557 |
- fi |
25558 |
- |
25559 |
- # Edit wine.desktop to work for specific variant |
25560 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
25561 |
- |
25562 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
25563 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
25564 |
- |
25565 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
25566 |
- |
25567 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
25568 |
- |
25569 |
- # Duplicate manpages input files for wine64 |
25570 |
- local f |
25571 |
- for f in loader/*.man.in; do |
25572 |
- cp ${f} ${f/wine/wine64} || die |
25573 |
- done |
25574 |
- # Add wine64 manpages to Makefile |
25575 |
- if use abi_x86_64; then |
25576 |
- sed -i "/wine.man.in/i \ |
25577 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
25578 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
25579 |
-\164\2/' loader/Makefile.in || die |
25580 |
- fi |
25581 |
- |
25582 |
- rm_man_file(){ |
25583 |
- local file="${1}" |
25584 |
- loc=${2} |
25585 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
25586 |
- } |
25587 |
- |
25588 |
- while read f; do |
25589 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
25590 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
25591 |
-} |
25592 |
- |
25593 |
-src_configure() { |
25594 |
- wine_compiler_check || die |
25595 |
- |
25596 |
- export LDCONFIG=/bin/true |
25597 |
- use custom-cflags || strip-flags |
25598 |
- |
25599 |
- multilib-minimal_src_configure |
25600 |
-} |
25601 |
- |
25602 |
-multilib_src_configure() { |
25603 |
- local myconf=( |
25604 |
- --prefix="${MY_PREFIX}" |
25605 |
- --datarootdir="${MY_DATAROOTDIR}" |
25606 |
- --datadir="${MY_DATADIR}" |
25607 |
- --docdir="${MY_DOCDIR}" |
25608 |
- --includedir="${MY_INCLUDEDIR}" |
25609 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
25610 |
- --libexecdir="${MY_LIBEXECDIR}" |
25611 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
25612 |
- --mandir="${MY_MANDIR}" |
25613 |
- --sysconfdir=/etc/wine |
25614 |
- $(use_with alsa) |
25615 |
- $(use_with capi) |
25616 |
- $(use_with lcms cms) |
25617 |
- $(use_with cups) |
25618 |
- $(use_with ncurses curses) |
25619 |
- $(use_with udisks dbus) |
25620 |
- $(use_with fontconfig) |
25621 |
- $(use_with ssl gnutls) |
25622 |
- $(use_enable gecko mshtml) |
25623 |
- $(use_with gphoto2 gphoto) |
25624 |
- $(use_with gsm) |
25625 |
- $(use_with gssapi) |
25626 |
- $(use_with gstreamer) |
25627 |
- --without-hal |
25628 |
- $(use_with jpeg) |
25629 |
- $(use_with kerberos krb5) |
25630 |
- $(use_with ldap) |
25631 |
- $(use_enable mono mscoree) |
25632 |
- $(use_with mp3 mpg123) |
25633 |
- $(use_with netapi) |
25634 |
- $(use_with nls gettext) |
25635 |
- $(use_with openal) |
25636 |
- $(use_with opencl) |
25637 |
- $(use_with opengl) |
25638 |
- $(use_with osmesa) |
25639 |
- $(use_with oss) |
25640 |
- $(use_with pcap) |
25641 |
- $(use_with png) |
25642 |
- $(use_with pulseaudio pulse) |
25643 |
- $(use_with threads pthread) |
25644 |
- $(use_with scanner sane) |
25645 |
- $(use_with sdl) |
25646 |
- $(use_enable test tests) |
25647 |
- $(use_with truetype freetype) |
25648 |
- $(use_with udev) |
25649 |
- $(use_with v4l) |
25650 |
- $(use_with vulkan) |
25651 |
- $(use_with X x) |
25652 |
- $(use_with X xfixes) |
25653 |
- $(use_with xcomposite) |
25654 |
- $(use_with xinerama) |
25655 |
- $(use_with xml) |
25656 |
- $(use_with xml xslt) |
25657 |
- ) |
25658 |
- |
25659 |
- local PKG_CONFIG AR RANLIB |
25660 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
25661 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
25662 |
- tc-export PKG_CONFIG AR RANLIB |
25663 |
- |
25664 |
- if use amd64; then |
25665 |
- if [[ ${ABI} == amd64 ]]; then |
25666 |
- myconf+=( --enable-win64 ) |
25667 |
- else |
25668 |
- myconf+=( --disable-win64 ) |
25669 |
- fi |
25670 |
- |
25671 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
25672 |
- # CC/LD hackery. We're using separate tools instead. |
25673 |
- fi |
25674 |
- |
25675 |
- ECONF_SOURCE=${S} \ |
25676 |
- econf "${myconf[@]}" |
25677 |
- emake depend |
25678 |
-} |
25679 |
- |
25680 |
-multilib_src_test() { |
25681 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
25682 |
- if [[ ${ABI} == x86 ]]; then |
25683 |
- if [[ $(id -u) == 0 ]]; then |
25684 |
- ewarn "Skipping tests since they cannot be run under the root user." |
25685 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
25686 |
- return |
25687 |
- fi |
25688 |
- |
25689 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
25690 |
- Xemake test |
25691 |
- fi |
25692 |
-} |
25693 |
- |
25694 |
-multilib_src_install_all() { |
25695 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
25696 |
- add_locale_docs() { |
25697 |
- local locale_doc="documentation/README.$1" |
25698 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
25699 |
- } |
25700 |
- l10n_for_each_locale_do add_locale_docs |
25701 |
- |
25702 |
- einstalldocs |
25703 |
- prune_libtool_files --all |
25704 |
- |
25705 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
25706 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
25707 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
25708 |
- fi |
25709 |
- |
25710 |
- # Remove wineconsole if neither backend is installed #551124 |
25711 |
- if ! use X && ! use ncurses; then |
25712 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
25713 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
25714 |
- rm_wineconsole() { |
25715 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
25716 |
- } |
25717 |
- multilib_foreach_abi rm_wineconsole |
25718 |
- fi |
25719 |
- |
25720 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
25721 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
25722 |
- |
25723 |
- if use abi_x86_64 && ! use abi_x86_32; then |
25724 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
25725 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
25726 |
- fi |
25727 |
- |
25728 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
25729 |
- eshopts_push -s failglob #615218 |
25730 |
- # Make wrappers for binaries for handling multiple variants |
25731 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
25732 |
- local b |
25733 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
25734 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
25735 |
- done |
25736 |
- eshopts_pop |
25737 |
-} |
25738 |
- |
25739 |
-pkg_postinst() { |
25740 |
- eselect wine register ${P} |
25741 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
25742 |
- eselect wine register --vanilla ${P} || die |
25743 |
- fi |
25744 |
- |
25745 |
- eselect wine update --all --if-unset || die |
25746 |
- |
25747 |
- xdg_desktop_database_update |
25748 |
- |
25749 |
- if ! use gecko; then |
25750 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
25751 |
- ewarn "implementation of iexplore. Many older windows applications" |
25752 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
25753 |
- ewarn "you will likely need to install an external one, like via winetricks" |
25754 |
- fi |
25755 |
- if ! use mono; then |
25756 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
25757 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
25758 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
25759 |
- ewarn "to install an external one, like via winetricks" |
25760 |
- fi |
25761 |
-} |
25762 |
- |
25763 |
-pkg_prerm() { |
25764 |
- eselect wine deregister ${P} |
25765 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
25766 |
- eselect wine deregister --vanilla ${P} || die |
25767 |
- fi |
25768 |
- |
25769 |
- eselect wine update --all --if-unset || die |
25770 |
-} |
25771 |
- |
25772 |
-pkg_postrm() { |
25773 |
- xdg_desktop_database_update |
25774 |
-} |
25775 |
|
25776 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.4.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.4.ebuild |
25777 |
deleted file mode 100644 |
25778 |
index af3f138..0000000 |
25779 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.4.ebuild |
25780 |
+++ /dev/null |
25781 |
@@ -1,529 +0,0 @@ |
25782 |
-# Copyright 1999-2018 Gentoo Foundation |
25783 |
-# Distributed under the terms of the GNU General Public License v2 |
25784 |
- |
25785 |
-EAPI=6 |
25786 |
- |
25787 |
-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" |
25788 |
-PLOCALE_BACKUP="en" |
25789 |
- |
25790 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
25791 |
- |
25792 |
-MY_PN="${PN%%-*}" |
25793 |
-MY_P="${MY_PN}-${PV}" |
25794 |
- |
25795 |
-if [[ ${PV} == "9999" ]] ; then |
25796 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
25797 |
- EGIT_BRANCH="master" |
25798 |
- inherit git-r3 |
25799 |
- SRC_URI="" |
25800 |
- #KEYWORDS="" |
25801 |
-else |
25802 |
- MAJOR_V=$(ver_cut 1) |
25803 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
25804 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
25805 |
-fi |
25806 |
-S="${WORKDIR}/${MY_P}" |
25807 |
- |
25808 |
-GWP_V="20180120" |
25809 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
25810 |
- |
25811 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
25812 |
-HOMEPAGE="https://www.winehq.org/" |
25813 |
-SRC_URI="${SRC_URI} |
25814 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
25815 |
-" |
25816 |
- |
25817 |
-LICENSE="LGPL-2.1" |
25818 |
-SLOT="${PV}" |
25819 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vulkan +X +xcomposite xinerama +xml" |
25820 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
25821 |
- X? ( truetype ) |
25822 |
- elibc_glibc? ( threads ) |
25823 |
- osmesa? ( opengl ) |
25824 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
25825 |
- |
25826 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
25827 |
-# or fail due to Xvfb's opengl limitations. |
25828 |
-RESTRICT="test" |
25829 |
- |
25830 |
-COMMON_DEPEND=" |
25831 |
- X? ( |
25832 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
25833 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
25834 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
25835 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
25836 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
25837 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
25838 |
- ) |
25839 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
25840 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
25841 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
25842 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
25843 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
25844 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
25845 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
25846 |
- gstreamer? ( |
25847 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
25848 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
25849 |
- ) |
25850 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
25851 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
25852 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
25853 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
25854 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
25855 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
25856 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
25857 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
25858 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
25859 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
25860 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
25861 |
- opengl? ( |
25862 |
- virtual/glu[${MULTILIB_USEDEP}] |
25863 |
- virtual/opengl[${MULTILIB_USEDEP}] |
25864 |
- ) |
25865 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
25866 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
25867 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
25868 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
25869 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
25870 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
25871 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
25872 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
25873 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
25874 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
25875 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
25876 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
25877 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
25878 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
25879 |
- xml? ( |
25880 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
25881 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
25882 |
- )" |
25883 |
- |
25884 |
-RDEPEND="${COMMON_DEPEND} |
25885 |
- app-emulation/wine-desktop-common |
25886 |
- >app-eselect/eselect-wine-0.3 |
25887 |
- !app-emulation/wine:0 |
25888 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
25889 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
25890 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
25891 |
- perl? ( |
25892 |
- dev-lang/perl |
25893 |
- dev-perl/XML-Simple |
25894 |
- ) |
25895 |
- pulseaudio? ( |
25896 |
- realtime? ( sys-auth/rtkit ) |
25897 |
- ) |
25898 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
25899 |
- selinux? ( sec-policy/selinux-wine ) |
25900 |
- udisks? ( sys-fs/udisks:2 )" |
25901 |
- |
25902 |
-# tools/make_requests requires perl |
25903 |
-DEPEND="${COMMON_DEPEND} |
25904 |
- sys-devel/flex |
25905 |
- >=sys-kernel/linux-headers-2.6 |
25906 |
- virtual/pkgconfig |
25907 |
- virtual/yacc |
25908 |
- X? ( x11-base/xorg-proto ) |
25909 |
- prelink? ( sys-devel/prelink ) |
25910 |
- xinerama? ( x11-base/xorg-proto )" |
25911 |
- |
25912 |
-# These use a non-standard "Wine" category, which is provided by |
25913 |
-# /etc/xdg/applications-merged/wine.menu |
25914 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
25915 |
-usr/share/applications/wine-notepad.desktop |
25916 |
-usr/share/applications/wine-uninstaller.desktop |
25917 |
-usr/share/applications/wine-winecfg.desktop" |
25918 |
- |
25919 |
-PATCHES=( |
25920 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
25921 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
25922 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
25923 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
25924 |
-) |
25925 |
-PATCHES_BIN=() |
25926 |
- |
25927 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
25928 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
25929 |
- DEPEND+=" dev-util/patchbin" |
25930 |
-fi |
25931 |
- |
25932 |
-wine_compiler_check() { |
25933 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
25934 |
- |
25935 |
- # GCC-specific bugs |
25936 |
- if tc-is-gcc; then |
25937 |
- # bug #549768 |
25938 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
25939 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
25940 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
25941 |
- # Run in subshell to prevent "Aborted" message |
25942 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
25943 |
- if ! eend $?; then |
25944 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
25945 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
25946 |
- eerror "or use gcc-config to select a different compiler version." |
25947 |
- eerror "See https://bugs.gentoo.org/549768" |
25948 |
- eerror |
25949 |
- return 1 |
25950 |
- fi |
25951 |
- fi |
25952 |
- # bug #574044 |
25953 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
25954 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
25955 |
- # Compile in subshell to prevent "Aborted" message |
25956 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
25957 |
- if ! eend $?; then |
25958 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
25959 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
25960 |
- eerror "or use gcc-config to select a different compiler version." |
25961 |
- eerror "See https://bugs.gentoo.org/574044" |
25962 |
- eerror |
25963 |
- return 1 |
25964 |
- fi |
25965 |
- fi |
25966 |
- fi |
25967 |
- |
25968 |
- # Ensure compiler support |
25969 |
- if use abi_x86_64; then |
25970 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
25971 |
- # Compile in subshell to prevent "Aborted" message |
25972 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
25973 |
- if ! eend $?; then |
25974 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
25975 |
- eerror |
25976 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
25977 |
- eerror |
25978 |
- return 1 |
25979 |
- fi |
25980 |
- fi |
25981 |
-} |
25982 |
- |
25983 |
-wine_build_environment_check() { |
25984 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
25985 |
- |
25986 |
- if use abi_x86_64; then |
25987 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
25988 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
25989 |
- die |
25990 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
25991 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
25992 |
- die |
25993 |
- fi |
25994 |
- fi |
25995 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
25996 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
25997 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
25998 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
25999 |
- fi |
26000 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
26001 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
26002 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
26003 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
26004 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
26005 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
26006 |
- fi |
26007 |
- fi |
26008 |
- |
26009 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
26010 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
26011 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
26012 |
- eerror |
26013 |
- return 1 |
26014 |
- fi |
26015 |
-} |
26016 |
- |
26017 |
-wine_env_vcs_vars() { |
26018 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
26019 |
- local pn_live_val="${pn_live_var}" |
26020 |
- eval pn_live_val='$'${pn_live_val} |
26021 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
26022 |
- eerror "Commits must now be specified using the environmental variables" |
26023 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
26024 |
- eerror |
26025 |
- return 1 |
26026 |
- fi |
26027 |
-} |
26028 |
- |
26029 |
-pkg_pretend() { |
26030 |
- wine_build_environment_check || die |
26031 |
- |
26032 |
- # Verify OSS support |
26033 |
- if use oss && ! use kernel_FreeBSD; then |
26034 |
- if ! has_version ">=media-sound/oss-4"; then |
26035 |
- eerror "You cannot build wine with USE=oss without having support from a" |
26036 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
26037 |
- eerror |
26038 |
- die |
26039 |
- fi |
26040 |
- fi |
26041 |
-} |
26042 |
- |
26043 |
-pkg_setup() { |
26044 |
- wine_build_environment_check || die |
26045 |
- wine_env_vcs_vars || die |
26046 |
- |
26047 |
- WINE_VARIANT="${PN#wine}-${PV}" |
26048 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
26049 |
- |
26050 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
26051 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
26052 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
26053 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
26054 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
26055 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
26056 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
26057 |
- MY_MANDIR="${MY_DATADIR}/man" |
26058 |
-} |
26059 |
- |
26060 |
-src_unpack() { |
26061 |
- if [[ ${PV} == "9999" ]] ; then |
26062 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
26063 |
- fi |
26064 |
- |
26065 |
- default |
26066 |
- |
26067 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
26068 |
-} |
26069 |
- |
26070 |
-src_prepare() { |
26071 |
- |
26072 |
- eapply_bin(){ |
26073 |
- local patch |
26074 |
- for patch in ${PATCHES_BIN[@]}; do |
26075 |
- patchbin --nogit < "${patch}" || die |
26076 |
- done |
26077 |
- } |
26078 |
- |
26079 |
- local md5="$(md5sum server/protocol.def)" |
26080 |
- |
26081 |
- default |
26082 |
- eapply_bin |
26083 |
- eautoreconf |
26084 |
- |
26085 |
- # Modification of the server protocol requires regenerating the server requests |
26086 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
26087 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
26088 |
- tools/make_requests || die #432348 |
26089 |
- fi |
26090 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
26091 |
- if ! use run-exes; then |
26092 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
26093 |
- fi |
26094 |
- |
26095 |
- # Edit wine.desktop to work for specific variant |
26096 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
26097 |
- |
26098 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
26099 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
26100 |
- |
26101 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
26102 |
- |
26103 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
26104 |
- |
26105 |
- # Duplicate manpages input files for wine64 |
26106 |
- local f |
26107 |
- for f in loader/*.man.in; do |
26108 |
- cp ${f} ${f/wine/wine64} || die |
26109 |
- done |
26110 |
- # Add wine64 manpages to Makefile |
26111 |
- if use abi_x86_64; then |
26112 |
- sed -i "/wine.man.in/i \ |
26113 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
26114 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
26115 |
-\164\2/' loader/Makefile.in || die |
26116 |
- fi |
26117 |
- |
26118 |
- rm_man_file(){ |
26119 |
- local file="${1}" |
26120 |
- loc=${2} |
26121 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
26122 |
- } |
26123 |
- |
26124 |
- while read f; do |
26125 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
26126 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
26127 |
-} |
26128 |
- |
26129 |
-src_configure() { |
26130 |
- wine_compiler_check || die |
26131 |
- |
26132 |
- export LDCONFIG=/bin/true |
26133 |
- use custom-cflags || strip-flags |
26134 |
- |
26135 |
- multilib-minimal_src_configure |
26136 |
-} |
26137 |
- |
26138 |
-multilib_src_configure() { |
26139 |
- local myconf=( |
26140 |
- --prefix="${MY_PREFIX}" |
26141 |
- --datarootdir="${MY_DATAROOTDIR}" |
26142 |
- --datadir="${MY_DATADIR}" |
26143 |
- --docdir="${MY_DOCDIR}" |
26144 |
- --includedir="${MY_INCLUDEDIR}" |
26145 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
26146 |
- --libexecdir="${MY_LIBEXECDIR}" |
26147 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
26148 |
- --mandir="${MY_MANDIR}" |
26149 |
- --sysconfdir=/etc/wine |
26150 |
- $(use_with alsa) |
26151 |
- $(use_with capi) |
26152 |
- $(use_with lcms cms) |
26153 |
- $(use_with cups) |
26154 |
- $(use_with ncurses curses) |
26155 |
- $(use_with udisks dbus) |
26156 |
- $(use_with fontconfig) |
26157 |
- $(use_with ssl gnutls) |
26158 |
- $(use_enable gecko mshtml) |
26159 |
- $(use_with gphoto2 gphoto) |
26160 |
- $(use_with gsm) |
26161 |
- $(use_with gssapi) |
26162 |
- $(use_with gstreamer) |
26163 |
- --without-hal |
26164 |
- $(use_with jpeg) |
26165 |
- $(use_with kerberos krb5) |
26166 |
- $(use_with ldap) |
26167 |
- $(use_enable mono mscoree) |
26168 |
- $(use_with mp3 mpg123) |
26169 |
- $(use_with netapi) |
26170 |
- $(use_with nls gettext) |
26171 |
- $(use_with openal) |
26172 |
- $(use_with opencl) |
26173 |
- $(use_with opengl) |
26174 |
- $(use_with osmesa) |
26175 |
- $(use_with oss) |
26176 |
- $(use_with pcap) |
26177 |
- $(use_with png) |
26178 |
- $(use_with pulseaudio pulse) |
26179 |
- $(use_with threads pthread) |
26180 |
- $(use_with scanner sane) |
26181 |
- $(use_with sdl) |
26182 |
- $(use_enable test tests) |
26183 |
- $(use_with truetype freetype) |
26184 |
- $(use_with udev) |
26185 |
- $(use_with v4l) |
26186 |
- $(use_with vulkan) |
26187 |
- $(use_with X x) |
26188 |
- $(use_with X xfixes) |
26189 |
- $(use_with xcomposite) |
26190 |
- $(use_with xinerama) |
26191 |
- $(use_with xml) |
26192 |
- $(use_with xml xslt) |
26193 |
- ) |
26194 |
- |
26195 |
- local PKG_CONFIG AR RANLIB |
26196 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
26197 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
26198 |
- tc-export PKG_CONFIG AR RANLIB |
26199 |
- |
26200 |
- if use amd64; then |
26201 |
- if [[ ${ABI} == amd64 ]]; then |
26202 |
- myconf+=( --enable-win64 ) |
26203 |
- else |
26204 |
- myconf+=( --disable-win64 ) |
26205 |
- fi |
26206 |
- |
26207 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
26208 |
- # CC/LD hackery. We're using separate tools instead. |
26209 |
- fi |
26210 |
- |
26211 |
- ECONF_SOURCE=${S} \ |
26212 |
- econf "${myconf[@]}" |
26213 |
- emake depend |
26214 |
-} |
26215 |
- |
26216 |
-multilib_src_test() { |
26217 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
26218 |
- if [[ ${ABI} == x86 ]]; then |
26219 |
- if [[ $(id -u) == 0 ]]; then |
26220 |
- ewarn "Skipping tests since they cannot be run under the root user." |
26221 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
26222 |
- return |
26223 |
- fi |
26224 |
- |
26225 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
26226 |
- Xemake test |
26227 |
- fi |
26228 |
-} |
26229 |
- |
26230 |
-multilib_src_install_all() { |
26231 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
26232 |
- add_locale_docs() { |
26233 |
- local locale_doc="documentation/README.$1" |
26234 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
26235 |
- } |
26236 |
- l10n_for_each_locale_do add_locale_docs |
26237 |
- |
26238 |
- einstalldocs |
26239 |
- prune_libtool_files --all |
26240 |
- |
26241 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
26242 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
26243 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
26244 |
- fi |
26245 |
- |
26246 |
- # Remove wineconsole if neither backend is installed #551124 |
26247 |
- if ! use X && ! use ncurses; then |
26248 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
26249 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
26250 |
- rm_wineconsole() { |
26251 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
26252 |
- } |
26253 |
- multilib_foreach_abi rm_wineconsole |
26254 |
- fi |
26255 |
- |
26256 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
26257 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
26258 |
- |
26259 |
- if use abi_x86_64 && ! use abi_x86_32; then |
26260 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
26261 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
26262 |
- fi |
26263 |
- |
26264 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
26265 |
- eshopts_push -s failglob #615218 |
26266 |
- # Make wrappers for binaries for handling multiple variants |
26267 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
26268 |
- local b |
26269 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
26270 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
26271 |
- done |
26272 |
- eshopts_pop |
26273 |
-} |
26274 |
- |
26275 |
-pkg_postinst() { |
26276 |
- eselect wine register ${P} |
26277 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
26278 |
- eselect wine register --vanilla ${P} || die |
26279 |
- fi |
26280 |
- |
26281 |
- eselect wine update --all --if-unset || die |
26282 |
- |
26283 |
- xdg_desktop_database_update |
26284 |
- |
26285 |
- if ! use gecko; then |
26286 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
26287 |
- ewarn "implementation of iexplore. Many older windows applications" |
26288 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
26289 |
- ewarn "you will likely need to install an external one, like via winetricks" |
26290 |
- fi |
26291 |
- if ! use mono; then |
26292 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
26293 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
26294 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
26295 |
- ewarn "to install an external one, like via winetricks" |
26296 |
- fi |
26297 |
-} |
26298 |
- |
26299 |
-pkg_prerm() { |
26300 |
- eselect wine deregister ${P} |
26301 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
26302 |
- eselect wine deregister --vanilla ${P} || die |
26303 |
- fi |
26304 |
- |
26305 |
- eselect wine update --all --if-unset || die |
26306 |
-} |
26307 |
- |
26308 |
-pkg_postrm() { |
26309 |
- xdg_desktop_database_update |
26310 |
-} |
26311 |
|
26312 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.5.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.5.ebuild |
26313 |
deleted file mode 100644 |
26314 |
index af3f138..0000000 |
26315 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.5.ebuild |
26316 |
+++ /dev/null |
26317 |
@@ -1,529 +0,0 @@ |
26318 |
-# Copyright 1999-2018 Gentoo Foundation |
26319 |
-# Distributed under the terms of the GNU General Public License v2 |
26320 |
- |
26321 |
-EAPI=6 |
26322 |
- |
26323 |
-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" |
26324 |
-PLOCALE_BACKUP="en" |
26325 |
- |
26326 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
26327 |
- |
26328 |
-MY_PN="${PN%%-*}" |
26329 |
-MY_P="${MY_PN}-${PV}" |
26330 |
- |
26331 |
-if [[ ${PV} == "9999" ]] ; then |
26332 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
26333 |
- EGIT_BRANCH="master" |
26334 |
- inherit git-r3 |
26335 |
- SRC_URI="" |
26336 |
- #KEYWORDS="" |
26337 |
-else |
26338 |
- MAJOR_V=$(ver_cut 1) |
26339 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
26340 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
26341 |
-fi |
26342 |
-S="${WORKDIR}/${MY_P}" |
26343 |
- |
26344 |
-GWP_V="20180120" |
26345 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
26346 |
- |
26347 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
26348 |
-HOMEPAGE="https://www.winehq.org/" |
26349 |
-SRC_URI="${SRC_URI} |
26350 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
26351 |
-" |
26352 |
- |
26353 |
-LICENSE="LGPL-2.1" |
26354 |
-SLOT="${PV}" |
26355 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vulkan +X +xcomposite xinerama +xml" |
26356 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
26357 |
- X? ( truetype ) |
26358 |
- elibc_glibc? ( threads ) |
26359 |
- osmesa? ( opengl ) |
26360 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
26361 |
- |
26362 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
26363 |
-# or fail due to Xvfb's opengl limitations. |
26364 |
-RESTRICT="test" |
26365 |
- |
26366 |
-COMMON_DEPEND=" |
26367 |
- X? ( |
26368 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
26369 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
26370 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
26371 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
26372 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
26373 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
26374 |
- ) |
26375 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
26376 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
26377 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
26378 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
26379 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
26380 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
26381 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
26382 |
- gstreamer? ( |
26383 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
26384 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
26385 |
- ) |
26386 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
26387 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
26388 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
26389 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
26390 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
26391 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
26392 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
26393 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
26394 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
26395 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
26396 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
26397 |
- opengl? ( |
26398 |
- virtual/glu[${MULTILIB_USEDEP}] |
26399 |
- virtual/opengl[${MULTILIB_USEDEP}] |
26400 |
- ) |
26401 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
26402 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
26403 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
26404 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
26405 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
26406 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
26407 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
26408 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
26409 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
26410 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
26411 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
26412 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
26413 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
26414 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
26415 |
- xml? ( |
26416 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
26417 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
26418 |
- )" |
26419 |
- |
26420 |
-RDEPEND="${COMMON_DEPEND} |
26421 |
- app-emulation/wine-desktop-common |
26422 |
- >app-eselect/eselect-wine-0.3 |
26423 |
- !app-emulation/wine:0 |
26424 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
26425 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
26426 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
26427 |
- perl? ( |
26428 |
- dev-lang/perl |
26429 |
- dev-perl/XML-Simple |
26430 |
- ) |
26431 |
- pulseaudio? ( |
26432 |
- realtime? ( sys-auth/rtkit ) |
26433 |
- ) |
26434 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
26435 |
- selinux? ( sec-policy/selinux-wine ) |
26436 |
- udisks? ( sys-fs/udisks:2 )" |
26437 |
- |
26438 |
-# tools/make_requests requires perl |
26439 |
-DEPEND="${COMMON_DEPEND} |
26440 |
- sys-devel/flex |
26441 |
- >=sys-kernel/linux-headers-2.6 |
26442 |
- virtual/pkgconfig |
26443 |
- virtual/yacc |
26444 |
- X? ( x11-base/xorg-proto ) |
26445 |
- prelink? ( sys-devel/prelink ) |
26446 |
- xinerama? ( x11-base/xorg-proto )" |
26447 |
- |
26448 |
-# These use a non-standard "Wine" category, which is provided by |
26449 |
-# /etc/xdg/applications-merged/wine.menu |
26450 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
26451 |
-usr/share/applications/wine-notepad.desktop |
26452 |
-usr/share/applications/wine-uninstaller.desktop |
26453 |
-usr/share/applications/wine-winecfg.desktop" |
26454 |
- |
26455 |
-PATCHES=( |
26456 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
26457 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
26458 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
26459 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
26460 |
-) |
26461 |
-PATCHES_BIN=() |
26462 |
- |
26463 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
26464 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
26465 |
- DEPEND+=" dev-util/patchbin" |
26466 |
-fi |
26467 |
- |
26468 |
-wine_compiler_check() { |
26469 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
26470 |
- |
26471 |
- # GCC-specific bugs |
26472 |
- if tc-is-gcc; then |
26473 |
- # bug #549768 |
26474 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
26475 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
26476 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
26477 |
- # Run in subshell to prevent "Aborted" message |
26478 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
26479 |
- if ! eend $?; then |
26480 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
26481 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
26482 |
- eerror "or use gcc-config to select a different compiler version." |
26483 |
- eerror "See https://bugs.gentoo.org/549768" |
26484 |
- eerror |
26485 |
- return 1 |
26486 |
- fi |
26487 |
- fi |
26488 |
- # bug #574044 |
26489 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
26490 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
26491 |
- # Compile in subshell to prevent "Aborted" message |
26492 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
26493 |
- if ! eend $?; then |
26494 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
26495 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
26496 |
- eerror "or use gcc-config to select a different compiler version." |
26497 |
- eerror "See https://bugs.gentoo.org/574044" |
26498 |
- eerror |
26499 |
- return 1 |
26500 |
- fi |
26501 |
- fi |
26502 |
- fi |
26503 |
- |
26504 |
- # Ensure compiler support |
26505 |
- if use abi_x86_64; then |
26506 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
26507 |
- # Compile in subshell to prevent "Aborted" message |
26508 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
26509 |
- if ! eend $?; then |
26510 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
26511 |
- eerror |
26512 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
26513 |
- eerror |
26514 |
- return 1 |
26515 |
- fi |
26516 |
- fi |
26517 |
-} |
26518 |
- |
26519 |
-wine_build_environment_check() { |
26520 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
26521 |
- |
26522 |
- if use abi_x86_64; then |
26523 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
26524 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
26525 |
- die |
26526 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
26527 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
26528 |
- die |
26529 |
- fi |
26530 |
- fi |
26531 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
26532 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
26533 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
26534 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
26535 |
- fi |
26536 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
26537 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
26538 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
26539 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
26540 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
26541 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
26542 |
- fi |
26543 |
- fi |
26544 |
- |
26545 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
26546 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
26547 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
26548 |
- eerror |
26549 |
- return 1 |
26550 |
- fi |
26551 |
-} |
26552 |
- |
26553 |
-wine_env_vcs_vars() { |
26554 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
26555 |
- local pn_live_val="${pn_live_var}" |
26556 |
- eval pn_live_val='$'${pn_live_val} |
26557 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
26558 |
- eerror "Commits must now be specified using the environmental variables" |
26559 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
26560 |
- eerror |
26561 |
- return 1 |
26562 |
- fi |
26563 |
-} |
26564 |
- |
26565 |
-pkg_pretend() { |
26566 |
- wine_build_environment_check || die |
26567 |
- |
26568 |
- # Verify OSS support |
26569 |
- if use oss && ! use kernel_FreeBSD; then |
26570 |
- if ! has_version ">=media-sound/oss-4"; then |
26571 |
- eerror "You cannot build wine with USE=oss without having support from a" |
26572 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
26573 |
- eerror |
26574 |
- die |
26575 |
- fi |
26576 |
- fi |
26577 |
-} |
26578 |
- |
26579 |
-pkg_setup() { |
26580 |
- wine_build_environment_check || die |
26581 |
- wine_env_vcs_vars || die |
26582 |
- |
26583 |
- WINE_VARIANT="${PN#wine}-${PV}" |
26584 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
26585 |
- |
26586 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
26587 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
26588 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
26589 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
26590 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
26591 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
26592 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
26593 |
- MY_MANDIR="${MY_DATADIR}/man" |
26594 |
-} |
26595 |
- |
26596 |
-src_unpack() { |
26597 |
- if [[ ${PV} == "9999" ]] ; then |
26598 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
26599 |
- fi |
26600 |
- |
26601 |
- default |
26602 |
- |
26603 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
26604 |
-} |
26605 |
- |
26606 |
-src_prepare() { |
26607 |
- |
26608 |
- eapply_bin(){ |
26609 |
- local patch |
26610 |
- for patch in ${PATCHES_BIN[@]}; do |
26611 |
- patchbin --nogit < "${patch}" || die |
26612 |
- done |
26613 |
- } |
26614 |
- |
26615 |
- local md5="$(md5sum server/protocol.def)" |
26616 |
- |
26617 |
- default |
26618 |
- eapply_bin |
26619 |
- eautoreconf |
26620 |
- |
26621 |
- # Modification of the server protocol requires regenerating the server requests |
26622 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
26623 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
26624 |
- tools/make_requests || die #432348 |
26625 |
- fi |
26626 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
26627 |
- if ! use run-exes; then |
26628 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
26629 |
- fi |
26630 |
- |
26631 |
- # Edit wine.desktop to work for specific variant |
26632 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
26633 |
- |
26634 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
26635 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
26636 |
- |
26637 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
26638 |
- |
26639 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
26640 |
- |
26641 |
- # Duplicate manpages input files for wine64 |
26642 |
- local f |
26643 |
- for f in loader/*.man.in; do |
26644 |
- cp ${f} ${f/wine/wine64} || die |
26645 |
- done |
26646 |
- # Add wine64 manpages to Makefile |
26647 |
- if use abi_x86_64; then |
26648 |
- sed -i "/wine.man.in/i \ |
26649 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
26650 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
26651 |
-\164\2/' loader/Makefile.in || die |
26652 |
- fi |
26653 |
- |
26654 |
- rm_man_file(){ |
26655 |
- local file="${1}" |
26656 |
- loc=${2} |
26657 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
26658 |
- } |
26659 |
- |
26660 |
- while read f; do |
26661 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
26662 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
26663 |
-} |
26664 |
- |
26665 |
-src_configure() { |
26666 |
- wine_compiler_check || die |
26667 |
- |
26668 |
- export LDCONFIG=/bin/true |
26669 |
- use custom-cflags || strip-flags |
26670 |
- |
26671 |
- multilib-minimal_src_configure |
26672 |
-} |
26673 |
- |
26674 |
-multilib_src_configure() { |
26675 |
- local myconf=( |
26676 |
- --prefix="${MY_PREFIX}" |
26677 |
- --datarootdir="${MY_DATAROOTDIR}" |
26678 |
- --datadir="${MY_DATADIR}" |
26679 |
- --docdir="${MY_DOCDIR}" |
26680 |
- --includedir="${MY_INCLUDEDIR}" |
26681 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
26682 |
- --libexecdir="${MY_LIBEXECDIR}" |
26683 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
26684 |
- --mandir="${MY_MANDIR}" |
26685 |
- --sysconfdir=/etc/wine |
26686 |
- $(use_with alsa) |
26687 |
- $(use_with capi) |
26688 |
- $(use_with lcms cms) |
26689 |
- $(use_with cups) |
26690 |
- $(use_with ncurses curses) |
26691 |
- $(use_with udisks dbus) |
26692 |
- $(use_with fontconfig) |
26693 |
- $(use_with ssl gnutls) |
26694 |
- $(use_enable gecko mshtml) |
26695 |
- $(use_with gphoto2 gphoto) |
26696 |
- $(use_with gsm) |
26697 |
- $(use_with gssapi) |
26698 |
- $(use_with gstreamer) |
26699 |
- --without-hal |
26700 |
- $(use_with jpeg) |
26701 |
- $(use_with kerberos krb5) |
26702 |
- $(use_with ldap) |
26703 |
- $(use_enable mono mscoree) |
26704 |
- $(use_with mp3 mpg123) |
26705 |
- $(use_with netapi) |
26706 |
- $(use_with nls gettext) |
26707 |
- $(use_with openal) |
26708 |
- $(use_with opencl) |
26709 |
- $(use_with opengl) |
26710 |
- $(use_with osmesa) |
26711 |
- $(use_with oss) |
26712 |
- $(use_with pcap) |
26713 |
- $(use_with png) |
26714 |
- $(use_with pulseaudio pulse) |
26715 |
- $(use_with threads pthread) |
26716 |
- $(use_with scanner sane) |
26717 |
- $(use_with sdl) |
26718 |
- $(use_enable test tests) |
26719 |
- $(use_with truetype freetype) |
26720 |
- $(use_with udev) |
26721 |
- $(use_with v4l) |
26722 |
- $(use_with vulkan) |
26723 |
- $(use_with X x) |
26724 |
- $(use_with X xfixes) |
26725 |
- $(use_with xcomposite) |
26726 |
- $(use_with xinerama) |
26727 |
- $(use_with xml) |
26728 |
- $(use_with xml xslt) |
26729 |
- ) |
26730 |
- |
26731 |
- local PKG_CONFIG AR RANLIB |
26732 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
26733 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
26734 |
- tc-export PKG_CONFIG AR RANLIB |
26735 |
- |
26736 |
- if use amd64; then |
26737 |
- if [[ ${ABI} == amd64 ]]; then |
26738 |
- myconf+=( --enable-win64 ) |
26739 |
- else |
26740 |
- myconf+=( --disable-win64 ) |
26741 |
- fi |
26742 |
- |
26743 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
26744 |
- # CC/LD hackery. We're using separate tools instead. |
26745 |
- fi |
26746 |
- |
26747 |
- ECONF_SOURCE=${S} \ |
26748 |
- econf "${myconf[@]}" |
26749 |
- emake depend |
26750 |
-} |
26751 |
- |
26752 |
-multilib_src_test() { |
26753 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
26754 |
- if [[ ${ABI} == x86 ]]; then |
26755 |
- if [[ $(id -u) == 0 ]]; then |
26756 |
- ewarn "Skipping tests since they cannot be run under the root user." |
26757 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
26758 |
- return |
26759 |
- fi |
26760 |
- |
26761 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
26762 |
- Xemake test |
26763 |
- fi |
26764 |
-} |
26765 |
- |
26766 |
-multilib_src_install_all() { |
26767 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
26768 |
- add_locale_docs() { |
26769 |
- local locale_doc="documentation/README.$1" |
26770 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
26771 |
- } |
26772 |
- l10n_for_each_locale_do add_locale_docs |
26773 |
- |
26774 |
- einstalldocs |
26775 |
- prune_libtool_files --all |
26776 |
- |
26777 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
26778 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
26779 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
26780 |
- fi |
26781 |
- |
26782 |
- # Remove wineconsole if neither backend is installed #551124 |
26783 |
- if ! use X && ! use ncurses; then |
26784 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
26785 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
26786 |
- rm_wineconsole() { |
26787 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
26788 |
- } |
26789 |
- multilib_foreach_abi rm_wineconsole |
26790 |
- fi |
26791 |
- |
26792 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
26793 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
26794 |
- |
26795 |
- if use abi_x86_64 && ! use abi_x86_32; then |
26796 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
26797 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
26798 |
- fi |
26799 |
- |
26800 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
26801 |
- eshopts_push -s failglob #615218 |
26802 |
- # Make wrappers for binaries for handling multiple variants |
26803 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
26804 |
- local b |
26805 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
26806 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
26807 |
- done |
26808 |
- eshopts_pop |
26809 |
-} |
26810 |
- |
26811 |
-pkg_postinst() { |
26812 |
- eselect wine register ${P} |
26813 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
26814 |
- eselect wine register --vanilla ${P} || die |
26815 |
- fi |
26816 |
- |
26817 |
- eselect wine update --all --if-unset || die |
26818 |
- |
26819 |
- xdg_desktop_database_update |
26820 |
- |
26821 |
- if ! use gecko; then |
26822 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
26823 |
- ewarn "implementation of iexplore. Many older windows applications" |
26824 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
26825 |
- ewarn "you will likely need to install an external one, like via winetricks" |
26826 |
- fi |
26827 |
- if ! use mono; then |
26828 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
26829 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
26830 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
26831 |
- ewarn "to install an external one, like via winetricks" |
26832 |
- fi |
26833 |
-} |
26834 |
- |
26835 |
-pkg_prerm() { |
26836 |
- eselect wine deregister ${P} |
26837 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
26838 |
- eselect wine deregister --vanilla ${P} || die |
26839 |
- fi |
26840 |
- |
26841 |
- eselect wine update --all --if-unset || die |
26842 |
-} |
26843 |
- |
26844 |
-pkg_postrm() { |
26845 |
- xdg_desktop_database_update |
26846 |
-} |
26847 |
|
26848 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.6.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.6.ebuild |
26849 |
deleted file mode 100644 |
26850 |
index af3f138..0000000 |
26851 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.6.ebuild |
26852 |
+++ /dev/null |
26853 |
@@ -1,529 +0,0 @@ |
26854 |
-# Copyright 1999-2018 Gentoo Foundation |
26855 |
-# Distributed under the terms of the GNU General Public License v2 |
26856 |
- |
26857 |
-EAPI=6 |
26858 |
- |
26859 |
-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" |
26860 |
-PLOCALE_BACKUP="en" |
26861 |
- |
26862 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
26863 |
- |
26864 |
-MY_PN="${PN%%-*}" |
26865 |
-MY_P="${MY_PN}-${PV}" |
26866 |
- |
26867 |
-if [[ ${PV} == "9999" ]] ; then |
26868 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
26869 |
- EGIT_BRANCH="master" |
26870 |
- inherit git-r3 |
26871 |
- SRC_URI="" |
26872 |
- #KEYWORDS="" |
26873 |
-else |
26874 |
- MAJOR_V=$(ver_cut 1) |
26875 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
26876 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
26877 |
-fi |
26878 |
-S="${WORKDIR}/${MY_P}" |
26879 |
- |
26880 |
-GWP_V="20180120" |
26881 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
26882 |
- |
26883 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
26884 |
-HOMEPAGE="https://www.winehq.org/" |
26885 |
-SRC_URI="${SRC_URI} |
26886 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
26887 |
-" |
26888 |
- |
26889 |
-LICENSE="LGPL-2.1" |
26890 |
-SLOT="${PV}" |
26891 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vulkan +X +xcomposite xinerama +xml" |
26892 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
26893 |
- X? ( truetype ) |
26894 |
- elibc_glibc? ( threads ) |
26895 |
- osmesa? ( opengl ) |
26896 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
26897 |
- |
26898 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
26899 |
-# or fail due to Xvfb's opengl limitations. |
26900 |
-RESTRICT="test" |
26901 |
- |
26902 |
-COMMON_DEPEND=" |
26903 |
- X? ( |
26904 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
26905 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
26906 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
26907 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
26908 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
26909 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
26910 |
- ) |
26911 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
26912 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
26913 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
26914 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
26915 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
26916 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
26917 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
26918 |
- gstreamer? ( |
26919 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
26920 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
26921 |
- ) |
26922 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
26923 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
26924 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
26925 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
26926 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
26927 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
26928 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
26929 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
26930 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
26931 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
26932 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
26933 |
- opengl? ( |
26934 |
- virtual/glu[${MULTILIB_USEDEP}] |
26935 |
- virtual/opengl[${MULTILIB_USEDEP}] |
26936 |
- ) |
26937 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
26938 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
26939 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
26940 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
26941 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
26942 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
26943 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
26944 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
26945 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
26946 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
26947 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
26948 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
26949 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
26950 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
26951 |
- xml? ( |
26952 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
26953 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
26954 |
- )" |
26955 |
- |
26956 |
-RDEPEND="${COMMON_DEPEND} |
26957 |
- app-emulation/wine-desktop-common |
26958 |
- >app-eselect/eselect-wine-0.3 |
26959 |
- !app-emulation/wine:0 |
26960 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
26961 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
26962 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
26963 |
- perl? ( |
26964 |
- dev-lang/perl |
26965 |
- dev-perl/XML-Simple |
26966 |
- ) |
26967 |
- pulseaudio? ( |
26968 |
- realtime? ( sys-auth/rtkit ) |
26969 |
- ) |
26970 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
26971 |
- selinux? ( sec-policy/selinux-wine ) |
26972 |
- udisks? ( sys-fs/udisks:2 )" |
26973 |
- |
26974 |
-# tools/make_requests requires perl |
26975 |
-DEPEND="${COMMON_DEPEND} |
26976 |
- sys-devel/flex |
26977 |
- >=sys-kernel/linux-headers-2.6 |
26978 |
- virtual/pkgconfig |
26979 |
- virtual/yacc |
26980 |
- X? ( x11-base/xorg-proto ) |
26981 |
- prelink? ( sys-devel/prelink ) |
26982 |
- xinerama? ( x11-base/xorg-proto )" |
26983 |
- |
26984 |
-# These use a non-standard "Wine" category, which is provided by |
26985 |
-# /etc/xdg/applications-merged/wine.menu |
26986 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
26987 |
-usr/share/applications/wine-notepad.desktop |
26988 |
-usr/share/applications/wine-uninstaller.desktop |
26989 |
-usr/share/applications/wine-winecfg.desktop" |
26990 |
- |
26991 |
-PATCHES=( |
26992 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
26993 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
26994 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
26995 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
26996 |
-) |
26997 |
-PATCHES_BIN=() |
26998 |
- |
26999 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
27000 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
27001 |
- DEPEND+=" dev-util/patchbin" |
27002 |
-fi |
27003 |
- |
27004 |
-wine_compiler_check() { |
27005 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
27006 |
- |
27007 |
- # GCC-specific bugs |
27008 |
- if tc-is-gcc; then |
27009 |
- # bug #549768 |
27010 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
27011 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
27012 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
27013 |
- # Run in subshell to prevent "Aborted" message |
27014 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
27015 |
- if ! eend $?; then |
27016 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
27017 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
27018 |
- eerror "or use gcc-config to select a different compiler version." |
27019 |
- eerror "See https://bugs.gentoo.org/549768" |
27020 |
- eerror |
27021 |
- return 1 |
27022 |
- fi |
27023 |
- fi |
27024 |
- # bug #574044 |
27025 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
27026 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
27027 |
- # Compile in subshell to prevent "Aborted" message |
27028 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
27029 |
- if ! eend $?; then |
27030 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
27031 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
27032 |
- eerror "or use gcc-config to select a different compiler version." |
27033 |
- eerror "See https://bugs.gentoo.org/574044" |
27034 |
- eerror |
27035 |
- return 1 |
27036 |
- fi |
27037 |
- fi |
27038 |
- fi |
27039 |
- |
27040 |
- # Ensure compiler support |
27041 |
- if use abi_x86_64; then |
27042 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
27043 |
- # Compile in subshell to prevent "Aborted" message |
27044 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
27045 |
- if ! eend $?; then |
27046 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
27047 |
- eerror |
27048 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
27049 |
- eerror |
27050 |
- return 1 |
27051 |
- fi |
27052 |
- fi |
27053 |
-} |
27054 |
- |
27055 |
-wine_build_environment_check() { |
27056 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
27057 |
- |
27058 |
- if use abi_x86_64; then |
27059 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
27060 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
27061 |
- die |
27062 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
27063 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
27064 |
- die |
27065 |
- fi |
27066 |
- fi |
27067 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
27068 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
27069 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
27070 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
27071 |
- fi |
27072 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
27073 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
27074 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
27075 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
27076 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
27077 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
27078 |
- fi |
27079 |
- fi |
27080 |
- |
27081 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
27082 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
27083 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
27084 |
- eerror |
27085 |
- return 1 |
27086 |
- fi |
27087 |
-} |
27088 |
- |
27089 |
-wine_env_vcs_vars() { |
27090 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
27091 |
- local pn_live_val="${pn_live_var}" |
27092 |
- eval pn_live_val='$'${pn_live_val} |
27093 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
27094 |
- eerror "Commits must now be specified using the environmental variables" |
27095 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
27096 |
- eerror |
27097 |
- return 1 |
27098 |
- fi |
27099 |
-} |
27100 |
- |
27101 |
-pkg_pretend() { |
27102 |
- wine_build_environment_check || die |
27103 |
- |
27104 |
- # Verify OSS support |
27105 |
- if use oss && ! use kernel_FreeBSD; then |
27106 |
- if ! has_version ">=media-sound/oss-4"; then |
27107 |
- eerror "You cannot build wine with USE=oss without having support from a" |
27108 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
27109 |
- eerror |
27110 |
- die |
27111 |
- fi |
27112 |
- fi |
27113 |
-} |
27114 |
- |
27115 |
-pkg_setup() { |
27116 |
- wine_build_environment_check || die |
27117 |
- wine_env_vcs_vars || die |
27118 |
- |
27119 |
- WINE_VARIANT="${PN#wine}-${PV}" |
27120 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
27121 |
- |
27122 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
27123 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
27124 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
27125 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
27126 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
27127 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
27128 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
27129 |
- MY_MANDIR="${MY_DATADIR}/man" |
27130 |
-} |
27131 |
- |
27132 |
-src_unpack() { |
27133 |
- if [[ ${PV} == "9999" ]] ; then |
27134 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
27135 |
- fi |
27136 |
- |
27137 |
- default |
27138 |
- |
27139 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
27140 |
-} |
27141 |
- |
27142 |
-src_prepare() { |
27143 |
- |
27144 |
- eapply_bin(){ |
27145 |
- local patch |
27146 |
- for patch in ${PATCHES_BIN[@]}; do |
27147 |
- patchbin --nogit < "${patch}" || die |
27148 |
- done |
27149 |
- } |
27150 |
- |
27151 |
- local md5="$(md5sum server/protocol.def)" |
27152 |
- |
27153 |
- default |
27154 |
- eapply_bin |
27155 |
- eautoreconf |
27156 |
- |
27157 |
- # Modification of the server protocol requires regenerating the server requests |
27158 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
27159 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
27160 |
- tools/make_requests || die #432348 |
27161 |
- fi |
27162 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
27163 |
- if ! use run-exes; then |
27164 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
27165 |
- fi |
27166 |
- |
27167 |
- # Edit wine.desktop to work for specific variant |
27168 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
27169 |
- |
27170 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
27171 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
27172 |
- |
27173 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
27174 |
- |
27175 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
27176 |
- |
27177 |
- # Duplicate manpages input files for wine64 |
27178 |
- local f |
27179 |
- for f in loader/*.man.in; do |
27180 |
- cp ${f} ${f/wine/wine64} || die |
27181 |
- done |
27182 |
- # Add wine64 manpages to Makefile |
27183 |
- if use abi_x86_64; then |
27184 |
- sed -i "/wine.man.in/i \ |
27185 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
27186 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
27187 |
-\164\2/' loader/Makefile.in || die |
27188 |
- fi |
27189 |
- |
27190 |
- rm_man_file(){ |
27191 |
- local file="${1}" |
27192 |
- loc=${2} |
27193 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
27194 |
- } |
27195 |
- |
27196 |
- while read f; do |
27197 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
27198 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
27199 |
-} |
27200 |
- |
27201 |
-src_configure() { |
27202 |
- wine_compiler_check || die |
27203 |
- |
27204 |
- export LDCONFIG=/bin/true |
27205 |
- use custom-cflags || strip-flags |
27206 |
- |
27207 |
- multilib-minimal_src_configure |
27208 |
-} |
27209 |
- |
27210 |
-multilib_src_configure() { |
27211 |
- local myconf=( |
27212 |
- --prefix="${MY_PREFIX}" |
27213 |
- --datarootdir="${MY_DATAROOTDIR}" |
27214 |
- --datadir="${MY_DATADIR}" |
27215 |
- --docdir="${MY_DOCDIR}" |
27216 |
- --includedir="${MY_INCLUDEDIR}" |
27217 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
27218 |
- --libexecdir="${MY_LIBEXECDIR}" |
27219 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
27220 |
- --mandir="${MY_MANDIR}" |
27221 |
- --sysconfdir=/etc/wine |
27222 |
- $(use_with alsa) |
27223 |
- $(use_with capi) |
27224 |
- $(use_with lcms cms) |
27225 |
- $(use_with cups) |
27226 |
- $(use_with ncurses curses) |
27227 |
- $(use_with udisks dbus) |
27228 |
- $(use_with fontconfig) |
27229 |
- $(use_with ssl gnutls) |
27230 |
- $(use_enable gecko mshtml) |
27231 |
- $(use_with gphoto2 gphoto) |
27232 |
- $(use_with gsm) |
27233 |
- $(use_with gssapi) |
27234 |
- $(use_with gstreamer) |
27235 |
- --without-hal |
27236 |
- $(use_with jpeg) |
27237 |
- $(use_with kerberos krb5) |
27238 |
- $(use_with ldap) |
27239 |
- $(use_enable mono mscoree) |
27240 |
- $(use_with mp3 mpg123) |
27241 |
- $(use_with netapi) |
27242 |
- $(use_with nls gettext) |
27243 |
- $(use_with openal) |
27244 |
- $(use_with opencl) |
27245 |
- $(use_with opengl) |
27246 |
- $(use_with osmesa) |
27247 |
- $(use_with oss) |
27248 |
- $(use_with pcap) |
27249 |
- $(use_with png) |
27250 |
- $(use_with pulseaudio pulse) |
27251 |
- $(use_with threads pthread) |
27252 |
- $(use_with scanner sane) |
27253 |
- $(use_with sdl) |
27254 |
- $(use_enable test tests) |
27255 |
- $(use_with truetype freetype) |
27256 |
- $(use_with udev) |
27257 |
- $(use_with v4l) |
27258 |
- $(use_with vulkan) |
27259 |
- $(use_with X x) |
27260 |
- $(use_with X xfixes) |
27261 |
- $(use_with xcomposite) |
27262 |
- $(use_with xinerama) |
27263 |
- $(use_with xml) |
27264 |
- $(use_with xml xslt) |
27265 |
- ) |
27266 |
- |
27267 |
- local PKG_CONFIG AR RANLIB |
27268 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
27269 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
27270 |
- tc-export PKG_CONFIG AR RANLIB |
27271 |
- |
27272 |
- if use amd64; then |
27273 |
- if [[ ${ABI} == amd64 ]]; then |
27274 |
- myconf+=( --enable-win64 ) |
27275 |
- else |
27276 |
- myconf+=( --disable-win64 ) |
27277 |
- fi |
27278 |
- |
27279 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
27280 |
- # CC/LD hackery. We're using separate tools instead. |
27281 |
- fi |
27282 |
- |
27283 |
- ECONF_SOURCE=${S} \ |
27284 |
- econf "${myconf[@]}" |
27285 |
- emake depend |
27286 |
-} |
27287 |
- |
27288 |
-multilib_src_test() { |
27289 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
27290 |
- if [[ ${ABI} == x86 ]]; then |
27291 |
- if [[ $(id -u) == 0 ]]; then |
27292 |
- ewarn "Skipping tests since they cannot be run under the root user." |
27293 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
27294 |
- return |
27295 |
- fi |
27296 |
- |
27297 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
27298 |
- Xemake test |
27299 |
- fi |
27300 |
-} |
27301 |
- |
27302 |
-multilib_src_install_all() { |
27303 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
27304 |
- add_locale_docs() { |
27305 |
- local locale_doc="documentation/README.$1" |
27306 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
27307 |
- } |
27308 |
- l10n_for_each_locale_do add_locale_docs |
27309 |
- |
27310 |
- einstalldocs |
27311 |
- prune_libtool_files --all |
27312 |
- |
27313 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
27314 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
27315 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
27316 |
- fi |
27317 |
- |
27318 |
- # Remove wineconsole if neither backend is installed #551124 |
27319 |
- if ! use X && ! use ncurses; then |
27320 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
27321 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
27322 |
- rm_wineconsole() { |
27323 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
27324 |
- } |
27325 |
- multilib_foreach_abi rm_wineconsole |
27326 |
- fi |
27327 |
- |
27328 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
27329 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
27330 |
- |
27331 |
- if use abi_x86_64 && ! use abi_x86_32; then |
27332 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
27333 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
27334 |
- fi |
27335 |
- |
27336 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
27337 |
- eshopts_push -s failglob #615218 |
27338 |
- # Make wrappers for binaries for handling multiple variants |
27339 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
27340 |
- local b |
27341 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
27342 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
27343 |
- done |
27344 |
- eshopts_pop |
27345 |
-} |
27346 |
- |
27347 |
-pkg_postinst() { |
27348 |
- eselect wine register ${P} |
27349 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
27350 |
- eselect wine register --vanilla ${P} || die |
27351 |
- fi |
27352 |
- |
27353 |
- eselect wine update --all --if-unset || die |
27354 |
- |
27355 |
- xdg_desktop_database_update |
27356 |
- |
27357 |
- if ! use gecko; then |
27358 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
27359 |
- ewarn "implementation of iexplore. Many older windows applications" |
27360 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
27361 |
- ewarn "you will likely need to install an external one, like via winetricks" |
27362 |
- fi |
27363 |
- if ! use mono; then |
27364 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
27365 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
27366 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
27367 |
- ewarn "to install an external one, like via winetricks" |
27368 |
- fi |
27369 |
-} |
27370 |
- |
27371 |
-pkg_prerm() { |
27372 |
- eselect wine deregister ${P} |
27373 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
27374 |
- eselect wine deregister --vanilla ${P} || die |
27375 |
- fi |
27376 |
- |
27377 |
- eselect wine update --all --if-unset || die |
27378 |
-} |
27379 |
- |
27380 |
-pkg_postrm() { |
27381 |
- xdg_desktop_database_update |
27382 |
-} |
27383 |
|
27384 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.7.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.7.ebuild |
27385 |
deleted file mode 100644 |
27386 |
index af3f138..0000000 |
27387 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.7.ebuild |
27388 |
+++ /dev/null |
27389 |
@@ -1,529 +0,0 @@ |
27390 |
-# Copyright 1999-2018 Gentoo Foundation |
27391 |
-# Distributed under the terms of the GNU General Public License v2 |
27392 |
- |
27393 |
-EAPI=6 |
27394 |
- |
27395 |
-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" |
27396 |
-PLOCALE_BACKUP="en" |
27397 |
- |
27398 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
27399 |
- |
27400 |
-MY_PN="${PN%%-*}" |
27401 |
-MY_P="${MY_PN}-${PV}" |
27402 |
- |
27403 |
-if [[ ${PV} == "9999" ]] ; then |
27404 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
27405 |
- EGIT_BRANCH="master" |
27406 |
- inherit git-r3 |
27407 |
- SRC_URI="" |
27408 |
- #KEYWORDS="" |
27409 |
-else |
27410 |
- MAJOR_V=$(ver_cut 1) |
27411 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
27412 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
27413 |
-fi |
27414 |
-S="${WORKDIR}/${MY_P}" |
27415 |
- |
27416 |
-GWP_V="20180120" |
27417 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
27418 |
- |
27419 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
27420 |
-HOMEPAGE="https://www.winehq.org/" |
27421 |
-SRC_URI="${SRC_URI} |
27422 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
27423 |
-" |
27424 |
- |
27425 |
-LICENSE="LGPL-2.1" |
27426 |
-SLOT="${PV}" |
27427 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vulkan +X +xcomposite xinerama +xml" |
27428 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
27429 |
- X? ( truetype ) |
27430 |
- elibc_glibc? ( threads ) |
27431 |
- osmesa? ( opengl ) |
27432 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
27433 |
- |
27434 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
27435 |
-# or fail due to Xvfb's opengl limitations. |
27436 |
-RESTRICT="test" |
27437 |
- |
27438 |
-COMMON_DEPEND=" |
27439 |
- X? ( |
27440 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
27441 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
27442 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
27443 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
27444 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
27445 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
27446 |
- ) |
27447 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
27448 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
27449 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
27450 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
27451 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
27452 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
27453 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
27454 |
- gstreamer? ( |
27455 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
27456 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
27457 |
- ) |
27458 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
27459 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
27460 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
27461 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
27462 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
27463 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
27464 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
27465 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
27466 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
27467 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
27468 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
27469 |
- opengl? ( |
27470 |
- virtual/glu[${MULTILIB_USEDEP}] |
27471 |
- virtual/opengl[${MULTILIB_USEDEP}] |
27472 |
- ) |
27473 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
27474 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
27475 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
27476 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
27477 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
27478 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
27479 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
27480 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
27481 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
27482 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
27483 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
27484 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
27485 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
27486 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
27487 |
- xml? ( |
27488 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
27489 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
27490 |
- )" |
27491 |
- |
27492 |
-RDEPEND="${COMMON_DEPEND} |
27493 |
- app-emulation/wine-desktop-common |
27494 |
- >app-eselect/eselect-wine-0.3 |
27495 |
- !app-emulation/wine:0 |
27496 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
27497 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
27498 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
27499 |
- perl? ( |
27500 |
- dev-lang/perl |
27501 |
- dev-perl/XML-Simple |
27502 |
- ) |
27503 |
- pulseaudio? ( |
27504 |
- realtime? ( sys-auth/rtkit ) |
27505 |
- ) |
27506 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
27507 |
- selinux? ( sec-policy/selinux-wine ) |
27508 |
- udisks? ( sys-fs/udisks:2 )" |
27509 |
- |
27510 |
-# tools/make_requests requires perl |
27511 |
-DEPEND="${COMMON_DEPEND} |
27512 |
- sys-devel/flex |
27513 |
- >=sys-kernel/linux-headers-2.6 |
27514 |
- virtual/pkgconfig |
27515 |
- virtual/yacc |
27516 |
- X? ( x11-base/xorg-proto ) |
27517 |
- prelink? ( sys-devel/prelink ) |
27518 |
- xinerama? ( x11-base/xorg-proto )" |
27519 |
- |
27520 |
-# These use a non-standard "Wine" category, which is provided by |
27521 |
-# /etc/xdg/applications-merged/wine.menu |
27522 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
27523 |
-usr/share/applications/wine-notepad.desktop |
27524 |
-usr/share/applications/wine-uninstaller.desktop |
27525 |
-usr/share/applications/wine-winecfg.desktop" |
27526 |
- |
27527 |
-PATCHES=( |
27528 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
27529 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
27530 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
27531 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
27532 |
-) |
27533 |
-PATCHES_BIN=() |
27534 |
- |
27535 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
27536 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
27537 |
- DEPEND+=" dev-util/patchbin" |
27538 |
-fi |
27539 |
- |
27540 |
-wine_compiler_check() { |
27541 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
27542 |
- |
27543 |
- # GCC-specific bugs |
27544 |
- if tc-is-gcc; then |
27545 |
- # bug #549768 |
27546 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
27547 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
27548 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
27549 |
- # Run in subshell to prevent "Aborted" message |
27550 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
27551 |
- if ! eend $?; then |
27552 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
27553 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
27554 |
- eerror "or use gcc-config to select a different compiler version." |
27555 |
- eerror "See https://bugs.gentoo.org/549768" |
27556 |
- eerror |
27557 |
- return 1 |
27558 |
- fi |
27559 |
- fi |
27560 |
- # bug #574044 |
27561 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
27562 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
27563 |
- # Compile in subshell to prevent "Aborted" message |
27564 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
27565 |
- if ! eend $?; then |
27566 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
27567 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
27568 |
- eerror "or use gcc-config to select a different compiler version." |
27569 |
- eerror "See https://bugs.gentoo.org/574044" |
27570 |
- eerror |
27571 |
- return 1 |
27572 |
- fi |
27573 |
- fi |
27574 |
- fi |
27575 |
- |
27576 |
- # Ensure compiler support |
27577 |
- if use abi_x86_64; then |
27578 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
27579 |
- # Compile in subshell to prevent "Aborted" message |
27580 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
27581 |
- if ! eend $?; then |
27582 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
27583 |
- eerror |
27584 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
27585 |
- eerror |
27586 |
- return 1 |
27587 |
- fi |
27588 |
- fi |
27589 |
-} |
27590 |
- |
27591 |
-wine_build_environment_check() { |
27592 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
27593 |
- |
27594 |
- if use abi_x86_64; then |
27595 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
27596 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
27597 |
- die |
27598 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
27599 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
27600 |
- die |
27601 |
- fi |
27602 |
- fi |
27603 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
27604 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
27605 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
27606 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
27607 |
- fi |
27608 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
27609 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
27610 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
27611 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
27612 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
27613 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
27614 |
- fi |
27615 |
- fi |
27616 |
- |
27617 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
27618 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
27619 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
27620 |
- eerror |
27621 |
- return 1 |
27622 |
- fi |
27623 |
-} |
27624 |
- |
27625 |
-wine_env_vcs_vars() { |
27626 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
27627 |
- local pn_live_val="${pn_live_var}" |
27628 |
- eval pn_live_val='$'${pn_live_val} |
27629 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
27630 |
- eerror "Commits must now be specified using the environmental variables" |
27631 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
27632 |
- eerror |
27633 |
- return 1 |
27634 |
- fi |
27635 |
-} |
27636 |
- |
27637 |
-pkg_pretend() { |
27638 |
- wine_build_environment_check || die |
27639 |
- |
27640 |
- # Verify OSS support |
27641 |
- if use oss && ! use kernel_FreeBSD; then |
27642 |
- if ! has_version ">=media-sound/oss-4"; then |
27643 |
- eerror "You cannot build wine with USE=oss without having support from a" |
27644 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
27645 |
- eerror |
27646 |
- die |
27647 |
- fi |
27648 |
- fi |
27649 |
-} |
27650 |
- |
27651 |
-pkg_setup() { |
27652 |
- wine_build_environment_check || die |
27653 |
- wine_env_vcs_vars || die |
27654 |
- |
27655 |
- WINE_VARIANT="${PN#wine}-${PV}" |
27656 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
27657 |
- |
27658 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
27659 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
27660 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
27661 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
27662 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
27663 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
27664 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
27665 |
- MY_MANDIR="${MY_DATADIR}/man" |
27666 |
-} |
27667 |
- |
27668 |
-src_unpack() { |
27669 |
- if [[ ${PV} == "9999" ]] ; then |
27670 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
27671 |
- fi |
27672 |
- |
27673 |
- default |
27674 |
- |
27675 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
27676 |
-} |
27677 |
- |
27678 |
-src_prepare() { |
27679 |
- |
27680 |
- eapply_bin(){ |
27681 |
- local patch |
27682 |
- for patch in ${PATCHES_BIN[@]}; do |
27683 |
- patchbin --nogit < "${patch}" || die |
27684 |
- done |
27685 |
- } |
27686 |
- |
27687 |
- local md5="$(md5sum server/protocol.def)" |
27688 |
- |
27689 |
- default |
27690 |
- eapply_bin |
27691 |
- eautoreconf |
27692 |
- |
27693 |
- # Modification of the server protocol requires regenerating the server requests |
27694 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
27695 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
27696 |
- tools/make_requests || die #432348 |
27697 |
- fi |
27698 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
27699 |
- if ! use run-exes; then |
27700 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
27701 |
- fi |
27702 |
- |
27703 |
- # Edit wine.desktop to work for specific variant |
27704 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
27705 |
- |
27706 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
27707 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
27708 |
- |
27709 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
27710 |
- |
27711 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
27712 |
- |
27713 |
- # Duplicate manpages input files for wine64 |
27714 |
- local f |
27715 |
- for f in loader/*.man.in; do |
27716 |
- cp ${f} ${f/wine/wine64} || die |
27717 |
- done |
27718 |
- # Add wine64 manpages to Makefile |
27719 |
- if use abi_x86_64; then |
27720 |
- sed -i "/wine.man.in/i \ |
27721 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
27722 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
27723 |
-\164\2/' loader/Makefile.in || die |
27724 |
- fi |
27725 |
- |
27726 |
- rm_man_file(){ |
27727 |
- local file="${1}" |
27728 |
- loc=${2} |
27729 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
27730 |
- } |
27731 |
- |
27732 |
- while read f; do |
27733 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
27734 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
27735 |
-} |
27736 |
- |
27737 |
-src_configure() { |
27738 |
- wine_compiler_check || die |
27739 |
- |
27740 |
- export LDCONFIG=/bin/true |
27741 |
- use custom-cflags || strip-flags |
27742 |
- |
27743 |
- multilib-minimal_src_configure |
27744 |
-} |
27745 |
- |
27746 |
-multilib_src_configure() { |
27747 |
- local myconf=( |
27748 |
- --prefix="${MY_PREFIX}" |
27749 |
- --datarootdir="${MY_DATAROOTDIR}" |
27750 |
- --datadir="${MY_DATADIR}" |
27751 |
- --docdir="${MY_DOCDIR}" |
27752 |
- --includedir="${MY_INCLUDEDIR}" |
27753 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
27754 |
- --libexecdir="${MY_LIBEXECDIR}" |
27755 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
27756 |
- --mandir="${MY_MANDIR}" |
27757 |
- --sysconfdir=/etc/wine |
27758 |
- $(use_with alsa) |
27759 |
- $(use_with capi) |
27760 |
- $(use_with lcms cms) |
27761 |
- $(use_with cups) |
27762 |
- $(use_with ncurses curses) |
27763 |
- $(use_with udisks dbus) |
27764 |
- $(use_with fontconfig) |
27765 |
- $(use_with ssl gnutls) |
27766 |
- $(use_enable gecko mshtml) |
27767 |
- $(use_with gphoto2 gphoto) |
27768 |
- $(use_with gsm) |
27769 |
- $(use_with gssapi) |
27770 |
- $(use_with gstreamer) |
27771 |
- --without-hal |
27772 |
- $(use_with jpeg) |
27773 |
- $(use_with kerberos krb5) |
27774 |
- $(use_with ldap) |
27775 |
- $(use_enable mono mscoree) |
27776 |
- $(use_with mp3 mpg123) |
27777 |
- $(use_with netapi) |
27778 |
- $(use_with nls gettext) |
27779 |
- $(use_with openal) |
27780 |
- $(use_with opencl) |
27781 |
- $(use_with opengl) |
27782 |
- $(use_with osmesa) |
27783 |
- $(use_with oss) |
27784 |
- $(use_with pcap) |
27785 |
- $(use_with png) |
27786 |
- $(use_with pulseaudio pulse) |
27787 |
- $(use_with threads pthread) |
27788 |
- $(use_with scanner sane) |
27789 |
- $(use_with sdl) |
27790 |
- $(use_enable test tests) |
27791 |
- $(use_with truetype freetype) |
27792 |
- $(use_with udev) |
27793 |
- $(use_with v4l) |
27794 |
- $(use_with vulkan) |
27795 |
- $(use_with X x) |
27796 |
- $(use_with X xfixes) |
27797 |
- $(use_with xcomposite) |
27798 |
- $(use_with xinerama) |
27799 |
- $(use_with xml) |
27800 |
- $(use_with xml xslt) |
27801 |
- ) |
27802 |
- |
27803 |
- local PKG_CONFIG AR RANLIB |
27804 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
27805 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
27806 |
- tc-export PKG_CONFIG AR RANLIB |
27807 |
- |
27808 |
- if use amd64; then |
27809 |
- if [[ ${ABI} == amd64 ]]; then |
27810 |
- myconf+=( --enable-win64 ) |
27811 |
- else |
27812 |
- myconf+=( --disable-win64 ) |
27813 |
- fi |
27814 |
- |
27815 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
27816 |
- # CC/LD hackery. We're using separate tools instead. |
27817 |
- fi |
27818 |
- |
27819 |
- ECONF_SOURCE=${S} \ |
27820 |
- econf "${myconf[@]}" |
27821 |
- emake depend |
27822 |
-} |
27823 |
- |
27824 |
-multilib_src_test() { |
27825 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
27826 |
- if [[ ${ABI} == x86 ]]; then |
27827 |
- if [[ $(id -u) == 0 ]]; then |
27828 |
- ewarn "Skipping tests since they cannot be run under the root user." |
27829 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
27830 |
- return |
27831 |
- fi |
27832 |
- |
27833 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
27834 |
- Xemake test |
27835 |
- fi |
27836 |
-} |
27837 |
- |
27838 |
-multilib_src_install_all() { |
27839 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
27840 |
- add_locale_docs() { |
27841 |
- local locale_doc="documentation/README.$1" |
27842 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
27843 |
- } |
27844 |
- l10n_for_each_locale_do add_locale_docs |
27845 |
- |
27846 |
- einstalldocs |
27847 |
- prune_libtool_files --all |
27848 |
- |
27849 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
27850 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
27851 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
27852 |
- fi |
27853 |
- |
27854 |
- # Remove wineconsole if neither backend is installed #551124 |
27855 |
- if ! use X && ! use ncurses; then |
27856 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
27857 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
27858 |
- rm_wineconsole() { |
27859 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
27860 |
- } |
27861 |
- multilib_foreach_abi rm_wineconsole |
27862 |
- fi |
27863 |
- |
27864 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
27865 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
27866 |
- |
27867 |
- if use abi_x86_64 && ! use abi_x86_32; then |
27868 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
27869 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
27870 |
- fi |
27871 |
- |
27872 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
27873 |
- eshopts_push -s failglob #615218 |
27874 |
- # Make wrappers for binaries for handling multiple variants |
27875 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
27876 |
- local b |
27877 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
27878 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
27879 |
- done |
27880 |
- eshopts_pop |
27881 |
-} |
27882 |
- |
27883 |
-pkg_postinst() { |
27884 |
- eselect wine register ${P} |
27885 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
27886 |
- eselect wine register --vanilla ${P} || die |
27887 |
- fi |
27888 |
- |
27889 |
- eselect wine update --all --if-unset || die |
27890 |
- |
27891 |
- xdg_desktop_database_update |
27892 |
- |
27893 |
- if ! use gecko; then |
27894 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
27895 |
- ewarn "implementation of iexplore. Many older windows applications" |
27896 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
27897 |
- ewarn "you will likely need to install an external one, like via winetricks" |
27898 |
- fi |
27899 |
- if ! use mono; then |
27900 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
27901 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
27902 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
27903 |
- ewarn "to install an external one, like via winetricks" |
27904 |
- fi |
27905 |
-} |
27906 |
- |
27907 |
-pkg_prerm() { |
27908 |
- eselect wine deregister ${P} |
27909 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
27910 |
- eselect wine deregister --vanilla ${P} || die |
27911 |
- fi |
27912 |
- |
27913 |
- eselect wine update --all --if-unset || die |
27914 |
-} |
27915 |
- |
27916 |
-pkg_postrm() { |
27917 |
- xdg_desktop_database_update |
27918 |
-} |
27919 |
|
27920 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild |
27921 |
deleted file mode 100644 |
27922 |
index af3f138..0000000 |
27923 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.8.ebuild |
27924 |
+++ /dev/null |
27925 |
@@ -1,529 +0,0 @@ |
27926 |
-# Copyright 1999-2018 Gentoo Foundation |
27927 |
-# Distributed under the terms of the GNU General Public License v2 |
27928 |
- |
27929 |
-EAPI=6 |
27930 |
- |
27931 |
-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" |
27932 |
-PLOCALE_BACKUP="en" |
27933 |
- |
27934 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
27935 |
- |
27936 |
-MY_PN="${PN%%-*}" |
27937 |
-MY_P="${MY_PN}-${PV}" |
27938 |
- |
27939 |
-if [[ ${PV} == "9999" ]] ; then |
27940 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
27941 |
- EGIT_BRANCH="master" |
27942 |
- inherit git-r3 |
27943 |
- SRC_URI="" |
27944 |
- #KEYWORDS="" |
27945 |
-else |
27946 |
- MAJOR_V=$(ver_cut 1) |
27947 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
27948 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
27949 |
-fi |
27950 |
-S="${WORKDIR}/${MY_P}" |
27951 |
- |
27952 |
-GWP_V="20180120" |
27953 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
27954 |
- |
27955 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
27956 |
-HOMEPAGE="https://www.winehq.org/" |
27957 |
-SRC_URI="${SRC_URI} |
27958 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
27959 |
-" |
27960 |
- |
27961 |
-LICENSE="LGPL-2.1" |
27962 |
-SLOT="${PV}" |
27963 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vulkan +X +xcomposite xinerama +xml" |
27964 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
27965 |
- X? ( truetype ) |
27966 |
- elibc_glibc? ( threads ) |
27967 |
- osmesa? ( opengl ) |
27968 |
- test? ( abi_x86_32 )" # osmesa-opengl #286560 # X-truetype #551124 |
27969 |
- |
27970 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
27971 |
-# or fail due to Xvfb's opengl limitations. |
27972 |
-RESTRICT="test" |
27973 |
- |
27974 |
-COMMON_DEPEND=" |
27975 |
- X? ( |
27976 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
27977 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
27978 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
27979 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
27980 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
27981 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
27982 |
- ) |
27983 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
27984 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
27985 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
27986 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
27987 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
27988 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
27989 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
27990 |
- gstreamer? ( |
27991 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
27992 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
27993 |
- ) |
27994 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
27995 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
27996 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
27997 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
27998 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
27999 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
28000 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
28001 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
28002 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
28003 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
28004 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
28005 |
- opengl? ( |
28006 |
- virtual/glu[${MULTILIB_USEDEP}] |
28007 |
- virtual/opengl[${MULTILIB_USEDEP}] |
28008 |
- ) |
28009 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
28010 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
28011 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
28012 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
28013 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
28014 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
28015 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
28016 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
28017 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
28018 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
28019 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
28020 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
28021 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
28022 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
28023 |
- xml? ( |
28024 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
28025 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
28026 |
- )" |
28027 |
- |
28028 |
-RDEPEND="${COMMON_DEPEND} |
28029 |
- app-emulation/wine-desktop-common |
28030 |
- >app-eselect/eselect-wine-0.3 |
28031 |
- !app-emulation/wine:0 |
28032 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
28033 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
28034 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
28035 |
- perl? ( |
28036 |
- dev-lang/perl |
28037 |
- dev-perl/XML-Simple |
28038 |
- ) |
28039 |
- pulseaudio? ( |
28040 |
- realtime? ( sys-auth/rtkit ) |
28041 |
- ) |
28042 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
28043 |
- selinux? ( sec-policy/selinux-wine ) |
28044 |
- udisks? ( sys-fs/udisks:2 )" |
28045 |
- |
28046 |
-# tools/make_requests requires perl |
28047 |
-DEPEND="${COMMON_DEPEND} |
28048 |
- sys-devel/flex |
28049 |
- >=sys-kernel/linux-headers-2.6 |
28050 |
- virtual/pkgconfig |
28051 |
- virtual/yacc |
28052 |
- X? ( x11-base/xorg-proto ) |
28053 |
- prelink? ( sys-devel/prelink ) |
28054 |
- xinerama? ( x11-base/xorg-proto )" |
28055 |
- |
28056 |
-# These use a non-standard "Wine" category, which is provided by |
28057 |
-# /etc/xdg/applications-merged/wine.menu |
28058 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
28059 |
-usr/share/applications/wine-notepad.desktop |
28060 |
-usr/share/applications/wine-uninstaller.desktop |
28061 |
-usr/share/applications/wine-winecfg.desktop" |
28062 |
- |
28063 |
-PATCHES=( |
28064 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
28065 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
28066 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
28067 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
28068 |
-) |
28069 |
-PATCHES_BIN=() |
28070 |
- |
28071 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
28072 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
28073 |
- DEPEND+=" dev-util/patchbin" |
28074 |
-fi |
28075 |
- |
28076 |
-wine_compiler_check() { |
28077 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
28078 |
- |
28079 |
- # GCC-specific bugs |
28080 |
- if tc-is-gcc; then |
28081 |
- # bug #549768 |
28082 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
28083 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
28084 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
28085 |
- # Run in subshell to prevent "Aborted" message |
28086 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
28087 |
- if ! eend $?; then |
28088 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
28089 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
28090 |
- eerror "or use gcc-config to select a different compiler version." |
28091 |
- eerror "See https://bugs.gentoo.org/549768" |
28092 |
- eerror |
28093 |
- return 1 |
28094 |
- fi |
28095 |
- fi |
28096 |
- # bug #574044 |
28097 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
28098 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
28099 |
- # Compile in subshell to prevent "Aborted" message |
28100 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
28101 |
- if ! eend $?; then |
28102 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
28103 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
28104 |
- eerror "or use gcc-config to select a different compiler version." |
28105 |
- eerror "See https://bugs.gentoo.org/574044" |
28106 |
- eerror |
28107 |
- return 1 |
28108 |
- fi |
28109 |
- fi |
28110 |
- fi |
28111 |
- |
28112 |
- # Ensure compiler support |
28113 |
- if use abi_x86_64; then |
28114 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
28115 |
- # Compile in subshell to prevent "Aborted" message |
28116 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
28117 |
- if ! eend $?; then |
28118 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
28119 |
- eerror |
28120 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
28121 |
- eerror |
28122 |
- return 1 |
28123 |
- fi |
28124 |
- fi |
28125 |
-} |
28126 |
- |
28127 |
-wine_build_environment_check() { |
28128 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
28129 |
- |
28130 |
- if use abi_x86_64; then |
28131 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
28132 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
28133 |
- die |
28134 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
28135 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
28136 |
- die |
28137 |
- fi |
28138 |
- fi |
28139 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
28140 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
28141 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
28142 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
28143 |
- fi |
28144 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
28145 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
28146 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
28147 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
28148 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
28149 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
28150 |
- fi |
28151 |
- fi |
28152 |
- |
28153 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
28154 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
28155 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
28156 |
- eerror |
28157 |
- return 1 |
28158 |
- fi |
28159 |
-} |
28160 |
- |
28161 |
-wine_env_vcs_vars() { |
28162 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
28163 |
- local pn_live_val="${pn_live_var}" |
28164 |
- eval pn_live_val='$'${pn_live_val} |
28165 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
28166 |
- eerror "Commits must now be specified using the environmental variables" |
28167 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
28168 |
- eerror |
28169 |
- return 1 |
28170 |
- fi |
28171 |
-} |
28172 |
- |
28173 |
-pkg_pretend() { |
28174 |
- wine_build_environment_check || die |
28175 |
- |
28176 |
- # Verify OSS support |
28177 |
- if use oss && ! use kernel_FreeBSD; then |
28178 |
- if ! has_version ">=media-sound/oss-4"; then |
28179 |
- eerror "You cannot build wine with USE=oss without having support from a" |
28180 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
28181 |
- eerror |
28182 |
- die |
28183 |
- fi |
28184 |
- fi |
28185 |
-} |
28186 |
- |
28187 |
-pkg_setup() { |
28188 |
- wine_build_environment_check || die |
28189 |
- wine_env_vcs_vars || die |
28190 |
- |
28191 |
- WINE_VARIANT="${PN#wine}-${PV}" |
28192 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
28193 |
- |
28194 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
28195 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
28196 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
28197 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
28198 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
28199 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
28200 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
28201 |
- MY_MANDIR="${MY_DATADIR}/man" |
28202 |
-} |
28203 |
- |
28204 |
-src_unpack() { |
28205 |
- if [[ ${PV} == "9999" ]] ; then |
28206 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
28207 |
- fi |
28208 |
- |
28209 |
- default |
28210 |
- |
28211 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
28212 |
-} |
28213 |
- |
28214 |
-src_prepare() { |
28215 |
- |
28216 |
- eapply_bin(){ |
28217 |
- local patch |
28218 |
- for patch in ${PATCHES_BIN[@]}; do |
28219 |
- patchbin --nogit < "${patch}" || die |
28220 |
- done |
28221 |
- } |
28222 |
- |
28223 |
- local md5="$(md5sum server/protocol.def)" |
28224 |
- |
28225 |
- default |
28226 |
- eapply_bin |
28227 |
- eautoreconf |
28228 |
- |
28229 |
- # Modification of the server protocol requires regenerating the server requests |
28230 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
28231 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
28232 |
- tools/make_requests || die #432348 |
28233 |
- fi |
28234 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
28235 |
- if ! use run-exes; then |
28236 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
28237 |
- fi |
28238 |
- |
28239 |
- # Edit wine.desktop to work for specific variant |
28240 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
28241 |
- |
28242 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
28243 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
28244 |
- |
28245 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
28246 |
- |
28247 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
28248 |
- |
28249 |
- # Duplicate manpages input files for wine64 |
28250 |
- local f |
28251 |
- for f in loader/*.man.in; do |
28252 |
- cp ${f} ${f/wine/wine64} || die |
28253 |
- done |
28254 |
- # Add wine64 manpages to Makefile |
28255 |
- if use abi_x86_64; then |
28256 |
- sed -i "/wine.man.in/i \ |
28257 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
28258 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
28259 |
-\164\2/' loader/Makefile.in || die |
28260 |
- fi |
28261 |
- |
28262 |
- rm_man_file(){ |
28263 |
- local file="${1}" |
28264 |
- loc=${2} |
28265 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
28266 |
- } |
28267 |
- |
28268 |
- while read f; do |
28269 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
28270 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
28271 |
-} |
28272 |
- |
28273 |
-src_configure() { |
28274 |
- wine_compiler_check || die |
28275 |
- |
28276 |
- export LDCONFIG=/bin/true |
28277 |
- use custom-cflags || strip-flags |
28278 |
- |
28279 |
- multilib-minimal_src_configure |
28280 |
-} |
28281 |
- |
28282 |
-multilib_src_configure() { |
28283 |
- local myconf=( |
28284 |
- --prefix="${MY_PREFIX}" |
28285 |
- --datarootdir="${MY_DATAROOTDIR}" |
28286 |
- --datadir="${MY_DATADIR}" |
28287 |
- --docdir="${MY_DOCDIR}" |
28288 |
- --includedir="${MY_INCLUDEDIR}" |
28289 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
28290 |
- --libexecdir="${MY_LIBEXECDIR}" |
28291 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
28292 |
- --mandir="${MY_MANDIR}" |
28293 |
- --sysconfdir=/etc/wine |
28294 |
- $(use_with alsa) |
28295 |
- $(use_with capi) |
28296 |
- $(use_with lcms cms) |
28297 |
- $(use_with cups) |
28298 |
- $(use_with ncurses curses) |
28299 |
- $(use_with udisks dbus) |
28300 |
- $(use_with fontconfig) |
28301 |
- $(use_with ssl gnutls) |
28302 |
- $(use_enable gecko mshtml) |
28303 |
- $(use_with gphoto2 gphoto) |
28304 |
- $(use_with gsm) |
28305 |
- $(use_with gssapi) |
28306 |
- $(use_with gstreamer) |
28307 |
- --without-hal |
28308 |
- $(use_with jpeg) |
28309 |
- $(use_with kerberos krb5) |
28310 |
- $(use_with ldap) |
28311 |
- $(use_enable mono mscoree) |
28312 |
- $(use_with mp3 mpg123) |
28313 |
- $(use_with netapi) |
28314 |
- $(use_with nls gettext) |
28315 |
- $(use_with openal) |
28316 |
- $(use_with opencl) |
28317 |
- $(use_with opengl) |
28318 |
- $(use_with osmesa) |
28319 |
- $(use_with oss) |
28320 |
- $(use_with pcap) |
28321 |
- $(use_with png) |
28322 |
- $(use_with pulseaudio pulse) |
28323 |
- $(use_with threads pthread) |
28324 |
- $(use_with scanner sane) |
28325 |
- $(use_with sdl) |
28326 |
- $(use_enable test tests) |
28327 |
- $(use_with truetype freetype) |
28328 |
- $(use_with udev) |
28329 |
- $(use_with v4l) |
28330 |
- $(use_with vulkan) |
28331 |
- $(use_with X x) |
28332 |
- $(use_with X xfixes) |
28333 |
- $(use_with xcomposite) |
28334 |
- $(use_with xinerama) |
28335 |
- $(use_with xml) |
28336 |
- $(use_with xml xslt) |
28337 |
- ) |
28338 |
- |
28339 |
- local PKG_CONFIG AR RANLIB |
28340 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
28341 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
28342 |
- tc-export PKG_CONFIG AR RANLIB |
28343 |
- |
28344 |
- if use amd64; then |
28345 |
- if [[ ${ABI} == amd64 ]]; then |
28346 |
- myconf+=( --enable-win64 ) |
28347 |
- else |
28348 |
- myconf+=( --disable-win64 ) |
28349 |
- fi |
28350 |
- |
28351 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
28352 |
- # CC/LD hackery. We're using separate tools instead. |
28353 |
- fi |
28354 |
- |
28355 |
- ECONF_SOURCE=${S} \ |
28356 |
- econf "${myconf[@]}" |
28357 |
- emake depend |
28358 |
-} |
28359 |
- |
28360 |
-multilib_src_test() { |
28361 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
28362 |
- if [[ ${ABI} == x86 ]]; then |
28363 |
- if [[ $(id -u) == 0 ]]; then |
28364 |
- ewarn "Skipping tests since they cannot be run under the root user." |
28365 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
28366 |
- return |
28367 |
- fi |
28368 |
- |
28369 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
28370 |
- Xemake test |
28371 |
- fi |
28372 |
-} |
28373 |
- |
28374 |
-multilib_src_install_all() { |
28375 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
28376 |
- add_locale_docs() { |
28377 |
- local locale_doc="documentation/README.$1" |
28378 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
28379 |
- } |
28380 |
- l10n_for_each_locale_do add_locale_docs |
28381 |
- |
28382 |
- einstalldocs |
28383 |
- prune_libtool_files --all |
28384 |
- |
28385 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
28386 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
28387 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
28388 |
- fi |
28389 |
- |
28390 |
- # Remove wineconsole if neither backend is installed #551124 |
28391 |
- if ! use X && ! use ncurses; then |
28392 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
28393 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
28394 |
- rm_wineconsole() { |
28395 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
28396 |
- } |
28397 |
- multilib_foreach_abi rm_wineconsole |
28398 |
- fi |
28399 |
- |
28400 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
28401 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
28402 |
- |
28403 |
- if use abi_x86_64 && ! use abi_x86_32; then |
28404 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
28405 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
28406 |
- fi |
28407 |
- |
28408 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
28409 |
- eshopts_push -s failglob #615218 |
28410 |
- # Make wrappers for binaries for handling multiple variants |
28411 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
28412 |
- local b |
28413 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
28414 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
28415 |
- done |
28416 |
- eshopts_pop |
28417 |
-} |
28418 |
- |
28419 |
-pkg_postinst() { |
28420 |
- eselect wine register ${P} |
28421 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
28422 |
- eselect wine register --vanilla ${P} || die |
28423 |
- fi |
28424 |
- |
28425 |
- eselect wine update --all --if-unset || die |
28426 |
- |
28427 |
- xdg_desktop_database_update |
28428 |
- |
28429 |
- if ! use gecko; then |
28430 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
28431 |
- ewarn "implementation of iexplore. Many older windows applications" |
28432 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
28433 |
- ewarn "you will likely need to install an external one, like via winetricks" |
28434 |
- fi |
28435 |
- if ! use mono; then |
28436 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
28437 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
28438 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
28439 |
- ewarn "to install an external one, like via winetricks" |
28440 |
- fi |
28441 |
-} |
28442 |
- |
28443 |
-pkg_prerm() { |
28444 |
- eselect wine deregister ${P} |
28445 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
28446 |
- eselect wine deregister --vanilla ${P} || die |
28447 |
- fi |
28448 |
- |
28449 |
- eselect wine update --all --if-unset || die |
28450 |
-} |
28451 |
- |
28452 |
-pkg_postrm() { |
28453 |
- xdg_desktop_database_update |
28454 |
-} |
28455 |
|
28456 |
diff --git a/app-emulation/wine-vanilla/wine-vanilla-3.9.ebuild b/app-emulation/wine-vanilla/wine-vanilla-3.9.ebuild |
28457 |
deleted file mode 100644 |
28458 |
index 49079cc..0000000 |
28459 |
--- a/app-emulation/wine-vanilla/wine-vanilla-3.9.ebuild |
28460 |
+++ /dev/null |
28461 |
@@ -1,532 +0,0 @@ |
28462 |
-# Copyright 1999-2018 Gentoo Foundation |
28463 |
-# Distributed under the terms of the GNU General Public License v2 |
28464 |
- |
28465 |
-EAPI=6 |
28466 |
- |
28467 |
-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" |
28468 |
-PLOCALE_BACKUP="en" |
28469 |
- |
28470 |
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils |
28471 |
- |
28472 |
-MY_PN="${PN%%-*}" |
28473 |
-MY_P="${MY_PN}-${PV}" |
28474 |
- |
28475 |
-if [[ ${PV} == "9999" ]] ; then |
28476 |
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git" |
28477 |
- EGIT_BRANCH="master" |
28478 |
- inherit git-r3 |
28479 |
- SRC_URI="" |
28480 |
- #KEYWORDS="" |
28481 |
-else |
28482 |
- MAJOR_V=$(ver_cut 1) |
28483 |
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" |
28484 |
- KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" |
28485 |
-fi |
28486 |
-S="${WORKDIR}/${MY_P}" |
28487 |
- |
28488 |
-GWP_V="20180120" |
28489 |
-PATCHDIR="${WORKDIR}/gentoo-wine-patches" |
28490 |
- |
28491 |
-DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" |
28492 |
-HOMEPAGE="https://www.winehq.org/" |
28493 |
-SRC_URI="${SRC_URI} |
28494 |
- https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz |
28495 |
-" |
28496 |
- |
28497 |
-LICENSE="LGPL-2.1" |
28498 |
-SLOT="${PV}" |
28499 |
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos 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 sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" |
28500 |
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) |
28501 |
- X? ( truetype ) |
28502 |
- elibc_glibc? ( threads ) |
28503 |
- osmesa? ( opengl ) |
28504 |
- test? ( abi_x86_32 ) |
28505 |
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 |
28506 |
- |
28507 |
-# FIXME: the test suite is unsuitable for us; many tests require net access |
28508 |
-# or fail due to Xvfb's opengl limitations. |
28509 |
-RESTRICT="test" |
28510 |
- |
28511 |
-COMMON_DEPEND=" |
28512 |
- X? ( |
28513 |
- x11-libs/libXcursor[${MULTILIB_USEDEP}] |
28514 |
- x11-libs/libXext[${MULTILIB_USEDEP}] |
28515 |
- x11-libs/libXfixes[${MULTILIB_USEDEP}] |
28516 |
- x11-libs/libXrandr[${MULTILIB_USEDEP}] |
28517 |
- x11-libs/libXi[${MULTILIB_USEDEP}] |
28518 |
- x11-libs/libXxf86vm[${MULTILIB_USEDEP}] |
28519 |
- ) |
28520 |
- alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) |
28521 |
- capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) |
28522 |
- cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) |
28523 |
- fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) |
28524 |
- gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) |
28525 |
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) |
28526 |
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
28527 |
- gstreamer? ( |
28528 |
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] |
28529 |
- media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] |
28530 |
- ) |
28531 |
- jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) |
28532 |
- kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) |
28533 |
- lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) |
28534 |
- ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) |
28535 |
- mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) |
28536 |
- ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) |
28537 |
- netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) |
28538 |
- nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) |
28539 |
- odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) |
28540 |
- openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) |
28541 |
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) |
28542 |
- opengl? ( |
28543 |
- virtual/glu[${MULTILIB_USEDEP}] |
28544 |
- virtual/opengl[${MULTILIB_USEDEP}] |
28545 |
- ) |
28546 |
- osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) |
28547 |
- pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) |
28548 |
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) |
28549 |
- pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) |
28550 |
- scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) |
28551 |
- sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) |
28552 |
- ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) |
28553 |
- truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) |
28554 |
- udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) |
28555 |
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) |
28556 |
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) |
28557 |
- vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) |
28558 |
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) |
28559 |
- xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) |
28560 |
- xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) |
28561 |
- xml? ( |
28562 |
- dev-libs/libxml2[${MULTILIB_USEDEP}] |
28563 |
- dev-libs/libxslt[${MULTILIB_USEDEP}] |
28564 |
- )" |
28565 |
- |
28566 |
-RDEPEND="${COMMON_DEPEND} |
28567 |
- app-emulation/wine-desktop-common |
28568 |
- >app-eselect/eselect-wine-0.3 |
28569 |
- !app-emulation/wine:0 |
28570 |
- dos? ( >=games-emulation/dosbox-0.74_p20160629 ) |
28571 |
- gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) |
28572 |
- mono? ( app-emulation/wine-mono:4.7.1 ) |
28573 |
- perl? ( |
28574 |
- dev-lang/perl |
28575 |
- dev-perl/XML-Simple |
28576 |
- ) |
28577 |
- pulseaudio? ( |
28578 |
- realtime? ( sys-auth/rtkit ) |
28579 |
- ) |
28580 |
- samba? ( >=net-fs/samba-3.0.25[winbind] ) |
28581 |
- selinux? ( sec-policy/selinux-wine ) |
28582 |
- udisks? ( sys-fs/udisks:2 )" |
28583 |
- |
28584 |
-# tools/make_requests requires perl |
28585 |
-DEPEND="${COMMON_DEPEND} |
28586 |
- sys-devel/flex |
28587 |
- >=sys-kernel/linux-headers-2.6 |
28588 |
- virtual/pkgconfig |
28589 |
- virtual/yacc |
28590 |
- X? ( x11-base/xorg-proto ) |
28591 |
- prelink? ( sys-devel/prelink ) |
28592 |
- xinerama? ( x11-base/xorg-proto )" |
28593 |
- |
28594 |
-# These use a non-standard "Wine" category, which is provided by |
28595 |
-# /etc/xdg/applications-merged/wine.menu |
28596 |
-QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop |
28597 |
-usr/share/applications/wine-notepad.desktop |
28598 |
-usr/share/applications/wine-uninstaller.desktop |
28599 |
-usr/share/applications/wine-winecfg.desktop" |
28600 |
- |
28601 |
-PATCHES=( |
28602 |
- "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726 |
28603 |
- "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615 |
28604 |
- "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508 |
28605 |
- "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 |
28606 |
-) |
28607 |
-PATCHES_BIN=() |
28608 |
- |
28609 |
-# https://bugs.gentoo.org/show_bug.cgi?id=635222 |
28610 |
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then |
28611 |
- DEPEND+=" dev-util/patchbin" |
28612 |
-fi |
28613 |
- |
28614 |
-wine_compiler_check() { |
28615 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
28616 |
- |
28617 |
- # GCC-specific bugs |
28618 |
- if tc-is-gcc; then |
28619 |
- # bug #549768 |
28620 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then |
28621 |
- ebegin "Checking for gcc-5 ms_abi compiler bug" |
28622 |
- $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die |
28623 |
- # Run in subshell to prevent "Aborted" message |
28624 |
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1 |
28625 |
- if ! eend $?; then |
28626 |
- eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" |
28627 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," |
28628 |
- eerror "or use gcc-config to select a different compiler version." |
28629 |
- eerror "See https://bugs.gentoo.org/549768" |
28630 |
- eerror |
28631 |
- return 1 |
28632 |
- fi |
28633 |
- fi |
28634 |
- # bug #574044 |
28635 |
- if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then |
28636 |
- ebegin "Checking for gcc-5-3 stack realignment compiler bug" |
28637 |
- # Compile in subshell to prevent "Aborted" message |
28638 |
- ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 |
28639 |
- if ! eend $?; then |
28640 |
- eerror "Wine cannot be built with this version of gcc-5.3" |
28641 |
- eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," |
28642 |
- eerror "or use gcc-config to select a different compiler version." |
28643 |
- eerror "See https://bugs.gentoo.org/574044" |
28644 |
- eerror |
28645 |
- return 1 |
28646 |
- fi |
28647 |
- fi |
28648 |
- fi |
28649 |
- |
28650 |
- # Ensure compiler support |
28651 |
- if use abi_x86_64; then |
28652 |
- ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" |
28653 |
- # Compile in subshell to prevent "Aborted" message |
28654 |
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) |
28655 |
- if ! eend $?; then |
28656 |
- eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" |
28657 |
- eerror |
28658 |
- eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" |
28659 |
- eerror |
28660 |
- return 1 |
28661 |
- fi |
28662 |
- fi |
28663 |
-} |
28664 |
- |
28665 |
-wine_build_environment_check() { |
28666 |
- [[ ${MERGE_TYPE} = "binary" ]] && return 0 |
28667 |
- |
28668 |
- if use abi_x86_64; then |
28669 |
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then |
28670 |
- eerror "You need gcc-4.4+ to compile 64-bit wine" |
28671 |
- die |
28672 |
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then |
28673 |
- eerror "You need clang-3.8+ to compile 64-bit wine" |
28674 |
- die |
28675 |
- fi |
28676 |
- fi |
28677 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then |
28678 |
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" |
28679 |
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" |
28680 |
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" |
28681 |
- fi |
28682 |
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then |
28683 |
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then |
28684 |
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" |
28685 |
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." |
28686 |
- ewarn "See package.env in man 5 portage for more information on how to do this." |
28687 |
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" |
28688 |
- fi |
28689 |
- fi |
28690 |
- |
28691 |
- if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then |
28692 |
- eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." |
28693 |
- eerror "See https://bugs.gentoo.org/487864 for more details." |
28694 |
- eerror |
28695 |
- return 1 |
28696 |
- fi |
28697 |
-} |
28698 |
- |
28699 |
-wine_env_vcs_vars() { |
28700 |
- local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" |
28701 |
- local pn_live_val="${pn_live_var}" |
28702 |
- eval pn_live_val='$'${pn_live_val} |
28703 |
- if [[ ! -z ${EGIT_COMMIT} ]]; then |
28704 |
- eerror "Commits must now be specified using the environmental variables" |
28705 |
- eerror "EGIT_OVERRIDE_COMMIT_WINE" |
28706 |
- eerror |
28707 |
- return 1 |
28708 |
- fi |
28709 |
-} |
28710 |
- |
28711 |
-pkg_pretend() { |
28712 |
- wine_build_environment_check || die |
28713 |
- |
28714 |
- # Verify OSS support |
28715 |
- if use oss && ! use kernel_FreeBSD; then |
28716 |
- if ! has_version ">=media-sound/oss-4"; then |
28717 |
- eerror "You cannot build wine with USE=oss without having support from a" |
28718 |
- eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" |
28719 |
- eerror |
28720 |
- die |
28721 |
- fi |
28722 |
- fi |
28723 |
-} |
28724 |
- |
28725 |
-pkg_setup() { |
28726 |
- wine_build_environment_check || die |
28727 |
- wine_env_vcs_vars || die |
28728 |
- |
28729 |
- WINE_VARIANT="${PN#wine}-${PV}" |
28730 |
- WINE_VARIANT="${WINE_VARIANT#-}" |
28731 |
- |
28732 |
- MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" |
28733 |
- MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" |
28734 |
- MY_DATADIR="${MY_DATAROOTDIR}" |
28735 |
- MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" |
28736 |
- MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" |
28737 |
- MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" |
28738 |
- MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" |
28739 |
- MY_MANDIR="${MY_DATADIR}/man" |
28740 |
-} |
28741 |
- |
28742 |
-src_unpack() { |
28743 |
- if [[ ${PV} == "9999" ]] ; then |
28744 |
- EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack |
28745 |
- fi |
28746 |
- |
28747 |
- default |
28748 |
- |
28749 |
- l10n_find_plocales_changes "${S}/po" "" ".po" |
28750 |
-} |
28751 |
- |
28752 |
-src_prepare() { |
28753 |
- |
28754 |
- eapply_bin(){ |
28755 |
- local patch |
28756 |
- for patch in ${PATCHES_BIN[@]}; do |
28757 |
- patchbin --nogit < "${patch}" || die |
28758 |
- done |
28759 |
- } |
28760 |
- |
28761 |
- local md5="$(md5sum server/protocol.def)" |
28762 |
- |
28763 |
- default |
28764 |
- eapply_bin |
28765 |
- eautoreconf |
28766 |
- |
28767 |
- # Modification of the server protocol requires regenerating the server requests |
28768 |
- if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then |
28769 |
- einfo "server/protocol.def was patched; running tools/make_requests" |
28770 |
- tools/make_requests || die #432348 |
28771 |
- fi |
28772 |
- sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die |
28773 |
- if ! use run-exes; then |
28774 |
- sed -i '/^MimeType/d' loader/wine.desktop || die #117785 |
28775 |
- fi |
28776 |
- |
28777 |
- # Edit wine.desktop to work for specific variant |
28778 |
- sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die |
28779 |
- |
28780 |
- # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 |
28781 |
- cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die |
28782 |
- |
28783 |
- l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS |
28784 |
- |
28785 |
- # Fix manpage generation for locales #469418 and abi_x86_64 #617864 |
28786 |
- |
28787 |
- # Duplicate manpages input files for wine64 |
28788 |
- local f |
28789 |
- for f in loader/*.man.in; do |
28790 |
- cp ${f} ${f/wine/wine64} || die |
28791 |
- done |
28792 |
- # Add wine64 manpages to Makefile |
28793 |
- if use abi_x86_64; then |
28794 |
- sed -i "/wine.man.in/i \ |
28795 |
- \\\twine64.man.in \\\\" loader/Makefile.in || die |
28796 |
- sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ |
28797 |
-\164\2/' loader/Makefile.in || die |
28798 |
- fi |
28799 |
- |
28800 |
- rm_man_file(){ |
28801 |
- local file="${1}" |
28802 |
- loc=${2} |
28803 |
- sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die |
28804 |
- } |
28805 |
- |
28806 |
- while read f; do |
28807 |
- l10n_for_each_disabled_locale_do rm_man_file "${f}" |
28808 |
- done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) |
28809 |
-} |
28810 |
- |
28811 |
-src_configure() { |
28812 |
- wine_compiler_check || die |
28813 |
- |
28814 |
- export LDCONFIG=/bin/true |
28815 |
- use custom-cflags || strip-flags |
28816 |
- |
28817 |
- multilib-minimal_src_configure |
28818 |
-} |
28819 |
- |
28820 |
-multilib_src_configure() { |
28821 |
- local myconf=( |
28822 |
- --prefix="${MY_PREFIX}" |
28823 |
- --datarootdir="${MY_DATAROOTDIR}" |
28824 |
- --datadir="${MY_DATADIR}" |
28825 |
- --docdir="${MY_DOCDIR}" |
28826 |
- --includedir="${MY_INCLUDEDIR}" |
28827 |
- --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" |
28828 |
- --libexecdir="${MY_LIBEXECDIR}" |
28829 |
- --localstatedir="${MY_LOCALSTATEDIR}" |
28830 |
- --mandir="${MY_MANDIR}" |
28831 |
- --sysconfdir=/etc/wine |
28832 |
- $(use_with alsa) |
28833 |
- $(use_with capi) |
28834 |
- $(use_with lcms cms) |
28835 |
- $(use_with cups) |
28836 |
- $(use_with ncurses curses) |
28837 |
- $(use_with udisks dbus) |
28838 |
- $(use_with fontconfig) |
28839 |
- $(use_with ssl gnutls) |
28840 |
- $(use_enable gecko mshtml) |
28841 |
- $(use_with gphoto2 gphoto) |
28842 |
- $(use_with gsm) |
28843 |
- $(use_with gssapi) |
28844 |
- $(use_with gstreamer) |
28845 |
- --without-hal |
28846 |
- $(use_with jpeg) |
28847 |
- $(use_with kerberos krb5) |
28848 |
- $(use_with ldap) |
28849 |
- $(use_enable mono mscoree) |
28850 |
- $(use_with mp3 mpg123) |
28851 |
- $(use_with netapi) |
28852 |
- $(use_with nls gettext) |
28853 |
- $(use_with openal) |
28854 |
- $(use_with opencl) |
28855 |
- $(use_with opengl) |
28856 |
- $(use_with osmesa) |
28857 |
- $(use_with oss) |
28858 |
- $(use_with pcap) |
28859 |
- $(use_with png) |
28860 |
- $(use_with pulseaudio pulse) |
28861 |
- $(use_with threads pthread) |
28862 |
- $(use_with scanner sane) |
28863 |
- $(use_with sdl) |
28864 |
- $(use_enable test tests) |
28865 |
- $(use_with truetype freetype) |
28866 |
- $(use_with udev) |
28867 |
- $(use_with v4l) |
28868 |
- $(use_with vkd3d) |
28869 |
- $(use_with vulkan) |
28870 |
- $(use_with X x) |
28871 |
- $(use_with X xfixes) |
28872 |
- $(use_with xcomposite) |
28873 |
- $(use_with xinerama) |
28874 |
- $(use_with xml) |
28875 |
- $(use_with xml xslt) |
28876 |
- ) |
28877 |
- |
28878 |
- local PKG_CONFIG AR RANLIB |
28879 |
- # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 |
28880 |
- # set AR and RANLIB to make QA scripts happy; #483342 |
28881 |
- tc-export PKG_CONFIG AR RANLIB |
28882 |
- |
28883 |
- if use amd64; then |
28884 |
- if [[ ${ABI} == amd64 ]]; then |
28885 |
- myconf+=( --enable-win64 ) |
28886 |
- else |
28887 |
- myconf+=( --disable-win64 ) |
28888 |
- fi |
28889 |
- |
28890 |
- # Note: using --with-wine64 results in problems with multilib.eclass |
28891 |
- # CC/LD hackery. We're using separate tools instead. |
28892 |
- fi |
28893 |
- |
28894 |
- ECONF_SOURCE=${S} \ |
28895 |
- econf "${myconf[@]}" |
28896 |
- emake depend |
28897 |
-} |
28898 |
- |
28899 |
-multilib_src_test() { |
28900 |
- # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" |
28901 |
- if [[ ${ABI} == x86 ]]; then |
28902 |
- if [[ $(id -u) == 0 ]]; then |
28903 |
- ewarn "Skipping tests since they cannot be run under the root user." |
28904 |
- ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" |
28905 |
- return |
28906 |
- fi |
28907 |
- |
28908 |
- WINEPREFIX="${T}/.wine-${ABI}" \ |
28909 |
- Xemake test |
28910 |
- fi |
28911 |
-} |
28912 |
- |
28913 |
-multilib_src_install_all() { |
28914 |
- local DOCS=( ANNOUNCE AUTHORS README ) |
28915 |
- add_locale_docs() { |
28916 |
- local locale_doc="documentation/README.$1" |
28917 |
- [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) |
28918 |
- } |
28919 |
- l10n_for_each_locale_do add_locale_docs |
28920 |
- |
28921 |
- einstalldocs |
28922 |
- prune_libtool_files --all |
28923 |
- |
28924 |
- if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script |
28925 |
- rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ |
28926 |
- "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die |
28927 |
- fi |
28928 |
- |
28929 |
- # Remove wineconsole if neither backend is installed #551124 |
28930 |
- if ! use X && ! use ncurses; then |
28931 |
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die |
28932 |
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die |
28933 |
- rm_wineconsole() { |
28934 |
- rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die |
28935 |
- } |
28936 |
- multilib_foreach_abi rm_wineconsole |
28937 |
- fi |
28938 |
- |
28939 |
- use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 |
28940 |
- use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} |
28941 |
- |
28942 |
- if use abi_x86_64 && ! use abi_x86_32; then |
28943 |
- dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 |
28944 |
- dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader |
28945 |
- fi |
28946 |
- |
28947 |
- # Failglob for binloops, shouldn't be necessary, but including to stay safe |
28948 |
- eshopts_push -s failglob #615218 |
28949 |
- # Make wrappers for binaries for handling multiple variants |
28950 |
- # Note: wrappers instead of symlinks because some are shell which use basename |
28951 |
- local b |
28952 |
- for b in "${D%/}${MY_PREFIX}"/bin/*; do |
28953 |
- make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" |
28954 |
- done |
28955 |
- eshopts_pop |
28956 |
-} |
28957 |
- |
28958 |
-pkg_postinst() { |
28959 |
- eselect wine register ${P} |
28960 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
28961 |
- eselect wine register --vanilla ${P} || die |
28962 |
- fi |
28963 |
- |
28964 |
- eselect wine update --all --if-unset || die |
28965 |
- |
28966 |
- xdg_desktop_database_update |
28967 |
- |
28968 |
- if ! use gecko; then |
28969 |
- ewarn "Without Wine Gecko, wine prefixes will not have a default" |
28970 |
- ewarn "implementation of iexplore. Many older windows applications" |
28971 |
- ewarn "rely upon the existence of an iexplore implementation, so" |
28972 |
- ewarn "you will likely need to install an external one, like via winetricks" |
28973 |
- fi |
28974 |
- if ! use mono; then |
28975 |
- ewarn "Without Wine Mono, wine prefixes will not have a default" |
28976 |
- ewarn "implementation of .NET. Many windows applications rely upon" |
28977 |
- ewarn "the existence of a .NET implementation, so you will likely need" |
28978 |
- ewarn "to install an external one, like via winetricks" |
28979 |
- fi |
28980 |
-} |
28981 |
- |
28982 |
-pkg_prerm() { |
28983 |
- eselect wine deregister ${P} |
28984 |
- if [[ ${PN} == "wine-vanilla" ]]; then |
28985 |
- eselect wine deregister --vanilla ${P} || die |
28986 |
- fi |
28987 |
- |
28988 |
- eselect wine update --all --if-unset || die |
28989 |
-} |
28990 |
- |
28991 |
-pkg_postrm() { |
28992 |
- xdg_desktop_database_update |
28993 |
-} |