Subject: bug#53655: closed (Re: bug#53655: haskell build system cannot build attoparsec)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 07 Apr 2022 08:25:02 +0000

Your bug report

#53655: haskell build system cannot build attoparsec

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
53655: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=53655
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#53655: haskell build system cannot build attoparsec
From: "Philip Munksgaard" <[email-masked]>
To: zimoun <[email-masked]>
Cc: [email-masked]
Date: Thu, 07 Apr 2022 10:23:48 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

A patch has been submitted for the second part of this issue [0] and a new issue has been created for the first part [1]. I'm therefore closing this issue.

0: https://issues.guix.gnu.org/54729
1: https://issues.guix.gnu.org/54760

On Wed, 6 Apr 2022, at 21:27, zimoun wrote:
> Hi,
>
> On Mon, 31 Jan 2022 at 11:33, "Philip Munksgaard" <[email-masked]> wrote:
>
>> ```
>> (define-module (gnu packages futhark)
>>   #:use-module (guix packages)
>>   #:use-module (guix download)
>>   #:use-module (guix build-system haskell)
>>   #:use-module (guix licenses)
>>   #:use-module (guix git-download)
>>   #:use-module ((guix licenses) #:prefix license:)
>>   #:use-module (gnu packages)
>>   #:use-module (gnu packages haskell)
>>   #:use-module (gnu packages haskell)
>>   #:use-module (gnu packages haskell-web)
>>   #:use-module (gnu packages haskell-xyz)
>>   #:use-module (gnu packages haskell-check)
>>   #:use-module (gnu packages haskell-crypto))
>>
>> (package
>>   (name "ghc-attoparsec")
>>   (version "0.14.4")
>>   (source
>>     (origin
>>       (method url-fetch)
>>       (uri (hackage-uri "attoparsec" version))
>>       (sha256
>>         (base32 "0v4yjz4qi8bwhbyavqxlhsfb1iv07v10gxi64khmsmi4hvjpycrz"))))
>>   (build-system haskell-build-system)
>>   (inputs (list ghc-scientific))
>>   (native-inputs
>>     (list ghc-quickcheck
>>           ghc-quickcheck-unicode
>>           ghc-tasty
>>           ghc-tasty-quickcheck
>>           ghc-vector))
>>   (arguments
>>     `(#:cabal-revision
>>       ("1" "149ihklmwnl13mmixq6iq5gzggkgqwsqrjlg2fshqwwbvbd4nn3r")))
>>   (home-page "https://github.com/bgamari/attoparsec")
>>   (synopsis "Fast combinator parsing for bytestrings and text")
>>   (description
>>     "This package provides a fast parser combinator library, aimed particularly at
>> dealing efficiently with network protocols and complicated text/binary file
>> formats.")
>>   (license license:bsd-3))
>> ```
>>
>> When trying to build this file however, I get the following error:
>
> This part is now fixed by <https://issues.guix.gnu.org/54729#2>.  But it
> is a core-updates change so the fix will land master at the next
> cycle... who knows when. ;-)
>
> For the other issue about the importer, I suggest to close this one and
> reopen an issue.
>
>
> Cheers,
> simon

Subject: haskell build system cannot build attoparsec
From: "Philip Munksgaard" <[email-masked]>
To: [email-masked]
Date: Mon, 31 Jan 2022 11:33:45 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

I'm trying to build a newer version of attoparsec than the one included in guix, namely version 0.14.4.

First of all, `guix import hackage -r attoparsec` fails, as far as I can tell because of the requirement to attoparsec-internal, with the following error:

```
$ guix import hackage -r attoparsec

Starting download of /tmp/guix-file.szLCRk
>From https://hackage.haskell.org/package/attoparsec/attoparsec-0.14.4.tar.gz...
 ….14.4.tar.gz  157KiB                5.1MiB/s 00:00 [##################] 100.0%
Backtrace:
           7 (primitive-load "/home/munksgaard/.config/guix/current/…")
In guix/ui.scm:
   2209:7  6 (run-guix . _)
  2172:10  5 (run-guix-command _ . _)
In guix/scripts/import.scm:
   124:11  4 (guix-import . _)
In guix/scripts/import/hackage.scm:
   129:26  3 (guix-import-hackage . _)
In guix/import/utils.scm:
   504:23  2 (recursive-import _ #:repo->guix-package _ #:guix-name _ …)
In srfi/srfi-1.scm:
   586:17  1 (map1 (("attoparsec-internal" #f)))
In guix/import/utils.scm:
   492:33  0 (lookup-node "attoparsec-internal" #f)

guix/import/utils.scm:492:33: In procedure lookup-node:
Wrong number of values returned to continuation (expected 2)
```

`guix import hackage attoparsec` succeeds, but I have to manually remove the dependency on attoparsec-internal, resulting in this file:

```
(define-module (gnu packages futhark)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system haskell)
  #:use-module (guix licenses)
  #:use-module (guix git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages)
  #:use-module (gnu packages haskell)
  #:use-module (gnu packages haskell)
  #:use-module (gnu packages haskell-web)
  #:use-module (gnu packages haskell-xyz)
  #:use-module (gnu packages haskell-check)
  #:use-module (gnu packages haskell-crypto))

(package
  (name "ghc-attoparsec")
  (version "0.14.4")
  (source
    (origin
      (method url-fetch)
      (uri (hackage-uri "attoparsec" version))
      (sha256
        (base32 "0v4yjz4qi8bwhbyavqxlhsfb1iv07v10gxi64khmsmi4hvjpycrz"))))
  (build-system haskell-build-system)
  (inputs (list ghc-scientific))
  (native-inputs
    (list ghc-quickcheck
          ghc-quickcheck-unicode
          ghc-tasty
          ghc-tasty-quickcheck
          ghc-vector))
  (arguments
    `(#:cabal-revision
      ("1" "149ihklmwnl13mmixq6iq5gzggkgqwsqrjlg2fshqwwbvbd4nn3r")))
  (home-page "https://github.com/bgamari/attoparsec")
  (synopsis "Fast combinator parsing for bytestrings and text")
  (description
    "This package provides a fast parser combinator library, aimed particularly at
dealing efficiently with network protocols and complicated text/binary file
formats.")
  (license license:bsd-3))
```

When trying to build this file however, I get the following error:

```
running "runhaskell Setup.hs" with command "register" and parameters ("--gen-pkg-config=/gnu/store/25ql0xsjqf0alrvy6hmpw6gzirzbqfmv-ghc-attoparsec-0.14.4/ghc-attoparsec-0.14.4.conf")
error: in phase 'register': uncaught exception:
system-error "fport_read" "~A" ("Is a directory") (21)
phase `register' failed after 0.5 seconds
Backtrace:
          11 (primitive-load "/gnu/store/01ry4yp98silvy0mfwgn8c77fxz…")
In guix/build/gnu-build-system.scm:
    906:2 10 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
In ice-9/boot-9.scm:
  1752:10  9 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
    634:9  8 (for-each #<procedure 7ffff404a920 at guix/build/gnu-b…> …)
In ice-9/boot-9.scm:
  1752:10  7 (with-exception-handler _ _ #:unwind? _ # _)
In guix/build/gnu-build-system.scm:
   927:23  6 (_)
In guix/build/haskell-build-system.scm:
   244:23  5 (register #:name _ #:system _ #:inputs _ #:outputs _)
In ice-9/ports.scm:
   433:17  4 (call-with-input-file _ _ #:binary _ #:encoding _ # _)
In ice-9/rdelim.scm:
   160:18  3 (read-string _)
In unknown file:
           2 (read-char #<input: /gnu/store/25ql0xsjqf0alrvy6hmpw6gz…>)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)
```

I've attached the entire build log.