FS#43008 - [dart] dartfmt is broken

Attached to Project: Community Packages
Opened by Alex (sailerboy) - Thursday, 04 December 2014, 21:12 GMT
Last edited by Felix Yan (felixonmars) - Friday, 05 December 2014, 02:39 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Alexander F. Rødseth (xyproto)
Felix Yan (felixonmars)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
When running `dartfmt`, the error `/usr/bin/dartfmt: line 51: syntax error: unexpected end of file` occurs

Redownloading the package shows that dartfmt appears to be incomplete:

```
#!/bin/bash
# Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Run dartfmt.dart on the Dart VM. This script assumes the Dart SDK's directory
# structure.

function follow_links() {
file="$1"
while [ -h "$file" ]; do
# On Mac OS, readlink -f doesn't work.
file="$(readlink "$file")"
done
echo "$file"
}

# Unlike $0, $BASH_SOURCE points to the absolute path of this file.
PROG_NAME="$(follow_links "$BASH_SOURCE")"

# Handle the case where dart-sdk/bin has been symlinked to.
BIN_DIR=/opt/dart-sdk/bin

SDK_DIR=/opt/dart-sdk/

SNAPSHOT="$BIN_DIR/snapshots/dartfmt.dart.snapshot"

if test -f "$SNAPSHOT"; then
# We are running the snapshot in the built SDK.
DART="$BIN_DIR/dart"
exec "$DART" "$SNAPSHOT" "$@"
else
# We are running dartfmt from source in the development repo.
if [ -z "$DART_CONFIGURATION" ];
then
DART_CONFIGURATION="ReleaseIA32"
fi

# TODO(pquitslund): this bit seems wrong, but was cribbed verbatim from pub
# Need to revisit and fix
if [[ `uname` == 'Darwin' ]];
then
BUILD_DIR="$SDK_DIR/../xcodebuild/$DART_CONFIGURATION"
else
BUILD_DIR="$SDK_DIR/../out/$DART_CONFIGURATION"
fi

DART="$BUILD_DIR/dart-sdk/bin/dart"
PKG_DIR="$BUILD_DIR/packages"
DARTFMT="$SDK_DIR/../pkg/analyzer/bin/formatter.dart"
```

The version downloaded from dart's web site doesn't seem to have this issue. It appears that the last two lines were truncated in the Arch version.
This task depends upon

Closed by  Felix Yan (felixonmars)
Friday, 05 December 2014, 02:39 GMT
Reason for closing:  Fixed
Additional comments about closing:  1.8-2
Comment by Felix Yan (felixonmars) - Friday, 05 December 2014, 02:13 GMT
dartfmt doesn't have a trailing newline, in which case setconf "eats" the last line when called, and we did that twice in the PKGBUILD.

I've added a workaround to add newline to the file before calling setconf. Please test with 1.8-2, thanks.
Comment by Alex (sailerboy) - Friday, 05 December 2014, 02:38 GMT
Seems to work properly, thanks.

Loading...