summaryrefslogtreecommitdiff
path: root/user/glm
diff options
context:
space:
mode:
authorMax Rees <maxcrees@me.com>2018-08-19 03:59:42 -0400
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2018-09-02 01:47:26 +0000
commite7ed8925a60a9ab2c56cfd00b798ca0327e2e85a (patch)
tree2bea50e498b0022fa4b929369a6b6b4c488b151b /user/glm
parent7335907fe2ba8758bd034dfb58c155834c882109 (diff)
downloadpackages-e7ed8925a60a9ab2c56cfd00b798ca0327e2e85a.tar.gz
packages-e7ed8925a60a9ab2c56cfd00b798ca0327e2e85a.tar.bz2
packages-e7ed8925a60a9ab2c56cfd00b798ca0327e2e85a.tar.xz
packages-e7ed8925a60a9ab2c56cfd00b798ca0327e2e85a.zip
user/glm: fix big endian build
Diffstat (limited to 'user/glm')
-rw-r--r--user/glm/APKBUILD6
-rw-r--r--user/glm/be.patch167
2 files changed, 171 insertions, 2 deletions
diff --git a/user/glm/APKBUILD b/user/glm/APKBUILD
index f2a984794..93a6d15e7 100644
--- a/user/glm/APKBUILD
+++ b/user/glm/APKBUILD
@@ -8,7 +8,8 @@ url="https://glm.g-truc.net/"
arch="noarch"
license="MIT OR Custom:Happy-Bunny"
makedepends="cmake"
-source="https://github.com/g-truc/glm/releases/download/$pkgver/$pkgname-$pkgver.zip"
+source="https://github.com/g-truc/glm/releases/download/$pkgver/$pkgname-$pkgver.zip
+ be.patch"
builddir="$srcdir/$pkgname"
replaces="glm-dev"
@@ -35,4 +36,5 @@ package() {
make install DESTDIR="$pkgdir"
}
-sha512sums="ac256e8ba515a0a57e27cb9dc79325af7a6f014341c11ba34af604fc2df03ada6979c39c0e5a3fd7526a5dc6dd4af99586e60cefe13bb134ad4df2212193a253 glm-0.9.9.0.zip"
+sha512sums="ac256e8ba515a0a57e27cb9dc79325af7a6f014341c11ba34af604fc2df03ada6979c39c0e5a3fd7526a5dc6dd4af99586e60cefe13bb134ad4df2212193a253 glm-0.9.9.0.zip
+954495cc875b9e70f1957f54cdaa44738268a5a1104036edcdfd74736f8a3385725f29032a533f2a5acbdbfa19d2fe4bc80ef9fdb49d3e8bdc5dc00db86c813a be.patch"
diff --git a/user/glm/be.patch b/user/glm/be.patch
new file mode 100644
index 000000000..ee229322d
--- /dev/null
+++ b/user/glm/be.patch
@@ -0,0 +1,167 @@
+--- glm-0.9.9.0/test/gtc/gtc_packing.cpp
++++ glm-0.9.9.0/test/gtc/gtc_packing.cpp
+@@ -3,6 +3,7 @@
+ #include <glm/gtc/epsilon.hpp>
+ #include <cstdio>
+ #include <vector>
++#include <arpa/inet.h>
+
+ void print_bits(float const& s)
+ {
+@@ -155,7 +156,7 @@
+
+ glm::u8vec4 const v0(0xff, 0x77, 0x0, 0x33);
+ glm::uint32 const p0 = *reinterpret_cast<glm::uint32 const*>(&v0[0]);
+- glm::uint32 const r0 = 0x330077ff;
++ glm::uint32 const r0 = htonl(0xff770033);
+
+ Error += p0 == r0 ? 0 : 1;
+
+--- glm-0.9.9.0/glm/gtc/packing.inl
++++ glm-0.9.9.0/glm/gtc/packing.inl
+@@ -9,6 +9,9 @@
+ #include "../detail/type_half.hpp"
+ #include <cstring>
+ #include <limits>
++extern "C" {
++#include <endian.h>
++}
+
+ namespace glm{
+ namespace detail
+@@ -183,9 +186,15 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ uint x : 3;
+ uint y : 3;
+ uint z : 2;
++#else
++ uint z : 2;
++ uint y : 3;
++ uint x : 3;
++#endif
+ } data;
+ uint8 pack;
+ };
+@@ -194,8 +203,13 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ uint x : 4;
+ uint y : 4;
++#else
++ uint y : 4;
++ uint x : 4;
++#endif
+ } data;
+ uint8 pack;
+ };
+@@ -204,10 +218,17 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ uint x : 4;
+ uint y : 4;
+ uint z : 4;
+ uint w : 4;
++#else
++ uint w : 4;
++ uint z : 4;
++ uint y : 4;
++ uint x : 4;
++#endif
+ } data;
+ uint16 pack;
+ };
+@@ -216,9 +237,15 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ uint x : 5;
+ uint y : 6;
+ uint z : 5;
++#else
++ uint z : 5;
++ uint y : 6;
++ uint x : 5;
++#endif
+ } data;
+ uint16 pack;
+ };
+@@ -227,10 +254,17 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ uint x : 5;
+ uint y : 5;
+ uint z : 5;
+ uint w : 1;
++#else
++ uint w : 1;
++ uint z : 5;
++ uint y : 5;
++ uint x : 5;
++#endif
+ } data;
+ uint16 pack;
+ };
+@@ -239,10 +273,17 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ uint x : 10;
+ uint y : 10;
+ uint z : 10;
+ uint w : 2;
++#else
++ uint w : 2;
++ uint z : 10;
++ uint y : 10;
++ uint x : 10;
++#endif
+ } data;
+ uint32 pack;
+ };
+@@ -251,10 +292,17 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ int x : 10;
+ int y : 10;
+ int z : 10;
+ int w : 2;
++#else
++ int w : 2;
++ int z : 10;
++ int y : 10;
++ int x : 10;
++#endif
+ } data;
+ uint32 pack;
+ };
+@@ -263,10 +311,17 @@
+ {
+ struct
+ {
++#if BYTE_ORDER == LITTLE_ENDIAN
+ uint x : 9;
+ uint y : 9;
+ uint z : 9;
+ uint w : 5;
++#else
++ uint w : 5;
++ uint z : 9;
++ uint y : 9;
++ uint x : 9;
++#endif
+ } data;
+ uint32 pack;
+ };