non-shared part of the package is already present to decide whether
to install the package or not (reported by Eric Knauel),
- fail with an error if --phases is used but the package requires a
version older than 1.2.0 of install-lib.
- both --layout and --layout-from now expect a layout specified as a
Scheme function mapping a package to a layout (the old syntax for
layouts is not recognised anymore)
this seems to be what other tools use; consequently, the default
is now the empty string instead of "/",
- removed re-root-file-name,
- layouts can now be specified as functions in .scsh-pkg-defaults.scm,
- bug fix: textual layouts on the command line now work.
(e.g. create-directory&parents),
- introduced the new name "install-lib" for the structure of the
installation library (the old name, "install", is still there but
deprecated)
(equivalent to a constant function) everywhere,
- create-directory&parents is now independent from the installation
library and could be reused in other contexts,
- incorporated first part of Martin's changes, which fix a problem
with install-string: it now accepts optional permissions, and does
not create a file in a dry run.
- improved the "use hint" displayed at the end, and moved the code
producing it to a separate function,
- made "--help" work even when no "pkg-def.scm" file is found.
explicitely in all paths,
- check locations given by the package installation script, and fail
if one is unknown,
- added "install-lib-version" extension, so that package installation
scripts can explicitely specify which version of install-lib they
need,
- added a message which is printed at the end of a successful
installation and indicates how to set SCSH_LIB_DIRS,
- provided a way to "turn off" boolean options like --force, by
providing an explicit "=no",
- replaced a few calls to "error" by calls to
"display-error-and-exit", to try to be consistent and use "error"
only for "internal" errors not due to the end user,
- removed "platform" parameter from layouts, not needed anymore since
the "lib" location was made platform-independent a long time ago,
- documented --no-user-defaults.
- added "exclude" option, to exclude some files,
- parse layouts *after* processing the options,
- changed "display-error-and-exit" to not use "format" anymore.