| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 |
|
| 19 | |
| 20 | |
| 21 | |
| 22 |
|
| 23 | set -e
|
| 24 |
|
| 25 | guix style --version
|
| 26 |
|
| 27 | tmpdir="guix-style-$$"
|
| 28 | trap 'rm -r "$tmpdir"' EXIT
|
| 29 |
|
| 30 | tmpfile="$tmpdir/os.scm"
|
| 31 | mkdir "$tmpdir"
|
| 32 | cat > "$tmpfile" <<EOF
|
| 33 | ;;; This is a header with three semicolons.
|
| 34 | ;;;
|
| 35 |
|
| 36 | (define-module (foo bar)
|
| 37 | #:use-module (guix)
|
| 38 | #:use-module (gnu))
|
| 39 |
|
| 40 | ;; One blank line and a page break.
|
| 41 |
|
| 42 |
|
| 43 | ;; And now, the OS.
|
| 44 | (operating-system
|
| 45 | (host-name "komputilo")
|
| 46 | (locale "eo_EO.UTF-8")
|
| 47 |
|
| 48 | ;; User accounts.
|
| 49 | (users (cons (user-account
|
| 50 | (name "alice")
|
| 51 | (comment "Bob's sister")
|
| 52 | (group "users")
|
| 53 |
|
| 54 | ;; Groups fit on one line.
|
| 55 | (supplementary-groups '("wheel" "audio" "video")))
|
| 56 | %base-user-accounts))
|
| 57 |
|
| 58 | ;; The services.
|
| 59 | (services
|
| 60 | (cons (service mcron-service-type) %base-services)))
|
| 61 | ;; Incomplete package definitions in alphabetical order.
|
| 62 |
|
| 63 | (define-public pkg
|
| 64 | (package
|
| 65 | (name "bar")
|
| 66 | (version "2")))
|
| 67 |
|
| 68 | (define-public pkg-baz
|
| 69 | (let ()
|
| 70 | (package
|
| 71 | (name "baz")
|
| 72 | (version "2"))))
|
| 73 |
|
| 74 | ;; The comment below belongs to the foo package.
|
| 75 | (define-public pkg
|
| 76 | (package/inherit pkg-baz
|
| 77 | (name "baz")
|
| 78 | (version "1")))
|
| 79 | ;; Incomplete package definitions in alphabetical order.
|
| 80 |
|
| 81 | (define-public pkg
|
| 82 | (package
|
| 83 | (name "foo")
|
| 84 | (version "2")))
|
| 85 | EOF
|
| 86 |
|
| 87 | cp "$tmpfile" "$tmpfile.bak"
|
| 88 |
|
| 89 | initial_hash="$(guix hash "$tmpfile")"
|
| 90 |
|
| 91 | guix style -f "$tmpfile"
|
| 92 | if test "$initial_hash" != "$(guix hash "$tmpfile")"
|
| 93 | then
|
| 94 | cat "$tmpfile"
|
| 95 | diff -u "$tmpfile.bak" "$tmpfile"
|
| 96 | false
|
| 97 | fi
|
| 98 |
|
| 99 | |
| 100 | sed -i "$tmpfile" -e's/ \+/ /g'
|
| 101 | test "$initial_hash" != "$(guix hash "$tmpfile")"
|
| 102 |
|
| 103 | guix style -f "$tmpfile"
|
| 104 | test "$initial_hash" = "$(guix hash "$tmpfile")"
|
| 105 |
|
| 106 | |
| 107 | sed -i "$tmpfile" -e 's/"foo"/"bar"/g'
|
| 108 | sed -i "$tmpfile" -e '0,/"bar"/{s//"foo"/}'
|
| 109 | test "$initial_hash" != "$(guix hash "$tmpfile")"
|
| 110 |
|
| 111 | guix style -fA "$tmpfile"
|
| 112 | test "$initial_hash" = "$(guix hash "$tmpfile")"
|