guix-devel/guix
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
..
build build-system/cargo: Don't copy source as an output. 2019-06-11 18:05:44 -07:00
build-system build-system/cargo: Don't copy source as an output. 2019-06-11 18:05:44 -07:00
import import: hackage: Handle Hackage revisions. 2019-06-13 22:18:52 -04:00
scripts pack: Fix 'guix pack -f docker'. 2019-06-10 23:16:47 +02:00
store gnu, guix: Yearly ritual purging of the filesystems. 2019-04-25 04:42:16 +02:00
tests
base16.scm
base32.scm
base64.scm
build-system.scm
bzr-download.scm Add (guix bzr-download). 2019-05-09 00:22:37 -04:00
cache.scm
channels.scm deprecation: Use the 'warning' procedure for diagnostics. 2019-06-03 23:18:47 +02:00
ci.scm
colors.scm
combinators.scm
config.scm.in Add (guix lzlib). 2019-05-06 23:21:33 +02:00
cpio.scm
cve.scm
cvs-download.scm
deprecation.scm deprecation: Use the 'warning' procedure for diagnostics. 2019-06-03 23:18:47 +02:00
derivations.scm store: 'build-things' accepts derivation/output pairs. 2019-06-10 22:42:59 +02:00
describe.scm
diagnostics.scm Add (guix diagnostics). 2019-06-03 23:18:47 +02:00
discovery.scm discovery: 'all-modules' returns modules in path order. 2019-05-26 23:02:02 +02:00
docker.scm docker: 'build-docker-image' accepts an optional #:entry-point. 2019-05-15 16:36:21 +02:00
download.scm download: Update list of content-addressed mirrors. 2019-06-10 22:42:23 +02:00
elf.scm
ftp-client.scm
gexp.scm
git-download.scm guix: git-download: Remove explicit import. 2019-06-06 20:35:54 +02:00
git.scm
glob.scm
gnu-maintenance.scm gnu-maintenance: Switch to ftp.mirrorservice.org for KDE updater. 2019-06-10 13:58:24 +02:00
gnupg.scm
grafts.scm
graph.scm
hg-download.scm
http-client.scm
i18n.scm
inferior.scm
licenses.scm
lzlib.scm lzlib: 'make-lzip-input-port' better handles end of decompression. 2019-06-01 15:26:30 +02:00
man-db.scm
memoization.scm
modules.scm
monad-repl.scm
monads.scm
nar.scm nar: Really lock store files. 2019-06-05 23:10:37 +02:00
packages.scm
pki.scm
profiles.scm
profiling.scm
progress.scm progress: Provide the proper type for %PROGRESS-INTERVAL. 2019-06-02 01:38:36 +02:00
records.scm
scripts.scm
search-paths.scm
self.scm self: Fix unquoting. 2019-05-28 23:21:27 +02:00
serialization.scm
sets.scm
ssh.scm ssh: Add missing import. 2019-06-10 22:42:52 +02:00
status.scm
store.scm store: 'build-things' accepts derivation/output pairs. 2019-06-10 22:42:59 +02:00
svn-download.scm
swh.scm
tests.scm lzlib: Add 'make-lzip-input-port/compressed'. 2019-05-27 22:47:24 +02:00
ui.scm Add (guix diagnostics). 2019-06-03 23:18:47 +02:00
upstream.scm
utils.scm utils: Support compression and decompression with lzip. 2019-05-27 22:47:24 +02:00
workers.scm
zlib.scm