guix import hackage darcs: fails due to flag executable

  • Done
  • quality assurance status badge
Details
5 participants
  • Federico Beffa
  • Dave Love
  • Lars-Dominik Braun
  • Ludovic Courtès
  • Robert Vollmert
Owner
unassigned
Submitted by
Dave Love
Severity
normal
D
D
Dave Love wrote on 8 Dec 2016 14:56
failing hackage import
(address . bug-guix@gnu.org)
87vauu7ceb.fsf@pc102091.liv.ac.uk
With guix 20161208.12 I see the following, which would probably take me
a while to debug as I don't know my way around. (With the 0.11.0
version I got a different error without a backtrace. I upgraded after
seeing a bug fix for hackage in the tracker.)

$ guix import hackage -t darcs
Backtrace:
In ice-9/boot-9.scm:
160: 16 [catch #t #<catch-closure 11e6e40> ...]
In unknown file:
?: 15 [apply-smob/1 #<catch-closure 11e6e40>]
In ice-9/boot-9.scm:
66: 14 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 13 [eval # #]
In ice-9/boot-9.scm:
2404: 12 [save-module-excursion #<procedure 1206900 at ice-9/boot-9.scm:4051:3 ()>]
4056: 11 [#<procedure 1206900 at ice-9/boot-9.scm:4051:3 ()>]
1727: 10 [%start-stack load-stack ...]
1732: 9 [#<procedure 1219b70 ()>]
In unknown file:
?: 8 [primitive-load "/gnu/store/hckw4cw3m6r55afrldhn9gf66wrznh7i-guix-0.11.0-8.8d12/bin/.guix-real"]
In guix/ui.scm:
1222: 7 [run-guix-command import "hackage" "-t" "darcs"]
In guix/scripts/import.scm:
110: 6 [guix-import "hackage" "-t" "darcs"]
In guix/scripts/import/hackage.scm:
110: 5 [guix-import-hackage "-t" "darcs"]
In guix/import/hackage.scm:
247: 4 [hackage->guix-package "darcs" #:include-test-dependencies? ...]
113: 3 [hackage-fetch "darcs"]
In guix/import/cabal.scm:
580: 2 [read-cabal #<input: r6rs-custom-binary-input-port 38ef8f0> #f]
In system/base/lalr.upstream.scm:
1956: 1 [___run]
1851: 0 [___push 1 6 ...]
system/base/lalr.upstream.scm:1851:2: In procedure ___push:
system/base/lalr.upstream.scm:1851:2: Wrong number of arguments to #<procedure ___push (delta new-category lvalue tok)>
L
L
Ludovic Courtès wrote on 9 Dec 2016 21:57
(name . Dave Love)(address . fx@gnu.org)
87inqs7rci.fsf@gnu.org
Hi,

Dave Love <fx@gnu.org> skribis:

Toggle quote (40 lines)
> With guix 20161208.12 I see the following, which would probably take me
> a while to debug as I don't know my way around. (With the 0.11.0
> version I got a different error without a backtrace. I upgraded after
> seeing a bug fix for hackage in the tracker.)
>
> $ guix import hackage -t darcs
> Backtrace:
> In ice-9/boot-9.scm:
> 160: 16 [catch #t #<catch-closure 11e6e40> ...]
> In unknown file:
> ?: 15 [apply-smob/1 #<catch-closure 11e6e40>]
> In ice-9/boot-9.scm:
> 66: 14 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
> 432: 13 [eval # #]
> In ice-9/boot-9.scm:
> 2404: 12 [save-module-excursion #<procedure 1206900 at ice-9/boot-9.scm:4051:3 ()>]
> 4056: 11 [#<procedure 1206900 at ice-9/boot-9.scm:4051:3 ()>]
> 1727: 10 [%start-stack load-stack ...]
> 1732: 9 [#<procedure 1219b70 ()>]
> In unknown file:
> ?: 8 [primitive-load "/gnu/store/hckw4cw3m6r55afrldhn9gf66wrznh7i-guix-0.11.0-8.8d12/bin/.guix-real"]
> In guix/ui.scm:
> 1222: 7 [run-guix-command import "hackage" "-t" "darcs"]
> In guix/scripts/import.scm:
> 110: 6 [guix-import "hackage" "-t" "darcs"]
> In guix/scripts/import/hackage.scm:
> 110: 5 [guix-import-hackage "-t" "darcs"]
> In guix/import/hackage.scm:
> 247: 4 [hackage->guix-package "darcs" #:include-test-dependencies? ...]
> 113: 3 [hackage-fetch "darcs"]
> In guix/import/cabal.scm:
> 580: 2 [read-cabal #<input: r6rs-custom-binary-input-port 38ef8f0> #f]
> In system/base/lalr.upstream.scm:
> 1956: 1 [___run]
> 1851: 0 [___push 1 6 ...]
>
> system/base/lalr.upstream.scm:1851:2: In procedure ___push:
> system/base/lalr.upstream.scm:1851:2: Wrong number of arguments to #<procedure ___push (delta new-category lvalue tok)>

I’m seeing a different error:

Toggle snippet (8 lines)
$ git describe
v0.11.0-3322-gf80b4d2
$ ./pre-inst-env guix import hackage -t darcs
Syntax error: unexpected token : (buildable (False)) (at line 494, column 4)
Syntax error: unexpected end of input
guix import: error: failed to download cabal file for package 'darcs'

The .cabal file is at
line comes from:

Toggle snippet (7 lines)
Executable darcs
if !flag(executable)
buildable: False
else
buildable: True

In addition, this .cabal file has “Build-Type: Custom”, which is
currently not supported as noted in https://bugs.gnu.org/23961.

Federico, WDYT?

Thanks,
Ludo’.
F
F
Federico Beffa wrote on 9 Dec 2016 23:09
(name . Ludovic Courtès)(address . ludo@gnu.org)
CAKrPhPP0nKPwMmdtejLR1MPGKw_WF5TJUKDY9Zzezs_E_k+Jkg@mail.gmail.com
On Fri, Dec 9, 2016 at 9:57 PM, Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (28 lines)
> I’m seeing a different error:
>
> --8<---------------cut here---------------start------------->8---
> $ git describe
> v0.11.0-3322-gf80b4d2
> $ ./pre-inst-env guix import hackage -t darcs
> Syntax error: unexpected token : (buildable (False)) (at line 494, column 4)
> Syntax error: unexpected end of input
> guix import: error: failed to download cabal file for package 'darcs'
> --8<---------------cut here---------------end--------------->8---
>
> The .cabal file is at
> <https://hackage.haskell.org/package/darcs/darcs.cabal> and the faulty
> line comes from:
>
> --8<---------------cut here---------------start------------->8---
> Executable darcs
> if !flag(executable)
> buildable: False
> else
> buildable: True
> --8<---------------cut here---------------end--------------->8---
>
> In addition, this .cabal file has “Build-Type: Custom”, which is
> currently not supported as noted in <https://bugs.gnu.org/23961>.
>
> Federico, WDYT?

The problem is that the name of the flag is 'executable' and the
string 'executable' is also a reserved keyword to define the start of
a cabal file section. The cabal parser incorrectly dismissed this
keyword as a possible flag name (in the code it is referred to as a
test identifier). See line 369 of the file 'guix/import/cabal.scm'.
The predicate 'is-id' should be smarter and recognize if the string
'executable' refers to the start of an 'executable section' or not
(and similarly for some other reserved keywords dismissed by the same
procedure).

The predicate 'is-id' dismisses some specific reserved keywords such
as 'executable' because this check is performed before the ones (based
on full lines) such as 'is-exec' which checks for the start of an
executable section.

HTH,
Fede
D
D
Dave Love wrote on 12 Dec 2016 14:40
(name . Ludovic Courtès)(address . ludo@gnu.org)
878trl5kpg.fsf@pc102091.liv.ac.uk
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (11 lines)
> I’m seeing a different error:
>
> --8<---------------cut here---------------start------------->8---
> $ git describe
> v0.11.0-3322-gf80b4d2
> $ ./pre-inst-env guix import hackage -t darcs
> Syntax error: unexpected token : (buildable (False)) (at line 494, column 4)
> Syntax error: unexpected end of input
> guix import: error: failed to download cabal file for package 'darcs'
> --8<---------------cut here---------------end--------------->8---

That's what I saw with 0.11, but the new version with the backtrace
seemed a worthwhile improvement! (I tried an update after looking for a
way to configure generating backtraces and not finding one for guix or
an environment variable for guile that might have done it.)
R
R
Robert Vollmert wrote on 22 May 2019 17:39
updated import error
(address . 25138@debbugs.gnu.org)
67BF587B-5E28-406D-AB86-9D6A8432CD10@vllmrt.net
These days it’s:

Syntax error: unexpected token : (buildable (False)) (at line 471, column 4)
Syntax error: unexpected end of input

Relevant cabal extract:

469 Executable darcs
470 if !flag(executable)
471 buildable: False
472 else
473 buildable: True
474
R
R
Robert Vollmert wrote on 16 Jun 2019 14:36
retitle hackage import bug
(address . control@debbugs.gnu.org)
BE47CF35-B117-489A-8B31-1DD67100041F@vllmrt.net
retitle 25138 guix import hackage darcs: fails due to flag executable
thanks
L
L
Lars-Dominik Braun wrote on 15 Sep 2021 14:34
Re: guix import hackage darcs: fails due to flag executable
(name . Dave Love)(address . fx@gnu.org)(address . 25138-done@debbugs.gnu.org)
YUHoWwFQqvUms/Uh@noor.fritz.box
Hi,

this was fixed by the patch from #50588.

Cheers,
Lars
Closed
?