# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# 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>
# Contributor: Jacob Bang <julemand101gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - added source and sha512 for ARMv7h, AArch64 builds of Dart
#  - configure paths and install symlinks for binaries shipped for arm

buildarch=12

pkgname=dart
pkgver=2.13.3
pkgrel=1
pkgdesc='The dart programming language SDK'
arch=('x86_64' 'armv7h' 'aarch64')
url='https://www.dartlang.org/'
depends=('bash')
license=('BSD')
makedepends=('setconf')
options=('!strip')
source_x86_64+=("$pkgname-$pkgver-64.zip::https://storage.googleapis.com/dart-archive/channels/stable/release/$pkgver/sdk/dartsdk-linux-x64-release.zip")
source_armv7h+=("$pkgname-$pkgver-arm.zip::https://storage.googleapis.com/dart-archive/channels/stable/release/$pkgver/sdk/dartsdk-linux-arm-release.zip")
source_aarch64+=("$pkgname-$pkgver-arm64.zip::https://storage.googleapis.com/dart-archive/channels/stable/release/$pkgver/sdk/dartsdk-linux-arm64-release.zip")
sha512sums_x86_64=('dba537977ad740ac537f105c453f6f7691f33ed8ca1fda10d7939cfacab4b64f3a46c14756e5c160ad78c3610b5f99ef04b2ab87f9b119d3f047a0175ee0aec0')
sha512sums_armv7h=('71017ba5f9e818230cae0909c614d31695ac460cf499eb4c2ddd17b84e2c8ed4f9257f920a469ba6c8c51e5a783194cf598acacd92fcbdefb7f10a6cb1aa7dbe')
sha512sums_aarch64=('5e4d2a0083e6296cd9c1b2bcf0dc489954abab5aa51c01c448e661aca1843b8bae80b0145da747d241af8a1a32a14e4a253c805bcb6818d166cb793c7abbd259')

prepare() {
  # Fix permissions
  find "$pkgname-sdk" -type d -exec chmod a+rx '{}' + \
    -or -type f -exec chmod a+r '{}' +

  cd "$pkgname-sdk/bin"

  # Configure paths
  for _f in dartanalyzer pub dartfmt dartdoc; do
    setconf $_f BIN_DIR "/opt/$pkgname-sdk/bin"
    setconf $_f PROG_NAME "/opt/$pkgname-sdk/bin/$_f"
    setconf $_f SDK_DIR "/opt/$pkgname-sdk/"
  done

  # Extract license (AUTHORS and LICENSE files are missing)
  head -n5 "../include/dart_api.h" > ../../LICENSE
}

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

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

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

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

  # BSD License
  install -Dm644 LICENSE \
    "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

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