Subject: Re: [bug#37372] [PATCH] gnu: Add openscad.
From: Efraim Flashner <[email-masked]>
To: Steve Sprang <[email-masked]>
Cc: [email-masked]
Date: Wed, 11 Sep 2019 12:08:08 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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 <[email-masked]>
> > 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   <[email-masked]>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted