diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest deleted file mode 100644 index 8217cb0..0000000 --- a/app-emulation/wine/Manifest +++ /dev/null @@ -1,21 +0,0 @@ -AUX wine-1.1.15-winegcc.patch 1556 SHA256 dbd89db561d7583faf317d795b8c11231575d885e21c6414add39079604dbd0d SHA512 a6a6dbde16c1f850a5cb4d6b6fe1a8129bb267c44c19de63a4eb26933fd69ff98e440d257e467d766a6a6ac326d72dd621cae37fb593c8c62e43f588ccef3f25 WHIRLPOOL 3aea848b17217ab215f860c3526c44a5d9bd9e7adfe35c02bb5c841461bdaf4bd8ac4f8e8b990c0558980381fc1b2441b79edc3ff6dcde7455203fbd1fc3f49c -AUX wine-1.2.3-msxml3-libxml2-headers.patch 14328 SHA256 0a046e532343f9a4508307434a2f39e0a3a50a66c165b69e56dd671488d4ba7d SHA512 837bde9cfefa12b81197c9fa2978c8b17f760594eb9d6b8fe96ab4baf2f34b5d2330db245c0ee180a9d5aa59657f52b8500fd976bb70b111d0f32d4103f71f94 WHIRLPOOL e74ff9ad63b95878337d4eac342e9abbc60c73af2f4017cdd87671c472c49bee953759b9786d5b245669352dc23ac338178b415d2c4f01516c385fee66a167b5 -AUX wine-1.4_rc2-multilib-portage.patch 1256 SHA256 9d0acd304d11d1bf73f56699754aaa1bfe1facba90648ee330fdbe08d9ff4938 SHA512 ac0b29e2b4c9b04bb6694a4e4da654446f68efbf90cda6809b45dad51e6679ac5410398763fde7e9505ef959493a037aa588cee58d14906563a4746702d2b0e9 WHIRLPOOL 8ea26266c327bc8313eca9b5d39c9741b226037750ca2d1d33262420093e05c306e7f004656c362c3c50b330d050cf9e5fceaa2b024a82809aae8b3617b0ae18 -AUX wine-1.5.11-osmesa-check.patch 1888 SHA256 8aa70a10a215d5a10e70a404701cf70c0efc674ca6e2f093bbd243f70153e3bb SHA512 5c53e19efa4e080e4bc46c955d2f53beaaa55726e3ee528a5d41374452d6a75817f2145df4a2b05e0d168ed78fe81da35bab1322d6fcc736bf59ba6282e7ff9b WHIRLPOOL d35b52ddcace0fcb043894f00b14a90ecef8af87ff16d2ff091e64b34d8629a5d49ff59cae355c0457b7b9213f1ec66ae53747cb096b23c4f0a2ec8b7c8c8431 -AUX wine-1.5.17-osmesa-check.patch 1774 SHA256 dc7dde67c416bb067e528b85228cff01833a2a20c802248ef56d74184014e50e SHA512 12325e75db5e63e1d4c4e2463c3e164b1eba0d3d88455cfcd698a8bb790d7c0b3c947a06e7a09e232b1a14202e64ea2dc9331cbc4b503833f78a7c1034410c79 WHIRLPOOL 2d9bb86a5d683301c75ea275302f67616a8e9c6ebfc436b05f8f1b3d5d815c310999ca9518747abcf4d248bd18f34388dcb323c526d633c50e66ffb4bf94e5d6 -AUX wine-1.5.23-winebuild-CCAS.patch 6101 SHA256 34143c55618870dd31eea1e260ae973572d99557a20f24a4f217bb0ff1d615eb SHA512 f44580efcf4a406517a2fc65d7509a42b0b0b180a4c63f5980c894e708934d60155d87634e406763426415d00c1ea2f8f3894ac4797a2e2527ca0d9ed23430af WHIRLPOOL d62fb5c27fba3b8297ae2151a432f80d9655c0c2ccee9dee12beea84a2186c0e7965a6902d6bc5638cdb1c853c188a49b790825c8741a9dc4bb1516ff6ca9a53 -AUX wine-1.5.26-winegcc.patch 1808 SHA256 91c1012059b93a421b2eae9f2ea46b7b327d6d3d58ba0cb47021c8a57f6d8228 SHA512 fce9daf40a96f4a7502c249a30107c8dfc5d8edd4a171b863d2bf14c3ad46d18e4c29932ab4a6ede7da5d589d777b962d2f577f5360ee4db8019d71362c51d47 WHIRLPOOL 71cbe36c6bac87071472541b7f5cd3ed1b08f05479bc0016262b3f86e75738e467dad197563b4898f2b24fd0ab4e27c40dce04f244a3e7f5ea1582b4db1c5cc2 -AUX wine-1.5.30-libwine.patch 1777 SHA256 2f0155c2c1d11fd9a06deab54dd753c1161e32217eae82604f8c1d542e87af4f SHA512 e6d566f75632065def197cf27b5705a3f2f736a7b3bb4ae03df19fea00fd980a5b5d0517981469fef0fa5347c1c3b9651894fb23d937b5dbbd993cd292f67183 WHIRLPOOL 62ed15db6bddda47dcf74d846e15a9904c11abdf63e0321e7e2bc3197f60c819992b3a95a4395f85edeef9181a1866749194b9744be8d42bd94acab37470aad6 -AUX wine-1.5.31-gnutls-3.2.0.patch 1616 SHA256 3ce82009b05fe997b0d198ad83533026d6410811ecfc6254c1505d0b9d18caf0 SHA512 09de6ff03da996197cd6833c1f53e9f39b43fc43e02ad3b4e12648a57288c1fa200886a805e6811372e12665f9a5d463603f9a9ba39cb1392b2cf4d11f3f9a65 WHIRLPOOL 590a9206913a51eae81e236057bbed346dae8f895575dcc948ba7168edf5c0605db6278344fad727c2a828a2aeef258f72a57a12b5dca244a3b7b82cfe43452a -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.9-hcce.patch 4699 SHA256 93d5dd444f3cd445156d21dad8653ad67d195cd8c373335d43b122e68e76e673 SHA512 084fd9af46acdb035e3ec4bcdeb04cb21a09c4288777905136f8bfe74ee14833a3cee241be891ceca9c70e0a506d936d92d12422c54d1a2e211c0dbe128f98bc WHIRLPOOL ccc3fa16bf5ef0f7e1b227d0c35b4dae986a30b2a99ae2fbccff1416feac6bd6ade389d900882daa86a16e1209e977b212f33e227a5beb355d9cde2a6df1badb -DIST wine-1.7.30.tar.bz2 21835863 SHA256 10f7caf0420970772d868ab2ae24578f89b8a04b93604473e7c41bb295e0086c SHA512 d9b20fa58b353e60ebee930c969da10618e2aca8aba530f1d31ee315e1e3e5d4c495998e59cccbfeb6452811a5c8e360c76b9ec2ae0e16a987a197a559d1f954 WHIRLPOOL 2d5a0c00d356f0960c89e162080e7b67a63ee40439b7b2e8b3774b85ecef9406ffce7cbf9b9941856c9f97f542fa34a5610607307623b07b677991710c7d92e4 -DIST wine-gentoo-2013.06.24.tar.bz2 85442 SHA256 bfbf6b25e98f717320de2ede467e3628fbc749d936b8449f8477c9dc6f41e04b SHA512 b6819889314f6a6ea16c1332f4b177c43623116763969c31b23b61754cd304dd085f5d3eafbe847159331eb97dddd9b4c10699430129ea4a71da418c1fe175f0 WHIRLPOOL 227e0ac6569736d4ad5813cef49f775dae956f4fc9255de95753d5d3cba1bf6cf3db31d23d3702bb54d2e60c5a6f779b602f0efb2096e4c827c924565b273d00 -DIST wine-mono-4.5.2.msi 52502528 SHA256 d9124edb41ba4418af10eba519dafb25ab4338c567d25ce0eb4ce1e1b4d7eaad SHA512 73c907f63b73836d5afd0753197358aaea43a74a47800f929ef0627112298256f1fa46d1b9ff297b117468d953cdeab21fb5962db13c5debbcb71004462df609 WHIRLPOOL 18d3544c6753c5a01917bfc1b694f31ce45213108527f13317ec0bb8b2d2339ce41800534967e067cd15cd186ef9e186a5d3252275e443dfa1a6ae3641d4d17c -DIST wine-staging-1.7.30.tar.gz 8439935 SHA256 42d761cde615c5d70656078a7c2b23cf1e57f7ba174b3e6c9da6de876bc268d2 SHA512 b0dc44e6ca75f0578a7a76682b3a4acd369a18ed57d0b3bfa95c4416ed31e2630bbdf9f83e98db8b39e2f5b5fc745259af57fcc09de51b37e5e4184cbd71fd0c WHIRLPOOL f4fe5253b5c2579e342f863a0e07df872a2876a67413fa07ab61f66d32b04537e57c952e7017905fd5febad7797173aaf38132b3c067ef5068b87e74acf1ca64 -DIST wine_gecko-2.24-x86.msi 22373888 SHA256 6e38acae87ea66e2c1e8f2f0afe88f89eed3e6e0b431cd3da38dea814b71202c SHA512 f158d28ca09bc900a2680892e7ac10770e06050a9251e1ec3a953fee0bf9b1c326e166f92fb88a4648297b6587c91a5ef5af35f267bb2ba5f679da4c8fdb6898 WHIRLPOOL bbe7a2572d89dc5e0347ba11b2014bac79fc4427d7551655313a46b147a79c1607b7f46596877c459ddaa0e202337fb3d217429ddd6a4df49ee33b373a788487 -DIST wine_gecko-2.24-x86_64.msi 23608320 SHA256 47557da68bcb2aedaebb93af73275aac96ba23e896bd98f25f2acbfd216d9cc8 SHA512 45ce0dcf42c3e2fe2198092812242e3467b19db4a4946e0b1a2d6327fd48aa936fb85cc1930bace6eaba0c61bff3a6536767ba0a91a0f085f307d1bddd171f0c WHIRLPOOL b6ba7c784d3a79d7afc11f0e12f0372b52b9f194eedfd083abed36a461e7301d2dd936be3be12619364f6ac5aae9cfbfb7fc47141bff92b62826f209365210ec -EBUILD wine-1.7.30.ebuild 15473 SHA256 a65a860f35b89492d535d52fa1951d91034bf0e71ec4bbf740afc98bcf907242 SHA512 cad207131d2631a9236954122655803543a3f44aca3a84aff6a6866ad900417078ac495ba1baff4baaa0b22d704a4007f1003de3753bd863cb613424302daf54 WHIRLPOOL fbdd9275d06cccab7cbb39ce81719346fa679563e715466517c9e231903b7061d3cb53c98925cad74b5d4d19bad39c36c531056d6ed002fe867a4bd863e57453 diff --git a/app-emulation/wine/files/wine-1.1.15-winegcc.patch b/app-emulation/wine/files/wine-1.1.15-winegcc.patch deleted file mode 100644 index a1cd890..0000000 --- a/app-emulation/wine/files/wine-1.1.15-winegcc.patch +++ /dev/null @@ -1,55 +0,0 @@ -http://bugs.gentoo.org/260726 - ---- wine-1.1.15/tools/winegcc/winegcc.c -+++ wine-1.1.15/tools/winegcc/winegcc.c -@@ -215,10 +215,13 @@ - strarray* files; - }; - -+#undef FORCE_POINTER_SIZE - #ifdef __i386__ - static const enum target_cpu build_cpu = CPU_x86; -+#define FORCE_POINTER_SIZE - #elif defined(__x86_64__) - static const enum target_cpu build_cpu = CPU_x86_64; -+#define FORCE_POINTER_SIZE - #elif defined(__sparc__) - static const enum target_cpu build_cpu = CPU_SPARC; - #elif defined(__ALPHA__) -@@ -968,6 +971,9 @@ - opts.linker_args = strarray_alloc(); - opts.compiler_args = strarray_alloc(); - opts.winebuild_args = strarray_alloc(); -+#ifdef FORCE_POINTER_SIZE -+ opts.force_pointer_size = sizeof(size_t); -+#endif - - /* determine the processor type */ - if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp; ---- wine-1.1.15/tools/winebuild/main.c -+++ wine-1.1.15/tools/winebuild/main.c -@@ -50,10 +50,13 @@ - int link_ext_symbols = 0; - int force_pointer_size = 0; - -+#undef FORCE_POINTER_SIZE - #ifdef __i386__ - enum target_cpu target_cpu = CPU_x86; -+#define FORCE_POINTER_SIZE - #elif defined(__x86_64__) - enum target_cpu target_cpu = CPU_x86_64; -+#define FORCE_POINTER_SIZE - #elif defined(__sparc__) - enum target_cpu target_cpu = CPU_SPARC; - #elif defined(__ALPHA__) -@@ -574,6 +577,10 @@ - signal( SIGTERM, exit_on_signal ); - signal( SIGINT, exit_on_signal ); - -+#ifdef FORCE_POINTER_SIZE -+ force_pointer_size = sizeof(size_t); -+#endif -+ - output_file = stdout; - argv = parse_options( argc, argv, spec ); - diff --git a/app-emulation/wine/files/wine-1.2.3-msxml3-libxml2-headers.patch b/app-emulation/wine/files/wine-1.2.3-msxml3-libxml2-headers.patch deleted file mode 100644 index c1a80d3..0000000 --- a/app-emulation/wine/files/wine-1.2.3-msxml3-libxml2-headers.patch +++ /dev/null @@ -1,574 +0,0 @@ -From 26603f25f73142a45b5b964bb9bb2e59bc0908d4 Mon Sep 17 00:00:00 2001 -From: Alexandre Julliard -Date: Thu, 24 Feb 2011 13:11:53 +0100 -Subject: [PATCH] msxml3: Include the system libxml headers before the Windows - headers. - -[Alexandre Rostovtsev : backport to wine-1.2.3] ---- - dlls/msxml3/attribute.c | 6 ++++++ - dlls/msxml3/bsc.c | 6 ++++++ - dlls/msxml3/cdata.c | 5 +++++ - dlls/msxml3/comment.c | 5 +++++ - dlls/msxml3/dispex.c | 5 +++++ - dlls/msxml3/docfrag.c | 5 +++++ - dlls/msxml3/domdoc.c | 11 +++++++++-- - dlls/msxml3/domimpl.c | 5 +++++ - dlls/msxml3/element.c | 5 +++++ - dlls/msxml3/entityref.c | 5 +++++ - dlls/msxml3/factory.c | 5 +++++ - dlls/msxml3/httprequest.c | 6 ++++++ - dlls/msxml3/main.c | 15 +++++++++++++++ - dlls/msxml3/msxml_private.h | 23 ----------------------- - dlls/msxml3/node.c | 31 +++++++++++++++++++++++++++---- - dlls/msxml3/nodelist.c | 5 +++++ - dlls/msxml3/nodemap.c | 5 +++++ - dlls/msxml3/parseerror.c | 5 +++++ - dlls/msxml3/pi.c | 5 +++++ - dlls/msxml3/queryresult.c | 9 +++++++-- - dlls/msxml3/regsvr.c | 4 ++++ - dlls/msxml3/saxreader.c | 10 +++++++--- - dlls/msxml3/schema.c | 12 ++++++++++++ - dlls/msxml3/text.c | 5 +++++ - dlls/msxml3/xmldoc.c | 5 +++++ - dlls/msxml3/xmlelem.c | 5 +++++ - 26 files changed, 174 insertions(+), 34 deletions(-) - -diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c -index d78fa47..3df93d6 100644 ---- a/dlls/msxml3/attribute.c -+++ b/dlls/msxml3/attribute.c -@@ -23,6 +23,12 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/bsc.c b/dlls/msxml3/bsc.c -index b24e04c..01a09a5 100644 ---- a/dlls/msxml3/bsc.c -+++ b/dlls/msxml3/bsc.c -@@ -23,6 +23,12 @@ - - #include - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c -index 3fba66c..caf8cd8 100644 ---- a/dlls/msxml3/cdata.c -+++ b/dlls/msxml3/cdata.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c -index e74de07..1cabfa3 100644 ---- a/dlls/msxml3/comment.c -+++ b/dlls/msxml3/comment.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/dispex.c b/dlls/msxml3/dispex.c -index 09b71fe..6b01b15 100644 ---- a/dlls/msxml3/dispex.c -+++ b/dlls/msxml3/dispex.c -@@ -22,6 +22,11 @@ - - #include - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c -index fff3f62..bebd252 100644 ---- a/dlls/msxml3/docfrag.c -+++ b/dlls/msxml3/docfrag.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c -index 0007503..e6a61e4 100644 ---- a/dlls/msxml3/domdoc.c -+++ b/dlls/msxml3/domdoc.c -@@ -25,6 +25,15 @@ - - #include - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+# include -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -@@ -47,8 +56,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml); - - #ifdef HAVE_LIBXML2 - --#include -- - /* not defined in older versions */ - #define XML_SAVE_FORMAT 1 - #define XML_SAVE_NO_DECL 2 -diff --git a/dlls/msxml3/domimpl.c b/dlls/msxml3/domimpl.c -index dd518a1..c6794ac 100644 ---- a/dlls/msxml3/domimpl.c -+++ b/dlls/msxml3/domimpl.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c -index 617c008..1b5c693 100644 ---- a/dlls/msxml3/element.c -+++ b/dlls/msxml3/element.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c -index db46193..1baea6e 100644 ---- a/dlls/msxml3/entityref.c -+++ b/dlls/msxml3/entityref.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c -index 3fd229c..45df9f0 100644 ---- a/dlls/msxml3/factory.c -+++ b/dlls/msxml3/factory.c -@@ -24,6 +24,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c -index 4585484..be1a5f7 100644 ---- a/dlls/msxml3/httprequest.c -+++ b/dlls/msxml3/httprequest.c -@@ -22,6 +22,12 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/main.c b/dlls/msxml3/main.c -index 60b0cbd..47a89b1 100644 ---- a/dlls/msxml3/main.c -+++ b/dlls/msxml3/main.c -@@ -25,6 +25,21 @@ - #define COBJMACROS - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# ifdef SONAME_LIBXSLT -+# ifdef HAVE_LIBXSLT_PATTERN_H -+# include -+# endif -+# ifdef HAVE_LIBXSLT_TRANSFORM_H -+# include -+# endif -+# include -+# include -+# endif -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h -index e0279f1..e1fbb59 100644 ---- a/dlls/msxml3/msxml_private.h -+++ b/dlls/msxml3/msxml_private.h -@@ -102,10 +102,6 @@ BOOL dispex_query_interface(DispatchEx*,REFIID,void**); - - #ifdef HAVE_LIBXML2 - --#ifdef HAVE_LIBXML_PARSER_H --#include --#endif -- - /* constructors */ - extern IUnknown *create_domdoc( xmlNodePtr document ); - extern IUnknown *create_xmldoc( void ); -@@ -184,25 +180,6 @@ static inline BSTR bstr_from_xmlChar(const xmlChar *str) - - #endif - --void* libxslt_handle; --#ifdef SONAME_LIBXSLT --# ifdef HAVE_LIBXSLT_PATTERN_H --# include --# endif --# ifdef HAVE_LIBXSLT_TRANSFORM_H --# include --# endif --# include --# include -- --# define MAKE_FUNCPTR(f) extern typeof(f) * p##f --MAKE_FUNCPTR(xsltApplyStylesheet); --MAKE_FUNCPTR(xsltCleanupGlobals); --MAKE_FUNCPTR(xsltFreeStylesheet); --MAKE_FUNCPTR(xsltParseStylesheetDoc); --# undef MAKE_FUNCPTR --#endif -- - extern IXMLDOMParseError *create_parseError( LONG code, BSTR url, BSTR reason, BSTR srcText, - LONG line, LONG linepos, LONG filepos ); - extern HRESULT DOMDocument_create( IUnknown *pUnkOuter, LPVOID *ppObj ); -diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c -index bbdcb5d..2980566 100644 ---- a/dlls/msxml3/node.c -+++ b/dlls/msxml3/node.c -@@ -24,6 +24,23 @@ - - #include - #include -+ -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+# ifdef SONAME_LIBXSLT -+# ifdef HAVE_LIBXSLT_PATTERN_H -+# include -+# endif -+# ifdef HAVE_LIBXSLT_TRANSFORM_H -+# include -+# endif -+# include -+# include -+# endif -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -@@ -33,16 +50,22 @@ - - #include "msxml_private.h" - --#ifdef HAVE_LIBXML2 --# include --#endif -- - #include "wine/debug.h" - - WINE_DEFAULT_DEBUG_CHANNEL(msxml); - - #ifdef HAVE_LIBXML2 - -+#ifdef SONAME_LIBXSLT -+extern void* libxslt_handle; -+# define MAKE_FUNCPTR(f) extern typeof(f) * p##f -+MAKE_FUNCPTR(xsltApplyStylesheet); -+MAKE_FUNCPTR(xsltCleanupGlobals); -+MAKE_FUNCPTR(xsltFreeStylesheet); -+MAKE_FUNCPTR(xsltParseStylesheetDoc); -+# undef MAKE_FUNCPTR -+#endif -+ - static const WCHAR szBinBase64[] = {'b','i','n','.','b','a','s','e','6','4',0}; - static const WCHAR szString[] = {'s','t','r','i','n','g',0}; - static const WCHAR szNumber[] = {'n','u','m','b','e','r',0}; -diff --git a/dlls/msxml3/nodelist.c b/dlls/msxml3/nodelist.c -index f643c5e..4b2bba9 100644 ---- a/dlls/msxml3/nodelist.c -+++ b/dlls/msxml3/nodelist.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/nodemap.c b/dlls/msxml3/nodemap.c -index 7d23ec8..d3d9c38 100644 ---- a/dlls/msxml3/nodemap.c -+++ b/dlls/msxml3/nodemap.c -@@ -23,6 +23,11 @@ - #define COBJMACROS - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/parseerror.c b/dlls/msxml3/parseerror.c -index 4b0dc57..89f14ca 100644 ---- a/dlls/msxml3/parseerror.c -+++ b/dlls/msxml3/parseerror.c -@@ -25,6 +25,11 @@ - - #include - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winerror.h" -diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c -index 0baefe4..3ebc1bf 100644 ---- a/dlls/msxml3/pi.c -+++ b/dlls/msxml3/pi.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/queryresult.c b/dlls/msxml3/queryresult.c -index 2c6f23e..8613b20 100644 ---- a/dlls/msxml3/queryresult.c -+++ b/dlls/msxml3/queryresult.c -@@ -24,6 +24,13 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -@@ -48,8 +55,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml); - - #ifdef HAVE_LIBXML2 - --#include -- - typedef struct _queryresult - { - DispatchEx dispex; -diff --git a/dlls/msxml3/regsvr.c b/dlls/msxml3/regsvr.c -index 415e5af..864d61e 100644 ---- a/dlls/msxml3/regsvr.c -+++ b/dlls/msxml3/regsvr.c -@@ -24,6 +24,10 @@ - - #include - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif - - #define COBJMACROS - -diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c -index eca9f1d..f2d340e 100644 ---- a/dlls/msxml3/saxreader.c -+++ b/dlls/msxml3/saxreader.c -@@ -24,6 +24,13 @@ - - #include - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -@@ -43,9 +50,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml); - - #ifdef HAVE_LIBXML2 - --#include --#include -- - typedef struct _saxreader - { - const struct IVBSAXXMLReaderVtbl *lpVBSAXXMLReaderVtbl; -diff --git a/dlls/msxml3/schema.c b/dlls/msxml3/schema.c -index 72d7854..c1465c0 100644 ---- a/dlls/msxml3/schema.c -+++ b/dlls/msxml3/schema.c -@@ -23,6 +23,18 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+# include -+# include -+# include -+# include -+# include -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c -index fdcb06b..72b2ffd 100644 ---- a/dlls/msxml3/text.c -+++ b/dlls/msxml3/text.c -@@ -24,6 +24,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/xmldoc.c b/dlls/msxml3/xmldoc.c -index d1a010f..0d1006e 100644 ---- a/dlls/msxml3/xmldoc.c -+++ b/dlls/msxml3/xmldoc.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" -diff --git a/dlls/msxml3/xmlelem.c b/dlls/msxml3/xmlelem.c -index a71b18b..a818d14 100644 ---- a/dlls/msxml3/xmlelem.c -+++ b/dlls/msxml3/xmlelem.c -@@ -23,6 +23,11 @@ - #include "config.h" - - #include -+#ifdef HAVE_LIBXML2 -+# include -+# include -+#endif -+ - #include "windef.h" - #include "winbase.h" - #include "winuser.h" --- -1.7.8.3 - diff --git a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch b/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch deleted file mode 100644 index be6ffc5..0000000 --- a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=395615 - -Explicitly add the required -m32/m64 to *FLAGS; this overrides any -arch-specific -m* flags that may have been appended by multilib-portage. - -Even though -m32/m64 is now added to *FLAGS, -m32/m64 still has to be -explicitly added to CC and CXX due to wine's build system. For example, -winegcc saves the build-time value of CC and uses it at runtime. - ---- a/configure.ac -+++ b/configure.ac -@@ -133,12 +133,18 @@ - then - CC="$CC -m64" - CXX="$CXX -m64" -+ CFLAGS="$CFLAGS -m64" -+ LDFLAGS="$LDFLAGS -m64" -+ CXXFLAGS="$CXXFLAGS -m64" - host_cpu="x86_64" - notice_platform="64-bit " - AC_SUBST(TARGETFLAGS,"-m64") - else - CC="$CC -m32" - CXX="$CXX -m32" -+ CFLAGS="$CFLAGS -m32" -+ LDFLAGS="$LDFLAGS -m32" -+ CXXFLAGS="$CXXFLAGS -m32" - host_cpu="i386" - notice_platform="32-bit " - AC_SUBST(TARGETFLAGS,"-m32") -@@ -150,6 +156,9 @@ - then - CC="$CC -m32" - CXX="$CXX -m32" -+ CFLAGS="$CFLAGS -m32" -+ LDFLAGS="$LDFLAGS -m32" -+ CXXFLAGS="$CXXFLAGS -m32" - AC_MSG_CHECKING([whether $CC works]) - AC_LINK_IFELSE([AC_LANG_PROGRAM()],AC_MSG_RESULT([yes]), - [AC_MSG_RESULT([no]) diff --git a/app-emulation/wine/files/wine-1.5.11-osmesa-check.patch b/app-emulation/wine/files/wine-1.5.11-osmesa-check.patch deleted file mode 100644 index 2bd7694..0000000 --- a/app-emulation/wine/files/wine-1.5.11-osmesa-check.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 22fcf835dfe713ad93f649a901973208e0f7b62d Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev -Date: Tue, 7 Aug 2012 01:29:01 -0400 -Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa - -If mesa had been built with shared glapi, glAccum is not available in -libOSMesa without explicitly linking to libGL. In addition, in -mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to -libglapi if mesa was built with shared glapi, see -https://bugs.gentoo.org/show_bug.cgi?id=399813 -And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and -libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832 ---- - configure.ac | 8 +++++++- - 1 files changed, 7 insertions(+), 1 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 15ada86..6eab75e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1133,7 +1133,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c - - if test "$ac_cv_header_GL_osmesa_h" = "yes" - then -- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then -+ osmesa_save_CC=$CC -+ CC=$CXX -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ CC=$osmesa_save_CC -+ fi - fi - WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"], - [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.]) --- -1.7.8.6 - diff --git a/app-emulation/wine/files/wine-1.5.17-osmesa-check.patch b/app-emulation/wine/files/wine-1.5.17-osmesa-check.patch deleted file mode 100644 index 8236192..0000000 --- a/app-emulation/wine/files/wine-1.5.17-osmesa-check.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 1ede664b18bd8a88359a3cebb291ad49833ee033 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev -Date: Tue, 7 Aug 2012 01:29:01 -0400 -Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa - -If mesa had been built with shared glapi, glAccum is not available in -libOSMesa without explicitly linking to libGL. In addition, in -mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to -libglapi if mesa was built with shared glapi, see -https://bugs.gentoo.org/show_bug.cgi?id=399813 -And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and -libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832 ---- - configure.ac | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index cc32c24..275b792 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1128,7 +1128,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c - - if test "x$with_osmesa" != "xno" - then -- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then -+ osmesa_save_CC=$CC -+ CC=$CXX -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS $X_PRE_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ CC=$osmesa_save_CC -+ fi - WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"], - [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.]) - fi --- -1.8.0 - diff --git a/app-emulation/wine/files/wine-1.5.23-winebuild-CCAS.patch b/app-emulation/wine/files/wine-1.5.23-winebuild-CCAS.patch deleted file mode 100644 index 3971ddd..0000000 --- a/app-emulation/wine/files/wine-1.5.23-winebuild-CCAS.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 57c57e9dfae50f045503ae9f3107fa3748512483 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev -Date: Sun, 3 Feb 2013 19:19:36 -0500 -Subject: [PATCH] winebuild: Use $CCAS to assemble if found - -Commit c14bdaf1 made winebuild use Clang to assemble if found. - -However, just because a user has some version of Clang installed, it -does not mean that she wants to use Clang to assemble Wine. For example, -a user who has both Clang and GAS installed may want to use GAS to avoid -textrels (see https://bugs.gentoo.org/show_bug.cgi?id=455308). - -This patch allows the user to override which assembler gets used by -exporting CCAS at Wine configure time; the name CCAS was chosen for -compatibility with automake's standard AM_PROG_AS macro. ---- - configure | 106 ++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 4 ++ - tools/winebuild/Makefile.in | 5 ++- - tools/winebuild/utils.c | 12 +++++ - 4 files changed, 126 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index e3253ee..d0b7777 100755 ---- a/configure -+++ b/configure -@@ -732,6 +732,8 @@ FLEX - TOOLSDIR - WOW64_DISABLE - TARGETFLAGS -+ac_ct_CCAS -+CCAS - CPPBIN - ac_ct_CXX - CXXFLAGS -@@ -861,6 +863,7 @@ CPPFLAGS - CXX - CXXFLAGS - CCC -+CCAS - CPP - XMKMF' - -@@ -1549,6 +1552,7 @@ Some influential environment variables: - you have headers in a nonstandard directory - CXX C++ compiler command - CXXFLAGS C++ compiler flags -+ CCAS Assembler command - CPP C preprocessor - XMKMF Path to xmkmf, Makefile generator for X Window System - -@@ -4075,6 +4079,108 @@ cat >>confdefs.h <<_ACEOF - _ACEOF - - -+ -+if test -n "$ac_tool_prefix"; then -+ for ac_prog in clang gas as -+ do -+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -+set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_CCAS+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$CCAS"; then -+ ac_cv_prog_CCAS="$CCAS" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_CCAS="$ac_tool_prefix$ac_prog" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+CCAS=$ac_cv_prog_CCAS -+if test -n "$CCAS"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CCAS" >&5 -+$as_echo "$CCAS" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -n "$CCAS" && break -+ done -+fi -+if test -z "$CCAS"; then -+ ac_ct_CCAS=$CCAS -+ for ac_prog in clang gas as -+do -+ # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if ${ac_cv_prog_ac_ct_CCAS+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -n "$ac_ct_CCAS"; then -+ ac_cv_prog_ac_ct_CCAS="$ac_ct_CCAS" # Let the user override the test. -+else -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then -+ ac_cv_prog_ac_ct_CCAS="$ac_prog" -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+ done -+IFS=$as_save_IFS -+ -+fi -+fi -+ac_ct_CCAS=$ac_cv_prog_ac_ct_CCAS -+if test -n "$ac_ct_CCAS"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CCAS" >&5 -+$as_echo "$ac_ct_CCAS" >&6; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -n "$ac_ct_CCAS" && break -+done -+ -+ if test "x$ac_ct_CCAS" = x; then -+ CCAS=""$CC"" -+ else -+ case $cross_compiling:$ac_tool_warned in -+yes:) -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -+ac_tool_warned=yes ;; -+esac -+ CCAS=$ac_ct_CCAS -+ fi -+fi -+ -+ - case $host in - *-darwin*) - if test "x$enable_win64" = "xyes" -diff --git a/configure.ac b/configure.ac -index c93cd08..760f325 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -126,6 +126,10 @@ dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E - AC_CHECK_TOOL(CPPBIN,cpp,cpp) - AC_DEFINE_UNQUOTED(EXEEXT,["$ac_exeext"],[Define to the file extension for executables.]) - -+dnl Analogous to AM_PROG_AS -+AC_ARG_VAR([CCAS],[Assembler command]) -+AC_CHECK_TOOLS(CCAS,[clang gas as],["$CC"]) -+ - case $host in - *-darwin*) - if test "x$enable_win64" = "xyes" -diff --git a/tools/winebuild/Makefile.in b/tools/winebuild/Makefile.in -index 2017129..3fe47a3 100644 ---- a/tools/winebuild/Makefile.in -+++ b/tools/winebuild/Makefile.in -@@ -1,4 +1,7 @@ --DEFS = -D__WINESRC__ $(EXTRADEFS) -+DEFS = \ -+ -DCCAS="\"@CCAS@\"" \ -+ -D__WINESRC__ \ -+ $(EXTRADEFS) - - PROGRAMS = winebuild$(EXEEXT) - MANPAGE = winebuild.man -diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c -index 262ff3a..1c5f918 100644 ---- a/tools/winebuild/utils.c -+++ b/tools/winebuild/utils.c -@@ -352,6 +352,18 @@ struct strarray *get_as_command(void) - static int as_is_clang = 0; - struct strarray *args = strarray_init(); - -+ if (!as_command && strlen( CCAS )) -+ { -+ struct stat st; -+ -+ if (!stat( CCAS, &st )) -+ as_command = CCAS; -+ else -+ as_command = find_tool( CCAS, NULL ); -+ -+ if (as_command && strstr( as_command, "clang" )) as_is_clang = 1; -+ } -+ - if (!as_command) - { - as_command = find_tool( "clang", NULL ); --- -1.8.1.2 - diff --git a/app-emulation/wine/files/wine-1.5.26-winegcc.patch b/app-emulation/wine/files/wine-1.5.26-winegcc.patch deleted file mode 100644 index 2045e34..0000000 --- a/app-emulation/wine/files/wine-1.5.26-winegcc.patch +++ /dev/null @@ -1,59 +0,0 @@ -http://bugs.gentoo.org/260726 - -diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c -index 16b4165..5c77267 100644 ---- a/tools/winebuild/main.c -+++ b/tools/winebuild/main.c -@@ -48,10 +48,13 @@ int link_ext_symbols = 0; - int force_pointer_size = 0; - int unwind_tables = 0; - -+#undef FORCE_POINTER_SIZE - #ifdef __i386__ - enum target_cpu target_cpu = CPU_x86; -+#define FORCE_POINTER_SIZE - #elif defined(__x86_64__) - enum target_cpu target_cpu = CPU_x86_64; -+#define FORCE_POINTER_SIZE - #elif defined(__powerpc__) - enum target_cpu target_cpu = CPU_POWERPC; - #elif defined(__arm__) -@@ -611,6 +614,10 @@ int main(int argc, char **argv) - signal( SIGTERM, exit_on_signal ); - signal( SIGINT, exit_on_signal ); - -+#ifdef FORCE_POINTER_SIZE -+ force_pointer_size = sizeof(size_t); -+#endif -+ - output_file = stdout; - argv = parse_options( argc, argv, spec ); - -diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c -index 06aa200..c44d2e3 100644 ---- a/tools/winegcc/winegcc.c -+++ b/tools/winegcc/winegcc.c -@@ -213,10 +213,13 @@ struct options - strarray* files; - }; - -+#undef FORCE_POINTER_SIZE - #ifdef __i386__ - static const enum target_cpu build_cpu = CPU_x86; -+#define FORCE_POINTER_SIZE - #elif defined(__x86_64__) - static const enum target_cpu build_cpu = CPU_x86_64; -+#define FORCE_POINTER_SIZE - #elif defined(__powerpc__) - static const enum target_cpu build_cpu = CPU_POWERPC; - #elif defined(__arm__) -@@ -1258,6 +1261,9 @@ int main(int argc, char **argv) - opts.linker_args = strarray_alloc(); - opts.compiler_args = strarray_alloc(); - opts.winebuild_args = strarray_alloc(); -+#ifdef FORCE_POINTER_SIZE -+ opts.force_pointer_size = sizeof(size_t); -+#endif - - /* determine the processor type */ - if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp; diff --git a/app-emulation/wine/files/wine-1.5.30-libwine.patch b/app-emulation/wine/files/wine-1.5.30-libwine.patch deleted file mode 100644 index 75fc83e..0000000 --- a/app-emulation/wine/files/wine-1.5.30-libwine.patch +++ /dev/null @@ -1,45 +0,0 @@ -commit ce4b6451aabbe83809c7483c748cfa009cc090d6 -Author: Alexandre Julliard -Date: Fri May 10 22:01:44 2013 +0200 - - configure: Add explicit install targets in libs/wine for make_makefiles. - -diff --git a/configure b/configure -index d4c1f8e..ef38bfd 100755 ---- a/configure -+++ b/configure -@@ -16379,7 +16379,7 @@ wine_fn_config_makefile documentation enable_documentation - wine_fn_config_makefile fonts enable_fonts install-lib - wine_fn_config_makefile include enable_include install-dev - wine_fn_config_makefile libs/port enable_libs_port --wine_fn_config_makefile libs/wine enable_libs_wine -+wine_fn_config_makefile libs/wine enable_libs_wine install-dev,install-lib - wine_fn_config_makefile libs/wpp enable_libs_wpp - wine_fn_config_makefile loader enable_loader install-lib,manpage - wine_fn_config_program aspnet_regiis enable_aspnet_regiis install -diff --git a/configure.ac b/configure.ac -index 6dd2348..b44673e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3173,7 +3173,7 @@ WINE_CONFIG_MAKEFILE([documentation]) - WINE_CONFIG_MAKEFILE([fonts],,[install-lib]) - WINE_CONFIG_MAKEFILE([include],,[install-dev]) - WINE_CONFIG_MAKEFILE([libs/port]) --WINE_CONFIG_MAKEFILE([libs/wine]) -+WINE_CONFIG_MAKEFILE([libs/wine],,[install-dev,install-lib]) - WINE_CONFIG_MAKEFILE([libs/wpp]) - WINE_CONFIG_MAKEFILE([loader],,[install-lib,manpage]) - WINE_CONFIG_PROGRAM(aspnet_regiis,,[install]) -diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in -index b8dc385..7de7799 100644 ---- a/libs/wine/Makefile.in -+++ b/libs/wine/Makefile.in -@@ -111,4 +111,8 @@ version.c: dummy - $(RELPATH): - @cd $(TOOLSDIR)/tools && $(MAKE) relpath$(TOOLSEXT) - -+# Make sure that make_makefiles sees the install rules -+install install-lib:: -+install install-dev:: -+ - @LIBWINE_RULES@ diff --git a/app-emulation/wine/files/wine-1.5.31-gnutls-3.2.0.patch b/app-emulation/wine/files/wine-1.5.31-gnutls-3.2.0.patch deleted file mode 100644 index 5cd3d40..0000000 --- a/app-emulation/wine/files/wine-1.5.31-gnutls-3.2.0.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9fb3de8e9268e8e81128fc77328495567140e082 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev -Date: Sat, 25 May 2013 23:57:04 -0400 -Subject: [PATCH] configure, secur32: In gnutls-3.2, gnutls_mac_get_key_size() - moved to crypto.h - -Based on a patch by Ben Kohler - -https://bugs.gentoo.org/show_bug.cgi?id=471077 -http://bugs.winehq.org/show_bug.cgi?id=33649 ---- - configure.ac | 3 ++- - dlls/secur32/schannel_gnutls.c | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 1941be1..2c10734 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1344,7 +1344,8 @@ then - ac_save_CPPFLAGS="$CPPFLAGS" - WINE_PACKAGE_FLAGS(GNUTLS,[gnutls]) - AC_CHECK_HEADER(gnutls/gnutls.h, -- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[static typeof(gnutls_mac_get_key_size) *func; if (func) return 0;]])], -+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include -+#include ]], [[static typeof(gnutls_mac_get_key_size) *func; if (func) return 0;]])], - [WINE_CHECK_SONAME(gnutls,gnutls_global_init,,[GNUTLS_CFLAGS=""],[$GNUTLS_LIBS])])], - [GNUTLS_CFLAGS=""]) - CPPFLAGS="$ac_save_CPPFLAGS" -diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c -index 70b8276..cbe64e8 100644 ---- a/dlls/secur32/schannel_gnutls.c -+++ b/dlls/secur32/schannel_gnutls.c -@@ -25,6 +25,7 @@ - #include - #ifdef SONAME_LIBGNUTLS - #include -+#include - #endif - - #include "windef.h" --- -1.8.2.1 - diff --git a/app-emulation/wine/files/wine-1.6-memset-O3.patch b/app-emulation/wine/files/wine-1.6-memset-O3.patch deleted file mode 100644 index 75372f8..0000000 --- a/app-emulation/wine/files/wine-1.6-memset-O3.patch +++ /dev/null @@ -1,21 +0,0 @@ -Avoid "undefined reference to `memset'" error when building with -USE=custom-cflags and -O3 in CFLAGS with gcc-4.8. - -See: - -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888 -http://bugs.winehq.org/show_bug.cgi?id=33521 -https://bugs.gentoo.org/show_bug.cgi?id=480508 - -diff --git a/configure.ac b/configure.ac -index d8033cf..fe7cc7d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1767,6 +1767,7 @@ then - - dnl Check for some compiler flags - WINE_TRY_CFLAGS([-fno-builtin],[AC_SUBST(BUILTINFLAG,"-fno-builtin")]) -+ WINE_TRY_CFLAGS([-fno-tree-loop-distribute-patterns]) - WINE_TRY_CFLAGS([-fno-strict-aliasing]) - dnl clang needs to be told to fail on unknown options - saved_CFLAGS=$CFLAGS diff --git a/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch b/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch deleted file mode 100644 index 7cafcd4..0000000 --- a/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6932b9a17c4f64c13f7060895d46334bc7022430 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev -Date: Tue, 7 Aug 2012 01:29:01 -0400 -Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa - -If mesa had been built with shared glapi, glAccum is not available in -libOSMesa without explicitly linking to libGL. In addition, in -mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to -libglapi if mesa was built with shared glapi, see -https://bugs.gentoo.org/show_bug.cgi?id=399813 -And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and -libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832 ---- - configure.ac | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index de807d2..a2e8684 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1233,7 +1233,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c - - if test "x$with_osmesa" != "xno" - then -- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS -lm $X_EXTRA_LIBS]) -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS -lm $X_EXTRA_LIBS]) -+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then -+ osmesa_save_CC=$CC -+ CC=$CXX -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS -lm $X_EXTRA_LIBS]) -+ CC=$osmesa_save_CC -+ fi - WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"], - [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.]) - fi --- -1.8.5.3 - diff --git a/app-emulation/wine/files/wine-1.7.2-osmesa-check.patch b/app-emulation/wine/files/wine-1.7.2-osmesa-check.patch deleted file mode 100644 index e20ea2c..0000000 --- a/app-emulation/wine/files/wine-1.7.2-osmesa-check.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b7eb1ff48dd1210aa3e1002afc503d5df75d50b9 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev -Date: Tue, 7 Aug 2012 01:29:01 -0400 -Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa - -If mesa had been built with shared glapi, glAccum is not available in -libOSMesa without explicitly linking to libGL. In addition, in -mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to -libglapi if mesa was built with shared glapi, see -https://bugs.gentoo.org/show_bug.cgi?id=399813 -And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and -libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832 ---- - configure.ac | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 66b4dd6..0303d87 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1213,7 +1213,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c - - if test "x$with_osmesa" != "xno" - then -- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then -+ osmesa_save_CC=$CC -+ CC=$CXX -+ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS $XLIB -lm $X_EXTRA_LIBS]) -+ CC=$osmesa_save_CC -+ fi - WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"], - [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.]) - fi --- -1.8.3.2 - 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 fbf930b..0000000 --- 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 -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 - #endif -+#include - - #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 - #include - -+#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 -+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.9-hcce.patch b/app-emulation/wine/files/wine-1.7.9-hcce.patch deleted file mode 100644 index 04e433d..0000000 --- a/app-emulation/wine/files/wine-1.7.9-hcce.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 8a8957b4e6c9fe153524a7b1051f3aa1b6b4b402 Mon Sep 17 00:00:00 2001 -From: Ryan Davis -Date: Sat, 16 Nov 2013 00:45:53 -0800 -Subject: [PATCH 1/2] Apply hcce patch and massager for new wording - ---- - dlls/crypt32/chain.c | 28 ++++++++++++++++------------ - 1 file changed, 16 insertions(+), 12 deletions(-) - -diff --git a/dlls/crypt32/chain.c b/dlls/crypt32/chain.c -index 1a83dee..31d1c53 100644 ---- a/dlls/crypt32/chain.c -+++ b/dlls/crypt32/chain.c -@@ -33,7 +33,10 @@ WINE_DECLARE_DEBUG_CHANNEL(chain); - - #define DEFAULT_CYCLE_MODULUS 7 - --static HCERTCHAINENGINE CRYPT_defaultChainEngine; -+/* There are two default chain engines which correspond to HCCE_CURRENT_USER and -+ * HCCE_LOCAL_MACHINE. -+*/ -+static HCERTCHAINENGINE CRYPT_defaultChainEngine[2] = { NULL, NULL }; - - /* This represents a subset of a certificate chain engine: it doesn't include - * the "hOther" store described by MSDN, because I'm not sure how that's used. -@@ -212,7 +215,7 @@ VOID WINAPI CertFreeCertificateChainEngine(HCERTCHAINENGINE hChainEngine) - - TRACE("(%p)\n", hChainEngine); - -- if (engine && InterlockedDecrement(&engine->ref) == 0) -+ if (engine > HCCE_LOCAL_MACHINE && InterlockedDecrement(&engine->ref) == 0) - { - CertCloseStore(engine->hWorld, 0); - CertCloseStore(engine->hRoot, 0); -@@ -220,26 +223,28 @@ VOID WINAPI CertFreeCertificateChainEngine(HCERTCHAINENGINE hChainEngine) - } - } - --static HCERTCHAINENGINE CRYPT_GetDefaultChainEngine(void) -+static HCERTCHAINENGINE CRYPT_GetDefaultChainEngine(HCERTCHAINENGINE h) - { -- if (!CRYPT_defaultChainEngine) -+ if (!CRYPT_defaultChainEngine[(int)h]) - { - CERT_CHAIN_ENGINE_CONFIG config = { 0 }; - HCERTCHAINENGINE engine; - - config.cbSize = sizeof(config); -+ if (h == HCCE_LOCAL_MACHINE) -+ config.dwFlags = CERT_CHAIN_USE_LOCAL_MACHINE_STORE; - CertCreateCertificateChainEngine(&config, &engine); -- InterlockedCompareExchangePointer(&CRYPT_defaultChainEngine, engine, -+ InterlockedCompareExchangePointer(&CRYPT_defaultChainEngine[(int)h], engine, - NULL); -- if (CRYPT_defaultChainEngine != engine) -+ if (CRYPT_defaultChainEngine[(int)h] != engine) - CertFreeCertificateChainEngine(engine); - } -- return CRYPT_defaultChainEngine; -+ return CRYPT_defaultChainEngine[(int)h]; - } - --void default_chain_engine_free(void) -+void default_chain_engine_free(HCERTCHAINENGINE h) - { -- CertFreeCertificateChainEngine(CRYPT_defaultChainEngine); -+ CertFreeCertificateChainEngine(CRYPT_defaultChainEngine[(int)h]); - } - - typedef struct _CertificateChain -@@ -2886,11 +2891,10 @@ BOOL WINAPI CertGetCertificateChain(HCERTCHAINENGINE hChainEngine, - return FALSE; - } - -- if (!engine) -- engine = CRYPT_GetDefaultChainEngine(); -+ if (engine <= HCCE_LOCAL_MACHINE) -+ engine = CRYPT_GetDefaultChainEngine(engine); - if (TRACE_ON(chain)) - dump_chain_para(pChainPara); -- /* FIXME: what about HCCE_LOCAL_MACHINE? */ - ret = CRYPT_BuildCandidateChainFromCert(engine, pCertContext, pTime, - hAdditionalStore, dwFlags, &chain); - if (ret) --- -1.8.4.3 - - -From df10036a07e90f2c75c4d54d8ec462e24e314bae Mon Sep 17 00:00:00 2001 -From: Ryan Davis -Date: Sat, 16 Nov 2013 23:53:49 -0800 -Subject: [PATCH 2/2] HCCE patch kinda. - ---- - dlls/crypt32/crypt32_private.h | 2 +- - dlls/crypt32/main.c | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/dlls/crypt32/crypt32_private.h b/dlls/crypt32/crypt32_private.h -index 53e0834..6a4d819 100644 ---- a/dlls/crypt32/crypt32_private.h -+++ b/dlls/crypt32/crypt32_private.h -@@ -157,7 +157,7 @@ void crypt_oid_init(void) DECLSPEC_HIDDEN; - void crypt_oid_free(void) DECLSPEC_HIDDEN; - void crypt_sip_free(void) DECLSPEC_HIDDEN; - void root_store_free(void) DECLSPEC_HIDDEN; --void default_chain_engine_free(void) DECLSPEC_HIDDEN; -+void default_chain_engine_free(HCERTCHAINENGINE) DECLSPEC_HIDDEN; - - /* (Internal) certificate store types and functions */ - struct WINE_CRYPTCERTSTORE; -diff --git a/dlls/crypt32/main.c b/dlls/crypt32/main.c -index c4f6c78..2afb702 100644 ---- a/dlls/crypt32/main.c -+++ b/dlls/crypt32/main.c -@@ -50,7 +50,8 @@ BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, PVOID pvReserved) - crypt_oid_free(); - crypt_sip_free(); - root_store_free(); -- default_chain_engine_free(); -+ default_chain_engine_free(HCCE_CURRENT_USER); -+ default_chain_engine_free(HCCE_LOCAL_MACHINE); - if (hDefProv) CryptReleaseContext(hDefProv, 0); - break; - } --- -1.8.4.3 - diff --git a/app-emulation/wine/wine-1.7.30.ebuild b/app-emulation/wine/wine-1.7.30.ebuild deleted file mode 100644 index ed5f8d9..0000000 --- a/app-emulation/wine/wine-1.7.30.ebuild +++ /dev/null @@ -1,496 +0,0 @@ -# Copyright 1999-2014 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.1 2014/10/25 20:37:44 ryao 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" - inherit git-2 - 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.24" -MV="4.5.2" -COMPHOLIO_P="wine-staging-${PV}" -WINE_GENTOO="wine-gentoo-2013.06.24" -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 ) - 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 ) - http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2" - -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" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - test? ( abi_x86_32 ) - elibc_glibc? ( threads ) - mono? ( abi_x86_32 ) - 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] ) - pipelight? ( 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 ) - 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(-)] - ) ) - pipelight? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)] - ) ) - pulseaudio? ( || ( - app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)] - >=media-sound/pulseaudio-5.0[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(-)] - ) ) - 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 ) - samba? ( >=net-fs/samba-3.0.25 ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 ) - pulseaudio? ( realtime? ( sys-auth/rtkit ) )" - -DEPEND="${COMMON_DEPEND} - amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) ) - 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-2_src_unpack - else - unpack ${MY_P}.tar.bz2 - fi - - use pipelight || use pulseaudio && unpack "${COMPHOLIO_P}.tar.gz" - - unpack "${WINE_GENTOO}.tar.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 - ) - local COMPHOLIO_MAKE_ARGS="-W fonts-Missing_Fonts.ok" - - use pulseaudio || COMPHOLIO_MAKE_ARGS="${COMPHOLIO_MAKE_ARGS} -W winepulse-PulseAudio_Support.ok" - 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+=( "${FILESDIR}/${PN}-1.7.28-gstreamer-v4.patch" ) - 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" - - # epatch doesn't support binary patches and we ship our own pulse patches - emake -C "${WORKDIR}/${COMPHOLIO_P}/patches" \ - $(echo ${COMPHOLIO_MAKE_ARGS}) \ - series - - PATCHES+=( $(sed -e "s:^:${WORKDIR}/${COMPHOLIO_P}/patches/:" \ - "${WORKDIR}/${COMPHOLIO_P}/patches/series") ) - - # epatch doesn't support binary patches - ebegin "Applying Compholio font patches" - for f in "${WORKDIR}/${COMPHOLIO_P}/patches/fonts-Missing_Fonts"/*.patch; do - "../${COMPHOLIO_P}/debian/tools/gitapply.sh" < "${f}" \ - || die "Failed to apply ${f}" - done - eend - elif use pulseaudio; then - PATCHES+=( "../${COMPHOLIO_P}/patches/winepulse-PulseAudio_Support"/*.patch ) - fi - autotools-utils_src_prepare - - 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) - --without-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) - ) - - use pulseaudio && myconf+=( --with-pulse ) - use pipelight && myconf+=( --with-xattr ) - - 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 - 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 -}