aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/hugs.scm
blob: c9915e4cd6b12912a05a3e9ac6e3dbc84d17825c (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages hugs)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages gcc))

(define-public hugs
  (package
    (name "hugs")
    (version "Sep2006")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "https://www.haskell.org/hugs/downloads/2006-09/"
                          name "98-plus-" version ".tar.gz"))
      (sha256
       (base32
        "1mdy4aq4campgmnpc2qwq7bsbfhaxfsqdghbyyz2wms4lnfcmyma"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'configure 'fix-sh-n-cp
           (lambda _
             (substitute*
                 '("configure"
                   "libraries/configure"
                   "packages/time/configure"
                   "packages/base/configure"
                   "packages/X11/configure"
                   "packages/HGL/configure"
                   "packages/OpenAL/configure"
                   "packages/OpenGL/configure"
                   "packages/network/configure"
                   "packages/unix/configure"
                   "packages/Cabal/tests/HSQL/configure"
                   "packages/ALUT/configure"
                   "packages/GLUT/configure"
                   "packages/base/cbits/execvpe.c"
                   "packages/base/System/Process/Internals.hs"
                   "packages/Cabal/Distribution/attic"
                   "packages/Cabal/Distribution/Simple/Register.hs"
                   "packages/Cabal/Distribution/Simple/Hugs.hs"
                   "tools/hugs-hc"
                   "src/machdep.c"
                   "libraries/Makefile.in")
               (("/bin/sh") (which "sh")))
             (substitute* '("demos/Makefile.in"
                            "libraries/Makefile.in")
               (("/bin/cp") (which "cp")))
             #t)))
       #:tests? #f)) ; no test target
    ;; FIXME: Fails to build with GCC 5.
    (native-inputs (list gcc-4.9))
    (home-page "https://www.haskell.org/hugs/")
    (synopsis "Functional programming system based on Haskell 98")
    (description
     "Hugs 98 is an interpreter and programming environment for developing
Haskell programs.  It provides an almost complete implementation of Haskell
98, which includes expression and pattern syntax, primitives for monadic I/O,
with support for simple interactive programs, handle-based I/O, and exception
handling.  Hugs has a nearly complete implementation of the Haskell module
system and supports a number of advanced extensions.")
   (license (non-copyleft "file://License"
                          "See License in the distribution."))))
020-05-04doc: Document committer authorization....Ludovic Courtès 2020-03-13doc: Update guidance about Python 2 package variants....Leo Famulari 2020-03-10doc: Use HTTPS for external links....Vitaliy Shatrov 2020-03-09doc: Use an https link for Contributor Covenant....Jakub Kądziołka 2020-02-22etc: Add copyright....Oleg Pykhalov 2020-02-18doc: Document packaging guidelines for Rust crates....Efraim Flashner 2020-01-19Use HTTPS for www.emacswiki.org....Tobias Geerinckx-Rice 2020-01-09doc: Add a cooptation policy for commit access....Ludovic Courtès 2020-01-09doc: Encourage patch review....Ludovic Courtès 2020-01-09doc: Move "Commit Access" section from 'HACKING' to the manual....Ludovic Courtès 2020-01-09doc: Add "Tracking Bugs and Patches" section....Ludovic Courtès 2019-12-27doc: Mention "make authenticate"....Ludovic Courtès 2019-12-13doc: Link to "Building from Git" instead of quoting command to build Guix....Pierre Neidhardt 2019-12-08doc: Mention how to simulate a `guix pull' before submitting patches....Pierre Neidhardt 2019-12-08doc: Mention how to rebuild guix before submitting patches....Pierre Neidhardt 2019-11-09doc: Mention value /var to localstatedir option....zimoun 2019-09-07doc: Use @lisp instead of @example for Scheme snippets....Ludovic Courtès 2019-07-17doc: Reorder and clarify contributing instructions....Florian Pelz 2019-07-15doc: note how to install git send-email...Arne Babenhauserheide 2019-06-29doc: Remove references to hydra.gnu.org....Tobias Geerinckx-Rice 2019-05-20doc: use pure environment when building from git...Giovanni Biscuolo