From 8a57bfa841e77a171161376986e224657a48eaeb Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Sat, 16 Aug 2025 11:36:33 +0200 Subject: [PATCH 1/3] freecad: 1.0.1 -> 1.0.2 Tag: https://github.com/FreeCAD/FreeCAD/releases/tag/1.0.2 --- pkgs/by-name/fr/freecad/package.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/fr/freecad/package.nix b/pkgs/by-name/fr/freecad/package.nix index 7b0ccda70fe5..11fa66be6a23 100644 --- a/pkgs/by-name/fr/freecad/package.nix +++ b/pkgs/by-name/fr/freecad/package.nix @@ -57,13 +57,13 @@ in freecad-utils.makeCustomizable ( stdenv.mkDerivation (finalAttrs: { pname = "freecad"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "FreeCAD"; repo = "FreeCAD"; tag = finalAttrs.version; - hash = "sha256-VFTNawXxu2ofjj2Frg4OfVhiMKFywBhm7lZunP85ZEQ="; + hash = "sha256-J//O/ABMFa3TFYwR0wc8d1UTA5iSFnEP2thOjuCN+uE="; fetchSubmodules = true; }; @@ -113,11 +113,6 @@ freecad-utils.makeCustomizable ( url = "https://github.com/FreeCAD/FreeCAD/commit/8e04c0a3dd9435df0c2dec813b17d02f7b723b19.patch?full_index=1"; hash = "sha256-H6WbJFTY5/IqEdoi5N+7D4A6pVAmZR4D+SqDglwS18c="; }) - # https://github.com/FreeCAD/FreeCAD/pull/22221 - (fetchpatch { - url = "https://github.com/FreeCAD/FreeCAD/commit/3d2b7dc9c7ac898b30fe469b7cbd424ed1bca0a2.patch?full_index=1"; - hash = "sha256-XCQdv/+dYdJ/ptA2VKrD63qYILyaP276ISMkmWLtT30="; - }) # Inform Coin to use EGL when on Wayland # https://github.com/FreeCAD/FreeCAD/pull/21917 (fetchpatch { From 7138517a7375b593a317cdabf10bf09081e444ed Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Wed, 6 Aug 2025 15:10:14 +0200 Subject: [PATCH 2/3] freecad: remove mpi dependency According to upstream, "Med Fichier can require MPI". We do not have Med Fichier, so we can remove mpi. If this causes issues, it should be reverted. However, FEM still works, so this is probably fine. --- pkgs/by-name/fr/freecad/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/fr/freecad/package.nix b/pkgs/by-name/fr/freecad/package.nix index 11fa66be6a23..c7985971f325 100644 --- a/pkgs/by-name/fr/freecad/package.nix +++ b/pkgs/by-name/fr/freecad/package.nix @@ -16,7 +16,6 @@ libspnav, libXmu, medfile, - mpi, ninja, ode, opencascade-occt, @@ -87,7 +86,6 @@ freecad-utils.makeCustomizable ( libGLU libXmu medfile - mpi ode vtk xercesc From c7e08edcf0761463a2d89a9688c96fc07cb30de4 Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Tue, 12 Aug 2025 20:08:59 +0200 Subject: [PATCH 3/3] freecad: enable gmsh integration --- pkgs/by-name/fr/freecad/package.nix | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/fr/freecad/package.nix b/pkgs/by-name/fr/freecad/package.nix index c7985971f325..49fa3eb7c0d6 100644 --- a/pkgs/by-name/fr/freecad/package.nix +++ b/pkgs/by-name/fr/freecad/package.nix @@ -31,6 +31,8 @@ zlib, qt6, nix-update-script, + gmsh, + which, }: let pythonDeps = with python3Packages; [ @@ -119,6 +121,11 @@ freecad-utils.makeCustomizable ( }) ]; + postPatch = '' + substituteInPlace src/Mod/Fem/femmesh/gmshtools.py \ + --replace-fail 'self.gmsh_bin = "gmsh"' 'self.gmsh_bin = "${lib.getExe gmsh}"' + ''; + cmakeFlags = [ "-Wno-dev" # turns off warnings which otherwise makes it hard to see what is going on "-DBUILD_DRAWING=ON" @@ -145,12 +152,19 @@ freecad-utils.makeCustomizable ( dontWrapGApps = true; - qtWrapperArgs = [ - "--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1" - "--prefix PATH : ${libredwg}/bin" - "--prefix PYTHONPATH : ${python3Packages.makePythonPath pythonDeps}" - "\${gappsWrapperArgs[@]}" - ]; + qtWrapperArgs = + let + binPath = lib.makeBinPath [ + libredwg + which # for locating tools + ]; + in + [ + "--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1" + "--prefix PATH : ${binPath}" + "--prefix PYTHONPATH : ${python3Packages.makePythonPath pythonDeps}" + "\${gappsWrapperArgs[@]}" + ]; postFixup = '' mv $out/share/doc $out