summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2015-03-08 07:00:29 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2015-03-08 07:00:29 +0000
commitff20f9c69a9ed86c9f4fb18a9c510d5d0b1e7bfe (patch)
tree047101e08870fdcc16c70a0b33fcc55362c740c6 /app-emulation
parentVersion bump. (diff)
downloadhistorical-ff20f9c69a9ed86c9f4fb18a9c510d5d0b1e7bfe.tar.gz
historical-ff20f9c69a9ed86c9f4fb18a9c510d5d0b1e7bfe.tar.bz2
historical-ff20f9c69a9ed86c9f4fb18a9c510d5d0b1e7bfe.zip
Belated version bump (bug #536380), see https://www.winehq.org/announce/1.7.38 for the announcement. Sync changes from NP-Hardass's overlay and add him as proxy maintainer. Move big gstreamer patches out of filesdir and into compressed downloads.
Package-Manager: portage-2.2.18/cvs/Linux x86_64 Manifest-Sign-Key: 0x18E5B6F2D8D5EC8D
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/wine/ChangeLog14
-rw-r--r--app-emulation/wine/Manifest54
-rw-r--r--app-emulation/wine/files/wine-1.7.28-gstreamer-v4.patch629
-rw-r--r--app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-post.patch50
-rw-r--r--app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-pre.patch48
-rw-r--r--app-emulation/wine/metadata.xml11
-rw-r--r--app-emulation/wine/wine-1.7.28.ebuild7
-rw-r--r--app-emulation/wine/wine-1.7.29.ebuild7
-rw-r--r--app-emulation/wine/wine-1.7.33.ebuild7
-rw-r--r--app-emulation/wine/wine-1.7.38.ebuild530
-rw-r--r--app-emulation/wine/wine-9999.ebuild130
11 files changed, 779 insertions, 708 deletions
diff --git a/app-emulation/wine/ChangeLog b/app-emulation/wine/ChangeLog
index 6da5b806d25c..bbfae8463922 100644
--- a/app-emulation/wine/ChangeLog
+++ b/app-emulation/wine/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for app-emulation/wine
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/ChangeLog,v 1.526 2015/01/01 21:01:23 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/ChangeLog,v 1.527 2015/03/08 07:00:24 tetromino Exp $
+
+*wine-1.7.38 (08 Mar 2015)
+
+ 08 Mar 2015; Alexandre Rostovtsev <tetromino@gentoo.org> wine-1.7.28.ebuild,
+ wine-1.7.29.ebuild, wine-1.7.33.ebuild, +wine-1.7.38.ebuild,
+ wine-9999.ebuild, -files/wine-1.7.28-gstreamer-v4.patch,
+ +files/wine-1.7.38-gstreamer-v5-staging-post.patch,
+ +files/wine-1.7.38-gstreamer-v5-staging-pre.patch, metadata.xml:
+ Belated version bump (bug #536380), see
+ https://www.winehq.org/announce/1.7.38 for the announcement. Sync changes
+ from NP-Hardass's overlay and add him as proxy maintainer. Move big gstreamer
+ patches out of filesdir and into compressed downloads.
*wine-1.7.33 (01 Jan 2015)
diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest
index 0969245332ed..fc2db5366d28 100644
--- a/app-emulation/wine/Manifest
+++ b/app-emulation/wine/Manifest
@@ -10,7 +10,8 @@ AUX wine-1.5.26-winegcc.patch 1808 SHA256 91c1012059b93a421b2eae9f2ea46b7b327d6d
AUX wine-1.6-memset-O3.patch 695 SHA256 1f04496713e8a401ba068702c5c3e104b18635bfb54808e5641a3c48a9b9bad4 SHA512 ad7231f8dedf98f9e9b91fcb8bbe72a716d78285127b0c33396de0b1e17a191f91f9a4a377c0e90671bb5f4e57bfb087ef7e80c9537c6c73b3c9bb90b3885968 WHIRLPOOL 91689c31054b896609493e2b0b4fe67e3d752d889f4ccae9c3e15229543341998809fd19a2040457e04fbdbd45505f0f2b49052844004193872713053d7239f8
AUX wine-1.7.12-osmesa-check.patch 1722 SHA256 42648efa15040011ef868f92fd615924a83b5a30dab25505928226d8bc48159d SHA512 faca80f9747f3d7bfd05c3410bcccfaf17b3f397e30dd9ec382eccc326de346d195d6a184ec78e44b26d5e5e4b2af749ce58a0e6bad0b15a4fd1f2ea610d3124 WHIRLPOOL c5314849d15a53dc00af80f44249c10107b17825c4a2ab4510a5799b154bb1cdb516b3b632e1e959802588f673b9eac8ed6de2dfb59bde34acdd5b752115f695
AUX wine-1.7.2-osmesa-check.patch 1740 SHA256 5264ac291435eb64c70cef4bdccbf8d4448472b4f014ab15ede35bcceebb6579 SHA512 4738a381923df7b45ea68092efb7ccb967907976d6d2f8bb0167af4211c377a73e296481b94092ac232f9ae09edf21447da92a134ebfff9b32acdd9e20340b95 WHIRLPOOL 95a90f8ff5a649833b39cb28de997c3b516cd09a53cf71d616c4fd412dfa6e71c47a1255a4d0597d85a62966cd9d6b9fae1c21c88e67d8650d31d414fca8fd42
-AUX wine-1.7.28-gstreamer-v4.patch 19689 SHA256 9d621741a9909973bfbd28f07b4e2eb54813d0a5d2ff10d6550f7097aff36590 SHA512 383f588f40d9efaa653c3fa326692c36df02de382729b939d04d085c28f388cc0d8c7fac49671a2045f095bf624e2be6f9de6a064e9d9e606db07b2b61b1329f WHIRLPOOL 9078e8966c1777376a077f5a636c1997b33b26150a4a4efdae472c22e0d97c572c7ce34825a98b1e5240c08dc504fea6442c9e3c193a38ea8b75bccd4c56fc77
+AUX wine-1.7.38-gstreamer-v5-staging-post.patch 1751 SHA256 3ceaf40825790b0747b010935db054ae48a9253b587cef5d034d3249d737aa2f SHA512 6ad86075c761c8b8d94ae34452f285f93b87efa7bb5f93c554cf100b1533ebb27b73ed3a6aef519cf10bf77d2a72b86ba9ae419f10892765156159f77541bfd1 WHIRLPOOL b3e050764f89ee77f834d1a22dd3cd22722c79d8eaf0e78df90c797f1fee36473141c7931817e560cece71ac89c65093649ed0c695c5872dc3eda1919871334b
+AUX wine-1.7.38-gstreamer-v5-staging-pre.patch 1529 SHA256 891819135df197282e9e5ae4077f2e5ec29f2b50386a0cedaa0cc85633e31988 SHA512 62b55f7330939081aa3c854bfa57107a7e1d930e0ec2bda45fa66af887aec6a7663be1e36b5b6deeeec8f84aa70cbd8221ad83148e702716fecdf7d2c54ee7a1 WHIRLPOOL adc11e3ede16249da846d9980f681458827710db190a7b5e23f87bda8fe4945c655cf21f1dc0de0ce3145ae6d7606bebd4f598892a516f2b78d093c40a79f997
DIST wine-1.2.3.tar.bz2 17651336 SHA256 3fd8d3f2b466d07eb90b8198cdc9ec3005917a4533db7b8c6c69058a2e57c61f SHA512 602ae802aa6f94c4498ccae96a67e355a8aa5cdc1e9c1e0f29482f45a9e7cc7af766ade9f2f1fef77ee77d5bbfc5f34cd110b95db244b8cff42998b5b0cf708d WHIRLPOOL 02ac95d8c86d0f2d870c8e4c4789c1bef1ef965f8bb186de23fd3a949126ba2aadd5791d1908bdf11d946d5dc5348b085881c2594cf1b407fa0df44c1990ecd9
DIST wine-1.3.28.tar.bz2 19626794 SHA256 9a311124a1a911066ab9d3a742dda888487ee516a18eda946be105a1d1135a38 SHA512 b8fb881cf03dce1a40a9212bc6170858ddde38cd2fc282b455ab94cee7ee2e78f5043fee72df3b1e7566c29fb8c8a43726953a8bc5eb22d3ab7f869e6f4e9722 WHIRLPOOL acb6b8b978541e1b0f95f124e95ad9823e73590229515fd40e4e59d5af21c414c4824490710b436370b4d3fda3c477d6c4b626f89c6cc90e2fcf066355c3bee9
DIST wine-1.4.1.tar.bz2 20104401 SHA256 3c233e3811e42c2f3623413783dbcd0f2288014b5645211f669ffd0ba6ae1856 SHA512 a0fe7f36325a51d9b381ab09a4460cdf59b12b810722d28aa8e98a3d6c3de29bfc62dd0f0d4e5336bfa82a6b549e45c313a714b6d43f562c45ffadb47874058a WHIRLPOOL 81f837ecd31902bc769065de353a92bcdfa1b59b3cd53e700e345b24480260c68daf7075fec685a948a46e66e6f4470ff4158df92e132760013b17ad6690885b
@@ -29,10 +30,13 @@ DIST wine-1.7.19.tar.bz2 21633142 SHA256 c5ea9b00c9029ecf47a25881b284d8ea02079df
DIST wine-1.7.20.tar.bz2 21635815 SHA256 9c431b0b96222d0c27a2c2326ed88298ac0dae50ea783ef764c48c4373bf5f15 SHA512 ffc168ff4342fb5d8fb4a4a242c37f91613e983d644bd6b6d8798110b12339806d58d3abca8856855c286e40b9e4344a17fc834731dd03a42ea0743d1f24bd44 WHIRLPOOL 5ad69f9355897b4ce72c18c239dca2909d0c6094ff2c763731834d5b313fe04806648966e9d60408a14c0cf0dcb981587ffc0edaec8af07fe0a138364062fa53
DIST wine-1.7.21.tar.bz2 21635330 SHA256 a14723104135c21414c61e146144a2c527430057255f8c35a3a7d354e68b9401 SHA512 73db3256d04c681ea7a4524767f9f93c24a4cc96aa901c6fdfd700c7e8968cdb127a110df56f10423cac90aadc783ceafcd0dc571e36ea096c1de03c619164d8 WHIRLPOOL 32bcf10f8665dab43339e79240b534f3fa29087787acd752553b4b717f6c26f8e98d36185f61e928e2c5ef9a3663b9eac7ec42cd9898800ba12efab74c78634c
DIST wine-1.7.22.tar.bz2 21661089 SHA256 60374c94c64110d58939e716c3ef4916059c691a2953d8340a9a140a208a7c63 SHA512 f4646f85f3e5ff25d299e544f8736390bafab63dbe44c38dfbd78bea3a047fd269dcad67e0beca088aab77464c3aadb5040af9606f57c91cc4e4b0f8e916dd55 WHIRLPOOL c214c9e8a9592b7d17a8942ef14f46fd936674dfcd95838b396176e02b74cbe1e3d295a8183ba76c53987c9f1d55d6b5f3de46df8fb9f6a9547dc934a9b048a9
+DIST wine-1.7.28-gstreamer-v4.patch.bz2 5447 SHA256 64dad250bde6b10d77e688b316217b1b508f3dfb8195a33f6420dc1dfb18ac8a SHA512 65e84d79da9898c3c0508c392182f148384abf8f007c0662c6468414eebb69dec918c6099a3fbff7ffa2dd4a942a1aa1d91dffba494ac37a6f572a7f0162ea0c WHIRLPOOL 0cc7cf63c0f9ed718e2219da01cc05fca0814b0ca98c916141ccb254da91f32ea03ec47c6e106d558d6ca10b3346a9cbd9a1c74ef66cb9983dddd1e50506c940
DIST wine-1.7.28.tar.bz2 21811422 SHA256 67c3f157b9e720971d1f7dc582e9f0b16879ef660b5ba284a77f8bdfc6fc2313 SHA512 dffbfeb53d9503ec882941c9d01c4b795c6da6046a2eab5d1ccb4db68a07952cfdbb14600869981b050f45247548d459bd054a390af6baecb232dc0c075ec7ab WHIRLPOOL a55e2acc86435f7254220f05871487e7272318a79dbea00fbfe36faebb5ca70281561ece1c8b79db2e59aea070d2f2d7146d94490925f65c641c52d45c82cf2a
DIST wine-1.7.29.tar.bz2 21823063 SHA256 ae48190d35533197811eeabed989ed9fd3201c44af917107f35ec0bf75b8de62 SHA512 ced6ced1bfdf1b847242399bf54a4a63d0f8a16f3dc1a11c6f2af1baf12d2daa679a5377fe284724b8487cb0573383694c68e363ff2b98230f79c873c4dbbba9 WHIRLPOOL 3db7234f4ba12ea483c0bb8336dcb8becf7bd73298b63700aa7fec61a4723b5bbb7b03b32bd0c8ab1c66b45f6e60bf4dbd30e0da325cf75dc698ca6b69df2993
DIST wine-1.7.3.tar.bz2 21489049 SHA256 c66c93c2ffec8d1d9922fbaa226b169d62deb77fcbfd0fbd7379b77dbd97d47f SHA512 41109866b259a5f939c9ca4c26ed0a5ca74fa9cafa2f348b83510dd386459c87ac044a6f954f2f83ce00961d866a6e636ed96aa9e94584b7a79486d434b406cc WHIRLPOOL 90e6aed8930e3496701292415ce87f29a87870a1d00ad26d4f3c4adf33cd296093d0ef3d363bf5cead1ebd5ab4e86907ccb015c10d85f6f90d5f48cd81681b0f
DIST wine-1.7.33.tar.bz2 21908969 SHA256 e3519d6fa2c0bb91e58da38f14f02607cf366a0154ff1effe528966106d49275 SHA512 a9bb47383b88e9c60edef7883c3ce25f5ad0895b67cdb4393c1c3f9b9ab7245e8d8318df193722a7b8c87ff57cd554df53a24c988566d1dce808b939ed731451 WHIRLPOOL 3747cc9df638e7cba5aaff8cb6bfa26e5588ba87e5bdc9d5e3202f30973bc2c06b0d65027f113066dce82d851c1591ce86421ce6e7d90944f5206d341f7ed51d
+DIST wine-1.7.34-gstreamer-v5.patch.bz2 5703 SHA256 c3bb6f669f46d9f2d7ba494a2264cee457349f559d4b0758db80e39eb22f2aee SHA512 e780394e8739a58593d264322c462bfe9040c1cabce93b84d24f09040026368efb4ac34a6a302beb6048d14b4ac835b87a0c515b52c1a0c143aa4e15691eb01b WHIRLPOOL 1befbb0fbd026d6e833c5d72341064dd6e12157e1b7df58e349b9985648bfbc63f70e9cab45b61155515ac65057968e30ba313e71e183b8027153c9392d89192
+DIST wine-1.7.38.tar.bz2 22027786 SHA256 981ee93e7db6b2b8d1ee16999cdff915a9411b1566539edc56137f9cd4d36bc0 SHA512 36793b8b2fd678b9542ff2c32582234a175e9795682b93c0df881dc1adac65dff8d33509511fe7400d8b099880df8d6f13ecc18e0c8b72827d9ac009770ddc81 WHIRLPOOL 646a36cd4f50c3c81fafc95e11e5c8df68e7c14e7b582b6cd7f5f99d3f37afebd9655e8b0c28bb7995c957d87f96913ac13c2fc425075406e32cbf9a23440add
DIST wine-1.7.4.tar.bz2 21500746 SHA256 517b3465dbf5b516d3fe886c0f9d4f310dc1d4a38ca4e5580c5d66bab3fb6969 SHA512 4267eb43311fe53537a1864a70e88e4bf444b8979dc858725a1170ed06af4e727604a22bafb3deb448eeb62c170ce67ce8eb8082bce040f5488b1a4c4bc6bb95 WHIRLPOOL 7bb14e0dfd4f9a7411e1d5484dba62f8584a0e03997cc3c6192893dccbc7de316eb79a1e5b0ccf96d20e74cf512ebc79e760076ff4882625bc81b410ad8be0bf
DIST wine-1.7.8.tar.bz2 21463503 SHA256 30e17f5f863a09416f3d229666566b318dbb40f683d4ca6630012c60bb511804 SHA512 1fdaddb7909f818050854bf351d20f445cf6a5906b1bcc789c96ee8d5058c90815a91bbbc6444f3e4527748764f03ab5297585c174b433093a3354a827402fea WHIRLPOOL 3b5b18384ff04b80b936160c2c6e03676d69663c023f484981305c9272d0601b74cda5c5f7d56008b3900d702b1a4fe1929f16b1fba304a6480b076ffede663a
DIST wine-1.7.9.tar.bz2 21323337 SHA256 79f99ecc24696915439c474c4953bb77652ab53f16b41daa4da270fe43279c5a SHA512 29f8aa715ebe47c8a06bd5f6a80cac3fb75b2ca7aa81648cc8aed5461cfd825e4da68b6209ca672dce42b968521cfd9bffffaadd2d85b904b55d99687a1c83d0 WHIRLPOOL 333fee72b2a0e9d6ab8a003712c38166bd27aaff384a2b940c089ecc846f7669c59efbeb5cdc2fc87a46d63b0d29d0335873bb7c22f05913bad430b81990241a
@@ -42,11 +46,14 @@ DIST wine-compholio-daily-1.7.18-1.tar.gz 874844 SHA256 3b42267d2e8b06895cbd16b1
DIST wine-compholio-daily-1.7.20.tar.gz 887611 SHA256 d61244de8ed14bba4fff12b2c9fa8e16bef485efc60567019a18674444c691d9 SHA512 7eb763e908bf960060f7932273c330ac263290fbce0803ae1b4fbe000ec60cf7b3221749c4b5af7f7001963446c5b24484ec192bf13b28cdbf7953727b6e6132 WHIRLPOOL 49885b58eafebb756d15599dc3bfbd766b2557f157c27f735c5d73147ef74fcdef0ecbd8b724bf3e6a6a68eb36126af486e204ffb1afa1b31feacf6e1a9952cc
DIST wine-compholio-daily-1.7.21.tar.gz 883833 SHA256 eda345e48ca4b1ff8c191703b3d853fab39527543e96e41bbe0f253b21b9ab68 SHA512 96dea0b5e8d448ef6e54497c222c4c5b5ab3ed727dececfaf1af11f9695749fe53cf52c9f5ecdc9b454ed0fc01a30d0ebae3847bd99e527b99c63fa4942380e8 WHIRLPOOL 3a837e6f0e399db889c8428e01fd52d78dae002f212c570ca1dfa6841dd33a89214913977a2f280fd6363c8a21d27973e20c43f481bfbc02cd7882a9d2d79bc7
DIST wine-gentoo-2013.06.24.tar.bz2 85442 SHA256 bfbf6b25e98f717320de2ede467e3628fbc749d936b8449f8477c9dc6f41e04b SHA512 b6819889314f6a6ea16c1332f4b177c43623116763969c31b23b61754cd304dd085f5d3eafbe847159331eb97dddd9b4c10699430129ea4a71da418c1fe175f0 WHIRLPOOL 227e0ac6569736d4ad5813cef49f775dae956f4fc9255de95753d5d3cba1bf6cf3db31d23d3702bb54d2e60c5a6f779b602f0efb2096e4c827c924565b273d00
+DIST wine-gentoo-2015.03.07.tar.bz2 85419 SHA256 f13f93dc49bbc33a294c4d511b6e01aec2d38bff77a1e44d07668291add1ab04 SHA512 bae1d2d5575d340d01f44008104f0e5ec0c4a4982995dec37d501594cd21d07a2b4ad4465c4273646d5bf6521996b4b82471097864be75342abe3e7d478a56bd WHIRLPOOL 0f254dd692e87a1f71dd19f6c1c8c59b8a91b994e75912a2e6e3ba5e875b85119fe497a331a95c2ce33bbf5f064143d23ee00275da92c494227de0807c9abb06
DIST wine-mono-0.0.8.msi 46967296 SHA256 3dfc23bbc29015e4e538dab8b83cb825d3248a0e5cf3b3318503ee7331115402 SHA512 d3009f2301b0a006136e880025a736f24612faa7a954956896124ec7282d35b678f02658e8be12b1c02ee217e594a2c728a9258c36ccb346b186a4781951adbd WHIRLPOOL 1d4b2e88ebab1f603326a238cc908982c7e135a33340087e8645572838d2b6034764e9fe787bb890792dea4c0531d26f9a6a811a7c200edb99ab82f975179389
DIST wine-mono-4.5.2.msi 52502528 SHA256 d9124edb41ba4418af10eba519dafb25ab4338c567d25ce0eb4ce1e1b4d7eaad SHA512 73c907f63b73836d5afd0753197358aaea43a74a47800f929ef0627112298256f1fa46d1b9ff297b117468d953cdeab21fb5962db13c5debbcb71004462df609 WHIRLPOOL 18d3544c6753c5a01917bfc1b694f31ce45213108527f13317ec0bb8b2d2339ce41800534967e067cd15cd186ef9e186a5d3252275e443dfa1a6ae3641d4d17c
DIST wine-mono-4.5.4.msi 53706752 SHA256 20bced7fee01f25279edf07670c5033d25c2c9834a839e7a20410ce1c611d6f2 SHA512 307fab2ac50c4eaa5c3fb8446ceb2df0d95c0a9d7c1e6289ef1ec5cc660fa8fcb26025c9723ce2bc01afcaf7e9c4dd9939d1beba877f4f95f6f80d92d8187221 WHIRLPOOL ccd1fed03158dd309d2a1f88558e5ad0e2e43de5ba61ab82702132bd0cdf75db75dcc1a61b5cb2775fdf0ad51464f34d2b3629538b1737cbedb410b859ef092a
+DIST wine-mono-4.5.6.msi 53705216 SHA256 ac681f737f83742d786706529eb85f4bc8d6bdddd8dcdfa9e2e336b71973bc25 SHA512 4d8df04c1d0da09d1abe423dd271e5dd14a193d607fb54e214d2e340827f7c33829342d1580b6907d7cf466e70993d743c6e1ca9a026d4b6225dd7c1fc8b1386 WHIRLPOOL 9a68e502da0be6768e92d88f2ccace607300f3a331e0f9e1b6d60e9c6c2d4eb635b902f03e13aad73461dd5f0c2691c7b41958356ebb7f445e8def4282c675d3
DIST wine-staging-1.7.29.tar.gz 8423703 SHA256 27fab2e3a16f1af4580328ec399bd383915cd8827855f7e77d69d8ddddee2ade SHA512 a923c8b46c50f013f2b5f87dc554a9cfeb77b60a8ee7822775f38922a2ef90b30967e2489c77a8f5cecc1771a5b19e81e43e17ca74ff904485e7ea13c115d1d2 WHIRLPOOL 32a0f1c7c7ce71354e2aae5c870caaf2b210f5bc2cfc4ac2ab0a1e14bc2ee913fad5c487cd3cca9cc5fe58482b7b3110bf59c8576b690c68ff5e31fb567b2d59
DIST wine-staging-1.7.33.tar.gz 8759402 SHA256 30b7ecee549514ecd186689ae8eac15ed37507755025c8272d31e8fd4808b3f2 SHA512 b3b939c8d5af419a9305a16de93486f75197d28bc39be4ca0abdea3e194745bfb401ecf6e092f93c59f68255aa7f051ee847ad3c8521ce87ecbf91abccc900f6 WHIRLPOOL 657bc4d642e1c799c6e0b39ef627c8f6852ab8d511e86f96c54065d87fb144d25a97b1a2572e87a029084d568fda7bbdab7c2ba5255dc07f02691f46e9796960
+DIST wine-staging-1.7.38.tar.gz 9047747 SHA256 b77fc0913c972c0cb2b3fcc3d7627a838ba05cb876396cab526f518564f2f936 SHA512 125937505308a974840d810beb9df10d57cf488b173836c5debf71a96cc11cd3dfee666960768db361edd3b280858f2e6db5eaa8d81f4b487b7c53a0f8fef13c WHIRLPOOL c5cb14dd7527752a0496e343d7b12a53c9df629c027d746e33ac3c25ad20bfebd22c40ceb31bd5e70d3ea2a9188efe076eceab30c3c3f2d519fb31164f189f5a
DIST wine_gecko-1.0.0-x86.cab 8119486 SHA256 7ddf697677506fb164c52771864e32dd69a359ed855b2efbc51340de2376c99c SHA512 0b8f778698f04ed2c01c25a866e54752ff67ad42099179c3c4d161b7f2cba92f262ee6ad909b382e57038428eacddf519b77934c079451eb0cbab6a030eee307 WHIRLPOOL d77903a7fecbc3ecc2d0ddb58fbc98fb401a796fc4d21b216de12702aef38a120c2e7d6f8279308a1d96b66b230973f076f267f246b3b1c02b40e40a518a57e7
DIST wine_gecko-1.3-x86.msi 13609984 SHA256 4b7559e889eff5ed924d25ce49297aff55f43c4b9d34dafa970261d88c40b5ae SHA512 4d45ec762eba1fc2cc8ac1f6672e88ef392395ecd97a48038845c2dd7b40a49df7460cd88aff432b75bfe75231108710901a4759d2ab3998ed7052130d6bc46b WHIRLPOOL d9afae5ab439612e509fbe2b8a405a0252f872e826b0b6cb2c739c1cea0eb4c3a35e5152ac1ad583d17c21fec5c013a43f13779e92929b93e51ee819b70e73d7
DIST wine_gecko-1.3-x86_64.msi 13835776 SHA256 07e9885d15ad22629c3854d6bd77094c3f4db1028ebda408ec87b101fa135d75 SHA512 26e596e498368f8307435a85e440205c1105e10538f8e6ddbb24fd022eed495e4f2d7f09b6b06d26b5a3cf1eb8d629f9baf342fcd239b3aeb16f08324e376e01 WHIRLPOOL 9f3502cf8514873ad3fb49aff0c63eda2b8fa3659d4dbecdb3366d4949cc0b256fcfa0e4269f011887e856113a3bf74dfc365348b9ab1a2c78eac98ab990d3ee
@@ -58,6 +65,8 @@ DIST wine_gecko-2.24-x86.msi 22373888 SHA256 6e38acae87ea66e2c1e8f2f0afe88f89eed
DIST wine_gecko-2.24-x86_64.msi 23608320 SHA256 47557da68bcb2aedaebb93af73275aac96ba23e896bd98f25f2acbfd216d9cc8 SHA512 45ce0dcf42c3e2fe2198092812242e3467b19db4a4946e0b1a2d6327fd48aa936fb85cc1930bace6eaba0c61bff3a6536767ba0a91a0f085f307d1bddd171f0c WHIRLPOOL b6ba7c784d3a79d7afc11f0e12f0372b52b9f194eedfd083abed36a461e7301d2dd936be3be12619364f6ac5aae9cfbfb7fc47141bff92b62826f209365210ec
DIST wine_gecko-2.34-x86.msi 28269568 SHA256 956c26bf302b1864f4d7cb6caee4fc83d4c1281157731761af6395b876e29ca7 SHA512 abc5a4ef496ee407579cd2f284cbcb03306a08cbf3cc4952f3339286aefb36737d2d641d8e72b10a02a4d71478964e676812452c12ff7cb6aaeaf5210408c358 WHIRLPOOL ef72209b4c63fc81f787644046c5fd168b8a5a4e7e5c8652eb7a78ce3b433d888512bdd5aab6ea07248c9c148175006666cd7a800bcfb2b3a73de3f50d1fab76
DIST wine_gecko-2.34-x86_64.msi 29802496 SHA256 0f2c1b24c4cd1b3fa3fb3fe31dcd9ee162446b1f3370c0a18c8cb03a0c1a1070 SHA512 6bc69e1c8612533b3f37c16782833bca0e3aaa8ae872fe9f347ee081575c55c03866d6c71a5fb767bf4c3b012ae72f7d9c384d6d25c2584bf349126521e8f463 WHIRLPOOL a03df2c16088cf573c9273a59ba6998455917a49e0bf84028136d0ecff65a91f20edbecec55455b742682dcee5f5e618b8f2e8c15c71625642cd8b67a7774bd0
+DIST wine_gecko-2.36-x86.msi 29718016 SHA256 afa457ce8f9885225b6e549dd6f154713ce15bf063c23e38c1327d2f869e128a SHA512 6099240fb76368ed9bb6b775d5972b6124972ace92ccfe1051caeb8884d9e12d40c35220419f0d02443584bf2d82799dfca8206410d171470ce15903703924f0 WHIRLPOOL 4b8fc20a8b228268f3407ca425427a2d91f81ff9e6f0860d4f3eb156c97e3ec1ea83ca3510ee10bfb37598f91c3323a46ba75eace3334632b26cbd45959dc908
+DIST wine_gecko-2.36-x86_64.msi 31222784 SHA256 701b84004bf584a2dae7c1296121172c933321cb795c3817b64435fd3364ed44 SHA512 814b13268beeac4d0ace4ab62dbc29ccd92fc13a135499b8ea5a14355992d576268e1e401b28906e8379a826159c5bb051ad274a1e64dd0d5424d495f8e10e10 WHIRLPOOL dbd0e275bdca2ff7a1930daa62d23fd438a90f71b0fed1096b34b8d00a3f51cb91468ce61acaa9361a57deb9f3cfe70a21d16fc23de95cb4e0f7f957d4727010
DIST winepulse-0.35-configure.ac.patch 2826 SHA256 837bffaaddb6b7b0a474c7262a57f12e250e135cf6228dde1a22849f66de1250 SHA512 cb7a86c75cfca401e12ab117407cbae95c7aecffed37d1843e5b58bfdeb54212cb7c4b783280cc94afa0f1c9e58ebb61e28627ed3b690e099cd539d052cbd3bc WHIRLPOOL eb03bfc3e01798c3203814f9b7cf73bf1839ae3563d464f569166285c035b9e2f5f2d74b1238dc141ae1ec67a9e6be4f87d558014f490f43fa990ad19dea5121
DIST winepulse-0.36.patch 101815 SHA256 7508b171bfecb461ecb464426cb4bcd9c3ff77645b787fcbf61e27dd34fe1b05 SHA512 9b9ca1284c6f8f1108a0456989dd0e7a3a35a3075dd5e6601e84d91e65a60a263992736a16c432a7ca75f40e9dc904cdb546b51acd1508b78cbaff060a461d6f WHIRLPOOL d00f9ebd163b632c9cdf3d6581cc9c010b7c0db4c96666591dc4fc1aa48bac030def35964a4dca9c9405ab32b51eaecf2f392b0f57771bc2dd04f5bc2603e789
DIST winepulse-0.38-winecfg.patch 13088 SHA256 051ef1cb5598c319152ad28b85733927a711b45e0bfa92f0b0b2331588f5894e SHA512 714358ec1c1251fde97430e6a3342a8a455f5bf56f1f57f895c6ebaf73e4c396f15f7b12d0f8e02822526e1b4d19a6f161b53ad7c7dd6db1cf8516c95352404f WHIRLPOOL 9e34956d2da028fed29112791bd8497fcdf8b7de8f5f04903b411f091bbe57a8b8ea647a829ab04fcf08ebc5e59d96029e855fbd20a99ae222aad9b322925ab0
@@ -87,31 +96,34 @@ EBUILD wine-1.7.19-r1.ebuild 15479 SHA256 64390b89d067d688193b189dae04072b922a4d
EBUILD wine-1.7.20.ebuild 15304 SHA256 726d9f748dad21b3c5d5f7294e397a0d05fc03bca2965faca596c1d5dc9ae20c SHA512 9b2d9dda01192b18ebd6b46379a016f07aab6a2edc16f17ef7b1dab42e2d0c1390bd289c568a1b817ef40179c423d1f28441b40b04121ce9cede41056e85246f WHIRLPOOL 0f69891902e5751b4e9888b946b9f549f8b6df8f490697d6fab69cea7ba247ae20e3c1eaf6213ac633f0e995400ac6b6d65f383b26eefb1a2003c1524ccf7012
EBUILD wine-1.7.21.ebuild 15546 SHA256 6219e1e9413d0a86c1d0564f2aaf5be4c9696f403f461aac9486bafdeb82ed85 SHA512 92dee78b8eff6806db2b2a1c0c5d49a5db7badbbb5a9a219108a55d58aebe96319b112b99a4d89c6f2660e4dc8c57fe327768ae6883029163261721b103da25d WHIRLPOOL 996775cd98bba2122cf48fe604c564f9d35ef13e64362df68f77db997672f9d0b4468ce02459539c5405d6548f28f65b99f3c388298d8959e236bb6bf8fbb93d
EBUILD wine-1.7.22.ebuild 15539 SHA256 d55c97358b6fb52224641daf62d2286a027c98db2e6de73d62ff14490d6afca4 SHA512 d11e94d0625fe07c8a3cfa358773d268c4b74f594a6a6b0a2bb55c96a5ec0c117ec078bedf74f7c85d6ace90c4640d4847a2c3f1a0c76e80a5a4b790a28fbb51 WHIRLPOOL 302f875341a50c9d77940545cac5fcbe357b785da221aa63e76740f38d8cfb2a4b9fd359cb7f2b71f74cf585823c7c6823732a78b3185ad6cacd7a2b95250744
-EBUILD wine-1.7.28.ebuild 15574 SHA256 aa2f5c0cc8591d5fd7a6531392bda5517526c07772f47da23a57ddc1a66533b5 SHA512 0599603758f02654e624c18925eb9231ca59db9a8bc0ea4e890cc82c3cfbcab313288302bb2c7b79590f44da22c2c288af024d35e72ed06d42342086ca49e372 WHIRLPOOL 7dcf5a6c46c6ad3bff29ec2e5197134b253ef1d7e514e4364b49772e4b98ebc703e8311280725a1aaf06f5e5844ddc4c9b0278e0f7ad71bbce806b8a11e53cc0
-EBUILD wine-1.7.29.ebuild 15473 SHA256 fcd45c94e1ceb5dbc4e00aae263bf64ab9bd4ae6c008263fef1951d1f514df60 SHA512 6d833364ffcd751444adf6729250c3a71ed0f4bb9f4cc566d63c762a72e324b5eb4d2c6bb1d5d3b49e9aef508747c70d8bbb1d6fd7bd0dcb2009afe4ad2733f6 WHIRLPOOL 03afb7aaba21d3fc2bf45efa8a3fe28d6b25fab9ef19c53ca39813f22f954379ca9faa651f600d8c5c623de0cef2bc930310a55878eef2877d15fcca99c0241d
+EBUILD wine-1.7.28.ebuild 15724 SHA256 42a2546b123ec502b2ee1e1e20685d0d3054f6e4487f438c87e3367326ae4220 SHA512 3506242ca79247fc2b066050ad34844b4bf2101406bcad93423b8767d0425b574058327a774bef40860853616d206ebf28b7dfddaefc5add2fccc0a38183d7cc WHIRLPOOL d9139b0bf0ea301ba3f238a99589125671e0bef893107f94572b5f9d1278e54489e24b459e3f3b6fde17c3ae2b7fa8efe4cdb53072650cf9cc1666d201f57539
+EBUILD wine-1.7.29.ebuild 15623 SHA256 5d22df007c1cf7c9b6f81a810e9278cbee403c88b789939ff1bf075e2796ebf8 SHA512 020ffaf6d9f8328c2a20ece606b5331d690abc2874cf66363fdcc07f123d2efe346444030e631574df09eae7e8bbd36d9681a64761fdf49b93436da4bd31a53b WHIRLPOOL 93cd347c385f6bbd35ca035984a979da1697e75a4bb433e080b2ef292395b5ce5c2aa309a7d492889fee34f7e6493b88097f6e8c1484b479dda366d0b37da0c5
EBUILD wine-1.7.3.ebuild 13748 SHA256 b95ba0ae24faee5e10e961971c2e95ae53992eebcda5611304fbeafd7bf81da2 SHA512 b2472fa12bf20743a5f365f3d12bd3ccd0598675b0d72d44c37f192bc2b5879f84ab4561fdc52fbdf0eab9e511133d8acb65f832fd39d4522a8fc841a4662e11 WHIRLPOOL dd88788f464f0829caca63d0f6fc70bc0687dde1c1469d82beaee92558007ff770e84fa453349c7575c7fa8ed8ac78ad3eedcd4d7db33d77ce73c6a2309a5cb4
-EBUILD wine-1.7.33.ebuild 15553 SHA256 bd82b6a0460cb485e247abe6aa508eaa452d3321baa019b0408fb605addd87c6 SHA512 e48a77789ccaa92ce4deda10330efe0c87ada3c7a39a889e81cc5662de0978055577688cd9a19f9c9afa314c0cae44912d2ec62233093a93bf972070ac6bbc25 WHIRLPOOL 409f048c0d9de29bf6727f95858b316c3158276d145dfc5f41f5ac3ecb265349bc38373941e5fb32cc55202abe6b01cdd58088556732a667e8f69c80df70b96f
+EBUILD wine-1.7.33.ebuild 15703 SHA256 0f6f3053d22083530d4275b86171deef127483a156be38d74a1a8fa4aa78b321 SHA512 1a5281712c312cc8d069f81d488173bfc4beb1a4e9a6af1d816d5c63ba202e478b79eaf2e4dd53edf3b15c39a7b136131cd2c33401e2789aca8b5fe84f0c8cfc WHIRLPOOL 7f4648dd862ba23e95779dbe18d469055e2ca4a513c7c58202ad852a6c8e02bbe7c92256bc8ff8ce95ef0a64f7eb655c9fa1de07a29d63896a52372bb9b5aab0
+EBUILD wine-1.7.38.ebuild 16725 SHA256 109072f3331b4fcf52672f6cac418dc4ed43ac60f9dc0f03206acba95e0992b0 SHA512 d30821137953b8874b4c8692ff1af322bfd46ed4f7adc6698414658a3aed6e1554a2e674bfcf77aa45137399387214a81f5647176892cc0cdd780704a92d415e WHIRLPOOL 0b71544018eeff9b90bf77cdce7b5bfc6b64aaf2b24e40274ee830573348c602c5dbf8663eeb8654e6145ea48c774e933d9fc9bbf081ae68637cab8610e10c14
EBUILD wine-1.7.4.ebuild 13749 SHA256 0c4dbd04ae8dd76a987cff7b41c8713a874d81bcf11996172cb6788205d52105 SHA512 40f9b41bf3bc5ce48df3dd94250c0289aa2f840190a935b8cbbd1ad28335d8676ea816f6c0ab023e2c345e9aef8fee1f5ee731fa980d57fe33d837ca84dad79f WHIRLPOOL c1459352f96e75d381806f5d02097fca48c825a40cf6c0b47516581eda442d214e59b03c89d630d188dd9ae4db11a0892e1a1879a91005b398de4c391b4a508e
EBUILD wine-1.7.8.ebuild 14079 SHA256 834e1a1d3f52e88f56b1d039d786e135a2b9841846b74b76a344e9538690cdeb SHA512 25d96cb05fd39d185afb9c3623fe6e7d9179b387e90714d126e9efd538beaf4be8f6c80971ed3b8217bfeecbe366f82bd1f4347abb30aceb9a46393f9551b8b9 WHIRLPOOL 7e05523f1e531faa813881fc3f0c00a561830c3db02928b164fd0b51167dfdc287cdc7a1b85a5c2095890937a36025075472b33291d8aa498e694ea0f4d5d80f
EBUILD wine-1.7.9.ebuild 14079 SHA256 23fcbdbc8a3123ba66b5a9ff9b0eb8939c45da7fd520cbb3cea29c96b47462a7 SHA512 7b199fcc1ddd9b9a9a23633906c371e8a083ab66c4c62c7c50e90121e78181cdd56aba0705274ad6df93dcb06002d21c0040a6fbc2562b15a0f22a32becc969d WHIRLPOOL 4d0ee99f9b0c81e57dff869892a96d9bf0cfda7585dff1de68657d62ef987e8fed982cc5b15035299b5b122720c664b187336d7ea11e0a904dc790ad60c74b60
-EBUILD wine-9999.ebuild 15546 SHA256 4e6c7b5b1e231230f93a47bf0421a79001428fc46e0d8db1fa6a7718ee5561c1 SHA512 fee5c8e26a24fe8ac4525a832fa9ea3864625771d0d0945f968abb07685f2bb47d6f63c5795ed57bed42c67030dbcb28ae0af49387561d79ad088f70c9c8dad9 WHIRLPOOL eb631d28f42a6f40ec14d4a03f8cb6f5e9a4793da438cc5e3af3425f65fa8307560a73eb018f145320bb838dd746fbd352f595533b78ba0aa9456f3e57b81e81
-MISC ChangeLog 27460 SHA256 78ac43a7ad16b48f8ca74fee83086b5f83165704195df1c735fbca0adc5756d1 SHA512 e4220ec45732e6e8e521362dfac513c07f729599e3795e523d0acdc83ded00627fc2713a61e962740f615e906173ac3a82ad8a562d2478c249cba1af96916ef3 WHIRLPOOL 470350d46aa0e1ec4952c5de1de478840b75bda62d6086f9cb4e9780edf0cd287828b3f12a1ce386044d2241a4925aee38a668826e379a0e14f65ca5c1f5ed00
+EBUILD wine-9999.ebuild 16725 SHA256 53f4bb86af11d1eba993ab6073d17ca32b2c90fb8d0e40449b9b3b30ef0f5bd8 SHA512 2879fc93ecd316ddf270e27bdc5dd1441fbf632e1dc410f2017250c7ace479800e93f12ad67e1a244ba5a45295eaa487cdec0d5b88e93726b2297cf2bbfa0e5c WHIRLPOOL 782318d916ce2e043e12f72be73d7c7375016c8437dd0aef4ac8bf0a8720a947f35f9e03119271335937a9398f38f0532af154ae56409bfc46038979b688f2da
+MISC ChangeLog 28071 SHA256 dcf59596d26e0cb24658b002767b054603bda39aa0e56f603e69c5569055a5fa SHA512 70f8ce1fcaa64054ab932da4bdf3ed2924b9273d5a85dbab092ce008ceaa1adcd7bff486be3792108f633774832b0aa8a9d1335ed94f0a783781914b9899001c WHIRLPOOL 5b52afe1ebc60a41ba80dc249914b21cd33584606a2254a3ae86b2fbec62643bcc48294ff14971b27e6716a6568cc8c077ea30d53a61d884bb69d1d422c9412a
MISC ChangeLog-2012 100362 SHA256 8e70fc54e7945c1f41e3e0b64fef6b9a7fe89acdaf8c79a06a16048fe8d2e26c SHA512 ca875e847ba100e1f19774b31a2b45a81d776275e3d11944be8a7b01dfcdbf4265b1a340d691bc4fe4054fea006059a06ed52bc0516b1f8b44a1772a1c813278 WHIRLPOOL 36ec708601a25cb8fa93b471112538480b6ef82cc4e6703b3d045f883078b49209ceaeef7bafa8417b881c2d11df84df9c83d1985d0d687a11f3db3de5abb014
-MISC metadata.xml 2345 SHA256 0ef9a0a7ca23d679c032fbf42814100806eded7e60e0c38b86d14c952f050172 SHA512 c6e95b6d2f1892eca53013aa73350b7eec6fb957c62006a04f332283cb528a9ddb0647ccd31fea1f5e544af1a8858894bba513f803d1096241e1747879ff5ee4 WHIRLPOOL 14a2cc130443b475293b6cbef61154652ba000b9644752a946cece25ebc8fd9e5126d4bd950645c1351b09dac3c9dcd9cbf348450b391844a7ba7a5fc51c7a90
+MISC metadata.xml 2753 SHA256 e52a7b0f8c694e3fb8624f80f05fbd19ad0e3e9af654fac7e5ada9596361de3f SHA512 1de3e621614dfd1529e158743c6959834f10a885c0e5efc74bad445ec5930bfd86b999122f5a978f0fc0ac8e64927a02919fb766fe6a701362f9e3e4fe8ffc94 WHIRLPOOL b838c0d1beb4978ad96e280a1a77625c26adb90f0e0f3484acd49c21fa9a2182237ac1d723badafe23f5d82123e187c629ccdc0385cdc6347e7c0c8bfa5921a9
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
+Version: GnuPG v2.0
-iQIcBAEBCAAGBQJUpbXlAAoJECDuEZm+6Exkm20P/ikTUN7OuJx3Kn1ddRy4+Giv
-aSQ42P2LnvaW/uV+1ab7J/DsI+YfvFW7rPmJhZh6HyEkIBrTr9Vigljd9cwrOMVV
-C+QvimW2HNNFugJYckbYDA1PSeDjb4WeM7MuAdjlfk920qVrQZyYo1r6S/2nSOqk
-PK+jNuJVLzWbNY2jdZ2Gxk80+tLcou80pFs6Efj4QaLA59IpHbIHlqDTLq0CiFUL
-xBCqZr4DwJ3o9UgoI57c6VNtz9LsXp8wmqdY/JCtjEjdjbLw/zOMdPCaCc1UounX
-svDjlPnfvSUAognqPigrSMrOGEK6gku3mzUud6ymGdv8y67ENwp4hiZeE1ZwWZDw
-pK8c2bNrOn0xObU+i2E7FpwdZL1xWvM+9AWTqreLr0sDQVb1tbDyQ1yGQoCVIuwX
-AwJ1MY2xc0Cw4xe7ZvpWgdj/yzhLXhw18eTxwRO2YykoZYJRj5ikQ82kyipCT5ae
-LmP5HK4xuweQ4YBI00diazblF3eBCoRkKFo72Hs4YJltvFdQEjAMVa6w/9czk8XR
-jDOEMP5B3pbSDPJ6ZV7RZcbMvXDnm1Acp4jninBFpG8oapjGNGws4xrFrDkt7cq1
-htkJ8KOJVv+gnc7JL4Y8mJJSAPdYJcVOxrYYnxL7FFvmVRJwXoraIEZ7YBtxZK0N
-l4PtkljDiDgzdHAmM7xv
-=PHfO
+iQJ8BAEBCABmBQJU+/OJXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ1RTNCRkUzRDRBNkI2MEEwQkYwQzMyOEEx
+OEU1QjZGMkQ4RDVFQzhEAAoJEBjltvLY1eyNMZYP/AoG0EKXHTn4z7ymukOdH2o+
+bm0vB2aU+GKlIxTFzUQ4SEZxPGEQDlyfbntRXtLC4peKh/TK7Kl386LQARczi49s
+VC/tR8OCd4VJnfse4YiYr3m7PahXa59Y0zXB4i1581cQQZn9zMvyUH/H1Xl9Kbdy
+5KptShz/WDUWxkd4yPJayGClyJSyG88GrSMIbzZXjgx0Uwm1QGvk7XpZYEtCEI1X
++sLGhRMEl+LGMYSt2YTZpLKJaUCB0KglJgre7k4qYzBf47rjRyTgvEvBh8rvR0qP
+rmbRpnRbaYThM0HgYPZY19sjjCLLTl9ySdaOirGssx9k5lCN5FiBL7ri29pJAIFl
+uYWe4LgmkTBhLgCzXUWpFj/PI2dWtEzuxXUnHiJOA3N3lWFcsG+07cM/IWCMdVg6
+AYo2xRs5NgrOiw6y75gxF7QHzVEKccjhbwQR/wAgtkZPJmV+7jyYTl6Py3Y3pXja
+samJQJiEbjgthcVuFsWOJapuZG5OgJq1WsPIQLDWSel07xXW46YRaFiJoq8wf325
+dYwYWnPE+LdOIhaJlh7NgPbIEEs04KxSyh6WCOaTair31xyObj/8VblILxjpO9iy
+FR2NCpdV+PRtl0FZ96cSNmvlZFzbZ4+PYNJscspVWoSGokU0M5iSy4/C1S+Qe1G3
+1YgOeG6X+UBcspqG9p3C
+=dmUH
-----END PGP SIGNATURE-----
diff --git a/app-emulation/wine/files/wine-1.7.28-gstreamer-v4.patch b/app-emulation/wine/files/wine-1.7.28-gstreamer-v4.patch
deleted file mode 100644
index fbf930bd0280..000000000000
--- a/app-emulation/wine/files/wine-1.7.28-gstreamer-v4.patch
+++ /dev/null
@@ -1,629 +0,0 @@
-From 9e081cd4a04e3326d4927aa082695f15432590e2 Mon Sep 17 00:00:00 2001
-From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
-Date: Thu, 14 Aug 2014 11:49:20 +0200
-Subject: [PATCH] TESTING -- override pthreads to fix gstreamer v4
-
-I believe the code is ready and will work properly now in all cases.
-but please test before cherry picking this patch, and report
-success or failure to me please.
-
-Changes since v1:
- - Call pthread_yield to make sure that we link against libpthread.
- This fixes the build on saucy.
-Changes since v2:
- - Set thread_data->detached before creating the thread to prevent
- a race condition.
-Changes since v3:
- - Set thread_data->detached CORRECTLY. Fix a small race between
- thread creation and pthread_detach.
----
- dlls/ntdll/ntdll_misc.h | 3 +
- dlls/ntdll/thread.c | 307 +++++++++++++++++++++++++++++++++++++--
- dlls/winegstreamer/glibthread.c | 13 ++
- libs/wine/loader.c | 7 +
- libs/wine/wine.map | 6 +
- loader/Makefile.in | 2 +-
- loader/main.c | 41 +++++
- 7 files changed, 362 insertions(+), 17 deletions(-)
-
-diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
-index 4370084..1af819b 100644
---- a/dlls/ntdll/ntdll_misc.h
-+++ b/dlls/ntdll/ntdll_misc.h
-@@ -28,6 +28,7 @@
- #include "winnt.h"
- #include "winternl.h"
- #include "wine/server.h"
-+#include "wine/list.h"
-
- #define MAX_NT_PATH_LENGTH 277
-
-@@ -235,6 +236,8 @@ struct ntdll_thread_data
- WINE_VM86_TEB_INFO vm86; /* 1fc vm86 private data */
- void *exit_frame; /* 204 exit frame pointer */
- #endif
-+ struct list entry;
-+ BOOL detached;
- };
-
- static inline struct ntdll_thread_data *ntdll_get_thread_data(void)
-diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
-index c8461b0..8d5470e 100644
---- a/dlls/ntdll/thread.c
-+++ b/dlls/ntdll/thread.c
-@@ -33,6 +33,7 @@
- #ifdef HAVE_SYS_SYSCALL_H
- #include <sys/syscall.h>
- #endif
-+#include <errno.h>
-
- #define NONAMELESSUNION
- #include "ntstatus.h"
-@@ -58,6 +59,7 @@ struct startup_info
- TEB *teb;
- PRTL_THREAD_START_ROUTINE entry_point;
- void *entry_arg;
-+ BOOL native_thread;
- };
-
- static PEB *peb;
-@@ -202,6 +204,78 @@ static ULONG get_dyld_image_info_addr(void)
- }
- #endif /* __APPLE__ */
-
-+#ifdef __linux__
-+extern typeof(pthread_create) *__glob_pthread_create, *call_pthread_create;
-+extern typeof(pthread_join) *__glob_pthread_join, *call_pthread_join;
-+extern typeof(pthread_detach) *__glob_pthread_detach, *call_pthread_detach;
-+
-+static typeof(pthread_create) __hook_pthread_create;
-+static typeof(pthread_join) __hook_pthread_join;
-+static typeof(pthread_detach) __hook_pthread_detach;
-+
-+static pthread_mutex_t thread_lock;
-+
-+static void thread_wrap_init(void)
-+{
-+ pthread_mutexattr_t attr;
-+ pthread_mutexattr_init(&attr);
-+ pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);
-+ pthread_mutex_init(&thread_lock, &attr);
-+ pthread_mutexattr_destroy(&attr);
-+
-+ call_pthread_create = __hook_pthread_create;
-+ call_pthread_join = __hook_pthread_join;
-+ call_pthread_detach = __hook_pthread_detach;
-+}
-+
-+static TEB *dead_teb;
-+static struct list active_list = LIST_INIT(active_list);
-+
-+static void take_thread_lock(void)
-+{
-+ int ret = pthread_mutex_lock(&thread_lock);
-+ if (ret == EOWNERDEAD)
-+ pthread_mutex_consistent(&thread_lock);
-+}
-+
-+static void detach_thread_unlock(TEB *own_teb)
-+{
-+ struct ntdll_thread_data *thread_data;
-+ TEB *teb = dead_teb;
-+
-+ dead_teb = own_teb;
-+
-+ pthread_mutex_unlock(&thread_lock);
-+ if (!teb)
-+ return;
-+
-+ thread_data = (struct ntdll_thread_data *)teb->SpareBytes1;
-+ __glob_pthread_join(thread_data->pthread_id, NULL);
-+ signal_free_thread(teb);
-+}
-+
-+static void reap_thread(TEB *teb)
-+{
-+ struct ntdll_thread_data *thread_data = (struct ntdll_thread_data *)teb->SpareBytes1;
-+ take_thread_lock();
-+ if (thread_data->detached)
-+ detach_thread_unlock(teb);
-+ else {
-+ /*
-+ * Do not unlock, wait until the thread is thoroughly dead.
-+ * This prevents a race condition where detach is called
-+ * after the thread has not finished dying yet.
-+ */
-+ }
-+}
-+
-+#else
-+#define __glob_pthread_create pthread_create
-+#define __glob_pthread_join pthread_join
-+#define __glob_pthread_detach pthread_detach
-+#define thread_wrap_init()
-+#endif
-+
- /***********************************************************************
- * thread_init
- *
-@@ -220,6 +294,7 @@ HANDLE thread_init(void)
- struct ntdll_thread_data *thread_data;
- static struct debug_info debug_info; /* debug info for initial thread */
-
-+ thread_wrap_init();
- virtual_init();
-
- /* reserve space for shared user data */
-@@ -349,14 +424,12 @@ void terminate_thread( int status )
- pthread_exit( UIntToPtr(status) );
- }
-
--
--/***********************************************************************
-- * exit_thread
-- */
--void exit_thread( int status )
-+static void exit_thread_common( int status )
- {
-+#ifndef __linux__
- static void *prev_teb;
- TEB *teb;
-+#endif
-
- if (status) /* send the exit code to the server (0 is already the default) */
- {
-@@ -380,24 +453,177 @@ void exit_thread( int status )
-
- pthread_sigmask( SIG_BLOCK, &server_block_set, NULL );
-
-+#ifndef __linux__
- if ((teb = interlocked_xchg_ptr( &prev_teb, NtCurrentTeb() )))
- {
- struct ntdll_thread_data *thread_data = (struct ntdll_thread_data *)teb->SpareBytes1;
-
- if (thread_data->pthread_id)
- {
-- pthread_join( thread_data->pthread_id, NULL );
-+ __glob_pthread_join( thread_data->pthread_id, NULL );
- signal_free_thread( teb );
- }
- }
-+#else
-+ reap_thread(NtCurrentTeb());
-+#endif
-
- close( ntdll_get_thread_data()->wait_fd[0] );
- close( ntdll_get_thread_data()->wait_fd[1] );
- close( ntdll_get_thread_data()->reply_fd );
- close( ntdll_get_thread_data()->request_fd );
-+}
-+
-+void exit_thread( int status )
-+{
-+ exit_thread_common(status);
- pthread_exit( UIntToPtr(status) );
- }
-
-+#ifdef __linux__
-+
-+struct unix_arg {
-+ void *(*start)(void *);
-+ void *arg;
-+};
-+
-+/* dummy used for comparison */
-+static DWORD native_unix_start;
-+
-+static void call_native_cleanup(void *arg)
-+{
-+ exit_thread_common(0);
-+}
-+
-+static int
-+__hook_pthread_create(pthread_t *thread, const pthread_attr_t *attr,
-+ void *(*start_routine) (void *), void *parm)
-+{
-+ NTSTATUS ret;
-+ pthread_t tid;
-+ size_t stack = 8 * 1024 * 1024;
-+ struct unix_arg arg;
-+ arg.start = start_routine;
-+ arg.arg = parm;
-+
-+ if (!thread)
-+ thread = &tid;
-+
-+ TRACE("Overriding thread creation!\n");
-+ if (attr) {
-+ static int once;
-+ if (!once++)
-+ FIXME("most thread attributes ignored!\n");
-+ else
-+ WARN("most thread attributes ignored!\n");
-+
-+ pthread_attr_getstacksize(attr, &stack);
-+ }
-+
-+ ret = RtlCreateUserThread( NtCurrentProcess(), NULL, FALSE, NULL, stack, 0, (void*)&native_unix_start, &arg, NULL, (void*)thread );
-+ if (ret != STATUS_SUCCESS)
-+ FIXME("ret: %08x\n", ret);
-+ switch (ret) {
-+ case STATUS_SUCCESS:
-+ TRACE("created thread %lx for %p/%p\n", *thread, start_routine, parm);
-+ return 0;
-+ case STATUS_NO_MEMORY:
-+ return ENOMEM;
-+ case STATUS_TOO_MANY_OPENED_FILES:
-+ return EMFILE;
-+ default:
-+ ERR("Unhandled ntstatus %08x\n", ret);
-+ return ENOMEM;
-+ }
-+}
-+
-+static int __hook_pthread_detach(pthread_t thread)
-+{
-+ struct ntdll_thread_data *thread_data;
-+ TEB *teb = NULL;
-+
-+ if (pthread_equal(thread, pthread_self())) {
-+ TRACE("Detached self: %lx\n", pthread_self());
-+ ntdll_get_thread_data()->detached = 1;
-+ return 0;
-+ }
-+
-+ take_thread_lock();
-+ LIST_FOR_EACH_ENTRY(thread_data, &active_list, typeof(*thread_data), entry) {
-+ if (pthread_equal(thread_data->pthread_id, thread)) {
-+ teb = CONTAINING_RECORD(thread_data, typeof(*teb), SpareBytes1);
-+
-+ list_remove(&thread_data->entry);
-+ if (!pthread_tryjoin_np(thread, NULL)) {
-+ detach_thread_unlock(NULL);
-+ TRACE("Thread %lx was dead, cleaning up\n", thread);
-+ signal_free_thread(teb);
-+ return 0;
-+ }
-+ thread_data->detached = 1;
-+ break;
-+ }
-+ }
-+ detach_thread_unlock(NULL);
-+ if (!teb)
-+ TRACE("Could not find thread %lx to detach\n", thread);
-+ else
-+ TRACE("Changed thread %lx to detached\n", thread);
-+ return teb ? 0 : ESRCH;
-+}
-+
-+static int __hook_pthread_join(pthread_t thread, void **retval)
-+{
-+ struct ntdll_thread_data *thread_data, *t2;
-+ int ret = ESRCH;
-+
-+ if (pthread_equal(thread, pthread_self()))
-+ return EDEADLK;
-+
-+ take_thread_lock();
-+ LIST_FOR_EACH_ENTRY(thread_data, &active_list, typeof(*thread_data), entry) {
-+ TEB *teb = CONTAINING_RECORD(thread_data, typeof(*teb), SpareBytes1);
-+
-+ if (pthread_equal(thread, thread_data->pthread_id)) {
-+
-+ ret = pthread_tryjoin_np(thread, retval);
-+ if (!ret) {
-+ TRACE("Thread %lx was dead fastpath, cleaning up\n", thread);
-+ goto free;
-+ }
-+ detach_thread_unlock(NULL);
-+
-+ ret = __glob_pthread_join(thread, retval);
-+ if (ret) {
-+ TRACE("Thread %lx join failed with %i, ignoring\n", thread, ret);
-+ return ret;
-+ }
-+
-+ take_thread_lock();
-+ /* Check if someone else freed the thread yet */
-+ LIST_FOR_EACH_ENTRY(t2, &active_list, typeof(*thread_data), entry)
-+ if (t2 == thread_data) {
-+ TRACE("Cleaning up after successful join\n");
-+ goto free;
-+ }
-+ TRACE("No clean up after successful join, multiple pthread_join's?\n");
-+ break;
-+
-+free:
-+ list_remove(&thread_data->entry);
-+ detach_thread_unlock(NULL);
-+ signal_free_thread(teb);
-+ return 0;
-+ }
-+ }
-+
-+ detach_thread_unlock(NULL);
-+ if (ret)
-+ TRACE("failed with %i\n", ret);
-+ return ret;
-+}
-+
-+#endif
-
- /***********************************************************************
- * start_thread
-@@ -426,9 +652,19 @@ static void start_thread( struct startup_info *info )
- if (TRACE_ON(relay))
- DPRINTF( "%04x:Starting thread proc %p (arg=%p)\n", GetCurrentThreadId(), func, arg );
-
-- call_thread_entry_point( (LPTHREAD_START_ROUTINE)func, arg );
--}
-+#ifdef __linux__
-+ if (info->native_thread) {
-+ void *(*start)(void*) = (void*)func;
-
-+ FIXME("Started native thread %08x\n", GetCurrentThreadId());
-+ pthread_cleanup_push(call_native_cleanup, NULL);
-+ pthread_exit(start(arg));
-+ pthread_cleanup_pop(1);
-+ return;
-+ }
-+#endif
-+ call_thread_entry_point( (LPTHREAD_START_ROUTINE)func, arg );
-+}
-
- /***********************************************************************
- * RtlCreateUserThread (NTDLL.@)
-@@ -440,14 +676,13 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, const SECURITY_DESCRIPTOR *
- HANDLE *handle_ptr, CLIENT_ID *id )
- {
- sigset_t sigset;
-- pthread_t pthread_id;
- pthread_attr_t attr;
- struct ntdll_thread_data *thread_data;
- struct startup_info *info = NULL;
- HANDLE handle = 0, actctx = 0;
- TEB *teb = NULL;
- DWORD tid = 0;
-- int request_pipe[2];
-+ int request_pipe[2], ret;
- NTSTATUS status;
-
- if (process != NtCurrentProcess())
-@@ -472,10 +707,14 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, const SECURITY_DESCRIPTOR *
- if (handle_ptr) *handle_ptr = wine_server_ptr_handle( result.create_thread.handle );
- else NtClose( wine_server_ptr_handle( result.create_thread.handle ));
- }
-+ TRACE("CreateThread for other process returns %08x\n", result.create_thread.status);
- return result.create_thread.status;
- }
-
-- if (server_pipe( request_pipe ) == -1) return STATUS_TOO_MANY_OPENED_FILES;
-+ if (server_pipe( request_pipe ) == -1) {
-+ TRACE("CreateThread cannot create request pipe: %m\n");
-+ return STATUS_TOO_MANY_OPENED_FILES;
-+ }
- wine_server_send_fd( request_pipe[0] );
-
- SERVER_START_REQ( new_thread )
-@@ -496,12 +735,16 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, const SECURITY_DESCRIPTOR *
- if (status)
- {
- close( request_pipe[1] );
-+ TRACE("CreateThread server request failed with %08x\n", status);
- return status;
- }
-
- pthread_sigmask( SIG_BLOCK, &server_block_set, &sigset );
-
-- if ((status = signal_alloc_thread( &teb ))) goto error;
-+ if ((status = signal_alloc_thread( &teb ))) {
-+ TRACE("CreateThread signal thread allocation failed with %08x\n", status);
-+ goto error;
-+ }
-
- teb->Peb = NtCurrentTeb()->Peb;
- teb->ClientId.UniqueProcess = ULongToHandle(GetCurrentProcessId());
-@@ -524,32 +767,64 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, const SECURITY_DESCRIPTOR *
-
- info = (struct startup_info *)(teb + 1);
- info->teb = teb;
-- info->entry_point = start;
-- info->entry_arg = param;
-+#ifdef __linux__
-+ info->native_thread = (void*)start == (void*)&native_unix_start;
-+ if (info->native_thread) {
-+ struct unix_arg *arg = param;
-+ info->entry_point = (void*)arg->start;
-+ info->entry_arg = arg->arg;
-+ } else
-+#endif
-+ {
-+ info->entry_point = start;
-+ info->entry_arg = param;
-+ }
-
- thread_data = (struct ntdll_thread_data *)teb->SpareBytes1;
-+#ifdef __linux__
-+ thread_data->detached = !info->native_thread;
-+#endif
- thread_data->request_fd = request_pipe[1];
- thread_data->reply_fd = -1;
- thread_data->wait_fd[0] = -1;
- thread_data->wait_fd[1] = -1;
-+ thread_data->entry.next = NULL;
-
-- if ((status = virtual_alloc_thread_stack( teb, stack_reserve, stack_commit ))) goto error;
-+ if ((status = virtual_alloc_thread_stack( teb, stack_reserve ?: (8 << 20), stack_commit ?: (1 << 20) ))) {
-+ TRACE("Allocating virtual stack for %p (%li/%li) failed with %08x\n", start, stack_reserve, stack_commit, status);
-+ goto error;
-+ }
-
- pthread_attr_init( &attr );
- pthread_attr_setstack( &attr, teb->DeallocationStack,
- (char *)teb->Tib.StackBase - (char *)teb->DeallocationStack );
- pthread_attr_setscope( &attr, PTHREAD_SCOPE_SYSTEM ); /* force creating a kernel thread */
- interlocked_xchg_add( &nb_threads, 1 );
-- if (pthread_create( &pthread_id, &attr, (void * (*)(void *))start_thread, info ))
-+
-+ take_thread_lock();
-+ ret = __glob_pthread_create( &thread_data->pthread_id, &attr, (void * (*)(void *))start_thread, info );
-+ if (ret)
- {
-+ TRACE("pthread create failed with %i/%m\n", ret);
- interlocked_xchg_add( &nb_threads, -1 );
- pthread_attr_destroy( &attr );
- status = STATUS_NO_MEMORY;
- goto error;
- }
-+ if (!thread_data->detached)
-+ list_add_tail(&active_list, &thread_data->entry);
-+ detach_thread_unlock(NULL);
-+
- pthread_attr_destroy( &attr );
- pthread_sigmask( SIG_SETMASK, &sigset, NULL );
-
-+ TRACE("Created thread succesfully, win handle: %04x, pthread: %lx\n", tid, thread_data->pthread_id);
-+
-+#ifdef __linux__
-+ if ((void*)start == (void*)&native_unix_start && id)
-+ *(pthread_t*)id = thread_data->pthread_id;
-+ else
-+#endif
- if (id) id->UniqueThread = ULongToHandle(tid);
- if (handle_ptr) *handle_ptr = handle;
- else NtClose( handle );
-diff --git a/dlls/winegstreamer/glibthread.c b/dlls/winegstreamer/glibthread.c
-index 0d829a0..46e22f4 100644
---- a/dlls/winegstreamer/glibthread.c
-+++ b/dlls/winegstreamer/glibthread.c
-@@ -43,6 +43,7 @@
- #include <stdlib.h>
- #include <stdio.h>
-
-+#if 0
- #include "windef.h"
- #include "winbase.h"
- #include "winnls.h"
-@@ -388,3 +389,15 @@ void g_thread_impl_init (void)
- g_thread_self_tls = TlsAlloc ();
- g_thread_init(&g_thread_functions_for_glib_use_default);
- }
-+
-+#else
-+
-+void g_thread_impl_init (void)
-+{
-+ static gboolean beenhere = FALSE;
-+
-+ if (!beenhere++)
-+ g_thread_init(NULL);
-+}
-+
-+#endif
-diff --git a/libs/wine/loader.c b/libs/wine/loader.c
-index 7261522..a8c31b9 100644
---- a/libs/wine/loader.c
-+++ b/libs/wine/loader.c
-@@ -73,6 +73,13 @@ char **__wine_main_argv = NULL;
- WCHAR **__wine_main_wargv = NULL;
- char **__wine_main_environ = NULL;
-
-+#ifdef __linux__
-+#include <pthread.h>
-+typeof(pthread_create) *call_pthread_create, *__glob_pthread_create;
-+typeof(pthread_join) *call_pthread_join, *__glob_pthread_join;
-+typeof(pthread_detach) *call_pthread_detach, *__glob_pthread_detach;
-+#endif
-+
- struct dll_path_context
- {
- unsigned int index; /* current index in the dll path list */
-diff --git a/libs/wine/wine.map b/libs/wine/wine.map
-index 2159fac..fb3b951 100644
---- a/libs/wine/wine.map
-+++ b/libs/wine/wine.map
-@@ -117,6 +117,12 @@ WINE_1.0
- wine_utf8_mbstowcs;
- wine_utf8_wcstombs;
- wine_wctype_table;
-+ __glob_pthread_create;
-+ call_pthread_create;
-+ __glob_pthread_join;
-+ call_pthread_join;
-+ __glob_pthread_detach;
-+ call_pthread_detach;
-
- local: *;
- };
-diff --git a/loader/Makefile.in b/loader/Makefile.in
-index 95e4798..a18dd02 100644
---- a/loader/Makefile.in
-+++ b/loader/Makefile.in
-@@ -1,4 +1,4 @@
--EXTRALIBS = $(PTHREAD_LIBS)
-+EXTRALIBS = $(PTHREAD_LIBS) $(DL_LIBS)
-
- C_SRCS = \
- main.c \
-diff --git a/loader/main.c b/loader/main.c
-index ac67290..76609e1 100644
---- a/loader/main.c
-+++ b/loader/main.c
-@@ -202,6 +202,45 @@ static int pre_exec(void)
-
- #endif
-
-+#ifdef __linux__
-+
-+extern typeof(pthread_create) *call_pthread_create, *__glob_pthread_create;
-+extern typeof(pthread_detach) *call_pthread_detach, *__glob_pthread_detach;
-+extern typeof(pthread_join) *call_pthread_join, *__glob_pthread_join;
-+
-+int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
-+ void *(*start_routine) (void *), void *arg)
-+{
-+ return call_pthread_create(thread, attr, start_routine, arg);
-+}
-+
-+int pthread_detach(pthread_t thread)
-+{
-+ return call_pthread_detach(thread);
-+}
-+
-+int pthread_join(pthread_t thread, void **retval)
-+{
-+ return call_pthread_join(thread, retval);
-+}
-+
-+static void init_thread_hook(void) {
-+ call_pthread_create = __glob_pthread_create = dlvsym(RTLD_NEXT, "pthread_create", "GLIBC_2.2.5");
-+ if (!__glob_pthread_create)
-+ call_pthread_create = __glob_pthread_create = dlvsym(RTLD_NEXT, "pthread_create", "GLIBC_2.1");
-+
-+ call_pthread_detach = __glob_pthread_detach = dlsym(RTLD_NEXT, "pthread_detach");
-+ call_pthread_join = __glob_pthread_join = dlsym(RTLD_NEXT, "pthread_join");
-+
-+ /* Call a function from libpthread to ensure being linked against it */
-+ pthread_yield();
-+}
-+
-+#else
-+
-+#define init_thread_hook()
-+
-+#endif
-
- /**********************************************************************
- * main
-@@ -211,6 +250,8 @@ int main( int argc, char *argv[] )
- char error[1024];
- int i;
-
-+ init_thread_hook();
-+
- if (!getenv( "WINELOADERNOEXEC" )) /* first time around */
- {
- static char noexec[] = "WINELOADERNOEXEC=1";
---
-1.7.6.6.GIT
-
diff --git a/app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-post.patch b/app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-post.patch
new file mode 100644
index 000000000000..3e597baba24c
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-post.patch
@@ -0,0 +1,50 @@
+From 0f579172142d290dc48b9d466f9cd699987aacf3 Mon Sep 17 00:00:00 2001
+From: Sebastian Lackner <sebastian@fds-team.de>
+Date: Wed, 25 Feb 2015 22:45:42 +0100
+Subject: [PATCH] ntdll: Fix race-condition when threads are killed during
+ shutdown.
+
+When exit_thread is executed, nb_threads is decremented before the thread is
+fully shutdown. When another thread runs ExitProcess() this will cause a SIGQUIT
+signal to all threads, effectively decrementing nb_threads twice. The process
+will terminate with a wrong exitcode then because the refcount reaches zero too
+early.
+
+Currently Wine has no locking protection of LdrShutdownProcess(), so it can
+only be executed safely when all other threads have terminated before. Most
+likely there are more Wine bugs in this area, but the attached patch should
+fix the most critical one (messed up refcounting of threads) for now.
+
+[Alexandre Rostovtsev <tetromino@gentoo.org> : rebase to be applied after
+ Maarten Lankhorst's "override pthreads to fix gstreamer v5" patch.]
+---
+ dlls/ntdll/thread.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
+index 936cabe..98e679e 100755
+--- a/dlls/ntdll/thread.c
++++ b/dlls/ntdll/thread.c
+@@ -459,6 +459,7 @@ static void exit_thread_common( int status )
+ {
+ #ifndef __linux__
+ static void *prev_teb;
++ sigset_t sigset;
+ TEB *teb;
+ #endif
+
+@@ -495,6 +496,11 @@ static void exit_thread_common( int status )
+ signal_free_thread( teb );
+ }
+ }
++
++ sigemptyset( &sigset );
++ sigaddset( &sigset, SIGQUIT );
++ pthread_sigmask( SIG_BLOCK, &sigset, NULL );
++ if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
+ #else
+ reap_thread(NtCurrentTeb());
+ #endif
+--
+2.3.1
+
diff --git a/app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-pre.patch b/app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-pre.patch
new file mode 100644
index 000000000000..eee42ff900f8
--- /dev/null
+++ b/app-emulation/wine/files/wine-1.7.38-gstreamer-v5-staging-pre.patch
@@ -0,0 +1,48 @@
+From 0d92921d264d5d0d1041c66353f022f1bc88577f Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sun, 8 Mar 2015 00:10:31 -0500
+Subject: [PATCH] Revert "ntdll: Fix race-condition when threads are killed
+ during shutdown."
+
+This reverts Sebastian Lackner's Wine-Staging patch to allow Maarten
+Lankhorst's "override pthreads to fix gstreamer v5" to apply
+---
+ dlls/ntdll/thread.c | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
+index 74e64c9..3696c8e 100644
+--- a/dlls/ntdll/thread.c
++++ b/dlls/ntdll/thread.c
+@@ -370,7 +370,6 @@ void terminate_thread( int status )
+ void exit_thread( int status )
+ {
+ static void *prev_teb;
+- sigset_t sigset;
+ TEB *teb;
+
+ if (status) /* send the exit code to the server (0 is already the default) */
+@@ -384,7 +383,7 @@ void exit_thread( int status )
+ SERVER_END_REQ;
+ }
+
+- if (interlocked_xchg_add( &nb_threads, 0 ) <= 1)
++ if (interlocked_xchg_add( &nb_threads, -1 ) <= 1)
+ {
+ LdrShutdownProcess();
+ exit( status );
+@@ -406,11 +405,6 @@ void exit_thread( int status )
+ }
+ }
+
+- sigemptyset( &sigset );
+- sigaddset( &sigset, SIGQUIT );
+- pthread_sigmask( SIG_BLOCK, &sigset, NULL );
+- if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
+-
+ close( ntdll_get_thread_data()->wait_fd[0] );
+ close( ntdll_get_thread_data()->wait_fd[1] );
+ close( ntdll_get_thread_data()->reply_fd );
+--
+2.3.1
+
diff --git a/app-emulation/wine/metadata.xml b/app-emulation/wine/metadata.xml
index 2c9b917d9e74..34b2fcd2361d 100644
--- a/app-emulation/wine/metadata.xml
+++ b/app-emulation/wine/metadata.xml
@@ -2,6 +2,12 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>wine</herd>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>np.hardass@gmail.com</email>
+ <name>NP-Hardass</name>
+ <description>Proxied co-maintainer</description>
+</maintainer>
<longdescription>
Wine is an Open Source implementation of the Windows API on top of X and Unix.
@@ -18,14 +24,15 @@ Think of Wine as a compatibility layer for running Windows programs. Wine does n
<flag name='osmesa'>Add support for OpenGL in bitmaps using libOSMesa</flag>
<flag name='pcap'>Support packet capture software (e.g. wireshark)</flag>
<flag name='perl'>Install helpers written in perl (winedump/winemaker)</flag>
- <flag name='pipelight'>Apply unofficial Compholio patches for Pipelight/Silverlight support;
- use at your own peril</flag>
+ <flag name='pipelight'>Apply unofficial Wine-Staging patches for Pipelight/Silverlight support</flag>
<flag name='prelink'>Run prelink on DLLs during build -- do not disable if you do not know what this means as it can break things at runtime</flag>
<flag name='realtime'>Pull in <pkg>sys-auth/rtkit</pkg> for low-latency pulseaudio support</flag>
<flag name='run-exes'>Use Wine to open and run .EXE and .MSI files</flag>
+ <flag name='s3tc'>Pull in <pkg>media-libs/libtxc_dxtn</pkg> for DXTn texture compression, needed for many games</flag>
<flag name='samba'>Add support for NTLM auth. see
http://wiki.winehq.org/NtlmAuthSetupGuide and
http://wiki.winehq.org/NtlmSigningAndSealing</flag>
+ <flag name='staging'>Apply unofficial Wine-Staging patches for advanced feature support that haven't made it into upstream Wine yet</flag>
<flag name='win32'>Build a 32bit version of Wine (won't run Win64 binaries)</flag>
<flag name='win64'>Build a 64bit version of Wine (won't run Win32 binaries)</flag>
</use>
diff --git a/app-emulation/wine/wine-1.7.28.ebuild b/app-emulation/wine/wine-1.7.28.ebuild
index 37ec58490f6d..75bcf3d87a1a 100644
--- a/app-emulation/wine/wine-1.7.28.ebuild
+++ b/app-emulation/wine/wine-1.7.28.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.28.ebuild,v 1.2 2015/01/01 21:01:23 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.28.ebuild,v 1.3 2015/03/08 07:00:24 tetromino Exp $
EAPI="5"
@@ -26,6 +26,7 @@ GV="2.24"
MV="4.5.2"
COMPHOLIO_P="wine-compholio-${PV}"
WINE_GENTOO="wine-gentoo-2013.06.24"
+GST_P="wine-1.7.28-gstreamer-v4"
DESCRIPTION="Free implementation of Windows(tm) on Unix"
HOMEPAGE="http://www.winehq.org/"
SRC_URI="${SRC_URI}
@@ -36,6 +37,7 @@ SRC_URI="${SRC_URI}
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
pipelight? ( https://github.com/compholio/wine-compholio-daily/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
pulseaudio? ( https://github.com/compholio/wine-compholio-daily/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
+ gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
LICENSE="LGPL-2.1"
@@ -295,6 +297,7 @@ src_unpack() {
use pipelight || use pulseaudio && unpack "${COMPHOLIO_P}.tar.gz"
unpack "${WINE_GENTOO}.tar.bz2"
+ use gstreamer && unpack "${GST_P}.patch.bz2"
l10n_find_plocales_changes "${S}/po" "" ".po"
}
@@ -316,7 +319,7 @@ src_prepare() {
ewarn "Applying experimental patch to fix GStreamer support. Note that"
ewarn "this patch has been reported to cause crashes in certain games."
- PATCHES+=( "${FILESDIR}/${PN}-1.7.28-gstreamer-v4.patch" )
+ PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
fi
if use pipelight; then
ewarn "Applying the unofficial Compholio patchset for Pipelight support,"
diff --git a/app-emulation/wine/wine-1.7.29.ebuild b/app-emulation/wine/wine-1.7.29.ebuild
index 021ef9048c67..6594da7ef5bd 100644
--- a/app-emulation/wine/wine-1.7.29.ebuild
+++ b/app-emulation/wine/wine-1.7.29.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.29.ebuild,v 1.2 2015/01/01 21:01:23 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.29.ebuild,v 1.3 2015/03/08 07:00:24 tetromino Exp $
EAPI="5"
@@ -26,6 +26,7 @@ GV="2.24"
MV="4.5.2"
COMPHOLIO_P="wine-staging-${PV}"
WINE_GENTOO="wine-gentoo-2013.06.24"
+GST_P="wine-1.7.28-gstreamer-v4"
DESCRIPTION="Free implementation of Windows(tm) on Unix"
HOMEPAGE="http://www.winehq.org/"
SRC_URI="${SRC_URI}
@@ -36,6 +37,7 @@ SRC_URI="${SRC_URI}
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
pipelight? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
+ gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
LICENSE="LGPL-2.1"
@@ -294,6 +296,7 @@ src_unpack() {
use pipelight || use pulseaudio && unpack "${COMPHOLIO_P}.tar.gz"
unpack "${WINE_GENTOO}.tar.bz2"
+ use gstreamer && unpack "${GST_P}.patch.bz2"
l10n_find_plocales_changes "${S}/po" "" ".po"
}
@@ -315,7 +318,7 @@ src_prepare() {
ewarn "Applying experimental patch to fix GStreamer support. Note that"
ewarn "this patch has been reported to cause crashes in certain games."
- PATCHES+=( "${FILESDIR}/${PN}-1.7.28-gstreamer-v4.patch" )
+ PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
fi
if use pipelight; then
ewarn "Applying the unofficial Compholio patchset for Pipelight support,"
diff --git a/app-emulation/wine/wine-1.7.33.ebuild b/app-emulation/wine/wine-1.7.33.ebuild
index dfa6477a7a79..6dda5b5031eb 100644
--- a/app-emulation/wine/wine-1.7.33.ebuild
+++ b/app-emulation/wine/wine-1.7.33.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.33.ebuild,v 1.1 2015/01/01 21:01:23 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.33.ebuild,v 1.2 2015/03/08 07:00:24 tetromino Exp $
EAPI="5"
@@ -26,6 +26,7 @@ GV="2.34"
MV="4.5.4"
COMPHOLIO_P="wine-staging-${PV}"
WINE_GENTOO="wine-gentoo-2013.06.24"
+GST_P="wine-1.7.28-gstreamer-v4"
DESCRIPTION="Free implementation of Windows(tm) on Unix"
HOMEPAGE="http://www.winehq.org/"
SRC_URI="${SRC_URI}
@@ -36,6 +37,7 @@ SRC_URI="${SRC_URI}
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
pipelight? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${COMPHOLIO_P}.tar.gz )
+ gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
LICENSE="LGPL-2.1"
@@ -296,6 +298,7 @@ src_unpack() {
use pipelight || use pulseaudio && unpack "${COMPHOLIO_P}.tar.gz"
unpack "${WINE_GENTOO}.tar.bz2"
+ use gstreamer && unpack "${GST_P}.patch.bz2"
l10n_find_plocales_changes "${S}/po" "" ".po"
}
@@ -317,7 +320,7 @@ src_prepare() {
ewarn "Applying experimental patch to fix GStreamer support. Note that"
ewarn "this patch has been reported to cause crashes in certain games."
- PATCHES+=( "${FILESDIR}/${PN}-1.7.28-gstreamer-v4.patch" )
+ PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
fi
if use pipelight; then
ewarn "Applying the unofficial Compholio patchset for Pipelight support,"
diff --git a/app-emulation/wine/wine-1.7.38.ebuild b/app-emulation/wine/wine-1.7.38.ebuild
new file mode 100644
index 000000000000..78210970cd41
--- /dev/null
+++ b/app-emulation/wine/wine-1.7.38.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.38.ebuild,v 1.1 2015/03/08 07:00:24 tetromino Exp $
+
+EAPI="5"
+
+AUTOTOOLS_AUTORECONF=1
+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"
+PLOCALE_BACKUP="en"
+
+inherit autotools-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+ SRC_URI=""
+ #KEYWORDS=""
+else
+ MY_P="${PN}-${PV/_/-}"
+ SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
+ KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
+ S=${WORKDIR}/${MY_P}
+fi
+
+GV="2.36"
+MV="4.5.6"
+STAGING_P="wine-staging-${PV}"
+STAGING_DIR="${WORKDIR}/${STAGING_P}"
+WINE_GENTOO="wine-gentoo-2015.03.07"
+GST_P="wine-1.7.34-gstreamer-v5"
+DESCRIPTION="Free implementation of Windows(tm) on Unix"
+HOMEPAGE="http://www.winehq.org/"
+SRC_URI="${SRC_URI}
+ gecko? (
+ abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
+ abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
+ )
+ mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
+ gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
+ http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
+
+if [[ ${PV} == "9999" ]] ; then
+ STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
+else
+ SRC_URI="${SRC_URI}
+ staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
+ pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png +prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
+ test? ( abi_x86_32 )
+ elibc_glibc? ( threads )
+ mono? ( abi_x86_32 )
+ pipelight? ( staging )
+ s3tc? ( staging )
+ vaapi? ( staging )
+ osmesa? ( opengl )" #286560
+
+# FIXME: the test suite is unsuitable for us; many tests require net access
+# or fail due to Xvfb's opengl limitations.
+RESTRICT="test"
+
+NATIVE_DEPEND="
+ truetype? ( >=media-libs/freetype-2.0.0 )
+ capi? ( net-dialup/capi4k-utils )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ udisks? ( sys-apps/dbus )
+ fontconfig? ( media-libs/fontconfig:= )
+ gphoto2? ( media-libs/libgphoto2:= )
+ openal? ( media-libs/openal:= )
+ gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXrandr
+ x11-libs/libXi
+ x11-libs/libXxf86vm
+ )
+ xinerama? ( x11-libs/libXinerama )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups:= )
+ opencl? ( virtual/opencl )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ gsm? ( media-sound/gsm:= )
+ jpeg? ( virtual/jpeg:0= )
+ ldap? ( net-nds/openldap:= )
+ lcms? ( media-libs/lcms:2= )
+ mp3? ( >=media-sound/mpg123-1.5.0 )
+ netapi? ( net-fs/samba[netapi(+)] )
+ nls? ( sys-devel/gettext )
+ odbc? ( dev-db/unixODBC:= )
+ osmesa? ( media-libs/mesa[osmesa] )
+ pcap? ( net-libs/libpcap )
+ staging? ( sys-apps/attr )
+ pulseaudio? ( media-sound/pulseaudio )
+ xml? ( dev-libs/libxml2 dev-libs/libxslt )
+ scanner? ( media-gfx/sane-backends:= )
+ ssl? ( net-libs/gnutls:= )
+ png? ( media-libs/libpng:0= )
+ v4l? ( media-libs/libv4l )
+ vaapi? ( x11-libs/libva[X] )
+ xcomposite? ( x11-libs/libXcomposite )"
+
+COMMON_DEPEND="
+ !amd64? ( ${NATIVE_DEPEND} )
+ amd64? (
+ abi_x86_64? ( ${NATIVE_DEPEND} )
+ abi_x86_32? (
+ truetype? ( || (
+ >=app-emulation/emul-linux-x86-xlibs-2.1[development,-abi_x86_32(-)]
+ >=media-libs/freetype-2.5.0.1[abi_x86_32(-)]
+ ) )
+ ncurses? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)]
+ ) )
+ udisks? ( || (
+ >=app-emulation/emul-linux-x86-baselibs-20130224[development,-abi_x86_32(-)]
+ >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)]
+ ) )
+ fontconfig? ( || (
+ app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
+ >=media-libs/fontconfig-2.10.92[abi_x86_32(-)]
+ ) )
+ gphoto2? ( || (
+ app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
+ >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)]
+ ) )
+ openal? ( || (
+ app-emulation/emul-linux-x86-sdl[development,-abi_x86_32(-)]
+ >=media-libs/openal-1.15.1[abi_x86_32(-)]
+ ) )
+ gstreamer? ( || (
+ app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
+ (
+ >=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)]
+ >=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)]
+ )
+ ) )
+ X? ( || (
+ app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
+ (
+ >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ >=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
+ >=x11-libs/libXi-1.7.2[abi_x86_32(-)]
+ >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
+ )
+ ) )
+ xinerama? ( || (
+ app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
+ >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)]
+ ) )
+ alsa? ( || (
+ app-emulation/emul-linux-x86-soundlibs[alsa,development,-abi_x86_32(-)]
+ >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)]
+ ) )
+ cups? ( || (
+ app-emulation/emul-linux-x86-baselibs
+ >=net-print/cups-1.7.1-r1[abi_x86_32(-)]
+ ) )
+ opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] )
+ opengl? ( || (
+ app-emulation/emul-linux-x86-opengl[development,-abi_x86_32(-)]
+ (
+ >=virtual/glu-9.0-r1[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ )
+ ) )
+ gsm? ( || (
+ app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)]
+ >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)]
+ ) )
+ jpeg? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=virtual/jpeg-0-r2:0[abi_x86_32(-)]
+ ) )
+ ldap? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)]
+ ) )
+ lcms? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=media-libs/lcms-2.5:2[abi_x86_32(-)]
+ ) )
+ mp3? ( || (
+ app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)]
+ >=media-sound/mpg123-1.15.4[abi_x86_32(-)]
+ ) )
+ netapi? ( >=net-fs/samba-3.6.23-r1[netapi(+),abi_x86_32(-)] )
+ nls? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)]
+ ) )
+ odbc? ( || (
+ app-emulation/emul-linux-x86-db[development,-abi_x86_32(-)]
+ >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)]
+ ) )
+ osmesa? ( || (
+ >=app-emulation/emul-linux-x86-opengl-20121028[development,-abi_x86_32(-)]
+ >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)]
+ ) )
+ pcap? ( net-libs/libpcap[abi_x86_32(-)] )
+ pulseaudio? ( || (
+ app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)]
+ >=media-sound/pulseaudio-5.0[abi_x86_32(-)]
+ ) )
+ staging? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)]
+ ) )
+ xml? ( || (
+ >=app-emulation/emul-linux-x86-baselibs-20131008[development,-abi_x86_32(-)]
+ (
+ >=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)]
+ >=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)]
+ )
+ ) )
+ scanner? ( || (
+ app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
+ >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)]
+ ) )
+ ssl? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)]
+ ) )
+ png? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=media-libs/libpng-1.6.10:0[abi_x86_32(-)]
+ ) )
+ v4l? ( || (
+ app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
+ >=media-libs/libv4l-0.9.5[abi_x86_32(-)]
+ ) )
+ vaapi? ( x11-libs/libva[X,abi_x86_32(-)] )
+ xcomposite? ( || (
+ app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
+ >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)]
+ ) )
+ )
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ dos? ( games-emulation/dosbox )
+ perl? ( dev-lang/perl dev-perl/XML-Simple )
+ s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.0.25 )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+ pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+
+# tools/make_requests requires perl
+DEPEND="${COMMON_DEPEND}
+ amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
+ staging? ( dev-lang/perl dev-perl/XML-Simple )
+ X? (
+ x11-proto/inputproto
+ x11-proto/xextproto
+ x11-proto/xf86vidmodeproto
+ )
+ xinerama? ( x11-proto/xineramaproto )
+ prelink? ( sys-devel/prelink )
+ >=sys-kernel/linux-headers-2.6
+ virtual/pkgconfig
+ virtual/yacc
+ sys-devel/flex"
+
+# These use a non-standard "Wine" category, which is provided by
+# /etc/xdg/applications-merged/wine.menu
+QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
+usr/share/applications/wine-notepad.desktop
+usr/share/applications/wine-uninstaller.desktop
+usr/share/applications/wine-winecfg.desktop"
+
+wine_build_environment_check() {
+ [[ ${MERGE_TYPE} = "binary" ]] && return 0
+
+ if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then
+ eerror "You need gcc-4.4+ to build 64-bit wine"
+ eerror
+ return 1
+ fi
+
+ if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; then
+ eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
+ eerror "See https://bugs.gentoo.org/487864 for more details."
+ eerror
+ return 1
+ fi
+}
+
+pkg_pretend() {
+ wine_build_environment_check || die
+}
+
+pkg_setup() {
+ wine_build_environment_check || die
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ git-r3_src_unpack
+ if use staging || use pulseaudio; then
+ EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
+ unset ${PN}_LIVE_REPO;
+ EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+ fi
+ else
+ unpack ${MY_P}.tar.bz2
+ use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
+ fi
+
+ unpack "${WINE_GENTOO}.tar.bz2"
+ use gstreamer && unpack "${GST_P}.patch.bz2"
+
+ l10n_find_plocales_changes "${S}/po" "" ".po"
+}
+
+src_prepare() {
+ local md5="$(md5sum server/protocol.def)"
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
+ "${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
+ "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
+ "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
+ )
+ if use gstreamer; then
+ # See http://bugs.winehq.org/show_bug.cgi?id=30557
+ ewarn "Applying experimental patch to fix GStreamer support. Note that"
+ ewarn "this patch has been reported to cause crashes in certain games."
+
+ # Wine-Staging 1.7.38 "ntdll: Fix race-condition when threads are killed
+ # during shutdown" patch prevents the gstreamer patch from applying cleanly.
+ # So undo the staging patch, apply gstreamer, then re-apply rebased staging
+ # patch on top.
+ if use staging; then
+ PATCHES+=(
+ "${FILESDIR}/${PN}-1.7.38-gstreamer-v5-staging-pre.patch"
+ "${WORKDIR}/${GST_P}.patch"
+ "${FILESDIR}/${PN}-1.7.38-gstreamer-v5-staging-post.patch" )
+ else
+ PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
+ fi
+ fi
+ if use staging; then
+ ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
+ ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
+ ewarn "unless you can reproduce them with USE=-staging"
+
+ local STAGING_EXCLUDE=""
+ use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
+
+ # Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
+ ebegin "Running Wine-Staging patch installer"
+ (
+ set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
+ cd "${STAGING_DIR}/patches"
+ source "${STAGING_DIR}/patches/patchinstall.sh"
+ )
+ eend $?
+ elif use pulseaudio; then
+ PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
+ fi
+ autotools-utils_src_prepare
+
+ # Modification of the server protocol requires regenerating the server requests
+ if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
+ einfo "server/protocol.def was patched; running tools/make_requests"
+ tools/make_requests || die #432348
+ fi
+ sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
+ if ! use run-exes; then
+ sed -i '/^MimeType/d' tools/wine.desktop || die #117785
+ fi
+
+ # hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
+ cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
+
+ l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
+}
+
+src_configure() {
+ export LDCONFIG=/bin/true
+ use custom-cflags || strip-flags
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --sysconfdir=/etc/wine
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with lcms cms)
+ $(use_with cups)
+ $(use_with ncurses curses)
+ $(use_with udisks dbus)
+ $(use_with fontconfig)
+ $(use_with ssl gnutls)
+ $(use_with gphoto2 gphoto)
+ $(use_with gsm)
+ $(use_with gstreamer)
+ --without-hal
+ $(use_with jpeg)
+ $(use_with ldap)
+ $(use_with mp3 mpg123)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ $(use_with oss)
+ $(use_with pcap)
+ $(use_with png)
+ $(use_with threads pthread)
+ $(use_with scanner sane)
+ $(use_enable test tests)
+ $(use_with truetype freetype)
+ $(use_with v4l)
+ $(use_with X x)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(use_with xml)
+ $(use_with xml xslt)
+ )
+
+ if use pulseaudio || use staging; then
+ myconf+=( $(use_with pulseaudio pulse) )
+ fi
+ use staging && myconf+=(
+ --with-xattr
+ $(use_with vaapi va)
+ )
+
+ local PKG_CONFIG AR RANLIB
+ # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
+ # set AR and RANLIB to make QA scripts happy; #483342
+ tc-export PKG_CONFIG AR RANLIB
+
+ if use amd64; then
+ if [[ ${ABI} == amd64 ]]; then
+ myconf+=( --enable-win64 )
+ else
+ myconf+=( --disable-win64 )
+ fi
+
+ # Note: using --with-wine64 results in problems with multilib.eclass
+ # CC/LD hackery. We're using separate tools instead.
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf "${myconf[@]}"
+ emake depend
+}
+
+multilib_src_test() {
+ # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
+ if [[ ${ABI} == x86 ]]; then
+ if [[ $(id -u) == 0 ]]; then
+ ewarn "Skipping tests since they cannot be run under the root user."
+ ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf"
+ return
+ fi
+
+ WINEPREFIX="${T}/.wine-${ABI}" \
+ Xemake test
+ fi
+}
+
+multilib_src_install_all() {
+ local DOCS=( ANNOUNCE AUTHORS README )
+ local l
+ add_locale_docs() {
+ local locale_doc="documentation/README.$1"
+ [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
+ }
+ l10n_for_each_locale_do add_locale_docs
+
+ einstalldocs
+ prune_libtool_files --all
+
+ emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}"
+ if use gecko ; then
+ insinto /usr/share/wine/gecko
+ use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
+ use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
+ fi
+ if use mono ; then
+ insinto /usr/share/wine/mono
+ doins "${DISTDIR}"/wine-mono-${MV}.msi
+ fi
+ if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
+ rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
+ fi
+
+ use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
+ use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
+
+ if use abi_x86_64 && ! use abi_x86_32; then
+ dosym /usr/bin/wine{64,} # 404331
+ dosym /usr/bin/wine{64,}-preloader
+ fi
+
+ # respect LINGUAS when installing man pages, #469418
+ for l in de fr pl; do
+ use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
+ done
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild
index 3909223f07d9..74ff097449ff 100644
--- a/app-emulation/wine/wine-9999.ebuild
+++ b/app-emulation/wine/wine-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-9999.ebuild,v 1.173 2015/01/01 21:01:23 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-9999.ebuild,v 1.174 2015/03/08 07:00:24 tetromino Exp $
EAPI="5"
@@ -12,7 +12,8 @@ inherit autotools-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
- inherit git-2
+ EGIT_BRANCH="master"
+ inherit git-r3
SRC_URI=""
#KEYWORDS=""
else
@@ -22,12 +23,12 @@ else
S=${WORKDIR}/${MY_P}
fi
-GV="2.24"
-MV="4.5.2"
-PULSE_PATCHES="winepulse-patches-1.7.21"
-COMPHOLIOV="1.7.21"
-COMPHOLIO_PATCHES="wine-compholio-daily-${COMPHOLIOV}"
-WINE_GENTOO="wine-gentoo-2013.06.24"
+GV="2.36"
+MV="4.5.6"
+STAGING_P="wine-staging-${PV}"
+STAGING_DIR="${WORKDIR}/${STAGING_P}"
+WINE_GENTOO="wine-gentoo-2015.03.07"
+GST_P="wine-1.7.34-gstreamer-v5"
DESCRIPTION="Free implementation of Windows(tm) on Unix"
HOMEPAGE="http://www.winehq.org/"
SRC_URI="${SRC_URI}
@@ -36,20 +37,28 @@ SRC_URI="${SRC_URI}
abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
)
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
- pipelight? ( https://github.com/compholio/wine-compholio-daily/archive/v${COMPHOLIOV}.tar.gz -> ${COMPHOLIO_PATCHES}.tar.gz )
- pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 )
+ gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
+if [[ ${PV} == "9999" ]] ; then
+ STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
+else
+ SRC_URI="${SRC_URI}
+ staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
+ pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
+fi
+
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png +prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
test? ( abi_x86_32 )
elibc_glibc? ( threads )
- gstreamer? ( pulseaudio )
mono? ( abi_x86_32 )
+ pipelight? ( staging )
+ s3tc? ( staging )
+ vaapi? ( staging )
osmesa? ( opengl )" #286560
-# winepulse patches needed for gstreamer due to http://bugs.winehq.org/show_bug.cgi?id=30557
# FIXME: the test suite is unsuitable for us; many tests require net access
# or fail due to Xvfb's opengl limitations.
@@ -88,13 +97,15 @@ NATIVE_DEPEND="
nls? ( sys-devel/gettext )
odbc? ( dev-db/unixODBC:= )
osmesa? ( media-libs/mesa[osmesa] )
- pipelight? ( sys-apps/attr )
+ pcap? ( net-libs/libpcap )
+ staging? ( sys-apps/attr )
pulseaudio? ( media-sound/pulseaudio )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
scanner? ( media-gfx/sane-backends:= )
ssl? ( net-libs/gnutls:= )
png? ( media-libs/libpng:0= )
v4l? ( media-libs/libv4l )
+ vaapi? ( x11-libs/libva[X] )
xcomposite? ( x11-libs/libXcomposite )"
COMMON_DEPEND="
@@ -196,14 +207,15 @@ COMMON_DEPEND="
>=app-emulation/emul-linux-x86-opengl-20121028[development,-abi_x86_32(-)]
>=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)]
) )
- pipelight? ( || (
- app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
- >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)]
- ) )
+ pcap? ( net-libs/libpcap[abi_x86_32(-)] )
pulseaudio? ( || (
app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)]
>=media-sound/pulseaudio-5.0[abi_x86_32(-)]
) )
+ staging? ( || (
+ app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)]
+ >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)]
+ ) )
xml? ( || (
>=app-emulation/emul-linux-x86-baselibs-20131008[development,-abi_x86_32(-)]
(
@@ -227,6 +239,7 @@ COMMON_DEPEND="
app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)]
>=media-libs/libv4l-0.9.5[abi_x86_32(-)]
) )
+ vaapi? ( x11-libs/libva[X,abi_x86_32(-)] )
xcomposite? ( || (
app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)]
>=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)]
@@ -237,13 +250,16 @@ COMMON_DEPEND="
RDEPEND="${COMMON_DEPEND}
dos? ( games-emulation/dosbox )
perl? ( dev-lang/perl dev-perl/XML-Simple )
+ s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
samba? ( >=net-fs/samba-3.0.25 )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
+# tools/make_requests requires perl
DEPEND="${COMMON_DEPEND}
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
+ staging? ( dev-lang/perl dev-perl/XML-Simple )
X? (
x11-proto/inputproto
x11-proto/xextproto
@@ -290,61 +306,71 @@ pkg_setup() {
src_unpack() {
if [[ ${PV} == "9999" ]] ; then
- git-2_src_unpack
+ git-r3_src_unpack
+ if use staging || use pulseaudio; then
+ EGIT_REPO_URI=${STAGING_EGIT_REPO_URI}
+ unset ${PN}_LIVE_REPO;
+ EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack
+ fi
else
unpack ${MY_P}.tar.bz2
+ use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
fi
- use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2"
- if use pipelight; then
- unpack "${COMPHOLIO_PATCHES}.tar.gz"
- # we use a separate pulseaudio patchset
- rm -r "${COMPHOLIO_PATCHES}/patches/06-winepulse" || die
- # ... and need special tools for binary patches
- mv "${COMPHOLIO_PATCHES}/patches/10-Missing_Fonts" "${T}" || die
- fi
unpack "${WINE_GENTOO}.tar.bz2"
+ use gstreamer && unpack "${GST_P}.patch.bz2"
l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
local md5="$(md5sum server/protocol.def)"
- local f
local PATCHES=(
"${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726
"${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
"${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386
"${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508
)
- use pulseaudio && PATCHES+=(
- "../${PULSE_PATCHES}"/*.patch #421365
- )
if use gstreamer; then
# See http://bugs.winehq.org/show_bug.cgi?id=30557
ewarn "Applying experimental patch to fix GStreamer support. Note that"
ewarn "this patch has been reported to cause crashes in certain games."
- PATCHES+=( "../${PULSE_PATCHES}"/gstreamer/*.patch )
+ # Wine-Staging 1.7.38 "ntdll: Fix race-condition when threads are killed
+ # during shutdown" patch prevents the gstreamer patch from applying cleanly.
+ # So undo the staging patch, apply gstreamer, then re-apply rebased staging
+ # patch on top.
+ if use staging; then
+ PATCHES+=(
+ "${FILESDIR}/${PN}-1.7.38-gstreamer-v5-staging-pre.patch"
+ "${WORKDIR}/${GST_P}.patch"
+ "${FILESDIR}/${PN}-1.7.38-gstreamer-v5-staging-post.patch" )
+ else
+ PATCHES+=( "${WORKDIR}/${GST_P}.patch" )
+ fi
fi
- if use pipelight; then
- ewarn "Applying the unofficial Compholio patchset for Pipelight support,"
- ewarn "which is unsupported by Wine developers. Please don't report bugs"
- ewarn "to Wine bugzilla unless you can reproduce them with USE=-pipelight"
-
- PATCHES+=(
- "../${COMPHOLIO_PATCHES}/patches"/*/*.patch #507950
- "../${COMPHOLIO_PATCHES}/patches/patch-list.patch"
+ if use staging; then
+ ewarn "Applying the unofficial Wine-Staging patchset which is unsupported"
+ ewarn "by Wine developers. Please don't report bugs to Wine bugzilla"
+ ewarn "unless you can reproduce them with USE=-staging"
+
+ local STAGING_EXCLUDE=""
+ use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
+
+ # Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
+ ebegin "Running Wine-Staging patch installer"
+ (
+ set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
+ cd "${STAGING_DIR}/patches"
+ source "${STAGING_DIR}/patches/patchinstall.sh"
)
- # epatch doesn't support binary patches
- ebegin "Applying Compholio font patches"
- for f in "${T}/10-Missing_Fonts"/*.patch; do
- "../${COMPHOLIO_PATCHES}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches"
- done
- eend
+ eend $?
+ elif use pulseaudio; then
+ PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch )
fi
autotools-utils_src_prepare
+ # Modification of the server protocol requires regenerating the server requests
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
einfo "server/protocol.def was patched; running tools/make_requests"
tools/make_requests || die #432348
@@ -392,6 +418,7 @@ multilib_src_configure() {
$(use_with opengl)
$(use_with osmesa)
$(use_with oss)
+ $(use_with pcap)
$(use_with png)
$(use_with threads pthread)
$(use_with scanner sane)
@@ -405,8 +432,13 @@ multilib_src_configure() {
$(use_with xml xslt)
)
- use pulseaudio && myconf+=( --with-pulse )
- use pipelight && myconf+=( --with-xattr )
+ if use pulseaudio || use staging; then
+ myconf+=( $(use_with pulseaudio pulse) )
+ fi
+ use staging && myconf+=(
+ --with-xattr
+ $(use_with vaapi va)
+ )
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
@@ -465,7 +497,7 @@ multilib_src_install_all() {
insinto /usr/share/wine/mono
doins "${DISTDIR}"/wine-mono-${MV}.msi
fi
- if ! use perl ; then
+ if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
fi