all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#74538] [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements
@ 2024-11-25 21:56 Vincent Legoll
  2024-11-25 22:00 ` [bug#74538] [PATCH 1/2] gnu: Add ondsel-solver Vincent Legoll
  2024-11-26 14:24 ` bug#74538: [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements Guillaume Le Vaillant
  0 siblings, 2 replies; 4+ messages in thread
From: Vincent Legoll @ 2024-11-25 21:56 UTC (permalink / raw)
  To: 74538; +Cc: Vincent Legoll

This series updates FreeCAD to the recent 1.0.0.

This also unbundles the onsdel-solver, which is added as a separate
package. Some other 3rdparty code is unbundled.

The VTK patch is not required any more, it has been merged upstream
in d0fb2b8b29fe0428d9dd8aa790b0d6e45c8a9516.

This version has been tested a bit (through a guix pack, transplanted
onto another distribution): created some geometry, meshed & exported
as STL.

The UI has been modified, but overall the experience is good,
progress has definitely been made. Kudos to the FreeCAD team.

Vincent Legoll (2):
  gnu: Add ondsel-solver.
  gnu: freecad: Update to 1.0.0.

 gnu/local.mk                               |  1 -
 gnu/packages/engineering.scm               | 50 +++++++++++++++++++---
 gnu/packages/patches/freecad-vtk-9.3.patch | 43 -------------------
 3 files changed, 43 insertions(+), 51 deletions(-)
 delete mode 100644 gnu/packages/patches/freecad-vtk-9.3.patch


base-commit: 047967c42f237695d5af2af53321c70f157685a3
-- 
2.46.0





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#74538] [PATCH 1/2] gnu: Add ondsel-solver.
  2024-11-25 21:56 [bug#74538] [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements Vincent Legoll
@ 2024-11-25 22:00 ` Vincent Legoll
  2024-11-25 22:00   ` [bug#74538] [PATCH 2/2] gnu: freecad: Update to 1.0.0 Vincent Legoll
  2024-11-26 14:24 ` bug#74538: [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements Guillaume Le Vaillant
  1 sibling, 1 reply; 4+ messages in thread
From: Vincent Legoll @ 2024-11-25 22:00 UTC (permalink / raw)
  To: 74538; +Cc: Vincent Legoll

* gnu/packages/engineering.scm (ondsel-solver): New variable.

Change-Id: Ie966b13d1ec5351ef8b9f2459780f3da47f96db8
Signed-off-by: Vincent Legoll <vincent.legoll@gmail.com>
---
 gnu/packages/engineering.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 3ceeb4425a..5178043a52 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
 ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
-;;; Copyright © 2020,2021 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020,2021,2024 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2020, 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
@@ -2930,6 +2930,29 @@ (define-public emacs-scad-mode
 OpenSCAD code.  It supports syntax highlighting, indenting and refilling of
 comments.")))
 
+(define-public ondsel-solver
+  (package
+    (name "ondsel-solver")
+    ;; There's no tagged release
+    (version "2e3659c4bce3e6885269e0cb3d640261b2a91108")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Ondsel-Development/OndselSolver")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1bgk3asyz47r1kvdgcz8q7sh1g29przdsx9ib1jqqbc0nv8ww68v"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f)) ;; Tests require Google's gtest and gmock
+    ;; The company is shutting down, so https://ondsel.com may not exist for long
+    (home-page "https://github.com/Ondsel-Development/OndselSolver")
+    (synopsis "Assembly Constraints and Multibody Dynamics code")
+    (description "Used by FreeCAD 1.0.0 for its new Assembly workbench")
+    (license license:lgpl2.1+)))
+
 (define-public freecad
   (package
     (name "freecad")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#74538] [PATCH 2/2] gnu: freecad: Update to 1.0.0.
  2024-11-25 22:00 ` [bug#74538] [PATCH 1/2] gnu: Add ondsel-solver Vincent Legoll
@ 2024-11-25 22:00   ` Vincent Legoll
  0 siblings, 0 replies; 4+ messages in thread
From: Vincent Legoll @ 2024-11-25 22:00 UTC (permalink / raw)
  To: 74538; +Cc: Vincent Legoll

* gnu/packages/patches/freecad-vtk-9.3.patch: Has been upstreamed, remove.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/engineering (freecad)[source]: Update to 1.0.0,
  remove patches, add snippet to unbundle some 3rdparty code.
  [native-inputs]: Add c++-gsl.
  [inputs]: Add onsdel-solver, yaml-cpp.
  [configure-flags]: Add some flags.

Change-Id: I3005a3b5cccc8aae4129a49e123fd5ab8293b3f2
Signed-off-by: Vincent Legoll <vincent.legoll@gmail.com>
---
 gnu/local.mk                               |  1 -
 gnu/packages/engineering.scm               | 25 ++++++++++---
 gnu/packages/patches/freecad-vtk-9.3.patch | 43 ----------------------
 3 files changed, 19 insertions(+), 50 deletions(-)
 delete mode 100644 gnu/packages/patches/freecad-vtk-9.3.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 04e9b1c0fd..c89fd88282 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1284,7 +1284,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/fpc-reproducibility.patch		\
   %D%/packages/patches/fpc-glibc-2.34-compat.patch		\
   %D%/packages/patches/fpm-newer-clamp-fix.patch		\
-  %D%/packages/patches/freecad-vtk-9.3.patch		\
   %D%/packages/patches/freedink-engine-fix-sdl-hints.patch	\
   %D%/packages/patches/freeimage-libtiff-compat.patch		\
   %D%/packages/patches/freeimage-libraw-0.21-compat.patch	\
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 5178043a52..125f8fdfea 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2956,7 +2956,7 @@ (define-public ondsel-solver
 (define-public freecad
   (package
     (name "freecad")
-    (version "0.21.2")
+    (version "1.0.0")
     (source
      (origin
        (method git-fetch)
@@ -2965,12 +2965,19 @@ (define-public freecad
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0s720q6vxlh78jzahqp69nl8wagb42l05dym5aqhfnr31dx666hc"))
-       ;; https://github.com/FreeCAD/FreeCAD/pull/11496
-       (patches (search-patches "freecad-vtk-9.3.patch"))))
+        (base32 "0wwymcfgi0cybj7m6awflk8c7n6iy97lpgpfhfncx3zwvjrxv588"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; not required, because 3D mouse support if OFF
+           (delete-file-recursively "src/3rdParty/3Dconnexion")
+           (delete-file-recursively "src/3rdParty/GSL")           ;; c++-gsl
+           (delete-file-recursively "src/3rdParty/OndselSolver")  ;; ondsel-solver
+           (delete-file-recursively "src/3rdParty/OpenGL")))))    ;; glext.h from mesa
     (build-system qt-build-system)
     (native-inputs
-     (list doxygen
+     (list c++-gsl
+           doxygen
            graphviz
            qttools-5
            pkg-config
@@ -3000,6 +3007,7 @@ (define-public freecad
            libxmu
            lz4
            netcdf
+           ondsel-solver
            opencascade-occt
            openmpi
            proj
@@ -3022,14 +3030,19 @@ (define-public freecad
            tbb-2020                     ; Same version as opencascade-occt
            vtk
            xerces-c
+           yaml-cpp
            zlib))
     (arguments
-     `(#:tests? #f                      ; Project has no tests
+     `(#:tests? #f  ;; Project has tests, but they are a pain to build
        #:configure-flags
        ,#~(list
            "-DBUILD_QT5=ON"
            "-DBUILD_FLAT_MESH:BOOL=ON"
            "-DBUILD_ENABLE_CXX_STD:STRING=C++17"
+           "-DENABLE_DEVELOPER_TESTS=OFF"  ;; see the above: #:tests? comment
+           "-DFREECAD_USE_EXTERNAL_ONDSELSOLVER=ON"  ;; unbundle ondsel-solver
+           ;; Do not try to install modules into system python
+           "-DINSTALL_TO_SITEPACKAGES=OFF"
            (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib"))
        #:phases
        (modify-phases %standard-phases
diff --git a/gnu/packages/patches/freecad-vtk-9.3.patch b/gnu/packages/patches/freecad-vtk-9.3.patch
deleted file mode 100644
index af9d654046..0000000000
--- a/gnu/packages/patches/freecad-vtk-9.3.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From d0fb2b8b29fe0428d9dd8aa790b0d6e45c8a9516 Mon Sep 17 00:00:00 2001
-From: Adrian Insaurralde Avalos <adrianinsaval@gmail.com>
-Date: Wed, 22 Nov 2023 16:42:06 -0300
-Subject: [PATCH] 3rdPart/salomesmesh - fix for vtk 9.3 compatibility
-
-minimum required version is 7.1
----
- src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx                 | 4 ----
- src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp | 5 +++++
- 2 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
-index 7f89573efd0d..47a52fe585fe 100644
---- a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
-+++ b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
-@@ -39,10 +39,6 @@
-  #define SMDS_EXPORT
- #endif
- 
--#ifdef VTK_HAS_MTIME_TYPE
- #define VTK_MTIME_TYPE vtkMTimeType
--#else
--#define VTK_MTIME_TYPE unsigned long
--#endif
- 
- #endif
-diff --git a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-index 7e3de0070a02..e9895d615717 100644
---- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-+++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-@@ -1026,7 +1026,12 @@ void SMDS_UnstructuredGrid::BuildLinks()
-   GetLinks()->Allocate(this->GetNumberOfPoints());
-   GetLinks()->Register(this);
- //FIXME: vtk9
-+  #if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9,3,0)
-   GetLinks()->BuildLinks(this);
-+  #else
-+  GetLinks()->SetDataSet(this);
-+  GetLinks()->BuildLinks();
-+  #endif
-   GetLinks()->Delete();
- #else
-   this->Links = SMDS_CellLinks::New();
\ No newline at end of file
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#74538: [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements
  2024-11-25 21:56 [bug#74538] [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements Vincent Legoll
  2024-11-25 22:00 ` [bug#74538] [PATCH 1/2] gnu: Add ondsel-solver Vincent Legoll
@ 2024-11-26 14:24 ` Guillaume Le Vaillant
  1 sibling, 0 replies; 4+ messages in thread
From: Guillaume Le Vaillant @ 2024-11-26 14:24 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: 74538-done

[-- Attachment #1: Type: text/plain, Size: 136 bytes --]

Patches applied as e11ab2a6e9628af6c37d4ae5e0faabde79bcea34 and
following (I made a few minor modifications for ondsel-solver).
Thanks.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-11-26 14:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-25 21:56 [bug#74538] [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements Vincent Legoll
2024-11-25 22:00 ` [bug#74538] [PATCH 1/2] gnu: Add ondsel-solver Vincent Legoll
2024-11-25 22:00   ` [bug#74538] [PATCH 2/2] gnu: freecad: Update to 1.0.0 Vincent Legoll
2024-11-26 14:24 ` bug#74538: [PATCH 0/2] update FreeCAD to 1.0.0 & other misc. enhancements Guillaume Le Vaillant

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.