My thoughts on Slackware, life and everything

Tag: ebook (Page 2 of 2)

New calibre packages – finally

calibreicoIt’s been nearly ten months since my last package for Calibre. What’s Calibre again I hear you ask? It is the highly popular E-book library management program with support for any E-Reader you can think of. I doubt that anyone who tried Calibre will ever switch back to one of the proprietary library management programs that commonly ship with E-Reader devices because Calibre transfers your E-books to and from your E-Reader device with ease. Calibre also contains an excellent E-book reader program for your desktop – even an EPUB editor comparable to Sigil. It will let you convert E-books from one format to another and allows you to subscribe to lots of news sites.

Last year august, the Calibre software switched from Qt4 to Qt5 for its user interface, and I was not yet prepared to follow suit. Running up to that month I had been working long and hard on the new KDE 5 preview and that was my first encounter with Qt5 – I decided to wait a bit for the new Calibre to mature and also I wanted to wait with adding Qt5 to my slackbuilds repository (the qt5 in ‘ktown_testing’ was just that, for testing KDE 5 and nothing production-ready).

During the previous couple of weeks I enjoyed several long weekends due to national holidays, and so it happened that I could spend some time re-visiting the calibre.SlackBuild and updating it so that it was able to compile a package for Calibre 2.x.

I wanted as few external dependencies as possible. The exception would be Qt5 which should be a proper package in its own right – it is too big to become a mere part of a calibre package. I ended up with just “podofo” and “qt5” as dependencies and I am now in the process of uploading the qt5 packages for slackware-current… something I forgot earlier this week. I borrowed them from my ktown_testing repository in order to compile Calibre.

But I also want to keep the older Qt4 version of Calibre (the 1.x releases) around for those who like that better or do not want the big Qt5 on their computer. So I renamed my SlackBuild for the 1.x version to “calibre1.SlackBuild“. I then recompiled calibre-1.48.0 for Slackware-current because the previous build of the package was broken after the recent big update and I still needed to address that issue. That is why you will find a “calibre” as well as a “calibre1” package in the repositories for Slackware 14.1 and -current. Take your pick.

Enjoy a shiny new Calibre 2.28.0 on Slackware (14.1 and -current)!


Calibre reaches 1.0 after nearly 7 years of development

calibreicoI am fully occupied this week and the next with training my new helpdesk team, so it took me a bit by surprise when tweeted that there was a version 1.0 of Calibre since this morning. Kovid Goyal, developer of Calibre, published the news in a blog post. It’s nearly seven years since Kovid started with Calibre – this was the time when the first E-ink based ereader device, SONY PRS-500, hit the market. At first, Calibre was merely a library which was able to convert e-book formats into Sony’s LRF format. It got ‘upgraded’ with a graphical user interface to manage Kovid’s growing ebook library.

There have been 44 increments in the 0.9.x series of Calibre. During that period of development, the program got powered by a new optimized database engine, you can now sub-divide your library into smaller virtual collections, and many improvements have been made to the importing, converting, polishing and exportering of digital book formats (including the .docx file format).

I try to maintain an up-to-date version of my custom-built Calibre package (and a fairly successful package it is!). Calibre is invaluable to anyone in the possession of an E-Reader or even just a collection of E-Books. I use it every day – one of Calibre’s many functions is to download my daily (paid) newspaper in EPUB format, so that I can access the newspaper (today’s and all previous days’editions) anywhere I have an internet connection.

I realize that the Calibre web site urges you to download the developer’s own distro-agnostic installer – it is the only binary version of Calibre he will support – but to me the calibre.SlackBuild has been a learning experience akin to developing my SlackBuild script for VLC, only this time for a Python-based program. Been lots of fun! Also, a proper Slackware package is a more appropriate way of installing software in Slackware.

I hope you give the new Calibre 1.0 package a spin. I made packages available for Slackware releases 13.37, 14.0 and -current. While the Slackware 13.37 package is pretty much self-contained (you only need podofo and icu4c installed additionally), the package for newer Slackware releases is a lot smaller, but has many external dependencies: BeautifulSoup, dnspython, podofo, pycrypto, pysetuptools, python-apsw, python-cssselect, python-cssutils, python-dateutil, python-imaging, python-lxml, python-mechanize, python-netifaces and python-psutil (note: python-apsw is a new dependency since the previous version). All of these packages can be found in my repository as well, of course.

Kovid, thanks for this nice piece of software.

Readers, have fun!


Packages for LibreOffice 3.6.5, calibre and steamclient, and lots of movement on the horizon

Yes, I finally got rid of the flu – but it took a week. I lost some weight (and I am not overweight so I am looking starved now), I still have a bad cough and my lower back muscles are strained and painful because of the continuous coughing. Otherwise I am fine.

I had a bit of a Slackware backlog which I am getting rid of now, thanks to my automated build scripts (creating these packages took time, not effort).


The Libre Office developers had published their 3.6.5 release last week, and I finally felt good enough to build packages. I did a quick examination and it appears that the opening/saving of password-protected files is finally working! Other bugfixes are documented in the release notes. That shows a fairly long list, let’s hope 3.6.5 is going to be rock stable for everyone. It is the last 3.x release before moving on to 4.0.0 in February.

These LibreOffice 3.6.5 packages have been built on Slackware 13.37. They can be installed on Slackware 14 as well, but there seem to be some dynamic linking errors, so I assume that some functionality is broken. I have not yet found where that happens, though. If you find any issues on Slackware 14 please tell me.

The next series, 4.x ,will be compiled on Slackware 14.0 and that will be the end of the library errors in any case. Modifying the libreoffice.SlackBuild script for the 4.x release required real effort! I am running LibreOffice 4.0.0_RC2 here on the desktop machine and it will be worth it, I promise. I will wait with making my new packages public until the official stable 4.0.0 release, so be patient for now please… Those who are still on Slackware 13.37 will have a good fallback choice with LibreOffice 3.6.5.

Downloads are available here, as usual:

Remember, you can add more functionality by installing extensions. LibreOffice extensions are available from


Steam client

I also updated my steamclient package with a re-packaging of Valve’s latest binary release (a debian package for Ubuntu actually): I am going to write a separate blog entry about Steam this weekend so I am not lingering here too long. Rest assured that the new package will rid you of the annoying “outdated client” errors and works like a charm (mostly).


Calibre Ebook Management

And I am again in line with the weekly updates of Kovid Goyal, developer of Calibre. I still maintain an up-to-date version of my custom-built package because I think it is an important tool for anyone with an E-Reader who does not want to tie his hands to a commercial ebook management & library system. Calibre acts as my family’s library and using OPDS protocol, I do not even need a cable to download new books onto the reader. I just use the wireless network.

The Event Horizon!

The blog’s subject hinted that more is coming.. Indeed I already have my packages ready for KDE 4.10.0 but I am not yet releasing them yet… I am waiting for the official announcement next week (and maybe other packagers will find bugs in the meantime). It is looking cool and I am running it here with no issues. In fact I played several hours of Half-Life Deathmatch against my son (there’s a Linux Beta of that too, since this week on Steam – well worth the 10 bucks), and neither the new KDE nor Steam nor Half-life crashed. Also imminent is a new release of IcedTea, the build framework for OpenJDK which I use. That means, there will be a Slackware package for OpenJDK “7u12” or somewhat like that, very soon.

And last but certainly not least, the VideoLAN developers (who are currently partying at FOSDEM, Brussels) will have to come up fast with a fix for a critical vulnerability in the VLC player, which was divulged yesterday… I guess that you should not be opening ASF files in the meantime.


Digitizing my paperback books

Part one: what do I want?

I hinted at this topic in a previous post. I have a big collection of (mostly) paperback Science Fiction books – some hardcover books too. I used to read a lot more in the pre-Internet days, nowadays it’s just during my holidays that I get enough time to read whole books in a short enough time… so many of those old paperbacks are 20-30 years old and yellowed.

In this digital age it would be appropriate to have digital versions of my books and save them from crumbling to dust. I am in anticipation of Sony’s new e-reader, the PRS-T1 which I want to buy once it is out:

This is a very nice device. It is also a lot cheaper than the previous generation Sony e-reader (the PRS-650) while at the same time adding wireless connectivity. This device needs content once I have it in my possession.

A lot of the “newer” books, and those written by contenporary authors can be purchased online, or downloaded from fan sites where people scan their own collections into EPUB or MOBI e-books.  That is all good and well, but on my bookshelves I have many dozens good books that will probably never see a new life as an e-book. That is very unfortunate… I had a lot of fun reading them and do not want to see them go into oblivion.

I decided to do something about this. I am going to try and describe (and hopefully implement) how I am going to digitize my book library. Note: at the moment this is all just ideas, “dreams” if you wish, although I have already found quite a bit of information on the Internet that I will be sharing with you. I want it to be more than just a dream.

What does one need to get a paper book converted into an e-book?

  1. the book’s pages need to be scanned
  2. the scanned bitmaps may have to be cleaned-up digitally (enhancing the contrast between characters and background, de-skewing or rotating the text blocks, …)
  3. I need an Optical Character Recognition (OCR) program to convert the bitmap images into character text
  4. I need an e-book editor to layout the bare text that I got from the OCR program – the ebook has to look largely like the original paper version.
  5. I want to use a library program to make my book catalogue available, to myself of course, to my e-reader device, and possibly to other interested parties.

And I want this to be as low-cost as possible. Any software that I am going to use for this should preferably be Open Source and run on Slackware.

Those are the main topics I will write about. Each of these topics deserves its own separate article. Why is that?

I can already see how this project will confront me with interesting challenges. I am going to write a multi-post story with interlinked articles (this being the first) in order to preserve this hobby project of mine for posterity. Having separate topic articles allows me to split up your feedback as well (heh… I hope I do get some feedback!), so that discussions about, say, scanning techniques will not interfere with talk about what is the best OCR program for Linux.

The articles are not going to be “static” per se. I value your feedback and important new insights will find their way back into the main text.

Let’s see where this ends. It is probably going to take days, or weeks,  to write. It delends a bit on Slackware development – if that picks up speed again, I will have less time for this ebook side show. But for the moment , there is silence in the ChangeLog.txt and I have time to spare.


E-book management on Slackware

Managing your e-book collection

In an earlier post, I hinted about a Slackware package I was trying to create for Calibre. The reason being that I bought my wife an e-reader: a Sony PRS650 with a touch screen using infrared instead of a touch-sensitive layer and pearl e-ink technology. Both those features make for an extremely pleasant reading experience.

However, the Sony Reader software that accompanies the device, is a Windows-only application (of course…) and second, it is not all that much of an application either. Even for Windows, the usual advice you get it is to install Calibre for  managing your e-books – including uploading them to your device.

So, I needed to have Calibre available on my Slackware computers. In fact, I used to have a package for Calibre already! At some point in time the Calibre developer decided to increase the required version of the Python interpreter to 2.7.1. And since Slackware ships Python 2.6.6 to this day, I was no longer able to compile updated packages  (I got stuck at 0.7.23 but I guess it would have been possible to keep compiling Calibre as far as 0.7.45).

I still wanted a recent version of Calibre, the software has updates about once a week! So I spent quite a lot of time researching how I could add an embedded Python interpreter plus several supporting Python modules into the Calibre package.

And I think I succeeded. I have uploaded Slackware packages for calibre-0.8.6 to my repository yesterday (for Slackware 13.1 as well as Slackware 13.37). During the period where I did not actually have an e-reader at my disposition (it arrived at the house only a few days ago) I used the testing genius of my pal mrgoblin who happened to have an e-reader device in his possession. His beta tests made me realize that I was missing the dbus-python module which is needed for Calibre to recognize when a device is plugged into the computer.

I must say, using Calibre is a lot of fun! I have a small collection of e-books and after installing the Slackware package, I was able to transfer my books to the Sony device and read them there. Then, I managed to almost brick the device by ripping out the USB cable before selecting “Eject Device” in Calibre… let that be a warning for prospective users! It took a lot of reading about soft and hard resets before I had a working e-reader again. I had to reset the device to factory defaults – which means you lose all the books that were already present on the device. It was a good learning experience with only minor inconvenience (because I had transfered only two books to the e-reader at the time) but I kept feeling my wife’s prying eyes in the back of my neck… she was not too pleased with seeing her birthday present getting bricked only 15 minutes after unpacking it!

Calibre will also be very useful for everyone who owns a Kindle (Amazon’s own e-reader). The Kindle only accepts Amazon’s own MOBI format and refuses the “open” EPUB format (which is the most commonly used e-book format outside the US). Using Calibre, you can easily convert your EPUB collection to MOBI format – when you select an EPUB file and tell it to upload it to a Kindle, Calibre will show a dialog that prompts for the automatic conversion to the Kindle’s format. Perfect!

OK, enough talk. Get a package and/or SlackBuild script at:

and don’t forget to also install the icu4c and podofo packages; these two are the only dependencies now. If you want to build the package yourself, be warned if you are running Slackware-current. There is a bug in the “file” utility in Slackware-current which prevents it from recognizing a ZIP file as such, and this bug will cause the SlackBuild script to fail. Thanks to Francesco Allertsen who first ran into this issue and reported it to me, a quick fix is to change the line 235 in the calibre.SlackBuild script:

if $(file ${SOURCE[$i]} | grep -qi “: zip”); then


if $(echo ${SOURCE[$i]} | grep -qi “.zip$”); then

I hope to see a fixed “file” soon. A bugfix has been applied to the file repository already, so file-5.08 should detect ZIP files correctly when it gets released.

Have fun! Eric

Newer posts »

© 2024 Alien Pastures

Theme by Anders NorenUp ↑