summaryrefslogtreecommitdiff
path: root/gnu/packages/haskell.scm
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2017-01-04 20:37:23 +0100
committerLudovic Courtès <ludo@gnu.org>2017-01-09 10:44:52 +0100
commitee719fba2dc5a035e959e57378552c4df705de1a (patch)
treeee35315300ab6bce0480984d90d427b5ac5b1b16 /gnu/packages/haskell.scm
parentf048f12ba18f97a8d956f46093bf8bb5c7cc3ead (diff)
gnu: Add corrode.
* gnu/packages/haskell.scm (corrode): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r--gnu/packages/haskell.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ac0eac3fe8..8f8e2f5d5e 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
+;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -48,6 +49,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -8100,4 +8102,35 @@ and a large set of GNU extensions.")
same time is a literate Haskell program.")
(license license:expat)))
+(define-public corrode
+ (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
+ (package
+ (name "corrode")
+ (version (string-append "0.0.1-" (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jameysharp/corrode.git")
+ (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
+ (file-name
+ (string-append name "-" version "-checkout"))
+ (sha256
+ (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-language-c" ,ghc-language-c)
+ ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
+ (home-page "https://github.com/jameysharp/corrode")
+ (synopsis "Automatic semantics-preserving translation from C to Rust")
+ (description
+ "This program reads a C source file and prints an equivalent module in
+Rust syntax. It is intended to be useful for two different purposes:
+
+@enumerate
+@item Partial automation for migrating legacy code that was implemented in C.
+@item A new, complementary approach to static analysis for C programs.
+@end enumerate\n")
+ (license license:gpl2+))))
+
;;; haskell.scm ends here