Commit Graph

81428 Commits

Author SHA1 Message Date
Maxime Devos
3e42c2bfbb
openssl: Move all man pages to separate output, not only man3.
There does not seem to be any reason to only move man3 pages.
So, move all man pages to a separate output for documentation.

* gnu/packages/tls.scm
  (openssl)[arguments]<#:phases>{move-extra-documentation}: Move
  all man pages, not only man3.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:40 +02:00
Maxime Devos
0196b866d3
openssl: Move documentation instead of copying and deleting it.
* gnu/packages/tls.scm
  (openssl)[arguments]<#:phases>{move-extra-documentation}: Use
  'rename-file' instead of 'copy-recursively' and
  'delete-file-recursively'.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:40 +02:00
Maxime Devos
f64a35b9de
openssl: Use G-exp machinery for referring to outputs.
This doesn't fix anything broken, just for simplifying
the code a little while we're rebuilding the world anyway.
IMHO this makes the code a little more readable.

* gnu/packages/tls.scm (openssl)[arguments]<#:phases>: Don't refer
  to the association list 'outputs', use #$output, #$output:doc
  and #$output:static instead.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:40 +02:00
Maxime Devos
7c0eaa1f9e
openssl: Make the #:phases argument a G-expression.
This allows using this-package-native-input later.

* gnu/packages/tls.scm
  (openssl)[arguments]<#:phases>: Make this a G-expression.
  (openssl-1.0)[arguments]<#:phases>: Likewise.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:40 +02:00
Maxime Devos
c14c2ebaee
openssl: Remove trailing #t from phases.
* gnu/packages/tls.scm
  (openssl)[arguments]<#:phases>: Delete trailing #t.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:40 +02:00
Maxime Devos
aec20fae97
python: Fix reference to input when cross-compiling.
"sitecustomize.py" is a native input, so look it up
in 'native-inputs', not 'inputs'.

* gnu/packages/python.scm (customize-site): Look up "sizecustomize.py"
  in 'native-inputs', not 'inputs'.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:40 +02:00
Maxime Devos
ad7c6d290e
libgpg-error: Fix cross-compilation error.
TODO: inform upstream about the cross-compilation error.

* gnu/packages/gnupg.scm
  (libgpg-error)[arguments]{fix-gen-lock-obj.sh}: Prevent generated
  header files from being sprinkled with ‘\c’.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:39 +02:00
Maxime Devos
deb4f0a595
libgpg-error: Prevent silent miscompilation some systems.
* gnu/packages/gpg.scm
  (libgpgerror)[arguments]<#:phases>{cross-symlinks}: Only
  link to src/syscfg/lock-obj-pub.linux-gnu.h if the package
  is being compiled for a Linux target. Do not link either
  if the architecture is unknown, as the headers vary with
  the architecture.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:39 +02:00
Maxime Devos
e444cf3ef4
libgpg-error: Remove trailing #f from phases.
These aren't required anymore.

* gnu/packages/gnupg.scm (libgpgerror)[arguments]{cross-symlinks}:
  Remove trailing #f.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:39 +02:00
Maxime Devos
a997640db9
tzdata: Don't bother with cross-compiling.
The time zone database is architecture-independent,
so trying to cross-compile it is pointless!

* gnu/packages/base.scm
  (tzdata)[arguments]<#:target>: Set to #f.
  (tzdata)[allowed-references]: Only include the "out" output itself,
  to make sure no (architecture-dependent) binaries are installed.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:39 +02:00
Maxime Devos
f6e4fbad2d
net-base: Don't cross-compile.
net-base is pure data, so cross-compiling is pointless.

* gnu/packages/admin.scm
  (net-base)[arguments]<#:target>: Set to #f.
  (net-base)[arguments]<#:allowed-references>: Disallow all
  references.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:39 +02:00
Maxime Devos
aaf9aa4824
packages: Define this-package-input and this-package-native-input.
These macros are intended to be used in build phases.
More precisely, (assoc-ref %build-inputs "input") can be
replaced by #$(this-package-input "input") or #+(this-package-native-input
"native-input") as appropriate.

* guix/packages.scm
  (package-input, package-native-input): New (unexported) procedures.
  (this-package-input, this-package-native-input): New macros.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:57:39 +02:00
Maxime Devos
f54852be22
utils: Define a target-x86-32? and target-x86-64? predicate.
* guix/utils.scm (target-x86-32?, target-x86-64?): New predicates.
* tests/utils.scm ("target-x86-32?", "target-x86-64?"): New tests.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:38:03 +02:00
Maxime Devos
42e4118150
utils: Give 'target-mingw?' a docstring.
target-hurd? and target-linux? have docstrings, but
target-mingw? doesn't.

* guix/utils.scm (target-mingw?): Add a docstring.

Reported-By: Mathieu Othacehe <othacehe@gnu.org>
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:38:03 +02:00
Maxime Devos
637a1e7dcc
utils: Define 'target-hurd?' predicate.
It behaves similarily to the other target-...? procedures.
The usage of hurd-triplet? / target-hurd? in libgc appears
incorrect to me, as (%current-system) is normally never false.

* gnu/packages/hurd.scm (hurd-triplet?): Move to ...
* guix/util.scm (target-hurd?): ... here, let its argument
  default to (%current-target-system) or (%current-system),
  and write a docstring.
* gnu/packages/hurd.scm
  (hurd-target?, hurd-system?): Use target-hurd? instead of
  hurd-triplet?.
* gnu/packages/bdw-gc.scm (libgc): Likewise.
* gnu/packages/cross-base.scm
  (cross-libc)[arguments]<#:configure-flags>: Likewise.
  (cross-libc)[arguments]<#:phases>: Likewise.
  (cross-libc)[arguments]<#:native-inputs>: Likewise.
* gnu/packages/make-boostrap.scm
  (%glibc-stripped)[inputs]: Likewise.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:38:03 +02:00
Maxime Devos
ef71965c16
utils: Define 'target-linux?' predicate.
* guix/utils.scm (target-linux?): New predicate.
* tests/utils.scm
  ("target-linux?"): Test it.
  ("target-mingw?"): Also test ‘target-mingw?’.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-14 15:38:03 +02:00
Mathieu Othacehe
b4ccf3df0b
openssl: Fix indentation.
* gnu/packages/tls.scm (openssl): Fix indentation.
2021-07-14 15:30:54 +02:00
Vincent Legoll
473e2ee629
gnu: sdl2: Update to 2.0.14.
* gnu/packages/sdl.scm (sdl2): Update to 2.0.14.

Signed-off-by: Leo Famulari <leo@famulari.name>
2021-07-13 09:51:25 +03:00
Efraim Flashner
c2dd2552db
gnu: openssl: Display configure environment.
* gnu/packages/tls.scm (openssl)[arguments]: Adjust custom 'configure
phase to also show how openssl is configured.
2021-07-13 09:28:14 +03:00
Efraim Flashner
919d687a04
gnu: openssl: Honor configure-flags.
* gnu/packages/tls.scm (openssl)[arguments]: Adjust custom 'configure
phase to also use configure-flags.
2021-07-13 09:24:19 +03:00
Ludovic Courtès
12c2648f4e
doc: cookbook: Adjust example to simplified input style.
* doc/guix-cookbook.texi (Extended example): Adjust example to new input
style and adjust "Inputs" section.
2021-07-12 10:59:36 +02:00
Ludovic Courtès
bc7dd3f713
doc: cookbook: Remove trailing #t from extended example.
* doc/guix-cookbook.texi (Extended example): Remove trailing #t from
snippet and phases.
2021-07-12 10:53:32 +02:00
Ludovic Courtès
a6f3800173
gnu: fontconfig: Don't build PDFs.
* gnu/packages/fontutils.scm (fontconfig-with-documentation)[arguments]:
Add 'no-pdf-doc' phase.
2021-07-12 10:42:37 +02:00
Sarah Morgensen
6f12880a76
gnu: fontconfig: Use (locally) deterministic caching
Make fontconfig use directory contents rather than modification time to
determine cache validity (by pretending that mtime is broken).

* gnu/packages/patches/fontconfig-cache-ignore-mtime.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/fontutils.scm (fontconfig)[source]: Use it.
[arguments]: Unset SOURCE_DATE_EPOCH for tests.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-11 18:17:31 +02:00
Ludovic Courtès
9b4c3c675c
news: Add news entry for simplified package inputs.
* etc/news.scm: Add entry.
2021-07-11 01:06:04 +02:00
Ludovic Courtès
ab270bf2e9
import: elpa: Emit new-style package inputs.
* guix/import/elpa.scm (elpa-package->sexp)[dependencies]: Turn into a
list of symbols.
[maybe-inputs]: Wrap in 'list' instead of 'quasiquote'.
2021-07-11 00:49:16 +02:00
Ludovic Courtès
ff992fcfaf
import: print: Emit new-style package inputs when possible.
* guix/import/print.scm (redundant-input-labels?): New procedure.
(package->code)[package-lists->code]: Rename to...
[inputs->code]: ... this.  When 'redundant-input-labels?' returns true,
emit label-less inputs.  Adjust callers to new name.
* tests/print.scm (pkg-with-inputs): Adjust accordingly.
2021-07-11 00:49:16 +02:00
Ludovic Courtès
aa6921634b
import: cran: Emit new-style package inputs.
* guix/import/cran.scm (format-inputs): Emit symbols or
'specification->package' calls.
(maybe-inputs): Wrap in 'list' instead of 'quasiquote'.
* tests/cran.scm ("description->package"): Adjust accordingly.
2021-07-11 00:49:16 +02:00
Ludovic Courtès
52a9a0712a
import: pypi: Emit new-style package inputs.
* guix/import/pypi.scm (maybe-inputs): Wrap PACKAGE-INPUTS in 'list'
instead of 'quasiquote'.
(compute-inputs)[requirement->package-name/sort]: Return a list of symbols.
* tests/pypi.scm ("pypi->guix-package, no wheel")
("pypi->guix-package, wheels"): Adjust accordingly.
2021-07-11 00:49:15 +02:00
Ludovic Courtès
7b7b8c909b
packages: 'hidden-package' inherits the original package location.
* guix/packages.scm (hidden-package): Inherit 'location' from P.
2021-07-11 00:49:15 +02:00
Ludovic Courtès
f23803af20
Add 'guix style'.
* guix/scripts/style.scm, tests/style.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/POTFILES.in: Add 'guix/scripts/style.scm'.
* doc/guix.texi (Invoking guix style): New node.
(package Reference): Reference it.
(Invoking guix lint): Likewise.
2021-07-11 00:49:15 +02:00
Ludovic Courtès
73b08ad1a3
utils: 'edit-expression' copies part of the original source map.
* guix/utils.scm (source-location-key/stamp): New procedure.
(go-to-location): Use it.
(move-source-location-map!): New procedure.
(edit-expression): Call it.
2021-07-11 00:49:15 +02:00
Ludovic Courtès
f05433f208
utils: 'edit-expression' modifies the file only if necessary.
* guix/utils.scm (edit-expression): Check whether STR* equals STR.
2021-07-11 00:49:15 +02:00
Ludovic Courtès
ef1432f064
utils: Add 'go-to-location' with source location caching.
* guix/utils.scm (%source-location-map): New variable.
(go-to-location): New procedure.
(edit-expression): Use it instead of custom loop.
* guix/packages.scm (package-field-location)[goto]: Remove.
Use 'go-to-location' instead of 'goto'.
2021-07-11 00:49:15 +02:00
Ludovic Courtès
4dcc606766
utils: 'edit-expression' no longer leaks file ports.
* guix/utils.scm (edit-expression): Use 'call-with-input-file' to make
sure IN gets closed.
2021-07-11 00:49:14 +02:00
Ludovic Courtès
2f73ea3487
gnu: Change inputs of core packages to plain lists.
This is transparent: the resulting derivations are unchanged.

* gnu/packages/base.scm (grep, sed, tar, patch, diffutils, glibc/hurd-headers)
(coreutils, gnu-make, make-glibc-utf8-locales): Change input fields to
plain package lists and use 'modify-inputs'.
* gnu/packages/guile.scm (guile-1.8, guile-json-1, guile-json-3)
(guile-gdbm-ffi, guile-sqlite3, guile-bytestructures)
(guile-git, guile-zlib, guile-lzlib, guile-zstd, guile-next): Likewise.
* gnu/packages/mes.scm (nyacc-0.86, nyacc-0.99)
(nyacc, nyacc-1.00.2, mes-0.19, mes, m2-planet): Likewise.
2021-07-11 00:49:14 +02:00
Ludovic Courtès
04b2f3dd80
packages: Add 'modify-inputs'.
* guix/packages.scm (inputs-sans-labels, replace-input): New procedures.
(prepend, replace, modify-inputs): New macros.
* doc/guix.texi (Defining Package Variants): Document 'modify-inputs'.
* dir-locals.el: Add 'modify-inputs' and its keywords.
2021-07-11 00:49:14 +02:00
Ludovic Courtès
ba32f63638
packages: Add 'lookup-package-input' & co.
* guix/packages.scm (lookup-input, lookup-package-input)
(lookup-package-native-input, lookup-package-propagated-input)
(lookup-package-direct-input): New procedures.
* doc/guix.texi (package Reference): Document them.
2021-07-11 00:49:14 +02:00
Ludovic Courtès
b7f1b4c1d0
lint: Add 'input-labels' checker.
* guix/lint.scm (check-input-labels): New procedure.
(%local-checkers): Add 'input-labels' checker.
* tests/lint.scm ("input labels: no warnings")
("input labels: one warning"): New tests.
* doc/guix.texi (Invoking guix lint): Mention it.
2021-07-11 00:49:14 +02:00
Ludovic Courtès
8524349f78
packages: Allow inputs to be plain package lists.
* guix/packages.scm (add-input-label, sanitize-inputs): New procedures.
(<package>)[inputs, propagated-inputs, native-inputs]: Add 'sanitize' property.
* doc/guix.texi (Defining Packages, package Reference):
(Defining Package Variants): Adjust examples accordingly.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades, propagated inputs")
("transaction-upgrade-entry, grafts")
("package-transitive-inputs")
("package-transitive-supported-systems")
("package-closure")
("supported-package?")
("package-derivation, inputs deduplicated")
("package-transitive-native-search-paths")
("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted")
("package->bag, sensitivity to %current-target-system")
("package->bag, propagated inputs")
("package->bag, sensitivity to %current-system")
("package-input-rewriting/spec, identity")
("package-input-rewriting, identity"): Use the label-less input style.
2021-07-11 00:49:14 +02:00
Ludovic Courtès
8be1632199
records: Support field sanitizers.
* guix/records.scm (make-syntactic-constructor): Add #:sanitizers.
[field-sanitizer]: New procedure.
[wrap-field-value]: Honor F's sanitizer.
(define-record-type*)[field-sanitizer]: New procedure.
Pass #:sanitizer to 'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & sanitize")
("define-record-type* & sanitize & thunked"): New tests.
2021-07-11 00:49:14 +02:00
Ludovic Courtès
2a3cd4ee35
environment: Adjust to earlier 'gcc-bootstrap' search paths changes.
This is a followup to fe6775f52b.

* tests/guix-environment.sh: Expect C_INCLUDE_PATH rather than CPATH in
environment containing 'gcc-bootstrap'.
2021-07-11 00:46:54 +02:00
Ludovic Courtès
152b167cfa
pack: Adjust test to earlier <compressor> changes.
This is a followup to 5a0997ef7f, which
broke the "self-contained tarball" test.

* tests/pack.scm (%gzip-compressor): Add 'list' in third field.
2021-07-11 00:39:56 +02:00
Ludovic Courtès
ac815ecd63
ci: Build commencement packages supported on the target system.
This is a followup to df49fe2a13.

* gnu/ci.scm (%bootstrap-packages): Rename to...
(commencement-packages): ... this, and turn into a procedure.  Filter
packages that pass 'supported-package?'.
(cuirass-jobs): Adjust accordingly.
2021-07-10 19:59:31 +02:00
Julien Lepiller
80506bc6da
gnu: python-pyyaml: Fix build.
python-cython is required to generate the C source for the libyaml
extension, which is required for the `_yaml' module to work.  This in
turn lets the `sanity-check' phase succeed.

* gnu/packages/python-xyz.scm (python-pyyaml)[inputs]: Add
python-cython.
2021-07-10 01:39:07 +02:00
Ludovic Courtès
c823b95825
gnu: coreutils: Patch broken Gnulib tests.
Fixes <https://bugs.gnu.org/49459>.

* gnu/packages/patches/coreutils-gnulib-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (coreutils)[source]: Use it.
2021-07-10 01:31:42 +02:00
Mathieu Othacehe
df49fe2a13
ci: Add bootstrap packages to the core subset.
* gnu/ci.scm (%bootstrap-packages): New variable.
(cuirass-jobs): Add it to the core subset.
2021-07-09 14:12:40 +02:00
Brice Waegeneire
7bb9c3ebbb
gnu: kmod: Add zstd support.
* gnu/packages/linux.scm (kmod)[inputs]: Add zstd:lib.
[arguments]: Enable zstd support.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-08 19:21:11 +02:00
Brice Waegeneire
25041719da
gnu: kmod: Update to 29.
* gnu/packages/linux.scm (kmod): Update to 29.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-08 19:20:46 +02:00
Matthew James Kraai
64b8e004fd
gnu: xkbcomp: Update to 1.4.5.
* gnu/packages/xorg.scm (xkbcomp): Update to 1.4.5.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-07-08 16:18:10 +02:00