From 8f6955176ffb216e996b0b9548127045b85522c0 Mon Sep 17 00:00:00 2001 From: sterni Date: Mon, 2 Aug 2021 15:15:39 +0200 Subject: feat(3p/lisp/mime4cl): build using buildLisp The following changes are required to make mime4cl build: * file-position doesn't like to be called with NIL as the position argument, so we have to make sure to not do that in stream-file-position. My workaround is a bit clunky, but works. * Tests discover the sample file via relative path resolution. This doesn't work when they are imported into the nix store as individual files. Instead we make use of the fact that DEFVAR is a no-op if the variable is already defined and inject a file via the nix build that sets the relevant ones. For the path to sample1.msg, we need to create a new variable. Change-Id: I74eeda7bf2c2a4f64cc2b90e72081513ec3285d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3270 Tested-by: BuildkiteCI Reviewed-by: grfn --- third_party/lisp/mime4cl/streams.lisp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'third_party/lisp/mime4cl/streams.lisp') diff --git a/third_party/lisp/mime4cl/streams.lisp b/third_party/lisp/mime4cl/streams.lisp index 4b3da19a99..64c7adeec5 100644 --- a/third_party/lisp/mime4cl/streams.lisp +++ b/third_party/lisp/mime4cl/streams.lisp @@ -1,6 +1,7 @@ ;;; eds.lisp --- En/De-coding Streams ;;; Copyright (C) 2012 by Walter C. Pelissero + ;;; Copyright (C) 2021 by the TVL Authors ;;; Author: Walter C. Pelissero ;;; Project: mime4cl @@ -63,7 +64,8 @@ :initarg :dont-close))) (defmethod stream-file-position ((stream coder-stream-mixin) &optional position) - (file-position (slot-value stream 'real-stream) position)) + (apply #'file-position (remove nil (list (slot-value stream 'real-stream) + position)))) (defclass coder-input-stream-mixin (fundamental-binary-input-stream coder-stream-mixin) ()) -- cgit 1.4.1