diff mbox series

[bug#36440] Add FreeCAD

Message ID CAKf5CqXHHH3=wH+ULwaPJ0V1HU8H0+vxjZjgfv1iFF_NPPw3Lg@mail.gmail.com
State Accepted
Headers show
Series [bug#36440] Add FreeCAD | expand

Commit Message

John Soo Sept. 3, 2019, 5:22 a.m. UTC
Hi Ludo, Jonathon, Bjorn, RIcardo, Paul  and everyone,


* Paul:
> One of the dependencies is OpenCASCADE.  You may wish to switch the
> opencascade-oce input to opencascade-occt, which is now available.  See
> commit 37dc29200c44adc0474476b8df46ed44e8a1d41a.  The occt version is
> more up-to-date than the oce version.

I just tried building opencascade-occt and there was a failure in the test
suite: https://paste.debian.net/1098482/
I did replace opencascade-oce with occt in the hopes that it will have
better support in the future.
There is also the issue of the bundled (though heavily patched) SMESH
library. If I get some time soon, I can take another look at unbundling it.

* Bjorn and Jonathon, about qtwebkit:
> qtwebkit seems to fail on master as well and it needs long to build, so
> I can't do it locally on my laptop:
> It also seems that qtwebkit is failing to build in some cases for me now.
> http://ci.guix.gnu.org/build/1488065/details

I found qtwebkit failing for me, too, so I was unable to build freecad with
the most recent patches. The dependencies build ok though.

* Ricardo:
> We do have a later version of HDF5: hdf5-1.10, that’s version 1.10.4.
> Is this enough?

Yes it is, I used hdf5-1.10 for libmedfile.

> Do we really need SoQT?

I removed SoQT and freecad build properly before qtwebkit failed.

* Bjorn:
> medfile: Is there a specific reason you chose 3.x, instead of the
> available 4.0.0? If you, could you add a comment of why?

I was using what amounted to the pre-release of v4. I replaced with the
release version now that it is out.

> License is GPLv3+

I changed the license.

>libarea: Also licensed under GPL v3 (files under "pocket" directory).

I added this license instead

* Johnathon:
> - Maybe elaborate a bit more in the description, I have no idead what
> "lupdate, rcc and uic" is :P

I am sorry, I looked through the documentation and I don't know what they
are.

> - Is there a reason why we don't run the tests?

I recently tried to run the tests for all of the pyside tools (shiboken2,
pyside2, and pyside2-tools).
All fail to find libcxx files. I did not have a lot of time to work on it,
but I was successful in just using the official libcxx@6.X without tests.
Strangely the issue only happens when building the tests.  I have added
FIXME where appropriate.
Previously I had a hand-rolled package strictly for the pyside2 toolchain
which I removed.

> - No newlines in the description after a sentence, just two whitespaces :)

Thank you, I fill-paragraphed.

> - description: What is a MED file?

I added much more detail from the salome-platform Med documentation.

> https://bitbucket.org/Coin3D/coin/downloads/
> ...
> This one:
>
https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/libspnav#n13

I used the releases for coin3D and libspnav. I am worried now about coin3D
because bitbucket is going to drop support for mercurial repos next year.


* Some further notes:
There are now several optional qt modules that are not correctly found when
building pyside2.
I am not sure if this is a bug with pyside or our packages.  The package
builds properly and freecad runs, though (supposing opencascade-occt will
work).

All the patches are rebased to a pretty recent master (just a day or so
ago). Thanks for all your help!

- John
diff mbox series

Patch

From 69821078879e497bfec3d6ba1c7810aa8b62f4a4 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sat, 6 Jul 2019 19:05:37 -0700
Subject: [PATCH 07/10] gnu: Add libspnav.

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

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index a1f222bed4..e1f3f043d4 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -12,6 +12,7 @@ 
 ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
 ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2109,3 +2110,38 @@  while keeping the user experience at mind.  Cutter is created by reverse
 engineers for reverse engineers.")
     (license (list license:cc-by-sa3.0  ;the "Iconic" icon set
                    license:gpl3+))))    ;everything else
+
+(define-public libspnav
+  (package
+    (name "libspnav")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://downloads.sourceforge.net/spacenav/libspnav-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "14qzbzpfdb0dfscj4n0g8h8n71fcmh0ix2c7nhldlpbagyxxgr3s"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libx11" ,libx11)))
+    (arguments `(#:tests? #f))
+    (home-page "http://spacenav.sourceforge.net/")
+    (synopsis
+     "Library for communicating with spacenavd or 3dxsrv")
+    (description
+     "The libspnav library is provided as a replacement of the magellan
+library.  It provides a cleaner, and more orthogonal interface.  libspnav
+supports both the original X11 protocol for communicating with the driver, and
+the new alternative non-X protocol.  Programs that choose to use the X11
+protocol, are automatically compatible with either the free spacenavd driver
+or the official 3dxserv, as if they were using the magellan SDK.
+
+Also, libspnav provides a magellan API wrapper on top of the new API.  So, any
+applications that were using the magellan library, can switch to libspnav
+without any changes.  And programmers that are familliar with the magellan API
+can continue using it with a free library without the restrictions of the
+official SDK.")
+    (license license:bsd-3)))
-- 
2.23.0