[PATCH] gnu: Add solvespace.

DoneSubmitted by Kristian Lein-Mathisen.
Details
4 participants
  • Kristian Lein-Mathisen
  • Liliana Marie Prikler
  • Ludovic Courtès
  • (
Owner
unassigned
Severity
normal
K
K
Kristian Lein-Mathisen wrote on 23 Aug 14:08 +0200
(address . guix-patches@gnu.org)
CAAGQtHxL16Txa48unq1MbeOG1D51H0WNH6vHNDL9ABjibGoETA@mail.gmail.com
Hi everyone,

I'm new to Guix and I'm enjoying it very much so far. Here is my little
contribution: a lightweight CAD package. I don't have a lot of experience
with SolveSpace, so I haven't done any testing other than checking if
export to DXF works and drawing some sketches.

I think I've managed to follow the steps in the Submitting Patches
guide. The package has a couple of TODO's though, mostly regarding
extracting dependencies instead of building the git submodules in-place:

- mimalloc This just points to Microsoft's upstream
very close to version 2.0.6. The only other use of mimalloc I found was
rust-mimalloc, but it seems to be
on version mimalloc 1.6.4.

- dxfrw: I believe this is an independent fork
https://github.com/solvespace/libdxfrw, which is unlikely useful
elsewhere.

Please consider this for inclusion,
Thank you.
K.
Attachment: file
From e09bfd0058d35b3fd969ed4093cefeb6692715b0 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Tue, 23 Aug 2022 12:45:49 +0200
Subject: [PATCH] gnu: Add solvespace.

* gnu/packages/engineering.scm (solvespace): New variable.
---
gnu/packages/engineering.scm | 79 ++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)

Toggle diff (94 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f195179413..47a723f329 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2895,6 +2895,85 @@ (define-public pcb2gcode
 dynamic calibration of the milling depth.")
      (license license:gpl3+))))
 
+(define-public solvespace
+  (let ((commit "ab00823acc2920e45b89ec655e4c51d4b346e5d8")
+        (version "3.1"))
+    (package
+      (name "solvespace")
+      (version (git-version version "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/solvespace/solvespace")
+                      (commit commit)
+                      (recursive? #t)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1qixcja3rrgm7qiwc8ydzqidifh3al9kyqgg15z27hcvjlkv70v4"))))
+      (build-system cmake-build-system)
+      (native-inputs (list pkg-config gettext-minimal))
+      (arguments
+       `(#:build-type "Release"
+         #:tests? #f
+         #:phases (modify-phases %standard-phases
+                    ;; CMakeLists will try to `git describe` by default, which doesn't
+                    ;; work inside the temporary build dir. So we embed the commit hash
+                    ;; as described in CMakeLists.txt's comments.
+                    (add-before 'configure 'embed-git-commit-hash
+                      (lambda _
+                        (substitute* "CMakeLists.txt"
+                          (("include\\(GetGitCommitHash\\)")
+                           (string-append "set(GIT_COMMIT_HASH "
+                                          ,commit ")")))))
+                    ;; TODO: only initialize the needed submodules, instead of
+                    ;; initializing all (with recursive? #t) and then deleting most
+                    (add-before 'configure 'delete-submodules
+                      (lambda _
+                        (delete-file-recursively "extlib/angle")
+                        (delete-file-recursively "extlib/cairo")
+                        (delete-file-recursively "extlib/freetype")
+                        ;; TODO: see if we can package upstream libdxfrw and use that
+                        ;; instead
+                        ;; (delete-file-recursively "extlib/libdxfrw")
+                        ;; TODO: see if we can package upstream mimalloc and use that
+                        ;; instead
+                        ;; (delete-file-recursively "extlib/mimalloc")
+                        (delete-file-recursively "extlib/libpng")
+                        (delete-file-recursively "extlib/pixman")
+                        (delete-file-recursively "extlib/si")
+                        (delete-file-recursively "extlib/zlib"))))))
+      (inputs (list cairo
+                    freetype
+                    gtkmm-3
+                    json-c
+                    libpng
+                    libspnav
+                    mesa
+                    zlib))
+      (synopsis "Parametric 2D/3D CAD")
+      (description
+       "SOLVESPACE is a free (GPLv3) parametric 3D @acronym{CAD,
+Computer Aided Design} tool.  Applications include:
+
+@itemize
+@item modeling 3d parts — draw with extrudes, revolves, helixes and
+      Boolean (union / difference / intersection) operations
+@item modeling 2d parts — draw the part as a single section,
+      and export DXF, PDF, SVG; use 3d assembly to verify fit
+@item 3d-printed parts — export the STL or other triangle mesh
+      expected by most 3d printers
+@item preparing CAM data — export 2d vector art for a waterjet
+      machine or laser cutter; or generate STEP or STL, for import into
+      third-party CAM software for machining
+@item mechanism design — use the constraint solver to simulate planar
+      or spatial linkages, with pin, ball, or slide joints
+@item plane and solid geometry — replace hand-solved trigonometry and spreadsheets
+      with a live dimensioned drawing
+@end itemize")
+      (home-page "https://solvespace.com/")
+      (license license:gpl3+))))
+
 (define-public syscall-intercept
   ;; Upstream provides no tag. Also, last version update is 4 years old.
   (let ((commit "304404581c57d43478438d175099d20260bae74e")

base-commit: 7c47fa25134a2111e596e96198d02644aedae459
-- 
2.37.2
K
K
Kristian Lein-Mathisen wrote on 31 Aug 20:51 +0200
Solvespace package re-done
(address . 57361@debbugs.gnu.org)
CAAGQtHyLKjDmcVHVFyqoGE4-0KiHF7TnE5joagEWnV7T2hdXnA@mail.gmail.com
Based off feedback from lilyp and rekado_ on #guix, I've made some
improvements:

- Remove the recursive checkout
- Extract mimalloc as a (nonpublic) package
- Fix commit hash value
- Enabled tests

I've made an amend commit, so the new patch replaces the original one above.

Note that the previous commit hash of solvespace of was off. The correct
hash for solvespace 3.1 is 70bde63cb32a7f049fa56cbdf924e2695fcb2916, as
shown in the new patch.

Thanks for all help this far, and hoping to see SolveSpace included in GNU
Guix.
- Kris
Attachment: file
From 29879ec9bd80f4f24a391b2222efc20a6ab2139a Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Tue, 23 Aug 2022 12:45:49 +0200
Subject: [PATCH] gnu: Add solvespace.

* gnu/packages/engineering.scm (solvespace): New variable.
---
gnu/packages/engineering.scm | 120 +++++++++++++++++++++++++++++++++++
1 file changed, 120 insertions(+)

Toggle diff (135 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f195179413..68d0e55242 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2895,6 +2895,126 @@ (define-public pcb2gcode
 dynamic calibration of the milling depth.")
      (license license:gpl3+))))
 
+;; There is another mimalloc, used in rust-mimalloc. But it's on mimalloc
+;; version 1.6.4. TODO: See if it's possible to re-use this package by both.
+(define mimalloc-for-solvespace
+  (let ((commit "f2712f4a8f038a7fb4df2790f4c3b7e3ed9e219b")
+        (version "2.0.6"))
+    (package
+      (name "mimalloc-for-solvespace")
+      (version (git-version version "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/microsoft/mimalloc")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:build-type "Release"))
+      (synopsis "Compact general purpose allocator with excellent performance")
+      (description "@code{mimalloc} is a drop-in replacement for @code{malloc}
+and can be used in other programs without code changes, for example, on dynamically
+linked ELF-based systems (Linux, BSD, etc.) you can use it as:
+
+LD_PRELOAD=/usr/lib/libmimalloc.so myprogram
+
+Initially developed by Daan Leijen for the run-time systems of the Koka and
+Lean languages.")
+      (home-page "https://microsoft.github.io/mimalloc/")
+      (license license:expat))))
+
+
+(define-public solvespace
+  (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
+        (version "3.1")
+        ;; libdxfrw has no readme, no version release, no tags.  Initial
+        ;; commit says "libdxfrw-0.6.3 import", but it shares no git history
+        ;; with "upstream" https://github.com/codelibs/libdxfrw.  Both are
+        ;; difficult to package separately as they don't install properly.
+        ;; Copying in-tree instead of #:recursive #t to avoid downloading the
+        ;; other bigger dependencies which aren't needed.
+        (libdxfrw-sources (origin
+                            (method git-fetch)
+                            (uri (git-reference (url
+                                                 "https://github.com/solvespace/libdxfrw")
+                                                (commit
+                                                 "0b7b7b709d9299565db603f878214656ef5e9ddf")))
+                            (sha256 (base32
+                                     "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a")))))
+    (package
+      (name "solvespace")
+      (version (git-version version "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/solvespace/solvespace")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
+      (build-system cmake-build-system)
+      (native-inputs (list pkg-config gettext-minimal))
+      (arguments
+       (list #:build-type "Release"
+             #:phases #~(modify-phases %standard-phases
+                          (add-after 'unpack 'unpack-libdxfrw
+                            (lambda _
+                              (copy-recursively #$libdxfrw-sources
+                                                "extlib/libdxfrw")))
+                          (add-before 'configure 'embed-git-commit-hash
+                            (lambda _
+                              ;; `git describe` doesn't work here, so embed
+                              ;; the commit hash directly in CMakeLists.txt as
+                              ;; described instead.
+                              (substitute* "CMakeLists.txt"
+                                (("include\\(GetGitCommitHash\\)")
+                                 (string-append "set(GIT_COMMIT_HASH "
+                                                #$commit ")")))))
+                          (add-before 'configure 'use-packaged-mimalloc
+                            (lambda _
+                              (substitute* "CMakeLists.txt"
+                                (("message\\(STATUS \"Using in-tree mimalloc\"\\)")
+                                 "message(STATUS \"Using guix packaged mimalloc\")")
+                                (("add_subdirectory\\(extlib/mimalloc EXCLUDE_FROM_ALL\\)")
+                                 "find_package(mimalloc REQUIRED)")))))))
+      (inputs (list cairo
+                    eigen
+                    freetype
+                    gtkmm-3
+                    json-c
+                    libpng
+                    libspnav            ;spaceware
+                    mimalloc-for-solvespace
+                    mesa
+                    zlib))
+      (synopsis "Parametric 2D/3D CAD")
+      (description
+       "SOLVESPACE is a parametric 3D @acronym{CAD,
+Computer Aided Design} tool.  Applications include:
+
+@itemize
+@item modeling 3d parts — draw with extrudes, revolves, helixes and
+      Boolean (union / difference / intersection) operations
+@item modeling 2d parts — draw the part as a single section,
+      and export DXF, PDF, SVG; use 3d assembly to verify fit
+@item 3d-printed parts — export the STL or other triangle mesh
+      expected by most 3d printers
+@item preparing CAM data — export 2d vector art for a waterjet
+      machine or laser cutter; or generate STEP or STL, for import into
+      third-party CAM software for machining
+@item mechanism design — use the constraint solver to simulate planar
+      or spatial linkages, with pin, ball, or slide joints
+@item plane and solid geometry — replace hand-solved trigonometry and spreadsheets
+      with a live dimensioned drawing
+@end itemize")
+      (home-page "https://solvespace.com/")
+      (license license:gpl3+))))
+
 (define-public syscall-intercept
   ;; Upstream provides no tag. Also, last version update is 4 years old.
   (let ((commit "304404581c57d43478438d175099d20260bae74e")

base-commit: 7c47fa25134a2111e596e96198d02644aedae459
-- 
2.37.2
L
L
Liliana Marie Prikler wrote on 1 Sep 19:18 +0200
edb3a429f7c209d47b06c941ed6cf2d2fc634faf.camel@gmail.com
Am Mittwoch, dem 31.08.2022 um 20:51 +0200 schrieb Kristian Lein-
Mathisen:

Toggle quote (5 lines)
> ;; There is another mimalloc, used in rust-mimalloc. But it's on
> mimalloc
> +;; version 1.6.4. TODO: See if it's possible to re-use this package
> by both.
> +(define mimalloc-for-solvespace
Given that this is the upstream mimalloc, there's no reason to make
this private or only for solvespace. Note that you should separate
this into one patch per package.

Toggle quote (2 lines)
> + (let ((commit "f2712f4a8f038a7fb4df2790f4c3b7e3ed9e219b")
> + (version "2.0.6"))
This is the release commit, no reason to use git-version etc. here
Toggle quote (8 lines)
> + (package
> + (name "mimalloc-for-solvespace")
> + (version (git-version version "1" commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/microsoft/mimalloc")
> + (commit commit)))
You can use (string-append "v" version) to check out the tag.
Toggle quote (10 lines)
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> +
> "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
> + (build-system cmake-build-system)
> + (arguments
> + `(#:build-type "Release"))
> + (synopsis "Compact general purpose allocator with excellent
> performance")
Don't bloat the synopsis with marketing terms; "General purpose
allocator" should probably suffice.
Toggle quote (2 lines)
> + (description "@code{mimalloc} is a drop-in replacement for
> @code{malloc}
.")

The rest appears somewhat superfluous :)
Toggle quote (7 lines)
> + (license license:expat))))


> +(define-public solvespace
> + (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
> + (version "3.1")
I haven't checked, but is this the release commit? If so, no need for
all this verbosity.

Toggle quote (22 lines)
> + ;; libdxfrw has no readme, no version release, no tags.
> Initial
> + ;; commit says "libdxfrw-0.6.3 import", but it shares no git
> history
> + ;; with "upstream" https://github.com/codelibs/libdxfrw.
> Both are
> + ;; difficult to package separately as they don't install
> properly.
> + ;; Copying in-tree instead of #:recursive #t to avoid
> downloading the
> + ;; other bigger dependencies which aren't needed.
> + (libdxfrw-sources (origin
> + (method git-fetch)
> + (uri (git-reference (url
> +
> "https://github.com/solvespace/libdxfrw")
> + (commit
> +
> "0b7b7b709d9299565db603f878214656ef5e9ddf")))
> + (sha256 (base32
> +
> "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a")))))
This should be its own variable. Unlike with mimalloc, since it's just
an origin, you can use the same patch as solvespace.
Toggle quote (19 lines)
> + (package
> + (name "solvespace")
> + (version (git-version version "1" commit))
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url
> "https://github.com/solvespace/solvespace")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> +
> "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
> + (build-system cmake-build-system)
> + (native-inputs (list pkg-config gettext-minimal))
> + (arguments
> + (list #:build-type "Release"
> + #:phases #~(modify-phases %standard-phases
`guix style' is not yet perfect when it comes to trade-offs between
horizontal and vertical space. Prefer 
(list
#:build-type "Release"
#:phases
#~(modify-phases ...
Toggle quote (66 lines)
> + (add-after 'unpack 'unpack-libdxfrw
> + (lambda _
> + (copy-recursively #$libdxfrw-sources
> + "extlib/libdxfrw")))
> + (add-before 'configure 'embed-git-commit-
> hash
> + (lambda _
> + ;; `git describe` doesn't work here,
> so embed
> + ;; the commit hash directly in
> CMakeLists.txt as
> + ;; described instead.
> + (substitute* "CMakeLists.txt"
> + (("include\\(GetGitCommitHash\\)")
> + (string-append "set(GIT_COMMIT_HASH
> "
> + #$commit ")")))))
> + (add-before 'configure 'use-packaged-
> mimalloc
> + (lambda _
> + (substitute* "CMakeLists.txt"
> + (("message\\(STATUS \"Using in-tree
> mimalloc\"\\)")
> + "message(STATUS \"Using guix
> packaged mimalloc\")")
> +
> (("add_subdirectory\\(extlib/mimalloc EXCLUDE_FROM_ALL\\)")
> + "find_package(mimalloc
> REQUIRED)")))))))
> + (inputs (list cairo
> + eigen
> + freetype
> + gtkmm-3
> + json-c
> + libpng
> + libspnav ;spaceware
> + mimalloc-for-solvespace
> + mesa
> + zlib))
> + (synopsis "Parametric 2D/3D CAD")
> + (description
> + "SOLVESPACE is a parametric 3D @acronym{CAD,
> +Computer Aided Design} tool. Applications include:
> +
> +@itemize
> +@item modeling 3d parts — draw with extrudes, revolves, helixes and
> + Boolean (union / difference / intersection) operations
> +@item modeling 2d parts — draw the part as a single section,
> + and export DXF, PDF, SVG; use 3d assembly to verify fit
> +@item 3d-printed parts — export the STL or other triangle mesh
> + expected by most 3d printers
> +@item preparing CAM data — export 2d vector art for a waterjet
> + machine or laser cutter; or generate STEP or STL, for import
> into
> + third-party CAM software for machining
> +@item mechanism design — use the constraint solver to simulate
> planar
> + or spatial linkages, with pin, ball, or slide joints
> +@item plane and solid geometry — replace hand-solved trigonometry
> and spreadsheets
> + with a live dimensioned drawing
> +@end itemize")
> + (home-page "https://solvespace.com/")
> + (license license:gpl3+))))
> +

Cheers
L
L
Liliana Marie Prikler wrote on 1 Sep 19:20 +0200
5c21f4c8af182f338873abeed90c39f84b3e5add.camel@gmail.com
Am Donnerstag, dem 01.09.2022 um 19:18 +0200 schrieb Liliana Marie
Prikler:
Toggle quote (12 lines)
> Am Mittwoch, dem 31.08.2022 um 20:51 +0200 schrieb Kristian Lein-
> Mathisen:
>
> > ;; There is another mimalloc, used in rust-mimalloc. But it's on
> > mimalloc
> > +;; version 1.6.4. TODO: See if it's possible to re-use this
> > package
> > by both.
> > +(define mimalloc-for-solvespace
> Given that this is the upstream mimalloc, there's no reason to make
> this private or only for solvespace.  Note that you should separate
> this into one patch per package.
Oh, and there's no conflict with rust-mimalloc, since that bundles
mimalloc as rust stuff does. *sigh*

IOW you can name it mimalloc, no need for version suffixes or anything
else. If at any point you need an old mimalloc as well, you can add it
as mimalloc-1.6 or whatever.

Cheers
K
K
Kristian Lein-Mathisen wrote on 5 Sep 21:57 +0200
[PATCH] gnu: Add solvespace.
(address . 57361@debbugs.gnu.org)
CAAGQtHywqnr7nAkWg8NA=b1DcSuciFaHiH+r+qhehV6zQOTZoQ@mail.gmail.com
Hi,

And thanks for your feedback, Liliana. Here's another attempt!

Toggle quote (8 lines)
> > +(define mimalloc-for-solvespace
> Given that this is the upstream mimalloc, there's no reason to make
> this private or only for solvespace. Note that you should separate
> this into one patch per package.
> > + (let ((commit "f2712f4a8f038a7fb4df2790f4c3b7e3ed9e219b")
> > + (version "2.0.6"))
> This is the release commit, no reason to use git-version etc. here

Done! I wasn't sure where to place this public mimalloc. I asked
on #guix but go no replies, so I kept it right there in engineering.scm.

Toggle quote (5 lines)
> > + (synopsis "Compact general purpose allocator with excellent
> > performance")
> Don't bloat the synopsis with marketing terms; "General purpose
> allocator" should probably suffice.

Ah, of course. Fixed.

Toggle quote (6 lines)
> > + (define-public solvespace
> > + (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
> > + (version "3.1")
> I haven't checked, but is this the release commit? If so, no need for
> all this verbosity.

Unfortunately, the verbosity is needed. I need to reference the commit hash
before the configure phase below.

Toggle quote (11 lines)
> > + (libdxfrw-sources (origin
> > + (method git-fetch)
> > + (uri (git-reference (url
> > + "https://github.com/solvespace/libdxfrw")
> > + (commit
> > + "0b7b7b709d9299565db603f878214656ef5e9ddf")))
> > + (sha256 (base32
> > + "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a")))))
> This should be its own variable. Unlike with mimalloc, since it's just
> an origin, you can use the same patch as solvespace.

Done, but here I'm curious - why does this deserve it's own top-level
variable? It shouldn't to be referenced by anything other than inside
SolveSpace.
Could I have used a nested define inside solvespace instead?

Toggle quote (23 lines)
> > + (package (name "solvespace")
> > + (version (git-version version "1" commit))
> > + (source (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/solvespace/solvespace")
> > + (commit commit)))
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32
> > + "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
> > + (build-system cmake-build-system)
> > + (native-inputs (list pkg-config gettext-minimal))
> > + (arguments
> > + (list #:build-type "Release"
> > + #:phases #~(modify-phases %standard-phases
> `guix style' is not yet perfect when it comes to trade-offs between
> horizontal and vertical space. Prefer
> (list
> #:build-type "Release"
> #:phases
> #~(modify-phases ...

Indentation fixed (by Emacs this time, not guix style).

K.
Attachment: file
From 7a916808cb4985935f46ea4d1dfd10ea0effc388 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Mon, 5 Sep 2022 21:49:28 +0200
Subject: [PATCH 2/2] gnu: Add solvespace.

* gnu/packages/engineering.scm (solvespace): New variable.
---
gnu/packages/engineering.scm | 90 ++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)

Toggle diff (103 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 5f5ef158a2..71d9a736f1 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2917,6 +2917,96 @@ (define-public mimalloc
     (home-page "https://microsoft.github.io/mimalloc/")
     (license license:expat)))
 
+;; libdxfrw has no readme, no version release, no tags.  Initial commit says
+;; "libdxfrw-0.6.3 import", but it shares no git history with "upstream"
+;; https://github.com/codelibs/libdxfrw.  Both are difficult to package
+;; separately as they don't install properly.  Copying in-tree instead of
+;; #:recursive #t to avoid downloading the other bigger dependencies which
+;; aren't needed.
+(define libdxfrw-sources
+  (origin
+    (method git-fetch)
+    (uri (git-reference (url
+                         "https://github.com/solvespace/libdxfrw")
+                        (commit
+                         "0b7b7b709d9299565db603f878214656ef5e9ddf")))
+    (sha256 (base32
+             "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a"))))
+
+(define-public solvespace
+  (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
+        (version "3.1"))
+    (package
+      (name "solvespace")
+      (version version)
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/solvespace/solvespace")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
+      (build-system cmake-build-system)
+      (native-inputs (list pkg-config gettext-minimal))
+      (arguments
+       (list
+        #:build-type "Release"
+        #:phases #~(modify-phases %standard-phases
+                     (add-after 'unpack 'unpack-libdxfrw
+                       (lambda _
+                         (copy-recursively #$libdxfrw-sources
+                                           "extlib/libdxfrw")))
+                     (add-before 'configure 'embed-git-commit-hash
+                       (lambda _
+                         ;; `git describe` doesn't work here, so embed
+                         ;; the commit hash directly in CMakeLists.txt as
+                         ;; described instead.
+                         (substitute* "CMakeLists.txt"
+                           (("include\\(GetGitCommitHash\\)")
+                            (string-append "set(GIT_COMMIT_HASH "
+                                           #$commit ")")))))
+                     (add-before 'configure 'use-packaged-mimalloc
+                       (lambda _
+                         (substitute* "CMakeLists.txt"
+                           (("message\\(STATUS \"Using in-tree mimalloc\"\\)")
+                            "message(STATUS \"Using guix packaged mimalloc\")")
+                           (("add_subdirectory\\(extlib/mimalloc EXCLUDE_FROM_ALL\\)")
+                            "find_package(mimalloc REQUIRED)")))))))
+      (inputs (list cairo
+                    eigen
+                    freetype
+                    gtkmm-3
+                    json-c
+                    libpng
+                    libspnav            ;spaceware
+                    mimalloc
+                    mesa
+                    zlib))
+      (synopsis "Parametric 2D/3D CAD")
+      (description
+       "SOLVESPACE is a parametric 3D @acronym{CAD,
+Computer Aided Design} tool.  Applications include:
+
+@itemize
+@item modeling 3d parts — draw with extrudes, revolves, helixes and
+      Boolean (union / difference / intersection) operations
+@item modeling 2d parts — draw the part as a single section,
+      and export DXF, PDF, SVG; use 3d assembly to verify fit
+@item 3d-printed parts — export the STL or other triangle mesh
+      expected by most 3d printers
+@item preparing CAM data — export 2d vector art for a waterjet
+      machine or laser cutter; or generate STEP or STL, for import into
+      third-party CAM software for machining
+@item mechanism design — use the constraint solver to simulate planar
+      or spatial linkages, with pin, ball, or slide joints
+@item plane and solid geometry — replace hand-solved trigonometry and spreadsheets
+      with a live dimensioned drawing
+@end itemize")
+      (home-page "https://solvespace.com/")
+      (license license:gpl3+))))
+
 (define-public syscall-intercept
   ;; Upstream provides no tag. Also, last version update is 4 years old.
   (let ((commit "304404581c57d43478438d175099d20260bae74e")
-- 
2.37.2
From 7602c8d01e7fce26551037304fa2c65f29e5c892 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Mon, 5 Sep 2022 21:49:03 +0200
Subject: [PATCH 1/2] gnu: Add mimalloc.

* gnu/packages/engineering.scm (mimalloc): New variable.
---
gnu/packages/engineering.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f195179413..5f5ef158a2 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2895,6 +2895,28 @@ (define-public pcb2gcode
 dynamic calibration of the milling depth.")
      (license license:gpl3+))))
 
+;; Note there is another mimalloc used in rust-mimalloc (version 1.6.4).
+(define-public mimalloc
+  (package
+    (name "mimalloc")
+    (version "2.0.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/microsoft/mimalloc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:build-type "Release"))
+    (synopsis "General purpose memory allocator")
+    (description "@code{mimalloc} is a drop-in replacement for @code{malloc}.")
+    (home-page "https://microsoft.github.io/mimalloc/")
+    (license license:expat)))
+
 (define-public syscall-intercept
   ;; Upstream provides no tag. Also, last version update is 4 years old.
   (let ((commit "304404581c57d43478438d175099d20260bae74e")

base-commit: c4504dfb1da78f2f21fc5139a2fd5e82ed0ef21c
-- 
2.37.2
K
K
Kristian Lein-Mathisen wrote on 6 Sep 10:30 +0200
(address . 57361@debbugs.gnu.org)
CAAGQtHwTqbP=3vr1Eccyjw7yi43kFsRwKnSu8wnOoxPY6GgR1g@mail.gmail.com
Hi again,

unmatched-paren suggested to put mimalloc into c.scm on #guix, so here is
new set of patches to reflect that.

K.
Attachment: file
From 59bf403d976dfd9e43ab941ca2f71d9d0fe163ba Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Tue, 6 Sep 2022 10:24:01 +0200
Subject: [PATCH 2/2] gnu: Add solvespace.

* gnu/packages/engineering.scm (solvespace): New variable.
---
gnu/packages/engineering.scm | 90 ++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)

Toggle diff (103 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f195179413..98bd2ad302 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2895,6 +2895,96 @@ (define-public pcb2gcode
 dynamic calibration of the milling depth.")
      (license license:gpl3+))))
 
+;; libdxfrw has no readme, no version release, no tags.  Initial commit says
+;; "libdxfrw-0.6.3 import", but it shares no git history with "upstream"
+;; https://github.com/codelibs/libdxfrw.  Both are difficult to package
+;; separately as they don't install properly.  Copying in-tree instead of
+;; #:recursive #t to avoid downloading the other bigger dependencies which
+;; aren't needed.
+(define libdxfrw-sources
+  (origin
+    (method git-fetch)
+    (uri (git-reference (url
+                         "https://github.com/solvespace/libdxfrw")
+                        (commit
+                         "0b7b7b709d9299565db603f878214656ef5e9ddf")))
+    (sha256 (base32
+             "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a"))))
+
+(define-public solvespace
+  (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
+        (version "3.1"))
+    (package
+      (name "solvespace")
+      (version version)
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/solvespace/solvespace")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
+      (build-system cmake-build-system)
+      (native-inputs (list pkg-config gettext-minimal))
+      (arguments
+       (list
+        #:build-type "Release"
+        #:phases #~(modify-phases %standard-phases
+                     (add-after 'unpack 'unpack-libdxfrw
+                       (lambda _
+                         (copy-recursively #$libdxfrw-sources
+                                           "extlib/libdxfrw")))
+                     (add-before 'configure 'embed-git-commit-hash
+                       (lambda _
+                         ;; `git describe` doesn't work here, so embed
+                         ;; the commit hash directly in CMakeLists.txt as
+                         ;; described instead.
+                         (substitute* "CMakeLists.txt"
+                           (("include\\(GetGitCommitHash\\)")
+                            (string-append "set(GIT_COMMIT_HASH "
+                                           #$commit ")")))))
+                     (add-before 'configure 'use-packaged-mimalloc
+                       (lambda _
+                         (substitute* "CMakeLists.txt"
+                           (("message\\(STATUS \"Using in-tree mimalloc\"\\)")
+                            "message(STATUS \"Using guix packaged mimalloc\")")
+                           (("add_subdirectory\\(extlib/mimalloc EXCLUDE_FROM_ALL\\)")
+                            "find_package(mimalloc REQUIRED)")))))))
+      (inputs (list cairo
+                    eigen
+                    freetype
+                    gtkmm-3
+                    json-c
+                    libpng
+                    libspnav            ;spaceware
+                    mimalloc
+                    mesa
+                    zlib))
+      (synopsis "Parametric 2D/3D CAD")
+      (description
+       "SOLVESPACE is a parametric 3D @acronym{CAD,
+Computer Aided Design} tool.  Applications include:
+
+@itemize
+@item modeling 3d parts — draw with extrudes, revolves, helixes and
+      Boolean (union / difference / intersection) operations
+@item modeling 2d parts — draw the part as a single section,
+      and export DXF, PDF, SVG; use 3d assembly to verify fit
+@item 3d-printed parts — export the STL or other triangle mesh
+      expected by most 3d printers
+@item preparing CAM data — export 2d vector art for a waterjet
+      machine or laser cutter; or generate STEP or STL, for import into
+      third-party CAM software for machining
+@item mechanism design — use the constraint solver to simulate planar
+      or spatial linkages, with pin, ball, or slide joints
+@item plane and solid geometry — replace hand-solved trigonometry and spreadsheets
+      with a live dimensioned drawing
+@end itemize")
+      (home-page "https://solvespace.com/")
+      (license license:gpl3+))))
+
 (define-public syscall-intercept
   ;; Upstream provides no tag. Also, last version update is 4 years old.
   (let ((commit "304404581c57d43478438d175099d20260bae74e")
-- 
2.37.2
From a19e2d22f52b71db2ddc14b5dcaa6acb57c27484 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Mon, 5 Sep 2022 21:49:03 +0200
Subject: [PATCH 1/2] gnu: Add mimalloc.

* gnu/packages/c.scm (mimalloc): New variable.
---
gnu/packages/c.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d7d649488b..10275970b1 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1083,6 +1083,28 @@ (define-public aws-c-mqtt
     (home-page "https://github.com/awslabs/aws-c-mqtt")
     (license license:asl2.0)))
 
+;; Note: there is another mimalloc embedded in rust-mimalloc (version 1.6.4).
+(define-public mimalloc
+  (package
+    (name "mimalloc")
+    (version "2.0.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/microsoft/mimalloc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:build-type "Release"))
+    (synopsis "General purpose memory allocator")
+    (description "@code{mimalloc} is a drop-in replacement for @code{malloc}.")
+    (home-page "https://microsoft.github.io/mimalloc/")
+    (license license:expat)))
+
 ;;; Factored out of the ck package so that it can be adjusted and called on
 ;;; the host side easily, without impacting the package definition.
 (define (gnu-triplet->ck-machine target)

base-commit: c4504dfb1da78f2f21fc5139a2fd5e82ed0ef21c
-- 
2.37.2
K
K
Kristian Lein-Mathisen wrote on 6 Sep 10:33 +0200
(address . 57361@debbugs.gnu.org)
CAAGQtHzWZfGm+MOPHT12Rk+SaRdu+1tOMHTsv-fngf+3Vz7FbQ@mail.gmail.com
Sorry, forgot to add (gnu packages c) dependency. Here are the updated
patches again.

K.
Attachment: file
From a19e2d22f52b71db2ddc14b5dcaa6acb57c27484 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Mon, 5 Sep 2022 21:49:03 +0200
Subject: [PATCH 1/2] gnu: Add mimalloc.

* gnu/packages/c.scm (mimalloc): New variable.
---
gnu/packages/c.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d7d649488b..10275970b1 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1083,6 +1083,28 @@ (define-public aws-c-mqtt
     (home-page "https://github.com/awslabs/aws-c-mqtt")
     (license license:asl2.0)))
 
+;; Note: there is another mimalloc embedded in rust-mimalloc (version 1.6.4).
+(define-public mimalloc
+  (package
+    (name "mimalloc")
+    (version "2.0.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/microsoft/mimalloc")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:build-type "Release"))
+    (synopsis "General purpose memory allocator")
+    (description "@code{mimalloc} is a drop-in replacement for @code{malloc}.")
+    (home-page "https://microsoft.github.io/mimalloc/")
+    (license license:expat)))
+
 ;;; Factored out of the ck package so that it can be adjusted and called on
 ;;; the host side easily, without impacting the package definition.
 (define (gnu-triplet->ck-machine target)

base-commit: c4504dfb1da78f2f21fc5139a2fd5e82ed0ef21c
-- 
2.37.2
From a2967120d10320962a0298caa412d320bca7804a Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Tue, 6 Sep 2022 10:24:01 +0200
Subject: [PATCH 2/2] gnu: Add solvespace.

* gnu/packages/engineering.scm (solvespace): New variable.
---
gnu/packages/engineering.scm | 91 ++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)

Toggle diff (111 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f195179413..f6a5e22188 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -78,6 +78,7 @@ (define-module (gnu packages engineering)
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages commencement)
@@ -2895,6 +2896,96 @@ (define-public pcb2gcode
 dynamic calibration of the milling depth.")
      (license license:gpl3+))))
 
+;; libdxfrw has no readme, no version release, no tags.  Initial commit says
+;; "libdxfrw-0.6.3 import", but it shares no git history with "upstream"
+;; https://github.com/codelibs/libdxfrw.  Both are difficult to package
+;; separately as they don't install properly.  Copying in-tree instead of
+;; #:recursive #t to avoid downloading the other bigger dependencies which
+;; aren't needed.
+(define libdxfrw-sources
+  (origin
+    (method git-fetch)
+    (uri (git-reference (url
+                         "https://github.com/solvespace/libdxfrw")
+                        (commit
+                         "0b7b7b709d9299565db603f878214656ef5e9ddf")))
+    (sha256 (base32
+             "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a"))))
+
+(define-public solvespace
+  (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
+        (version "3.1"))
+    (package
+      (name "solvespace")
+      (version version)
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/solvespace/solvespace")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
+      (build-system cmake-build-system)
+      (native-inputs (list pkg-config gettext-minimal))
+      (arguments
+       (list
+        #:build-type "Release"
+        #:phases #~(modify-phases %standard-phases
+                     (add-after 'unpack 'unpack-libdxfrw
+                       (lambda _
+                         (copy-recursively #$libdxfrw-sources
+                                           "extlib/libdxfrw")))
+                     (add-before 'configure 'embed-git-commit-hash
+                       (lambda _
+                         ;; `git describe` doesn't work here, so embed
+                         ;; the commit hash directly in CMakeLists.txt as
+                         ;; described instead.
+                         (substitute* "CMakeLists.txt"
+                           (("include\\(GetGitCommitHash\\)")
+                            (string-append "set(GIT_COMMIT_HASH "
+                                           #$commit ")")))))
+                     (add-before 'configure 'use-packaged-mimalloc
+                       (lambda _
+                         (substitute* "CMakeLists.txt"
+                           (("message\\(STATUS \"Using in-tree mimalloc\"\\)")
+                            "message(STATUS \"Using guix packaged mimalloc\")")
+                           (("add_subdirectory\\(extlib/mimalloc EXCLUDE_FROM_ALL\\)")
+                            "find_package(mimalloc REQUIRED)")))))))
+      (inputs (list cairo
+                    eigen
+                    freetype
+                    gtkmm-3
+                    json-c
+                    libpng
+                    libspnav            ;spaceware
+                    mimalloc
+                    mesa
+                    zlib))
+      (synopsis "Parametric 2D/3D CAD")
+      (description
+       "SOLVESPACE is a parametric 3D @acronym{CAD,
+Computer Aided Design} tool.  Applications include:
+
+@itemize
+@item modeling 3d parts — draw with extrudes, revolves, helixes and
+      Boolean (union / difference / intersection) operations
+@item modeling 2d parts — draw the part as a single section,
+      and export DXF, PDF, SVG; use 3d assembly to verify fit
+@item 3d-printed parts — export the STL or other triangle mesh
+      expected by most 3d printers
+@item preparing CAM data — export 2d vector art for a waterjet
+      machine or laser cutter; or generate STEP or STL, for import into
+      third-party CAM software for machining
+@item mechanism design — use the constraint solver to simulate planar
+      or spatial linkages, with pin, ball, or slide joints
+@item plane and solid geometry — replace hand-solved trigonometry and spreadsheets
+      with a live dimensioned drawing
+@end itemize")
+      (home-page "https://solvespace.com/")
+      (license license:gpl3+))))
+
 (define-public syscall-intercept
   ;; Upstream provides no tag. Also, last version update is 4 years old.
   (let ((commit "304404581c57d43478438d175099d20260bae74e")
-- 
2.37.2
L
L
Ludovic Courtès wrote on 8 Sep 15:14 +0200
(name . Kristian Lein-Mathisen)(address . kristianlein@gmail.com)(address . 57361@debbugs.gnu.org)
87illygg8z.fsf_-_@gnu.org
Hi,

Kristian Lein-Mathisen <kristianlein@gmail.com> skribis:

Toggle quote (7 lines)
> From a19e2d22f52b71db2ddc14b5dcaa6acb57c27484 Mon Sep 17 00:00:00 2001
> From: Kristian Lein-Mathisen <kristianlein@gmail.com>
> Date: Mon, 5 Sep 2022 21:49:03 +0200
> Subject: [PATCH 1/2] gnu: Add mimalloc.
>
> * gnu/packages/c.scm (mimalloc): New variable.

[...]

Toggle quote (7 lines)
> From a2967120d10320962a0298caa412d320bca7804a Mon Sep 17 00:00:00 2001
> From: Kristian Lein-Mathisen <kristianlein@gmail.com>
> Date: Tue, 6 Sep 2022 10:24:01 +0200
> Subject: [PATCH 2/2] gnu: Add solvespace.
>
> * gnu/packages/engineering.scm (solvespace): New variable.

Applied both, the latter with the cosmetic changes below.

Thanks!

Ludo’.
Toggle diff (30 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f6a5e22188..05f33db143 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2963,18 +2963,19 @@ (define-public solvespace
                     mimalloc
                     mesa
                     zlib))
-      (synopsis "Parametric 2D/3D CAD")
+      (synopsis
+       "Parametric 2D/3D @acronym{CAD, computer-aided design} software")
       (description
        "SOLVESPACE is a parametric 3D @acronym{CAD,
-Computer Aided Design} tool.  Applications include:
+computer-aided design} tool.  Applications include:
 
 @itemize
-@item modeling 3d parts — draw with extrudes, revolves, helixes and
+@item modeling 3D parts — draw with extrudes, revolves, helixes and
       Boolean (union / difference / intersection) operations
 @item modeling 2d parts — draw the part as a single section,
-      and export DXF, PDF, SVG; use 3d assembly to verify fit
-@item 3d-printed parts — export the STL or other triangle mesh
-      expected by most 3d printers
+      and export DXF, PDF, SVG; use 3D assembly to verify fit
+@item 3D-printed parts — export the STL or other triangle mesh
+      expected by most 3D printers
 @item preparing CAM data — export 2d vector art for a waterjet
       machine or laser cutter; or generate STEP or STL, for import into
       third-party CAM software for machining
(
Re: [bug#57361] [PATCH] gnu: Add solvespace.
CMSK6J2KEQAJ.3NBAU400I248C@guix-aspire
Hey,

In future, if you need to resend a patchset, you can use the -v flag of git
(format-patch|send-email) to indicate the revision number of the patchset,
eg:

git send-email -3 --to=XXXXX@debbugs.gnu.org -v2

-- (
L
L
Liliana Marie Prikler wrote on 10 Sep 17:27 +0200
Re: bug#57361: [PATCH] gnu: Add solvespace.
(address . 57361@debbugs.gnu.org)
8dec99c5a65ed093f26c5e0849e8936458bcc8f7.camel@gmail.com
Am Donnerstag, dem 08.09.2022 um 15:14 +0200 schrieb Ludovic Courtès:
Toggle quote (23 lines)
> Hi,
>
> Kristian Lein-Mathisen <kristianlein@gmail.com> skribis:
>
> > From a19e2d22f52b71db2ddc14b5dcaa6acb57c27484 Mon Sep 17 00:00:00
> > 2001
> > From: Kristian Lein-Mathisen <kristianlein@gmail.com>
> > Date: Mon, 5 Sep 2022 21:49:03 +0200
> > Subject: [PATCH 1/2] gnu: Add mimalloc.
> >
> > * gnu/packages/c.scm (mimalloc): New variable.
>
> [...]
>
> > From a2967120d10320962a0298caa412d320bca7804a Mon Sep 17 00:00:00
> > 2001
> > From: Kristian Lein-Mathisen <kristianlein@gmail.com>
> > Date: Tue, 6 Sep 2022 10:24:01 +0200
> > Subject: [PATCH 2/2] gnu: Add solvespace.
> >
> > * gnu/packages/engineering.scm (solvespace): New variable.
>
> Applied both, the latter with the cosmetic changes below.
Should we mark this as done then?
L
L
Ludovic Courtès wrote on 11 Sep 16:13 +0200
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
877d2ayp6a.fsf@gnu.org
Liliana Marie Prikler <liliana.prikler@gmail.com> skribis:

Toggle quote (26 lines)
> Am Donnerstag, dem 08.09.2022 um 15:14 +0200 schrieb Ludovic Courtès:
>> Hi,
>>
>> Kristian Lein-Mathisen <kristianlein@gmail.com> skribis:
>>
>> > From a19e2d22f52b71db2ddc14b5dcaa6acb57c27484 Mon Sep 17 00:00:00
>> > 2001
>> > From: Kristian Lein-Mathisen <kristianlein@gmail.com>
>> > Date: Mon, 5 Sep 2022 21:49:03 +0200
>> > Subject: [PATCH 1/2] gnu: Add mimalloc.
>> >
>> > * gnu/packages/c.scm (mimalloc): New variable.
>>
>> [...]
>>
>> > From a2967120d10320962a0298caa412d320bca7804a Mon Sep 17 00:00:00
>> > 2001
>> > From: Kristian Lein-Mathisen <kristianlein@gmail.com>
>> > Date: Tue, 6 Sep 2022 10:24:01 +0200
>> > Subject: [PATCH 2/2] gnu: Add solvespace.
>> >
>> > * gnu/packages/engineering.scm (solvespace): New variable.
>>
>> Applied both, the latter with the cosmetic changes below.
> Should we mark this as done then?

Yes, sorry. Done!
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 57361@debbugs.gnu.org