aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 (test-discovery)
  #:use-module (guix discovery)
  #:use-module (guix build-system)
  #:use-module (guix utils)
  #:use-module (srfi srfi-64)
  #:use-module (ice-9 match))

(define %top-srcdir
  (dirname (search-path %load-path "guix.scm")))

(test-begin "discovery")

(test-assert "scheme-modules"
  (match (map module-name (scheme-modules %top-srcdir "guix/import"))
    ((('guix 'import _ ...) ..1)
     #t)))

(test-assert "scheme-modules recurses in symlinks to directories"
  (call-with-temporary-directory
   (lambda (directory)
     (mkdir (string-append directory "/guix"))
     (symlink (string-append %top-srcdir "/guix/import")
              (string-append directory "/guix/import"))

     ;; DIRECTORY/guix/import is a symlink but we want to make sure
     ;; 'scheme-modules' recurses into it.
     (match (map module-name (scheme-modules directory))
       ((('guix 'import _ ...) ..1)
        #t)))))

(test-equal "scheme-modules, non-existent directory"
  '()
  (scheme-modules "/does/not/exist"))

(test-assert "all-modules"
  (match (map module-name
              (all-modules `((,%top-srcdir . "guix/build-system"))))
    ((('guix 'build-system names) ..1)
     names)))

(test-assert "fold-module-public-variables"
  (let ((modules (all-modules `((,%top-srcdir . "guix/build-system")))))
    (match (fold-module-public-variables (lambda (obj result)
                                           (if (build-system? obj)
                                               (cons obj result)
                                               result))
                                         '()
                                         modules)
      (((? build-system? bs) ..1)
       bs))))

(test-end "discovery")
tp://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
+ (home-page "https://wiki.haskell.org/Regular_expressions_for_XML_Schema")
(synopsis "Regular expression library for W3C XML Schema regular expressions")
(description
"This library supports full W3C XML Schema regular expressions inclusive
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 2387dfb190..234f75dbfc 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -333,7 +333,7 @@ tool lex or flex for C/C++.")
("alsa-lib" ,alsa-lib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "http://www.haskell.org/haskellwiki/ALSA")
+ (home-page "https://wiki.haskell.org/ALSA")
(synopsis "Binding to the ALSA Library API (Exceptions)")
(description "This package provides access to ALSA infrastructure, that is
needed by both alsa-seq and alsa-pcm.")
@@ -937,7 +937,7 @@ the bounds of \"base\" as well.")
(base32
"1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
(build-system haskell-build-system)
- (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
+ (home-page "https://wiki.haskell.org/Unicode-symbols")
(synopsis "Unicode alternatives for common functions and operators")
(description "This package defines new symbols for a number of functions,
operators and types in the base package. All symbols are documented with
@@ -2113,7 +2113,7 @@ nothing.")
;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
`(#:tests? #f))
(build-system haskell-build-system)
- (home-page "https://www.haskell.org/haskellwiki/Colour")
+ (home-page "https://wiki.haskell.org/Colour")
(synopsis "Model for human colour perception")
(description
"This package provides a data type for colours and transparency.
@@ -2644,7 +2644,7 @@ function performs the conversion you desire.")
(sha256
(base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
(build-system haskell-build-system)
- (home-page "https://www.haskell.org/haskellwiki/Record_access")
+ (home-page "https://wiki.haskell.org/Record_access")
(synopsis
"Haskell utilities for accessing and manipulating fields of records")
(description "This package provides Haskell modules for accessing and
@@ -2665,7 +2665,7 @@ manipulating fields of records.")
(base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
(build-system haskell-build-system)
(inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
- (home-page "https://www.haskell.org/haskellwiki/Record_access")
+ (home-page "https://wiki.haskell.org/Record_access")
(synopsis "Use Accessor to access state in transformers State monad")
(description "This package provides Haskell modules to allow use of
Accessor to access state in transformers State monad.")
@@ -4762,7 +4762,7 @@ matching patterns against file paths.")
(build-system haskell-build-system)
(inputs
`(("ghc-openglraw" ,ghc-openglraw)))
- (home-page "https://www.haskell.org/haskellwiki/Opengl")
+ (home-page "https://wiki.haskell.org/Opengl")
(synopsis "Raw Haskell bindings GLU")
(description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
@@ -4789,7 +4789,7 @@ basis for a nicer interface.")
("ghc-opengl" ,ghc-opengl)
("ghc-openglraw" ,ghc-openglraw)
("freeglut" ,freeglut)))
- (home-page "https://www.haskell.org/haskellwiki/Opengl")
+ (home-page "https://wiki.haskell.org/Opengl")
(synopsis "Haskell bindings for the OpenGL Utility Toolkit")
(description "This library provides Haskell bindings for the OpenGL
Utility Toolkit, a window system-independent toolkit for writing OpenGL
@@ -4825,7 +4825,7 @@ programs.")
(substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
(("(gnuplotName = ).*$" all cmd)
(string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
- (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
+ (home-page "https://wiki.haskell.org/Gnuplot")
(synopsis "2D and 3D plots using gnuplot")
(description "This package provides a Haskell module for creating 2D and
3D plots using gnuplot.")
@@ -5145,7 +5145,7 @@ the ‘haddock’ package.")
(inputs
`(("ghc-syb" ,ghc-syb)
("ghc-xml" ,ghc-xml)))
- (home-page "http://www.haskell.org/haddock/")
+ (home-page "https://www.haskell.org/haddock/")
(synopsis "Test utilities for Haddock")
(description "This package provides test utilities for Haddock.")
(license license:bsd-3)
@@ -8441,7 +8441,7 @@ old @code{time} library. For new projects, the newer
("ghc-gluraw" ,ghc-gluraw)
("ghc-statevar" ,ghc-statevar)
("ghc-openglraw" ,ghc-openglraw)))
- (home-page "https://www.haskell.org/haskellwiki/Opengl")
+ (home-page "https://wiki.haskell.org/Opengl")
(synopsis "Haskell bindings for the OpenGL graphics system")
(description "This package provides Haskell bindings for the OpenGL
graphics system (GL, version 4.5) and its accompanying utility library (GLU,
@@ -8467,7 +8467,7 @@ version 1.3).")
`(("ghc-half" ,ghc-half)
("ghc-fixed" ,ghc-fixed)
("glu" ,glu)))
- (home-page "https://www.haskell.org/haskellwiki/Opengl")
+ (home-page "https://wiki.haskell.org/Opengl")
(synopsis "Raw Haskell bindings for the OpenGL graphics system")
(description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
@@ -11966,7 +11966,7 @@ together.")
("ghc-unsafe" ,ghc-unsafe)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-syb" ,ghc-syb)))
- (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
+ (home-page "https://wiki.haskell.org/Storable_Vector")
(synopsis "Fast, packed, strict storable arrays with a list interface")
(description "This library provides fast, packed, strict storable
arrays with a list interface, a chunky lazy list interface with variable