diff --git a/flake.nix b/flake.nix index 79bb37a..5e8e25a 100644 --- a/flake.nix +++ b/flake.nix @@ -108,6 +108,7 @@ buildPythonPath $out/lib/python${pkgs.python3.pythonVersion}/site-packages ''; }); + bpy-wheel = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/bpy-wheel { }; pysdf = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/pysdf { }; pytorch3d = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/pytorch3d { }; mayo = pkgs.libsForQt5.callPackage ./pkgs/misc/mayo { }; @@ -120,6 +121,7 @@ ansitable = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/ansitable { }; megapose6d = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/megapose6d { inherit webdataset; }; spatialmath = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/spatialmath { inherit ansitable; }; + rcg-pipeline = pkgs.python3Packages.callPackage ./pkgs/development/python-modules/rcg-pipeline { inherit bpy-wheel; }; in { inherit pkgs; @@ -132,7 +134,7 @@ }; packages = { - inherit mayo pysdf fstl unified-planning test-script blender bpy; + inherit mayo pysdf fstl unified-planning test-script blender bpy bpy-wheel rcg-pipeline; }; devShells.ci = pkgs.mkShell { buildInputs = [ pkgs.jq ]; }; @@ -199,7 +201,7 @@ pybullet scipy spatialmath - bpy + rcg-pipeline ]; in pkgs.mkShell { diff --git a/pkgs/development/python-modules/bpy-wheel/default.nix b/pkgs/development/python-modules/bpy-wheel/default.nix new file mode 100644 index 0000000..5b2f05e --- /dev/null +++ b/pkgs/development/python-modules/bpy-wheel/default.nix @@ -0,0 +1,31 @@ +{ buildPythonPackage, fetchPypi, python3Packages, lib, autoPatchelfHook, blender, pythonImportsCheckHook, config, cudaSupport ? config.cudaSupport }: +buildPythonPackage rec { + format = "wheel"; + pname = "bpy"; + version = "4.1.0"; + + src = fetchPypi rec { + inherit pname version format; + sha256 = "sha256-bGOlo3NvYMdbXw0UaKGkP7gRVdilKHdwfPtoAF27dLQ="; + dist = python; + python = "cp311"; + abi = "cp311"; + platform = "manylinux_2_28_x86_64"; + }; + propagatedBuildInputs = with python3Packages; [ requests numpy cython zstandard ]; + buildInputs = blender.buildInputs; + nativeBuildInputs = [ autoPatchelfHook pythonImportsCheckHook ]; + autoPatchelfIgnoreMissingDeps = true; + pythonImportsCheck = [ "bpy" ]; + + meta = with lib; { + description = "3D Creation/Animation/Publishing System"; + homepage = "https://www.blender.org"; + # They comment two licenses: GPLv2 and Blender License, but they + # say: "We've decided to cancel the BL offering for an indefinite period." + # OptiX, enabled with cudaSupport, is non-free. + license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ brothermechanic ]; + }; +} diff --git a/pkgs/development/python-modules/rcg-pipeline/default.nix b/pkgs/development/python-modules/rcg-pipeline/default.nix new file mode 100644 index 0000000..b62d747 --- /dev/null +++ b/pkgs/development/python-modules/rcg-pipeline/default.nix @@ -0,0 +1,45 @@ +{ buildPythonPackage +, fetchgit +, python3Packages +, lib +, autoPatchelfHook +, pythonImportsCheckHook +, config +, cudaSupport ? config.cudaSupport +, numpy +, setuptools +, bpy-wheel +, ... }: + +buildPythonPackage rec { + name = "rcg_pipeline"; + version = "1.0.0"; + format = "pyproject"; + + # src = /home/movefasta/Documents/robossembler/framework; + + src = fetchgit { + url = "https://gitlab.com/robossembler/framework"; + hash = "sha256-iLPphGbIGf7IRdedBSC2yJ2M3ttsHATvtOLot/04AZU="; + rev = "8268db0dec793bfa42d4fcba24c7d442938b7a25"; + }; + sourceRoot = "${src.name}/rcg_pipeline"; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + numpy + bpy-wheel + ]; + + pythonImportsCheck = [ "rcg_pipeline" ]; + + meta = with lib; { + description = "Robossembler CG Pipeline Python Module"; + homepage = "https://gitlab.com/robossembler/framework/rcg_pipeline"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; +}