emacsPackages.lsp-bridge: 0-unstable-2025-01-11 -> 0-unstable-2025-01-22 (#376531)
[NixPkgs.git] / pkgs / development / libraries / vmmlib / default.nix
blob8283a89095c5fb315a637db0944f8df3a9cb856a
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   pkg-config,
7   boost,
8   lapack,
9   Accelerate,
10   CoreGraphics,
11   CoreVideo,
14 stdenv.mkDerivation rec {
15   version = "1.6.2";
16   pname = "vmmlib";
18   src = fetchFromGitHub {
19     owner = "VMML";
20     repo = "vmmlib";
21     rev = "release-${version}";
22     sha256 = "0sn6jl1r5k6ka0vkjsdnn14hb95dqq8158dapby6jk72wqj9kdml";
23   };
25   patches = [
26     ./disable-cpack.patch # disable the need of cpack/rpm
27   ];
29   nativeBuildInputs = [
30     pkg-config
31     cmake
32   ];
33   buildInputs =
34     [
35       boost
36       lapack
37     ]
38     ++ lib.optionals stdenv.hostPlatform.isDarwin [
39       Accelerate
40       CoreGraphics
41       CoreVideo
42     ];
44   doCheck = !stdenv.hostPlatform.isDarwin;
46   checkTarget = "test";
48   meta = with lib; {
49     broken = stdenv.hostPlatform.isDarwin;
50     description = "Vector and matrix math library implemented using C++ templates";
52     longDescription = ''
53       vmmlib is a vector and matrix math library implemented
54       using C++ templates. Its basic functionality includes a vector
55       and a matrix class, with additional functionality for the
56       often-used 3d and 4d vectors and 3x3 and 4x4 matrices.
57       More advanced functionality include solvers, frustum
58       computations and frustum culling classes, and spatial data structures
59     '';
61     license = licenses.bsd2;
62     homepage = "https://github.com/VMML/vmmlib/";
63     maintainers = [ maintainers.adev ];
64     platforms = platforms.all;
65   };