%global forgeurl https://github.com/stevenlovegrove/Pangolin/ %global tag v0.9.2 %global date 20240802 %forgemeta Name: pangolin Version: 0.9.2 Release: %autorelease Summary: Lightweight library for managing OpenGL display / interaction License: MIT AND BSD-2-Clause AND BSD-3-Clause AND BSL-1.0 AND OFL-1.1 AND Zlib # BSD-2-Clause # components/pango_core/include/pangolin/utils/picojson.h # BSD-3-Clause # cmake/Findepoxy.cmake # Zlib # components/pango_core/src/avx_math.cpp URL: %{forgeurl} Source0: %{forgesource} BuildRequires: cmake BuildRequires: doxygen BuildRequires: gcc-c++ BuildRequires: msimonson-anonymouspro-fonts BuildRequires: ninja-build BuildRequires: pkgconfig(catch2) BuildRequires: pkgconfig(eigen3) BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(opengl) BuildRequires: pkgconfig(pybind11) BuildRequires: python3-devel BuildRequires: rapidxml-devel # This is a (butchered) derivative of picojson, incorporated into the # Pangolin source tree. Provides: bundled(picojson) = 1.3.0 %description Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data. The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking. %package devel Requires: %{name}%{?_isa} = %{version}-%{release} Summary: Development files for Pangolin %description devel Devel information for Pangolin. %prep %forgeautosetup -p1 # use system pybind11 rm -rf components/pango_python/pybind11 # use system rapidxml rm -rf components/pango_core/include/pangolin/utils/xml # use system Anonymous Pro.ttf rm -rf components/pango_opengl/src/fonts/* install -p -m 0644 /usr/share/fonts/msimonson-anonymouspro/Anonymous\ Pro.ttf components/pango_opengl/src/fonts/AnonymousPro.ttf %build %cmake -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_TESTS=ON \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TOOLS=OFF \ -DBUILD_EXAMPLES=OFF \ %cmake_build %install %cmake_install %check %ctest %files %license LICENCE %license components/pango_core/include/NaturalSort/LICENSE.md %doc README.md %{_libdir}/libpango_*.so.0 %{_libdir}/libpango_*.so.0.9.2 %{_libdir}/libtinyobj.so.0 %{_libdir}/libtinyobj.so.0.9.2 %files devel %{_includedir}/NaturalSort %{_includedir}/dynalo %{_includedir}/pangolin %{_includedir}/sigslot %{_includedir}/tinyobj %{_libdir}/cmake/Pangolin %{_libdir}/libpango_core.so %{_libdir}/libpango_display.so %{_libdir}/libpango_geometry.so %{_libdir}/libpango_glgeometry.so %{_libdir}/libpango_image.so %{_libdir}/libpango_opengl.so %{_libdir}/libpango_packetstream.so %{_libdir}/libpango_plot.so %{_libdir}/libpango_python.so %{_libdir}/libpango_scene.so %{_libdir}/libpango_tools.so %{_libdir}/libpango_vars.so %{_libdir}/libpango_video.so %{_libdir}/libpango_windowing.so %{_libdir}/libtinyobj.so %changelog %autochangelog