From 3de59a83dafe8a1b102bf30e3c1256367a30709c Mon Sep 17 00:00:00 2001 From: Jiri Danek Date: Fri, 3 Jun 2016 10:10:13 +0200 Subject: [PATCH] dart: 0.4 -> 1.16.1 --- .../development/interpreters/dart/default.nix | 60 +++++++++++-------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix index dd0d0e94482..d32f415732b 100644 --- a/pkgs/development/interpreters/dart/default.nix +++ b/pkgs/development/interpreters/dart/default.nix @@ -1,10 +1,27 @@ -{ stdenv, fetchurl }: - -assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; +{ stdenv, fetchurl, unzip }: +let + version = "1.16.1"; +in stdenv.mkDerivation { - name = "dart-0.4"; - + name = "dart-${version}"; + + nativeBuildInputs = [ + unzip + ]; + + src = + if stdenv.system == "x86_64-linux" then + fetchurl { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip"; + sha256 = "01cbnc8hd2wwprmivppmzvld9ps644k16wpgqv31h1596l5p82n2"; + } + else + fetchurl { + url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip"; + sha256 = "0jfwzc3jbk4n5j9ka59s9bkb25l5g85fl1nf676mvj36swcfykx3"; + }; + installPhase = '' mkdir -p $out cp -R * $out/ @@ -12,28 +29,21 @@ stdenv.mkDerivation { patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath $libPath \ $out/bin/dart - - # Hack around weird dart2js resolving bug - mv $out/bin/dart2js $out/bin/.dart2js - echo "#!/bin/sh" > $out/bin/dart2js - echo "$out/bin/.dart2js \$*" >> $out/bin/dart2js - chmod +x $out/bin/dart2js ''; - - - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://download.zef.s3.amazonaws.com/dartsdk-m4-linux-64.tar.gz; - sha256 = "1riwxxczskfsaax7n03m7isnbxf3walky0cac1w8j5apr1xvg5ma"; - } - else - fetchurl { - url = http://download.zef.s3.amazonaws.com/dartsdk-m4-linux-32.tar.gz; - sha256 = "00935c4vxfj2h3x354g75qdazswwissbwc7kj5k05l1m3lizikf6"; - }; - + libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]; dontStrip = true; + + meta = { + platforms = [ "i686-linux" "x86_64-linux" ]; + homepage = "https://www.dartlang.org/"; + description = "Scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps"; + longDescription = '' + Dart is a class-based, single inheritance, object-oriented language + with C-style syntax. It offers compilation to JavaScript, interfaces, + mixins, abstract classes, reified generics, and optional typing. + ''; + license = stdenv.lib.licenses.bsd3; + }; }