aboutsummaryrefslogtreecommitdiff
;;; 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."))))
.Hartmut Goebel 2019-12-04Merge branch 'staging'Marius Bakke 2019-12-01gnu: kdeconnect: Use qt-build-system....Hartmut Goebel 2019-11-28Merge branch 'master' into stagingMarius Bakke 2019-11-28gnu: snorenotify: Update inputs....Efraim Flashner 2019-11-28Merge branch 'master' into stagingMarius Bakke 2019-11-26gnu: kdeconnect: Remove useless code....Hartmut Goebel 2019-11-17gnu: kpmcore: Fix dependencies....Andrius Štikonas 2019-11-15Merge branch 'master' into stagingMarius Bakke 2019-11-10gnu: kpmcore: Update to 4.0.1....Hartmut Goebel 2019-11-10gnu: Move kpmcore to kde.scm....Hartmut Goebel 2019-11-10gnu: krita: Update to 4.2.7.1....Hartmut Goebel 2019-11-10gnu: kqtquickcharts: Update to 19.08.2....Hartmut Goebel 2019-11-10gnu: libkomparediff2: Update to 19.08.2....Hartmut Goebel 2019-11-10gnu: kde-frameworks: Update to 5.63.0....Hartmut Goebel 2019-11-06gnu: Add KCacheGrind....Ludovic Courtès 2019-09-17Merge branch 'master' into core-updatesLudovic Courtès 2019-09-16gnu: Add kqtquickcharts....Efraim Flashner 2019-09-09gnu: kdeconnect: Update to 1.3.5....Efraim Flashner 2019-09-09gnu: kdeconnect: Set upstream-name....Efraim Flashner 2019-08-13Merge branch 'master' into core-updatesMarius Bakke 2019-08-03gnu: krita: Update to 4.2.5....Tobias Geerinckx-Rice 2019-08-01gnu: qca: Update to 2.2.1....Marius Bakke 2019-06-28gnu: krita: Update to 4.2.2....Nicolas Goaziou 2019-05-11gnu: libkomparediff2: Update to 19.04.1....Tobias Geerinckx-Rice 2019-05-11gnu: libkomparediff2: Don't use NAME in source URI....Tobias Geerinckx-Rice 2019-05-11gnu: libkomparediff2: Fix source file name....Tobias Geerinckx-Rice 2019-04-28gnu: kdevplatform: Use INVOKE....Ricardo Wurmus