[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Could anyone help me to pack the shellcheck (haskell)
From: |
Danny Milosavljevic |
Subject: |
Re: Could anyone help me to pack the shellcheck (haskell) |
Date: |
Wed, 8 Mar 2017 22:04:38 +0100 |
Hi,
On Wed, 08 Mar 2017 20:08:41 +0800
"Huang\, Ying" <address@hidden> wrote:
> I know very little about Haskell, but I use shellcheck
> (https://github.com/koalaman/shellcheck) to check my shell scripts. I
> tried myself, but found it is hard for me. Could anyone help me on
> that?
If it's distributed by Haskell people then you can generate the package spec
form by:
$ guix import stackage shellcheck
Or
$ guix import hackage shellcheck
It will be printed to the standard output device. You can then copy it from
there.
The difference is that the first one, stackage, has long-term-support (i.e.
well-tested and stable) package combinations. The latter has newer packages.
But it seems that shellcheck is not distributed that way. Then you have to
write it by hand. It works really similar to any other package.
So put the following into gnu/packages/haskell.scm :
(define-public ghc-json
(package <---- this block was generated by: guix import hackage json
(name "ghc-json")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/json/"
"json-" version ".tar.gz"))
(sha256
(base32
"18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn"))))
(build-system haskell-build-system)
(inputs
`(("ghc-syb" ,ghc-syb)
("ghc-mtl" ,ghc-mtl)
("ghc-text" ,ghc-text)
("ghc-parsec" ,ghc-parsec)))
(home-page "http://hackage.haskell.org/package/json")
(synopsis "Support for serialising Haskell to and from JSON")
(description "JSON (JavaScript Object Notation) is a lightweight
data-interchange format. It is easy for humans to read and write. It is easy
for machines to parse and generate. It is based on a subset of the JavaScript
Programming Language, Standard ECMA-262 3rd Edition - December 1999. . This
library provides a parser and pretty printer for converting between Haskell
values and JSON.")
(license license:bsd-3)))
(define-public shellcheck
(package
(name "shellcheck")
(version "0.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/koalaman/shellcheck/archive/"
"v" version ".tar.gz"))
(sha256 (base32
"14r84fcn28rin339avlvca5g0kz832f01x8dpmwb5ql8mbc4rlxr"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-json" ,ghc-json)
("ghc-mtl" ,ghc-mtl)
("ghc-parsec" ,ghc-parsec)
("ghc-regex-tdfa" ,ghc-regex-tdfa)))
(home-page "https://github.com/koalaman/shellcheck")
(synopsis "Static analysis for shell scripts")
(description "@code{ghc-shellcheck} provides static analysis for shell
scripts.")
(license license:gpl3+)))
The "ghc-" prefix is only used for libraries. I think from your description
that shellcheck is not a library. Is that correct?