As seen previously, installing a Flatpak is a relatively simple matter – and
with Flatpak bundles even a one-click story. Now, building a Flatpak and the
corresponding repository is a slightly different story that I want to tell you
with my adventure making a Flatpak for the latest 0.92 version of Inkscape.
I won’t go into detail about the build process itself which is described
just alright in the Flatpak developer documentation and a series of
blogposts by Flatpak developer Alexander Larsson. Unfortunately, it is not
100% complete and I had to resort to the manpages and existing Flatpak
descriptions of other projects to get going.
So first thing you want to do is skip the manual flatpak build process and
use the flatpak-builder tool right away. You want to make a package for a real
program and not some toy that does not have any external dependencies anyway,
right? So that’s what I did: I wrote a org.inkscape.Inkscape.json, listing each and
every dependency of Inkscape. Now here is a message to the dear runtime
providers: please provide a runtime for applications based on the C++ versions
of the GNOME libraries such as gtkmm. I wasted tons of brain matter and CPU
cycles hunting down and compiling1 all the correct library versions2.
Speaking of depdendency hell: the dependency “resolution” of flatpak-builder
is anything but smart. It caches build output but marks it dirty if any of the
previously declared modules is changed even if there is no direct dependency
between those two modules. Yay!
But besides those issues making the package, pushing the repo to a server and
installing the package from a remote is actually a pleasant ride …
If I find a cheap location to store the repo and bundle, I will let you know.
Update: You can find the resulting Flatpak bundle on the main
Have I told you what a mess Boost is? C++: ✓. Custom build tool: ✓. SourceForge download: ✓. ↩
This is a follow-up to Simos post on how to install LibreOffice but using
Flatpak instead of Snap.
If you haven’t have the flatpak system installed yet you must install it first from
Alex Larsson’s PPA
Both Questlove and D’Angelo cite J Dilla (born James Yancey) to be a visionary
and an eye opener. He single-handedly invented the sloppy, slugging
behind-the-beat feel that is now considered a staple typical for Neo-soul,
Fusion and Hip Hop acts. Rumours say it happened by accident, when the samples
were not aligned “correctly” to the beat grid but shifted ever so slightly. In a
video, Questlove explains how he had to unlearn the rhythmic tightness and
precision he acquired over the years in order to achieve the musical ideas of
D’Angelo based on J Dilla’s beats.
Unfortunately, J Dilla died early in 2006 on a rare condition. Instead of giving
in, he produced his final solo album The Diary lying in a hospital bed. Off of
that album, Gangsta Boogie is a prime example for the aforementioned style,
which this transcription cannot capture at all:
So in order to get the feel right, listen, listen and listen again. And don’t
get lost in Snoop Dogg’s verses.
Yes, the bassline was very likely a synth which I tried to emulate with the
Digitech Bass Synth Wah. It’s close but unfortunately not the real deal.
Avishai Cohen alongside Christian McBride is my favorite contemporary upright
bassist. Unlike McBride, he has found a very particular sound and approach to
music, mixing modern Jazz with middle eastern influences and playful rhythms. In
the past, he was mainly known for having been the bass player for the Chick
Corea band but since then made a huge impact with his own group and trio work.
Calm is a song from Cohen’s Continuo album featuring Sam Barsh playing keys
(coincidently, he also appears on Anderson .Paak’s Malibu) and Mark
Guiliana on drums. Compared to most other tracks, Calm has a relatively
simple bassline and is driven mostly by arpeggios played by the piano. Grab the
transcription and follow along: