%global forgeurl https://github.com/stevenlovegrove/Pangolin/ %global tag v0.9.1 %global date 20240118 %forgemeta Name: pangolin Version: 0.9.1 Release: %autorelease Summary: Lightweight library for managing OpenGL display / interaction License: MIT URL: %{forgeurl} Source0: %{forgesource} # https://github.com/stevenlovegrove/Pangolin/pull/911 Patch0: pangolin-9cb2e73e543f886c022a695da2b77e2c33198471-fix-packetstream-include.patch Patch1: pangolin-v0.9.1-cmake-gnuinstalldirs.patch BuildRequires: cmake BuildRequires: doxygen BuildRequires: gcc-c++ BuildRequires: ninja-build BuildRequires: pkgconfig(eigen3) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(opengl) %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 %build # E: zero-length /usr/include/pangolin/windowing/X11GlContext.h # E: invalid-soname /usr/lib64/libpango_core.so libpango_core.so # E: invalid-soname /usr/lib64/libpango_display.so libpango_display.so # E: invalid-soname /usr/lib64/libpango_geometry.so libpango_geometry.so # E: invalid-soname /usr/lib64/libpango_glgeometry.so libpango_glgeometry.so # E: invalid-soname /usr/lib64/libpango_image.so libpango_image.so # E: invalid-soname /usr/lib64/libpango_opengl.so libpango_opengl.so # E: invalid-soname /usr/lib64/libpango_packetstream.so libpango_packetstream.so # E: invalid-soname /usr/lib64/libpango_plot.so libpango_plot.so # E: invalid-soname /usr/lib64/libpango_python.so libpango_python.so # E: invalid-soname /usr/lib64/libpango_scene.so libpango_scene.so # E: invalid-soname /usr/lib64/libpango_tools.so libpango_tools.so # E: invalid-soname /usr/lib64/libpango_vars.so libpango_vars.so # E: invalid-soname /usr/lib64/libpango_video.so libpango_video.so # E: invalid-soname /usr/lib64/libpango_windowing.so libpango_windowing.so # E: invalid-soname /usr/lib64/libtinyobj.so libtinyobj.so %cmake -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ %cmake_build %install %cmake_install %files %license LICENCE %doc README.md %{_bindir}/Plotter %{_bindir}/VideoConvert %{_bindir}/VideoJsonPrint %{_bindir}/VideoJsonTransform %{_bindir}/VideoViewer %{_libdir}/libpango_* %{_libdir}/libtinyobj.so %files devel %license LICENCE %doc README.md %{_includedir}/NaturalSort/* %{_includedir}/dynalo/* %{_includedir}/pangolin/* %{_includedir}/sigslot/* %{_includedir}/tinyobj/* %{_libdir}/cmake/Pangolin/* %changelog %autochangelog