<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Biosystems Engineering Blog (Posts about debian)</title><link>https://kwk.systems/blog/</link><description></description><atom:link href="https://kwk.systems/blog/categories/debian.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2024 &lt;a href="mailto:info@kwk.systems"&gt;Kurt Kremitzki&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-SA"
style="border-width:0; margin-bottom:12px;"
src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Thu, 16 May 2024 22:41:32 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>November and December Update for FreeCAD &amp; Debian Science</title><link>https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;p&gt;Hello again! This new year's update announces some interesting new beginnings
for the FreeCAD project, though it's a little short since I got some much
needed vacation time over the last two months.&lt;/p&gt;
&lt;nav class="contents" id="contents" role="doc-toc"&gt;
&lt;p class="topic-title"&gt;Contents&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#openfoam-on-one-core-only-92-hours-for-mipsel" id="toc-entry-1"&gt;OpenFOAM on One Core? Only 92 Hours! (for mipsel)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#trip-to-fosdem-2020-and-minidebcamp-at-the-hackerspace-brussels" id="toc-entry-2"&gt;Trip to FOSDEM 2020 and MiniDebCamp at the Hackerspace Brussels&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#looking-at-brl-cad-for-debian" id="toc-entry-3"&gt;Looking at BRL-CAD for Debian&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#pyside-2-and-kde-maintenance-in-debian" id="toc-entry-4"&gt;PySide 2 and KDE Maintenance in Debian&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#freecad-sysadmin-woes-begone-digitalocean-sponsorship" id="toc-entry-5"&gt;FreeCAD Sysadmin Woes Begone: DigitalOcean Sponsorship&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#thanks-for-your-support" id="toc-entry-6"&gt;Thanks for your support&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;section id="openfoam-on-one-core-only-92-hours-for-mipsel"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#toc-entry-1" role="doc-backlink"&gt;OpenFOAM on One Core? Only 92 Hours! (for mipsel)&lt;/a&gt;&lt;/h2&gt;
&lt;img alt="OpenFOAM &amp;amp; ParaView flow simulation." class="align-center" src="https://kwk.systems/blog/images/OpenFOAM+ParaView_flow_simulation.png"&gt;
&lt;p&gt;In November a &lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=945041"&gt;strange bug was found in the OpenFOAM package&lt;/a&gt; which led to
only one core being used during builds, even though the logs reported an
&lt;code class="docutils literal"&gt;N&lt;/code&gt; core build. In the worst case scenario, on the &lt;code class="docutils literal"&gt;mipsel&lt;/code&gt; architecture,
this led to an increase in build times from 17 to 92 hours! I did some
troubleshooting on this but found it a bit difficult since OpenFOAM uses a
bespoke build system called &lt;code class="docutils literal"&gt;wmake&lt;/code&gt;. I found myself wishing for the simplicity
of CMake, and found there was &lt;a class="reference external" href="https://github.com/stuart23/cmake-OpenFOAM"&gt;an experimental repo implementing support for
it&lt;/a&gt; but it didn't seem to work
out of the box or with a bit of effort. I wonder if there's any consideration
amongst OpenFOAM developers in moving away from &lt;code class="docutils literal"&gt;wmake&lt;/code&gt;?&lt;/p&gt;
&lt;p&gt;Anyway, OpenFOAM ended up getting removed from Debian Testing, but thankfully
Adrian Bunk identified the problem, which is that the environment variable
&lt;code class="docutils literal"&gt;MAKEFLAGS&lt;/code&gt; was getting set to &lt;code class="docutils literal"&gt;'w'&lt;/code&gt; for some reason, and thus falling
through the &lt;code class="docutils literal"&gt;wmake&lt;/code&gt; code block that set up a proper parallel build for
OpenFOAM. So, unsatisfyingly, as a workaround I uploaded the latest OpenFOAM
version, 1906.191111, with &lt;code class="docutils literal"&gt;unexport MAKEFLAGS&lt;/code&gt;. It would be nice to find an
explanation, but I didn't spend much more time digging.&lt;/p&gt;
&lt;p&gt;So, to end on the good news, the newest bugfix version of the OpenFOAM 1906
release, from November 11th 2019, is available for use going into 2020!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="trip-to-fosdem-2020-and-minidebcamp-at-the-hackerspace-brussels"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#toc-entry-2" role="doc-backlink"&gt;Trip to FOSDEM 2020 and MiniDebCamp at the Hackerspace Brussels&lt;/a&gt;&lt;/h2&gt;
&lt;img alt="FOSDEM logo." class="align-center" src="https://kwk.systems/blog/images/1024px-FOSDEM_logo.svg.png" style="width: 201px;"&gt;
&lt;p&gt;It was a bit last minute, but I finally decided to attend FOSDEM 2020. I had
balked a bit at the cost since flights from the US are around $900, but decided
it would be an important opportunity for FreeCAD developers and community to
get together and possibly do some important work. Thankfully, Yorik and other
senior FreeCAD developers thought it would be a good use of the project's
Bountysource money to cover the cost of one ticket, split in half between
myself and sliptonic, a developer from Missouri. He focuses on the Path
workbench and FreeCAD in CAM applications, an area I'm interested in moving
into as I now have such machining equipment available to me through my local
&lt;a class="reference external" href="https://atxhs.org"&gt;ATX Hackerspace&lt;/a&gt;. The three of us will be giving a talk,
&lt;a class="reference external" href="https://fosdem.org/2020/schedule/event/freecad/"&gt;"Open-source design ecosystems around FreeCAD"&lt;/a&gt;, at 11:20 on Saturday, so
please come by and say hi if you're able to!&lt;/p&gt;
&lt;p&gt;I'll be staying for a few days before and after FOSDEM, including attending the
&lt;a class="reference external" href="https://wiki.debian.org/DebianEvents/be/2020/MiniDebCamp"&gt;MiniDebCamp at Hackerspace Bruxelles&lt;/a&gt; on Thursday &amp;amp;
Friday, interested in anything Debian/FreeCAD related, so I look forward to
getting a lot of work done indeed!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="looking-at-brl-cad-for-debian"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#toc-entry-3" role="doc-backlink"&gt;Looking at BRL-CAD for Debian&lt;/a&gt;&lt;/h2&gt;
&lt;figure class="align-center"&gt;
&lt;img alt="Developer working on BRL-CAD, circa 1980" src="https://kwk.systems/blog/images/brlcad.jpg"&gt;
&lt;figcaption&gt;
&lt;p&gt;Lead developer Mike Muuss works on the XM-1 tank in BRL‑CAD on a PDP‑11/70 computer system, circa 1980.&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;For the past several summers, FreeCAD has participated in the &lt;a class="reference external" href="https://summerofcode.withgoogle.com/"&gt;Google Summer of
Code&lt;/a&gt; program under an umbrella
organization led by Sean Morrison of &lt;a class="reference external" href="http://brlcad.org/"&gt;BRL-CAD&lt;/a&gt;. BRL-CAD
is a very interesting bit of software with a long history, in fact the oldest
known public version-controlled codebase in the world still under development,
dating back to 1983-12-16 00:10:31 UTC. It is inspired by the development ideas
of the era, a sort of UNIX philosophy for CAD, made up of many small tools
doing one thing well and meant to be used in a normal UNIXy way, being piped
into one another and so forth, with a unifying GUI using those tools. Since
it's made up of BSD/LGPL licensed code, it ought to be available as part of the
Debian Science toolkit, where it may be useful for FreeCAD as an included
alternative CAD kernel to the currently exclusive &lt;a class="reference external" href="https://www.opencascade.com/"&gt;OpenCASCADE&lt;/a&gt;. For example, &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Fillet_(mechanics)"&gt;fillets&lt;/a&gt; in OpenCASCADE are
somewhat buggy and unmaintainably implemented such that an upstream rewrite is
the only hope for long-term improvement. BRL-CAD could potentially improve
FreeCAD in areas like this.&lt;/p&gt;
&lt;p&gt;It turns out a Debian &lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=289632"&gt;Request for Packaging bug for BRL-CAD&lt;/a&gt; has been open
since 2005. I plan to close it! It turns out there's already existing Debian
packaging work, too, though it's quite a few years old and thus some adaptation
still is required.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="pyside-2-and-kde-maintenance-in-debian"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#toc-entry-4" role="doc-backlink"&gt;PySide 2 and KDE Maintenance in Debian&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Recently, FreeCAD has been unbuildable in Debian Sid because of issues related
to PySide 2 and the Python 3.8 migration. This is complicated by the fact that
the upstream fix has been released but in version 5.14.0, which builds fine
with Qt 5.14, although Sid currently has 5.12. Furthermore, the PySide 2
package itself isn't building at the moment either! Since FreeCAD depends on
PySide 2 and Qt, and I use the Qt-based KDE as my desktop, it seems like taking
on maintenance of PySide 2 is something I should do to get started in this
realm.  However, the Qt/KDE Team's packaging practices and tools are rather
different than the ones I'm used to for Science Team packages. This makes
sense: Science Team packages are very often a single Git repo, but Qt5 for
example is really 44 Git submodules smushed together. As such, things are a bit
different! Once I get things taken care of for the package, I will try to write
up some notes to help others interested in getting started, especially since
KDE packaging could use some help.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="freecad-sysadmin-woes-begone-digitalocean-sponsorship"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#toc-entry-5" role="doc-backlink"&gt;FreeCAD Sysadmin Woes Begone: DigitalOcean Sponsorship&lt;/a&gt;&lt;/h2&gt;
&lt;a class="reference external image-reference" href="https://www.digitalocean.com/"&gt;&lt;img alt="DigitalOcean's &amp;quot;Powered By&amp;quot; blue badge lgoo." class="align-center" src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg" style="width: 201px;"&gt;&lt;/a&gt;
&lt;p&gt;I'm very happy to announce that the FreeCAD project is now among &lt;a class="reference external" href="https://www.digitalocean.com/open-source/"&gt;the many open
source software sponsorships by DigitalOcean&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;One of the first things I did when interested in FreeCAD was to try to take on
the responsibility of maintaining the project's infrastructure, since that
would free up time for people to work on FreeCAD itself. FreeCAD's 17 years old
now, and some of our infrastructure stack is about as dated. However, it isn't
easy to just move things, I had to get things up to speed first and try to
minimize disruption, so it's been a slow process. I'll go into more details in
a technical blog post on the matter after I've finished our migration,
hopefully by the end of this month, including details on our new setup, with
the goal of allowing people to get set up with a dev environment of our project
tools so you can do some hacking on things yourself and help out if possible.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="thanks-for-your-support"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/#toc-entry-6" role="doc-backlink"&gt;Thanks for your support&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I appreciate any feedback you might have.&lt;/p&gt;
&lt;p&gt;You can get in touch with me &lt;a class="reference external" href="https://twitter.com/thekurtwk"&gt;via Twitter @thekurtwk&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you'd like to donate to help support my work, &lt;a class="reference external" href="https://www.kwk.systems/blog/pages/donate/"&gt;there are several methods
available on my site&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;</description><category>debian</category><category>freecad</category><guid>https://kwk.systems/blog/posts/november-and-december-update-for-freecad-debian-science/</guid><pubDate>Fri, 03 Jan 2020 03:25:18 GMT</pubDate></item><item><title>Halloween Update for FreeCAD &amp; Debian Science Work</title><link>https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;p&gt;There's been a spooky amount of activity in the FreeCAD &amp;amp; Debian Science world
since I last wrote!  Because this update covers August, September, and October,
I'll try to be brief and only touch on the key points.&lt;/p&gt;
&lt;nav class="contents" id="contents" role="doc-toc"&gt;
&lt;p class="topic-title"&gt;Contents&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#staging-merging-app-link-functionality" id="toc-entry-1"&gt;Staging &amp;amp; Merging App::Link Functionality&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#freecad-python-2-removal-in-debian-testing" id="toc-entry-2"&gt;FreeCAD Python 2 removal in Debian Testing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#freecad-python-3-support-added-for-ubuntu-16-04" id="toc-entry-3"&gt;FreeCAD Python 3 support added for Ubuntu 16.04&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#netgen-and-pybind11-builds" id="toc-entry-4"&gt;Netgen and Pybind11 Builds&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#opencascade-7-4-0" id="toc-entry-5"&gt;OpenCASCADE 7.4.0&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#openfoam-1906" id="toc-entry-6"&gt;OpenFOAM 1906&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#gmsh-4-4-1" id="toc-entry-7"&gt;Gmsh 4.4.1&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#netgen-6-2-1905" id="toc-entry-8"&gt;Netgen 6.2.1905&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#github-sponsors-program" id="toc-entry-9"&gt;GitHub Sponsors Program&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#thanks-for-your-support" id="toc-entry-10"&gt;Thanks for your support&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;section id="staging-merging-app-link-functionality"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-1" role="doc-backlink"&gt;Staging &amp;amp; Merging App::Link Functionality&lt;/a&gt;&lt;/h2&gt;
&lt;figure class="align-center"&gt;
&lt;img alt="App::Link example" src="https://kwk.systems/blog/images/applink.png" style="width: 600px;"&gt;
&lt;figcaption&gt;
&lt;p&gt;&lt;em&gt;The "App::Link" object allows lightweight linking of objects in a document
and from external documents.&lt;/em&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In August, a major milestone towards unified, mainline mechanical assembly
functionality in FreeCAD was reached.&lt;/p&gt;
&lt;p&gt;One of the core challenges in implementing assembly functionality is the
problem of topological naming. In a CAD model there are topological entities,
such as solids, faces, edges, and vertices. We must choose some algorithm to
name them so that you can refer to relationships to make an assembly. A simple
example would be two cubes, connected by touching faces. If a parameter in your
model changes, and after recalculation, your "Face_N" is on the wrong side of
the cube, your assembly may break, or not be what you are expecting. Without a
good approach to topological naming, parametric FreeCAD models won't be robust
to changes and recalculations, which defeats the purpose of parametric
modeling.&lt;/p&gt;
&lt;p&gt;Because this is such a difficult problem, progress has been slow. However,
recently a relatively new FreeCAD developer, 'realthunder', put significant
work towards this problem, with a solution finally on the horizon. Because it
required major changes to FreeCAD's internals, the review and testing period
was and continues to be lengthy.&lt;/p&gt;
&lt;p&gt;The milestone in particular was merging of a large chunk of this code, referred
to in short as "App::Link functionality". This diff is huge: &lt;em&gt;+70,441&lt;/em&gt;
&lt;em&gt;-14,562&lt;/em&gt; lines of C++. You can &lt;a class="reference external" href="https://github.com/FreeCAD/FreeCAD/pull/2350"&gt;read more about it on the pull request itself&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I only played a minor contributing role in this effort, preparing a short-lived
staging PPA to provide a package for testers after the pull request was opened
in July, but it's rather significant news in terms of the project and so worth
spreading. Mechanical assembly is (no surprise) a must-have for mechanical
engineers interested in FreeCAD, and it's considered by some to be the last
remaining blocker for FreeCAD's 1.0 release.&lt;/p&gt;
&lt;p&gt;Extra links: notes for code reviewers from the PR author, for the dedicated
readers out there.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/realthunder/FreeCAD_assembly3/wiki/Concepts"&gt;https://github.com/realthunder/FreeCAD_assembly3/wiki/Concepts&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/realthunder/FreeCAD_assembly3/wiki/Core-Changes"&gt;https://github.com/realthunder/FreeCAD_assembly3/wiki/Core-Changes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="freecad-python-2-removal-in-debian-testing"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-2" role="doc-backlink"&gt;FreeCAD Python 2 removal in Debian Testing&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The Python 2 removal in Debian Testing continues, and with it, FreeCAD's Python
2 package is gone. However, upon upload, several new build failures appeared on
the i386, mipsel, and s390x platforms. Turns out there was a regression in dwz,
a software I had never heard of before. I tried troubleshooting but
unfortunately had FreeCAD drop out of testing due to the Python 2 removal bug
filed against it.&lt;/p&gt;
&lt;p&gt;Luckily, when I &lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942193"&gt;filed a bug against dwz&lt;/a&gt;, Matthias Klose
and Tom de Vries helped isolate and upstream the problem, with Tom even
&lt;a class="reference external" href="https://sourceware.org/bugzilla/show_bug.cgi?id=25109"&gt;bisecting the regressing commit in the upstream bug&lt;/a&gt;. Thank you, you two!&lt;/p&gt;
&lt;p&gt;After adding a workaround to fix those build failures, the new Python 3-only
FreeCAD package is on its way to Debian Testing.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="freecad-python-3-support-added-for-ubuntu-16-04"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-3" role="doc-backlink"&gt;FreeCAD Python 3 support added for Ubuntu 16.04&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Qt 5 &amp;amp; Python 3 builds for FreeCAD have been available on Ubuntu 18.04 and
newer and Debian 10 and newer platforms for some time now. However, Ubuntu
16.04 was problematic due to its old Qt version, which meant a Qt 4, Python 3
build had to be produced. This had been on the back burner for a while because
when I initially attempted backporting the necessary packages, I encountered
some friction.&lt;/p&gt;
&lt;p&gt;However, since it's the last holdout Python 2 platform, I took another look at
things to try to speed up the "py2ectomy". It turns out that the missing
package needed for a Python 3 build, pivy, was failing to build because of
&lt;a class="reference external" href="https://wiki.debian.org/Hardening#DEB_BUILD_HARDENING_PIE_.28gcc.2Fg.2B-.2B-_-fPIE_-pie.29"&gt;"PIE hardening"&lt;/a&gt;,
a Debian security hardening flag. I had all such flags turned on, so I just had
to disable that particular one to get things going.&lt;/p&gt;
&lt;p&gt;So, Python 3 builds are now available for Ubuntu 16.04 in the &lt;a class="reference external" href="https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-daily"&gt;FreeCAD Daily
Builds PPA&lt;/a&gt;,
and they will be coming soon to the stable PPA as well. A new bugfix release
has been made for stable, 0.18.4, so I am working on that first, and the Python
3 package will come with it.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="netgen-and-pybind11-builds"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-4" role="doc-backlink"&gt;Netgen and Pybind11 Builds&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Good news for users of FreeCAD's finite element modeling workbench!&lt;/p&gt;
&lt;p&gt;Integration with Netgen, a mesh generator, has long been an optional but
off-by-default build option for FreeCAD, due to packaging difficulties.
However, since I have taken over things in recent years, I have finally gotten
things to the state where we can turn this back on by default. As part of this
change, I am also building FreeCAD with Pybind11 instead of Boost.Python,
marking another milestone in managing FreeCAD's dependencies.&lt;/p&gt;
&lt;p&gt;Since this may introduce bugs, I've started by making this change for all of
FreeCAD's daily builds in the Ubuntu PPA, as well as the package currently in
Debian Unstable. Eventually, this change may come to the stable PPA.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="opencascade-7-4-0"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-5" role="doc-backlink"&gt;OpenCASCADE 7.4.0&lt;/a&gt;&lt;/h2&gt;
&lt;figure class="align-center"&gt;
&lt;img alt="OCCT performance improvement example" src="https://kwk.systems/blog/images/occt740.png" style="width: 600px;"&gt;
&lt;figcaption&gt;
&lt;p&gt;&lt;em&gt;An assembly of a single solid box replicated ~93,000 times. This test case is more than 10x faster in OCCT 7.4.0.&lt;/em&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;a class="reference external" href="https://www.opencascade.com/sites/default/files/documents/release_notes_7.4.0.pdf"&gt;After more than a year of development&lt;/a&gt; (PDF warning), a new
minor version of OpenCASCADE Technology (OCCT) has been released.&lt;/p&gt;
&lt;p&gt;OCCT is the geometry &amp;amp; topology kernel of FreeCAD, and it is also a dependency
for several related projects including Gmsh, IFCOpenShell, Netgen, and
OpenCAMLib. New releases in OCCT generally herald stability and performance
upgrades for core behavior. However, there are some breaking changes and so
these improvements are yet to be seen.&lt;/p&gt;
&lt;p&gt;For the time being, OCCT 7.4.0 packages are available in &lt;a class="reference external" href="https://launchpad.net/~kkremitzki/+archive/ubuntu/opencascade"&gt;my OpenCASCADE PPA&lt;/a&gt; and by
building the package directly from
&lt;a class="reference external" href="https://salsa.debian.org/science-team/opencascade"&gt;https://salsa.debian.org/science-team/opencascade&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="openfoam-1906"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-6" role="doc-backlink"&gt;OpenFOAM 1906&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I uploaded &lt;a class="reference external" href="https://openfoam.com/releases/openfoam-v1906/index.php"&gt;the latest version of OpenFOAM&lt;/a&gt;, the toolbox for
computational fluid dynamics. It's now available in Ubuntu 19.10, Debian
Testing, and via the &lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD Community Extras PPA&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="gmsh-4-4-1"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-7" role="doc-backlink"&gt;Gmsh 4.4.1&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href="https://gitlab.onelab.info/gmsh/gmsh/blob/master/CHANGELOG.txt"&gt;The latest version of Gmsh&lt;/a&gt;, a 3D finite
element mesh generator, is also in Ubuntu 19.10, Debian Testing, and the
Community Extras PPA. Thanks to Nico Schlömer for helping maintain this
package.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="netgen-6-2-1905"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-8" role="doc-backlink"&gt;Netgen 6.2.1905&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This version of Netgen is only available via the FreeCAD Daily and Community
Extras PPAs. Unfortunately Netgen has been stuck in the Debian NEW queue for
over 8 months now.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="github-sponsors-program"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-9" role="doc-backlink"&gt;GitHub Sponsors Program&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I was accepted into the &lt;a class="reference external" href="https://github.com/sponsors/kkremitzki/"&gt;GitHub Sponsors&lt;/a&gt; program! GitHub is matching
donations for the first year. Hopefully this helps fund my FOSS work, and FOSS
work in general.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="thanks-for-your-support"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/#toc-entry-10" role="doc-backlink"&gt;Thanks for your support&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I appreciate any feedback you might have.&lt;/p&gt;
&lt;p&gt;You can get in touch with me &lt;a class="reference external" href="https://twitter.com/thekurtwk"&gt;via Twitter @thekurtwk&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you'd like to donate to help support my work, &lt;a class="reference external" href="https://www.kwk.systems/blog/pages/donate/"&gt;there are several methods
available on my site&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;</description><category>debian</category><category>freecad</category><guid>https://kwk.systems/blog/posts/halloween-update-for-freecad-debian-science-work/</guid><pubDate>Fri, 01 Nov 2019 03:04:54 GMT</pubDate></item><item><title>Summer Update for FreeCAD &amp; Debian Science Work</title><link>https://kwk.systems/blog/posts/summer-update-for-freecad-debian-science-work/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;p&gt;Hello, and welcome to my "summer update" on my free software work on FreeCAD
and the Debian Science team. I call it a summer update because it was winter
when I last wrote, and quite some time has elapsed since I fell out of the
monthly update habit. This is a high-level summary of what I've been working on
since March.&lt;/p&gt;
&lt;section id="freecad-0-18-release-debian-10-full-freeze-timing"&gt;
&lt;h2&gt;FreeCAD 0.18 Release &amp;amp; Debian 10 Full Freeze Timing&lt;/h2&gt;
&lt;img alt="/images/freecadsplash.png" class="align-center" src="https://kwk.systems/blog/images/freecadsplash.png"&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;The official release date of FreeCAD 0.18
( &lt;a class="reference external" href="https://www.freecadweb.org/wiki/Release_notes_0.18"&gt;release notes&lt;/a&gt; )
is March 12, 2019, although the git tag for it wasn't pushed until March 14th.
This timing was a bit unfortunate as the full freeze for Debian 10 went into
effect March 12th, with a de-facto freeze date of March 2nd due to the 10 day
testing migration period. To compound things, since this was my first Debian
release as a packaging contributor, I didn't do things quite right such that
while I probably could have gotten FreeCAD 0.18 into Debian 10, I didn't.
Instead, what's available is a pre-release version from about a month before
the release which is missing a few bugfixes and refinements.&lt;/p&gt;
&lt;p&gt;On the positive side, this is an impetus for me to learn about &lt;a class="reference external" href="https://backports.debian.org/"&gt;Debian
Backports&lt;/a&gt;, a way to provide non-bugfix
updates to Debian Stable users. The 0.18 release line has already had several
bugfix releases; I've currently got Debian Testing/Unstable as well as the
Ubuntu Stable PPA up-to-date with version 0.18.3. As soon as I'm able, I'll get
this version into Debian Backports, too.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="freecad-ppa-improvements"&gt;
&lt;h2&gt;FreeCAD PPA Improvements&lt;/h2&gt;
&lt;p&gt;Another nice improvement I've recently made is migrating the packaging for the
Ubuntu Stable and Daily PPAs to Debian's GitLab instance at
&lt;a class="reference external" href="https://salsa.debian.org/science-team/freecad"&gt;https://salsa.debian.org/science-team/freecad&lt;/a&gt; by creating the &lt;code class="docutils literal"&gt;ppa/master&lt;/code&gt; and
&lt;code class="docutils literal"&gt;ppa/daily&lt;/code&gt; branches. Having all the Debian and Ubuntu packaging in one place
means that propagating updates has become a matter of git merging and pushing.
Once any changes are in place, I simply have to trigger an import and build on
Launchpad for the stable releases. For the daily builds, changes are
automatically synced and the &lt;code class="docutils literal"&gt;debian&lt;/code&gt; directory from Salsa is combined with the
latest synced upstream source from GitHub, so daily builds no longer have to be
triggered manually. However, this has uncovered another problem in our process
which being worked on at the FreeCAD forums. (Thread: &lt;a class="reference external" href="https://forum.freecadweb.org/viewtopic.php?f=42&amp;amp;t=37216"&gt;Finding a solution for
the 'version.h' issue&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="science-team-package-updates"&gt;
&lt;h2&gt;Science Team Package Updates&lt;/h2&gt;
&lt;img alt="/images/bunny.png" class="align-center" src="https://kwk.systems/blog/images/bunny.png"&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;The main Science Team packages I've been working on recently have been
OpenCASCADE, Netgen, Gmsh, and OpenFOAM.&lt;/p&gt;
&lt;p&gt;For OpenCASCADE, I have uploaded the third bugfix release in the 7.3.0 series.
Unfortunately, their versioning scheme is a bit unusual, so this version is tagged 7.3.0p3.
This is unfortunate because &lt;code class="docutils literal"&gt;dpkg &lt;span class="pre"&gt;--compare-versions&lt;/span&gt; 7.3.0p3+dfsg1 gt
7.3.0+dfsg1&lt;/code&gt; evaluates to false. As such, I've uploaded this package as 7.3.3,
with plans to contact upstream to discuss their bugfix release versioning
scheme. Currently, version 7.4.0 has an upstream target release date for the
end of August, so there will be an opportunity to convince them to release
7.4.1 instead of 7.4.0p1. If you're interested in the changes contained in this
upload, you can refer to the &lt;a class="reference external" href="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=shortlog;h=refs/tags/V7_3_0p3"&gt;upstream git log&lt;/a&gt;
for more information.&lt;/p&gt;
&lt;p&gt;In collaboration with Nico Schlömer and Anton Gladky, the newest Gmsh, version
4.4.1, has been uploaded to wait in the Debian NEW queue. See &lt;a class="reference external" href="https://gitlab.onelab.info/gmsh/gmsh/blob/master/CHANGELOG.txt"&gt;the upstream
changelog&lt;/a&gt;
for more information on what's new.&lt;/p&gt;
&lt;p&gt;I've also prepared the package for the newest version of Netgen, 6.2.1905.
Unfortunately, uploading this is blocked because 6.2.1810 is still in Debian
NEW. However, I've tested compiling FreeCAD against Netgen, and I've been able
to get the integration with it working again, so once I'm able to do this
upload, I'll be able to upload a new and improved FreeCAD with the power of
Netgen meshing.&lt;/p&gt;
&lt;p&gt;I've also begun working on packaging the latest OpenFOAM release, 1906. I've
gotten a little sidetracked, though, as a pecularity in the way upstream
prepares their tarballs seems to be triggering a bug in GNU tar. I should have
this one uploaded soon. For a preview in what'll be coming, see the &lt;a class="reference external" href="https://www.openfoam.com/releases/openfoam-v1906/"&gt;release
notes for version 1906&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="gitlab-ci-experimentation-with-salsa-debian-org"&gt;
&lt;h2&gt;GitLab CI Experimentation with salsa.debian.org&lt;/h2&gt;
&lt;p&gt;Some incredibly awesome Debian contributors have set up the ability to use
GitLab CI to automate the testing of Debian packages (see &lt;a class="reference external" href="https://wiki.debian.org/Salsa/Doc#Running_Continuous_Integration_.28CI.29_tests"&gt;documentation&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;I did a bit of experimentation with it. Unfortunately, both OpenCASCADE and
FreeCAD exceeded the 2 hour time limit. There's a lot of promise in it for
smaller packages, though!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="python-2-removal-in-debian-underway"&gt;
&lt;h2&gt;Python 2 Removal in Debian Underway&lt;/h2&gt;
&lt;img alt="/images/deadsnakes.jpeg" class="align-center" src="https://kwk.systems/blog/images/deadsnakes.jpeg"&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Per &lt;a class="reference external" href="https://pythonclock.org"&gt;pythonclock.org&lt;/a&gt;, Python 2 has less than 5
months until it's end-of-life, so the task of removing it for the next version
of Debian has begun. For now, it's mainly limited to leaf packages with nothing
depending on them. As such, I've uploaded Python 3-only packages for new
upstream releases of &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;python-fluids&lt;/span&gt;&lt;/code&gt; (a fluid dynamics engineering &amp;amp; design
library) and &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;python-ulmo&lt;/span&gt;&lt;/code&gt; (provides clean &amp;amp; simple access to public hydrology
and climatology data).&lt;/p&gt;
&lt;/section&gt;
&lt;section id="debian-developer-application"&gt;
&lt;h2&gt;Debian Developer Application&lt;/h2&gt;
&lt;p&gt;I've finally applied to become a full Debian Developer, which is an exciting
prospect. I'll be more able to enact improvements without having to bug, well,
mostly Anton, Andreas, and Tobias. (Thanks!) I'm also looking forward to having
access to more resources to improve my packages on other architectures,
particularly arm64 now that the Raspberry Pi 4 is out and potentially a serious
candidate for a low-powered FreeCAD workstation.&lt;/p&gt;
&lt;p&gt;The process is slow and calculating, as it should be, so it'll be some time
before I'm officially in, but it sure will be cause for celebration.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="google-summer-of-code-mentoring"&gt;
&lt;h2&gt;Google Summer of Code Mentoring&lt;/h2&gt;
&lt;figure class="align-center"&gt;
&lt;img alt="/images/gsoc.png" src="https://kwk.systems/blog/images/gsoc.png"&gt;
&lt;figcaption&gt;
&lt;p&gt;CC-BY-SA-4.0, Aswinshenoy.&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;I'm mentoring a Google Summer of Code project for FreeCAD this year! (See
&lt;a class="reference external" href="https://forum.freecadweb.org/viewtopic.php?f=8&amp;amp;t=35493"&gt;forum thread&lt;/a&gt;.) My
student is quite new to FreeCAD and Debian/Ubuntu, so the first half of the
project has involved relatively the deep-end topics of using Debian packaging
to distribute bugfixes for FreeCAD and to learn by exploring related packages
in its ecosystem. In particular, focus was given to OpenCAMLib, since there is
a lot of user and developer interest in FreeCAD's potential for generating
toolpaths for machining and manufacturing the models created in the program.&lt;/p&gt;
&lt;p&gt;Now that he's officially swimming and not sinking, the next phase is working on
making development and packaging-related improvements for FreeCAD on Windows,
which is in even rougher shape than Debian/Ubuntu, but more his area of
familiarity. Stay tuned for the final results!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="thanks-to-my-sponsors"&gt;
&lt;h2&gt;Thanks to my sponsors&lt;/h2&gt;
&lt;p&gt;This work is made possible in part by contributions from readers like you! You
can send moral support my way &lt;a class="reference external" href="https://twitter.com/thekurtwk"&gt;via Twitter @thekurtwk&lt;/a&gt;.  Financial support is also appreciated at
any level and possible on several platforms: &lt;a class="reference external" href="https://patreon.com/kkremitzki"&gt;Patreon&lt;/a&gt;, &lt;a class="reference external" href="https://liberapay.com/kkremitzki"&gt;Liberapay&lt;/a&gt;, and &lt;a class="reference external" href="https://paypal.me/kkremitzki"&gt;PayPal&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;</description><category>debian</category><category>freecad</category><guid>https://kwk.systems/blog/posts/summer-update-for-freecad-debian-science-work/</guid><pubDate>Thu, 01 Aug 2019 04:47:23 GMT</pubDate></item><item><title>My Free Software Activities in January &amp; February 2019</title><link>https://kwk.systems/blog/posts/my-free-software-activities-in-january-february-2019/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;section id="intro"&gt;
&lt;h2&gt;Intro&lt;/h2&gt;
&lt;p&gt;Hello all and welcome again to another of my monthly summary posts on my work
in free software, with a focus on open engineering in &lt;a class="reference external" href="https://www.debian.org/"&gt;Debian&lt;/a&gt; &amp;amp; &lt;a class="reference external" href="https://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;.  I'm
fortunate to have the &lt;a class="reference external" href="https://lists.debian.org/debian-devel-announce/2019/02/msg00008.html"&gt;February 12th Debian 10 soft freeze deadline&lt;/a&gt; to
scapegoat for my missed January update, and thanks too to February for being
short enough to postpone it further and combine the two updates.&lt;/p&gt;
&lt;p&gt;I've decided to go with a bit of a dryer chronological approach to this update
as there's lots to cover. Worth highlighting, however:&lt;/p&gt;
&lt;/section&gt;
&lt;section id="highlights"&gt;
&lt;h2&gt;Highlights&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;New Debian upload for a &lt;a class="reference external" href="https://www.freecadweb.org/"&gt;FreeCAD&lt;/a&gt; 0.18 pre-release&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;New Debian upload for &lt;a class="reference external" href="https://www.openfoam.com/"&gt;OpenFOAM&lt;/a&gt;. An upstream
switch from openfoam.org to openfoam.com and a different versioning scheme
results in a massive version bump, 4.1 to 1812. That's over 1800 versions better.
(Seriously though, it's about a 2 year bump in changes.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;New Debian uploads for &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Mesh_generation"&gt;mesh generation&lt;/a&gt; softwares &lt;a class="reference external" href="http://gmsh.info/"&gt;Gmsh&lt;/a&gt; 4.1.3 and &lt;a class="reference external" href="https://ngsolve.org/"&gt;Netgen&lt;/a&gt; 6.2.1810 --
though Netgen might miss Debian 10? It's stuck in the NEW queue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;FreeCAD is participating in Google Summer of Code and I'm looking for a
student to mentor&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;hr class="docutils"&gt;
&lt;section id="timeline"&gt;
&lt;h2&gt;Timeline&lt;/h2&gt;
&lt;section id="january"&gt;
&lt;h3&gt;January&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Jan 6: &lt;a class="reference external" href="https://forum.freecadweb.org/viewtopic.php?f=8&amp;amp;t=25175&amp;amp;start=20#p278504"&gt;Updated&lt;/a&gt;
the &lt;a class="reference external" href="https://freecadweb.org/tracker"&gt;FreeCAD bug tracker&lt;/a&gt; to the latest
version.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 12: Completed transition of FreeCAD PPAs to new versions of &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Coin3D"&gt;Coin3D&lt;/a&gt; &amp;amp; its Python bindings package Pivy,
which &lt;a class="reference external" href="https://forum.freecadweb.org/viewtopic.php?f=8&amp;amp;t=26599"&gt;resolved a major breakage caused by me on Dec 29&lt;/a&gt; but was a necessary
precursor to a FreeCAD 0.18 release; I just didn't execute it as well as I
should have&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 16: &lt;a class="reference external" href="https://tracker.debian.org/news/1021265/accepted-openfoam-1812dfsg1-1exp1-source-into-experimental/"&gt;Upload&lt;/a&gt;
of OpenFOAM 1812.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 18: &lt;a class="reference external" href="https://github.com/aewallin/opencamlib/issues/31#issuecomment-455452094"&gt;Discussed on GitHub&lt;/a&gt;
with the upstream of &lt;a class="reference external" href="http://www.anderswallin.net/cam/"&gt;OpenCAMLib&lt;/a&gt; about
release plans now that it is Python 3 compatible&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 19: &lt;a class="reference external" href="https://github.com/libMesh/libmesh/issues/2003"&gt;Contact via GitHub issue&lt;/a&gt; with &lt;a class="reference external" href="http://libmesh.github.io/"&gt;libMesh&lt;/a&gt; upstream about Debian packaging, with
enthusiastic response.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 19: &lt;a class="reference external" href="https://github.com/FreeCAD/FreeCAD/pull/1916"&gt;FreeCAD pull request&lt;/a&gt; to fix Start Workbench
behavior in Debian/Ubuntu since we can't include binary &lt;a class="reference external" href="https://www.freecadweb.org/wiki/File_Format_FCStd"&gt;.FCStd&lt;/a&gt; examples, even though
they're glorified ZIPs, for Debian Free Software Guidelines reasons (or can we?
please contact me if you know otherwise)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 25-27: Hosted &lt;a class="reference external" href="https://wiki.debian.org/BSP/2019/01/us/Austin"&gt;Austin Debian Bug Squashing Party&lt;/a&gt;. Unfortunately, it wasn't
very successful in drawing in people besides those already interested in Debian
at the host venue, the &lt;a class="reference external" href="http://atxhs.org/wiki/Main_Page"&gt;ATX Hackerspace&lt;/a&gt;. I
didn't want to over-advertise it since the venue was limited in capacity, which
in retrospect was a mistake. Oh well, there was also plenty to learn for the
next one. The following bugs were closed: 918479, 888026, 884092, 886538,
882510, 899099, 920525, 919711.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 26: &lt;a class="reference external" href="https://forum.freecadweb.org/viewtopic.php?f=8&amp;amp;t=26599"&gt;Announced&lt;/a&gt; the experimental
&lt;a class="reference external" href="https://staging.freecad.io"&gt;staging.freecad.io&lt;/a&gt;, an instance of FreeCAD's
homepage designed to test possible improvements to be had by moving away from
shared hosting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jan 28: &lt;a class="reference external" href="https://github.com/sfepy/sfepy/issues/496"&gt;Contact via GitHub issue&lt;/a&gt; with &lt;a class="reference external" href="http://sfepy.org/doc-devel/index.html"&gt;sfepy&lt;/a&gt; upstream about it failing to build
from source to try to get help on issue potentially preventing it from being
included in Debian 10.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="february"&gt;
&lt;h3&gt;February&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Feb 4: Sponsored uploads of &lt;a class="reference external" href="https://tracker.debian.org/news/1027009/accepted-freecad-018pre1dfsg1-1exp1-source-all-amd64-into-experimental-experimental/"&gt;FreeCAD 0.18 pre-release&lt;/a&gt;
and &lt;a class="reference external" href="https://tracker.debian.org/news/1027010/accepted-gmsh-413ds1-1-source-amd64-all-into-unstable-unstable/"&gt;Gmsh 4.1.3&lt;/a&gt;
into Unstable, thanks Anton Gladky.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 4: Announced &lt;a class="reference external" href="https://tracker.freecad.io"&gt;tracker.freecad.io&lt;/a&gt;, an
experimental instance of FreeCAD's bug tracker designed to test possible
improvements to be had from moving away from shared hosting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 5: Regained control of abandoned FreeCAD Snap, which was a pre-release of
0.17, by way of the uploader returning from MIA and adding me.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 9: &lt;a class="reference external" href="https://github.com/FreeCAD/FreeCAD-Homepage/pull/33"&gt;Merge PR&lt;/a&gt; for
FreeCAD-Homepage repo to add Expires headers and unset ETags to try to get
better performance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 13: &lt;a class="reference external" href="https://github.com/sfepy/sfepy/issues/496#issuecomment-463089344"&gt;Confirmed sfepy upstream fix resolved the issue&lt;/a&gt;, but it
came a day after the soft freeze preventing re-entry to Testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 23: &lt;a class="reference external" href="https://tracker.debian.org/news/1031845/accepted-python-fluids-0173-1-source-into-unstable/"&gt;Upload&lt;/a&gt;
of python-fluids 0.1.73, experiment with &lt;a class="reference external" href="https://salsa.debian.org/salsa-ci-team/pipeline/blob/master/README.md"&gt;Salsa GitLab CI&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 25: &lt;a class="reference external" href="https://summerofcode.withgoogle.com/"&gt;Google Summer of Code&lt;/a&gt;
organizations announced. FreeCAD participating under umbrella organization
OpenCAx led by &lt;a class="reference external" href="https://brlcad.org/"&gt;BRL-CAD&lt;/a&gt;. I created a &lt;a class="reference external" href="https://github.com/opencax/GSoC/issues/13"&gt;GitHub issue&lt;/a&gt; for the project I'd like to
mentor. I'm looking for a student interested in improving the state of Debian &amp;amp;
Ubuntu packaging for FreeCAD and its ecosystem of packages. Particularly -- not
everyone's first encounter with FreeCAD is with the latest and greatest
version. If someone installs an old version and has a bad experience with an
easily fixable packaging bug, we should try to tackle that issue to not drive
away people who are already interested, but get a bad impression.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 25: Sponsored &lt;a class="reference external" href="https://ftp-master.debian.org/new/netgen_6.2.1810+dfsg1-1.html"&gt;upload&lt;/a&gt; of Netgen to
Unstable, thanks Anton Gladky. Netgen had to re-enter NEW because I made a
mistake in the naming of the binary package, so I had to revise the package to
make libnglib-6.2 (for the .1810 release) replace libnglib-6.2.1804.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 25: Sponsored &lt;a class="reference external" href="https://ftp-master.debian.org/new/pycollada_0.6-1.html"&gt;upload&lt;/a&gt;
of &lt;a class="reference external" href="https://github.com/pycollada/pycollada"&gt;pycollada&lt;/a&gt; which adds Python 3
support and a python3- package, so it has to pass through NEW again.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feb 28: &lt;a class="reference external" href="https://tracker.debian.org/news/1033005/accepted-opencascade-730dfsg1-5-source-into-unstable/"&gt;Upload&lt;/a&gt;
of &lt;a class="reference external" href="https://www.opencascade.com/"&gt;OpenCASCADE&lt;/a&gt;, revising the package to
revert to the default 'opencascade' installation paths instead of 'occt' (a
not-so-great packaging decision as OpenCASCADE was my 2nd ever Debian package)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="sponsorship"&gt;
&lt;h2&gt;Sponsorship&lt;/h2&gt;
&lt;p&gt;Verbal support by way of my contact info below is greatly
appreciated, but if you want to help support my free software &amp;amp; open
engineering work financially, I've made it easy with several options:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://patreon.com/kkremitzki"&gt;Patreon&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://paypal.me/kkremitzki"&gt;PayPal&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://liberapay.com/kkremitzki"&gt;Liberapay&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://www.wispay.io/t/0d7"&gt;Wispay&lt;/a&gt; (cryptocurrency)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Any level of support is appreciated!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="contact"&gt;
&lt;h2&gt;Contact&lt;/h2&gt;
&lt;p&gt;You can follow me on Twitter &lt;a class="reference external" href="https://twitter.com/thekurtwk"&gt;@thekurtwk&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I'm also now on &lt;a class="reference external" href="https://matrix.org/blog/home/"&gt;Matrix&lt;/a&gt;, an open network for
secure, decentralized communication, &lt;a class="reference external" href="https://matrix.to/#/@kkremitzki:matrix.org"&gt;@kkremitzki:matrix.org&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;</description><category>debian</category><category>freecad</category><guid>https://kwk.systems/blog/posts/my-free-software-activities-in-january-february-2019/</guid><pubDate>Fri, 01 Mar 2019 06:10:43 GMT</pubDate></item><item><title>Free Software Activities in December 2018</title><link>https://kwk.systems/blog/posts/free-software-activities-in-december-2018/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;p&gt;Hello again for another of my monthly updates on my work on Debian Science and
the FreeCAD ecosystem.&lt;/p&gt;
&lt;p&gt;There's only a few announcement items since I was mostly enjoying my holidays,
but several important things were accomplished this month. Also, since there's
not much time left before the release of Debian 10, there's some consideration
to be done towards what I'll be working on in the next few months.&lt;/p&gt;
&lt;section id="gmsh-bugfix-no-gmsh-4-yet"&gt;
&lt;h2&gt;gmsh bugfix; no gmsh 4 yet&lt;/h2&gt;
&lt;img alt="/images/dec18-gmsh.png" class="align-center" src="https://kwk.systems/blog/images/dec18-gmsh.png"&gt;
&lt;p&gt;At the beginning of the month, I uploaded gmsh 3.0.6+dfsg1-4. This had a patch
submitted by Joost van Zwieten (thanks!) to fix &lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904946"&gt;Debian bug #904946&lt;/a&gt; which was
preventing gmsh usage in FreeCAD, as well as adding an autopkgtest to make sure
that behavior remains.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="new-coin3d-transition-pivy-uploaded"&gt;
&lt;h2&gt;New Coin3D transition; Pivy uploaded!&lt;/h2&gt;
&lt;img alt="/images/dec18-coin3d.jpeg" class="align-center" src="https://kwk.systems/blog/images/dec18-coin3d.jpeg"&gt;
&lt;p&gt;Near the middle of the month, Leo Palomo-Avellaneda, Anton Gladky, and I finished the
transition for the coin3 package, which is a scene graph library and high-level
wrapper of OpenGL. The new version is a pre-release coin3 4.0.0 which adds
CMake support. It also fixes &lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874727"&gt;Debian bug #874727&lt;/a&gt; which caused
FreeCAD to segfault when importing an SVG.  FreeCAD also uses pivy, a Python
wrapper for coin, as a runtime dependency, and completing this transition has
finished the last blocker for a Python 3 FreeCAD package, so thanks to Leo and
Anton!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="new-release-for-med-fichier-not-by-me"&gt;
&lt;h2&gt;New release for med-fichier (not by me)&lt;/h2&gt;
&lt;img alt="/images/dec18-HDF.svg" class="align-center" src="https://kwk.systems/blog/images/dec18-HDF.svg"&gt;
&lt;p&gt;Another FreeCAD dependency had a new release this month, &lt;a class="reference external" href="https://tracker.debian.org/pkg/med-fichier"&gt;med-fichier 4.0.0&lt;/a&gt;.  This software is developed by
Électricité de France and built on the HDF5 library and file format but is
specialized for mesh data. It is also a dependency of gmsh which introduced
some difficulty for the gmsh package.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="openfoam-upstream-switch-from-openfoam-org-to-openfoam-com"&gt;
&lt;h2&gt;OpenFOAM upstream switch; from openfoam.org to openfoam.com&lt;/h2&gt;
&lt;img alt="/images/dec18-openfoam.jpg" class="align-center" src="https://kwk.systems/blog/images/dec18-openfoam.jpg"&gt;
&lt;p&gt;The final noteworthy item for this month was an interesting bit of
correspondence I received concerning the OpenFOAM package. As I had mentioned
in previous posts, the current OpenFOAM version in Debian is 4.x, and I had
worked on updating the package for OpenFOAM 6.x. My packaging was working and
complete last summer, but for an inexplicable reason it stopped building late
summer, started building again for about a week in September, and then stopped
again. I would really like an up-to-date OpenFOAM in Debian 10, and so when I
received an email from the people at openfoam.com about packaging their
version, I was very intrigued. You see, the version in Debian is currently from
openfoam.org. Besides the TLD difference, there is a bit of history between the
two versions, but for end users there should major difference. If you're
interested in more background, you can consult &lt;a class="reference external" href="https://www.youtube.com/watch?v=8ggYvqEwghQ"&gt;this video by József Nagy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Similarly, it seems likely that the OpenFOAM package will be changing over to
the openfoam.com version soon. I've already succesfully built the latest
OpenFOAM from this source, version 1812, and plan to submit it soon.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="thanks-to-my-sponsors"&gt;
&lt;h2&gt;Thanks to my sponsors&lt;/h2&gt;
&lt;p&gt;This work is made possible in part by contributions from readers like you! You
can send moral support my way &lt;a class="reference external" href="https://twitter.com/thekurtwk"&gt;via Twitter @thekurtwk&lt;/a&gt;.  Financial support is also appreciated at
any level and possible on several platforms: &lt;a class="reference external" href="https://patreon.com/kkremitzki"&gt;Patreon&lt;/a&gt;, &lt;a class="reference external" href="https://liberapay.com/kkremitzki"&gt;Liberapay&lt;/a&gt;, and &lt;a class="reference external" href="https://paypal.me/kkremitzki"&gt;PayPal&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;</description><category>debian</category><guid>https://kwk.systems/blog/posts/free-software-activities-in-december-2018/</guid><pubDate>Mon, 21 Jan 2019 00:19:53 GMT</pubDate></item><item><title>Free Software Activities in November 2018</title><link>https://kwk.systems/blog/posts/free-software-activities-in-november-2018/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;section id="intro"&gt;
&lt;h2&gt;Intro&lt;/h2&gt;
&lt;p&gt;Welcome to another of my monthly summaries on my work in the free software
world. My mission is to make engineering and science available for everyone,
and Debian, the Universal Operating System, is my weapon of choice.&lt;/p&gt;
&lt;p&gt;I received some feedback on my last post that I made it seem I would be
stepping away from my role maintaining FreeCAD and other packages on the Debian
Science Team, which was an unfortunate miscommunication on my part. Mainly, I
just would like to reduce the proportion of my overall free software time on
it, from its current amount, nearly 100%, to a roughly even 1/3rd split between
Debian Science, FreeCAD, and PostCAD. The latter is a promising personal
project to make an OpenCASCADE-powered CAD extension for PostgreSQL, bringing
support for CAD file formats, datatypes, and algorithms to the powerful
Postgres ecosystem, similar to what PostCAD has done for geospatial analysis.
This could serve as a backend for both FreeCAD in the short term, and in the
long term, it could power a web-based version of FreeCAD, perhaps with some
Django-powered middleware serving a REST API for some WebGL-based frontend.&lt;/p&gt;
&lt;p&gt;So, besides summarizing my work this month, I also plan to give a synopsis on
my Debian packaging, for both what's in-progress and on my wishlist. As you'll
see, it's quite extensive. My hope is that by whittling away at both lists, my
Debian Science work can focus more on maintenance of existing packages, and
free up some time for other things.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="sponsors"&gt;
&lt;h2&gt;Sponsors&lt;/h2&gt;
&lt;p&gt;My work on Debian Science, FreeCAD, and PostCAD is &lt;cite&gt;supported by my patrons on
Patreon &amp;lt;https://patreon.com/kkremitzki&amp;gt;&lt;/cite&gt;. While I had created a Liberapay a
while back, I never got any traction with it, and I found out recently that it
was because I had not set it up to actually receive payments. So, if you don't
like Patreon for whatever reason, you can also &lt;a class="reference external" href="https://liberapay.com/kkremitzki"&gt;support me on Liberapay&lt;/a&gt;. Just to round things out, if you don't
like either of those platforms, you can also &lt;a class="reference external" href="https://paypal.me/kkremitzki"&gt;help support my work via PayPal&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="transition-for-coin3"&gt;
&lt;h2&gt;Transition for coin3&lt;/h2&gt;
&lt;p&gt;Coin3D is a scene graph library and a fundamental part of FreeCAD.
Unfortunately, it hasn't had a release since 2011, but development has been
picking up recently, so it's likely that a release is not too far off. Even
without a formal release, several improvements have been made including CMake
support, so it's time to prepare a transition in advance of the Debian 10
release. Luckily, Leo Palomo-Avellaneda has taken the initiative of getting
this transition started.&lt;/p&gt;
&lt;p&gt;Currently, the new Coin3D package is available in Debian Experimental as we
prepare the reverse-dependencies to build against it. For FreeCAD, we directly
depend on Pivy, which are Python bindings for Coin. Pivy, in turn, depends on
Coin and SoQt, which is a Qt GUI component toolkit library for Coin. A
pre-release version of SoQt is also being packaged since, like Coin, CMake
support has been added, as well as support for Qt 5.&lt;/p&gt;
&lt;p&gt;Unfortunately, I've been grinding my gears on building Pivy against the new
Coin and SoQt for a good part of this month, which is especially troublesome
since FreeCAD's transition to Python 3 is blocked by the upload of a new Pivy,
which I prepared earlier this year.&lt;/p&gt;
&lt;p&gt;With any luck, I'll be able to help Leo finish the Coin and SoQt transition and
have Pivy prepared in December.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="gmsh-update"&gt;
&lt;h2&gt;Gmsh Update&lt;/h2&gt;
&lt;p&gt;Gmsh is a 3D finite element mesh generator with built-in pre- and
post-processing facilities. It's also one of the main meshers used by FreeCAD's
Finite Element Modeling Workbench, besides Netgen.&lt;/p&gt;
&lt;p&gt;Currently Debian has Gmsh 3.0.6, but a new major version was released in
August. I've already prepared this new major version for testing in FreeCAD's
Community Extras PPA, but I hadn't cleaned up the packaging yet to submit to
Debian. However, in November, there were two point releases, 4.0.5 and 4.0.6,
so I wasn't able to complete this work this month, but I'm sure it'll be done
in early December.&lt;/p&gt;
&lt;p&gt;One major piece of information regarding Gmsh 4 is a change in the API: the
libjava-gmsh3 package in Debian was never meant to be a public API, and so Gmsh
upstream has requested that we no longer ship it. To offset this, there have
been refinements for the actual public API, which officially comes in C, Python
3 and (new) Julia flavors. However, I haven't found much information on Julia
packaging in Debian, so I'll likely hold off on that package.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="pyside-2-rebuild-ppa-plans"&gt;
&lt;h2&gt;PySide 2 Rebuild &amp;amp; PPA Plans&lt;/h2&gt;
&lt;p&gt;Since FreeCAD is an LGPL-licensed Qt project, we must use PySide and not PyQt
to do Qt things with Python. Because of this, the FreeCAD migration to Qt 5 on
Debian was blocked by the packaging of PySide 2, which was completed by
Freexian SARL over the summer. In Debian, we now have a Qt 5-enabled FreeCAD,
although our daily builds PPA is still using Qt 4.&lt;/p&gt;
&lt;p&gt;Besides the Qt 4-&amp;gt;5 transition, we're also finishing up a Python 2-&amp;gt;3
transition. At the end of the summer I published a &lt;cite&gt;freecad-python3&lt;/cite&gt; package in
the PPA which also used Qt 5. However, it wasn't really fully usable, moreso a
proof-of-concept that such a build indeed buildable.&lt;/p&gt;
&lt;p&gt;At this point, the Debian FreeCAD package has begun to diverge from the FreeCAD
PPAs; besides Qt 5 builds not being available currently, the Debian package has
also been split into several packages (e.g. &lt;cite&gt;libfreecad&lt;/cite&gt;, &lt;cite&gt;freecad-common&lt;/cite&gt;,
etc. packages) in order to better comply with Debian Policy and the Filesystem
Hierarchy Standard.&lt;/p&gt;
&lt;p&gt;So, there's a bit of work to do to catch the PPAs up. First, the package split
needs to be done. Then, I need to upload an alternative &lt;cite&gt;freecad-daily&lt;/cite&gt; package
for Qt 5 builds, separate from Python 3. Once that is done and has undergone
some testing, &lt;cite&gt;freecad-daily&lt;/cite&gt; can be replaced by it, and it in turn can be
replaced by a &lt;cite&gt;freecad-python3&lt;/cite&gt; package for further testing. Since FreeCAD's
0.18 release is imminent, I'll need to get this taken care of during December,
so stay tuned.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="packaging-in-progress"&gt;
&lt;h2&gt;Packaging in Progress&lt;/h2&gt;
&lt;p&gt;My first packaging list is all the software I've already started packaging. For
some, it's almost complete, and for others, I've only just begun.&lt;/p&gt;
&lt;p&gt;The purpose of these lists is not to give status updates, but to announce what
all I'm interested in to anyone reading this, and to give an idea of how much
packaging work I have in mind to improve this usage of Debian.&lt;/p&gt;
&lt;section id="cantera"&gt;
&lt;h3&gt;cantera&lt;/h3&gt;
&lt;section id="homepage-github"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://cantera.org/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/Cantera/cantera"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Cantera is an open-source suite of tools for problems involving chemical
kinetics, thermodynamics, and transport processes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I had this package working and waiting to be sponsored, but it looks like it currently fails
to build from source, so this just requires some maintenance.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="coolprop"&gt;
&lt;h3&gt;coolprop&lt;/h3&gt;
&lt;section id="homepage-github-1"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://www.coolprop.org/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/CoolProp/CoolProp"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;CoolProp is a thermophysical property database and wrappers for a selection
of programming environments. It offers similar functionality to REFPROP,
although CoolProp is open-source and free.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This package was previously building completely, but failing when one would attempt to do
an &lt;cite&gt;import coolprop&lt;/cite&gt;. Now that it's been a while since I worked with it, it
seems to be failing to build.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="elmerfem"&gt;
&lt;h3&gt;elmerfem&lt;/h3&gt;
&lt;section id="homepage-github-2"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://www.elmerfem.org/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/ElmerCSC/elmerfem"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Elmer is a finite element software for numerical solution of partial
differential equations. Elmer is capable of handling any number of equations
and is therefore ideally suited for the simulation of multiphysical problems.
It includes models, for example, of structural mechanics, fluid dynamics, heat
transfer and electromagnetics. Users can also write their own equations that
can be dynamically linked with the main program.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This was previously in Debian but removed due to abandonment, so a great deal
of the work is already done, but it also requires quite a bit of updating to
current Debian standards.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="if97"&gt;
&lt;h3&gt;if97&lt;/h3&gt;
&lt;section id="pdf-standard-github"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://www.iapws.org/relguide/IF97-Rev.pdf"&gt;PDF Standard&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/CoolProp/IF97"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Open-source C++ implementation of the IAPWS-IF97 equations to calculate
properties of the pure water substance.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a dependency of CoolProp, and I already have it packaged and waiting
for sponsorship at &lt;a class="reference external" href="https://salsa.debian.org/science-team/if97"&gt;https://salsa.debian.org/science-team/if97&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="ifcopenshell"&gt;
&lt;h3&gt;ifcopenshell&lt;/h3&gt;
&lt;section id="homepage-github-3"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://www.ifcopenshell.org/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/IfcOpenShell/IfcOpenShell"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;IfcOpenShell is an open source (LGPL) software library that helps users and
software developers to work with the IFC file format. The IFC file format
can be used to describe building and construction data. The format is
commonly used for Building Information Modelling. IfcOpenShell uses
OpenCASCADE internally to convert the implicit geometry in IFC files into
explicit geometry that any software CAD or modelling package can
understand.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I already have this packaged and awaiting sponsorship at &lt;a class="reference external" href="https://salsa.debian.org/kkremitzki-guest/ifcopenshell"&gt;https://salsa.debian.org/kkremitzki-guest/ifcopenshell&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It's also available on the &lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD Community Extras PPA&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="ifcplusplus"&gt;
&lt;h3&gt;ifcplusplus&lt;/h3&gt;
&lt;section id="homepage-github-4"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://ifcquery.com/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/ifcquery/ifcplusplus"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;IfcPlusPlus is an open source C++ class model, as well as a reader and
writer for IFC files in STEP format. It features easy and efficient memory
management using smart pointers, a parallel reader for fast parsing on
multi-core CPU's, and a simple IFC viewer application using Qt and
OpenSceneGraph.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I already have this packaged and awaiting sponsorship at &lt;a class="reference external" href="https://salsa.debian.org/kkremitzki-guest/ifcplusplus"&gt;https://salsa.debian.org/kkremitzki-guest/ifcplusplus&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It's also available on the &lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD Community Extras PPA&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="opencamlib"&gt;
&lt;h3&gt;opencamlib&lt;/h3&gt;
&lt;section id="homepage-github-5"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://www.anderswallin.net/tag/opencamlib/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/aewallin/opencamlib"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;OpenCAMLib (OCL) is a C++ library with Python bindings for creating 3D
toolpaths for CNC-machines such as mills and lathes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I already have this packaged and awaiting sponsorship at &lt;a class="reference external" href="https://salsa.debian.org/science-team/opencamlib"&gt;https://salsa.debian.org/science-team/opencamlib&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It's also available on the &lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD Community Extras PPA&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="openvoronoi"&gt;
&lt;h3&gt;openvoronoi&lt;/h3&gt;
&lt;section id="homepage-github-6"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://www.anderswallin.net/category/cnc/cam/openvoronoi/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/aewallin/openvoronoi"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;2D voronoi diagram for point and line-segment sites using incremental
topology-oriented algorithm. C++ with Python bindings.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I already have this packaged and awaiting sponsorship at &lt;a class="reference external" href="https://salsa.debian.org/kkremitzki-guest/openvoronoi"&gt;https://salsa.debian.org/kkremitzki-guest/openvoronoi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It's also available on the &lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD Community Extras PPA&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="projectchrono"&gt;
&lt;h3&gt;projectchrono&lt;/h3&gt;
&lt;section id="homepage-github-7"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://projectchrono.org/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/projectchrono/chrono"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;C++ library for multi-physics simulation. The applications areas in which
Chrono is most often used are vehicle dynamics, robotics, and machine
design. In vehicle dynamics, Chrono has mature support for tire/terrain
interaction modeling and simulation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I've only roughly begun packaging this, and I'm already tired of typing
&lt;cite&gt;libprojectchrono&lt;/cite&gt;. Anyway, it's a rather large set of components which will be
broken up into several packages. Luckily, things are done in a pretty normal
way so I don't imagine this will be difficult to finish packaging, just a
little time-costly.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="smesh"&gt;
&lt;h3&gt;smesh&lt;/h3&gt;
&lt;section id="github"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://github.com/LaughlinResearch/smesh"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;A stand-alone library of the mesh framework from the Salome Platform&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I've gotten this standalone version of SMESH packaged and awaiting sponsorship
at &lt;a class="reference external" href="https://salsa.debian.org/kkremitzki-guest/salome-smesh"&gt;https://salsa.debian.org/kkremitzki-guest/salome-smesh&lt;/a&gt;.  Eventually, I want
to package the entire Salome Platform, but it's extremely large and really
several source packages. Packaging this as an intermediate step allows us to
remove SMESH from FreeCAD's included sources.&lt;/p&gt;
&lt;p&gt;It's also available on the &lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD Community Extras PPA&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="xcfem"&gt;
&lt;h3&gt;xcfem&lt;/h3&gt;
&lt;section id="homepage-github-8"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://sites.google.com/site/xcfemanalysis/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/xcfem/xc"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;XC is an open source FEA program designed to solve structural analysis
problems.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This library is supposed to be an alternative to the not-quite-freely licensed
OpenSees, which is used in seismic research and analysis. There has been some
interest in the FreeCAD forums about using this, so I'm beginning packaging it
in advance. However, it seems a bit complicated as it requires multiple
sources, the GitHub &lt;cite&gt;xcfem/xc&lt;/cite&gt; repo as well as &lt;cite&gt;xcfem/xc_utils&lt;/cite&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="wishlist-packages"&gt;
&lt;h2&gt;Wishlist Packages&lt;/h2&gt;
&lt;section id="geom"&gt;
&lt;h3&gt;2geom&lt;/h3&gt;
&lt;section id="homepage-gitlab"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://lib2geom.sourceforge.net/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://gitlab.com/inkscape/lib2geom"&gt;GitLab&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;lib2geom (2Geom in private life) was initially a library developed for
Inkscape but will provide a robust computational geometry framework for any
application. It is not a rendering library, instead concentrating on high
level algorithms such as computing arc length.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I looked at this package and it seemed like it will be straightforward to
package, and with the parent project's popularity, someone else may get to it
first.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="bimserver"&gt;
&lt;h3&gt;bimserver&lt;/h3&gt;
&lt;section id="homepage-github-9"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://kwk.systems/blog/posts/free-software-activities-in-november-2018/bimserver.org"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/opensourceBIM/BIMserver"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;The Building Information Model server (short: BIMserver) enables you to
store and manage the information of a construction (or other building
related) project. Data is stored in the open standard IFC. The BIMserver is
not a fileserver, but it uses a model-driven architecture approach. This
means that IFC data is stored in an underlying database. The main advantage
of this approach is the ability to query, merge and filter the BIM-model
and generate IFC files on the fly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The integration of BIM with FreeCAD is a very promising endeavor, and letting
FreeCAD be the client in a client-server model provides many potential
benefits. (This is the reason I'm working on PostCAD.) Packaging BIMserver
is a natural decision, then. However, it's a Java application, which I have
little experience with language-wise and none in terms of packaging it in
Debian, so this one has a bit of a difficulty associated with it.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="cadquery"&gt;
&lt;h3&gt;cadquery&lt;/h3&gt;
&lt;section id="homepage-github-10"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://dcowden.github.io/cadquery/index.html"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/dcowden/cadquery"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;CadQuery is an intuitive, easy-to-use python based language for building
parametric 3D CAD models. CadQuery is for 3D CAD what jQuery is for
javascript. Imagine selecting Faces of a 3d object the same way you select
DOM objects with JQuery!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;CadQuery is an interesting project which actually makes use of FreeCAD, and
indeed FreeCAD even has a CadQuery Workbench. This would be nice to package as
a way of extending the FreeCAD ecosystem on Debian.&lt;/p&gt;
&lt;p&gt;Unfortunately, CadQuery 2 is planning on moving away from FreeCAD to PythonOCC,
which is based on the now behind-the-times OpenCASCADE Community Edition fork,
based on OpenCASCADE 6.9.1; FreeCAD and other projects are moving back to the
mainline OpenCASCADE Technology project which is about to release version
7.4.0. It would be nice if both CadQuery and FreeCAD could instead move to use
PyOCCT as a middle-layer between itself and OpenCASCADE.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="libreoffice-code-highlighter"&gt;
&lt;h3&gt;libreoffice-code-highlighter&lt;/h3&gt;
&lt;section id="homepage-github-11"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://extensions.libreoffice.org/extensions/code-highlighter"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/slgobinath/libreoffice-code-highlighter"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;This extension highlights the code snippets for over 350 languages in
LibreOffice.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have packaged a LibreOffice extension before, and it was fairly easy, so I expect this one will be too. However its priority is rather low.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="lib3mf"&gt;
&lt;h3&gt;lib3mf&lt;/h3&gt;
&lt;section id="homepage-github-12"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://3mf.io/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/3MFConsortium/lib3mf"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Lib3MF is a C++ implementation of the 3D Manufacturing Format file standard.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This seems like a straightforward library to package, but there is no pressing need as FreeCAD does not support it yet.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="muesli"&gt;
&lt;h3&gt;muesli&lt;/h3&gt;
&lt;section id="homepage-bitbucket"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://materials.imdea.org/research/simulation-tools/muesli/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://bitbucket.org/ignromero/muesli"&gt;BitBucket&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;MUESLI, a Material UnivErSal LIbrary, is a collection of C++ classes and
functions designed to model material behavior at the continuum level.
Developed at IMDEA Materials, it is available to the material science and
computational mechanics community as a suite of standard models and as a
platform for developing new ones.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This seems like a great candidate package for Debian Science but I have had
some difficulty building it, which I need to conquer before packaging can
begin.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="cling"&gt;
&lt;h3&gt;cling&lt;/h3&gt;
&lt;section id="homepage-github-13"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://root.cern.ch/cling"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/root-project/cling"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Cling is an interactive C++ interpreter, built on top of Clang and LLVM
compiler infrastructure. Cling realizes the read-eval-print loop (REPL)
concept, in order to leverage rapid application development. Implemented as
a small extension to LLVM and Clang, the interpreter reuses their strengths
such as the praised concise and expressive compiler diagnostics.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;cling is an incredible project which should have been packaged already.
Hopefully someone else gets to it first.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="dpkg-licenses"&gt;
&lt;h3&gt;dpkg-licenses&lt;/h3&gt;
&lt;section id="github-1"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://github.com/daald/dpkg-licenses"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;A command line tool which lists the licenses of all installed packages in a Debian-based system (like Ubuntu)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a small script which gives a summary of the licenses used by the installed packages on your system--a good way to audit packages, e.g. forbidding AGPL.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="landlab"&gt;
&lt;h3&gt;landlab&lt;/h3&gt;
&lt;section id="homepage-github-14"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://landlab.github.io/#/#install"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/landlab/landlab"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Landlab is a Python-based modeling environment that allows scientists and
students to build numerical landscape models. Designed for disciplines
that quantify earth surface dynamics such as geomorphology, hydrology,
glaciology, and stratigraphy, it can also be used in related fields.&lt;/p&gt;
&lt;p&gt;Landlab provides components to compute flows (such as water, sediment,
glacial ice, volcanic material, or landslide debris) across a gridded
terrain. With its robust, reusable components, Landlab allows scientists
to quickly build landscape model experiments and compute mass balance
across scales.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Landlab is another interesting Debian Science candidate but I have no pressing need to package it.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="nikola"&gt;
&lt;h3&gt;nikola&lt;/h3&gt;
&lt;section id="homepage-github-15"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://getnikola.com/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/getnikola/nikola"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;A static website and blog generator, written in Python.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Nikola is what I use to create this blog, but it's somewhat fast moving and a
slow maintainer in Debian previously caused problems, so I don't want to pick
this up until I've leveled up my package maintenance.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="osifont"&gt;
&lt;h3&gt;osifont&lt;/h3&gt;
&lt;section id="homepage-github-16"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://fontlibrary.org/en/font/osifont"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/hikikomori82/osifont"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;In some European countries, CAD projects must have font which conform to
IS0 3O98 specification. Commercial CADs has this font, but free CADs not.
There is no available free font yet, so this project will fix this. This
font will be created completely from the scratch. Font is created with free
tools like FontForge, Inkscape, Gimp. Font is available under 3 licences:
GNU GPL licence version 3 with GPL font exception, GNU GPL licence version
2 with GPL font exception, GNU LGPL licence version 3 with GPL font
exception.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a bundled font with FreeCAD, so I'd like to separate into its own
package. However, the need to package it is not pressing, so I haven't picked
it up.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="pigpio"&gt;
&lt;h3&gt;pigpio&lt;/h3&gt;
&lt;section id="homepage-github-17"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://abyz.me.uk/rpi/pigpio/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/joan2937/pigpio"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;pigpio is a C library for the Raspberry which allows control of the General
Purpose Input Outputs (GPIO).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is an important tool for teaching with Raspberry Pi's and should be
packaged as soon as possible, I've just had more pressing concerns.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="piscope"&gt;
&lt;h3&gt;piscope&lt;/h3&gt;
&lt;section id="homepage-github-18"&gt;
&lt;h4&gt;&lt;a class="reference external" href="http://abyz.me.uk/rpi/pigpio/piscope.html"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/joan2937/piscope"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;A logic analyser (digital waveform viewer).  piscope uses the services of
the pigpio library. pigpio needs to be running on the Pi whose gpios are to
be monitored.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Being able to see the waveform of a GPIO pin on a Raspberry Pi is incredibly
useful for teaching robotics and electrical engineering classes with them. This
also needs to be packaged.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="pyocct"&gt;
&lt;h3&gt;pyocct&lt;/h3&gt;
&lt;section id="github-2"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://github.com/LaughlinResearch/pyOCCT"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;The pyOCCT project provides Python bindings to the OpenCASCADE 7.2.0
geometry kernel and SMESH 8.3.0 meshing library via pybind11. Together,
this technology stack enables rapid CAD/CAE application development in the
popular Python programming language.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a very promising library for Python OpenCASCADE development, so I'd
like to get it packaged, but it's blocked by getting SMESH packaged.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="pyray"&gt;
&lt;h3&gt;pyray&lt;/h3&gt;
&lt;section id="github-3"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://github.com/ryu577/pyray"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;A 3D rendering library written completely in Python.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A promising library for integrating raytracing functionality directly into
FreeCAD, and for general raytracing in Python.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="quarter"&gt;
&lt;h3&gt;quarter&lt;/h3&gt;
&lt;section id="bitbucket"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://bitbucket.org/Coin3D/quarter"&gt;BitBucket&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Quarter is a light-weight glue library that provides seamless integration
between the Coin high-level 3D visualization library and Qt's 2D user
interface library.  The functionality in Quarter revolves around
QuarterWidget, a subclass of QGLWidget. This widget provides functionality
for rendering of Coin scenegraphs and translation of QEvents into SoEvents.
Using this widget is as easy as using any other QWidget.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;FreeCAD already uses an included (and slightly modified) copy of Quarter in its
source, so I'd like to package Quarter in a standalone fashion as part of
moving FreeCAD away from bundled copies in its source.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="rebound"&gt;
&lt;h3&gt;rebound&lt;/h3&gt;
&lt;section id="homepage-github-19"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://rebound.readthedocs.io/en/latest/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/hannorein/rebound"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;REBOUND is an N-body integrator, i.e. a software package that can integrate
the motion of particles under the influence of gravity. The particles can
represent stars, planets, moons, ring or dust particles. REBOUND is very
flexible and can be customized to accurately and efficiently solve many
problems in astrophysics.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This seems like a really great library to have in Debian Science, but it's not a priority.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="sqlint"&gt;
&lt;h3&gt;sqlint&lt;/h3&gt;
&lt;section id="github-4"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://github.com/purcell/sqlint"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;SQLint is a simple command-line linter which reads your SQL files and
reports any syntax errors or warnings it finds.&lt;/p&gt;
&lt;p&gt;At this stage, SQLint checks SQL against the ANSI syntax, and uses the
PostgreSQL SQL parser to achieve this. In time, we hope to add support for
non-standard SQL variants (e.g. MySQL). Contributions are welcome.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This would be a very useful utility to have in Debian, but I always write SQL without flaw the first try. (wink)&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="swatmodel"&gt;
&lt;h3&gt;swatmodel&lt;/h3&gt;
&lt;section id="homepage-github-20"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://swat.tamu.edu/"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/WatershedModels/SWAT"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;The Soil &amp;amp; Water Assessment Tool is a small watershed to river basin-scale
model used to simulate the quality and quantity of surface and ground water
and predict the environmental impact of land use, land management
practices, and climate change. SWAT is widely used in assessing soil
erosion prevention and control, non-point source pollution control and
regional management in watersheds.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;SWAT is a powerful research tool in agricultural engineering, among several
others I'm interested in eventually packaging for Debian. The planned package
will be based on a CMake-enabled fork of the upstream source, which is built
with Intel's Fortran compiler by default and also had to be adapted for
gfortran.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="wger"&gt;
&lt;h3&gt;wger&lt;/h3&gt;
&lt;section id="homepage-github-21"&gt;
&lt;h4&gt;&lt;a class="reference external" href="https://wger.de/en/software/features"&gt;Homepage&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/wger-project/wger"&gt;GitHub&lt;/a&gt;&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Self hosted FLOSS fitness/workout and weight tracker written with Django&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a very promising application which could be used as both a fitness
tracker as well as a weight/nutrition tracker, something along the lines of a
self-hosted MyFitnessPal. However, my other packaging priorities outweigh this
at the moment.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="conclusion"&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;So, there you have it! My mostly complete list of in-progress and wishlist
items for Debian packaging. If you have any feedback on packages on the list,
or want to get in touch with me, you can find me &lt;a class="reference external" href="https://twitter.com/thekurtwk"&gt;on Twitter&lt;/a&gt; or send me an email at kurt at kwk.systems.
I'll also be starting to stream my Debian &amp;amp; FreeCAD work very soon, &lt;a class="reference external" href="https://twitch.tv/kkremitzki"&gt;subscribe
to me on Twitch&lt;/a&gt; to get notified when I go
live.&lt;/p&gt;
&lt;/section&gt;</description><category>debian</category><category>freecad</category><category>postcad</category><guid>https://kwk.systems/blog/posts/free-software-activities-in-november-2018/</guid><pubDate>Wed, 19 Dec 2018 05:20:10 GMT</pubDate></item><item><title>Free Software Activities in October 2018</title><link>https://kwk.systems/blog/posts/free-software-activities-in-october-2018/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;section id="intro"&gt;
&lt;h2&gt;Intro&lt;/h2&gt;
&lt;p&gt;Welcome to another monthly summary of my free software work. Currently I'm focusing
on improving the state of packaging for FreeCAD and its ecosystem of dependencies
and related packages in Debian Science. Additionally, I recently revived the &lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD
Community Extras PPA&lt;/a&gt;
as a way of staging these packages out to users for testing. If
you are a FreeCAD user, developer, or simply a user of one of these packages, I would
greatly appreciate your feedback and testing to identify bugs while my packages wait
to make it into the Debian archive.&lt;/p&gt;
&lt;p&gt;However, in the long-term, I plan to move away from spending so much time on Debian
packaging and returning to FreeCAD core development, and a special not-so-secret related project:
PostCAD, providing OpenCASCADE geometry &amp;amp; topology bindings plus CAD data and filetype format support for PostgreSQL, a la PostGIS.
The goal is to build this out as a rich backend which FreeCAD can talk to about neat CAD stuff.
It's a heaping of work, though, so I don't expect to have a public release until mid or late 2019.&lt;/p&gt;
&lt;p&gt;I would like to find others who
are interested in contributing to FreeCAD ecosystem packaging for mentorship. That way,
my efforts are maintained by the community and the quality and availability of packages
won't wane with my attention on them. Since FreeCAD participates in Google Summer of
Code, this would be a great opportunity for interested university students to learn
Debian packaging and improve the state of science &amp;amp; engineering software on Debian.&lt;/p&gt;
&lt;p&gt;Anyway, on to my summary!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="debian-news"&gt;
&lt;h2&gt;Debian News&lt;/h2&gt;
&lt;p&gt;This month, I officially became a Debian Maintainer. This is a basic level of formal
membership in the Debian project, and it comes with limited upload rights to the
archive. I can only upload packages for which I am marked as a maintainer, for example
FreeCAD.&lt;/p&gt;
&lt;p&gt;I took advantage of this to upload some improvements for FreeCAD which I had
been sitting on. After a few tweaks, the package was ready for an upgraded upload
from Experimental to Unstable, which begins the process of candidacy for Testing,
the release pocket for the upcoming Debian 10.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="debian-freecad-gets-qt-5"&gt;
&lt;h2&gt;Debian FreeCAD Gets Qt 5&lt;/h2&gt;
&lt;img alt="/images/freecad-qt5.png" class="align-center" src="https://kwk.systems/blog/images/freecad-qt5.png"&gt;
&lt;p&gt;Most important about this upload, though was that FreeCAD is finally being built
with Qt 5 support. While Qt 5 had been working for quite a while, we were waiting
on a dependency to be uploaded to Debian, PySide 2, which finally was uploaded this
summer. Because this is a big switch to flip, any testing and reporting of bugs for
this Debian package would be appreciated!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="freecad-package-structure-reorganization"&gt;
&lt;h2&gt;FreeCAD Package Structure Reorganization&lt;/h2&gt;
&lt;p&gt;One of the other major packaging changes for FreeCAD 0.17 is that the package is
no longer a single, monolithic &lt;code class="docutils literal"&gt;freecad&lt;/code&gt; package. We now have:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;a &lt;code class="docutils literal"&gt;freecad&lt;/code&gt; metapackage, which installs the other packages&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;common files and resources (e.g. images) in &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-common&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-runtime&lt;/span&gt;&lt;/code&gt; contains Python 2/3 compatible runtime files&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;the executable built against Python 2, &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-python2&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;and the library files used by the executable, &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;libfreecad-python2-0.17&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are several advantages to this approach. The first is that since &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-common&lt;/span&gt;&lt;/code&gt;
and &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-runtime&lt;/span&gt;&lt;/code&gt; are just pictures, Python scripts, and the like, we can save
space in the archive by only needing one copy of the package, instead of one for each
supported architecture. For &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-python2&lt;/span&gt;&lt;/code&gt; and &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;libfreecad-python2-0.17&lt;/span&gt;&lt;/code&gt;, one can
see the advantage in the name: since these are Python 2 specific, we will soon be
able to provide their Python 3 counterparts.&lt;/p&gt;
&lt;p&gt;Ideally, by the time of the Debian 10 release, the FreeCAD 0.17 package will provide
both Python 2 and 3 supported versions, and which one you want to use can be switched
between using the &lt;code class="docutils literal"&gt;alternatives&lt;/code&gt; system, which I will explain later in this post.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="freecad-python-3-imminent"&gt;
&lt;h2&gt;FreeCAD Python 3 Imminent&lt;/h2&gt;
&lt;p&gt;Like Qt 5, FreeCAD has supported Python 3 for quite some time. (Workbenches and
3rd party code are another story.) However, in Debian, a Python 3-enabled FreeCAD
package is blocked by the pending upload of pivy 0.6. I helped coordinate the upstream
release of this package but due to issues with its dependency Coin3D the upload is stalled
until those issues are resolved.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="community-extras-ppa-early-packge-previews"&gt;
&lt;h2&gt;Community Extras PPA - Early Packge Previews&lt;/h2&gt;
&lt;p&gt;Now that we have the Community Extras PPA, it serves as a convenient location for me to upload packages
as soon as I have one completed and ready for testing. Here are my uploads this month.&lt;/p&gt;
&lt;section id="gmsh-4"&gt;
&lt;h3&gt;Gmsh 4&lt;/h3&gt;
&lt;img alt="/images/gmsh-airplane.png" class="align-center" src="https://kwk.systems/blog/images/gmsh-airplane.png"&gt;
&lt;p&gt;&lt;a class="reference external" href="http://gmsh.info/"&gt;Gmsh&lt;/a&gt; has released a major version upgrade, which includes removing the
experimental Java API and introducing Julia bindings, although this package doesn't
do anything with them. The current version in the Debian archives is 3.0.6.&lt;/p&gt;
&lt;p&gt;This package is only available on Bionic (Ubuntu 18.04) due to its dependencies. I hadn't tried on
Cosmic (Ubuntu 18.10) since I worked on this in the beginning of October and it wasn't released yet.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="calculix-2-14"&gt;
&lt;h3&gt;Calculix 2.14&lt;/h3&gt;
&lt;img alt="/images/calculix-turbocharger.jpeg" class="align-center" src="https://kwk.systems/blog/images/calculix-turbocharger.jpeg"&gt;
&lt;p&gt;&lt;a class="reference external" href="http://www.calculix.de/"&gt;CalculiX&lt;/a&gt; in Debian is currently several versions behind (2.11) so I got a request
to package this. However, CalculiX actually spans several packages, but calculix-ccx,
the solver, is the only one used by FreeCAD, so unlike the other packages, this one
is not quite ready for Debian until the other ones are done as well, since they are
separate source packages.&lt;/p&gt;
&lt;p&gt;This package is available on Bionic and Xenial (Ubuntu 16.04).&lt;/p&gt;
&lt;/section&gt;
&lt;section id="translated-freecad-doc-packages"&gt;
&lt;h3&gt;Translated FreeCAD-Doc Packages&lt;/h3&gt;
&lt;p&gt;One of the big areas for improvement in FreeCAD is the state of its documentation, and
I'm glad to announce that one big improvement is on its way. I have been working on
a standalone &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-doc&lt;/span&gt;&lt;/code&gt; package, since it was removed from the Debian archive for
being derived from pre-compiled binary files. This package involves using a local
synced copy of the FreeCAD Wiki text and images, and using the script that was used
to generate the aforementioned binary files.&lt;/p&gt;
&lt;p&gt;The main improvement my package offers is support for the two most complete translations
of the FreeCAD wiki, French and Italian. This is accomplished by making &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-doc&lt;/span&gt;&lt;/code&gt;
a metapackage which depends on any one of &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-doc-en&lt;/span&gt;&lt;/code&gt;, &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;-it&lt;/span&gt;&lt;/code&gt;, or &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;-fr&lt;/span&gt;&lt;/code&gt; being installed.
Then, the relevant files in &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-doc&lt;/span&gt;&lt;/code&gt; upon which &lt;code class="docutils literal"&gt;freecad&lt;/code&gt; will call are in fact
managed symlinks to the appropriate translations. The symlinks are managed by the
&lt;a class="reference external" href="https://wiki.debian.org/DebianAlternatives"&gt;DebianAlternatives&lt;/a&gt; system (see update-alternatives(1).)&lt;/p&gt;
&lt;p&gt;In order to switch between translations if more than one is installed, you can run
&lt;code class="docutils literal"&gt;sudo &lt;span class="pre"&gt;update-alternatives&lt;/span&gt; &lt;span class="pre"&gt;--config&lt;/span&gt; &lt;span class="pre"&gt;freecad-doc&lt;/span&gt;&lt;/code&gt;. This will control the in-program help for FreeCAD,
so when you click the "What's this?" button, the resultant help page will be the translated version.&lt;/p&gt;
&lt;p&gt;Additionally, compiled PDFs of the FreeCAD help are provided for all three languages.&lt;/p&gt;
&lt;p&gt;One result of the nature of this package is that it is quite large: each &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;freecad-doc&lt;/span&gt;&lt;/code&gt; translated package
weighs in about 300 MB so the combined size is about 1.2 GB, per Ubuntu distribution.&lt;/p&gt;
&lt;p&gt;As a result, this package is only available on Bionic and Xenial.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="pycollada-0-6-now-with-python-3"&gt;
&lt;h3&gt;PyCOLLADA 0.6, now with Python 3!&lt;/h3&gt;
&lt;img alt="/images/collada.jpeg" class="align-center" src="https://kwk.systems/blog/images/collada.jpeg"&gt;
&lt;p&gt;Another package which is fairly out of date in Debian (version 0.4 present), I decided
to update it since &lt;a class="reference external" href="https://github.com/pycollada/pycollada"&gt;pycollada&lt;/a&gt; is a dependency of FreeCAD and I am intrigued by the possibilities
of the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/COLLADA"&gt;COLLADA (COLLAborative Design Activity) format&lt;/a&gt;.
This allows for interchange with interactive 3D applications like Blender.&lt;/p&gt;
&lt;p&gt;The big news with this package is that Python 3 support is now available, so I updated the source packaging
to provide both Python 2 and 3 packages.&lt;/p&gt;
&lt;p&gt;Again due to dependencies, it's only available on Cosmic and Bionic.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="sponsors"&gt;
&lt;h2&gt;Sponsors&lt;/h2&gt;
&lt;p&gt;My work on Debian Science and FreeCAD is supported by my patrons at &lt;a class="reference external" href="https://patreon.com/kkremitzki"&gt;https://patreon.com/kkremitzki&lt;/a&gt;. Thank you all very much!&lt;/p&gt;
&lt;p&gt;If you appreciate my work as described in this post, any level of support is greatly appreciated, including moral support!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="social-media"&gt;
&lt;h2&gt;Social Media&lt;/h2&gt;
&lt;p&gt;You can follow me on Twitter at &lt;a class="reference external" href="https://twitter.com/thekurtwk"&gt;@thekurtwk&lt;/a&gt;. I'm also currently working on
a Twitch streaming setup, which I hope to have ready by the end of the year! I'll be trying out some live programming,
engineering, and Linux gaming. &lt;a class="reference external" href="https://www.twitch.tv/kkremitzki"&gt;You can find me at twitch.tv/kkremitzki&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;</description><category>debian</category><guid>https://kwk.systems/blog/posts/free-software-activities-in-october-2018/</guid><pubDate>Thu, 08 Nov 2018 05:59:21 GMT</pubDate></item><item><title>Free Software Activities in September 2018</title><link>https://kwk.systems/blog/posts/free-software-activities-in-september-2018/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;p&gt;Hello all, unfortunately my update comes late again this month, although I have good reason! I just finished landing a job
as a scientific software developer. From the looks of it, I'll mostly be working on things from a systems engineering perspective,
but it'll be in the context of the scientific Python ecosystem as well as involving Qt. This is nice in that while I will have less
free time to spend on FreeCAD, it will almost certainly be of increasingly higher quality.&lt;/p&gt;
&lt;p&gt;Another interesting benefit of the job is that it will allow me to move back to Austin, which has the very well-equipped hackerspace
&lt;a class="reference external" href="http://atxhs.org"&gt;ATX Hackerspace&lt;/a&gt;. I look forward to joining and having a chance to finally experiment with FreeCAD's CNC integrations,
and to have a great space to hack on hardware and software.&lt;/p&gt;
&lt;p&gt;Now, finally, to summarize what I've worked on in the month of September.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;I created a &lt;a class="reference external" href="https://forum.freecadweb.org/viewtopic.php?f=8&amp;amp;t=31046"&gt;thread on the FreeCAD forums&lt;/a&gt; to announce the revival of the
&lt;a class="reference external" href="https://launchpad.net/~freecad-community/+archive/ubuntu/ppa"&gt;FreeCAD Community Extras PPA&lt;/a&gt;. This will be used to host packages of interest
to the FreeCAD community, and things that need testing for possible future inclusion in FreeCAD. In retrospect, I should have used this PPA to get
testers for the packages I was working on during my last Google Summer of Code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;dl class="simple"&gt;
&lt;dt&gt;To this FreeCAD Community Extras PPA, I uploaded packages for:&lt;/dt&gt;
&lt;dd&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/aewallin/opencamlib"&gt;OpenCAMLIB&lt;/a&gt;, a C++ library with Python bindings for creating 3D toolpaths for CNC machines such as mills and lathes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/aewallin/openvoronoi"&gt;OpenVoronoi&lt;/a&gt;, another C++/Python library for 2D Voronoi diagrams for point and line-segment sites.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Laughlin Research's standalone &lt;a class="reference external" href="https://github.com/LaughlinResearch/SMESH"&gt;SMESH&lt;/a&gt;, the Salome meshing framework.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/NGSolve/netgen"&gt;Netgen&lt;/a&gt;'s latest release, 6.2.1807, a 3D tetrahedral mesh generator.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/IfcOpenShell/IfcOpenShell"&gt;IfcOpenShell&lt;/a&gt;, an open source Python IFC library and geometry engine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/ifcquery/ifcplusplus"&gt;IfcPlusPlus&lt;/a&gt;, an open source C++ class model, reader, and writer for IFC files with simple Qt/OpenSceneGraph viewer application.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I have long been interested in having CAD database support, and I spent quite a bit of September working with my friend on research and initial work for this. From what we've found,
we can feasibly have a PostgreSQL extension similar to PostGIS, but for CAD: &lt;a class="reference external" href="https://github.com/postcad"&gt;PostCAD&lt;/a&gt;. This would mainly involve a marriage between &lt;a class="reference external" href="https://www.opencascade.com/"&gt;OpenCASCADE&lt;/a&gt;, the C++ geometry and topology kernel of FreeCAD,
and &lt;a class="reference external" href="https://github.com/jtv/libpqxx"&gt;libpqxx&lt;/a&gt;, the official C++ client library for PostgreSQL. The potential for such an extension would be huge, with all the power and features
of PostgreSQL with an understanding of CAD data and geometry. For example, FreeCAD could interface with this database, and have the database take care of things like editing locks
for models, permissions for readingn and writing of models, and so forth. Furthermore, by creating a database-level abstraction for CAD, that opens the way for web abstractions
for CAD, similar to GeoDjango's GIS extensions for Django. That work could one day pave the way for a web interface for FreeCAD.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As always, if you appreciate the work I do with FreeCAD, the Debian Science Team, and Open Engineering on Linux, any level of support would be appreciated
&lt;a class="reference external" href="https://patreon.com/kkremitzki"&gt;on my Patreon!&lt;/a&gt; Currently this money helps offset server costs for some of the experimental FreeCAD community stuff.
I would like to continue to use it to offset my costs for FreeCAD development and equipment. If I can reach my current goal of $100/month, I'd like to
use it to purchase a &lt;a class="reference external" href="https://www.pine64.org/?page_id=3707"&gt;Pinebook, a $99 ARM64 laptop&lt;/a&gt; which I could use for FreeCAD &amp;amp; Debian ARM development.
I'd really like FreeCAD to be usable (and not painfully slow) on ARM since its low-cost nature means it is highly available for educational institutions.
Maybe one day I'll even be able to afford milling/CNC equipment so I can see just how far FreeCAD integration can take us!&lt;/p&gt;</description><category>debian</category><guid>https://kwk.systems/blog/posts/free-software-activities-in-september-2018/</guid><pubDate>Sun, 14 Oct 2018 03:47:15 GMT</pubDate></item><item><title>Free Software Activities in August 2018</title><link>https://kwk.systems/blog/posts/free-software-activities-in-august-2018/</link><dc:creator>Kurt Kremitzki</dc:creator><description>&lt;p&gt;Hello all! After reading some of the nice activity logs published by members of the
Debian Project at &lt;a class="reference external" href="https://planet.debian.org"&gt;https://planet.debian.org&lt;/a&gt;, I've decided to publish my own version.
This will mostly be my work on FreeCAD and Debian, but will also include other points
of note from my many interests. I'll also include relevant activities for &lt;a class="reference external" href="https://www.patreon.com/kkremitzki"&gt;my supporters
on Patreon&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As covered in my previous post, most of the first half of August was spent finishing
my Google Summer of Code project for FreeCAD, which largely turned into "packaging
for the Debian Science Team" since FreeCAD's dependency chain and options for
integration are so vast. However, the nature of the work is highly parallel.
For example, when packaging, most issues occur either almost immediately into the build,
or after the build has finished. This means that after an initial bit of packaging work
that allows a build to actually proceed, one then has to launch the build and wait
anywhere from a few minutes to a few hours to see the next issue arise. So, as a
result, I worked on &lt;em&gt;many&lt;/em&gt; packages in parallel. A negative consequence of this was
that I somewhat overloaded my plate in terms of things I can handle, so in actuality
this meant I would work on a handful of packages on several machines at once, and then
once those issues were largely resolved I would move onto another handful, rather
than really juggling them all at once.&lt;/p&gt;
&lt;p&gt;After finishing GSoC, I first turned my attention to two of the packages I had
worked on in parallel, python-fluids and python-ulmo.&lt;/p&gt;
&lt;section id="python-fluids-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://tracker.debian.org/pkg/python-fluids"&gt;python-fluids&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I made a new upload for this package to correct several issues. Here's an excerpt from the changelog:&lt;/p&gt;
&lt;pre class="literal-block"&gt;* [1215102] Make python-fluids-doc Multi-Arch: foreign
* [eb610fd] Correct Vcs-* fields
* [62570cd] Updated to Standards-Version 4.2.0, no change required
* [29e96a7] Correct debian/watch
* [3e90d05] Add missing scipy dependency
* [cd776a2] Add lintian override for
  package-contains-documentation-outside-usr-share-doc&lt;/pre&gt;
&lt;p&gt;The package still fails some reproducibility tests on i386 and could use a standards version bump, but other
than that, this package is almost completely clean now! It's quite satisfying cleaning up these packages.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="python-ulmo-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://tracker.debian.org/pkg/python-ulmo"&gt;python-ulmo&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I made an upload for this package as well:&lt;/p&gt;
&lt;pre class="literal-block"&gt;* [7150daa] Correct Vcs-* fields
* [027b50b] Mark python-ulmo-doc as Multi-Arch: foreign
* [d72b6f6] Add patch to fix FutureWarning&lt;/pre&gt;
&lt;p&gt;The package was failing its autopkgtests because Python was emitting a FutureWarning onto stderr.
This package is actually fully reproducible, and only needs a standards version bump to be fully clean.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="gmsh-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://tracker.debian.org/pkg/gmsh"&gt;gmsh&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On August 22nd, &lt;a class="reference external" href="http://gmsh.info/"&gt;Gmsh 4.0.0 was released!&lt;/a&gt; The Java API was removed and a Julia one added.
This is a nice release because in
&lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904946"&gt;Debian bug #904946&lt;/a&gt; it was found that the Gmsh package, after being updated to
be built against OCCT instead of OCE, actually no longer worked when used in FreeCAD, giving the error:&lt;/p&gt;
&lt;pre class="literal-block"&gt;Error   : Gmsh requires OpenCASCADE to import shape&lt;/pre&gt;
&lt;p&gt;My hope was that by updating to the new Gmsh version, this problem would resolve itself. However, I ran into a few problems and had to postpone
finishing up.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="netgen-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://tracker.debian.org/pkg/netgen"&gt;netgen&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;On August 19th, &lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906619"&gt;Debian bug #906619&lt;/a&gt; was reported against Netgen, which was
an occasion to look at the state of the package. I noticed that upstream had released version 6.2.1807 (versus the current .1804) but
it was not tagged in the Netgen repository, only as a submodule of the &lt;a class="reference external" href="https://github.com/ngsolve/ngsolve"&gt;Ngsolve repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On August 31st, I packaged the new version and resolved the bug
in &lt;a class="reference external" href="https://salsa.debian.org/science-team/netgen/merge_requests/9/commits"&gt;science-team/netgen PR #9&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="salome-smesh"&gt;
&lt;h2&gt;salome-smesh&lt;/h2&gt;
&lt;p&gt;Although technically not August, on September 3rd I pushed the &lt;a class="reference external" href="https://salsa.debian.org/kkremitzki-guest/salome-smesh"&gt;nearly finished package for a standalone salome-smesh on Salsa&lt;/a&gt;
which is fully functional except for an issue with the CMake config file. I submitted a pull request to support multi-arch for the package
but forgot to update the path in the CMake config file, so the variables therein have to be manually set, or the file edited.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="cantera"&gt;
&lt;h2&gt;cantera&lt;/h2&gt;
&lt;p&gt;On August 24th, Cantera 2.4.0 was released:&lt;/p&gt;
&lt;pre class="literal-block"&gt;Cantera is an open-source suite of tools for problems involving chemical kinetics, thermodynamics, and transport processes.&lt;/pre&gt;
&lt;p&gt;Previously there had been an issue with the build, where the packages would be made successfully, but attempting to &lt;cite&gt;import cantera&lt;/cite&gt; in
Python would error out, presumably due to the way an included copy of libfmt was handled during the build. However, the issue is no longer
present, so I now have a working Cantera 2.4.0 package! The only shortcoming is that I don't have working docs build yet, so this package
didn't make it in time for August.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="openfoam-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://tracker.debian.org/pkg/openfoam"&gt;openfoam&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Previously I had submitted a pull request for OpenFOAM 6 to the Debian Science Team, but spontaneously the package began to fail,
presumably due to some change in a dependency. I spent some time troubleshooting this issue but haven't found a resolution yet.
Here's a snippet of the build failure:&lt;/p&gt;
&lt;pre class="literal-block"&gt;Allwmake src/Pstream
wmake dummy
wmakeLnIncludeAll: running wmakeLnInclude on dependent libraries:
    wmakeLnInclude: linking include files to /build/openfoam-6.20180805+dfsg1/src/OpenFOAM/lnInclude
    wmakeLnInclude: linking include files to /build/openfoam-6.20180805+dfsg1/src/OSspecific/POSIX/lnInclude
make[2]: Entering directory '/build/openfoam-6.20180805+dfsg1/src/Pstream/dummy'
wmakeLnInclude: linking include files to ./lnInclude
make[2]: Leaving directory '/build/openfoam-6.20180805+dfsg1/src/Pstream/dummy'
make[2]: Entering directory '/build/openfoam-6.20180805+dfsg1/src/Pstream/dummy'
Making dependency list for source file UOPwrite.C
realloc(): invalid next size
make[2]: *** Deleting file '/build/openfoam-6.20180805+dfsg1/platforms/linux64GccDPInt32Opt/src/Pstream/dummy/UOPwrite.C.dep'
Making dependency list for source file UIPread.C
realloc(): invalid next size
make[2]: *** Deleting file '/build/openfoam-6.20180805+dfsg1/platforms/linux64GccDPInt32Opt/src/Pstream/dummy/UIPread.C.dep'
Making dependency list for source file UPstream.C
realloc(): invalid next size
make[2]: *** Deleting file '/build/openfoam-6.20180805+dfsg1/platforms/linux64GccDPInt32Opt/src/Pstream/dummy/UPstream.C.dep'&lt;/pre&gt;
&lt;p&gt;I'll have to continue investigating this one.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="pyside2-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://tracker.debian.org/pkg/pyside2"&gt;pyside2&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I reported &lt;a class="reference external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906020"&gt;Debian bug #906020&lt;/a&gt; about missing Python 3 CMake config files,
which was fixed Aug 28th. I began investigating how this would Pivy builds, but got sidetracked by a problem with the &lt;cite&gt;med-fichier&lt;/cite&gt; package.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="freecad-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://tracker.debian.org/pkg/freecad"&gt;freecad&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I ran into some build issues trying to update the package now that my Debian Unstable workstation is running Qt 5.11:&lt;/p&gt;
&lt;pre class="literal-block"&gt;error: invalid use of incomplete type ‘class QAction’
     QAction* action = new QAction(tr("Remove"), this);&lt;/pre&gt;
&lt;p&gt;There are several instances of this throughout the codebase that can basically be fixed with by adding some &lt;cite&gt;#include&lt;/cite&gt; s.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="projectchrono"&gt;
&lt;h2&gt;projectchrono&lt;/h2&gt;
&lt;p&gt;There was a bit of discussion about utilization of &lt;a class="reference external" href="http://www.projectchrono.org/"&gt;Project Chrono&lt;/a&gt;, an open source multi-physics simulation engine,
in FreeCAD. One problem with pursuing this is that it isn't packaged at all for Debian, which is rather surprising! It seems like high-quality software.
I began looking at packaging it and it actually doesn't seem that bad. One of the main issues is actually the naming: it's really long! There's also a
bit of worry about naming collisions I'll have to look into. As of now, I have a working package except for the Python bindings. Enabling them results
in this failure in the build process:&lt;/p&gt;
&lt;pre class="literal-block"&gt;[ 53%] Building CXX object src/demos/irrlicht/CMakeFiles/demo_IRR_soilbin.dir/demo_IRR_soilbin.cpp.o
cd /build/project-chrono-3.0.0/obj-x86_64-linux-gnu/src/demos/irrlicht &amp;amp;&amp;amp; /usr/lib/ccache/c++  -DBP_USE_FIXEDPOINT_INT_32 -I/build/project-chrono-3.0.0/src -I/build/project-chrono-3.0.0/obj-x86_64-linux-gnu -I/build/project-chrono-3.0.0/src/chrono -I/build/project-chrono-3.0.0/src/chrono/collision/bullet -I/build/project-chrono-3.0.0/src/chrono/collision/gimpact -I/build/project-chrono-3.0.0/src/chrono/collision/convexdecomposition/HACD -I/usr/include/irrlicht  -g -O2 -fdebug-prefix-map=/build/project-chrono-3.0.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -fopenmp  -march=native -msse4.2 -mfpmath=sse  -march=native -mavx2  -march=native -mfma  -std=c++14 -pthread -fopenmp  -march=native -msse4.2 -mfpmath=sse  -march=native -mavx2  -march=native -mfma    -std=c++14 -pthread -fopenmp  -march=native -msse4.2 -mfpmath=sse  -march=native -mavx2  -march=native -mfma  -o CMakeFiles/demo_IRR_soilbin.dir/demo_IRR_soilbin.cpp.o -c /build/project-chrono-3.0.0/src/demos/irrlicht/demo_IRR_soilbin.cpp
/build/project-chrono-3.0.0/obj-x86_64-linux-gnu/swig/ChModuleCorePYTHON_wrap.cxx: In member function 'virtual void chrono::ChLogPython::Output(const char*, size_t)':
/build/project-chrono-3.0.0/obj-x86_64-linux-gnu/swig/ChModuleCorePYTHON_wrap.cxx:7610:23: error: format not a string literal and no format arguments [-Werror=format-security]
     PySys_WriteStdout(buffer);
                       ^~~~~~&lt;/pre&gt;
&lt;/section&gt;
&lt;section id="opencamlib"&gt;
&lt;h2&gt;opencamlib&lt;/h2&gt;
&lt;p&gt;There was a problem with this package's doc depends, which I fixed at the end of August. However, it's still awaiting sponsorship to be uploaded
into the Debian archives.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="med-fichier"&gt;
&lt;h2&gt;med-fichier&lt;/h2&gt;
&lt;p&gt;The &lt;a class="reference external" href="https://tracker.debian.org/pkg/med-fichier"&gt;med-fichier package&lt;/a&gt; in Debian currently is built with autotools but somewhat supports CMake builds, which
would be nice to switch to as it would provide CMake configuration files in libmedc-dev. I worked on updating the package, but currently building docs is broken,
and for some reason, the Fortran library is being statically linked.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="planet-freecad"&gt;
&lt;h2&gt;Planet FreeCAD&lt;/h2&gt;
&lt;p&gt;The &lt;a class="reference external" href="https://tracker.debian.org/pkg/planet-venus"&gt;planet-venus package&lt;/a&gt; in Debian is available for running your own RSS feed aggregation service.
I wanted to set up a planet.freecad.io to provide exactly that. However, the current version of the package is broken, and it only works in Debian 7, a.k.a. old-old-stable.&lt;/p&gt;
&lt;p&gt;I spent some time researching the state of the package, but it's fairly rough, and most importantly, upstream is far from active. I'd like to run the RSS service but
fixing the package seems like a tall order.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="freecad-io"&gt;
&lt;h2&gt;freecad.io&lt;/h2&gt;
&lt;p&gt;We previously had two servers available to run some of the web services for the FreeCAD project, but sadly they rebooted but never came back online.&lt;/p&gt;
&lt;p&gt;I'm now paying for a VPS in Frankfurt using the money from &lt;a class="reference external" href="https://patreon.com/kkremitzki"&gt;my Patreon&lt;/a&gt;. Unfortunately, it's a bit resource-strained
from the FreeIPA server hogging things.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="if-you-like-my-work-as-described-above-and-would-like-to-support-me-continuing-to-improve-the-state-of-open-engineering-on-linux-please-contribute-to-my-patreon"&gt;
&lt;h2&gt;If you like my work as described above and would like to support me continuing to improve the state of open engineering on Linux, &lt;a class="reference external" href="https://patreon.com/kkremitzki"&gt;please contribute to my Patreon!&lt;/a&gt;&lt;/h2&gt;
&lt;/section&gt;</description><category>debian</category><guid>https://kwk.systems/blog/posts/free-software-activities-in-august-2018/</guid><pubDate>Wed, 12 Sep 2018 10:20:13 GMT</pubDate></item></channel></rss>