summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: b71353b5e2a433fb204264caf4a095b9c7b0d832 (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
# Maintainer: Stephen Martin <stephensrmmartin at gmail dot com>
pkgname=shiny-server-git
pkgver=1.5.6.875.r37.g66e45ab
pkgrel=1
epoch=1
pkgdesc="Open-source version of the shiny web development framework server"
arch=('i686' 'x86_64')
url="http://www.rstudio.com/shiny/server/install-opensource"
license=('AGPL')
depends=('r' 'wget')
makedepends=('git' 'python2' 'cmake' 'r')
backup=('etc/shiny-server/shiny-server.conf')
install='accounts.install'
source=('shiny-server::git+https://github.com/rstudio/shiny-server.git'
        'shiny-server.service')
sha256sums=('SKIP'
            '8486c5e5d2c8362daf2c6826ea702e3f49dd6ee64c30ca79bdf2f4edbe0d2744')
_gitroot=https://github.com/rstudio/shiny-server.git
_gitname=shiny-server
 
pkgver(){
  cd "$srcdir/$_gitname"
  git describe --tags --long | sed -E 's/v//;s/([^-]*-g)/r\1/;s/-/./g'
}
 
prepare(){
  # Vigorously force the use of python2
  cd $srcdir
  find -type f -exec sed \
        -e 's_^#!/usr/bin/env python$_&2_' \
            -e 's_^\(#!/usr/bin/python2\).[45]$_\1_' \
                -e 's_^#!/usr/bin/python$_&2_' \
                    -e "s_'python'_'python2'_" -i {} \;
  }
 
build() {
  cd "$srcdir/$_gitname"
  mkdir tmp
  cd tmp
  # More python2 hackery
  PATH=$PWD/../bin/:$PATH
  ln -s `which python2` ../bin/python
  export _PYTHON=`which python2`
  export PYTHON=`which python2`
 
  # Node fails with gcc7
  #export CC=/bin/gcc-6
  #export CXX=/bin/g++-6
 
  # CMake
  cmake -DCMAKE_INSTALL_PREFIX=/usr -DPYTHON="$_PYTHON" ../
  make
 
  mkdir ../build
  (cd .. && external/node/install-node.sh)
  (cd .. && bin/npm --python="$PYTHON" install)
  (cd .. && bin/node ext/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js --python="$PYTHON" rebuild)
}
 
package() {
  cd "$srcdir/$_gitname/tmp"
  make DESTDIR="$pkgdir/" install
  mkdir -p $pkgdir/usr/bin/
  mkdir -p $pkgdir/etc/shiny-server/
  ln -s /usr/shiny-server/bin/shiny-server $pkgdir/usr/bin/shiny-server
  install -m 644 -D $srcdir/shiny-server.service $pkgdir/usr/lib/systemd/system/shiny-server.service
  install -m 644 -D $srcdir/$_gitname/config/default.config $pkgdir/etc/shiny-server/shiny-server.conf
}