GNU bug report logs -
#36352
[PATCH] gnu: Add solvespace.
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 36352 in the body.
You can then email your comments to 36352 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#36352
; Package
guix-patches
.
(Mon, 24 Jun 2019 12:28:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Myles English <mylesenglish <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Mon, 24 Jun 2019 12:28:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/game-development.scm (solvespace): New variable and
dependencies on gnu package modules.
---
gnu/packages/engineering.scm | 70 ++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7d48414889..7fc06a6730 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac <at> systemreboot.net>
;;; Copyright © 2019 Tim Stahel <swedneck <at> swedneck.xyz>
+;;; Copyright © 2019 Myles English <myles <at> tdma.co>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,6 +81,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
@@ -87,6 +89,8 @@
#:use-module (gnu packages tex)
#:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public librecad
@@ -2062,3 +2066,69 @@ purpose circuit simulator and can perform DC and transient analyses, fourier
analysis and AC analysis. The engine is designed to do true mixed-mode
simulation.")
(license license:gpl3+)))
+
+(define-public solvespace-3
+ (let ((commit "5df53fc59e7f31e265fabd4c15e6601bd3032833")
+ (revision "1"))
+ (package
+ (name "solvespace")
+ (version (git-version "3.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/solvespace/solvespace.git")
+ (commit commit)
+ (recursive? #t)))
+ (sha256
+ (base32
+ "0kps2rgakdrbm9f6gwkb7za5ikkc4m6y2x162y3c53ixg5snmlr1"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; delete some recursive submodules in order to use guix packages
+ (delete-file-recursively "extlib/zlib")
+ (delete-file-recursively "extlib/libpng")
+ (delete-file-recursively "extlib/freetype")
+ ;; pixman only needed for tests?
+ (delete-file-recursively "extlib/pixman")
+ (delete-file-recursively "extlib/cairo")
+ (delete-file-recursively "extlib/flatbuffers")
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "-DCMAKE_BUILD_TYPE=Release"
+ (string-append
+ "-DFLATC="
+ (assoc-ref %build-inputs "flatbuffers") "/bin/flatc"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-git-commit-hash
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("include\\(GetGitCommitHash\\)")
+ "#include(GetGitCommitHash)")
+ (("\\# set\\(GIT_COMMIT_HASH
+ 0000000000000000000000000000000000000000\\)")
+ (string-append "set(GIT_COMMIT_HASH " ,commit ")"))
+ (("message\\(STATUS \\\"Using in-tree flatbuffers\\\"\\)")
+ "message(STATUS \"Using guix flatbuffers\")")
+ (("add_subdirectory\\(extlib/flatbuffers EXCLUDE_FROM_ALL\\)")
+ "#add_subdirectory(extlib/flatbuffers EXCLUDE_FROM_ALL)"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("git" ,git)
+ ("json-c" ,json-c)
+ ("glu" ,glu)
+ ("gtkmm" ,gtkmm)
+ ("flatbuffers" ,flatbuffers)))
+ (home-page "http://solvespace.com")
+ (synopsis "Parametric 2D/3D CAD tool")
+ (description "Parametric 2D/3D computer aided design (CAD) tool and
+constraint-based parametric modeler with simple mechanical simulation
+capabilities.")
+ (license license:gpl3+))))
--
2.22.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#36352
; Package
guix-patches
.
(Tue, 25 Jun 2019 20:36:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
On 2019-06-24 14:27, Myles English wrote:
> * gnu/packages/game-development.scm (solvespace): New variable and
> dependencies on gnu package modules.
> ---
> gnu/packages/engineering.scm | 70 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 70 insertions(+)
>
> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
> index 7d48414889..7fc06a6730 100644
> --- a/gnu/packages/engineering.scm
> +++ b/gnu/packages/engineering.scm
> @@ -11,6 +11,7 @@
> ;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
> ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac <at> systemreboot.net>
> ;;; Copyright © 2019 Tim Stahel <swedneck <at> swedneck.xyz>
> +;;; Copyright © 2019 Myles English <myles <at> tdma.co>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -80,6 +81,7 @@
> #:use-module (gnu packages python-xyz)
> #:use-module (gnu packages qt)
> #:use-module (gnu packages readline)
> + #:use-module (gnu packages serialization)
> #:use-module (gnu packages swig)
> #:use-module (gnu packages tcl)
> #:use-module (gnu packages texinfo)
> @@ -87,6 +89,8 @@
> #:use-module (gnu packages tex)
> #:use-module (gnu packages version-control)
> #:use-module (gnu packages wxwidgets)
> + #:use-module (gnu packages web)
> + #:use-module (gnu packages xml)
> #:use-module (gnu packages xorg))
>
> (define-public librecad
> @@ -2062,3 +2066,69 @@ purpose circuit simulator and can perform DC and transient analyses, fourier
> analysis and AC analysis. The engine is designed to do true mixed-mode
> simulation.")
> (license license:gpl3+)))
> +
> +(define-public solvespace-3
> + (let ((commit "5df53fc59e7f31e265fabd4c15e6601bd3032833")
> + (revision "1"))
> + (package
> + (name "solvespace")
> + (version (git-version "3.0" revision commit))
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/solvespace/solvespace.git")
> + (commit commit)
> + (recursive? #t)))
A stable release tarball is available on the release page it seems.
https://github.com/solvespace/solvespace/releases
> + (sha256
> + (base32
> + "0kps2rgakdrbm9f6gwkb7za5ikkc4m6y2x162y3c53ixg5snmlr1"))
> + (file-name (git-file-name name version))
> + (modules '((guix build utils)))
> + (snippet
> + '(begin
> + ;; delete some recursive submodules in order to use guix packages
> + (delete-file-recursively "extlib/zlib")
> + (delete-file-recursively "extlib/libpng")
> + (delete-file-recursively "extlib/freetype")
> + ;; pixman only needed for tests?
> + (delete-file-recursively "extlib/pixman")
> + (delete-file-recursively "extlib/cairo")
> + (delete-file-recursively "extlib/flatbuffers")
> + #t))))
> + (build-system cmake-build-system)
> + (arguments
> + `(#:configure-flags
> + (list "-DCMAKE_BUILD_TYPE=Release"
> + (string-append
> + "-DFLATC="
> + (assoc-ref %build-inputs "flatbuffers") "/bin/flatc"))
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'set-git-commit-hash
> + (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "CMakeLists.txt"
> + (("include\\(GetGitCommitHash\\)")
> + "#include(GetGitCommitHash)")
> + (("\\# set\\(GIT_COMMIT_HASH
> + 0000000000000000000000000000000000000000\\)")
> + (string-append "set(GIT_COMMIT_HASH " ,commit ")"))
> + (("message\\(STATUS \\\"Using in-tree flatbuffers\\\"\\)")
> + "message(STATUS \"Using guix flatbuffers\")")
> + (("add_subdirectory\\(extlib/flatbuffers EXCLUDE_FROM_ALL\\)")
> + "#add_subdirectory(extlib/flatbuffers EXCLUDE_FROM_ALL)"))
> + #t)))))
> + (native-inputs
> + `(("pkg-config" ,pkg-config)))
> + (inputs
> + `(("git" ,git)
> + ("json-c" ,json-c)
> + ("glu" ,glu)
> + ("gtkmm" ,gtkmm)
> + ("flatbuffers" ,flatbuffers)))
> + (home-page "http://solvespace.com")
> + (synopsis "Parametric 2D/3D CAD tool")
> + (description "Parametric 2D/3D computer aided design (CAD) tool and
> +constraint-based parametric modeler with simple mechanical simulation
> +capabilities.")
> + (license license:gpl3+))))
>
The patch did not apply for some reason.
I did not try to build this package because the recursive checkouts of
cairo et al took too much bandwidth. This is another reason to use the
tarball instead - less waste of bandwidth.
Could you switch to that?
--
Cheers Swedebugia
Information forwarded
to
guix-patches <at> gnu.org
:
bug#36352
; Package
guix-patches
.
(Tue, 02 Jul 2019 22:32:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 36352 <at> debbugs.gnu.org (full text, mbox):
Hello Myles,
Myles English <mylesenglish <at> gmail.com> skribis:
> * gnu/packages/game-development.scm (solvespace): New variable and
> dependencies on gnu package modules.
The patch LGTM overall. Here are some comments/questions:
> +(define-public solvespace-3
> + (let ((commit "5df53fc59e7f31e265fabd4c15e6601bd3032833")
> + (revision "1"))
> + (package
> + (name "solvespace")
> + (version (git-version "3.0" revision commit))
Why choose this commit specifically? ‘git describe’ returns
“v2.1.rc1-570-g5df53fc”, and in fact there’s no “v3.0” tag, so this
version string is a bit misleading.
The general policy is to use the latest release, but if there’s a
compelling argument, we can use another commit; in that case, it’s
better to have a comment explaining the choice.
> + (uri (git-reference
> + (url "https://github.com/solvespace/solvespace.git")
> + (commit commit)
> + (recursive? #t)))
Is ‘recursive?’ needed? If it’s just for the bundled dependencies under
extlib/ that are not used anyway, perhaps we can omit it?
> + (synopsis "Parametric 2D/3D CAD tool")
> + (description "Parametric 2D/3D computer aided design (CAD) tool and
> +constraint-based parametric modeler with simple mechanical simulation
> +capabilities.")
Could you make it a full sentence and perhaps expound a little bit, as
per <https://gnu.org/s/guix/manual/en/html_node/Synopses-and-Descriptions.html>?
Thank you, and apologies for the delay!
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#36352
; Package
guix-patches
.
(Mon, 02 Sep 2019 13:25:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 36352 <at> debbugs.gnu.org (full text, mbox):
Hello Myles,
Did you have a chance to look into that? (See below.)
Thanks in advance,
Ludo’.
Ludovic Courtès <ludo <at> gnu.org> skribis:
> Hello Myles,
>
> Myles English <mylesenglish <at> gmail.com> skribis:
>
>> * gnu/packages/game-development.scm (solvespace): New variable and
>> dependencies on gnu package modules.
>
> The patch LGTM overall. Here are some comments/questions:
>
>> +(define-public solvespace-3
>> + (let ((commit "5df53fc59e7f31e265fabd4c15e6601bd3032833")
>> + (revision "1"))
>> + (package
>> + (name "solvespace")
>> + (version (git-version "3.0" revision commit))
>
>
> Why choose this commit specifically? ‘git describe’ returns
> “v2.1.rc1-570-g5df53fc”, and in fact there’s no “v3.0” tag, so this
> version string is a bit misleading.
>
> The general policy is to use the latest release, but if there’s a
> compelling argument, we can use another commit; in that case, it’s
> better to have a comment explaining the choice.
>
>> + (uri (git-reference
>> + (url "https://github.com/solvespace/solvespace.git")
>> + (commit commit)
>> + (recursive? #t)))
>
> Is ‘recursive?’ needed? If it’s just for the bundled dependencies under
> extlib/ that are not used anyway, perhaps we can omit it?
>
>> + (synopsis "Parametric 2D/3D CAD tool")
>> + (description "Parametric 2D/3D computer aided design (CAD) tool and
>> +constraint-based parametric modeler with simple mechanical simulation
>> +capabilities.")
>
> Could you make it a full sentence and perhaps expound a little bit, as
> per <https://gnu.org/s/guix/manual/en/html_node/Synopses-and-Descriptions.html>?
>
> Thank you, and apologies for the delay!
>
> Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#36352
; Package
guix-patches
.
(Tue, 03 Sep 2019 00:29:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 36352 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Ludo',
Thanks a lot for your comments, sorry I hadn't replied yet.
On Mon, 2 Sep 2019, 14:24 Ludovic Courtès, <ludo <at> gnu.org> wrote:
> Did you have a chance to look into that? (See below.)
>
> Ludovic Courtès <ludo <at> gnu.org> skribis:
>
> > Hello Myles,
> >
> > Myles English <mylesenglish <at> gmail.com> skribis:
> >
> >> * gnu/packages/game-development.scm (solvespace): New variable and
>
game-development.scm? I think I put it in the wrong place.
>> dependencies on gnu package modules.
> >
> > The patch LGTM overall. Here are some comments/questions:
> >
> >> +(define-public solvespace-3
> >> + (let ((commit "5df53fc59e7f31e265fabd4c15e6601bd3032833")
> >> + (revision "1"))
> >> + (package
> >> + (name "solvespace")
> >> + (version (git-version "3.0" revision commit))
> >
> >
> > Why choose this commit specifically? ‘git describe’ returns
> > “v2.1.rc1-570-g5df53fc”, and in fact there’s no “v3.0” tag, so this
> > version string is a bit misleading.
> >
> > The general policy is to use the latest release, but if there’s a
> > compelling argument, we can use another commit; in that case, it’s
> > better to have a comment explaining the choice.
>
It looks as though a longawaited v3.0 release may be imminent, hence my
delay in replying to your advice. I'll wait another week or two before
asking if it is going to drop 'soon'. (I would have tried to justify my
choice by referencing the unofficial Debian package, mentioned on the
project's github page, using the master branch and calling itself v3.0.)
>> + (uri (git-reference
>
>> + (url "https://github.com/solvespace/solvespace.git")
> >> + (commit commit)
> >> + (recursive? #t)))
> >
> > Is ‘recursive?’ needed? If it’s just for the bundled dependencies under
> > extlib/ that are not used anyway, perhaps we can omit it?
>
Some of them are still used (sorry I can't check which ones just now). I
have trivially modified the build system so that if :recursive? is a list
it only clones those submodules listed. I can find the patch later but its
just a couple of lines. If this is adopted should may be rename
:recursive? or add another parameter?
>> + (synopsis "Parametric 2D/3D CAD tool")
> >> + (description "Parametric 2D/3D computer aided design (CAD) tool
> and
> >> +constraint-based parametric modeler with simple mechanical simulation
> >> +capabilities.")
> >
> > Could you make it a full sentence and perhaps expound a little bit, as
> > per <
> https://gnu.org/s/guix/manual/en/html_node/Synopses-and-Descriptions.html
> >?
>
I'll try and improve this when I make a patch for the true v3.0.
Myles
>
[Message part 2 (text/html, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#36352
; Package
guix-patches
.
(Tue, 03 Sep 2019 09:21:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 36352 <at> debbugs.gnu.org (full text, mbox):
Hi Myles,
Myles English <mylesenglish <at> gmail.com> skribis:
> It looks as though a longawaited v3.0 release may be imminent, hence my
> delay in replying to your advice. I'll wait another week or two before
> asking if it is going to drop 'soon'. (I would have tried to justify my
> choice by referencing the unofficial Debian package, mentioned on the
> project's github page, using the master branch and calling itself v3.0.)
Sounds good!
>>> + (uri (git-reference
>>
>>> + (url "https://github.com/solvespace/solvespace.git")
>> >> + (commit commit)
>> >> + (recursive? #t)))
>> >
>> > Is ‘recursive?’ needed? If it’s just for the bundled dependencies under
>> > extlib/ that are not used anyway, perhaps we can omit it?
>>
>
> Some of them are still used (sorry I can't check which ones just now). I
> have trivially modified the build system so that if :recursive? is a list
> it only clones those submodules listed. I can find the patch later but its
> just a couple of lines. If this is adopted should may be rename
> :recursive? or add another parameter?
At first sight I think I’d keep it simple and just keep ‘recursive?’ as
it is. After all, if that fetches too many submodules in this specific
case, that’s not the end of the world and we can always delete them
explicitly afterwards. I think it’s quite unusual to need some but not
all of the submodules.
Thanks,
Ludo’.
Reply sent
to
Jelle Licht <jlicht <at> fsfe.org>
:
You have taken responsibility.
(Tue, 20 Jun 2023 21:29:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Myles English <mylesenglish <at> gmail.com>
:
bug acknowledged by developer.
(Tue, 20 Jun 2023 21:29:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 36352-done <at> debbugs.gnu.org (full text, mbox):
We have solvespace <at> 3.1 in guix master, closing!
- Jelle
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 19 Jul 2023 11:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 296 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.