guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] gnu: Add Idris, the dependently-typed language.


From: ericbavier
Subject: Re: [PATCH] gnu: Add Idris, the dependently-typed language.
Date: Thu, 22 Oct 2015 03:47:50 -0500

From: Eric Bavier <address@hidden>

With our conventions, the subject line should be just "gnu: Add Idris"

> * gnu/packages/haskell.scm (idris): New variable.
> ---
>  gnu/packages/haskell.scm | 62 
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
> 
> diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
> index e814f24..5cf1827 100644
> --- a/gnu/packages/haskell.scm
> +++ b/gnu/packages/haskell.scm
> @@ -32,6 +32,7 @@
>    #:use-module (gnu packages elf)
>    #:use-module (gnu packages bootstrap)
>    #:use-module (gnu packages zip)
> +  #:use-module (gnu packages gcc)
>    #:use-module (gnu packages ghostscript)
>    #:use-module (gnu packages libffi)
>    #:use-module (gnu packages libedit)
> @@ -4314,4 +4315,65 @@ naming: in Greek mythology, Aeson was the father of 
> Jason.)")
>  functionality.")
>      (license expat)))
>  
> +(define-public idris
> +  (package
> +    (name "idris")
> +    (version "0.9.19.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://hackage.haskell.org/package/idris-";
> +                           version "/idris-" version ".tar.gz"))
> +       (sha256
> +        (base32
> +         "10641svdsjlxbxmbvylpia04cz5nn9486lpiay8ibqcrc1792qgc"))))
> +    (build-system haskell-build-system)
> +    (arguments
> +     `(#:phases (modify-phases %standard-phases
> +                  (add-before 'configure 'patch-cc-command
> +                              (lambda _
> +                                (setenv "CC" "gcc")
> +                                ;; Package description file has a too-tight
> +                                ;; version restriction, rendering it
> +                                ;; incompatible with GHC 7.10.2.  This is
> +                                ;; fixed upstream.
> +                                (substitute* "idris.cabal"
> +                                  (("vector < 0.11") "vector < 0.12")))))))

Try adding "--allow-newer=vector" to #:configure-flags.  Otherwise move this
to a separate phase, as it's not strictly related to patching cc.

> +    (native-inputs
> +     `(("gcc" ,gcc)))

gcc is already in the implicit inputs, so this may be left out.

Otherwise LGTM!

`~Eric

> +    (inputs
> +     `(("gmp" ,gmp)
> +       ("ncurses" ,ncurses)
> +       ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
> +       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
> +       ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
> +       ("ghc-base64-bytestring" ,ghc-base64-bytestring)
> +       ("ghc-blaze-html" ,ghc-blaze-html)
> +       ("ghc-blaze-markup" ,ghc-blaze-markup)
> +       ("ghc-cheapskate" ,ghc-cheapskate)
> +       ("ghc-fingertree" ,ghc-fingertree)
> +       ("ghc-mtl" ,ghc-mtl)
> +       ("ghc-network" ,ghc-network)
> +       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
> +       ("ghc-parsers" ,ghc-parsers)
> +       ("ghc-safe" ,ghc-safe)
> +       ("ghc-split" ,ghc-split)
> +       ("ghc-text" ,ghc-text)
> +       ("ghc-trifecta" ,ghc-trifecta)
> +       ("ghc-uniplate" ,ghc-uniplate)
> +       ("ghc-unordered-containers" ,ghc-unordered-containers)
> +       ("ghc-utf8-string" ,ghc-utf8-string)
> +       ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)
> +       ("ghc-vector" ,ghc-vector)
> +       ("ghc-zip-archive" ,ghc-zip-archive)
> +       ("ghc-zlib" ,ghc-zlib)))
> +    (home-page "http://www.idris-lang.org";)
> +    (synopsis "General purpose language with full dependent types")
> +    (description "Idris is a general purpose language with full dependent
> +types.  It is compiled, with eager evaluation.  Dependent types allow types 
> to
> +be predicated on values, meaning that some aspects of a program's behaviour
> +can be specified precisely in the type.  The language is closely related to
> +Epigram and Agda.")
> +    (license bsd-3)))
> +
>  ;;; haskell.scm ends here
> -- 
> 2.5.0
> 



reply via email to

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