commit f1cb1c71c79dcf3d4ef3c012b870e375d93324b5
Author: Jan Rękorajski <[email protected]>
Date:   Tue Nov 5 00:21:34 2024 +0100

    - new

 install-cmake.patch     | 18 +++++++++++
 install-pkgconfig.patch | 22 +++++++++++++
 manifold.spec           | 84 +++++++++++++++++++++++++++++++++++++++++++++++++
 sonames.patch           | 49 +++++++++++++++++++++++++++++
 4 files changed, 173 insertions(+)
---
diff --git a/manifold.spec b/manifold.spec
new file mode 100644
index 0000000..2f1777c
--- /dev/null
+++ b/manifold.spec
@@ -0,0 +1,84 @@
+# This is what openscad@master needs
+%define        hash    22c66051dfdbcefa2012e30dd12c9b5a20f89a01
+%define        snap    %(echo %{hash} | cut -c 1-7)
+Summary:       Aeometry library dedicated to creating and operating on 
manifold triangle meshes
+Name:          manifold
+Version:       2.5.1
+Release:       1
+License:       Apache v2.0
+Group:         Libraries
+Source0:       
https://github.com/elalish/manifold/archive/%{snap}/%{name}-%{version}-%{snap}.tar.gz
+# Source0-md5: f88f9a9314a92a6c3fb71c6fc242ae64
+Patch0:                install-pkgconfig.patch
+Patch1:                install-cmake.patch
+Patch2:                sonames.patch
+URL:           https://github.com/elalish/manifold
+BuildRequires: Clipper2-devel
+BuildRequires: cmake
+BuildRequires: tbb-devel
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Manifold is a geometry library dedicated to creating and operating on
+manifold triangle meshes. A manifold mesh is a mesh that represents a
+solid object, and so is very important in manufacturing, CAD,
+structural analysis, etc.
+
+%package devel
+Summary:       Header files for %{name} library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki %{name}
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description devel
+Header files for %{name} library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki %{name}.
+
+%prep
+%setup -q -n %{name}-%{hash}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+%build
+mkdir -p build
+cd build
+%cmake ../ \
+       -DMANIFOLD_PAR=TBB
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C build install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS LICENSE README.md
+%attr(755,root,root) %{_libdir}/libmanifold.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmanifold.so.2
+%attr(755,root,root) %{_libdir}/libcross_section.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcross_section.so.2
+%attr(755,root,root) %{_libdir}/libpolygon.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpolygon.so.2
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmanifold.so
+%attr(755,root,root) %{_libdir}/libcross_section.so
+%attr(755,root,root) %{_libdir}/libpolygon.so
+# C bindings
+%attr(755,root,root) %{_libdir}/libmanifoldc.so
+%{_includedir}/manifold
+%{_libdir}/cmake/manifold
+%{_pkgconfigdir}/manifold.pc
diff --git a/install-cmake.patch b/install-cmake.patch
new file mode 100644
index 0000000..2f01234
--- /dev/null
+++ b/install-cmake.patch
@@ -0,0 +1,18 @@
+--- manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/CMakeLists.txt~  
2024-11-04 23:35:23.000000000 +0100
++++ manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/CMakeLists.txt   
2024-11-04 23:36:42.051314751 +0100
+@@ -162,13 +162,13 @@
+   VERSION ${MANIFOLD_VERSION}
+   COMPATIBILITY SameMajorVersion
+ )
+-install(EXPORT manifoldTargets DESTINATION ${CMAKE_INSTALL_DATADIR}/manifold)
++install(EXPORT manifoldTargets DESTINATION 
${CMAKE_INSTALL_LIBDIR}/cmake/manifold)
+ configure_file(manifoldConfig.cmake.in 
${CMAKE_CURRENT_BINARY_DIR}/manifoldConfig.cmake @ONLY)
+ install(FILES
+   ${CMAKE_CURRENT_SOURCE_DIR}/manifoldDeps.cmake
+   ${CMAKE_CURRENT_BINARY_DIR}/cmake/manifoldConfigVersion.cmake
+   ${CMAKE_CURRENT_BINARY_DIR}/manifoldConfig.cmake
+-  DESTINATION ${CMAKE_INSTALL_DATADIR}/manifold
++  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/manifold
+ )
+ 
+ if(MANIFOLD_CROSS_SECTION)
diff --git a/install-pkgconfig.patch b/install-pkgconfig.patch
new file mode 100644
index 0000000..6bca8f2
--- /dev/null
+++ b/install-pkgconfig.patch
@@ -0,0 +1,22 @@
+From fa6a6325456f89228e27cdd3e1bae574733c5c33 Mon Sep 17 00:00:00 2001
+From: Chris Mayo <[email protected]>
+Date: Mon, 23 Sep 2024 15:53:28 +0100
+Subject: [PATCH] Install manifold.pc under CMAKE_INSTALL_LIBDIR (#946)
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 048700e96..f551322d0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -176,7 +176,7 @@ if(MANIFOLD_CROSS_SECTION)
+ endif()
+ configure_file(manifold.pc.in ${CMAKE_CURRENT_BINARY_DIR}/manifold.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifold.pc
+-  DESTINATION lib/pkgconfig)
++  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ 
+ endif()
+ 
diff --git a/sonames.patch b/sonames.patch
new file mode 100644
index 0000000..e6c321d
--- /dev/null
+++ b/sonames.patch
@@ -0,0 +1,49 @@
+--- 
manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/src/cross_section/CMakeLists.txt~
        2024-09-16 06:35:55.000000000 +0200
++++ 
manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/src/cross_section/CMakeLists.txt
 2024-11-04 23:58:20.163463086 +0100
+@@ -29,6 +29,9 @@
+         PRIVATE Clipper2)
+ endif()
+ 
++set_property(TARGET cross_section PROPERTY VERSION "${MANIFOLD_VERSION}")
++set_property(TARGET cross_section PROPERTY SOVERSION 2)
++
+ target_compile_options(${PROJECT_NAME} PRIVATE ${MANIFOLD_FLAGS})
+ target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17)
+ 
+--- 
manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/src/polygon/CMakeLists.txt~   
   2024-09-16 06:35:55.000000000 +0200
++++ 
manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/src/polygon/CMakeLists.txt    
   2024-11-04 23:58:56.379879678 +0100
+@@ -24,6 +24,9 @@
+     PRIVATE $<BUILD_INTERFACE:collider>
+ )
+ 
++set_property(TARGET polygon PROPERTY VERSION "${MANIFOLD_VERSION}")
++set_property(TARGET polygon PROPERTY SOVERSION 2)
++
+ target_compile_options(${PROJECT_NAME} PRIVATE ${MANIFOLD_FLAGS})
+ target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17)
+ 
+--- manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/CMakeLists.txt~  
2024-11-04 23:53:54.000000000 +0100
++++ manifold-22c66051dfdbcefa2012e30dd12c9b5a20f89a01/CMakeLists.txt   
2024-11-05 00:00:52.049660626 +0100
+@@ -17,6 +17,11 @@
+ 
+ set(CMAKE_VERBOSE_MAKEFILE ON)
+ 
++set(MANIFOLD_VERSION_MAJOR 2)
++set(MANIFOLD_VERSION_MINOR 5)
++set(MANIFOLD_VERSION_PATCH 1)
++set(MANIFOLD_VERSION 
"${MANIFOLD_VERSION_MAJOR}.${MANIFOLD_VERSION_MINOR}.${MANIFOLD_VERSION_PATCH}")
++
+ if(EMSCRIPTEN)
+   set(JSBIND_DEFAULT ON)
+ else()
+@@ -148,10 +153,6 @@
+ 
+ # installation related
+ 
+-set(MANIFOLD_VERSION_MAJOR 2)
+-set(MANIFOLD_VERSION_MINOR 5)
+-set(MANIFOLD_VERSION_PATCH 1)
+-set(MANIFOLD_VERSION 
"${MANIFOLD_VERSION_MAJOR}.${MANIFOLD_VERSION_MINOR}.${MANIFOLD_VERSION_PATCH}")
+ set_property(TARGET manifold PROPERTY VERSION "${MANIFOLD_VERSION}")
+ set_property(TARGET manifold PROPERTY SOVERSION 2)
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/manifold.git/commitdiff/f1cb1c71c79dcf3d4ef3c012b870e375d93324b5

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to