guix-commits
[Top][All Lists]
Advanced

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

02/14: gnu: Add ghc-unsafe.


From: guix-commits
Subject: 02/14: gnu: Add ghc-unsafe.
Date: Fri, 16 Aug 2019 14:57:33 -0400 (EDT)

rob pushed a commit to branch wip-haskell-updates
in repository guix.

commit fc03f572aad8fa1b5b2d00060ca21a382eeb5868
Author: John Soo <address@hidden>
Date:   Sun Jul 7 17:27:42 2019 -0700

    gnu: Add ghc-unsafe.
    
    * gnu/packages/haskell.scm (ghc-unsafe): New variable.
---
 gnu/packages/haskell-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 91d009d..14e65d1 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2018, 2019 Gabriel Hondet <address@hidden>
 ;;; Copyright © 2019 Robert Vollmert <address@hidden>
 ;;; Copyright © 2019 Jacob MacDonald <address@hidden>
+;;; Copyright © 2019 John Soo <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -10547,6 +10548,40 @@ and high speed.")
      `(("ghc-hashable" ,ghc-hashable-bootstrap)))
     (properties '(hidden? #t))))
 
+(define-public ghc-unsafe
+  (package
+    (name "ghc-unsafe")
+    (version "0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://hackage.haskell.org/package/unsafe/unsafe-";
+         version ".tar.gz"))
+       (sha256
+        (base32
+         "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
+    (build-system haskell-build-system)
+    (home-page "https://hackage.haskell.org/package/unsafe";)
+    (synopsis "Unified interface to unsafe functions")
+    (description
+     "SafeHaskell introduced the notion of safe and unsafe modules.  In order 
to
+make as many as possible modules \\\"safe\\\", the well-known unsafe functions
+were moved to distinguished modules.  This makes it hard to write packages that
+work with both old and new versions of GHC.  This package provides a single
+module System.Unsafe that exports the unsafe functions from the base package.
+It provides them in a style ready for qualification, that is, you should import
+them by
+
+import qualified System.Unsafe as Unsafe
+
+The package also contains a script called rename-unsafe.sh.  It replaces all
+occurrences of the original identifiers with the qualified identifiers from 
this
+package.  You still have to adapt the import commands.  It uses the
+darcs-replace-rec script from the darcs-scripts package.")
+    (license license:bsd-3)))
+
 (define-public ghc-uri-bytestring
   (package
     (name "ghc-uri-bytestring")



reply via email to

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