diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-12-31 19:19:37 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-12-31 19:19:37 +0000 |
commit | 216b8e4bd9a2353e05ae3186d1a6ed81e766bbef (patch) | |
tree | afcb5b297a39afe4a8e83fe9a08c420ddbdc57c0 /media-tv/xbmc | |
parent | Version bump #496594 by Ulenrich. (diff) | |
download | historical-216b8e4bd9a2353e05ae3186d1a6ed81e766bbef.tar.gz historical-216b8e4bd9a2353e05ae3186d1a6ed81e766bbef.tar.bz2 historical-216b8e4bd9a2353e05ae3186d1a6ed81e766bbef.zip |
Add patch from upstream for building on cpus w/out sse2 #475266 by Jose Quinteiro.
Package-Manager: portage-2.2.7/cvs/Linux x86_64
Manifest-Sign-Key: 0xD2E96200
Diffstat (limited to 'media-tv/xbmc')
-rw-r--r-- | media-tv/xbmc/ChangeLog | 7 | ||||
-rw-r--r-- | media-tv/xbmc/Manifest | 5 | ||||
-rw-r--r-- | media-tv/xbmc/files/xbmc-12.3-no-sse2.patch | 185 | ||||
-rw-r--r-- | media-tv/xbmc/xbmc-12.3.ebuild | 3 |
4 files changed, 196 insertions, 4 deletions
diff --git a/media-tv/xbmc/ChangeLog b/media-tv/xbmc/ChangeLog index f6ddfc1f0dff..88f9dfaa7a74 100644 --- a/media-tv/xbmc/ChangeLog +++ b/media-tv/xbmc/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-tv/xbmc # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.199 2013/12/31 00:31:38 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/ChangeLog,v 1.200 2013/12/31 19:18:32 vapier Exp $ + + 31 Dec 2013; Mike Frysinger <vapier@gentoo.org> + +files/xbmc-12.3-no-sse2.patch, xbmc-12.3.ebuild: + Add patch from upstream for building on cpus w/out sse2 #475266 by Jose + Quinteiro. *xbmc-12.3 (31 Dec 2013) diff --git a/media-tv/xbmc/Manifest b/media-tv/xbmc/Manifest index 930cf20e67d2..b44a62cf6ea5 100644 --- a/media-tv/xbmc/Manifest +++ b/media-tv/xbmc/Manifest @@ -7,6 +7,7 @@ AUX xbmc-11.0-no-arm-flags.patch 542 SHA256 72164a8b91f3209cff06ea1a103580f82713 AUX xbmc-11.0-no-exec-stack.patch 807 SHA256 e36c83746838dd362512a046dc066c0f3fdc1252289b2761be381f84262cab78 SHA512 d0d4c2d4bb257c722ec40470fb6c8da59033009152598e69133b6184b25da36debf42f86859389c878a072603f3d583e28a52519e8dca47d9bdf7edd5f9e44c5 WHIRLPOOL d18dd387fe55b18be78fdad08b0a4319c2a5ccd161f1dfc0d5ab8015d88c5842780415c903a098a4683524658fc31c07e285e61fcff04ad6e4777c77e5691f38 AUX xbmc-11.0-nomythtv.patch 6190 SHA256 ffb1eb49f94b4ae41e5d79172499671915122a58af248b0585ee276e4aa2c87e SHA512 4a9ff4b4f5cb56c92932f05b5b812bee0fdce37ed9f568a6e0dc0cd62335e2131361a63d8026b64f9c7078fa9c4ef0e439b52234c722b1b854aeeed1cc2764c7 WHIRLPOOL ce457b509c6fd222ae6002420db7cc438e1352114f38790b623f04e6834eb5508d4609a1bf71628bfafde3bcef830e84b42448619c19227d5729d6d8a824a13c AUX xbmc-12.1-nomythtv.patch 1680 SHA256 fe0289d1361b0dde3c261bc082bcad123c9cc9a2b7398e4eb48773f976be93a2 SHA512 403389bb1bf1442be1a8d23106bd78dc672c66fcf588b6076e6105023a69a92ca58cdaa91c9e2664123f244c3d5f42a9de6f72845c702339e3f8a0e976330ca1 WHIRLPOOL dcf13b59133f2b7288bc734803ad1317d6e943f7cd85b0428ec257b2ec9fb6a23311fbdd8574dbfb985a473dac7cf8ca30c2ac6d59b62797adb1f63d8bcc0b12 +AUX xbmc-12.3-no-sse2.patch 6067 SHA256 83ce5004e4fb14dee9785330d791013b383bef3404d6825b9339af4d7cdee3bc SHA512 a91628fff7ba6e6cdddd59d39587a555597d90b50ec536baeb8c0c2979b34dde2854d018821f17a3f7b4fe24fef4271698385ea15644e8f3da074376717ffcd1 WHIRLPOOL 0698c081d2808f234ee45e12146813b8a776a40d804cfcd7b12154a621cc6be1d0d504f2c6d3a30772507840f7ada11cbcaaa47140e0010f91c557eca74a86ca AUX xbmc-9999-no-arm-flags.patch 478 SHA256 075db2562d31914d86b4394500d4b3168ea77114b63d1a7929ddae96111017a2 SHA512 b958cf3ab4877dbae4e5bd1376e8b9bd82f0dab43b1695c1d85e0e8ff366ef278ff686fe6394a04b3d79e19f11d8c92689fc049d2874e3fc12c907e36e993064 WHIRLPOOL f322fa4db24ff6f3372bdadd3dba8fbd4aed5849dc676f8c63d654f2c83de2165e60b26af821647a46cfa5ff129e7e0cb7c39c5cddbc2e5d9ec675bb148b2d63 AUX xbmc-9999-nomythtv.patch 1689 SHA256 b54e52be122890affca5eb726873817bfbaa1b5da0d58231bd0c098681ce6b35 SHA512 ebd3deef88fdef0b54bb5936f9a479523297c1224595ea021af0674b9cb422f3a3bdc03c3cdf9e96f475b23e68983a62241d91cb74fd4f69b2635e6f7d4a80e4 WHIRLPOOL 0d2ad77fee3a4cce535cb25c07c481d9133c867f6de1fba5cd1dcc6f79d480f496673c223e464d90cab9602651e226792679eaa499959d7cae01b94f64a2f345 DIST xbmc-11.0.tar.gz 63012044 SHA256 1fe5d310c16138f26e2b13bc545604e95f48ace6c8636f23e77da402cd7b0b19 SHA512 ba738129f70dd171b3fae385ab44317f62c9041a116bfe809d6d07c99ea69c663ad5d598552a17be0b942251ce12a68f34d0be21b303b256055849a6dde90043 WHIRLPOOL 4dd068749c86542e39b8fc42b45bbb56e885813b17876d3583cb4d91c902ff075e1f16f1c19720e3430dc149c40e52e7d1ab3323f666263fb353a59e2ef94a8e @@ -19,7 +20,7 @@ DIST xbmc_backports-12-1.tar.bz2 5010 SHA256 a222c32f5a4a0a8690b1544674cfbfeddf8 EBUILD xbmc-11.0.ebuild 6299 SHA256 9766e13599ba897a01e1ac279db544fa69c32f79fac20fddbaa42bb0e76f2199 SHA512 2a46985734e6284be47049482e0bc16a49fdaacd20d1fc822870f7b6a22ceaee4a9b176e242be948fd24b155db8854240660fb340a7b724f593345adee5c06d5 WHIRLPOOL 3483f3db0e1803407454dc04513e3be8a30d337a0a68555601b5d63ff7dfbaacaec829ab84156536cc4047eb7f4fc8630e6e24ab3594bbbc5a560feda27c0d43 EBUILD xbmc-12.1-r1.ebuild 7115 SHA256 47046f45870a9e0e21ee35438ff49c93305235769a1d7ccb689a50ef7d64a11b SHA512 ad7bf1e5febb5fb3a0576622d4b29b37ff0a42843eafc3afe1bf6d04452bdffcb039bdfdb60ab5edcc2f26d15f4de626664268bb8aa8cd78c692c5d860e4022e WHIRLPOOL e9cf6c3758b9568634ad3ddff4ff55b662be6e77e0c3b292be422f252053786fa23147efdbaee37aae8296f40324dedabce4f02522a037524d51b453d2986414 EBUILD xbmc-12.2-r1.ebuild 7076 SHA256 6118ad038ea8c0232a7c1d6309cafdab8fd61137c56a7a845c03b5df3d64c48c SHA512 9afacd0a3fe260b0cebba05617299bcfb293863e37834a3637072312bb678be76f3e717cfd18beb31c6ded90eec088dfad1fa41d4f92f9bcb050379d5e9b65fa WHIRLPOOL 5dd1213fb8bc6eb064abf3fc5ad155e6edc9f484f272064593587d959592354db680cdf0edcb87f0629e601eaabd0d442e6e7372919563effa2426b0acd7fdcd -EBUILD xbmc-12.3.ebuild 7121 SHA256 ec00287e08cd12c7f26676042699cb5cf8218b025de8a8085013623259ea6364 SHA512 4ddbc9cae4c6c78e70bfa86e88a9f87a67904ba4a805f20d0d158abc1ccee7acf11260de960891c3b5b0367d9d8188c90a7439c38344aaec8a09c2a74393eb99 WHIRLPOOL 9a918febbf4d2f511f204ab16e5b25e870058365d47e6421863516f7a9cb07f40d41c56f0698396e091ebdec6f5dc3661f7da4e2288f80f2b69fe81dc931369b +EBUILD xbmc-12.3.ebuild 7176 SHA256 69dacbdfb96fd3618025e041b7c85a0120360d122effb847c232e74493fb86a3 SHA512 4f2dbe184c5c3d7b3db67064ad2fd05a2649ebeef231f411d639d9ff0e7201c94b118ec5700952b4211a0c4b8db751b077f75801294823daf2e5575861b13d70 WHIRLPOOL 759f1813c9d7740f47b7d57db0345865ca353d3932521d4137121923acb7927aaf60c950ae2a3f4bdbfb0b78e4d7cb982a38e25260cceb5749bff8e7b200ce4c EBUILD xbmc-9999.ebuild 8899 SHA256 592e2feb06ecd18d3aa49bc0f7d49db7c75ea6dc73fe6f710a4df089e345b0b0 SHA512 2ef6537249d288597ea2bdb04feb111124bc8202072a9dec8a54941fcf46fe77763091365af72a365d3a1e10bf8a0310104ac7b95cf9e1b1fc6c185d7ac04b98 WHIRLPOOL 4c57b1456d07f4b395765ad8115e22cb08e38cb4735473b8a873d4c8e59e76bcb45ccf7ac822e0634035ff075b2b96b5fdede55c7d2324c05ddbe04631ccf6b0 -MISC ChangeLog 33178 SHA256 9ff66e59c176ca27c71eb201c431a4b6033311a77b3485655962fbc275ed97f2 SHA512 c37426f016e071b052064500b92cf4ad4a3c77e63dada5d224081f99a7135673b3426bd61060e854a60b2548b8d1cbe9f0f67427877113d315976864b2c1f28f WHIRLPOOL 0a33c9d72a31dad3745d7106d10392fa1cb81d78807524c76497729a5f71ffaf095fe2086c5df3b822dfe2b497440504d812e6a7c36d62fbe0a1d92ee49ccd3b +MISC ChangeLog 33368 SHA256 76fb58b7aa61745779cf7eba71253092034228907866e309e04bab47488c7c8f SHA512 d93428e6c5b054a2b346a5fb585257db7fdc5fd68c2b5769ea1bb7bb7085afa854c32e81ba8c0495a0f0e712b71b51079e045e38b404b30b5b311cf215c471f8 WHIRLPOOL e6865ea1d0335240390bd8a1d5ac12e030e0640cb3e586f297367821d795ff6d802d48eb6ce0adbd381850719dbd79e64dfb3f183fe05b3a72838e277befd4f8 MISC metadata.xml 1140 SHA256 00929104e646c293b0ee5dc8a42701b940a0e908f7293c15a277ce138a56999a SHA512 e6a4b148543b613ffad57925310bc7562629e18f726cc958bf2de64020b0ec3d72cf82eb2e506a194c1c3610361d96ff41245d1e7a411be08f87719abbb80410 WHIRLPOOL 92f8748f2fedb7fe0bd34ed29e4e4ff25cb55b7ceacc15a9a4c561c3544530d216d5494de1862591156f3290e641a38aa91000c2b33e850d8a923e1818eb5ac1 diff --git a/media-tv/xbmc/files/xbmc-12.3-no-sse2.patch b/media-tv/xbmc/files/xbmc-12.3-no-sse2.patch new file mode 100644 index 000000000000..a0f787c03864 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-12.3-no-sse2.patch @@ -0,0 +1,185 @@ +https://bugs.gentoo.org/475266 + +From 07ccc514dc688f0dd53f603d206894023e65ab20 Mon Sep 17 00:00:00 2001 +From: Jose Quinteiro <gentoo@quinteiro.org> +Date: Sat, 27 Apr 2013 11:29:51 -0700 +Subject: [PATCH] Detect SSE2 support + +Compilation on an older 32-bit Athlon XP chip fails with the error +"./Utils/AEUtil.h:50:12: error: '__m128i' does not name a type" +This is because the __m128i type is only available on SSE2 platforms. +Modify the preprocessor logic to detect SSE and SSE2 support separately. + +The "emmintrin.h" header should only be included on SSE2 platforms as +well. +--- + xbmc/cores/AudioEngine/Utils/AEConvert.cpp | 25 ++++++++++--------------- + xbmc/cores/AudioEngine/Utils/AEUtil.cpp | 4 ++-- + xbmc/cores/AudioEngine/Utils/AEUtil.h | 9 ++++++++- + 3 files changed, 20 insertions(+), 18 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/Utils/AEConvert.cpp b/xbmc/cores/AudioEngine/Utils/AEConvert.cpp +index 0b0b646..7cfde5e 100644 +--- a/xbmc/cores/AudioEngine/Utils/AEConvert.cpp ++++ b/xbmc/cores/AudioEngine/Utils/AEConvert.cpp +@@ -33,11 +33,6 @@ + #include <math.h> + #include <string.h> + +-#ifdef __SSE__ +-#include <xmmintrin.h> +-#include <emmintrin.h> +-#endif +- + #ifdef __ARM_NEON__ + #include <arm_neon.h> + #endif +@@ -517,7 +512,7 @@ unsigned int CAEConvert::Float_S8(float *data, const unsigned int samples, uint8 + unsigned int CAEConvert::Float_S16LE(float *data, const unsigned int samples, uint8_t *dest) + { + int16_t *dst = (int16_t*)dest; +- #ifdef __SSE__ ++ #ifdef __SSE2__ + + unsigned int count = samples; + unsigned int unaligned = (0x10 - ((uintptr_t)data & 0xF)) >> 2; +@@ -623,7 +618,7 @@ unsigned int CAEConvert::Float_S16LE(float *data, const unsigned int samples, ui + /* cleanup */ + _mm_empty(); + +- #else /* no SSE */ ++ #else /* no SSE2 */ + + uint32_t i = 0; + uint32_t even = samples & ~0x3; +@@ -651,7 +646,7 @@ unsigned int CAEConvert::Float_S16LE(float *data, const unsigned int samples, ui + unsigned int CAEConvert::Float_S16BE(float *data, const unsigned int samples, uint8_t *dest) + { + int16_t *dst = (int16_t*)dest; +- #ifdef __SSE__ ++ #ifdef __SSE2__ + + unsigned int count = samples; + unsigned int unaligned = (0x10 - ((uintptr_t)data & 0xF)) >> 2; +@@ -757,7 +752,7 @@ unsigned int CAEConvert::Float_S16BE(float *data, const unsigned int samples, ui + /* cleanup */ + _mm_empty(); + +- #else /* no SSE */ ++ #else /* no SSE2 */ + + uint32_t i = 0; + uint32_t even = samples & ~0x3; +@@ -785,7 +780,7 @@ unsigned int CAEConvert::Float_S16BE(float *data, const unsigned int samples, ui + unsigned int CAEConvert::Float_S24NE4(float *data, const unsigned int samples, uint8_t *dest) + { + int32_t *dst = (int32_t*)dest; +- #ifdef __SSE__ ++ #ifdef __SSE2__ + + const __m128 mul = _mm_set_ps1((float)INT24_MAX+.5f); + unsigned int count = samples; +@@ -835,7 +830,7 @@ unsigned int CAEConvert::Float_S24NE4(float *data, const unsigned int samples, u + } + } + _mm_empty(); +- #else /* no SSE */ ++ #else /* no SSE2 */ + for (uint32_t i = 0; i < samples; ++i) + *dst++ = (safeRound(*data++ * ((float)INT24_MAX+.5f)) & 0xFFFFFF) << 8; + #endif +@@ -929,7 +924,7 @@ unsigned int CAEConvert::Float_S24NE3(float *data, const unsigned int samples, u + unsigned int CAEConvert::Float_S32LE(float *data, const unsigned int samples, uint8_t *dest) + { + int32_t *dst = (int32_t*)dest; +- #ifdef __SSE__ ++ #ifdef __SSE2__ + const __m128 mul = _mm_set_ps1(MUL32); + unsigned int count = samples; + +@@ -989,7 +984,7 @@ unsigned int CAEConvert::Float_S32LE(float *data, const unsigned int samples, ui + _mm_empty(); + #else + +- /* no SIMD */ ++ /* no SSE2 */ + for (uint32_t i = 0; i < samples; ++i, ++data, ++dst) + { + dst[0] = safeRound(data[0] * MUL32); +@@ -1038,7 +1033,7 @@ unsigned int CAEConvert::Float_S32LE_Neon(float *data, const unsigned int sample + unsigned int CAEConvert::Float_S32BE(float *data, const unsigned int samples, uint8_t *dest) + { + int32_t *dst = (int32_t*)dest; +- #ifdef __SSE__ ++ #ifdef __SSE2__ + const __m128 mul = _mm_set_ps1(MUL32); + unsigned int count = samples; + +@@ -1097,7 +1092,7 @@ unsigned int CAEConvert::Float_S32BE(float *data, const unsigned int samples, ui + } + _mm_empty(); + #else +- /* no SIMD */ ++ /* no SSE2 */ + for (uint32_t i = 0; i < samples; ++i, ++data, ++dst) + { + dst[0] = safeRound(data[0] * MUL32); +diff --git a/xbmc/cores/AudioEngine/Utils/AEUtil.cpp b/xbmc/cores/AudioEngine/Utils/AEUtil.cpp +index 6de84dc..2b6e0cd 100644 +--- a/xbmc/cores/AudioEngine/Utils/AEUtil.cpp ++++ b/xbmc/cores/AudioEngine/Utils/AEUtil.cpp +@@ -30,7 +30,7 @@ using namespace std; + + /* declare the rng seed and initialize it */ + unsigned int CAEUtil::m_seed = (unsigned int)(CurrentHostCounter() / 1000.0f); +-#ifdef __SSE__ ++#ifdef __SSE2__ + /* declare the SSE seed and initialize it */ + MEMALIGN(16, __m128i CAEUtil::m_sseSeed) = _mm_set_epi32(CAEUtil::m_seed, CAEUtil::m_seed+1, CAEUtil::m_seed, CAEUtil::m_seed+1); + #endif +@@ -386,7 +386,7 @@ float CAEUtil::FloatRand1(const float min, const float max) + + void CAEUtil::FloatRand4(const float min, const float max, float result[4], __m128 *sseresult/* = NULL */) + { +- #ifdef __SSE__ ++ #ifdef __SSE2__ + /* + this method may be called from other SSE code, we need + to calculate the delta & factor using SSE as the FPU +diff --git a/xbmc/cores/AudioEngine/Utils/AEUtil.h b/xbmc/cores/AudioEngine/Utils/AEUtil.h +index 48cbc3b..6fdb7f2 100644 +--- a/xbmc/cores/AudioEngine/Utils/AEUtil.h ++++ b/xbmc/cores/AudioEngine/Utils/AEUtil.h +@@ -27,6 +27,9 @@ + #ifdef TARGET_WINDOWS + #if _M_IX86_FP>0 && !defined(__SSE__) + #define __SSE__ ++#if _M_IX86_FP>1 && !defined(__SSE2__) ++#define __SSE2__ ++#endif + #endif + #endif + +@@ -36,6 +39,10 @@ + #define __m128 void + #endif + ++#ifdef __SSE2__ ++#include <emmintrin.h> ++#endif ++ + #ifdef __GNUC__ + #define MEMALIGN(b, x) x __attribute__((aligned(b))) + #else +@@ -63,7 +70,7 @@ class CAEUtil + { + private: + static unsigned int m_seed; +- #ifdef __SSE__ ++ #ifdef __SSE2__ + static __m128i m_sseSeed; + #endif + +-- +1.8.4.3 + diff --git a/media-tv/xbmc/xbmc-12.3.ebuild b/media-tv/xbmc/xbmc-12.3.ebuild index 0bdb5ec70d1d..a486acffa4dc 100644 --- a/media-tv/xbmc/xbmc-12.3.ebuild +++ b/media-tv/xbmc/xbmc-12.3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-12.3.ebuild,v 1.1 2013/12/31 00:31:38 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-tv/xbmc/xbmc-12.3.ebuild,v 1.2 2013/12/31 19:18:32 vapier Exp $ EAPI="5" @@ -150,6 +150,7 @@ src_unpack() { src_prepare() { epatch "${FILESDIR}"/${PN}-12.1-nomythtv.patch epatch "${FILESDIR}"/${PN}-9999-no-arm-flags.patch #400617 + epatch "${FILESDIR}"/${PN}-12.3-no-sse2.patch #475266 # Backported fixes EPATCH_MULTI_MSG="Applying patches backported from master..." \ EPATCH_SUFFIX="patch" \ |