The cleanup notably:
* Builds and installs the documentation into a separate doc output (in
the process moving around some files erroneously installed into the root
directory); and
* Removes unnecessary inputs and moves some inputs into
propagated-inputs (the candidates of which were determined with a search
for "include.*LIBNAME" in include/deal.II).
* gnu/packages/maths.scm (dealii): Reword comments.
[version]: Update to 9.3.1.
[outputs]: New field including doc output.
[native-inputs]: New field.
[inputs]: Sort them. Remove p4est (deal.II interfaces with it only when
MPI is enabled). Move boost, suitesparse and tbb to...
[propagated-inputs]: ...here. New field including hdf5, which is
actually supported in deal.II without MPI.
[arguments]<#:tests?>: New argument. The tests were not being run before
anyway.
<#:configure-flags>[-DDEAL_II_COMPONENT_DOCUMENTATION]: New flag.
[-DDEAL_II_DOCREADME_RELDIR]: New flag. Prevents the LICENSE.md,
README.md, detailed.log and summary.log files from being installed in
the root directory (though note that the logs are removed in the new
remove-build-logs phase).
[-DDEAL_II_DOCHTML_RELDIR]: New flag.
[-DDEAL_II_COMPILE_EXAMPLES]: New flag.
[-DDEAL_II_EXAMPLES_RELDIR]: New flag. Prevents the examples directory
from being installed in the root directory.
[-DCMAKE_POSITION_INDEPENDENT_CODE]: Remove flag. The issue has been
resolved.
<#:phases>{remove-build-logs}: New phase.
[home-page]: Add trailing slash.
(dealii-openmpi): Use package/inherit.
[inputs]: Sort them. Remove mumps-metis-openmpi (deal.II no longer
interfaces with MUMPS). Move hdf5-parallel-openmpi, openmpi,
p4est-openmpi, petsc-openmpi and slepc-openmpi to...
[propagated-inputs]: ...here. New field.
[arguments]<#:configure-flags>: Rename cf variable to flags.
<#:phases>{mpi-setup}: Remove phase which is unused because the tests
are disabled.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/lisp.scm (txr)[version]: Update to 266.
[inputs]: Add bash.
[arguments]<#:phases>{inhibit-doc-syms-generation}: Correct the path to
doc-syms.tl to its new location.
{fix-tests}: Fix another test.
{fix-paths}: New phase.
Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
The install-license-files phase was installing LICENSE-CYG when it
shouldn't have, because that license applies only to TXR builds for
Microsoft Windows; and it was also ignoring the METALICENSE file.
However, TXR's Makefile was already installing the LICENSE and
METALICENSE files into share/txr (the datadir), so redirect them into
the appropriate doc directory and delete the install-license-files
phase.
* gnu/packages/lisp.scm (txr)[arguments]<#:phases>
{fix-license-installation}: New phase.
{install-license-files}: Delete phase.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
* gnu/packages/lisp.scm (man-for-txr): New variable.
(txr)[native-inputs]: New field.
[inputs]: Move above the arguments field.
[arguments]<#:phases>{inhibit-doc-syms-generation, build-doc, install-doc}:
New phases.
{fix-tests}: Add after the unpack phase rather than after the configure
phase so that all file-modifying phases are performed after unpacking.
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
* guix/import/print.scm (package->code)<license->code>: Update generated
licence object to match record constructor.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Thanks to Guillem Jover <guillem@debian.org> on the OFTC's #debian-dpkg
channel for helping with troubleshooting.
Letting GNU Tar recursively walk the complete files hierarchy side-steps the
risks associated with providing a list of file names:
1. Duplicated files in the archive (recorded as hard links by GNU Tar)
2. Missing parent directories.
The above would cause dpkg to malfunction, for example by aborting early and
skipping triggers when there were missing parent directories.
* guix/scripts/pack.scm (self-contained-tarball/builder): Do not call
POPULATE-SINGLE-PROFILE-DIRECTORY, which creates extraneous files such as
/root. Instead, call POPULATE-STORE and INSTALL-DATABASE-AND-GC-ROOTS
individually to more precisely generate the file system. Replace the list of
files by the current directory, "." and streamline the way options are passed.
* gnu/system/file-systems.scm (reduce-directories): Remove procedure.
* tests/file-systems.scm ("reduce-directories"): Remove test.
These fields, while optional per dpkg, are required by other tools such as
reprepro, commonly used to generate apt repositories.
* guix/scripts/pack.scm (debian-archive): Set the control file section field
to 'misc' and the priority field to 'optional'.
* guix/scripts/pack.scm (self-contained-tarball/builder)
[extra-options]: New argument.
(self-contained-tarball, squashfs-image, docker-image)
(debian-archive): Likewise. Remove two TODO comments. Document
EXTRA-OPTIONS. Use the custom control files when provided.
(%deb-format-options): New variable.
(show-deb-format-options, show-deb-format-options/detailed): New procedures.
(%options): Register new options.
(show-help): Augment with new usage.
(guix-pack): Validate and propagate new argument values.
* doc/guix.texi (Invoking guix pack)[deb]: Document how to list advanced
options. Add an example.
* tests/pack.scm (deb archive...): Provide extra-options to the debian-archive
procedure, and validate that the provided files are embedded in the pack.