ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / cu / curv / package.nix
blobf1f66784aa510f65ab0ebcbab7688f439c4b2cfc
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , boost
6 , eigen
7 , glm
8 , libGL
9 , libpng
10 , openexr
11 , tbb
12 , xorg
13 , ilmbase
14 , llvmPackages
17 stdenv.mkDerivation rec {
18   pname = "curv";
19   version = "0.5";
21   src = fetchFromGitHub {
22     owner = "curv3d";
23     repo = "curv";
24     rev = "refs/tags/${version}";
25     hash = "sha256-m4p5uxRk6kEJUilmbQ1zJcQDRvRCV7pkxnqupZJxyjo=";
26     fetchSubmodules = true;
27   };
29   strictDeps = true;
30   nativeBuildInputs = [
31     cmake
32   ];
34   buildInputs = [
35     boost
36     eigen
37     glm
38     libGL
39     libpng
40     openexr
41     tbb
42     xorg.libX11
43     xorg.libXcursor
44     xorg.libXext
45     xorg.libXi
46     xorg.libXinerama
47     xorg.libXrandr
48   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
49     ilmbase
50     llvmPackages.openmp
51   ];
53   # GPU tests do not work in sandbox, instead we do this for sanity
54   checkPhase = ''
55     runHook preCheck
56     test "$($out/bin/curv -x 2 + 2)" -eq "4"
57     runHook postCheck
58   '';
60   meta = with lib; {
61     description = "2D and 3D geometric modelling programming language for creating art with maths";
62     homepage = "https://github.com/curv3d/curv";
63     license = licenses.asl20;
64     platforms = platforms.all;
65     broken = stdenv.hostPlatform.isDarwin;
66     maintainers = with maintainers; [ pbsds ];
67     mainProgram = "curv";
68   };