2018-12-06 01:50:01 +00:00
|
|
|
(use-modules (git)
|
|
|
|
(gnu packages)
|
2017-12-09 17:01:40 +00:00
|
|
|
(gnu packages autotools)
|
|
|
|
(gnu packages code)
|
|
|
|
(gnu packages guile)
|
|
|
|
(gnu packages pkg-config)
|
2018-12-06 00:56:24 +00:00
|
|
|
(guix build utils)
|
2017-12-09 17:01:40 +00:00
|
|
|
(guix build-system gnu)
|
2018-12-06 01:50:01 +00:00
|
|
|
(guix gexp)
|
2017-12-09 17:01:40 +00:00
|
|
|
((guix licenses) #:prefix license:)
|
2018-12-06 00:56:24 +00:00
|
|
|
(guix packages)
|
|
|
|
(guix utils)
|
|
|
|
(ice-9 popen)
|
|
|
|
(ice-9 textual-ports))
|
|
|
|
|
|
|
|
(define *srcdir* (canonicalize-path (current-source-directory)))
|
|
|
|
|
|
|
|
(define *version*
|
|
|
|
(with-directory-excursion *srcdir*
|
|
|
|
(let* ((script "./build-aux/git-version-gen")
|
|
|
|
(pipe (open-pipe* OPEN_READ script ".tarball-version"))
|
|
|
|
(version (get-string-all pipe)))
|
|
|
|
(close-pipe pipe)
|
|
|
|
version)))
|
2017-12-09 17:01:40 +00:00
|
|
|
|
2018-12-06 01:50:01 +00:00
|
|
|
(define (make-select)
|
2018-12-12 18:11:16 +00:00
|
|
|
(let* ((directory (repository-discover *srcdir*))
|
2018-12-06 01:50:01 +00:00
|
|
|
(repository (repository-open directory))
|
|
|
|
(oid (reference-target (repository-head repository)))
|
|
|
|
(commit (commit-lookup repository oid))
|
|
|
|
(tree (commit-tree commit))
|
|
|
|
(paths (tree-list tree)))
|
|
|
|
(lambda (file stat)
|
|
|
|
(let ((relative (substring file (1+ (string-length *srcdir*)))))
|
|
|
|
(member relative paths)))))
|
|
|
|
|
2017-12-09 17:01:40 +00:00
|
|
|
(package
|
Remove (almost) all references to Geesh.
gash/environment.scm: Remove file.
geesh/*: Move these files into the 'gash' folder and replace all
instances of the word 'geesh'.
scripts/geesh.in: Remove file.
HACKING, INSTALL, Makefile.am, configure.ac, guix.scm,
tests/bootstrap/bash-without-bash.scm, tests/spec/Makefile.am,
tests/spec/check-spec, tests/spec/oil.scm, tests/unit/*,
tools/coverage.in: Replace all instances of the word 'geesh'.
Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
2019-02-15 00:55:07 +00:00
|
|
|
(name "gash")
|
2018-12-06 00:56:24 +00:00
|
|
|
(version *version*)
|
2018-12-06 01:50:01 +00:00
|
|
|
(source (local-file *srcdir* #:recursive? #t #:select? (make-select)))
|
2017-12-09 17:01:40 +00:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
|
|
|
`(("autoconf" ,autoconf)
|
|
|
|
("automake" ,automake)
|
|
|
|
("lcov" ,lcov) ; For generating test coverage data
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
|
|
|
`(("guile" ,guile-2.2)))
|
Remove (almost) all references to Geesh.
gash/environment.scm: Remove file.
geesh/*: Move these files into the 'gash' folder and replace all
instances of the word 'geesh'.
scripts/geesh.in: Remove file.
HACKING, INSTALL, Makefile.am, configure.ac, guix.scm,
tests/bootstrap/bash-without-bash.scm, tests/spec/Makefile.am,
tests/spec/check-spec, tests/spec/oil.scm, tests/unit/*,
tools/coverage.in: Replace all instances of the word 'geesh'.
Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
2019-02-15 00:55:07 +00:00
|
|
|
(home-page "https://gitlab.com/samplet/gash")
|
2018-12-06 01:56:18 +00:00
|
|
|
(synopsis "POSIX-compatible shell written in Guile Scheme")
|
Remove (almost) all references to Geesh.
gash/environment.scm: Remove file.
geesh/*: Move these files into the 'gash' folder and replace all
instances of the word 'geesh'.
scripts/geesh.in: Remove file.
HACKING, INSTALL, Makefile.am, configure.ac, guix.scm,
tests/bootstrap/bash-without-bash.scm, tests/spec/Makefile.am,
tests/spec/check-spec, tests/spec/oil.scm, tests/unit/*,
tools/coverage.in: Replace all instances of the word 'geesh'.
Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
2019-02-15 00:55:07 +00:00
|
|
|
(description "Gash is a POSIX-compatible shell written in Guile
|
2018-12-06 01:56:18 +00:00
|
|
|
Scheme. It is designed to be capable of bootstrapping Bash.")
|
|
|
|
(license license:gpl3+))
|