Tellico nie jest być może dobrze znaną aplikacją, ale dla kolekcjonerów książek, płyt, ba nawet wina, dość nieocenioną. Jest też jedną z nielicznych, które budowane są z myślą o KDE. W repozytorium jest dostępna stabilna wersja 2.3.10, zbudowana w oparciu o biblioteki KDE4. Wersja ta, dopracowana, ma jedną wadę - w przypadku, gdy ktoś używa biblioteki libksane zbudowanej w oparciu o KF5, nie może używać wersji przeznaczonej dla KDE4. Od pewnego czasu trwa proces portowania Tellico do Qt5 i KF5. Jak dotychczas, próby budowania nie były zbyt udane, jednakże wersja odpowiadająca rewizji 2001 z commitem 60dc69f (czyli ta, która dzisiaj trafiła do GIT) buduje się i działa w miarę stabilnie. Potrafi czytać bazy danych stworzone przez starszą wersję, tworzy i zapisuje również nowe bazy. Jedyny mankament, jaki zauważyłem, to próba podłączenia silników umożliwiających przeszukiwanie baz internetowych niestety powoduje błąd i wywrotkę programu (SEFGAULT 11). Niemniej jednak aplikacja działa i prawdopodobnie w najbliższej przyszłości i ta przypadłość zostanie usunięta.
Zdecydowałem się zatem podać skrypty umożliwiające instalację Tellico zbudowanego w oparciu o Qt5 i KF5.
PKGBUILD
# Maintainer: pavbaranov
pkgname=tellico-frameworks-git
pkgver=2.9.90+git.r2001.60dc69f
pkgrel=1
pkgdesc="A collection manager build against KDE Frameworks 5 and Qt5"
arch=('i686' 'x86_64')
url="http://tellico-project.org/"
license=("GPL2")
depends=('qt5-base' 'qt5-xmlpatterns' 'kxmlgui' 'kdelibs4support' 'kconfig' 'kconfigwidgets' 'khtml' 'kcoreaddons'
'kdbusaddons' 'ki18n' 'kiconthemes' 'kio' 'kjobwidgets' 'kwidgetsaddons' 'knotifications' 'gettext'
'libxml2' 'libxslt' 'kxmlgui' 'kjobwidgets' 'kcodecs' 'taglib' 'libksane-frameworks-git' 'exempi' 'libdiscid' 'libcsv' 'btparse' 'yaz'
'qimageblitz-qt5-svn' 'exempi')
makedepends=("git" "extra-cmake-modules" "kdoctools" "automoc4")
provides=('tellico')
conflicts=('tellico' 'tellico-git')
install=${pkgname}.install
source=("git://anongit.kde.org/tellico#branch=frameworks")
#_gitroot="git://anongit.kde.org/tellico"
_gitname="tellico"
sha256sums=('SKIP')
pkgver() {
cd tellico
# printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
_ver="$(cat CMakeLists.txt | grep -e TELLICO_VERSION | head -n3 | cut -d '"' -f2)"
echo "$(echo ${_ver} | tr ' ' .).r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
}
prepare() {
mkdir -p build
}
build() {
cd build
cmake ../tellico \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DLIB_INSTALL_DIR=lib \
-DQT_PLUGIN_INSTALL_DIR=lib/qt/plugins \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
make
}
package() {
cd build
make DESTDIR="$pkgdir" install
# fix python 2.7 path
find "${pkgdir}" -iname "*.py" | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
}
tellico-frameworks-git.install
post_install() {
xdg-icon-resource forceupdate
update-desktop-database -q
update-mime-database usr/share/mime
}
post_upgrade() {
post_install $1
}
post_remove() {
xdg-icon-resource forceupdate
update-desktop-database -q
update-mime-database usr/share/mime
}
Budowa programu wymaga, wcześniejszej budowy i instalacji (z AUR/AUR4) kilku paczek, m.in. libksane-frameworks-git. Jeśli zatem ktoś używa jakiegokolwiek programu (np. skanlite) opartego o bibliotekę zbudowaną dla KDE4, to niech nie próbuje instalować tej wersji programu.
EDIT:
Wersja r2001.60dc69f umożliwia już korzystanie z wbudowanych wyszukiwarek.