My thoughts on Slackware, life and everything

Tag: qt6

KDE: February 2024 MegaRelease

Just a heads-up to you people who wondered when Alien BOB would pick up on the KDE Plasma bleeding edge again.
Simply put: Patrick did a hell of a job pushing every new KDE Plasma update into the slackware-current package tree (even before the 15.0 release) in no time. There was nothing for me to do (or to improve on) since Plasma5 got added to the distro.

My intention is to change that, soon.

Exactly one month ago, KDE published their planning for Plasma6, the successor to Plasma5, so numbered after the version of the Qt framework which underpins it. As seen on the ‘February 2024 MegaRelease‘ page, the first Alpha release of the Qt6-based Frameworks, Plasma and Gear (the three main components of KDE Plasma) is expected to see the light on November 8th, 2023. The final stable release of KDE Plasma6 will be on February 28th, 2024.

I don’t expect that Slackware itself will absorb this new software immediately upon release. Perhaps we will have a Slackware 15.1 next February, maybe not – but a new KDE desktop is a major and potentially disruptive upgrade. Still, it needs solid testing on Slackware -current somehow. Therefore I will have that stable KDE Plasma6 in my ktown repository when it is released.

I am currently working on updating the kde.SlackBuild infrastructure which I took from Slackware-current, to make it work with the new Plasma6 sources. It is not a trivial task; there are new non-KDE dependencies, new KDE programs and changed interdependencies, patches to remove and patches to add.
So far, I have finalized the scripts for all of the new dependencies, as well as the Frameworks and Plasma. Currently working on KDEPIM, and then the Gear collection (formerly called Applications) awaits. The results up to now took me a full week, and the Gear will probably have the same level of unpleasant surprises (hey, it won’t compile! what did they sneak in now? <initiates another search through KDE Invent>…).

Meaning, I won’t make promises on the timeline for a first Slackware-based test release. I aim to make it coïncide with KDE’s own Alpha release, but I may not be able to finish on time. To be clear about my roadmap: anything that I make available before the stable release of Feb 28, will take the shape of a Slackware Live ISO image (the ktown variant, we haven’t seen that one for two years almost!) for you to test and play with.
There will be no new packages in the ktown repository until the time when KDE Plasma6 stable gets released. I am supportive of people who want to compile this set themselves, so I will make the sources available in ktown as soon as I release the first live ISO and will keep updating those sources.

Note that I will not make Plasma6 co-installable with Plasma5. It’s going to be one or the other. Any official Slackware package that I have to recompile to add Qt6 support, will not lose its Qt5 support. Meaning, my ktown versions of gpgme, kdsoap, phonon, polkit-qt-1, poppler, qca, qcoro or qtkeychain will be 100% compatible with standard Slackware.

Hope to have more news in a week or two!

Sunday update (Oct 29) – a screenshot of the “about” screen after I compiled the new dependencies, Frameworks, Kdepim, Plasma, Plasma-extra and Gear (excluding some twenty packages which are not yet compatible with Qt6):

Eric

Calibre 6.14.1 – I finally made it past 6.11…

News for people who no longer read paper books!
Well 😉 I guess everyone needs paper from time to time, but in all honesty, my eyes are getting worse and an E-reader is the optimal device for me when I want to read books – I can enlarge the font and it has a night light.

Calibre 6.x is a really cool-looking and versatile graphical Python3 application, using PyQt to build the graphical interface based on Qt6 widgets. It is the application to use if you have a collection of E-books and an E-reader, and want a decent library management program to move these E-books onto your E-reader. In addition, it offers a good ebook-viewer application for your computer and even an impressively powerful E-book editor.

As you may know, I have been creating native Slackware packages for Calibre for many years. However I had some issues with the compilation of any Calibre release past version 6.11.0. Kovid Goyal, the developer of this e-book management software, removed some of the content from his release tarballs and since version 6.12.0 requires that the build process generates these required files instead.

This meant that I had to study the changes in the Python files which are used to build Calibre to discover how the missing pieces where getting downloaded and compiled during a ‘bootstrap’ build. That took a while but I found a way to get these sources in place before starting the build.
So now again, Calibre packages for Slackware 15.0 and -current will be getting refreshes in my repository.

Download the new Calibre 6.14.1 packages from my repository or any mirror (like my own US mirror). No external dependencies, works out of the box on Slackware 15.0 or -current.

 

Have fun! Eric

First package for Calibre6 in my repository

Not so very long after I was finally able to produce my first packages for Calibre 5.x, Kovid Goyal ended that development cycle and bumped his e-book management application’s major version number to “6” in order to make a switch from Qt5 to Qt6 as its graphical engine.

The main hurdle for me when the upgrade from Calibre 4.x to 5.x happened was that internally, Calibre switched from Python2 to Python3. Essentially the whole of Calibre is written in Python and it uses PyQt to build the graphical interface using Qt widgets.

It took me a lot of work to re-write the calibre.SlackBuild to also make that Python switch. After all, my single calibre package is actually getting built from many sources (44 tarballs for Calibre 4, 55 tarballs for Calibre 5) and a lot of those had to be replaced to work with Python3. Moving my calibre.SlackBuild to Python3 took so much effort that I decided to apply some simplification as well: I removed the script’s ability to build its own Qt5 libraries from source, instead I let my calibre-5.x packages depend on the qt5 package which is already present in the Slackware OS since release 15.0.
Naturally I was not looking forward to doing the same cumbersome and time-consuming exercise again, now having to figure out the intricacies of Qt6, a graphical toolkit I had never built or used before.

But I was bothered by the consequence that I had to stick with Calibre 5.44 being the final release using Qt5, and so I decided to take my time, and inbetween other activities I started gradually re-writing the calibre.SlackBuild script to encompass the new sources and get these compiled and tested.

Now then finally, you can install Calibre 6 on Slackware using a 170 MB large natively-built package which needs 64 source tarballs to compile You can get the new Calibre 6 packages from my repository or any mirror (like my own US mirror). No external dependencies, works out of the box on Slackware 15.0 or -current.

To refresh your memory in case you are still thinking “what the heck is he talking about” – Calibre is an e-book library management program which I started using after buying my first E-reader (a Sony TRS-T1) and discovering that the accompanying e-book management software was proprietary and not user-friendly. The functionality and ease-of-use of Calibre were so much better than the commercial software that I never looked back.
I now read my e-books on a Kobo Aura2 H2O . Adding books to the reader is dead-simple: Calibre exports my book library on the internet as a OPDS server that works with any e-reader that has Internet connectivity, and I can scroll through my library even when on vacation and pick a new book to read. The power of Open Source.

A note for those of you who are on a 32bit Slackware and are currently using my Calibre 5.x package. With Calibre 6 it is no longer needed to set the “QTWEBENGINE_CHROMIUM_FLAGS” variable to disable seccomp. Qt6 does not appear to have the issues that the embedded Chromium browser of Qt5 had.

I also checked that the application’s screenreader still works. Right-click the current page in your open e-book text and then click “Read Aloud“. The text-to-speech is provided by an embedded speech-dispatcher program.
This is great, but the downside of it is, that the default espeak voice sounds like Steve Hawking came to visit you. If you find out how to improve the text-to-speech capability of Calibre by adding voices (especially non-english) and playing with the various engines, please let me know in the comments section below. I really would like to improve the out-of-the-box TTS experience for people with visual disabilities or dyslexia.

Have fun! Eric

© 2024 Alien Pastures

Theme by Anders NorenUp ↑