środa, 16 grudnia 2015

Otter-Browser wersje tygodniowe dla Archa; wersja #102

Przez jakiś czas zamieszczałem na Arch-Like tygodniowe migawki nowej przeglądarki internetowej otter-browser, umożliwiające budowę pakietów dla Arch Linuksa, a także dystrybucji takich jak Antergos, Bridge Linux itp. Skrypty powinny budować również prawidłowe paczki dla systemu Manjaro.
Sam Otter-Browser jest dalekim spadkobiercą Opery 12.x. Idea pozostaje podobna, zmianie uległ framework, na którym jest budowana (jest to Qt5) oraz silnik w oparciu, o który działa. Co do zasady, Otter-Browser został tak zaprojektowany, że użyć można dowolnego silnika. Obecnie jest możliwe jej budowa zarówno w wersji opartej o QtWebKit, jak i o QtWebEngine. Ten pierwszy silnik od dłuższego czasu nie jest aktywnie rozwijany i w Qt zastąpić ma drugi, który niestety również nie jest jeszcze w 100% gotowy. Niemniej jednak oba działają, choć prawdopodobnie nie jest to jeszcze ostatnie słowo ich twórców, zwłaszcza jeśli chodzi o QtWebEngine.
Przedstawione niżej skrypty umożliwiają budowę Otter-Browsera działającego zarówno w oparciu o QtWebKit, jak i QtWebEngine.
W celu budowy paczki i instalacji aplikacji w systemie musimy skopiować kod wybranego przez siebie PKGBUILDu oraz plik otter-browser.install i umieścić go w jakimś katalogu. Następnie w tym katalogu należy wydać polecenie:
makepkg -sirc
Oczywiście samo makepkg również wystarczy, ale obecnie paczka buduje się prawidłowo zatem spokojnie możemy usunąć pozostałości po jej budowie (-rc), jak i ją zainstalować z poziomu makepkg (-i); opcja -s służy pobraniu zależności, jeśli nie zostaną one znalezione w systemie.

Plik otter-browser.install jest wspólny dla obu PKGBUILDów:
post_install() {
  update-desktop-database -q
  update-mime-database usr/share/mime > /dev/null
  gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
}
post_upgrade() {
  post_install
}
post_remove() {
  post_install
}
PKGBUILD dla wersji opartej o QtWebKit:
# Maintainer: boenki <boenki at gmx dot de>
# Maintainer: pavbaranov
# Contributor: sir_lucjan
# Full pkgname # Do no edit below this line unless you know what you're doing
_pkgver=0.9.09
_weekver=102
_pkgname=otter-browser-webkit-weekly
################################################
pkgname=$_pkgname
__pkgname=otter-browser
pkgver=$_pkgver.$_weekver
pkgrel=1
pkgdesc="Browser aiming to recreate classic Opera (12.x) UI using Qt5 - qtwebkit version."
arch=('i686' 'x86_64')
url="http://$pkgname.org"
license=('GPL3')
depends=('qt5-webkit' 'qt5-script' 'qt5-multimedia' 'hicolor-icon-theme' 'desktop-file-utils')
makedepends=('cmake' 'qt5-tools')
conflicts=('otter-browser-git' 'otter-browser' 'otter-browser-0.9.*' 'otter-browser-beta*')
provides=('otter-browser*')
install=otter-browser.install
source=("http://sourceforge.net/projects/otter-browser/files/otter-browser-weekly${_weekver}/otter-browser-${_pkgver}-dev${_weekver}.tar.bz2")
md5sums=('b5d52d8b12998827cbb027977ce71840')
build() {
  cd ${__pkgname}-${_pkgver}-dev${_weekver}
  lrelease resources/translations/*.ts
  cmake -DCMAKE_INSTALL_PREFIX="/usr"
  make
}
package() {
  cd ${__pkgname}-${_pkgver}-dev${_weekver}
  make DESTDIR=$pkgdir install
}
PKGBUILD oparty o QtWebEngine:
# Maintainer: boenki <boenki at gmx dot de>
# Maintainer: pavbaranov
# Contributor: sir_lucjan
# Full pkgname # Do no edit below this line unless you know what you're doing
_pkgver=0.9.09
_weekver=102
_pkgname=otter-browser-webengine-weekly
################################################
pkgname=$_pkgname
__pkgname=otter-browser
pkgver=$_pkgver.$_weekver
weekver=$_weekver
pkgrel=1
pkgdesc="Browser aiming to recreate classic Opera (12.x) UI using Qt5 - qtwebengine version."
arch=('i686' 'x86_64')
url="http://$pkgname.org"
license=('GPL3')
depends=('qt5-webengine>=5.5' 'qt5-script>=5.5' 'qt5-multimedia>=5.5' 'hicolor-icon-theme' 'desktop-file-utils')
makedepends=('cmake' 'qt5-tools>=5.5')
conflicts=('otter-browser-git' 'otter-browser' 'otter-browser*' 'otter-browser-beta*')
install=otter.install
source=("http://sourceforge.net/projects/otter-browser/files/otter-browser-weekly${_weekver}/otter-browser-${_pkgver}-dev${_weekver}.tar.bz2")
md5sums=('b5d52d8b12998827cbb027977ce71840')
build() {
  cd ${__pkgname}-${_pkgver}-dev${_weekver}
  lrelease resources/translations/*.ts
  cmake -DCMAKE_INSTALL_PREFIX="/usr" \
-DEnableQtwebengine=ON
  make
}
package() {
  cd ${__pkgname}-${_pkgver}-dev${_weekver}
  make DESTDIR=$pkgdir install
}
W przypadku dokonania tego drugiego wyboru musimy nadto poinformować przeglądarkę, że chcemy używać QtWebEngine jako jej silnika (w przeciwnym przypadku będzie ona pracować na domyślnym QtWebKit). W tym celu po uruchomieniu przeglądarki wpisujemy w pasek adresu:
about:config
a następnie albo odszukujemy pozycję Backends a w niej Web zmieniamy Wartość z qtwebkit na qtwebengine oraz zatwierdzamy wprowadzone zmiany.