From 30613d14ca1b82dee6e32271048521e616544b6c Mon Sep 17 00:00:00 2001 From: movefasta Date: Tue, 21 Feb 2023 15:31:59 +0300 Subject: [PATCH] mayo STEP-viewer & converter --- flake.nix | 8 ++++--- pkgs/misc/mayo/default.nix | 43 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 pkgs/misc/mayo/default.nix diff --git a/flake.nix b/flake.nix index fbdbf78..07b30da 100644 --- a/flake.nix +++ b/flake.nix @@ -23,6 +23,7 @@ blender = pkgs.callPackage ./pkgs/misc/blender { }; bpy = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/bpy { }; pysdf = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/pysdf { }; + mayo = pkgs.libsForQt5.callPackage ./pkgs/misc/mayo { }; in { packages = { @@ -30,6 +31,7 @@ bpy = bpy; pysdf = pysdf; gazebo = ros.humble.gazebo; + mayo = mayo; }; devShells.ros = @@ -68,9 +70,9 @@ RMW_IMPLEMENTATION = "rmw_fastrtps_dynamic_cpp"; }; - devShells.bpy = pkgs.mkShell { packages = [ bpy ]; }; - devShells.pysdf = pkgs.mkShell { packages = [ pysdf ]; }; + devShells.bpy = pkgs.mkShell { packages = [ bpy pysdf ]; }; + devShells.mayo = pkgs.mkShell { packages = [ mayo ]; }; devShells.blender = pkgs.mkShell { packages = [ blender ]; }; } ); -} \ No newline at end of file +} diff --git a/pkgs/misc/mayo/default.nix b/pkgs/misc/mayo/default.nix new file mode 100644 index 0000000..912277b --- /dev/null +++ b/pkgs/misc/mayo/default.nix @@ -0,0 +1,43 @@ +{ lib +, stdenv +, fetchFromGitHub +, qtbase +, qmake +, wrapQtAppsHook +, opencascade-occt +}: + +stdenv.mkDerivation rec { + pname = "mayo"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "fougue"; + repo = "mayo"; + rev = "v${version}"; + hash = "sha256-seRk02jYiABjoO35AG47ioCByBIdLibJ4QHLeXW8cXQ="; + }; + + buildInputs = [ qtbase opencascade-occt ]; + nativeBuildInputs = [ wrapQtAppsHook qmake ]; + propagatedBuildInputs = [ qtbase ]; + + buildPhase = '' + export CASCADE_INC_DIR=${opencascade-occt}/include/opencascade + export CASCADE_LIB_DIR=${opencascade-occt}/lib + qmake ${src} CASCADE_INC_DIR=$CASCADE_INC_DIR CASCADE_LIB_DIR=$CASCADE_LIB_DIR + make -j $NIX_BUILD_CORES + ''; + + installPhase = '' + mkdir -p $out/bin + cp mayo $out/bin + ''; + + meta = with lib; { + description = "3D CAD viewer and converter based on Qt + OpenCascade"; + homepage = "https://github.com/fougue/mayo"; + license = licenses.bsd2; + maintainers = with maintainers; [ movefasta ]; + }; +}