diff mbox series

[bug#37372] gnu: Add openscad.

Message ID CA+xn8YC4ibPcHXJRa7i518mNfCs8bbfN_Q5Og5EuFEY_Hfuohw@mail.gmail.com
State Accepted
Headers show
Series [bug#37372] gnu: Add openscad. | expand

Commit Message

Steve Sprang Sept. 10, 2019, 11:47 p.m. UTC
There is a lint complaint that the "source [is] not archived on
Software Heritage". I'm not sure if that's something that I need to
remedy or not.

Comments

Efraim Flashner Sept. 11, 2019, 7:57 a.m. UTC | #1
On Tue, Sep 10, 2019 at 04:47:00PM -0700, Steve Sprang wrote:
> There is a lint complaint that the "source [is] not archived on
> Software Heritage". I'm not sure if that's something that I need to
> remedy or not.

I've been seeing it a bunch too lately. I know it was added more
explicitly as a check although I'm not sure if they're false positives
or if it's really missing. Either way, it's not something to worry about
at this point.

> From 20cbcd57a23a4acac83257817df0baeb3232695d Mon Sep 17 00:00:00 2001
> From: Steve Sprang <scs@stevesprang.com>
> Date: Tue, 10 Sep 2019 16:22:57 -0700
> Subject: [PATCH] gnu: Add openscad.
> 
> * gnu/packages/engineering.scm (openscad): New variable.
> ---
>  gnu/packages/engineering.scm | 69 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 69 insertions(+)
> 
> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
> index 7f5409c835..9852aaf667 100644
> --- a/gnu/packages/engineering.scm
> +++ b/gnu/packages/engineering.scm
> @@ -65,6 +65,7 @@
>    #:use-module (gnu packages glib)
>    #:use-module (gnu packages gnome)
>    #:use-module (gnu packages gperf)
> +  #:use-module (gnu packages graphics)
>    #:use-module (gnu packages groff)
>    #:use-module (gnu packages gtk)
>    #:use-module (gnu packages guile)
> @@ -89,6 +90,7 @@
>    #:use-module (gnu packages tex)
>    #:use-module (gnu packages version-control)
>    #:use-module (gnu packages wxwidgets)
> +  #:use-module (gnu packages xml)
>    #:use-module (gnu packages xorg))
>  
>  (define-public librecad
> @@ -2145,3 +2147,70 @@ well as conversion and validation tools for input and output data.  The
>  specification can be downloaded at @url{http://3mf.io/specification/}.")
>      (home-page "https://3mf.io/")
>      (license license:bsd-2)))
> +
> +(define-public openscad
> +  (package
> +    (name "openscad")
> +    (version "2019.05")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://files.openscad.org/openscad-" version
> +                           ".src.tar.gz"))
> +       (sha256
> +        (base32
> +         "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))))
> +    (build-system cmake-build-system)
> +    (inputs
> +     `(("boost" ,boost)
> +       ("cgal" ,cgal)
> +       ("double-conversion" ,double-conversion)
> +       ("eigen" ,eigen)
> +       ("fontconfig" ,fontconfig)
> +       ("glew" ,glew)
> +       ("gmp" ,gmp)
> +       ("harfbuzz" ,harfbuzz)
> +       ("lib3mf" ,lib3mf)
> +       ("libxml2" ,libxml2)
> +       ("libzip" ,libzip)
> +       ("mpfr" ,mpfr)
> +       ("opencsg" ,opencsg)
> +       ("qscintilla" ,qscintilla)
> +       ("qtbase" ,qtbase)
> +       ("qtmultimedia" ,qtmultimedia)))
> +    (native-inputs
> +     `(("bison" ,bison)
> +       ("flex" ,flex)
> +       ("gnu-gettext" ,gnu-gettext)

This should be gnu-gettext-minimial

> +       ("pkg-config" ,pkg-config)
> +       ("which" ,which)
> +       ;; the following are only needed for tests
> +       ("imagemagick" ,imagemagick)
> +       ("ps" ,procps)
> +       ("python" ,python)
> +       ("xvfb" ,xorg-server)))
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (replace 'configure
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (invoke "qmake"
> +                     (string-append "PREFIX=" (assoc-ref outputs "out")))
> +             #t))
> +         (replace 'check
> +           (lambda _
> +             (with-directory-excursion "tests"
> +               (invoke "cmake" ".")
> +               (invoke "make")

I know it wouldn't get rid of all the changes to the 'check phase, but
is there a make-flag that would have it also build the tests? something
like "-DENABLE_TESTS=ON"?

> +               (invoke "ctest"))
> +             ;; strip python test files since lib dir ends up in out/share
> +             (for-each delete-file
> +                       (find-files "libraries/MCAD" ".*\\.py"))
> +             #t)))))
> +    (synopsis "Script-based 3D modeling application")
> +    (description
> +     "OpenSCAD is a 3D Computer-aided Design (CAD) application.  Unlike an
> +interactive modeler, OpenSCAD generates 3D models from a script, giving you
> +full programmatic control over your models.")
> +    (home-page "https://www.openscad.org/")
> +    (license license:gpl2+)))
> -- 
> 2.23.0
>
Efraim Flashner Sept. 11, 2019, 9:08 a.m. UTC | #2
Patch pushed, with a minor comment or two below.

On Wed, Sep 11, 2019 at 10:57:57AM +0300, Efraim Flashner wrote:
> On Tue, Sep 10, 2019 at 04:47:00PM -0700, Steve Sprang wrote:
> > There is a lint complaint that the "source [is] not archived on
> > Software Heritage". I'm not sure if that's something that I need to
> > remedy or not.
> 
> I've been seeing it a bunch too lately. I know it was added more
> explicitly as a check although I'm not sure if they're false positives
> or if it's really missing. Either way, it's not something to worry about
> at this point.
> 
> > From 20cbcd57a23a4acac83257817df0baeb3232695d Mon Sep 17 00:00:00 2001
> > From: Steve Sprang <scs@stevesprang.com>
> > Date: Tue, 10 Sep 2019 16:22:57 -0700
> > Subject: [PATCH] gnu: Add openscad.
> > 
> > * gnu/packages/engineering.scm (openscad): New variable.
> > ---
> >  gnu/packages/engineering.scm | 69 ++++++++++++++++++++++++++++++++++++
> >  1 file changed, 69 insertions(+)
> > 
> > diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
> > index 7f5409c835..9852aaf667 100644
> > --- a/gnu/packages/engineering.scm
> > +++ b/gnu/packages/engineering.scm
> > @@ -65,6 +65,7 @@
> >    #:use-module (gnu packages glib)
> >    #:use-module (gnu packages gnome)
> >    #:use-module (gnu packages gperf)
> > +  #:use-module (gnu packages graphics)
> >    #:use-module (gnu packages groff)
> >    #:use-module (gnu packages gtk)
> >    #:use-module (gnu packages guile)
> > @@ -89,6 +90,7 @@
> >    #:use-module (gnu packages tex)
> >    #:use-module (gnu packages version-control)
> >    #:use-module (gnu packages wxwidgets)
> > +  #:use-module (gnu packages xml)
> >    #:use-module (gnu packages xorg))
> >  
> >  (define-public librecad
> > @@ -2145,3 +2147,70 @@ well as conversion and validation tools for input and output data.  The
> >  specification can be downloaded at @url{http://3mf.io/specification/}.")
> >      (home-page "https://3mf.io/")
> >      (license license:bsd-2)))
> > +
> > +(define-public openscad
> > +  (package
> > +    (name "openscad")
> > +    (version "2019.05")
> > +    (source
> > +     (origin
> > +       (method url-fetch)
> > +       (uri (string-append "https://files.openscad.org/openscad-" version
> > +                           ".src.tar.gz"))
> > +       (sha256
> > +        (base32
> > +         "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))))
> > +    (build-system cmake-build-system)
> > +    (inputs
> > +     `(("boost" ,boost)
> > +       ("cgal" ,cgal)
> > +       ("double-conversion" ,double-conversion)
> > +       ("eigen" ,eigen)
> > +       ("fontconfig" ,fontconfig)
> > +       ("glew" ,glew)
> > +       ("gmp" ,gmp)
> > +       ("harfbuzz" ,harfbuzz)
> > +       ("lib3mf" ,lib3mf)
> > +       ("libxml2" ,libxml2)
> > +       ("libzip" ,libzip)
> > +       ("mpfr" ,mpfr)
> > +       ("opencsg" ,opencsg)
> > +       ("qscintilla" ,qscintilla)
> > +       ("qtbase" ,qtbase)
> > +       ("qtmultimedia" ,qtmultimedia)))
> > +    (native-inputs
> > +     `(("bison" ,bison)
> > +       ("flex" ,flex)
> > +       ("gnu-gettext" ,gnu-gettext)
> 
> This should be gnu-gettext-minimial

Seems I made a typo, ("gettext" ,gettext-minimal)

> 
> > +       ("pkg-config" ,pkg-config)
> > +       ("which" ,which)
> > +       ;; the following are only needed for tests
> > +       ("imagemagick" ,imagemagick)
> > +       ("ps" ,procps)
> > +       ("python" ,python)
> > +       ("xvfb" ,xorg-server)))
> > +    (arguments
> > +     `(#:phases
> > +       (modify-phases %standard-phases
> > +         (replace 'configure
> > +           (lambda* (#:key outputs #:allow-other-keys)
> > +             (invoke "qmake"
> > +                     (string-append "PREFIX=" (assoc-ref outputs "out")))
> > +             #t))
> > +         (replace 'check
> > +           (lambda _
> > +             (with-directory-excursion "tests"
> > +               (invoke "cmake" ".")
> > +               (invoke "make")
> 
> I know it wouldn't get rid of all the changes to the 'check phase, but
> is there a make-flag that would have it also build the tests? something
> like "-DENABLE_TESTS=ON"?

I looked at this a bit myself and didn't see anything

> 
> > +               (invoke "ctest"))
> > +             ;; strip python test files since lib dir ends up in out/share
> > +             (for-each delete-file
> > +                       (find-files "libraries/MCAD" ".*\\.py"))
> > +             #t)))))
> > +    (synopsis "Script-based 3D modeling application")
> > +    (description
> > +     "OpenSCAD is a 3D Computer-aided Design (CAD) application.  Unlike an
> > +interactive modeler, OpenSCAD generates 3D models from a script, giving you
> > +full programmatic control over your models.")
> > +    (home-page "https://www.openscad.org/")
> > +    (license license:gpl2+)))
> > -- 
> > 2.23.0
> > 
> 
> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted
diff mbox series

Patch

From 20cbcd57a23a4acac83257817df0baeb3232695d Mon Sep 17 00:00:00 2001
From: Steve Sprang <scs@stevesprang.com>
Date: Tue, 10 Sep 2019 16:22:57 -0700
Subject: [PATCH] gnu: Add openscad.

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

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 7f5409c835..9852aaf667 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -65,6 +65,7 @@ 
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -89,6 +90,7 @@ 
   #:use-module (gnu packages tex)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages wxwidgets)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
 (define-public librecad
@@ -2145,3 +2147,70 @@  well as conversion and validation tools for input and output data.  The
 specification can be downloaded at @url{http://3mf.io/specification/}.")
     (home-page "https://3mf.io/")
     (license license:bsd-2)))
+
+(define-public openscad
+  (package
+    (name "openscad")
+    (version "2019.05")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://files.openscad.org/openscad-" version
+                           ".src.tar.gz"))
+       (sha256
+        (base32
+         "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("boost" ,boost)
+       ("cgal" ,cgal)
+       ("double-conversion" ,double-conversion)
+       ("eigen" ,eigen)
+       ("fontconfig" ,fontconfig)
+       ("glew" ,glew)
+       ("gmp" ,gmp)
+       ("harfbuzz" ,harfbuzz)
+       ("lib3mf" ,lib3mf)
+       ("libxml2" ,libxml2)
+       ("libzip" ,libzip)
+       ("mpfr" ,mpfr)
+       ("opencsg" ,opencsg)
+       ("qscintilla" ,qscintilla)
+       ("qtbase" ,qtbase)
+       ("qtmultimedia" ,qtmultimedia)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("gnu-gettext" ,gnu-gettext)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ;; the following are only needed for tests
+       ("imagemagick" ,imagemagick)
+       ("ps" ,procps)
+       ("python" ,python)
+       ("xvfb" ,xorg-server)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (invoke "qmake"
+                     (string-append "PREFIX=" (assoc-ref outputs "out")))
+             #t))
+         (replace 'check
+           (lambda _
+             (with-directory-excursion "tests"
+               (invoke "cmake" ".")
+               (invoke "make")
+               (invoke "ctest"))
+             ;; strip python test files since lib dir ends up in out/share
+             (for-each delete-file
+                       (find-files "libraries/MCAD" ".*\\.py"))
+             #t)))))
+    (synopsis "Script-based 3D modeling application")
+    (description
+     "OpenSCAD is a 3D Computer-aided Design (CAD) application.  Unlike an
+interactive modeler, OpenSCAD generates 3D models from a script, giving you
+full programmatic control over your models.")
+    (home-page "https://www.openscad.org/")
+    (license license:gpl2+)))
-- 
2.23.0