Initial version of hall.scm and the things it pulls in
This commit is contained in:
parent
1046b9d655
commit
a4e529db26
65
.gitignore
vendored
Normal file
65
.gitignore
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
*.eps
|
||||
*.go
|
||||
*.log
|
||||
*.pdf
|
||||
*.png
|
||||
*.tar.xz
|
||||
*.tar.gz
|
||||
*.tmp
|
||||
*~
|
||||
.#*
|
||||
\#*\#
|
||||
,*
|
||||
/ABOUT-NLS
|
||||
/INSTALL
|
||||
/aclocal.m4
|
||||
/autom4te.cache
|
||||
/build-aux/ar-lib
|
||||
/build-aux/compile
|
||||
/build-aux/config.guess
|
||||
/build-aux/config.rpath
|
||||
/build-aux/config.sub
|
||||
/build-aux/depcomp
|
||||
/build-aux/install-sh
|
||||
/build-aux/mdate-sh
|
||||
/build-aux/missing
|
||||
/build-aux/test-driver
|
||||
/build-aux/texinfo.tex
|
||||
/config.status
|
||||
/configure
|
||||
/doc/*.1
|
||||
/doc/.dirstamp
|
||||
/doc/contributing.*.texi
|
||||
/doc/*.aux
|
||||
/doc/*.cp
|
||||
/doc/*.cps
|
||||
/doc/*.fn
|
||||
/doc/*.fns
|
||||
/doc/*.html
|
||||
/doc/*.info
|
||||
/doc/*.info-[0-9]
|
||||
/doc/*.ky
|
||||
/doc/*.pg
|
||||
/doc/*.toc
|
||||
/doc/*.t2p
|
||||
/doc/*.tp
|
||||
/doc/*.vr
|
||||
/doc/*.vrs
|
||||
/doc/stamp-vti
|
||||
/doc/version.texi
|
||||
/doc/version-*.texi
|
||||
/m4/*
|
||||
/pre-inst-env
|
||||
/test-env
|
||||
/test-tmp
|
||||
/tests/*.trs
|
||||
GPATH
|
||||
GRTAGS
|
||||
GTAGS
|
||||
Makefile
|
||||
Makefile.in
|
||||
config.cache
|
||||
stamp-h[0-9]
|
||||
tmp
|
||||
/.version
|
||||
/doc/stamp-[0-9]
|
47
HACKING
Normal file
47
HACKING
Normal file
|
@ -0,0 +1,47 @@
|
|||
# -*- mode: org; coding: utf-8; -*-
|
||||
|
||||
#+TITLE: Hacking prescheme
|
||||
|
||||
* Contributing
|
||||
|
||||
By far the easiest way to hack on prescheme is to develop using Guix:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
# Obtain the source code
|
||||
cd /path/to/source-code
|
||||
guix environment -l guix.scm
|
||||
# In the new shell, run:
|
||||
hall dist --execute && autoreconf -vif && ./configure && make check
|
||||
#+END_SRC
|
||||
|
||||
You can now hack this project's files to your heart's content, whilst
|
||||
testing them from your `guix environment' shell.
|
||||
|
||||
To try out any scripts in the project you can now use
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
./pre-inst-env scripts/${script-name}
|
||||
#+END_SRC
|
||||
|
||||
If you'd like to tidy the project again, but retain the ability to test the
|
||||
project from the commandline, simply run:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
./hall clean --skip "scripts/${script-name},pre-inst-env" --execute
|
||||
#+END_SRC
|
||||
|
||||
** Manual Installation
|
||||
|
||||
If you do not yet use Guix, you will have to install this project's
|
||||
dependencies manually:
|
||||
- autoconf
|
||||
- automake
|
||||
- pkg-config
|
||||
- texinfo
|
||||
- guile-hall
|
||||
|
||||
Once those dependencies are installed you can run:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
hall dist -x && autoreconf -vif && ./configure && make check
|
||||
#+END_SRC
|
30
guix.scm
Normal file
30
guix.scm
Normal file
|
@ -0,0 +1,30 @@
|
|||
(use-modules
|
||||
(guix packages)
|
||||
((guix licenses) #:prefix license:)
|
||||
(guix download)
|
||||
(guix build-system gnu)
|
||||
(gnu packages)
|
||||
(gnu packages autotools)
|
||||
(gnu packages guile)
|
||||
(gnu packages guile-xyz)
|
||||
(gnu packages pkg-config)
|
||||
(gnu packages texinfo))
|
||||
|
||||
(package
|
||||
(name "guile-prescheme")
|
||||
(version "0.1")
|
||||
(source "./guile-prescheme-0.1.tar.gz")
|
||||
(build-system gnu-build-system)
|
||||
(arguments `())
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs `(("guile" ,guile-3.0)))
|
||||
(propagated-inputs `())
|
||||
(synopsis "")
|
||||
(description "")
|
||||
(home-page "")
|
||||
(license license:gpl3+))
|
||||
|
40
hall.scm
Normal file
40
hall.scm
Normal file
|
@ -0,0 +1,40 @@
|
|||
(hall-description
|
||||
(name "prescheme")
|
||||
(prefix "guile")
|
||||
(version "0.1-pre")
|
||||
(author "Andrew Whatson")
|
||||
(copyright (2022))
|
||||
(synopsis "Guile port of Pre-Scheme, a Scheme-like systems language")
|
||||
(description "guile-prescheme is a port of the Pre-Scheme compiler from
|
||||
Scheme 48. Pre-Scheme is a statically typed dialect of Scheme which
|
||||
offers the efficiency and low-level machine access of C while
|
||||
retaining many of the desirable features of Scheme.")
|
||||
(home-page "https://gitlab.com/flatwhatson/guile-prescheme")
|
||||
(license bsd-3)
|
||||
(dependencies `())
|
||||
(skip ())
|
||||
(files (libraries
|
||||
((directory
|
||||
"prescheme"
|
||||
((scheme-file "prescheme")
|
||||
(scheme-file "s48-defrecord")
|
||||
(scheme-file "syntax-utils")
|
||||
(scheme-file "ps-record-types")
|
||||
(scheme-file "platform")
|
||||
(scheme-file "record-discloser")
|
||||
(scheme-file "ps-defenum")
|
||||
(scheme-file "s48-defenum")
|
||||
(scheme-file "memory")
|
||||
(scheme-file "scheme48")))))
|
||||
(tests ((directory "tests" ())))
|
||||
(programs ((directory "scripts" ())))
|
||||
(documentation
|
||||
((directory "doc" ((texi-file "prescheme")))
|
||||
(text-file "COPYING")
|
||||
(text-file "HACKING")
|
||||
(symlink "README" "README.org")
|
||||
(org-file "README")))
|
||||
(infrastructure
|
||||
((scheme-file "hall")
|
||||
(text-file ".gitignore")
|
||||
(scheme-file "guix")))))
|
Loading…
Reference in a new issue