This is more robust, faster, and incidentally gets rid of remaining
"error in the finalization thread: Bad file descriptor" messages.
* gnu/services/base.scm (unicode-start): Rewrite to use 'tcgetattr' and
'tcsetattr'.
(console-font-shepherd-services)[start]: Add 'loop' to check whether
DEVICE is ready. Tolerate EX_OSERR return from 'setfont'.
[modules]: New field.
* gnu/packages/lua.scm (lua5.1-socket): Update to 3.0-rc1.
[source]: Change upstream URI.
[arguments]: Set INSTALL_TOP environment variable instead of INSTALL_TOP_SHARE
and INSTALL_TOP_LIB.
Tris allows Hydra/Cuirass to pick it up and to build its replacement.
Failing that, users have to build "ghostscript-with-cups-9.22" from
source.
* gnu/packages/cups.scm (ghostscript/cups): Move to 'ghostscript.scm'.
(cups-filters)[inputs]: Remove 'force'.
* gnu/packages/ghostscript.scm (ghostscript/cups): New variable.
* gnu/packages/haskell.scm (ghc-fingertree)[arguments]: Delete to run tests.
[native-inputs]: Add ghc-hunit, ghc-quickcheck, ghc-test-framework,
ghc-test-framework-hunit, and ghc-test-framework-quickcheck2.
* gnu/packages/haskell.scm (ghc-exceptions)[arguments]: Delete to run tests.
[native-inputs]: Add ghc-test-framework and ghc-test-framework-quickcheck2.
* gnu/packages/haskell.scm (ghc-cmark): Update to 0.5.6.
[description]: Update version information about bundled libcmark, and move
it to a source comment.
'package-grafts' returns a list of potentially applicable grafts, which
'cumulative-grafts' then narrows by looking at store item references and
determining the subset of the grafts that's actually applicable.
Until now, 'package-grafts' would traverse native inputs and would thus
return a large superset of the applicable grafts, since native inputs
are not in the reference graph by definition. This patch fixes that by
having 'package-grafts' ignore entirely native inputs from the
dependency graph.
* guix/packages.scm (fold-bag-dependencies)[bag-direct-inputs*]: Add
special case for libc.
* guix/packages.scm (bag-grafts)[native-grafts, target-grafts]: Remove.
[grafts]: New procedure.
Use it.
* tests/packages.scm ("package-grafts, grafts of native inputs
ignored"): New test.
Previously recursive calls to 'loop' would always consider all the bag
inputs rather than those corresponding to NATIVE?.
* guix/packages.scm (fold-bag-dependencies)[bag-direct-inputs*]: New
procedure. Use it both in the 'match' expression and in its body.
By definition, these packages are not depended on at run time by any of
the packages we use. Thus it does not make sense to inherit grafts.
Furthermore, those grafts would often lead to extra overhead for users
who would end up downloading those "-boot0" packages just to build
package replacements that are in fact not going to be used.
This reverts parts of f1597427f2 and
ce27857f71.
Reported by Christopher Baines at
<https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00058.html>.
* gnu/packages/commencement.scm (file-boot0, binutils-boot0): Use plain
'inherit' instead of 'package/inherit'.