2023-12-26 10:37:57 +01:00
|
|
|
{
|
|
|
|
cmake,
|
2024-06-11 09:33:07 +02:00
|
|
|
desktopToDarwinBundle,
|
2023-12-26 10:37:57 +01:00
|
|
|
eigen,
|
|
|
|
fetchFromGitHub,
|
|
|
|
glm,
|
|
|
|
gobject-introspection,
|
|
|
|
gtkmm4,
|
|
|
|
lib,
|
|
|
|
libepoxy,
|
2024-06-11 09:33:07 +02:00
|
|
|
libossp_uuid,
|
2023-12-26 10:37:57 +01:00
|
|
|
librsvg,
|
|
|
|
libspnav,
|
|
|
|
libuuid,
|
2024-06-11 09:33:07 +02:00
|
|
|
libxml2,
|
|
|
|
llvmPackages_17,
|
2023-12-26 10:37:57 +01:00
|
|
|
meson,
|
|
|
|
ninja,
|
2024-06-11 09:33:07 +02:00
|
|
|
opencascade-occt_7_6,
|
2023-12-26 10:37:57 +01:00
|
|
|
pkg-config,
|
|
|
|
python3,
|
|
|
|
stdenv,
|
2024-04-26 22:24:03 +02:00
|
|
|
wrapGAppsHook3,
|
2023-12-26 10:37:57 +01:00
|
|
|
}:
|
|
|
|
|
2024-06-11 09:33:07 +02:00
|
|
|
let
|
|
|
|
stdenv' = if stdenv.isDarwin then llvmPackages_17.stdenv else stdenv;
|
|
|
|
opencascade-occt = opencascade-occt_7_6;
|
|
|
|
in
|
|
|
|
stdenv'.mkDerivation (finalAttrs: {
|
2023-12-26 10:37:57 +01:00
|
|
|
pname = "dune3d";
|
2024-05-01 14:21:19 +02:00
|
|
|
version = "1.1.0";
|
2023-12-26 10:37:57 +01:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "dune3d";
|
|
|
|
repo = "dune3d";
|
2024-06-11 09:32:43 +02:00
|
|
|
rev = "v${finalAttrs.version}";
|
2024-05-01 14:21:19 +02:00
|
|
|
hash = "sha256-Z/kdOc/MbnnEyRsel3aZGndTAy1eCdAK0Wdta0HxaE4=";
|
2023-12-26 10:37:57 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [
|
|
|
|
gobject-introspection
|
|
|
|
meson
|
|
|
|
ninja
|
|
|
|
pkg-config
|
2024-04-26 22:24:03 +02:00
|
|
|
wrapGAppsHook3
|
2024-06-11 09:33:07 +02:00
|
|
|
libxml2 # for xmllints
|
|
|
|
] ++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
|
|
|
|
|
2023-12-26 10:37:57 +01:00
|
|
|
buildInputs = [
|
|
|
|
cmake
|
|
|
|
eigen
|
|
|
|
glm
|
|
|
|
gtkmm4
|
|
|
|
libepoxy
|
|
|
|
librsvg
|
|
|
|
libspnav
|
2024-06-11 09:33:07 +02:00
|
|
|
(if stdenv.isLinux then libuuid else libossp_uuid)
|
2023-12-26 10:37:57 +01:00
|
|
|
opencascade-occt
|
|
|
|
(python3.withPackages (pp: [
|
|
|
|
pp.pygobject3
|
|
|
|
]))
|
|
|
|
];
|
|
|
|
|
|
|
|
env.CASROOT = opencascade-occt;
|
|
|
|
|
2024-06-11 09:32:43 +02:00
|
|
|
meta = {
|
2023-12-26 10:37:57 +01:00
|
|
|
description = "3D CAD application";
|
|
|
|
homepage = "https://dune3d.org";
|
2024-06-11 09:32:43 +02:00
|
|
|
license = lib.licenses.gpl3Plus;
|
|
|
|
maintainers = with lib.maintainers; [ _0x4A6F jue89 ];
|
2023-12-26 10:37:57 +01:00
|
|
|
mainProgram = "dune3d";
|
2024-06-11 09:33:07 +02:00
|
|
|
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
2023-12-26 10:37:57 +01:00
|
|
|
};
|
2024-06-11 09:32:43 +02:00
|
|
|
})
|