summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2023-03-03 10:38:41 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2023-03-03 10:38:41 +0100
commit98cac9dcabbf15b156240876f5bd36707ea3f574 (patch)
tree6c436543b1ba601f83da84f7040fd6696da3935e
parenta359b744ce1b3385c4616e15b3f6b945a1ae3f7f (diff)
downloadguix-98cac9dcabbf15b156240876f5bd36707ea3f574.tar.gz
gnu: cl-tripod: Fix build.
* gnu/packages/lisp-xyz.scm (sbcl-tripod)[arguments]: Use the 'assoc-ref' form
  for the bin output.
  (cl-tripod)[outputs]: Remove bin.
  (ecl-tripod)[outputs]: Remove bin.
  [arguments]: Remove 'build-program' phase.
-rw-r--r--gnu/packages/lisp-xyz.scm21
1 files changed, 18 insertions, 3 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index dcc0778975..a8792dee52 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -1047,7 +1047,11 @@ Features:
              #~(modify-phases %standard-phases
                  (add-after 'create-asdf-configuration 'build-program
                    (lambda* (#:key outputs #:allow-other-keys)
-                     (build-program (string-append #$output:bin "/bin/tripod")
+                     ;; FIXME: Using #$output:bin here prevents cl-tripod and
+                     ;; ecl-tripod from building, but using assoc-ref works.
+                     (build-program (string-append ;; #$output:bin
+                                                   (assoc-ref outputs "bin")
+                                                   "/bin/tripod")
                                     outputs
                                     #:entry-program '((tripod:entry-point))
                                     #:compress? #t))))))
@@ -1071,10 +1075,21 @@ and Gopher website hosting.")
       (license license:bsd-2))))
 
 (define-public cl-tripod
-  (sbcl-package->cl-source-package sbcl-tripod))
+  ;; No "bin" output for the source package.
+  (let ((pkg (sbcl-package->cl-source-package sbcl-tripod)))
+    (package/inherit pkg
+      (outputs '("out")))))
 
 (define-public ecl-tripod
-  (sbcl-package->ecl-package sbcl-tripod))
+  ;; FIXME: Making a standalone binary doesn't work with ECL.
+  (let ((pkg (sbcl-package->ecl-package sbcl-tripod)))
+    (package/inherit pkg
+      (outputs '("out"))
+      (arguments
+       (substitute-keyword-arguments (package-arguments pkg)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (delete 'build-program))))))))
 
 (define-public sbcl-trivial-timeout
   (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")