tvl-depot/third_party/lisp/mime4cl/default.nix
sterni 5262e5bf6c refactor(3p/mime4cl): use SB-POSIX for FILE-LENGTH
This is slightly better than the (mostly untested) mess we had before:
Just implement the one thing we need using the tools the one
implementation we support (SBCL) gives us.

Eventually, we'll want to make this portable, probably using osicat.
Unfortunately, packaging this requires support for cffi-grovel (b/383)
which buildLisp lacks at the moment.

Change-Id: I6960015f80e6a5dfde67baf55537c5274a19e4e2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11356
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2024-04-05 11:01:39 +00:00

51 lines
1 KiB
Nix

# Copyright (C) 2021 by the TVL Authors
# SPDX-License-Identifier: LGPL-2.1-or-later
{ depot, pkgs, ... }:
depot.nix.buildLisp.library {
name = "mime4cl";
deps = [
depot.third_party.lisp.flexi-streams
depot.third_party.lisp.npg
depot.third_party.lisp.trivial-gray-streams
depot.third_party.lisp.qbase64
{ sbcl = depot.nix.buildLisp.bundled "sb-posix"; }
];
srcs = [
./ex-sclf.lisp
./package.lisp
./endec.lisp
./streams.lisp
./mime.lisp
./address.lisp
];
tests = {
name = "mime4cl-tests";
srcs = [
./test/rt.lisp
./test/package.lisp
(pkgs.writeText "nix-samples.lisp" ''
(in-package :mime4cl-tests)
;; override auto discovery which doesn't work in the nix store
(defvar *samples-directory* (pathname "${./test/samples}/"))
'')
./test/temp-file.lisp
./test/endec.lisp
./test/address.lisp
./test/mime.lisp
];
expression = "(rtest:do-tests)";
};
# limited by sclf
brokenOn = [
"ccl"
"ecl"
];
}