guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add scheme-bytestructures


From: Ludovic Courtès
Subject: Re: [PATCH] Add scheme-bytestructures
Date: Mon, 10 Oct 2016 22:46:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hi Amirouche,

Some comments to complement Kei’s.

Kei Kebreau <address@hidden> skribis:

> Amirouche Boubekki <address@hidden> writes:
>
>> Warning: scheme-bytestructures works on various implementation of Scheme but 
>> this patch adds
>> it only for guile-2.0.
>>
>> This is a pure scheme package there is no autotools that's why I use the 
>> trivial-build-system.
>>
>> This doesn't run the test suite, yet.
>>
>> From fb2eb7ffd88ec4fba09411195a54b59d67d9c137 Mon Sep 17 00:00:00 2001
>> From: Amirouche <address@hidden>
>> Date: Sun, 9 Oct 2016 12:31:20 +0200
>> Subject: [PATCH] gnu: Add scheme-bytestructures
>>
>> * gnu/packages/guile.scm (scheme-bytestructures): New variable.
>>
>> diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
>> index 0890f19..383990e 100644
>> --- a/gnu/packages/guile.scm
>> +++ b/gnu/packages/guile.scm
>> @@ -1265,4 +1265,105 @@ is no support for parsing block and inline level 
>> HTML.")
>>  (define-public guile2.2-commonmark
>>    (package-for-guile-2.2 guile-commonmark))
>>  
>> +(define-public scheme-bytestructures
>> +  (package
>> +    (name "scheme-bytestructures")

I would suggest calling it “guile-scheme-bytestructures” (or
“guile-bytestructures”?) to distinguish this package from the same one
built for another implementation.

>> +            (scm-files (string-split 
>> "bytestructures/guile/explicit-endianness.scm
>> +bytestructures/guile/numeric-metadata.scm
>> +bytestructures/guile/ffi.scm
>> +bytestructures/guile/vector.scm
>> +bytestructures/guile/union.scm
>> +bytestructures/guile/numeric-all.scm
>> +bytestructures/guile/utils.scm
>> +bytestructures/guile/pointer.scm
>> +bytestructures/guile/base.scm
>> +bytestructures/guile/numeric.scm
>> +bytestructures/guile/struct.scm
>> +bytestructures/guile/bitfields.scm
>> +bytestructures/r6/bytevectors.scm
>> +bytestructures/body/base.syntactic.scm
>> +bytestructures/body/explicit-endianness.scm
>> +bytestructures/body/vector.scm
>> +bytestructures/body/union.scm
>> +bytestructures/body/utils.scm
>> +bytestructures/body/base.scm
>> +bytestructures/body/numeric.scm
>> +bytestructures/body/struct.scm
>> +bytestructures/body/bitfields.scm
>> +bytestructures/guile.scm"

Please let’s not list all the files.  :-)  Could it instead use
something like (find-files "bytestructures" "\\.scm$")?

>> +       ;; Compile .scm files and install.
>> +       (chdir source)
>> +       (setenv "GUILE_AUTO_COMPILE" "0")
>> +       (for-each (lambda (file)
>> +                   (let* ((dest-file (string-append module-dir "/"
>> +                                                    file))
>> +                          (go-file (string-append module-dir "/"
>> +                                                  (substring file 0
>> +                                                             (string-rindex 
>> file #\.))
>> +                                                  ".go")))
>> +                     ;; Install source module.
>> +                     (copy-file file dest-file)
>> +                     ;; Install compiled module.
>> +                     (unless (zero? (system* guild "compile"
>> +                                             "-L" source
>> +                                             "-o" go-file
>> +                                             file))
>> +                       (error (format #f "Failed to compile ~s to ~s!"
>> +                                      file go-file)))))
>> +                 scm-files)

At some point we should factorize this in a new (guix build guile)
module or something.  Any takers?  :-)

>> +    (license gpl3)))

Probably ‘gpl3+’; could you check?

> I'm getting messages from "./pre-inst-env guix build --check --rounds=2
> scheme-bytestructures" that the package derivation may not be
> deterministic. However, other packages in guile.scm seem to have the
> same issue, so perhaps someone more experienced with this file can
> determine whether this is a cause for concern.

Yeah, this is due to a Guile issue: <http://bugs.gnu.org/20272>.

Thanks
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]