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."))))
'>2023-01-02gnu: gtkd: Remove input labels....* gnu/packages/dlang.scm (gtkd)[native-inputs]: Remove input labels. Efraim Flashner 2023-01-02gnu: gtkd: Remove trailing #t from phases....* gnu/packages/dlang.scm (gtkd)[arguments]: Remove trailing #t from phases. Efraim Flashner 2023-01-02gnu: gtkd: Update to 3.10.0....* gnu/packages/dlang.scm (gtkd): Update to 3.10.0. [arguments]: Rename 'prepare-x phase to 'pre-check, set CC for the tests. Efraim Flashner 2023-01-02gnu: ldc: Update to 1.30.0....* gnu/packages/dlang.scm (ldc-bootstrap): Update to 1.30.0. [native-inputs]: Remove ld-gold-wrapper, Add lld-wrapper with lld-11. (ldc)[arguments]: Adjust 'fix-compiler-rt-library-discovery phase to change the order of linked libraries. Adjust 'disable-problematic-tests phase to work around more GDB tests. Adjust custom 'check phase for race condition in one of the tests. Efraim Flashner 2022-06-26gnu: ldc: Work towards building on aarch64-linux....* gnu/packages/dlang.scm (ldc)[arguments]: Adjust configure-flags to not dynamically compile. Adjust custom 'fix-compiler-rt-library-discovery phase to add a case for aarch64. Adjust custom'disable-problematic-tests phase to remove some tests for aarch64-linux. Efraim Flashner 2022-06-26gnu: ldc: Update skipped tests on i686-linux....* gnu/packages/dlang.scm (ldc)[arguments]: Adjust custom 'disable-problematic-tests phase to skip fewer tests. Efraim Flashner 2022-06-26gnu: Remove unneeded ldc bootstrap packages....* gnu/packages/dlang.scm (ldc-bootstrap-0.17, ldc-bootstrap-1.12, ldc-bootstrap-1.24): Remove packages. (ldc-bootstrap-1.27): Rename to ldc-bootstrap. Absorb inherited package adjustments. (ldc): Adjust to ldc-bootstrap-1.27 renaming. Efraim Flashner 2022-06-26gnu: ldc-bootstrap-1.27: Build with gdmd....* gnu/packages/dlang.scm (ldc-bootstrap-1.27)[native-inputs]: Replace ldc-bootstrap-1.24 with gdmd. [supported-systems]: Mark all systems supported. Co-authored-by: Efraim Flashner <efraim@flashner.co.il> Esther Flashner 2022-06-26gnu: Add gdmd....* gnu/packages/dlang.scm (gdmd): New variable. Co-authored-by: Efraim Flashner <efraim@flashner.co.il> Esther Flashner 2022-06-26Revert "gnu: ldc-bootstrap-0.17: Add support for aarch64-linux."...This reverts commit 4f6ed3d2f8531ce1b75dc79365ce67587d8cb7e1. While this does allow building ldc on aarch64, it isn't actually helpful. Efraim Flashner 2022-06-19gnu: dub: Use G-expressions....* gnu/packages/dlang.scm (dub)[arguments]: Rewrite as G-expressions. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-06-19gnu: dub: Update to 1.23.0....This also fixes Dub's build, which was previously failing because of how ancient it was. * gnu/packages/dlang.scm (dub): Update to 1.23.0. [arguments]: Set target CC & LD environment variables. Invoke build.d. Don't explicitly return #t from phases. [native-inputs]: Add d-tools and ld-gold-wrapper. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-06-19gnu: d-tools: Update to 2.100.0....* gnu/packages/dlang.scm (d-tools): Update to 2.100.0. [arguments]: Adjust accordingly. Reinstate a custom 'check phase. Install the rdmd man page. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-06-19gnu: d-tools: Don't use unstable tarball....* gnu/packages/dlang.scm (d-tools)[source]: Use GIT-FETCH and GIT-FILE-NAME. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-06-19gnu: d-tools: Use G-expressions....* gnu/packages/dlang.scm (d-tools)[arguments]: Rewrite as G-expressions. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-06-19gnu: d-tools: Fix build....* gnu/packages/dlang.scm (d-tools)[arguments]: Set target CC and LD environment variables. [native-inputs]: Add ld-gold-wrapper. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-06-19gnu: rdmd: Rename to d-tools....* gnu/packages/dlang.scm (rdmd): Rename this… (d-tools): …to this. [home-page, synopsis, description]: Update accordingly. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> ( 2022-06-23gnu: ldc-bootstrap-0.17: Add support for aarch64-linux....* gnu/packages/dlang.scm (ldc-bootstrap-0.17)[supported-systems]: Add aarch64-linux. [arguments]: When building targeting aarch64-linux build for armhf-linux. Efraim Flashner