# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Thayne McCombs <astrothayne@gmail.com>

pkgname=dart-sass
pkgver=1.94.0
pkgrel=1
pkgdesc='Sass makes CSS fun again'
arch=('x86_64' 'aarch64')
url='http://sass-lang.com/'
license=('MIT')
depends=('glibc')
makedepends=('git' 'dart' 'buf')
options=('!strip')
provides=('sass')
conflicts=('ruby-sass')
_sass_version=3.2.0
source=(
  "$pkgname::git+https://github.com/sass/dart-sass.git#tag=$pkgver"
  "github.com-sass-sass::git+https://github.com/sass/sass.git#tag=embedded-protocol-$_sass_version"
)
sha512sums=('41a85ceff5bc37e000348b3226f9cc5570b96f673f1f6c52d5f187861356f34f0ffa2f2fad67b637c4540f3ef52674545c9b87c4c4bc2e78dca3a30ecb00c34f'
            '59f44a01c64abb47ee60133650ec0abb943f82461dd472a2e8f50cb32b54429487f20455b4f77e5e3475c2ddac2b2d3dbc8f5987ccdfdf6648be429215fc5867')
b2sums=('9f6f5c7c598565a8886abf3ea15ac927625647e86c2d846a0cea530a4ee1870c90c4414c615586638632abd54724ceab416fd11571c1e12d7def45c302f656d8'
        'f6fd79b9da32ab7c350689c5bea32b26919fff46adb8a685a7b1f2683d986e7b738da099c7d86b87ffa3fb59a21cc521d38b26cd1e37ba1fce0a3a11a91c0810')

prepare() {
  cd "$pkgname"

  mkdir -p build
  ln -sf "$srcdir/github.com-sass-sass" build/language

  # disable analytics
  dart --disable-analytics

  # download dependencies
  dart pub get
}

build() {
  cd "$pkgname"

  UPDATE_SASS_PROTOCOL=false dart run grinder protobuf
  dart compile exe \
    -Dversion=$pkgver \
    -Dprotocol-version=$(cat build/language/spec/EMBEDDED_PROTOCOL_VERSION) \
    -o sass \
    bin/sass.dart
}

package() {
  cd "$pkgname"

  # binary
  install -vDm755 -t "$pkgdir/usr/bin" sass

  # embedded-protocol protobuf file
  install -vDm644 -t "$pkgdir/usr/share/$pkgname" build/language/spec/embedded_sass.proto

  # license
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
