guix-devel/tests
Robert Vollmert ca45da9fc9
import: hackage: Handle Hackage revisions.
Hackage packages can have metadata revisions (Cabal file only) that are
not reflected in the source archive.  The Haskell build system has
support for this, but until now the Hackage importer would create a
package based on the revised Cabal file which would then build using the
old Cabal file.

Fixes <https://bugs.gnu.org/35750>.

* guix/import/cabal.scm (<cabal-package>): Add 'revision' field.
(eval-cabal): Parse 'x-revision:' property.
* guix/import/hackage.scm (read-cabal-and-hash): New procedure.
(hackage-fetch-and-hash): New procedure.
(hackage-fetch): Rewrite using 'hackage-fetch-and-hash'.
(hackage-module->sexp): Add 'cabal-hash' argument and use it to populate
the '#:cabal-revision' argument.
(hackage->guix-package): Use the new '-and-hash' functions to get the
hash of the Cabal file and pass it to 'hackage-module->sexp'.
* guix/tests/hackage.scm: Test import of Cabal file revision.

Signed-off-by: Timothy Sample <samplet@ngyro.com>
2019-06-13 22:18:52 -04:00
..
accounts.scm tests: Adjust accounts test to shell-as-config change. 2019-04-27 16:30:40 +02:00
base16.scm
base32.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
base64.scm
bournish.scm
build-utils.scm booloader: Add 'invoke/quiet'. 2019-03-16 18:15:13 +01:00
builders.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
cache.scm
challenge.scm tests: Add 'test-assertm' to (guix tests). 2018-11-12 23:37:13 +01:00
channels.scm inferior: 'gexp->derivation-in-inferior' honors EXP's load path. 2019-01-20 17:57:14 +01:00
combinators.scm
containers.scm linux-container: Make the guest UID and GID a parameter. 2019-04-02 18:15:37 +02:00
cpan.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
cpio.scm
cran.scm
crate.scm import: crate: Define dependencies as arguments. 2019-06-11 18:05:44 -07:00
cve-sample.xml
cve.scm
debug-link.scm tests: Add 'test-assertm' to (guix tests). 2018-11-12 23:37:13 +01:00
derivations.scm store: 'build-things' accepts derivation/output pairs. 2019-06-10 22:42:59 +02:00
discovery.scm discovery: Recurse into directories pointed to by a symlink. 2017-07-03 23:51:23 +02:00
elpa.scm tests: elpa: Don't actually download files. 2018-03-18 22:33:41 +01:00
file-systems.scm uuid: Move tests to 'tests/uuid.scm'. 2017-09-14 00:10:13 +02:00
gem.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
gexp.scm store: Rename '&nix-error' to '&store-error'. 2019-01-21 23:09:55 +01:00
glob.scm glob: Add an extra glob pattern compilation stage. 2018-03-18 22:57:17 +01:00
gnu-maintenance.scm
grafts.scm grafts: Record metadata as derivation properties. 2018-11-28 10:39:58 +01:00
graph.scm graph: Add the 'reverse-bag' graph. 2019-03-23 18:15:36 +01:00
gremlin.scm gremlin: Adjust tests for foreign distros. 2019-05-18 12:10:15 +02:00
guix-archive.sh
guix-authenticate.sh
guix-build-branch.sh git: Nicely report '--with-commit' errors. 2018-11-30 17:03:04 +01:00
guix-build.sh guix build: Accept multiple '-s' options. 2019-04-19 17:46:40 +02:00
guix-daemon.sh daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables. 2019-02-04 00:03:30 +01:00
guix-describe.sh Add 'guix describe'. 2018-09-07 11:40:22 +02:00
guix-download.sh guix download: Support retrieving local file without the URI scheme. 2017-08-20 20:55:45 +08:00
guix-environment-container.sh environment: '-C' creates namespaces where the user is not root. 2019-04-02 18:15:37 +02:00
guix-environment.sh environment: Non ad-hoc mode also honors transformation options. 2019-05-07 15:46:53 +02:00
guix-gc.sh guix gc: Add '--list-roots'. 2019-04-10 17:09:47 +02:00
guix-graph.sh
guix-hash.sh
guix-lint.sh
guix-pack-localstatedir.sh pack: '--localstatedir' and '-R' tests gracefully handle missing /gnu/store. 2019-05-18 12:23:31 +02:00
guix-pack-relocatable.sh pack: '--localstatedir' and '-R' tests gracefully handle missing /gnu/store. 2019-05-18 12:23:31 +02:00
guix-pack.sh pack: Add '--root'. 2019-05-22 00:09:41 +02:00
guix-package-aliases.sh guix package: Add 'guix search' alias. 2019-04-29 12:19:24 +02:00
guix-package-net.sh guix package: '--upgrade' preserves package order. 2019-01-15 12:05:25 +01:00
guix-package.sh discovery: 'all-modules' returns modules in path order. 2019-05-26 23:02:02 +02:00
guix-system.sh tests: Adjust wildcard when testing OS examples. 2019-04-29 21:57:52 +02:00
hackage.scm import: hackage: Handle Hackage revisions. 2019-06-13 22:18:52 -04:00
import-utils.scm import: utils: 'alist->package' allows false license. 2018-02-16 11:10:12 +01:00
inferior.scm inferior: Add 'inferior-available-packages'. 2019-02-12 23:30:16 +01:00
lint.scm tests: More adjustments to python.scm split. 2019-01-20 11:49:10 +02:00
lzlib.scm lzlib: Add 'make-lzip-input-port/compressed'. 2019-05-27 22:47:24 +02:00
modules.scm
monads.scm
nar.scm serialization: 'restore-file' errors out upon non-convertible file names. 2019-01-18 17:51:34 +01:00
opam.scm import: opam: Fix conditions. 2019-02-05 22:33:06 +01:00
pack.scm tests: Adjust 'guix pack -f squashfs' test. 2019-03-24 00:13:53 +01:00
packages.scm packages: Add 'package-input-rewriting/spec'. 2019-03-17 22:55:01 +01:00
pki.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
print.scm import: print: Honor the outputs of inputs (!). 2019-06-07 22:49:47 +02:00
processes.scm Add 'guix processes'. 2018-10-29 00:13:38 +01:00
profiles.scm profiles: Raise an error for unmatched patterns. 2019-02-07 15:46:45 +01:00
publish.scm publish: '--compression' can be repeated. 2019-06-02 22:01:57 +02:00
pypi.scm gnu: Use pypi.org. 2018-10-18 23:46:33 -04:00
records.scm records: Support custom 'this' identifiers. 2019-03-30 11:08:39 +01:00
scripts-build.scm guix build: '--with-commit' makes recursive checkouts. 2019-03-17 22:55:01 +01:00
scripts.scm tests: Add missing import. 2019-03-24 00:13:53 +01:00
search-paths.scm
services.scm tests: Remove duplicate field initializers. 2019-01-24 20:47:21 +01:00
sets.scm
signing-key.pub
signing-key.sec
size.scm tests: Add 'test-assertm' to (guix tests). 2018-11-12 23:37:13 +01:00
snix.scm
status.scm status: Keep track of the current build phase. 2019-02-05 12:03:25 +01:00
store-database.scm database: Reset timestamps to one second after the Epoch. 2018-07-20 15:01:33 +02:00
store-deduplication.scm deduplication: Gracefully handle ENOSPC raised by 'link' calls. 2018-12-14 12:07:24 +01:00
store-roots.scm Add (guix store roots). 2019-04-10 17:09:47 +02:00
store.scm store: 'build-things' accepts derivation/output pairs. 2019-06-10 22:42:59 +02:00
substitute.scm substitute: Select the best compression methods. 2019-06-02 22:01:57 +02:00
syscalls.scm syscalls: Define AT_SYMLINK_NOFOLLOW et al. 2018-07-03 17:50:04 +02:00
system.scm system: Mapped devices needed for boot do not yield Shepherd services. 2018-06-21 23:54:15 +02:00
test.drv
texlive.scm guix: Add texlive importer. 2017-06-15 17:03:19 +02:00
ui.scm
union.scm union: Add 'relative-file-name'. 2018-05-10 14:53:56 +02:00
upstream.scm upstream: Temporarily skip failing test. 2019-01-28 23:13:40 +01:00
utils.scm utils: Support compression and decompression with lzip. 2019-05-27 22:47:24 +02:00
uuid.scm uuid: 'fat-uuid->string' preserves leading zeros. 2019-05-07 12:18:44 +02:00
workers.scm workers: Add test with exceptions. 2017-11-17 10:47:49 +01:00
zlib.scm tests: Gracefully skip zlib test when zlib is missing. 2019-04-16 17:30:22 +02:00