diff options
Diffstat (limited to 'release')
-rwxr-xr-x | release | 84 |
1 files changed, 84 insertions, 0 deletions
@@ -0,0 +1,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 |