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 utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
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 colors: Add 'highlight'. 2019-04-14 23:40:52 +02:00
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 describe: Add 'current-profile-date'. 2019-03-17 22:55:01 +01:00
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 gexp: 'compiled-modules' loads modules before compiling them. 2019-04-04 17:47:02 +02:00
git-download.scm guix: git-download: Remove explicit import. 2019-06-06 20:35:54 +02:00
git.scm git: Add an exception printer for 'git-error'. 2019-02-11 23:23:28 +01:00
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 download: Download a nar when a VCS checkout fails. 2017-10-19 23:21:49 +02:00
http-client.scm
i18n.scm
inferior.scm channels: Do not fail when the inferior lacks 'guix repl'. 2019-03-08 12:31:38 +01:00
licenses.scm licenses: Remove 'bsd-style'. 2019-04-08 10:42:51 +02:00
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 Remove traces of "GuixSD". 2019-03-13 23:12:43 +01:00
monad-repl.scm
monads.scm
nar.scm nar: Really lock store files. 2019-06-05 23:10:37 +02:00
packages.scm gexp: 'compiled-modules' loads modules before compiling them. 2019-04-04 17:47:02 +02:00
pki.scm
profiles.scm profiles: Add 'generation-profile'. 2019-04-10 17:09:47 +02:00
profiling.scm
progress.scm progress: Provide the proper type for %PROGRESS-INTERVAL. 2019-06-02 01:38:36 +02:00
records.scm records: Support custom 'this' identifiers. 2019-03-30 11:08:39 +01:00
scripts.scm scripts: GC hint suggests 'guix gc -d 1m'. 2019-04-10 17:09:47 +02:00
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 colors: Introduce a disjoint type and pre-compute ANSI escapes. 2019-04-11 18:18:13 +02:00
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 refresh: Update the source code URL. 2019-03-27 14:59:42 +01:00
utils.scm utils: Support compression and decompression with lzip. 2019-05-27 22:47:24 +02:00
workers.scm
zlib.scm