summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 8b3bf887227553124dfc9dec4599517af1454c8a (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
# Maintainer:  Christoph Mohr <christoph.mohr@gmail.com>
# Contributor:  Giovanni 'ItachiSan' Santini <giovannisantini93@yahoo.it>
# Contributor: Filipe LaĆ­ns (FFY00) <lains@archlinux.org>
# Contributor: Pieter Goetschalckx <3.14.e.ter <at> gmail <dot> com>

pkgname=ferdi-git
_pkgver=5.4.0
pkgver=${_pkgver//-/_}
pkgrel=1
pkgdesc='Ferdi is a messaging browser that allows you to combine your favorite messaging services into one application.'
arch=(x86_64 i686)
url='https://getferdi.com/'
license=(Apache)
conflicts=('ferdi')
depends=(electron)
makedepends=(expac git npm python2)
source=('git://github.com/getferdi/ferdi.git'
        'git://github.com/getferdi/recipes.git'
        'ferdi.desktop'
        'ferdi.sh')
sha512sums=('SKIP'
            'SKIP'
            '501ff4d6c653823bf3321500bf7b1a4e3fa412e30c9884f6860656f816ca90c3f37610435d591c4b9444b491e7f8fe0c0dcad33be97c345ffccf46fd30e1eb65'
            '6313c50e4226a144303c5a0055f08312009ea14e45de227c163aaeb528a49c796704bbd3b8cfa2cce49840e54dbd5e25cf8a241e619f2bf9b1a4ff79b80b78eb')

prepare() {
  # Prepare Python 2 for later
  mkdir python2_path
  ln -s `which python2` python2_path/python

  # Small patching
  cd ferdi/recipes
  git submodule init
  git config submodule.recipes.url $srcdir/recipes
  
  git submodule update --init --recursive

  cd ..

  # Prevent ferdi from being launched in dev mode
  sed -i "s|export const isDevMode = .*|export const isDevMode = false;|g" \
    src/environment.js
  sed -i "s|import isDevMode from 'electron-is-dev'|export const isDevMode = false|g" \
    src/index.js

  # Adjust node-sass version to avoid build issues
  npm install "node-sass@4.12.0"
}

build() {
  cd ferdi

  # Better configuration for npm cache and calling installed binaries
  export npm_config_cache="$srcdir"/npm_cache
  export PATH="$srcdir/ferdi/node_modules/.bin:$srcdir/python2_path:$PATH"

  npm install lerna
  lerna bootstrap

  gulp build
  electron-builder --linux dir
}

package() {
  cd ferdi
  # Install the .asar files
  install -Dm 755 out/linux-unpacked/resources/app.asar "$pkgdir"/usr/lib/ferdi/resources/app.asar
  install -dm755 "$pkgdir"/usr/lib/ferdi/resources/app.asar.unpacked/recipes/
  cp -dr --no-preserve=ownership "$srcdir"/recipes "$pkgdir"/usr/lib/ferdi/resources/app.asar.unpacked/
  chmod -R 755 "$pkgdir"/usr/lib/ferdi/resources/app.asar.unpacked/

  # Install icon
  install -Dm 644 "$srcdir"/ferdi.desktop "$pkgdir"/usr/share/applications/ferdi.desktop
  install -Dm 644 build-helpers/images/icon.png "$pkgdir"/usr/share/icons/ferdi.png

  # Install run script
  install -Dm 755 "$srcdir"/ferdi.sh "$pkgdir"/usr/bin/ferdi
}