Commit graph

69958 commits

Author SHA1 Message Date
raingloom
64f032d73f
build-system: Add chicken-build-system.
* guix/build-system/chicken.scm: New file.
* guix/build/chicken-build-system.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi: Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-03 16:18:33 +01:00
raingloom
918a643bf9
gnu: chicken: Add 'CHICKEN_REPOSITORY_PATH' search path spec.
* gnu/packages/chicken.scm (chicken)[native-search-paths]: New field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-03 15:44:21 +01:00
Ludovic Courtès
fbb380a088
self: Factorize package dependency enumeration.
* guix/self.scm (transitive-package-dependencies): New procedure.
(compiled-guix)[dependencies]: Use it.
2020-12-03 14:34:26 +01:00
Ludovic Courtès
720e87fe91
gnu: guile-semver: Switch to Guile 3.0.
* gnu/packages/guile-xyz.scm (guile-semver)[inputs]: Use GUILE-3.0.
(guile3.0-semver): Define in terms of 'deprecated-package'.
(guile2.2-semver): New variable.
2020-12-03 13:48:53 +01:00
Pierre Neidhardt
1d0354332a
gnu: sbcl-cl-webkit: Update hash.
* gnu/packages/lisp-xyz.scm (sbcl-cl-webkit): Update hash which was forgotten
in previous update commit.
2020-12-03 12:42:43 +01:00
Danny Milosavljevic
846e52400f
ci: Build novena-barebones-raw-image.
* gnu/ci.scm (%guix-system-images): Add novena-barebones-raw-image.
2020-12-03 12:36:03 +01:00
Pierre Neidhardt
2dff3ad6e0
gnu: sbcl-cl-webkit: Update to 20201203.
* gnu/packages/lisp-xyz.scm (sbcl-cl-webkit): Update to 20201203.
2020-12-03 12:35:16 +01:00
Pierre Neidhardt
75b11d6713
gnu: lisp-repl-core-dumper: Update to 0.3.0.
* gnu/packages/lisp.scm (lisp-repl-core-dumper): Update to 0.3.0.
2020-12-03 12:35:16 +01:00
Danny Milosavljevic
295aa49ec9
images: novena: Replace agetty-service by term-auto.
* gnu/system/images/novena.scm (novena-barebones-os)[kernel-arguments]: New
field.
[services]: Remove field.
2020-12-03 12:24:36 +01:00
Danny Milosavljevic
9cf531f577
images: Add novena-image-type, novena-barebones-raw-image, novena-barebones-os.
* gnu/system/images/novena.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2020-12-03 12:11:00 +01:00
Nicolas Goaziou
c050bef5cf
gnu: rust-openssl-0.10: Update to 0.10.30.
* gnu/packages/crates-io.scm (rust-openssl-0): Update to 0.10.30.
2020-12-03 09:35:05 +01:00
Nicolas Goaziou
4c024bdb44
gnu: rust-url-2: Update to 2.2.0.
* gnu/packages/crates-io.scm (rust-url-2): Update to 2.2.0.
[arguments]: Add `rust-form-url-encoded' to Cargo inputs.
2020-12-03 09:29:54 +01:00
Nicolas Goaziou
4c5788348c
gnu: Add rust-form-urlencoded-1.
* gnu/packages/crates-io.scm (rust-form-urlencoded-1): New variable.
2020-12-03 09:29:42 +01:00
Nicolas Goaziou
58e1d0e642
gnu: monolith: Make description more neutral.
* gnu/packages/web.scm (monolith)[description]: Make description more neutral.
2020-12-03 09:08:05 +01:00
Efraim Flashner
d986544316
gnu: libsoup: Patch docbook-xml references.
* gnu/packages/gnome.scm (libsoup)[arguments]: Add phase to refer to
local copy of docbook-xml.
[native-inputs]: Add docbook-xml-4.1.2.
2020-12-03 08:59:52 +02:00
Efraim Flashner
6b7c483328
gnu: google-brotli: Update to 1.0.9 (Fixes CVE-2020-8927).
* gnu/packages/compression.scm (google-brotli): Update to 1.0.9.
[source]: Add snippet to remove unrecognized '-R' flag from pkg-config
files.
2020-12-03 08:59:40 +02:00
Leo Famulari
a5de7312ac
gnu: linux-libre 4.4: Update to 4.4.247.
* gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.247.
(linux-libre-4.4-pristine-source): Update hash.
2020-12-02 23:13:45 -05:00
Leo Famulari
494760eedc
gnu: linux-libre 4.9: Update to 4.9.247.
* gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.247.
(linux-libre-4.9-pristine-source): Update hash.
2020-12-02 23:13:44 -05:00
Leo Famulari
ec21e070de
gnu: linux-libre 4.14: Update to 4.14.210.
* gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.210.
(linux-libre-4.14-pristine-source): Update hash.
2020-12-02 23:13:44 -05:00
Leo Famulari
130b302688
gnu: linux-libre 4.19: Update to 4.19.161.
* gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.161.
(linux-libre-4.19-pristine-source): Update hash.
2020-12-02 23:13:44 -05:00
Leo Famulari
59c5996508
gnu: linux-libre 5.4: Update to 5.4.81.
* gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.81.
(linux-libre-5.4-pristine-source): Update hash.
2020-12-02 23:13:44 -05:00
Leo Famulari
7f75686c00
gnu: linux-libre: Update to 5.9.12.
* gnu/packages/linux.scm (linux-libre-5.9-version): Update to 5.9.12.
(linux-libre-5.9-pristine-source): Update hash.
2020-12-02 23:13:41 -05:00
Brett Gilio
003367b4d3
gnu: emacs-telega: Update to 0.7.1.
* gnu/packages/emacs-xyz.scm (emacs-telega): Update to 0.7.1.
2020-12-02 18:13:14 -06:00
Brett Gilio
71cb686a02
gnu: tdlib: Update to 1.7.0.
* gnu/packages/messaging.scm (tdlib): Update to 1.7.0.
2020-12-02 18:12:56 -06:00
Nicolas Goaziou
3526028223
gnu: Add monolith.
* gnu/packages/web.scm (monolith): New variable.
2020-12-02 23:45:02 +01:00
Jonathan Brielmaier
266d5705cd
gnu: icedove: Update to 78.5.1 [fixes CVE-2020-26970].
* gnu/packages/gnuzilla.scm (icedove): Update to 78.5.1.
2020-12-02 22:34:24 +01:00
Hartmut Goebel
054e308f5d
import: crate: Use existing package satisfying semver requirement.
If a package satisfying the dependency's semver requirement already exists,
use it. Prior to this change the highest version matching the semver
requirement was used (and imported in case it was not defined as package
already).

When resolving a dependency (now done in `sort-map-dependencies`), first
search for a package matching the semver requirement and only if this fails
reach out for a crate.

* guix/import/crate.scm (crate->guix-package)[find-package-version]: New
  function. [dependency-name+version]: New function.
  [sort-map-dependencies]: Use it instead of lambda function.

* tests/crate.scm (test-doctool-crate, test-doctool-dependencies): New
  variables.
  ("self-test …", "cargo-recursive-import-hoors-existing-packages"): New
  tests.
2020-12-02 22:09:23 +01:00
Hartmut Goebel
45584061a9
import: crate: Trim version for names after left-most non-zero part.
This complies to how versions are matched for caret requirements in crates:
An update is allowed if the new version number does not modify the left-most
non-zero digit in the major, minor, patch grouping.

* guix/import/crate.scm (version->semver-prefix): New function.
  (make-crate-sexp)[format-inputs]: Use it.
  (make-crate-sexp): Use it to pass shorter version to package->definition.
* guix/import/utils.scm (package->definition): Change optional parameter
  APPEND-VERSION? into APPEND-VERSION?/STRING. If it is a string, append its
  value to name.
* tests/crate.scm: Adjust tests accordingly.
2020-12-02 22:09:23 +01:00
Hartmut Goebel
9a48e35be8
import: utils: Trim patch version from names.
This remove the patch version from generated package names. For example
'rust-my-crate-1.1.2' now becomes 'rust-my-crate-1.1'.

* guix/import/utils.scm (package->definition): Trim patch version from
  generated package names.
* tests/crate.scm: (cargo>guix-package, cargo-recursive-import): Likewise.
2020-12-02 22:09:23 +01:00
Martin Becze
50fbb3f032
import: crate: Parameterized importing of dev dependencies.
The recursive crate importer will now include development dependencies only
for the top level package, but not for any of the recursively imported
packages.  Also #:skip-build will be false for the top-most package.

* guix/import/crate.scm (make-crate-sexp): Add the key BUILD?.
  (crate->guix-package): Add the key INCLUDE-DEV-DEPS?.
  (crate-recursive-import): Likewise.
* guix/scripts/import/crate.scm (guix-import-crate): Likewise.
* tests/crate.scm (cargo-recursive-import): Likewise.
2020-12-02 22:09:23 +01:00
Martin Becze
d9feb23e10
import: crate: Memorize crate->guix-package.
This adds memorization to procedures that involve network lookups.
'lookup-crate*' is used on every dependency of a package to get its version
list. It is also used to lookup a package's metadata. 'crate-recursive-import'
is also memorized since creating the same package twice will trigger a lookup
on its dependencies.

* guix/import/crate.scm (lookup-crate*): New procedure.
  (crate->guix-package): Memorize package metadata lookups.
  (crate-recursive-import): Memorize package creation.
2020-12-02 22:09:23 +01:00
Martin Becze
269c1db41b
import: crate: Use guile-semver to resolve module versions.
* guix/import/crate.scm: Add guile-semver as a soft dependency.
  (make-crate-sexp): Don't allow other keys. Add '#:skip-build?' to build
  system args. Pass a VERSION argument to 'cargo-inputs'.
  (crate->guix-package): Use guile-semver to resolve the correct module
  versions. Treat "build" dependencies as normal dependencies.
  (crate-name->package-name): Reuse the procedure 'guix-name' instead of
  duplicating its logic.
* guix/import/utils.scm (package-names->package-inputs): Implement
  handling of (name version) pairs.
* guix/scripts/import/crate.scm (guix-import-crate): Use
  crate-recursive-import instead of duplicate code.
* tests/crate.scm (recursive-import): Change test packages versions to be
  distinguishable. Add version data to the test. Check created symbols, too.

Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
2020-12-02 22:09:23 +01:00
Martin Becze
bea3b17739
import: utils: 'recursive-import' accepts an optional version parameter.
This adds a key VERSION to 'recursive-import' and moves the parameter REPO to
a key. This also changes all the places that rely on 'recursive-import'.

* guix/import/utils.scm (recursive-import): Add the VERSION key. Make REPO a
  key.
  (package->definition): Add optional 'append-version?'.
* guix/scripts/import/crate.scm (guix-import-crate): Add the VERSION key.
* guix/import/crate.scm (crate->guix-package): Add the VERSION key.
  (crate-recursive-import): Pass VERSION to recursive-import, remove now
  unnecessary code.
* guix/import/cran.scm (cran->guix-package, cran-recursive-import): Change the
  REPO parameter to a key.
* guix/import/elpa.scm (elpa->guix-package, elpa-recursive-import): Likewise.
* guix/import/gem.scm (gem->guix-package, recursive-import): Likewise.
* guix/import/opam.scm (opam-recurive-import): Likewise.
* guix/import/pypi.scm (pypi-recursive-import): Likewise.
* guix/import/stackage.scm (stackage-recursive-import): Likewise.
* guix/scripts/import/cran.scm (guix-import-cran): Likewise.
* guix/scripts/import/elpa.scm (guix-import-elpa): Likewise.
* tests/elpa.scm (eval-test-with-elpa): Likewise.
* tests/import-utils.scm (recursive-import): Likewise.

Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
2020-12-02 22:09:23 +01:00
Martin Becze
23e2cd156f
guix: self: Add guile-semver as a depenedency.
* guix/self.scm (compiled-guix): Add guile-semver as a depenedency.
2020-12-02 22:09:23 +01:00
Nicolas Goaziou
9a1b1124c0
gnu: snap: Update to 6.3.7.
* gnu/packages/education.scm (snap): Update to 6.3.7.
2020-12-02 22:03:40 +01:00
Nicolas Goaziou
b12bf263db
gnu: rust-base64-0.13: Fix code typo.
* gnu/packages/crates-io.scm (rust-base64-0.13): Fix code typo.
2020-12-02 22:03:39 +01:00
Hartmut Goebel
6f9edf40b8
gnu: sequoia: Update to 0.20.0.
* gnu/packages/sequoia.scm (sequoia): Update to 0.20.0. [cargo-inputs,
  cargo-development-inputs] Update dependencies. [phases]{unpin-deps}: Adjust
  path of file to substitute.  {adjust-prefix} Rename to {fix-environment} and
  set another envormnet variable. {keep-SOURCE_DATE_EPOCH}: New phase.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
a1b9f68152
gnu: rust-rusqlite: Update to 0.24.
* gnu/packages/crates-io.scm (rust-rusqlite): Update to 0.24.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
e02822ede5
gnu: Add rust-libsqlite3-sys-0.20.
* gnu/packages/crates-io.scm (rust-libsqlite3-sys-0.20): New variable,
  skipping build.
  (rust-libsqlite3-sys-0.15): Inherit from rust-libsqlite3-sys-0.20.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
8076a18e32
gnu: Add rust-hashbrown-0.9.
* gnu/packages/crates-io.scm (rust-hashbrown-0.9): New variable, skipping
  build.  (rust-hashbrown-0.8): Inherit from rust-hashbrown-0.9.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
472a74bf6f
gnu: Add rust-hashlink-0.6.
* gnu/packages/crates-io.scm (rust-hashlink-0.6): New variable.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
5e3e43c672
gnu: Add rust-base64-0.13.
* gnu/packages/crates-io.scm (rust-base64-0.13): New variable, skipping
  build.  (rust-base64-0.12): Inherit from rust-base64-0.13.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
d81dee205c
gnu: Add rust-bzip2-0.4.
* gnu/packages/crates-io.scm(rust-bzip2-0.4): New variable, skipping
  build.  (rust-bzip2-0.3): Inherit from rust-bzip2-0.4.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
325b4c83db
gnu: Add rust-dyn-clone-1.
* gnu/packages/crates-io.scm (rust-dyn-clone-1): New variable.
2020-12-02 21:53:44 +01:00
Hartmut Goebel
5979d01cbb
gnu: Add rust-ed25519-dalek-1.
* gnu/packages/crates-io.scm (rust-ed25519-dalek-1): New variable.
2020-12-02 21:53:43 +01:00
Hartmut Goebel
c2b5feeb52
gnu: Add rust-curve25519-dalek-3.
* gnu/packages/crates-io.scm (rust-curve25519-dalek-3): New variable.
2020-12-02 21:53:43 +01:00
Hartmut Goebel
09f0605111
gnu: Add rust-ed25519-1.
* gnu/packages/crates-io.scm (rust-ed25519-1): New variable.
2020-12-02 21:53:43 +01:00
Hartmut Goebel
1b9ffd73ea
gnu: Add rust-signature-1.
* gnu/packages/crates-io.scm (rust-signature-1): New variable.
2020-12-02 21:53:43 +01:00
Hartmut Goebel
e6ab1ab27d
gnu: Add rust-signature-derive-1.
* gnu/packages/crates-io.scm (rust-signature-derive-1): New variable.
2020-12-02 21:53:43 +01:00
Hartmut Goebel
369c3fef59
gnu: Add rust-merlin-2.
* gnu/packages/crates-io.scm (rust-merlin-2): New variable.
2020-12-02 21:53:43 +01:00