Skip to content

Commit

Permalink
Guix v0.18.1 (#1076)
Browse files Browse the repository at this point in the history
  • Loading branch information
drewc authored Dec 6, 2023
1 parent e3284b8 commit 3ee5c72
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 73 deletions.
128 changes: 64 additions & 64 deletions guix/README.org
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ source tree is not meant to be a package ... or some such), =Gerbil=
and =Gambit= in general rely on a git tree to tell them certain
things.

There is *Fare*'s nix package which helped.

https://github.com/MuKnIO/nixpkgs/tree/dbee0d9a81487c79d7e11a9e3e3da589ac5c0fc6/pkgs/development/compilers/gerbil
https://gist.github.com/gitaarik/8735255
https://github.com/muknio/nixpkgs/tree/devel/pkgs/development/compilers/gerbil

* Gambit: versions and dates.

Expand Down Expand Up @@ -76,7 +76,7 @@ Then we just need to update certain things in gambit.
#endif\n"))))
(substitute* "src/gambit/include/makefile.in"
(("^(.*)echo > stamp.h;" _ ws)
(string-append ws "mv -f stamp.h.new stamp.h;")))))
(string-append ws "cp -v stamp.h.new stamp.h;")))))


#+end_src
Expand All @@ -100,20 +100,20 @@ That gets built by =src/build/build-version.scm= so let us replace that.
#+end_src

#+begin_src scheme :tangle gerbil-build-utils.scm
(include "gerbil-stamp.scm")

(define gerbil-build-version
`(with-output-to-file "src/build/build-version.scm"
(lambda ()
(write
'(let* ((gerbil-version-path
(path-expand "gerbil/runtime/version.ss" (getenv "GERBIL_SOURCE")))
(gerbil-version-text
(string-append "(def (gerbil-version-string) \"" ,gerbil-stamp-version "\")\n")))
(display "... write ") (display gerbil-version-path) (newline)
(call-with-output-file `(path: ,gerbil-version-path create: maybe append: #f truncate: #t)
(lambda (port) (display gerbil-version-text port))))))))
(include "gerbil-stamp.scm")

(define gerbil-build-version
`(with-output-to-file "src/build/build-version.scm"
(lambda ()
(write
'(let* ((gerbil-version-path
(path-expand "gerbil/runtime/version.ss" (getenv "GERBIL_SOURCE")))
(gerbil-version-text
(string-append "(def (gerbil-version-string) \"" ,gerbil-stamp-version "\")\n")))
(display "... write ") (display gerbil-version-path) (newline)
(call-with-output-file `(path: ,gerbil-version-path create: maybe append: #f truncate: #t)
(lambda (port) (display gerbil-version-text port))))))))

#+end_src

And Gerbil's =./configure= calls git a bunch. As luck would have it
Expand Down Expand Up @@ -159,53 +159,53 @@ git-fetch is to see the version.
* The package form

#+begin_src scheme :tangle gerbil-package.scm
(package
(name "gerbil")
(version "0.18")
(source
(origin
(method git-fetch)
(uri (git-reference
(recursive? #t)
(url "https://github.com/mighty-gerbils/gerbil.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rfyzy900kdl58p3gd02k5xryyzvw6xdw1awnlqd5zszh60gj4c4"))))
(arguments
`(#:phases
(modify-phases
%standard-phases
(delete 'bootstrap)
(add-after
'unpack 'create-versions
(lambda* (#:key source #:allow-other-keys)
,gambit-sub-config
,gambit-stamp.h
,gerbil-build-version
,gerbil-conf-sub-git))
(add-before 'build 'add-tmp-home
(lambda _ (setenv "HOME" "/tmp/gerbil-build")))
(delete 'check))
#:make-flags '("CC=gcc")))
(native-inputs
`(("coreutils" ,coreutils)
("util-linuxr" ,util-linux)))
(propagated-inputs
`(("zlib" ,zlib)
("openssl" ,openssl)
("sqlite" ,sqlite)))
(build-system gnu-build-system)
(synopsis "Meta-dialect of Scheme with post-modern features")
(description "Gerbil is an opinionated dialect of Scheme designed for Systems
Programming, with a state of the art macro and module system on top of the Gambit
runtime. The macro system is based on quote-syntax, and provides the full meta-syntactic
tower with a native implementation of syntax-case. It also provides a full-blown module
system, similar to PLT Scheme's (sorry, Racket) modules. The main difference from Racket
is that Gerbil modules are single instantiation, supporting high performance ahead of
time compilation and compiled macros.")
(home-page "https://cons.io")
(license `(,l:lgpl2.1 ,l:asl2.0)))
(package
(name "gerbil")
(version "0.18.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(recursive? #t)
(url "https://github.com/mighty-gerbils/gerbil.git")
(commit "0917172a519d28c7833886b445938fd250717b2a")))
(file-name (git-file-name name version))
(sha256
(base32 "0cxpsf7n9nbk39i2n11kpvgm81qkzkskymq32d40cqajfixd5k9x"))))
(arguments
`(#:phases
(modify-phases
%standard-phases
(delete 'bootstrap)
(add-after
'unpack 'create-versions
(lambda* (#:key source #:allow-other-keys)
,gambit-sub-config
,gambit-stamp.h
,gerbil-build-version
,gerbil-conf-sub-git))
(add-before 'build 'add-tmp-home
(lambda _ (setenv "HOME" "/tmp/gerbil-build")))
(delete 'check))
#:make-flags '("CC=gcc")))
(native-inputs
`(("coreutils" ,coreutils)
("util-linux" ,util-linux)))
(propagated-inputs
`(("zlib" ,zlib)
("openssl" ,openssl)
("sqlite" ,sqlite)))
(build-system gnu-build-system)
(synopsis "Meta-dialect of Scheme with post-modern features")
(description "Gerbil is an opinionated dialect of Scheme designed for Systems
Programming, with a state of the art macro and module system on top of the Gambit
runtime. The macro system is based on quote-syntax, and provides the full meta-syntactic
tower with a native implementation of syntax-case. It also provides a full-blown module
system, similar to PLT Scheme's (sorry, Racket) modules. The main difference from Racket
is that Gerbil modules are single instantiation, supporting high performance ahead of
time compilation and compiled macros.")
(home-page "https://cons.io")
(license `(,l:lgpl2.1 ,l:asl2.0)))


#+end_src
Expand Down
2 changes: 1 addition & 1 deletion guix/gambit-build-utils.scm
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
#endif\n"))))
(substitute* "src/gambit/include/makefile.in"
(("^(.*)echo > stamp.h;" _ ws)
(string-append ws "mv -f stamp.h.new stamp.h;")))))
(string-append ws "cp -v stamp.h.new stamp.h;")))))
6 changes: 3 additions & 3 deletions guix/gambit-stamp.scm
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
(define gambit-stamp-version "v4.9.5-40-g24201248")
(define gambit-stamp-ymd "20230917")
(define gambit-stamp-hms "182043")
(define gambit-stamp-version "v4.9.5-78-g8b18ab69")
(define gambit-stamp-ymd "20231029")
(define gambit-stamp-hms "203035")
8 changes: 4 additions & 4 deletions guix/gerbil-package.scm
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
(package
(name "gerbil")
(version "0.18")
(version "0.18.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(recursive? #t)
(url "https://github.com/mighty-gerbils/gerbil.git")
(commit (string-append "v" version))))
(commit "0917172a519d28c7833886b445938fd250717b2a")))
(file-name (git-file-name name version))
(sha256
(base32 "1rfyzy900kdl58p3gd02k5xryyzvw6xdw1awnlqd5zszh60gj4c4"))))
(base32 "0cxpsf7n9nbk39i2n11kpvgm81qkzkskymq32d40cqajfixd5k9x"))))
(arguments
`(#:phases
(modify-phases
Expand All @@ -29,7 +29,7 @@
#:make-flags '("CC=gcc")))
(native-inputs
`(("coreutils" ,coreutils)
("util-linuxr" ,util-linux)))
("util-linux" ,util-linux)))
(propagated-inputs
`(("zlib" ,zlib)
("openssl" ,openssl)
Expand Down
2 changes: 1 addition & 1 deletion guix/gerbil-stamp.scm
Original file line number Diff line number Diff line change
@@ -1 +1 @@
(define gerbil-stamp-version "v0.18")
(define gerbil-stamp-version "v0.18-47-g0917172a")

0 comments on commit 3ee5c72

Please sign in to comment.