summaryrefslogtreecommitdiff
path: root/pcr/octopi/PKGBUILD
blob: a2b1bb8d78f81f836f2926cc3973c764eef7c67a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Maintainer (Arch): kikadf <kikadf.01@gmail.com>
# Contributor (Arch): Jameson Pugh <imntreal@gmail.com>
# Maintainer (Hyperbola): André Silva <emulatorman@hyperbola.info>
# Contributor (Hyperbola): Márcio Silva <coadde@hyperbola.info>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>

# Default notifier is use simply qt5
# To use with Knotifications support, uncomment line below
#USE_NOTIFIER='1'

# Default source is the latest release tarball
# To use a specified git version, uncomment line below and set to the git commit hash
#USE_SOURCE='251822c88747c216c6ebb9a342a80097ee744117'

# Default build with qtermwidget support
# To disable, uncomment line below
#DISABLE_QTERMWIDGET='1'


pkgname=octopi
pkgver=0.9.0
pkgrel=1.parabola2
pkgdesc="This is Octopi, a powerful Pacman frontend using Qt libs, without nonfree pacaur, pikaur, trizen, and yaourt recommendation"
url="http://octopiproject.wordpress.com"
arch=('i686' 'x86_64' 'armv7h')
license=('GPL2')
depends=('qtermwidget' 'pkgfile' 'alpm_octopi_utils' 'qt5-declarative' 'pacman-contrib')
[[ ${USE_NOTIFIER} == "1" ]] && depends+=('knotifications')
[[ ${DISABLE_QTERMWIDGET} == "1" ]] && unset depends[0]
makedepends=('git')
optdepends=('pacmanlogviewer: to view pacman log files'
            'gksu: for XFCE, Gnome, LXDE, Cinnamon'
            'lxqt-sudo: for LXQT')
[[ ${USE_NOTIFIER} == "1" ]] && optdepends+=('kdesu: for KDE')
provides=('octopi' 'octopi-notifier' 'octopi-repoeditor' 'octopi-cachecleaner'
	  'octopi-pacmanhelper' 'octopi-kde-git')
conflicts=('octopi' 'octopi-notifier' 'octopi-repoeditor' 'octopi-cachecleaner'
	   'octopi-pacmanhelper' 'octopi-git' 'octopi-kde-git')
source=('octopi-repoeditor.desktop'
        "https://code.chakralinux.org/packages/desktop/raw/master/octopi/0001-remove-qtermwidget.patch"
        "icons::git+https://gitlab.com/kikadf/octopicons.git")
sha256sums=('131f16745df685430db55e54ede6da66aed9b02ca00d6d873a002b2a3e1c90ef'
            'bdf668ae3bcbac4bf908d96ce4115bac77bf8d4e58796d12fc2cd4e8ee8294e7'
            'SKIP')
if [ "${USE_SOURCE}" = "" ]; then
  source+=("https://github.com/aarnt/${pkgname}/archive/v${pkgver}.tar.gz")
  sha256sums+=('f6c7fe6bbcc26a79b1e455a42a8dc906bee4edd1b386b4f76178f006f4d7f822')
  _cd_path="${pkgname}-${pkgver}"
else
  source+=("${pkgname}-${USE_SOURCE}.tar.gz::https://github.com/aarnt/octopi/archive/${USE_SOURCE}.tar.gz")
  sha256sums+=('SKIP')
  _cd_path="${pkgname}-${USE_SOURCE}"
fi


prepare() {
  cd ${_cd_path}

  # disable lxqt qtermwidget
  [[ ${DISABLE_QTERMWIDGET} == "1" ]] && patch -Np1 -i ../0001-remove-qtermwidget.patch && rm -rfv src/termwidget.{cpp,h}

  # enable the kstatus switch to build with Plasma/knotifications support
  [[ ${USE_NOTIFIER} == "1" ]] && sed -e "s|DEFINES += ALPM_BACKEND #KSTATUS|DEFINES += ALPM_BACKEND KSTATUS|" -i notifier/octopi-notifier/octopi-notifier.pro

  # set version
  [[ ${USE_SOURCE} != "" ]] && sed -e "s|${pkgver}|${pkgver} (${USE_SOURCE})|g" -i src/strconstants.cpp

  cp resources/images/octopi_green.png resources/images/octopi.png
}

build() {
  cd ${_cd_path}
  [[ ${DISABLE_QTERMWIDGET} == "1" ]] && export QTERMWIDGET=off
  msg "Building octopi..."
  qmake-qt5 octopi.pro
  make

  cd notifier/pacmanhelper
  msg "Building pacmanhelper..."
  qmake-qt5 pacmanhelper.pro
  make

  cd ../octopi-notifier
  msg "Building octopi-notifier..."
  qmake-qt5 octopi-notifier.pro
  make

  cd ../../repoeditor
  msg "Building octopi-repoeditor..."
  qmake-qt5 octopi-repoeditor.pro
  make

  cd ../cachecleaner
  msg "Building octopi-cachecleaner..."
  qmake-qt5 octopi-cachecleaner.pro
  make
}

package() {
  cd ${_cd_path}
  make INSTALL_ROOT=${pkgdir} install

  cd notifier/pacmanhelper
  make INSTALL_ROOT=${pkgdir} install
  cd ../..

  cd notifier/octopi-notifier
  make INSTALL_ROOT=${pkgdir} install
  cd ../..

  cd repoeditor
  make INSTALL_ROOT=${pkgdir} install
  install -D -m644 "${srcdir}/octopi-repoeditor.desktop" "${pkgdir}/usr/share/applications/octopi-repoeditor.desktop"
  cd ..

  cd cachecleaner
  make INSTALL_ROOT=${pkgdir} install
  cd ..

  #speedup files
  install -D -m755 "speedup/speedup-octopi.sh" "${pkgdir}/usr/bin/speedup-octopi.sh"
  install -D -m644 "speedup/octopi.service" "${pkgdir}/usr/lib/systemd/system/octopi.service"

  # Add some icons to customize notifier
  mkdir -p "${pkgdir}/usr/share/octopi/icons/"
  cp ../icons/*.png "${pkgdir}/usr/share/octopi/icons/"
}