[packages/GLM] - updated to 1.0.1; now base package contains (optional) shared library, headers are in -devel

qboosh qboosh at pld-linux.org
Mon Apr 29 20:07:25 CEST 2024


commit 6a66edba4cab6a8177232923a5f9d6e17859a85d
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Apr 29 19:49:38 2024 +0200

    - updated to 1.0.1; now base package contains (optional) shared library, headers are in -devel

 GLM.spec  | 65 ++++++++++++++++++++++++++++++++++-----------------------------
 x32.patch | 42 ++++++++++++++++++++++++++++++-----------
 2 files changed, 66 insertions(+), 41 deletions(-)
---
diff --git a/GLM.spec b/GLM.spec
index e2aac7e..07a6a5e 100644
--- a/GLM.spec
+++ b/GLM.spec
@@ -1,67 +1,64 @@
 #
 # Conditional build:
 %bcond_without	tests		# build without tests
-%bcond_with	p7zip		# plain p7zip (compatible with both rpm4/rpm5)
 #
-%define		gitref	47585fde0c49fa77a2bf2fb1d2ead06999fd4b6e
-%define		snap	20230818
-%define		rel	1
-
 Summary:	OpenGL Mathematics (GLM) - C++ mathematics library for GLSL
 Summary(pl.UTF-8):	OpenGL Mathematics (GLM) - biblioteka matematyczna C++ dla GLSL
 Name:		GLM
-Version:	0.9.9.9
-Release:	0.%{snap}.%{rel}
+Version:	1.0.1
+Release:	1
 License:	MIT
-Group:		Development/Libraries
+Group:		Libraries
 #Source0Download: https://github.com/g-truc/glm/releases
-Source0:	https://github.com/g-truc/glm/archive/%{gitref}/%{name}-%{snap}.tar.gz
-# Source0-md5:	b288cb704cca5d1cd46be724ce61f428
+Source0:	https://github.com/g-truc/glm/archive/%{version}/glm-%{version}.tar.gz
+# Source0-md5:	f824ac50e16310a95279032f82cbd341
 Patch0:		x32.patch
 URL:		https://glm.g-truc.net/
-BuildRequires:	cmake >= 3.2
+BuildRequires:	cmake >= 3.6
 %{?with_tests:BuildRequires:	libstdc++-devel}
 BuildRequires:	rpmbuild(macros) >= 1.605
-%if %{with p7zip}
-BuildRequires:	p7zip
-%else
-BuildRequires:	p7zip-standalone
-BuildRequires:	rpm-build >= 5
-%endif
 Requires:	libstdc++-devel
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define		_enable_debug_packages	0
-
 %description
 OpenGL Mathematics (GLM) is a C++ mathematics library for graphics
 software based on the OpenGL Shading Language (GLSL) specification.
 
-GLM is a header only library, there is nothing to build, just include
-it.
-
 %description -l pl.UTF-8
 OpenGL Mathematics (GLM) to biblioteka matematyczna C++ dla programów
 graficznych opartych na specyfikacji OpenGL Shading Language (GLSL).
 
+%package devel
+Summary:	OpenGL Mathematics (GLM) - C++ mathematics library for GLSL (header files)
+Summary(pl.UTF-8):	OpenGL Mathematics (GLM) - biblioteka matematyczna C++ dla GLSL (pliki nagłówkowe)
+Group:		Development/Libraries
+Requires:	libstdc++-devel
+# no base dependency - can be used as header-only library
+# not noarch due to paths in cmake configs
+
+%description devel
+OpenGL Mathematics (GLM) is a C++ mathematics library for graphics
+software based on the OpenGL Shading Language (GLSL) specification.
+
+%description devel -l pl.UTF-8
+OpenGL Mathematics (GLM) to biblioteka matematyczna C++ dla programów
+graficznych opartych na specyfikacji OpenGL Shading Language (GLSL).
+
 %prep
-%if %{with p7zip}
-%setup -q -c -T -n glm
-7z x %{SOURCE0} -o..
-%else
-%setup -q -n glm-%{gitref}
-%endif
+%setup -q -n glm-%{version}
 %patch0 -p1
 
 %build
 mkdir build
 cd build
-CXXFLAGS="%{rpmcxxflags} -fno-ipa-modref" \
+# change CMAKE_INSTALL_DATAROOTDIR to arch-dependent (files contain arch-dependent libglm.so paths)
 %cmake .. \
+	-DCMAKE_INSTALL_DATAROOTDIR=%{_libdir}/cmake \
 	-DGLM_TEST_ENABLE:BOOL=%{!?with_tests:OFF}%{?with_tests:ON}
 
-%if %{with tests}
 %{__make}
+
+%if %{with tests}
 %{__make} test
 %endif
 
@@ -74,8 +71,16 @@ rm -rf $RPM_BUILD_ROOT
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 %doc manual.md readme.md
+%attr(755,root,root) %{_libdir}/libglm.so
+
+%files devel
+%defattr(644,root,root,755)
+%doc manual.md readme.md
 %{_includedir}/glm
 %{_libdir}/cmake/glm
diff --git a/x32.patch b/x32.patch
index 00f7665..8cf9fdf 100644
--- a/x32.patch
+++ b/x32.patch
@@ -1,17 +1,37 @@
---- glm/test/core/core_setup_message.cpp.orig	2020-03-19 23:36:32.000000000 +0100
-+++ glm/test/core/core_setup_message.cpp	2020-03-19 23:43:46.417701188 +0100
-@@ -155,7 +155,13 @@
+--- glm-1.0.1/test/core/core_setup_message.cpp.orig	2024-02-27 18:19:47.000000000 +0100
++++ glm-1.0.1/test/core/core_setup_message.cpp	2024-04-29 17:54:10.823524118 +0200
+@@ -223,8 +223,14 @@ static int test_compiler()
+ static int test_model()
  {
  	int Error = 0;
- 	
+-	
 -	Error += ((sizeof(void*) == 4) && (GLM_MODEL == GLM_MODEL_32)) || ((sizeof(void*) == 8) && (GLM_MODEL == GLM_MODEL_64)) ? 0 : 1;
-+	Error += 
-+		((sizeof(void*) == 4) && (GLM_MODEL == GLM_MODEL_32)) || 
-+		((sizeof(void*) == 8) && (GLM_MODEL == GLM_MODEL_64))
-+#ifdef __ILP32__
-+		|| ((sizeof(void*) == 4) && (GLM_MODEL == GLM_MODEL_64))
++
++	bool supported64 =
++#if defined(__x86_64__) && defined(__ILP32__)
++		true;
++#else
++		(sizeof(void*) == 8);
 +#endif
-+		? 0 : 1;
++	Error += ((sizeof(void*) == 4) && (GLM_MODEL == GLM_MODEL_32)) || (supported64 && (GLM_MODEL == GLM_MODEL_64)) ? 0 : 1;
  	
- 	if(GLM_MODEL == GLM_MODEL_32)
+ #	if GLM_MODEL == GLM_MODEL_32
  		std::printf("GLM_MODEL_32\n");
+--- glm-1.0.1/glm/gtx/string_cast.inl.orig	2024-02-27 18:19:47.000000000 +0100
++++ glm-1.0.1/glm/gtx/string_cast.inl	2024-04-29 17:54:31.413345096 +0200
+@@ -58,7 +58,6 @@ namespace detail
+ 		GLM_FUNC_QUALIFIER static char const * value() {return "%f";}
+ 	};
+ 
+-#	if GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC
+ 	template<>
+ 	struct literal<uint64_t, false>
+ 	{
+@@ -70,7 +69,6 @@ namespace detail
+ 	{
+ 		GLM_FUNC_QUALIFIER static char const * value() {return "%lld";}
+ 	};
+-#	endif//GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC
+ 
+ 	template<typename T>
+ 	struct prefix{};
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/GLM.git/commitdiff/6a66edba4cab6a8177232923a5f9d6e17859a85d



More information about the pld-cvs-commit mailing list