guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] gnu: Add sicp.


From: Ludovic Courtès
Subject: Re: [PATCH] gnu: Add sicp.
Date: Tue, 17 May 2016 22:55:46 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi!

Jan Nieuwenhuizen <address@hidden> skribis:

> Too lazy to get up and go for my book shelf, I was presently surprised
> that SICP is available in info; and even more surprised it hasn't been
> packaged yet.

Indeed!  :-)

> From 85c7f3d9ba64989b2fbdba9ee0a0da6c635b1d3c Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen <address@hidden>
> Date: Sun, 15 May 2016 09:57:05 +0200
> Subject: [PATCH] gnu: Add sicp.
>
> * gnu/packages/sicp.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

What about putting it in (gnu packages scheme) instead?  Sounds like a
natural home.

> +(define-public sicp
> +  (package
> +    (name "sicp")
> +    (version "2016-02-20")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/sarabander/sicp";)
> +             (commit "5b52db566968d28a89fbbaf338d207f01cc81cac")))

Could you change the ‘version’ field according to the conventions
described at (info "(guix) Version Numbers")?  Since there’s no release
number, it’s OK to use “20160220” (no hyphens) before the rest of the
version field.

> +       (sha256
> +        (base32
> +         "10h6h7szwlfbshwh18bnl2hvyddj5i7106l79s145l0sjjv15cxb"))))
> +    (build-system trivial-build-system)
> +    (native-inputs `(("gzip" ,gzip)
> +                     ("source" ,source)
> +                     ("texinfo" ,texinfo)))
> +    (arguments
> +     `(#:modules ((guix build utils)
> +                  (srfi srfi-1)
> +                  (srfi srfi-26))
> +                 #:builder

#:builder should be aligned with #:modules.

> +                 (let ((gzip (assoc-ref %build-inputs "gzip"))
> +                       (source (assoc-ref %build-inputs "source"))
> +                       (texinfo (assoc-ref %build-inputs "texinfo"))
> +                       (info-dir (string-append %output "/share/info")))
> +                   (use-modules (guix build utils)
> +                                (srfi srfi-1)
> +                                (srfi srfi-26))

Please move ‘use-modules’ to the top:

  (begin
    (use-modules (srfi …) …)

    (let (…) …))

> +                   (and
> +                    (system* "makeinfo"
> +                             "--output" (string-append info-dir "/sicp.info")
> +                             (string-append source "/sicp-pocket.texi"))

(zero? (system* …))

> +    (home-page "http://sarabander.github.io/sicp";)
> +    (synopsis "Structure and Interpretation of Computer Programs")
> +    (description "Structure and Interpretation of Computer Programs (SICP) is
> +a textbook aiming to teach the principles of computer programming.
> +
> +Using Scheme, a dialect of the Lisp programming language, the book explains
> +core computer science concepts such as abstraction in programming,
> +metalinguistic abstraction, recursion, interpreters, and modular programming.
> +
> +It was first published in 1985 by MIT Press and written by Massachusetts
> +Institute of Technology (MIT) professors Harold Abelson and Gerald Jay
> +Sussman, with Julie Sussman.")

I would remove the last paragraph.

Could you send an updated patch?

Thanks for filling this gap!  :-)

Ludo’.



reply via email to

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