summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Becze <mjbecze@riseup.net>2020-09-04 15:25:14 -0500
committerMathieu Othacehe <othacehe@gnu.org>2020-09-07 08:49:04 +0200
commit45231d17580bd1f6bc9c5d7b84e79c7f4cdc7b93 (patch)
tree28262436013c8c4fd1e464a82d415cf81912ce9b
parent30d59b310df22b87bad64b1c9a0c5ff39b92e3b3 (diff)
downloadguix-45231d17580bd1f6bc9c5d7b84e79c7f4cdc7b93.tar.gz
gnu: guile-pfds: When using Guile 3, compile as a r6rs library.
This allow the package to be resused by r6rs compliant scheme implementations
that expect *.sls files.

* gnu/packages/guile-xyz.scm (guile2.2-pfds): Rename *.sls files to *.scm
since Guile 2 does not support the sls extension.
(guile-pfds): Removed the renaming of files to *.sls to *.scm.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
-rw-r--r--gnu/packages/guile-xyz.scm26
1 files changed, 14 insertions, 12 deletions
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index de2aed1096..f88ebf2abf 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -798,6 +798,7 @@ using Guile's foreign function interface.")
     (build-system guile-build-system)
     (arguments
      '(#:source-directory "src"
+       #:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch")
        #:phases (modify-phases %standard-phases
                   (add-after 'unpack 'move-files-around
                     (lambda _
@@ -806,8 +807,7 @@ using Guile's foreign function interface.")
                       (mkdir-p "src/pfds")
                       (for-each (lambda (file)
                                   (rename-file file
-                                               (string-append "src/pfds/"
-                                                              file)))
+                                    (string-append "src/pfds/" file)))
                                 '("bbtrees.sls"
                                   "deques"
                                   "deques.sls"
@@ -821,15 +821,6 @@ using Guile's foreign function interface.")
                                   "queues.sls"
                                   "sequences.sls"
                                   "sets.sls"))
-
-                      ;; In Guile <= 2.2.4, there's no way to tell 'guild
-                      ;; compile' to accept the ".sls" extension.  So...
-                      (for-each (lambda (file)
-                                  (rename-file file
-                                               (string-append
-                                                (string-drop-right file 4)
-                                                ".scm")))
-                                (find-files "." "\\.sls$"))
                       #t)))))
     (native-inputs
      `(("guile" ,guile-3.0)))
@@ -892,7 +883,18 @@ types are supported.")
      (substitute-keyword-arguments (package-arguments guile-pfds)
        ((#:phases phases)
         `(modify-phases ,phases
-           (delete 'work-around-guile-bug)))))))
+           (delete 'work-around-guile-bug)
+           (add-after 'move-files-around 'sls->scm
+             (lambda _
+               ;; In Guile <= 2.2.4, there's no way to tell 'guild
+               ;; compile' to accept the ".sls" extension.  So...
+               (for-each (lambda (file)
+                           (rename-file file
+                                        (string-append
+                                         (string-drop-right file 4)
+                                         ".scm")))
+                         (find-files "." "\\.sls$"))
+               #t))))))))
 
 (define-public guile3.0-pfds
   (deprecated-package "guile3.0-pfds" guile-pfds))