summaryrefslogtreecommitdiff
path: root/release
blob: 72dd29fc2b26e9fd4f6cefd5acd420921f252d5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/sh

VERSION=$(((guix environment --ad-hoc --container git -- \
		 git describe --tags) \
	       || echo "UNRELEASED") \
	      | sed 's|/|_|g')

>&2 echo "Version is: $VERSION"

COMMIT=$(git rev-parse HEAD)

>&2 echo "Commit is: $COMMIT"

rm -rf pure

guix environment --ad-hoc --container git -- \
     git checkout-index -a -f --prefix=pure/ \
    || exit 1

cd pure || exit 1

HASH=$(guix hash -r -x .)

cd .. || exit 1

rm -rf pure || exit 1

guix  environment --ad-hoc guile-hall -- \
      hall guix -x || exit 1

mkdir -p guix/vkraus/packages || exit 1

cat > release.scm <<EOF
(use-modules (guix git-download))
(define-public guile-ldp
  (package
    (inherit guile-ldp-local)
    (version "$VERSION")
    (source
      (origin
        (method git-fetch)
        (uri (git-reference
	  (url "http://labo.planete-kraus.eu/ldp.git")
          (commit "$COMMIT")))
        (sha256
          (base32
            "$HASH"))
	(snippet
	 (quasiquote
           (begin
	    (with-output-to-file ".tarball-version"
	      (lambda _ (format #t "~a~%" ,version)))
	    #t)))))
    (native-inputs
     (cons*
      (quasiquote ("guile-hall" ,guile-hall))
      (package-native-inputs guile-ldp-local)))))
EOF

rm -f guix/vkraus/packages/ldp.scm || exit 1

guix environment --ad-hoc --container emacs -- \
     emacs --batch --file guix/vkraus/packages/ldp.scm \
     --eval '(insert "(define-module (vkraus packages ldp))\n")' \
     --eval '(insert-file "../../../guix.scm")' \
     -f end-of-buffer \
     -f backward-sexp \
     --eval '(insert "(define guile-ldp-local\n")' \
     -f forward-sexp \
     --eval '(insert ")\n\n")' \
     --eval '(insert-file "../../../release.scm")' \
     -f save-buffer \
    || exit 1

rm -rf guix.scm release.scm || exit 1

guix environment --ad-hoc --container git -- \
     git add guix/vkraus/packages/ldp.scm \
    || exit 1

guix build -L guix --rounds=2 --with-git-url=ldp=file://$PWD ldp \
     || exit 1

rm -rf pure