środa, 6 kwietnia 2016

Tellico 3.0 Beta 1

Tellico to rozwijany od wielu już lat menedżer kolekcji dla KDE. Ostatnia wersja stabilna (2.3.11) jest rozwijana jeszcze w oparciu o rozwiązania KDE4. Od jakiegoś roku jednak kod Tellico umożliwia budowę wersji opartej o KF5. Doszło nawet do tego, że kod rozwijany w GIT w ramach master jest już kodem dającym wersję KF5. Używam wersji KF5 w zasadzie od chwili, kiedy dało się ją budować i nie zauważyłem jakichś problemów. Funkcjonalność co najmniej taka sama, stabilność nie budzi wątpliwości.
Właśnie ukazała się wersja  2.9.91, czyli pierwsza beta nadchodzącego wydania 3.0. Skoro w AUR (w oficjalnym repozytorium jest wersja 2.3.11) nie ma ani wersji budowanej z git, ani opartej o KF5, to pora się z Wami podzielić skryptami umożliwiającymi budowę tej aplikacji. Przedstawiony PKGBUILD umożliwia budowę wersji master z GIT. W dniu publikacji odpowiada ona 3.0 Beta 1. Jeśli ktoś chciałby budować aplikację zawsze w wersji Beta 1 (oczywiście dopóki nie pojawi się Beta 2 itd.), to proszę dać znać w komentarzach.
PKGBUILD:
# Maintainer: pavbaranov
pkgname=tellico-git
pkgver=2.9.91+git.r2273.09776a5
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=('kdelibs4support' 'khtml' 'exempi' 'libdiscid' 'libcsv' 'btparse' 'yaz' 'qimageblitz-qt5-svn' 'exempi' 'knewstuff' 'hicolor-icon-theme' 'kfilemetadata' 'python2')
makedepends=("git" "extra-cmake-modules" "kdoctools" "automoc4")
provides=('tellico')
conflicts=('tellico' 'tellico-git' 'tellico-frameworks-git')
install=${pkgname}.install
source=("git://anongit.kde.org/tellico.git")
_gitname="tellico"
sha256sums=('SKIP')
pkgver() {
  cd tellico
  _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=$KF5_PREFIX \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DLIB_INSTALL_DIR=lib \
-DBUILD_TESTING=OFF \
-DQT_PLUGIN_INSTALL_DIR=lib/qt/plugins 
  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-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
}