My thoughts on Slackware, life and everything

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!

Eric

9 Comments

  1. Alan Aversa

    Why’d he decide to make this build version 1.0.0? It doesn’t seem drastically different than last Friday’s build…

  2. alienbob

    New since last week are the Cover Grid (which displays your book library not as a list but as rows of book covers) and most importantly the new SQLite-based database backend. The new backend code is much faster than the old code – startup times of the application for large libraries could be cut to half or even a third.

    And probably, calibre-1.0 finally has all the features the developers wanted to see in a 1.0 release.

    You can check http://calibre-ebook.com/new-in/ten for more information on the new features.

    Eric

  3. gauchao

    Eric, which e-reader do you use now?

  4. alienbob

    Hi gauchao

    I bought a Sony PRS-T1 almost two years ago, and still use that. I love it. It has wireless, so I never need a USB cable to download new books – I am using Calibre’s OPDS interface when you enable its webserver.

    Eric

  5. gauchao

    Thank you Eric! Great job with Calibre!

  6. gauchao

    Eric, I haven’t been able to install your Calibre 1 Package on Slackware 14 64 bit (pure) machine. I have installed all the dependencies (BeautifulSoup, dnspython, podofo, pycrypto, pysetuptools, python-cssutils, python-dateutil, python-imaging, python-lxml, python-mechanize, python-netifaces, python-psutil, python-cssselect) and only then I have installed your package. When I run calibre, it gives me the following error message:

    bash-4.2$ calibre
    Traceback (most recent call last):
    File “/usr/bin/calibre”, line 20, in
    sys.exit(main())
    File “/usr/lib64/calibre/calibre/gui2/main.py”, line 422, in main
    app, opts, args, actions = init_qt(args)
    File “/usr/lib64/calibre/calibre/gui2/main.py”, line 86, in init_qt
    from calibre.gui2.ui import Main
    File “/usr/lib64/calibre/calibre/gui2/ui.py”, line 32, in
    from calibre.gui2.widgets import ProgressIndicator
    File “/usr/lib64/calibre/calibre/gui2/widgets.py”, line 21, in
    from calibre.gui2.progress_indicator import ProgressIndicator as _ProgressIndicator
    File “/usr/lib64/calibre/calibre/gui2/progress_indicator/__init__.py”, line 15, in
    pi_error)
    RuntimeError: Failed to load the Progress Indicator plugin: the sip module implements API v9.0 to v9.1 but the progress_indicator module requires API v8.1

    Sorry to bother you, but could you help me? Thank you very much!

  7. gauchao

    I haven’t figured out what happened, but later I downloaded your build directory and compiled my own calibre package with slackbuild, and it went faultlessly. It is all working now. Maybe some forgotten dependency??? Thank you Eric!

  8. alienbob

    Hi gauchao

    You mention you are running Slackware 14, but the SIP error you were getting is an indication that you upgraded your KDE (probably using my packages) and part of that upgrade was the “sip” dependency. The newer sip package causes these ABI incompatibility errors.

    When you compiled calibre yourself, the binaries you created were linked to the newer sip package which is now installed on your system, therefore you are no longer getting the ABI errors.

    Eric

  9. gauchao

    Thanks Eric. That’s exactly what happened with the sip dep. I use your KDE 4.10.5 package. Everything is running smoothly now. Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑