summaryrefslogtreecommitdiff
path: root/community/dart/PKGBUILD
blob: 7eb2956042002f5d11985af3fa498df73cd79f10 (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
# $Id: PKGBUILD 100438 2013-11-04 12:04:12Z arodseth $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: T. Jameson Little <t.jameson.little at gmail dot com>
# Contributor: Usagi Ito <usagi@WonderRabbitProject.net>
# Contributor: siasia <http://pastebin.com/qsBEmNCw>
# Contributor: Julien Nicoulaud <julien.nicoulaud@gmail.com>

pkgname=dart
pkgver=0.8.7.0
pkgrel=2
pkgdesc='The dart programming language (includes SDK and editor)'
arch=('x86_64' 'i686')
url='http://www.dartlang.org/'
license=('BSD' 'EPL')
depends=('java-runtime' 'gtk2' 'desktop-file-utils' 'gconf')
makedepends=('gendesk' 'setconf')
backup=("opt/$pkgname/DartEditor.ini")
options=('!strip')

if [[ $CARCH == x86_64 ]]; then
  source=("https://storage.googleapis.com/dart-editor-archive-integration/latest/darteditor-linux-64.zip"
          'darteditor.png::https://www.dartlang.org/tools/images/dart-logo-48.png')
  sha256sums=('230d53fc95f873e4d2e7cd2377706693196dbfc154c80493d57cf409d2908d72'
              'd90f14b0cfa2dd36502ed5e5854466d54c8d0cf0ac9a5d9ec823274c1a33a00e')
else
  source=("https://storage.googleapis.com/dart-editor-archive-integration/latest/darteditor-linux-32.zip"
          'darteditor.png::https://www.dartlang.org/tools/images/dart-logo-48.png')
  sha256sums=('4752ad56ca58611cf67474d3ebb979a2e5f26e477a3c508cf5847c7207e837a1'
              'd90f14b0cfa2dd36502ed5e5854466d54c8d0cf0ac9a5d9ec823274c1a33a00e')
fi

prepare() {
  # Fix permissions
  find "$pkgname" -type d -exec chmod 0755 '{}' + \
    -or -type f -exec chmod 0644 '{}' +
  chmod +x "$pkgname/DartEditor"
  chmod +x "$pkgname/dart-sdk/bin/"*

  # Remove Dartium (takes 309,31 MB, available in the dartium-bin package on AUR)
  rm -r "$pkgname/chromium"

  # Prepare a desktop shortcut
  gendesk -n -f --pkgname 'darteditor' --name 'Dart Editor' \
    --exec 'darteditor %U' --pkgdesc 'Editor for the dart programming language'

  # Fix paths
  cd "$pkgname/dart-sdk/bin"
  setconf dart2js BIN_DIR "/opt/$pkgname/dart-sdk/bin"
  setconf dart2js PROG_NAME "/opt/$pkgname/dart-sdk/bin/dart2js"
  setconf dartanalyzer SCRIPT_DIR "/opt/$pkgname/dart-sdk/bin"
  setconf dartdoc BIN_DIR "/opt/$pkgname/dart-sdk/bin"
  setconf pub BIN_DIR "/opt/$pkgname/dart-sdk/bin"
  setconf pub SDK_DIR "/opt/$pkgname/dart-sdk"

  # Fix missing "fi" and missing newline
  echo -e "fi\n" >> pub
}

package() {
  # Create directories
  install -d "$pkgdir"{"/opt/$pkgname",/usr/{bin,"share/doc/$pkgname"}}

  # Package the files
  cp -a dart/* "$pkgdir/opt/$pkgname/"

  # Set up symbolic links for the executables
  for f in dart dart2js dartanalyzer dartdoc pub; do
    ln -s "/opt/$pkgname/dart-sdk/bin/$f" "$pkgdir/usr/bin/$f"
  done
  ln -s "/opt/$pkgname/DartEditor" "$pkgdir/usr/bin/darteditor"

  # Package samples and documentation
  for f in samples about.html about_files; do
    echo mv "$pkgdir/opt/$pkgname/$f" "$pkgdir/usr/share/doc/$pkgname/"
  done

  # Set up a symbolic link for the configuration
  echo ln -s "/opt/$pkgname/DartEditor.ini" "$pkgdir/etc/darteditor.ini"

  # Package desktop shortcut and icon
  install -Dm644 'darteditor.desktop' "$pkgdir/usr/share/applications/$pkgname.desktop"
  install -Dm644 'darteditor.png' "$pkgdir/usr/share/pixmaps/darteditor.png"
}

# vim:set ts=2 sw=2 et: