Subject: Re: [bug#36440] [PATCH] Add FreeCAD

From: John Soo <[email-masked]>
Date: Tue, 23 Jul 2019 16:29:31 +0000

Hi all,

I forgot to add some patches to start updating HDF5 with breaking builds.
It seems like the patches will need an update to start.

- John

On Tue, Jul 23, 2019 at 4:25 PM John Soo <[email-masked]> wrote:

> Hi Bjorn, Jonathon, and everyone,
>
> FreeCAD was certainly not easy to package. I spent actually several months
> just working on the pyside2 dependencies and I still do not have a working
> build of Pivy from coin.  It is only thanks to the help of the upstream
> maintainers that this package is even close to working.  I have attached
> updated patches and my responses to Bjorn's notes below. Thanks for your
> review!
>
> As to QTWebKit - I do not know why it is a dependency. It may not be a
> hard requirement. If you comment it out, I think the configure phase may
> succeed. I included it for completion only.
>
> * FreeCAD Notes
>
> ** DONE Add commit message details and copyright lines
>
> ** Coin3D
>
> *** DONE Delete blobs
>
> *** hg-fetch deletes .hg dirs (and all submodules' .hg dirs)
>
> ** SoQT vs. Quarter
>
> *** Not interchangeable as far as I know.
>
> *** FreeCAD requires SoQT specifically during configure.
>
> ** Pyside2
>
> *** Does all of pyside2 belong in qt.scm? - there are three packages:
> Shiboken2, Pyside2, and Pyside2-Tools
>
> *** QT version compatibility
>
> **** The pyside2 project has branches for the newest version with
> compatibility with older QT versions (I am using the 5.11.3 compat branch)
>
>  - That is also why I am using a git commit for the Pyside2 packages
>  - https://code.qt.io/cgit/pyside/pyside-setup.git/
>  - Pyside dependencies were by far the most challenging, and I had to
> track some issues (of which, some are not resolved)
>
> ** libmedfile
>
> *** Reason for old version is that what was released when I started
>
> *** 4.0.0 requires hdf5 >= 1.10.2
>
> **** HDF5 has some dependents:
>
> guix refresh --list-dependent hdf5 Building the following 11 packages
> would ensure 23 dependent packages are rebuilt:
> [email-masked] [email-masked] [email-masked] [email-masked]
> [email-masked] [email-masked] [email-masked]
> [email-masked] [email-masked] [email-masked] [email-masked]
>
> **** HDF5 patches need updates when HDF5 updated to 1.10.5
>
> *** DONE Change license to gpl3+
>
> ** libarea License questions and source locations:
>
> **** I am using the source from github: https://github.com/Heeks/libarea
>
>  - Should I use some other source? The google archive is unavailable.
>  - I cannot find any license information in the github repository.
>
> **** DONE Change to gpl3+
>
> ** Using releases over hg/git downloads (please advise)
>
> 1. Pyside2 packages - Done for compatibility reasons
> 2. Coin3D and SoQt - I don't think there are releases of these aside from
> the bitbucket repository.
> 3. LLVM propagated packages (llvm-toolchain and pyside-libcxx-headers)
>  - I am not sure these are the best way to accomplish the goal anyways.
>  - Not sure where to find the right sources for llvm-toolchain-6 and the
> pyside-libcxx-headers.
> 4. libarea - Seems like libarea is actually close to not even having
> source available anymore, let alone a release
> 5. libspnav - Confused as to the best source to use here. If there is a
> release or better version, I can update.
> 6. FreeCAD
>  - I can use the releases if they exist. I do not think they have source
> tarballs available.
>  - I was packaging during a lot of active development of FreeCAD
>
> Thank you for your review and advice.
>
> - John
>
> On Mon, Jul 22, 2019 at 5:57 PM Jonathan Brielmaier <
> [email-masked]> wrote:
>
>> Thanks Björn for having a look here :)
>>
>> On 7/22/19 4:11 PM, Björn Höfling wrote:> I wanted to give it a try for
>> myself but failed: I could not build
>> > qtwebkit locally, and no substitutes are available. I don't want to
>> > hold back my comments any longer, so I postponed trying it out.
>>
>> qtwebkit seems to fail on master as well and it needs long to build, so
>> I can't do it locally on my laptop:
>> http://ci.guix.gnu.org/build/1488065/details
>>
>> > I wonder if we need the dependency on qtwebkit or if we can get rid of
>> this, but I haven't investigated yet.
>>
>> I think we need it as openSUSE and Debian have a build require on
>> qtwebkit-devel and it's noted at their wiki:
>> https://www.freecadweb.org/wiki/CompileOnUnix#Getting_the_dependencies
>>
>
From ab414fdaf465d932691d2186ebc3454f634091e9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Tue, 23 Jul 2019 08:23:15 -0700
Subject: [PATCH 1/2] gnu: hdf5: Update to 1.10.5.

* gnu/packages/maths.scm (hdf5): Update to 1.10.5.
---
 gnu/packages/maths.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b204b314c6..c2ebe36287 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2018 Julien Lepiller <[email-masked]>
 ;;; Copyright © 2018 Amin Bandali <[email-masked]>
 ;;; Copyright © 2019 Nicolas Goaziou <[email-masked]>
+;;; Copyright © 2019 John Soo <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -753,7 +754,7 @@ incompatible with HDF5.")
 (define-public hdf5
   (package
     (name "hdf5")
-    (version "1.8.21")
+    (version "1.10.5")
     (source
      (origin
       (method url-fetch)
@@ -768,7 +769,7 @@ incompatible with HDF5.")
                                    (string-append major minor)))
                                 "/src/hdf5-" version ".tar.bz2")))
       (sha256
-       (base32 "03glk4w4wyb1jyb443g53y3y1ncnf6mj2cqwm6avfr2awkgb3cg5"))
+       (base32 "0i3g6v521vigzbx8wpd32ibsiiw92r65ca3qdbn0d8fj8f4fmmk8"))
       (patches (search-patches "hdf5-config-date.patch"
                                "hdf5-1.8-mpi-deprecations.patch"))))
     (build-system gnu-build-system)
-- 
2.22.0

From ecd02d9750712a3935b7cfafc7141fc9e7ca8bd4 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Tue, 23 Jul 2019 08:26:45 -0700
Subject: [PATCH 2/2] gnu: libmedfile: Update to 4.0.0.

* gnu/packages/engineering.scm (libmedfile): Update to 4.0.0.
---
 gnu/packages/engineering.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index b5b2369690..546a913e35 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2155,7 +2155,7 @@ customization.")
 (define-public libmedfile
   (package
     (name "libmedfile")
-    (version "3.3.1")
+    (version "4.0.0")
     (source
      (origin
        (method url-fetch)
@@ -2164,7 +2164,7 @@ customization.")
              version ".tar.gz"))
        (sha256
         (base32
-         "1215sal10xp6xirgggdszay2bmx0sxhn9pgh7x0wg2w32gw1wqyx"))))
+         "017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54"))))
     (build-system cmake-build-system)
     (inputs `(("hdf5" ,hdf5)))
     (arguments
-- 
2.22.0