Newer
Older
* Maybe add support for some Guile-like "meta switch" ?
https://www.gnu.org/software/guile/manual/html_node/The-Meta-Switch.html#The-Meta-Switch
* When resuming from an image then dumping another, the INCLUDE_PATH
Francois-Rene Rideau
committed
becomes a very bad variable to look for the image.
Include a test case and fix it.
More generally, test with directory differences between image and
other stuff.
* Maybe: add "dump from previous image" support for ECL?
One limitation that cl-launch has on ECL (vs on e.g. SBCL)
is the inability to "dump an image from a previous image".
This could be achieved by hacking asdf:make-build
(from ecl/contrib/asdf/asdf-ecl.lisp) to intercept in a
(defmethod perform :before ((op monolithic-bundle-op) (c system)) ...)
the arguments to the last call to c::builder, and to re-inject those
arguments in same call them the next time around, assuming
(which is somewhat fragile) that objects won't have been moved or
deleted by then. I do not currently intend to support this feature
in cl-launch, but will hopefully support it in XCVB that can do the
bookkeeping on its side.
NB: as in uiop/lisp-build:compile-file*, use
(with-enough-pathname (input-file :defaults *base-build-directory*)
Francois-Rene Rideau
committed
* Add support for the REPL and/or interpreting commands from stdin;
it can be called explicitly with --repl
or disabled explicitly with --no-repl,
but it otherwise provided as the default fallback behavior
when neither script nor build or execution command is provided.
This brings behavior to par with /bin/sh.
For extra brownies, automatically wrap inside rlwrap or some such
if at the terminal (or conversely, disable GNU CLISP interactivity
when not wanted).
* Convert cl-launch to a pure Lisp program, that can
create a shell script for bootstrap purposes?
Therefore, /usr/bin/cl can have fast startup,
and not have to spawn an external program
unless explicitly requested a non-default implementation.
Maybe just add all the cl-launch features to buildapp.
Francois-Rene Rideau
committed
* Support these other options from Xach's buildapp?
--load-path --asdf-path --asdf-tree --manifest-file --logfile
* asdf-path and asdf-tree would be accumulated into a source-registry
argument to be passed to cl-launch.
* load-path would not only require something similar, but also
using a SEARCH-AND-LOAD function that consults this path
before it loads something.
* Maybe add these SBCL-specific options, too?
* --compress-core
Francois-Rene Rideau
committed
this one is trivial to add --
currently, buildapp silently ignores the option on CCL,
but Xach feels like he may issue an error in the future instead.
* --dynamic-space-size
a lot of implementation have something like that.
Abstract it away, or leave it implementation-specific?
Can already be done with:
--wrap 'SBCL_OPTIONS="--dynamic-space-size 1024"
* --sbcl
Can already be done with:
--wrap 'SBCL="/opt/sbcl/bin/sbcl"
Francois-Rene Rideau
committed
Implement it that way?
* --core-only
That's hard to add, not that useful, and may require hacking
both uiop and cl-launch to get it right. Lots of pain, no gain.
* Find a way to load faster?
When starting cl-launch, I experience a pause of ~1s.
Half of it is loading the asdf fasl, then the upgraded asdf fasl.
The other half is scanning the source registry.
At least this scanning can be sped up, using ASDF 3.1.4's
tools/cl-source-registry-cache.lisp
Francois-Rene Rideau
committed
* Use #+sbcl (setf sb-ext:*evaluator-mode* :interpret)
and a series of (declaim (optimize (speed 0) (size 0) (debug 0)
(compilation-speed 3))) and such to speed up the cl-launch
bootstrap?
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
* Fix debian packaging.
** Report by Tobias Frost <tobi@debian.org>
I see that your package has several DDs a uploaders. I'm wondering why
they don't upload it for you, if they co-maintain the package?
Did you file an RFS-Bug?
In d/changelog, there are many versions that where never in Debian,
also it reads more like an upstream changelog than an Debian changelog.
On the other side, changes to debian/* are not explained. (e.g the fact
and the resons why to update all the versions of the dependencies in
d/control). Refer to the Policy about d/changelog.
d/cl-launch.1 The manpage says "generated with Ronn/v0.7.3".
If it is autogenerated, it needs to be done at build time.
d/control
About your layout: It is not recommended to have the debian directory
in your master branch, as you cannot independently work on those.
Think of NMUs and how you would be able to integrate such changes in
your repository? (I suggest to put the debian packaging into its own
branch.)
This is also the point where I point people to
https://wiki.debian.org/UpstreamGuide, if they are upstream and
maintainer at the same time.
d/rules could be transformed to short debhelper format.
(note: did not check alls details in d/copyright, so just a few things
I saw at first glance)
d/copyright:
- The bugroff license text is missing.
- Copyright years are not up to date