2021-01-19 06:50:56 +00:00
|
|
|
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew
|
2021-04-30 10:32:45 +01:00
|
|
|
, xorg, ffmpeg, libjpeg, libpng, libtiff, eigen
|
2017-08-09 22:14:23 +01:00
|
|
|
, Carbon ? null, Cocoa ? null
|
|
|
|
}:
|
2017-08-08 09:57:10 +01:00
|
|
|
|
2021-04-30 10:32:45 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 13:41:18 +01:00
|
|
|
pname = "pangolin";
|
2017-08-08 09:57:10 +01:00
|
|
|
|
2021-04-30 10:32:45 +01:00
|
|
|
version = "0.6";
|
2017-08-08 09:57:10 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "stevenlovegrove";
|
|
|
|
repo = "Pangolin";
|
2021-04-30 10:32:45 +01:00
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "0abjajxj7lc2yajshimar4w8kf8115prsjnhy83s6jc7cbz63wj8";
|
2017-08-08 09:57:10 +01:00
|
|
|
};
|
|
|
|
|
2021-01-19 06:50:56 +00:00
|
|
|
nativeBuildInputs = [ cmake pkg-config doxygen ];
|
2017-08-08 09:57:10 +01:00
|
|
|
|
2020-10-09 09:29:03 +01:00
|
|
|
buildInputs = [
|
|
|
|
libGL
|
|
|
|
glew
|
|
|
|
xorg.libX11
|
2021-04-30 10:32:45 +01:00
|
|
|
ffmpeg
|
2020-10-09 09:29:03 +01:00
|
|
|
libjpeg
|
|
|
|
libpng
|
|
|
|
libtiff
|
|
|
|
eigen
|
2017-08-09 22:14:23 +01:00
|
|
|
]
|
|
|
|
++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
|
2017-08-08 09:57:10 +01:00
|
|
|
|
|
|
|
# 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.
|
|
|
|
'';
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "https://github.com/stevenlovegrove/Pangolin";
|
2021-01-21 17:00:13 +00:00
|
|
|
license = lib.licenses.mit;
|
|
|
|
maintainers = [ lib.maintainers.expipiplus1 ];
|
|
|
|
platforms = lib.platforms.all;
|
2017-08-08 09:57:10 +01:00
|
|
|
};
|
|
|
|
}
|