feat(3p/lisp/sclf): build using buildLisp

Adding the default.nix is quite straightforward, however we have to make
today's SBCL happy: due to package locking it no longer likes sclf using
an sb-impl internal constant for some reason. This is however a good
opportunity to clean up the stat-*-time code: It converted the times in
an implementation specific way even though time.lisp does provide a
generic way to convert between unix and universal time. Note that the
updated ASDF file is untested, but should be a trivial enough change.

Change-Id: If193bf830ac704cc53e0855d8e9fff2b5a5ef291
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3268
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
This commit is contained in:
sterni 2021-08-02 15:14:25 +02:00
parent a5dbd0f5d9
commit 2e08324484
7 changed files with 45 additions and 11 deletions

View file

@ -1,6 +1,7 @@
;;; directory.lisp --- filesystem directory access
;;; Copyright (C) 2006, 2007, 2008, 2009, 2010 by Walter C. Pelissero
;;; Copyright (C) 2021 by the TVL Authors
;;; Author: Walter C. Pelissero <walter@pelissero.de>
;;; Project: sclf
@ -348,18 +349,12 @@ are defined."
(defun stat-modification-time (stat)
"Return the modification time of the STAT structure as Lisp
Universal Time, which is not the same as the Unix time."
#-(or cmu sbcl) (error "Don't know how to adjust Unix time to Lisp Universal Time.")
(+ #+cmu lisp::unix-to-universal-time
#+sbcl sb-impl::unix-to-universal-time
(stat-mtime stat)))
(unix->universal-time (stat-mtime stat)))
(defun stat-creation-time (stat)
"Return the creation time of the STAT structure as Lisp
Universal Time, which is not the same as the Unix time."
#-(or cmu sbcl) (error "Don't know how to adjust Unix time to Lisp Universal Time.")
(+ #+cmu lisp::unix-to-universal-time
#+sbcl sb-impl::unix-to-universal-time
(stat-ctime stat)))
(unix->universal-time (stat-ctime stat)))
(defun file-modification-time (file)
"Return the modification time of FILE as Lisp Universal Time, which