Arch-Like - nietypowy blog, nietypowe forum.

Projekty/Wsparcie => POLAUR => Wątek zaczęty przez: pavbaranov w Kwiecień 09, 2015, 11:38:16

Tytuł: DigiKam 4.9 - ostatnia wersja oparta o KDE4
Wiadomość wysłana przez: pavbaranov w Kwiecień 09, 2015, 11:38:16
Właśnie wyszła wersja 4.9, ostatnie z wydań opartych o biblioteki KDE4. Następne wydanie - 5.0 - będzie już oparte o KF5 i Qt5. Jeśli zatem ktoś, z jakichś powodów chciałby zachować KDE4 i "uchronić się" od aplikacji opartych o KF5, to winien digikam i libkipi dodać do IgnorePkg w /etc/pacman.conf, a najlepiej zmienić dystrybucję na jakąś archaiczną.
Niestety opiekun digikama w Archu śpi i w repozytoriach w dalszym ciągu jest przedostatnia wersja 4.7. Szkoda, bowiem ostatnie 2 wydania przyniosły sporo poprawek (praktycznie nie przyniosły nowych funkcji).
DigiKam w wersji 4.9 powinien dać się skompilować z następującym PKGBUILDem:
# $Id: PKGBUILD 231367 2015-02-13 12:05:07Z ronald $
# Maintainer: Ronald van Haren <ronald@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>

pkgbase=digikam
pkgname=('digikam' 'kipi-plugins' 'libkgeomap' 'libkvkontakte' 'libmediawiki')
pkgver=4.9.0
pkgrel=1
pkgdesc="Digital photo management application for KDE"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.digikam.org/"
makedepends=('kdepimlibs' 'libkexiv2' 'libkdcraw' 'libkipi' 'libksane' 'liblqr'
             'kdeedu-marble' 'opencv' 'boost' 'libgpod' 'qjson' 'hugin' 'libgphoto2'
             'cmake' 'automoc4' 'doxygen' 'lensfun' 'qt-gstreamer' 'imagemagick' 'eigen'
     'libbaloo4' 'libpgf' 'libusb-compat' 'libkface')
source=("http://download.kde.org/stable/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
sha1sums=('d44ab133f152b84599507dd6a02aef4b22033dd4')

build() {
  mkdir build
  cd build
  cmake ../${pkgname}-${pkgver} \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_SKIP_RPATH=ON \
    -DBUILD_tests=OFF \
    -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=OFF \
    -DDIGIKAMSC_USE_PRIVATE_SHAREDLIBS=ON \
    -DDIGIKAMSC_COMPILE_LIBKGEOMAP=ON \
    -DDIGIKAMSC_COMPILE_LIBKVKONTAKTE=ON \
    -DDIGIKAMSC_COMPILE_LIBMEDIAWIKI=ON
  make
}

package_digikam() {
  pkgdesc="Digital photo management application for KDE"
  depends=('kdebase-runtime' 'kdepimlibs' 'libgphoto2' 'opencv' 'liblqr'
           'libkipi' 'libkexiv2' 'libkdcraw' 'libkface' 'libkgeomap' 'lensfun'
   'libpgf' 'libbaloo4')
  optdepends=('kipi-plugins: more tools and plugins' 'kdebase-workspace: Theme configuration dialog')
  install=digikam.install

  cd build/core
  make DESTDIR="${pkgdir}" install
  cd ../../build/doc
  make DESTDIR="${pkgdir}" install
  cd ../../build/po
  make DESTDIR="${pkgdir}" install
}

package_libkgeomap() {
  pkgdesc="A wrapper around world map components for browsing and arranging photos on a map"
  depends=('kdelibs' 'kdeedu-marble')

  cd build/extra/libkgeomap
  make DESTDIR="${pkgdir}" install

  cd ../../../build/po
  make DESTDIR="${pkgdir}" install
}

package_libkvkontakte() {
  pkgdesc="KDE C++ library for asynchronous interaction with vkontakte.rusocial network"
  depends=('kdelibs' 'qjson')

  cd build/extra/libkvkontakte
  make DESTDIR="${pkgdir}" install
}

package_libmediawiki() {
  pkgdesc="A KDE C++ interface for MediaWiki based web service as wikipedia.org"
  depends=('kdelibs')

  cd build/extra/libmediawiki
  make DESTDIR="${pkgdir}" install
}

package_kipi-plugins() {
  pkgdesc="A collection of plugins extending the KDE graphics and image applications as digiKam"
  depends=('kdebase-runtime' 'kdepimlibs' 'libkdcraw' 'libkipi' 'libksane' 'libkexiv2')
  optdepends=('libkgeomap: Geolocalize tool'
              'libmediawiki: MediaWiki Export plugin'
              'libkvkontakte: VKontakte.ru Exporter plugin'
              'libgpod: iPodExport plugin'
              'opencv: Remove Red Eyes plugin'
              'imagemagick: Video SlideShow plugin'
              'qt-gstreamer: Video SlideShow plugin')
  options=('staticlibs')
  install=kipi-plugins.install

  cd build/extra/kipi-plugins
  make DESTDIR="${pkgdir}" install

  cd ../../../build/po
  make DESTDIR="${pkgdir}" install
}
Paczkę najłatwiej zbudować w następujący sposób:
1. Pobieramy pliki umożliwiające zbudowanie digikam:
yaourt -G digikam2. Przechodzimy do utworzonego właśnie katalogu digikam i usuwamy znajdujący się tam plik PKGBUILD:
cd digikam && rm PKGBUILD3. Kopiujemy powyżej zamieszczoną zawartość pliku PKGBUILD i umieszczamy ją w katalogu digikam pod nazwą PKGBUILD. Najłatwiej na zasadzie copy&paste do dowolnego edytora i zapisanie pliku pod ww. nazwą w ww. katalogu.
4. W zasadzie wszystko mamy teraz przygotowane zatem wydajemy polecenie:
makepkg -siktóre ściągnie zależności, o ile nie są zainstalowane w systemie, zbuduje i zainstaluje pakiet (w zasadzie to 4).

PS: Niestety nie mam możliwości przetestowania działania powyższego PKGBUILDa u siebie, albowiem mam już nowszy system, z bibliotekami, w wersjach, które kłócą się z tymi, które są potrzebne do budowy digikama w wersji 4.9. Proszę o sygnalizowanie ewentualnych błędów.
Tytuł: Odp: DigiKam 4.9 - ostatnia wersja oparta o KDE4
Wiadomość wysłana przez: sir_lucjan w Kwiecień 09, 2015, 20:48:18
Według ciut innego pliku PKGBUILD:

[lucjan@archlinux ~]$ pacman -Sl lucjan-kde4last
lucjan-kde4last digikam 4.9.0-1
lucjan-kde4last kipi-plugins 4.9.0-1
lucjan-kde4last libkgeomap 4.9.0-1
lucjan-kde4last libkvkontakte 4.9.0-1
lucjan-kde4last libmediawiki 4.9.0-1
Tytuł: Odp: DigiKam 4.9 - ostatnia wersja oparta o KDE4
Wiadomość wysłana przez: pavbaranov w Kwiecień 09, 2015, 21:52:26
Z oryginalnego PKGBUILDu usunięte zostały wpisy usuwające pliki konfliktujące z kde-l10n-*. Prawdopodobnie nie są one już potrzebne. W pierwszym poście PKGBUILD jest już zmieniony.