summaryrefslogtreecommitdiff
path: root/repo/system/glm
diff options
context:
space:
mode:
Diffstat (limited to 'repo/system/glm')
-rw-r--r--repo/system/glm/fix-endian-test.patch30
-rw-r--r--repo/system/glm/glm.pc7
-rw-r--r--repo/system/glm/glm.xibuild35
3 files changed, 72 insertions, 0 deletions
diff --git a/repo/system/glm/fix-endian-test.patch b/repo/system/glm/fix-endian-test.patch
new file mode 100644
index 0000000..ba2cce4
--- /dev/null
+++ b/repo/system/glm/fix-endian-test.patch
@@ -0,0 +1,30 @@
+diff --git a/test/gtc/gtc_packing.cpp b/test/gtc/gtc_packing.cpp
+index 5830999..86167c5 100644
+--- a/test/gtc/gtc_packing.cpp
++++ b/test/gtc/gtc_packing.cpp
+@@ -5,6 +5,8 @@
+ #include <cstdio>
+ #include <vector>
+
++#include <endian.h>
++
+ void print_bits(float const& s)
+ {
+ union
+@@ -154,6 +156,7 @@ int test_U3x10_1x2()
+ Error += glm::all(glm::equal(v0, v1)) ? 0 : 1;
+ }
+
++#if BYTE_ORDER == LITTLE_ENDIAN
+ glm::u8vec4 const v0(0xff, 0x77, 0x0, 0x33);
+ glm::uint32 const p0 = *reinterpret_cast<glm::uint32 const*>(&v0[0]);
+ glm::uint32 const r0 = 0x330077ff;
+@@ -165,7 +168,7 @@ int test_U3x10_1x2()
+ glm::uint32 const r1 = 0xc001dcff;
+
+ Error += p1 == r1 ? 0 : 1;
+-
++#endif
+ return Error;
+ }
+
diff --git a/repo/system/glm/glm.pc b/repo/system/glm/glm.pc
new file mode 100644
index 0000000..e3bb5ac
--- /dev/null
+++ b/repo/system/glm/glm.pc
@@ -0,0 +1,7 @@
+prefix=/usr
+includedir=${prefix}/include
+
+Name: GLM
+Description: OpenGL Mathematics
+Version: 0.9.9
+Cflags: -I${includedir}
diff --git a/repo/system/glm/glm.xibuild b/repo/system/glm/glm.xibuild
new file mode 100644
index 0000000..cd918c3
--- /dev/null
+++ b/repo/system/glm/glm.xibuild
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+NAME="glm"
+DESC="C++ mathematics library for graphics programming"
+
+MAKEDEPS="cmake "
+DEPS="musl "
+
+PKG_VER=0.9.9.8
+SOURCE="https://github.com/g-truc/glm/archive/refs/tags/$PKG_VER/glm-$PKG_VER.tar.gz"
+ADDITIONAL="
+fix-endian-test.patch
+glm.pc
+"
+
+build () {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DBUILD_STATIC_LIBS=OFF
+ cmake --build build
+}
+
+package () {
+
+ mkdir -p $PKG_DEST/usr/include/
+ cp -r glm $PKG_DEST/usr/include/
+
+ mkdir -p $PKG_DEST/usr/share/doc/
+ cp -r doc $PKG_DEST/usr/share/doc/glm
+
+ mkdir -p $PKG_DEST/usr/lib/pkgconfig
+ cp glm.pc $PKG_DEST/usr/lib/pkgconfig/
+}