unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#45573] [PATCH] Correct freecad runtime errors
@ 2020-12-31 18:47 Ekaitz Zarraga
  2020-12-31 22:36 ` Leo Famulari
  0 siblings, 1 reply; 9+ messages in thread
From: Ekaitz Zarraga @ 2020-12-31 18:47 UTC (permalink / raw)
  To: 45573

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

Hi,

I attach 4 patches that correct the runtime issues freecad has and also supply some packages needed as a dependency.

Freecad is a very complex package that is hard to build because many of its dependencies' buildsystem is broken. The approach followed here is the same that Nix follows and appears to work correctly.

The changes correct the Draft module, which wasn't available because pivy was not added as a dependency.

For context, see this message:
https://lists.gnu.org/archive/html/guix-devel/2020-12/msg00123.html

Thanks

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-coin3D-4.patch --]
[-- Type: text/x-patch; name=0001-gnu-Add-coin3D-4.patch, Size: 2605 bytes --]

From 8b6b170a6e810c6de896555702b7730a29b2568c Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Thu, 31 Dec 2020 19:32:34 +0100
Subject: [PATCH 1/4] gnu: Add coin3D-4.

    * gnu/packages/graphics.scm (coin3D-4): New variable.
---
 gnu/packages/graphics.scm | 49 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 7a61084f24..86f68e4cb7 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -1732,6 +1732,55 @@ standard graphics library for 3D visualization and visual simulation
 software in the scientific and engineering community.")
       (license license:bsd-3))))
 
+(define-public coin3D-4
+    (package
+    (name "coin3D-4")
+    (version "4.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/coin3d/coin")
+               (commit (string-append "Coin-" version))
+               (recursive? #t)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1ayg0hl8wanhadahm5xbghghxw1qjwqbrs3dl3ngnff027hsyf8p"))
+        (modules '((guix build utils)))
+        (snippet
+          '(begin
+             (for-each delete-file
+                       '("cfg/csubst.exe"
+                         "cfg/wrapmsvc.exe"))
+             (substitute* "CMakeLists.txt"
+               ((".*cpack.d.*") ""))
+             #t))))
+    (build-system cmake-build-system)
+    (native-inputs
+      `(("doxygen" ,doxygen)
+        ("graphviz" ,graphviz)))
+    (inputs
+      `(("boost" ,boost)
+        ("freeglut" ,freeglut)
+        ("glew" ,glew)))
+    (arguments
+      `(#:configure-flags
+        (list
+          "-DCOIN_BUILD_DOCUMENTATION_MAN=ON"
+          (string-append "-DBOOST_ROOT="
+                         (assoc-ref %build-inputs "boost")))))
+    (home-page "https://github.com/coin3d/coin")
+    (synopsis
+      "High-level 3D visualization library with Open Inventor 2.1 API")
+    (description
+      "Coin is a 3D graphics library with an Application Programming Interface
+based on the Open Inventor 2.1 API.  For those who are not familiar with Open
+Inventor, it is a scene-graph based retain-mode rendering and model interaction
+library, written in C++, which has become the de facto standard graphics
+library for 3D visualization and visual simulation software in the scientific
+and engineering community.")
+      (license license:bsd-3)))
+
 (define-public superfamiconv
   (package
     (name "superfamiconv")
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0003-gnu-Add-python-pivy.patch --]
[-- Type: text/x-patch; name=0003-gnu-Add-python-pivy.patch, Size: 2384 bytes --]

From 3a4cc6fcd17d4ba4d45b15833caecf81c8f516ac Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Thu, 31 Dec 2020 19:35:28 +0100
Subject: [PATCH 3/4] gnu: Add python-pivy.

    * gnu/packages/python-xyz.scm (python-pivy): New variable.
---
 gnu/packages/python-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d07c91121a..83b55a329a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -175,6 +175,7 @@
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
+  #:use-module (gnu packages swig)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
@@ -23238,3 +23239,45 @@ process.")
      "Gamera is a toolkit for building document image recognition systems.")
     (home-page "https://gamera.informatik.hsnr.de/")
     (license license:gpl2+)))
+
+(define-public python-pivy
+  (package
+    (name "python-pivy")
+    (version "0.6.5")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/coin3d/pivy")
+               (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0vids7sxk8w5vr73xdnf8xdci71a7syl6cd35aiisppbqyyfmykx"))
+
+        (modules '((guix build utils)))
+        (snippet
+          '(begin
+             (substitute* "CMakeLists.txt"
+                          (("\\$\\{SoQt_INCLUDE_DIRS}")
+                           "${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}"))
+             #t))))
+    (build-system python-build-system)
+    (arguments
+      `(#:tests? #f))
+    (native-inputs
+      `(("cmake" ,cmake)
+        ("swig" ,swig)))
+    (inputs
+      `(("python-wrapper" ,python-wrapper)
+        ("qtbase" ,qtbase)
+        ("libxi" ,libxi)
+        ("libice" ,libice)
+        ("soqt" ,soqt)
+        ("glew" ,glew)
+        ("coin3D-4" ,coin3D-4)))
+    (home-page "https://github.com/coin3d/pivy")
+    (synopsis "Python bindings to Coin3D")
+    (description
+      "Pivy provides python bindings for Coin, a 3D graphics library with an
+Application Programming Interface based on the Open Inventor 2.1 API.")
+    (license license:isc)))
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0004-gnu-freecad-correct-runtime-errors.patch --]
[-- Type: text/x-patch; name=0004-gnu-freecad-correct-runtime-errors.patch, Size: 3828 bytes --]

From e1e59a8a15908747305b629005d63116a1c34f34 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Thu, 31 Dec 2020 19:36:14 +0100
Subject: [PATCH 4/4] gnu: freecad correct runtime errors

    * gnu/packages/engineering.scm (freecad): Update package
    [inputs]: Move python-pyside-2-tools to native-inputs
    [inputs]: Add pivy
    [inputs]: Add qtxmlpatterns
    [inputs]: Add qtwebkit
---
 gnu/packages/engineering.scm | 50 ++++++++++++++++--------------------
 1 file changed, 22 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e436994492..f8563085ac 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -36,7 +36,6 @@
 ;;;
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
-
 (define-module (gnu packages engineering)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -2431,35 +2430,30 @@ full programmatic control over your models.")
     (home-page "https://www.openscad.org/")
     (license license:gpl2+)))
 
+
 (define-public freecad
-  (package
-    (name "freecad")
-    (version "0.18.5")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/FreeCAD/FreeCAD")
-             (commit version)))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           ;; Fix build with Python 3.8, see
-           ;; <https://tracker.freecadweb.org/view.php?id=4143>.
-           (substitute* "src/Base/swigpyrun.inl"
-             (("PyObject \\*modules = interp->modules;")
-              "PyObject *modules = PyEval_GetBuiltins();"))
-           #t))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0r31jzzkamf76l19fb175hhv48irk06fpi8ldxdlr31w8c1ix4aa"))))
+  (let ((commit-ref "7616153b3c31ace006169cdc2fdafab484498858")
+        (revision "1"))
+    (package
+      (name "freecad")
+      (version (git-version "0.18.5" revision commit-ref))
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                 (url "https://github.com/FreeCAD/FreeCAD")
+                 (commit commit-ref)))
+          (file-name (git-file-name name version))
+          (sha256
+            (base32
+              "16965yxnp2pq7nm8z3p0pjkzjdyq62vfrj8j3nk26bwc898czyn2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
        ("graphviz" ,graphviz)
        ("qttools" ,qttools)
        ("pkg-config" ,pkg-config)
+       ("python-pyside-2-tools" ,python-pyside-2-tools)
        ("swig" ,swig)))
     (inputs
      `(("boost" ,boost)
@@ -2477,16 +2471,15 @@ full programmatic control over your models.")
        ("opencascade-occt" ,opencascade-occt)
        ("python-matplotlib" ,python-matplotlib)
        ("python-pyside-2" ,python-pyside-2)
-       ("python-pyside-2-tools" ,python-pyside-2-tools)
        ("python-shiboken-2" ,python-shiboken-2)
+       ("python-pivy" ,python-pivy)
        ("python-wrapper" ,python-wrapper)
        ("qtbase" ,qtbase)
        ("qtsvg" ,qtsvg)
        ("qtx11extras" ,qtx11extras)
        ("qtxmlpatterns" ,qtxmlpatterns)
-       ;; qtwebkit is optional. We remove it currently, because it takes
-       ;; much time to compile and substitutes are often unavailable
-       ;;("qtwebkit" ,qtwebkit)
+       ("qtwebkit" ,qtwebkit)
+       ("qtxmlpatterns" ,qtxmlpatterns)
        ("tbb" ,tbb)
        ("vtk" ,vtk)
        ("xerces-c" ,xerces-c)
@@ -2546,7 +2539,8 @@ customization.")
       license:lgpl2.1+
       license:lgpl2.0+
       license:gpl3+
-      license:bsd-3))))
+      license:bsd-3)))))
+
 
 (define-public libmedfile
   (package
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0002-gnu-Add-soqt.patch --]
[-- Type: text/x-patch; name=0002-gnu-Add-soqt.patch, Size: 2130 bytes --]

From 3c3fde8f5aa3433de076d6bbb90f9e60333f31b0 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Thu, 31 Dec 2020 19:34:45 +0100
Subject: [PATCH 2/4] gnu: Add soqt.

    * gnu/packages/qt.scm (soqt): New variable.
---
 gnu/packages/qt.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 2e621e758c..2af7e40734 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -67,6 +67,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
@@ -2824,3 +2825,36 @@ being fully customizable and easy to extend.")
     ;; According to LICENSE, either version 2 or version 3 of the GNU GPL may
     ;; be used.
     (license (list license:gpl2 license:gpl3))))
+
+
+(define-public soqt
+  (let ((commit-ref "fb8f655632bb9c9c60e0ff9fa69a5ba22d3ff99d")
+        (revision "1"))
+    (package
+    (name "soqt")
+    (version (git-version "1.6.0" revision commit-ref))
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/coin3d/soqt")
+               (commit commit-ref)
+               (recursive? #t)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "16vikb3fy8rmk10sg5g0gy2c343hi3x7zccsga90ssnkzpq6m032"))))
+    (build-system cmake-build-system)
+    (arguments
+      '(#:tests? #f))
+    (native-inputs
+      `(("pkg-config" ,pkg-config)
+        ("cmake" ,cmake)))
+    (inputs
+      `(("qtbase" ,qtbase)
+        ("coin3D-4" ,coin3D-4)))
+    (home-page "https://github.com/coin3d/soqt")
+    (synopsis "Qt GUI component toolkit library for Coin")
+    (description "SoQt is a Qt GUI component toolkit library for Coin.  It is
+also compatible with SGI and TGS Open Inventor, and the API is based on the API
+of the InventorXt GUI component toolkit.")
+    (license license:bsd-3))))
-- 
2.29.2


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

* [bug#45573] [PATCH] Correct freecad runtime errors
  2020-12-31 18:47 [bug#45573] [PATCH] Correct freecad runtime errors Ekaitz Zarraga
@ 2020-12-31 22:36 ` Leo Famulari
  2020-12-31 23:23   ` Ekaitz Zarraga
  0 siblings, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2020-12-31 22:36 UTC (permalink / raw)
  To: Ekaitz Zarraga; +Cc: 45573

On Thu, Dec 31, 2020 at 06:47:59PM +0000, Ekaitz Zarraga wrote:
> I attach 4 patches that correct the runtime issues freecad has and also supply some packages needed as a dependency.
> 
> Freecad is a very complex package that is hard to build because many of its dependencies' buildsystem is broken. The approach followed here is the same that Nix follows and appears to work correctly.
> 
> The changes correct the Draft module, which wasn't available because pivy was not added as a dependency.
> 
> For context, see this message:
> https://lists.gnu.org/archive/html/guix-devel/2020-12/msg00123.html

Thanks!

Here is my feedback:

> Subject: [PATCH 1/4] gnu: Add coin3D-4.
> 
>     * gnu/packages/graphics.scm (coin3D-4): New variable.

> +        (snippet
> +          '(begin
> +             (for-each delete-file
> +                       '("cfg/csubst.exe"
> +                         "cfg/wrapmsvc.exe"))

Please add a brief code comment like "Delete binaries".

> +             (substitute* "CMakeLists.txt"
> +               ((".*cpack.d.*") ""))
> +             #t))))

What does this do? Please add an explanatory comment.

> Subject: [PATCH 3/4] gnu: Add python-pivy.
> 
>     * gnu/packages/python-xyz.scm (python-pivy): New variable.

> +        (snippet
> +          '(begin
> +             (substitute* "CMakeLists.txt"
> +                          (("\\$\\{SoQt_INCLUDE_DIRS}")
> +                           "${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}"))
> +             #t))))

Origin snippets affect what is returned by `guix build --source
python-pivy`, and are used for correcting very serious bugs in the
source code or for fixing so-called "freedom issues", such as removing
pre-compiled binaries.

We prefer to make other types of changes in custom build phases in a
package's arguments. I'm not sure exactly what this substitution does —
please add a comment — but perhaps it would be more appropriate in a
custom build phase?

> +    (arguments
> +      `(#:tests? #f))

Why are the tests disabled? We aim to make Guix packages pass upstream
test suites, so there should be a reason for skipping them. If there is
no test suite, just add a comment saying so. Same question about the
soqt package.

> Subject: [PATCH 4/4] gnu: freecad correct runtime errors
> 
>     * gnu/packages/engineering.scm (freecad): Update package
>     [inputs]: Move python-pyside-2-tools to native-inputs
>     [inputs]: Add pivy
>     [inputs]: Add qtxmlpatterns
>     [inputs]: Add qtwebkit

Are all of these changes necessary to fix the errors? If not, we prefer
to split the changes up into separate commits. For example, one commit
to update the package, one commit to fix the errors, one commit to
enable some optional feature (e.g. requiring qtwebkit).

If all the changes must be made together, that's fine too.

The commit message should be rewritten, but exactly how depends on
answers to my previous questions. It could be written like this:

------
gnu: FreeCad: Update to 0.18.5-1.7616153.

Fixes *description of bug*.

* gnu/packages/engineering.scm (freecad): Update to 0.18.5-1.7616153.
[inputs]: Add python-pivy, qtxmlpatterns, and qtwebkit. Remove
python-pyside-2-tools.
[native-inputs]: Add python-pyside-2-tools.
------

Can you send a revised patch series?




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

* [bug#45573] [PATCH] Correct freecad runtime errors
  2020-12-31 22:36 ` Leo Famulari
@ 2020-12-31 23:23   ` Ekaitz Zarraga
  2021-01-01 14:37     ` Ekaitz Zarraga
  0 siblings, 1 reply; 9+ messages in thread
From: Ekaitz Zarraga @ 2020-12-31 23:23 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 45573@debbugs.gnu.org

Hi,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, December 31, 2020 11:36 PM, Leo Famulari <leo@famulari.name> wrote:

> On Thu, Dec 31, 2020 at 06:47:59PM +0000, Ekaitz Zarraga wrote:
>
> > I attach 4 patches that correct the runtime issues freecad has and also supply some packages needed as a dependency.
> > Freecad is a very complex package that is hard to build because many of its dependencies' buildsystem is broken. The approach followed here is the same that Nix follows and appears to work correctly.
> > The changes correct the Draft module, which wasn't available because pivy was not added as a dependency.
> > For context, see this message:
> > https://lists.gnu.org/archive/html/guix-devel/2020-12/msg00123.html
>
> Thanks!
>
> Here is my feedback:
>
> > Subject: [PATCH 1/4] gnu: Add coin3D-4.
> >
> >     * gnu/packages/graphics.scm (coin3D-4): New variable.
> >
>
> > -          (snippet
> >
> >
> > -            '(begin
> >
> >
> > -               (for-each delete-file
> >
> >
> > -                         '("cfg/csubst.exe"
> >
> >
> > -                           "cfg/wrapmsvc.exe"))
> >
> >
>
> Please add a brief code comment like "Delete binaries".
>
> > -               (substitute* "CMakeLists.txt"
> >
> >
> > -                 ((".*cpack.d.*") ""))
> >
> >
> > -               #t))))
> >
> >
>
> What does this do? Please add an explanatory comment.

It removes an unnecessary library.

I'll add a comment.

> > Subject: [PATCH 3/4] gnu: Add python-pivy.
> >
> >     * gnu/packages/python-xyz.scm (python-pivy): New variable.
> >
>
> > -          (snippet
> >
> >
> > -            '(begin
> >
> >
> > -               (substitute* "CMakeLists.txt"
> >
> >
> > -                            (("\\\\$\\\\{SoQt_INCLUDE_DIRS}")
> >
> >
> > -                             "${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}"))
> >
> >
> > -               #t))))
> >
> >
>
> Origin snippets affect what is returned by`guix build --source python-pivy`, and are used for correcting very serious bugs in the
> source code or for fixing so-called "freedom issues", such as removing
> pre-compiled binaries.
>
> We prefer to make other types of changes in custom build phases in a
> package's arguments. I'm not sure exactly what this substitution does —
> please add a comment — but perhaps it would be more appropriate in a
> custom build phase?

This substitution corrects the repository.
By default the repository doesn't find Coin3D, so we need to insert its search path by hand.
What's the best way to add this?

> > -   (arguments
> > -        `(#:tests? #f))
> >
> >
>
> Why are the tests disabled? We aim to make Guix packages pass upstream
> test suites, so there should be a reason for skipping them. If there is
> no test suite, just add a comment saying so. Same question about the
> soqt package.
>
> > Subject: [PATCH 4/4] gnu: freecad correct runtime errors
> >
> >     * gnu/packages/engineering.scm (freecad): Update package
> >     [inputs]: Move python-pyside-2-tools to native-inputs
> >     [inputs]: Add pivy
> >     [inputs]: Add qtxmlpatterns
> >     [inputs]: Add qtwebkit
> >
>
> Are all of these changes necessary to fix the errors? If not, we prefer
> to split the changes up into separate commits. For example, one commit
> to update the package, one commit to fix the errors, one commit to
> enable some optional feature (e.g. requiring qtwebkit).

Ok, I'll separate the qtwebkit as it's not necessary for this fix.

> If all the changes must be made together, that's fine too.
>
> The commit message should be rewritten, but exactly how depends on
> answers to my previous questions. It could be written like this:
>
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> gnu: FreeCad: Update to 0.18.5-1.7616153.
>
> Fixes description of bug.
>
> -   gnu/packages/engineering.scm (freecad): Update to 0.18.5-1.7616153.
>     [inputs]: Add python-pivy, qtxmlpatterns, and qtwebkit. Remove
>     python-pyside-2-tools.
>     [native-inputs]: Add python-pyside-2-tools.


I'll change that.

> Can you send a revised patch series?

Of course. I'll write a follow up soon.

Happy new year.


Ekaitz




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

* [bug#45573] [PATCH] Correct freecad runtime errors
  2020-12-31 23:23   ` Ekaitz Zarraga
@ 2021-01-01 14:37     ` Ekaitz Zarraga
  2021-01-04  0:13       ` Leo Famulari
  2021-01-04  0:18       ` Leo Famulari
  0 siblings, 2 replies; 9+ messages in thread
From: Ekaitz Zarraga @ 2021-01-01 14:37 UTC (permalink / raw)
  To: Leo Famulari, 45573@debbugs.gnu.org

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

Hi,

I attach the corrected patch set.
If something is missing please let me know.

Thanks.

Happy new year.

Ekaitz

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-coin3D-4.patch --]
[-- Type: text/x-patch; name=0001-gnu-Add-coin3D-4.patch, Size: 2696 bytes --]

From 8c8c82dfc52a8775b01a0d038ddf42ba453624e5 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Fri, 1 Jan 2021 15:16:07 +0100
Subject: [PATCH 1/6] gnu: Add coin3D-4.

    * gnu/packages/graphics.scm (coin3D-4): New variable.
---
 gnu/packages/graphics.scm | 51 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 7a61084f24..86c95ef11b 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -1732,6 +1732,57 @@ standard graphics library for 3D visualization and visual simulation
 software in the scientific and engineering community.")
       (license license:bsd-3))))
 
+(define-public coin3D-4
+    (package
+    (name "coin3D-4")
+    (version "4.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/coin3d/coin")
+               (commit (string-append "Coin-" version))
+               (recursive? #t)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "1ayg0hl8wanhadahm5xbghghxw1qjwqbrs3dl3ngnff027hsyf8p"))
+        (modules '((guix build utils)))
+        (snippet
+          '(begin
+             ;; Delete binaries
+             (for-each delete-file
+                       '("cfg/csubst.exe"
+                         "cfg/wrapmsvc.exe"))
+             ;; Delete references to packaging tool cpack
+             (substitute* "CMakeLists.txt"
+               ((".*cpack.d.*") ""))
+             #t))))
+    (build-system cmake-build-system)
+    (native-inputs
+      `(("doxygen" ,doxygen)
+        ("graphviz" ,graphviz)))
+    (inputs
+      `(("boost" ,boost)
+        ("freeglut" ,freeglut)
+        ("glew" ,glew)))
+    (arguments
+      `(#:configure-flags
+        (list
+          "-DCOIN_BUILD_DOCUMENTATION_MAN=ON"
+          (string-append "-DBOOST_ROOT="
+                         (assoc-ref %build-inputs "boost")))))
+    (home-page "https://github.com/coin3d/coin")
+    (synopsis
+      "High-level 3D visualization library with Open Inventor 2.1 API")
+    (description
+      "Coin is a 3D graphics library with an Application Programming Interface
+based on the Open Inventor 2.1 API.  For those who are not familiar with Open
+Inventor, it is a scene-graph based retain-mode rendering and model interaction
+library, written in C++, which has become the de facto standard graphics
+library for 3D visualization and visual simulation software in the scientific
+and engineering community.")
+      (license license:bsd-3)))
+
 (define-public superfamiconv
   (package
     (name "superfamiconv")
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-soqt.patch --]
[-- Type: text/x-patch; name=0002-gnu-Add-soqt.patch, Size: 2142 bytes --]

From 97b6ebf7e1c0dfe5728c9e8dc72cd6f7cb237909 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Fri, 1 Jan 2021 15:17:06 +0100
Subject: [PATCH 2/6] gnu: Add soqt.

    * gnu/packages/qt.scm (soqt): New variable.
---
 gnu/packages/qt.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 2e621e758c..3e93bc55f4 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -67,6 +67,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
@@ -2824,3 +2825,35 @@ being fully customizable and easy to extend.")
     ;; According to LICENSE, either version 2 or version 3 of the GNU GPL may
     ;; be used.
     (license (list license:gpl2 license:gpl3))))
+
+
+(define-public soqt
+  (let ((commit-ref "fb8f655632bb9c9c60e0ff9fa69a5ba22d3ff99d")
+        (revision "1"))
+    (package
+    (name "soqt")
+    (version (git-version "1.6.0" revision commit-ref))
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/coin3d/soqt")
+               (commit commit-ref)
+               (recursive? #t)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "16vikb3fy8rmk10sg5g0gy2c343hi3x7zccsga90ssnkzpq6m032"))))
+    (build-system cmake-build-system)
+    (arguments '(#:tests? #f)) ; There are no tests
+    (native-inputs
+      `(("pkg-config" ,pkg-config)
+        ("cmake" ,cmake)))
+    (inputs
+      `(("qtbase" ,qtbase)
+        ("coin3D-4" ,coin3D-4)))
+    (home-page "https://github.com/coin3d/soqt")
+    (synopsis "Qt GUI component toolkit library for Coin")
+    (description "SoQt is a Qt GUI component toolkit library for Coin.  It is
+also compatible with SGI and TGS Open Inventor, and the API is based on the API
+of the InventorXt GUI component toolkit.")
+    (license license:bsd-3))))
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0005-gnu-freecad-move-python-pyside-2-tools-to-native-inp.patch --]
[-- Type: text/x-patch; name=0005-gnu-freecad-move-python-pyside-2-tools-to-native-inp.patch, Size: 1325 bytes --]

From d823feac3d4a0e05d1c452a0caeaeb528cb01587 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Fri, 1 Jan 2021 15:24:54 +0100
Subject: [PATCH 5/6] gnu: freecad: move python-pyside-2-tools to native-inputs

    * gnu/packages/engineering.scm (freecad):
    [inputs]: Remove python-pyside-2-tools.
    [native-inputs]: Add python-pyside-2-tools.
---
 gnu/packages/engineering.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 4bb7f68939..113766d453 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2453,6 +2453,7 @@ full programmatic control over your models.")
        ("graphviz" ,graphviz)
        ("qttools" ,qttools)
        ("pkg-config" ,pkg-config)
+       ("python-pyside-2-tools" ,python-pyside-2-tools)
        ("swig" ,swig)))
     (inputs
      `(("boost" ,boost)
@@ -2470,7 +2471,6 @@ full programmatic control over your models.")
        ("opencascade-occt" ,opencascade-occt)
        ("python-matplotlib" ,python-matplotlib)
        ("python-pyside-2" ,python-pyside-2)
-       ("python-pyside-2-tools" ,python-pyside-2-tools)
        ("python-shiboken-2" ,python-shiboken-2)
        ("python-pivy" ,python-pivy)
        ("python-wrapper" ,python-wrapper)
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0006-gnu-freecad-Add-qtwebkit-input.patch --]
[-- Type: text/x-patch; name=0006-gnu-freecad-Add-qtwebkit-input.patch, Size: 1014 bytes --]

From 273b0e5cc9813c2e1965531a11b3778bea46e057 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Fri, 1 Jan 2021 15:28:09 +0100
Subject: [PATCH 6/6] gnu: freecad: Add qtwebkit input.

    * gnu/packages/engineering.scm (freecad):
    [inputs]: Add qtwebkit.
---
 gnu/packages/engineering.scm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 113766d453..30846bc1ad 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2478,9 +2478,7 @@ full programmatic control over your models.")
        ("qtsvg" ,qtsvg)
        ("qtx11extras" ,qtx11extras)
        ("qtxmlpatterns" ,qtxmlpatterns)
-       ;; qtwebkit is optional. We remove it currently, because it takes
-       ;; much time to compile and substitutes are often unavailable
-       ;;("qtwebkit" ,qtwebkit)
+       ("qtwebkit" ,qtwebkit)
        ("tbb" ,tbb)
        ("vtk" ,vtk)
        ("xerces-c" ,xerces-c)
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0003-gnu-Add-python-pivy.patch --]
[-- Type: text/x-patch; name=0003-gnu-Add-python-pivy.patch, Size: 2531 bytes --]

From beb817f850a334ecc3b773499bbd4845ab6d835f Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Fri, 1 Jan 2021 15:17:37 +0100
Subject: [PATCH 3/6] gnu: Add python-pivy.

    * gnu/packages/python-xyz.scm (python-pivy): New variable.
---
 gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d07c91121a..183cfa2894 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -175,6 +175,7 @@
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
+  #:use-module (gnu packages swig)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
@@ -23238,3 +23239,46 @@ process.")
      "Gamera is a toolkit for building document image recognition systems.")
     (home-page "https://gamera.informatik.hsnr.de/")
     (license license:gpl2+)))
+
+(define-public python-pivy
+  (package
+    (name "python-pivy")
+    (version "0.6.5")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/coin3d/pivy")
+               (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32 "0vids7sxk8w5vr73xdnf8xdci71a7syl6cd35aiisppbqyyfmykx"))))
+    (build-system python-build-system)
+    (arguments
+      `(#:tests? #f ; Tests are broken
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'patch-cmake-include-dirs
+           (lambda _
+             ;; Patch buildsystem to respect Coin3D include directory
+             (substitute* "CMakeLists.txt"
+                          (("\\$\\{SoQt_INCLUDE_DIRS}")
+                           "${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}"))
+             #t)))))
+    (native-inputs
+      `(("cmake" ,cmake)
+        ("swig" ,swig)))
+    (inputs
+      `(("python-wrapper" ,python-wrapper)
+        ("qtbase" ,qtbase)
+        ("libxi" ,libxi)
+        ("libice" ,libice)
+        ("soqt" ,soqt)
+        ("glew" ,glew)
+        ("coin3D-4" ,coin3D-4)))
+    (home-page "https://github.com/coin3d/pivy")
+    (synopsis "Python bindings to Coin3D")
+    (description
+      "Pivy provides python bindings for Coin, a 3D graphics library with an
+Application Programming Interface based on the Open Inventor 2.1 API.")
+    (license license:isc)))
-- 
2.29.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0004-gnu-FreeCad-Update-to-0.18.5-1.7616153.patch --]
[-- Type: text/x-patch; name=0004-gnu-FreeCad-Update-to-0.18.5-1.7616153.patch, Size: 2737 bytes --]

From 42a78d572abdddbed86b69de0e87468823bfe8d9 Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Fri, 1 Jan 2021 15:22:02 +0100
Subject: [PATCH 4/6] gnu: FreeCad: Update to 0.18.5-1.7616153.

Fixes Draft module import errors

    * gnu/packages/engineering.scm (freecad): Update to 0.18.5-1.7616153.
    [inputs]: Add python-pivy.
---
 gnu/packages/engineering.scm | 41 ++++++++++++++++--------------------
 1 file changed, 18 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e436994492..4bb7f68939 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2432,28 +2432,21 @@ full programmatic control over your models.")
     (license license:gpl2+)))
 
 (define-public freecad
-  (package
-    (name "freecad")
-    (version "0.18.5")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/FreeCAD/FreeCAD")
-             (commit version)))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           ;; Fix build with Python 3.8, see
-           ;; <https://tracker.freecadweb.org/view.php?id=4143>.
-           (substitute* "src/Base/swigpyrun.inl"
-             (("PyObject \\*modules = interp->modules;")
-              "PyObject *modules = PyEval_GetBuiltins();"))
-           #t))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "0r31jzzkamf76l19fb175hhv48irk06fpi8ldxdlr31w8c1ix4aa"))))
+  (let ((commit-ref "7616153b3c31ace006169cdc2fdafab484498858")
+        (revision "1"))
+    (package
+      (name "freecad")
+      (version (git-version "0.18.5" revision commit-ref))
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                 (url "https://github.com/FreeCAD/FreeCAD")
+                 (commit commit-ref)))
+          (file-name (git-file-name name version))
+          (sha256
+            (base32
+              "16965yxnp2pq7nm8z3p0pjkzjdyq62vfrj8j3nk26bwc898czyn2"))))
     (build-system qt-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -2479,6 +2472,7 @@ full programmatic control over your models.")
        ("python-pyside-2" ,python-pyside-2)
        ("python-pyside-2-tools" ,python-pyside-2-tools)
        ("python-shiboken-2" ,python-shiboken-2)
+       ("python-pivy" ,python-pivy)
        ("python-wrapper" ,python-wrapper)
        ("qtbase" ,qtbase)
        ("qtsvg" ,qtsvg)
@@ -2546,7 +2540,8 @@ customization.")
       license:lgpl2.1+
       license:lgpl2.0+
       license:gpl3+
-      license:bsd-3))))
+      license:bsd-3)))))
+
 
 (define-public libmedfile
   (package
-- 
2.29.2


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

* [bug#45573] [PATCH] Correct freecad runtime errors
  2021-01-01 14:37     ` Ekaitz Zarraga
@ 2021-01-04  0:13       ` Leo Famulari
  2021-01-04 12:01         ` Ekaitz Zarraga
  2021-01-04  0:18       ` Leo Famulari
  1 sibling, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2021-01-04  0:13 UTC (permalink / raw)
  To: Ekaitz Zarraga; +Cc: 45573@debbugs.gnu.org

On Fri, Jan 01, 2021 at 02:37:39PM +0000, Ekaitz Zarraga wrote:
> I attach the corrected patch set.
> If something is missing please let me know.

Thanks for the revisions!

> Subject: [PATCH 1/6] gnu: Add coin3D-4.
> 
>     * gnu/packages/graphics.scm (coin3D-4): New variable.

> +    (name "coin3D-4")

I changed the name to "coin3D". One can specify the version in the Guix
UI with "coin3D@4" and in code by referring to the variable name,
coin3D-4.

> +             ;; Delete references to packaging tool cpack
> +             (substitute* "CMakeLists.txt"
> +               ((".*cpack.d.*") ""))
> +             #t))))

I still did not understand the reason for this substitution. I tried
building without it and found that the build is broken, so I added this
info to the comment.

Can you report it upstream? It seems like something that all
distributors would benefit from.

> Subject: [PATCH 2/6] gnu: Add soqt.
> 
>     * gnu/packages/qt.scm (soqt): New variable.

I pushed these first two patches as
a5f13705cb9261ab66bdf73d1fb4a832714feb31

Comments on the others to follow...




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

* [bug#45573] [PATCH] Correct freecad runtime errors
  2021-01-01 14:37     ` Ekaitz Zarraga
  2021-01-04  0:13       ` Leo Famulari
@ 2021-01-04  0:18       ` Leo Famulari
  2021-01-04 12:15         ` Ekaitz Zarraga
  1 sibling, 1 reply; 9+ messages in thread
From: Leo Famulari @ 2021-01-04  0:18 UTC (permalink / raw)
  To: Ekaitz Zarraga; +Cc: 45573@debbugs.gnu.org

On Fri, Jan 01, 2021 at 02:37:39PM +0000, Ekaitz Zarraga wrote:
> Subject: [PATCH 3/6] gnu: Add python-pivy.
> 
>     * gnu/packages/python-xyz.scm (python-pivy): New variable.

> +      `(#:tests? #f ; Tests are broken

Can you clarify what you mean, and the overall situation with the tests?
Are they actually used upstream?

> +        #:phases
> +        (modify-phases %standard-phases
> +          (add-after 'unpack 'patch-cmake-include-dirs
> +           (lambda _
> +             ;; Patch buildsystem to respect Coin3D include directory
> +             (substitute* "CMakeLists.txt"
> +                          (("\\$\\{SoQt_INCLUDE_DIRS}")
> +                           "${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}"))

This can probably be fixed with #:configure-flags. I can look into this
before pushing.

> Subject: [PATCH 4/6] gnu: FreeCad: Update to 0.18.5-1.7616153.
> 
> Fixes Draft module import errors
> 
>     * gnu/packages/engineering.scm (freecad): Update to 0.18.5-1.7616153.
>     [inputs]: Add python-pivy.


> Subject: [PATCH 5/6] gnu: freecad: move python-pyside-2-tools to native-inputs
> 
>     * gnu/packages/engineering.scm (freecad):
>     [inputs]: Remove python-pyside-2-tools.
>     [native-inputs]: Add python-pyside-2-tools.

The re-indentation of the package in patch 4/6 is not complete, and I
will squash these two patches before pushing. I have this "ready to go"
in my Git tree.

> Subject: [PATCH 6/6] gnu: freecad: Add qtwebkit input.
> 
>     * gnu/packages/engineering.scm (freecad):
>     [inputs]: Add qtwebkit.

> -       ;; qtwebkit is optional. We remove it currently, because it takes
> -       ;; much time to compile and substitutes are often unavailable
> -       ;;("qtwebkit" ,qtwebkit)
> +       ("qtwebkit" ,qtwebkit)

The comment is still true... I recommend adding a note in the commit
message saying what the new dependency enables.




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

* [bug#45573] [PATCH] Correct freecad runtime errors
  2021-01-04  0:13       ` Leo Famulari
@ 2021-01-04 12:01         ` Ekaitz Zarraga
  0 siblings, 0 replies; 9+ messages in thread
From: Ekaitz Zarraga @ 2021-01-04 12:01 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 45573@debbugs.gnu.org

Hi Leo,

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, January 4, 2021 1:13 AM, Leo Famulari <leo@famulari.name> wrote:


>
> > -               ;; Delete references to packaging tool cpack
> >
> >
> > -               (substitute* "CMakeLists.txt"
> >
> >
> > -                 ((".*cpack.d.*") ""))
> >
> >
> > -               #t))))
> >
> >
>
> I still did not understand the reason for this substitution. I tried
> building without it and found that the build is broken, so I added this
> info to the comment.
>
> Can you report it upstream? It seems like something that all
> distributors would benefit from.


I think it's related with packaging. But I'm not sure neither.
Guys at Nix do the same and remove that line. I tried to leave it
and it doesn't work. I'll try to report upstream.

> > Subject: [PATCH 2/6] gnu: Add soqt.
> >
> >     * gnu/packages/qt.scm (soqt): New variable.
> >
>
> I pushed these first two patches as
> a5f13705cb9261ab66bdf73d1fb4a832714feb31
>
> Comments on the others to follow...


Thanks!




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

* [bug#45573] [PATCH] Correct freecad runtime errors
  2021-01-04  0:18       ` Leo Famulari
@ 2021-01-04 12:15         ` Ekaitz Zarraga
  2021-01-04 20:12           ` bug#45573: " Leo Famulari
  0 siblings, 1 reply; 9+ messages in thread
From: Ekaitz Zarraga @ 2021-01-04 12:15 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 45573@debbugs.gnu.org

Hi,


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, January 4, 2021 1:18 AM, Leo Famulari <leo@famulari.name> wrote:

> On Fri, Jan 01, 2021 at 02:37:39PM +0000, Ekaitz Zarraga wrote:
>
> > Subject: [PATCH 3/6] gnu: Add python-pivy.
> >
> >     * gnu/packages/python-xyz.scm (python-pivy): New variable.
> >
>
> > -        `(#:tests? #f ; Tests are broken
> >
> >
>
> Can you clarify what you mean, and the overall situation with the tests?
> Are they actually used upstream?

I think they are broken upstream.

When they are run during the guix compilation they report a circular
dependency issue when loading but once the lib is installed i'm able to
import it without issues.

>
> > -          #:phases
> >
> >
> > -          (modify-phases %standard-phases
> >
> >
> > -            (add-after 'unpack 'patch-cmake-include-dirs
> >
> >
> > -             (lambda _
> >
> >
> > -               ;; Patch buildsystem to respect Coin3D include directory
> >
> >
> > -               (substitute* "CMakeLists.txt"
> >
> >
> > -                            (("\\\\$\\\\{SoQt_INCLUDE_DIRS}")
> >
> >
> > -                             "${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}"))
> >
> >
>
> This can probably be fixed with #:configure-flags. I can look into this
> before pushing.

I tried that and I was unable to solve it that way.
I'm not a CMake expert but I think the problem is that even if CMake finds
Coin3D, it's not taking it in account during the compilation, so it needs
that patch to use it.

>
> > Subject: [PATCH 4/6] gnu: FreeCad: Update to 0.18.5-1.7616153.
> > Fixes Draft module import errors
> >
> >     * gnu/packages/engineering.scm (freecad): Update to 0.18.5-1.7616153.
> >     [inputs]: Add python-pivy.
> >
>
> > Subject: [PATCH 5/6] gnu: freecad: move python-pyside-2-tools to native-inputs
> >
> >     * gnu/packages/engineering.scm (freecad):
> >     [inputs]: Remove python-pyside-2-tools.
> >     [native-inputs]: Add python-pyside-2-tools.
> >
>
> The re-indentation of the package in patch 4/6 is not complete, and I
> will squash these two patches before pushing. I have this "ready to go"
> in my Git tree.
>
> > Subject: [PATCH 6/6] gnu: freecad: Add qtwebkit input.
> >
> >     * gnu/packages/engineering.scm (freecad):
> >     [inputs]: Add qtwebkit.
> >
>
> > -         ;; qtwebkit is optional. We remove it currently, because it takes
> >
> >
> > -         ;; much time to compile and substitutes are often unavailable
> >
> >
> > -         ;;("qtwebkit" ,qtwebkit)
> >
> >
> >
> > -         ("qtwebkit" ,qtwebkit)
> >
> >
>
> The comment is still true... I recommend adding a note in the commit
> message saying what the new dependency enables.

I'm not sure if the comment is true.
I'd like to discuss it, but you can safely discard this change.

The only part that is affected by qtwebkit is the first screen of the
program that shows some examples, links and news. So it's safe to remove
but I'm not sure if the substitutes were unavailable because of this or
because the compilation was failing (it have been broken for a long time).

I'm not sure about how to proceed here. I'm ok with a FreeCad that
is open in a blank screen and shows a couple of warnings on load. I'll
leave the decision of including this patch or not on you guys if you don't
mind.


Thank you for your time,
Ekaitz




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

* bug#45573: [PATCH] Correct freecad runtime errors
  2021-01-04 12:15         ` Ekaitz Zarraga
@ 2021-01-04 20:12           ` Leo Famulari
  0 siblings, 0 replies; 9+ messages in thread
From: Leo Famulari @ 2021-01-04 20:12 UTC (permalink / raw)
  To: Ekaitz Zarraga; +Cc: 45573@debbugs.gnu.org

On Mon, Jan 04, 2021 at 12:15:26PM +0000, Ekaitz Zarraga wrote:
> I think they are broken upstream.
> 
> When they are run during the guix compilation they report a circular
> dependency issue when loading but once the lib is installed i'm able to
> import it without issues.

Thanks for the info. I added it to a comment. It helps reviewers (and
later readers of the package definition) to include bits of info to help
understand why the package definition does something non-standard.

> I tried that and I was unable to solve it that way.
> I'm not a CMake expert but I think the problem is that even if CMake finds
> Coin3D, it's not taking it in account during the compilation, so it needs
> that patch to use it.

Okay.

> The only part that is affected by qtwebkit is the first screen of the
> program that shows some examples, links and news. So it's safe to remove
> but I'm not sure if the substitutes were unavailable because of this or
> because the compilation was failing (it have been broken for a long time).
> 
> I'm not sure about how to proceed here. I'm ok with a FreeCad that
> is open in a blank screen and shows a couple of warnings on load. I'll
> leave the decision of including this patch or not on you guys if you don't
> mind.

Now that I understand that the absence of QtWebKit breaks part of the
FreeCAD interface, I agree that it should be included.

I squashed the patches in a way that seemed appropriate, wrote the
commit messages, and pushed as ed2e0b1b50587a38ad26574585f73979874e56f0




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

end of thread, other threads:[~2021-01-04 20:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-31 18:47 [bug#45573] [PATCH] Correct freecad runtime errors Ekaitz Zarraga
2020-12-31 22:36 ` Leo Famulari
2020-12-31 23:23   ` Ekaitz Zarraga
2021-01-01 14:37     ` Ekaitz Zarraga
2021-01-04  0:13       ` Leo Famulari
2021-01-04 12:01         ` Ekaitz Zarraga
2021-01-04  0:18       ` Leo Famulari
2021-01-04 12:15         ` Ekaitz Zarraga
2021-01-04 20:12           ` bug#45573: " Leo Famulari

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).