poniedziałek, 21 grudnia 2015

Nomacs wersja rozwojowa 3.0 oparta o Qt5

Qt4 odchodzi powolutku w historię. Większość aktywnie rozwijanych programów coraz częściej opiera się o Qt5. Używanie programów opartych o Qt5 w środowiskach takich jak Plasma 5, czy LXQt ma to jeszcze tę zaletę, że niepotrzebnie nie obciąża zasobów systemowych komputera innymi, oprócz najczęściej i tak już wprowadzonych do pamięci bibliotekami. Generalnie też lepiej się integruje jeśli chodzi o wygląd.
Przeglądarka (?) graficzna [b]nomacs[/b] w Archu dostępna jest w swojej stabilnej wersji 2.4.6. Niemniej jednak od jakiegoś czasu trwają prace związane z przeniesieniem jej do Qt5. W GIT dostępna jest wersja rozwojowa 3.0. Postanowiłem przedstawić Wam możliwość jej instalacji w systemie. Oczywiście Arch Linux i pochodne (w tym Manjaro i Netrunner Rolling). Przyznam, że PKGBUILD wymaga jeszcze dopracowania, niemniej jednak aplikacja działa. Spodziewajcie się zatem erraty, która przede wszystkim bardziej prawidłowo określi numer wersji.
Obecnie proponowane skrypty budują wersję z branch 3.0.
Nie będę powtarzać jak zbudować paczkę. Wszystko jest świetnie opisane w wiki Archa. Podaję jedynie kod niezbędnych plików.
Przy budowie skryptów wykorzystałem oryginalne prace spepsa
PKGBUILD
# Maintainer: pavbaranov

pkgname=nomacs-git
_pkgname=nomacs
pkgver=r2241.1a0c4b9
pkgrel=1
pkgdesc="A Qt image viewer"
arch=(i686 x86_64)
url="http://www.nomacs.org/"
license=('GPL3')
depends=('qt5-base' 'libwebp' 'exiv2' 'libraw' 'libtiff' 'opencv')
makedepends=('cmake')
conflicts=('nomacs')
provides=('nomacs')
install="$pkgname.install"
source=("git+https://github.com/nomacs/nomacs#branch=3.0")
md5sums=('SKIP')

_pkgver() {
  cd nomacs
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
  cd $_pkgname
  [ -d b ] || mkdir build
}

build() {
  cd $_pkgname/build
  cmake ../ImageLounge -DCMAKE_INSTALL_PREFIX=/usr
  make
}

package() {
  cd $_pkgname/build
  make DESTDIR="$pkgdir/" install
}

nomacs-git.install
post_install() {
  update-desktop-database -q
}

post_upgrade() {
  post_install
}

post_remove() {
  post_install
}