From 96c0ecaed56b5845e34dcd541f308fe5562492c8 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 7 Feb 2023 13:50:54 +0100 Subject: [PATCH] curv: init at 0.5 --- pkgs/applications/graphics/curv/default.nix | 68 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 70 insertions(+) create mode 100644 pkgs/applications/graphics/curv/default.nix diff --git a/pkgs/applications/graphics/curv/default.nix b/pkgs/applications/graphics/curv/default.nix new file mode 100644 index 000000000000..6725e525c376 --- /dev/null +++ b/pkgs/applications/graphics/curv/default.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, boost +, eigen +, glm +, libGL +, libpng +, openexr +, tbb +, xorg +, ilmbase +, llvmPackages +}: + +stdenv.mkDerivation rec { + pname = "curv"; + version = "0.5"; + + src = fetchFromGitHub { + owner = "curv3d"; + repo = "curv"; + rev = "refs/tags/${version}"; + hash = "sha256-m4p5uxRk6kEJUilmbQ1zJcQDRvRCV7pkxnqupZJxyjo="; + fetchSubmodules = true; + }; + + strictDeps = true; + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + boost + eigen + glm + libGL + libpng + openexr + tbb + xorg.libX11 + xorg.libXcursor + xorg.libXext + xorg.libXi + xorg.libXinerama + xorg.libXrandr + ] ++ lib.optionals stdenv.isDarwin [ + ilmbase + llvmPackages.openmp + ]; + + # GPU tests do not work in sandbox, instead we do this for sanity + checkPhase = '' + runHook preCheck + test "$($out/bin/curv -x 2 + 2)" -eq "4" + runHook postCheck + ''; + + meta = with lib; { + description = "A 2D and 3D geometric modelling programming language for creating art with maths"; + homepage = "https://github.com/curv3d/curv"; + license = licenses.asl20; + platforms = platforms.all; + broken = stdenv.isDarwin; + maintainers = with maintainers; [ pbsds ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 26e76899a0df..0536656315f8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6803,6 +6803,8 @@ with pkgs; trurl = callPackage ../tools/networking/trurl { }; + curv = callPackage ../applications/graphics/curv { }; + cunit = callPackage ../tools/misc/cunit { }; bcunit = callPackage ../tools/misc/bcunit { };