aboutsummaryrefslogtreecommitdiff
;;; tojo-tokyo-guix-config --- Guix Channel for git.tojo.tokyo's package
;;; Copyright © 2023 Masaya Tojo <masaya@tojo.tokyo>
;;;
;;; This file is part of tojo-tokyo-guix-channel.
;;;
;;; tojo-tokyo-guix-config 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.
;;;
;;; tojo-tokyo-guix-config 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 extract-green-color.  If not, see
;;; <http://www.gnu.org/licenses/>.

(define-module (tojo-tokyo packages lisp-xyz)
  #:use-module (guix packages)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (guix git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build-system asdf)
  #:use-module (gnu packages)
  #:use-module (gnu packages lisp)
  #:use-module (gnu packages lisp-xyz))

(define-public sbcl-clack-next
  (let ((commit "488cfb36381a4f4c56ad7f1184ea64b6ebcc2cee")
        (revision "1"))
    (package
      (inherit sbcl-clack)
      (version (git-version "2.1.0" revision commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/fukamachi/clack")
               (commit commit)))
         (file-name (git-file-name "cl-clack" version))
         (sha256
          (base32 "1xvxgzzd8jv0ig2hwq4yaxsshs5j55v144c34wqyva3c56j3640i"))))
      (inputs
       `(("alexandria" ,sbcl-alexandria)
         ("bordeaux-threads" ,sbcl-bordeaux-threads)
         ("cl-fastcgi" ,sbcl-cl-fastcgi)
         ("flexi-streams" ,sbcl-flexi-streams)
         ("hunchentoot" ,sbcl-hunchentoot)
         ("lack" ,sbcl-lack-next)
         ("split-sequence" ,sbcl-split-sequence)
         ("usocket" ,sbcl-usocket)
         ("quri" ,sbcl-quri)
         ("sbcl-slime-swank" ,sbcl-slime-swank)))
      (license license:x11))))

(define-public sbcl-lack-next
  (let ((commit "c2edb842247ced0071dc21987f97629575667fe8")
        (revision "1"))
    (package
      (inherit sbcl-lack)
      (name "sbcl-lack")
      (version (git-version "0.2.0" revision commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/fukamachi/lack")
               (commit commit)))
         (file-name (git-file-name "lack" version))
         (sha256
          (base32 "0dad6gb9vai3rhw3xsn1ks82xmd1gmpy457ik30vyv5b6c38c5xz"))))
      (arguments
       '(#:asd-systems '("lack"
                         "lack-request"
                         "lack-response"
                         "lack-component"
                         "lack-util"
                         "lack-util-writer-stream"
                         "lack-middleware-backtrace"
                         "lack-middleware-static")
         ;; XXX: Component :CLACK not found
         #:tests? #f))
      (inputs
       `(("circular-streams" ,sbcl-circular-streams)
         ("http-body" ,sbcl-http-body)
         ("ironclad" ,sbcl-ironclad)
         ("local-time" ,sbcl-local-time)
         ("quri" ,sbcl-quri)
         ("trivial-mimes" ,sbcl-trivial-mimes)
         ("sbcl-cl-isaac" ,sbcl-cl-isaac)
         ("sbcl-trivial-rfc-1123" ,sbcl-trivial-rfc-1123)))
      (license license:x11))))

(define-public sbcl-clog-1.7
  (package
    (inherit sbcl-clog)
    (version "1.7")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/rabbibotton/clog")
             (commit (string-append "v" version))))
       (file-name (git-file-name "cl-clog" version))
       (sha256
        (base32 "19sf25nhsmjbc21qwp2qlp1hr03l7kc4kppzwhrbqv8rxd73zs9l"))))
    (arguments
     '(#:asd-systems '("clog" "clog/docs")))
    (inputs
     (list sbcl-3bmd
           sbcl-alexandria
           sbcl-atomics
           sbcl-bordeaux-threads
           sbcl-cl-isaac
           sbcl-cl-pass
           sbcl-cl-ppcre
           sbcl-cl-sqlite
           sbcl-cl-template
           sbcl-clack-next
           sbcl-closer-mop
           sbcl-colorize
           sbcl-dbi
           sbcl-hunchentoot
           sbcl-lack-next
           sbcl-mgl-pax
           sbcl-parse-float
           sbcl-quri
           sbcl-trivial-open-browser
           sbcl-websocket-driver))))