summaryrefslogtreecommitdiff
path: root/community/erlang/PKGBUILD
blob: dc683bf242d7c8dcf15ae8dfaa78a33f33f56b13 (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
# $Id: PKGBUILD 69792 2012-04-23 09:41:50Z ibiru $
# Maintainer: Lukas Fleischer <archlinux@cryptocrack.de>
# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Tom Burdick <thomas.burdick@wrightwoodtech.com>

pkgname=erlang
pkgver=R15B01
pkgrel=1
pkgdesc='A small concurrent functional programming language developed by Ericsson.'
arch=(i686 x86_64 mips64el)
url='http://www.erlang.org/index.html'
license=('custom')
depends=('ncurses' 'glibc')
makedepends=('java-environment' 'perl' 'openssl' 'wxgtk' 'unixodbc>=2.3.1' 'mesa')
optdepends=('wxgtk: for wx support'
            'mesa: for wx support'
            'unixodbc: database'
            'java-environment: for Java support')
options=('!makeflags')
source=("http://www.erlang.org/download/otp_src_${pkgver/./-}.tar.gz"
        "http://www.erlang.org/download/otp_doc_man_${pkgver/./-}.tar.gz")
md5sums=('f12d00f6e62b36ad027d6c0c08905fad'
         'd87412c2a1e6005bbe29dfe642a9ca20')

build() {
  cd "$srcdir/otp_src_${pkgver/./-}"

  export ERTSVERSION=$(sed -n 's/^VSN[ ]*=[ ]*\([0-9.]\)/\1/p' < erts/vsn.mk)
  export ERLINTERFACEVERSION=$(sed -n 's/^EI_VSN[ ]*=[ ]*\([0-9.]\)/\1/p' < \
    lib/erl_interface/vsn.mk)

  sed -i '/SSL_DYNAMIC_ONLY=/s:no:yes:' erts/configure

  CFLAGS="${CFLAGS} -fno-strict-aliasing" ./configure --prefix=/usr --enable-smp-support \
    --enable-threads
  make
}

package() {
  cd "$srcdir/otp_src_${pkgver/./-}"

  make INSTALL_PREFIX="$pkgdir" install

  # fix prefix
  cd "$pkgdir/usr/lib/erlang"
  sed -i "s#$pkgdir##" bin/erl bin/start "erts-${ERTSVERSION}/bin/erl" \
    "erts-${ERTSVERSION}/bin/start" releases/RELEASES

  # fix symlinks
  cd bin/
  ln -sf "../erts-${ERTSVERSION}/bin/epmd"

  cd "$pkgdir/usr/bin"
  for file in *; do
    ln -sfv "../lib/erlang/bin/$file"
  done

  ln -s "../lib/erlang/lib/erl_interface-${ERLINTERFACEVERSION}/bin/erl_call" \
    "$pkgdir/usr/bin/erl_call"

  # install documentation
  install -d "$pkgdir/usr/share/doc/erlang"
  install -Dm0644 "$srcdir"/{COPYRIGHT,PR.template,README} "$pkgdir/usr/share/doc/erlang"

  # install man pages
  cp -r "$srcdir/man" "$pkgdir/usr/lib/erlang"

  # install license
  install -Dm644 "$srcdir/otp_src_${pkgver/./-}/EPLICENCE" \
    "$pkgdir/usr/share/licenses/$pkgname/EPLICENCE"
}