hugs.scm 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
  3. ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
  4. ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
  5. ;;;
  6. ;;; This file is part of GNU Guix.
  7. ;;;
  8. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  9. ;;; under the terms of the GNU General Public License as published by
  10. ;;; the Free Software Foundation; either version 3 of the License, or (at
  11. ;;; your option) any later version.
  12. ;;;
  13. ;;; GNU Guix is distributed in the hope that it will be useful, but
  14. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. ;;; GNU General Public License for more details.
  17. ;;;
  18. ;;; You should have received a copy of the GNU General Public License
  19. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  20. (define-module (gnu packages hugs)
  21. #:use-module (guix licenses)
  22. #:use-module (guix packages)
  23. #:use-module (guix download)
  24. #:use-module (guix build-system gnu)
  25. #:use-module (gnu packages gcc))
  26. (define-public hugs
  27. (package
  28. (name "hugs")
  29. (version "Sep2006")
  30. (source
  31. (origin
  32. (method url-fetch)
  33. (uri (string-append "https://www.haskell.org/hugs/downloads/2006-09/"
  34. name "98-plus-" version ".tar.gz"))
  35. (sha256
  36. (base32
  37. "1mdy4aq4campgmnpc2qwq7bsbfhaxfsqdghbyyz2wms4lnfcmyma"))))
  38. (build-system gnu-build-system)
  39. (arguments
  40. `(#:phases
  41. (modify-phases %standard-phases
  42. (add-before 'configure 'fix-sh-n-cp
  43. (lambda _
  44. (substitute*
  45. '("configure"
  46. "libraries/configure"
  47. "packages/time/configure"
  48. "packages/base/configure"
  49. "packages/X11/configure"
  50. "packages/HGL/configure"
  51. "packages/OpenAL/configure"
  52. "packages/OpenGL/configure"
  53. "packages/network/configure"
  54. "packages/unix/configure"
  55. "packages/Cabal/tests/HSQL/configure"
  56. "packages/ALUT/configure"
  57. "packages/GLUT/configure"
  58. "packages/base/cbits/execvpe.c"
  59. "packages/base/System/Process/Internals.hs"
  60. "packages/Cabal/Distribution/attic"
  61. "packages/Cabal/Distribution/Simple/Register.hs"
  62. "packages/Cabal/Distribution/Simple/Hugs.hs"
  63. "tools/hugs-hc"
  64. "src/machdep.c"
  65. "libraries/Makefile.in")
  66. (("/bin/sh") (which "sh")))
  67. (substitute* '("demos/Makefile.in"
  68. "libraries/Makefile.in")
  69. (("/bin/cp") (which "cp")))
  70. #t)))
  71. #:tests? #f)) ; no test target
  72. ;; FIXME: Fails to build with GCC 5.
  73. (native-inputs `(("gcc" ,gcc-4.9)))
  74. (home-page "https://www.haskell.org/hugs/")
  75. (synopsis "Functional programming system based on Haskell 98")
  76. (description
  77. "Hugs 98 is an interpreter and programming environment for developing
  78. Haskell programs. It provides an almost complete implementation of Haskell
  79. 98, which includes expression and pattern syntax, primitives for monadic I/O,
  80. with support for simple interactive programs, handle-based I/O, and exception
  81. handling. Hugs has a nearly complete implementation of the Haskell module
  82. system and supports a number of advanced extensions.")
  83. (license (non-copyleft "file://License"
  84. "See License in the distribution."))))