From ee719fba2dc5a035e959e57378552c4df705de1a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 4 Jan 2017 20:37:23 +0100 Subject: gnu: Add corrode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (corrode): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/haskell.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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 ;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2016, 2017 David Craven +;;; Copyright © 2017 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,6 +49,7 @@ (define-module (gnu packages haskell) #: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 @@ (define-public ghc-markdown-unlit 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 -- cgit v1.2.3