diff --git a/hosts/Disco.nix b/hosts/Disco.nix index e47775f..4d74da1 100644 --- a/hosts/Disco.nix +++ b/hosts/Disco.nix @@ -67,9 +67,12 @@ gthumb gimp tenacity + openscad freecad solvespace + (pkgs.callPackage ../packages/dune3d.nix {}) + vscodium marktext tor-browser-bundle-bin diff --git a/packages/dune3d.nix b/packages/dune3d.nix new file mode 100644 index 0000000..32feed2 --- /dev/null +++ b/packages/dune3d.nix @@ -0,0 +1,65 @@ +{ + cmake, + eigen, + fetchFromGitHub, + glm, + gobject-introspection, + gtkmm4, + lib, + libepoxy, + librsvg, + libspnav, + libuuid, + meson, + ninja, + opencascade-occt, + pkg-config, + python3, + gcc13Stdenv, + wrapGAppsHook, +}: + +gcc13Stdenv.mkDerivation rec { + pname = "dune3d"; + version = "84c1129"; + + src = fetchFromGitHub { + owner = "dune3d"; + repo = "dune3d"; + rev = "84c11294c38b20503f480765f7226500a834ee3c"; + hash = "sha256-77V02mowDbZR2a42WDqzcwz+J4aY64yueDqPeVTpUCI="; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkg-config + wrapGAppsHook + ]; + buildInputs = [ + cmake + eigen + glm + gtkmm4 + libepoxy + librsvg + libspnav + libuuid + opencascade-occt + (python3.withPackages (pp: [ + pp.pygobject3 + ])) + ]; + + env.CASROOT = opencascade-occt; + + meta = with lib; { + description = "3D CAD application"; + homepage = "https://dune3d.org"; + license = licenses.gpl3Plus; + mainProgram = "dune3d"; + platforms = platforms.linux; + }; +} +