2021-02-05 17:12:51 +00:00
|
|
|
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew
|
2023-03-27 19:17:25 +00:00
|
|
|
, xorg, ffmpeg_4, libjpeg, libpng, libtiff, eigen
|
2020-04-24 23:36:52 +00:00
|
|
|
, Carbon ? null, Cocoa ? null
|
|
|
|
}:
|
|
|
|
|
2021-05-03 20:48:10 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2020-04-24 23:36:52 +00:00
|
|
|
pname = "pangolin";
|
|
|
|
|
2024-01-25 14:12:00 +00:00
|
|
|
version = "0.9.1";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "stevenlovegrove";
|
|
|
|
repo = "Pangolin";
|
2021-05-03 20:48:10 +00:00
|
|
|
rev = "v${version}";
|
2024-01-25 14:12:00 +00:00
|
|
|
sha256 = "sha256-B5YuNcJZHjR3dlVs66rySi68j29O3iMtlQvCjTUZBeY=";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
2021-02-05 17:12:51 +00:00
|
|
|
nativeBuildInputs = [ cmake pkg-config doxygen ];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2020-10-11 12:50:04 +00:00
|
|
|
buildInputs = [
|
|
|
|
libGL
|
|
|
|
glew
|
|
|
|
xorg.libX11
|
2023-03-27 19:17:25 +00:00
|
|
|
ffmpeg_4
|
2020-10-11 12:50:04 +00:00
|
|
|
libjpeg
|
|
|
|
libpng
|
|
|
|
libtiff
|
|
|
|
eigen
|
2020-04-24 23:36:52 +00:00
|
|
|
]
|
|
|
|
++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
|
|
|
|
|
|
|
|
# The tests use cmake's findPackage to find the installed version of
|
|
|
|
# pangolin, which isn't what we want (or available).
|
|
|
|
doCheck = false;
|
|
|
|
cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "A lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input";
|
|
|
|
longDescription = ''
|
|
|
|
Pangolin is a lightweight portable rapid development library for managing
|
|
|
|
OpenGL display / interaction and abstracting video input. At its heart is
|
|
|
|
a simple OpenGl viewport manager which can help to modularise 3D
|
|
|
|
visualisation without adding to its complexity, and offers an advanced
|
|
|
|
but intuitive 3D navigation handler. Pangolin also provides a mechanism
|
|
|
|
for manipulating program variables through config files and ui
|
|
|
|
integration, and has a flexible real-time plotter for visualising
|
|
|
|
graphical data.
|
|
|
|
'';
|
|
|
|
homepage = "https://github.com/stevenlovegrove/Pangolin";
|
2021-02-05 17:12:51 +00:00
|
|
|
license = lib.licenses.mit;
|
|
|
|
maintainers = [ lib.maintainers.expipiplus1 ];
|
|
|
|
platforms = lib.platforms.all;
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|