;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages enchant)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
(sbcl-package->ecl-package sbcl-jpl-queues))
(define-public sbcl-eos
- (let ((commit "b0faca83781ead9a588661e37bd47f90362ccd94"))
+ (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
+ (revision "2"))
(package
(name "sbcl-eos")
- (version (git-version "0.0.0" "1" commit))
+ (version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(url "https://github.com/adlai/Eos")
(commit commit)))
(sha256
- (base32
- "1bq8cfg087iyxmxi1mwgx5cfgy3b8ydrf81xljcis8qbgb2vszph"))
+ (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
(file-name (git-file-name "eos" version))))
(build-system asdf-build-system/sbcl)
(synopsis "Unit Testing for Common Lisp")
("cl-paths-ttf" ,sbcl-cl-paths-ttf)
("cl-vectors" ,sbcl-cl-vectors)
("clim-basic" ,sbcl-clim-basic)
+ ("font-dejavu" ,font-dejavu)
("zpb-ttf" ,sbcl-zpb-ttf)))
(arguments
- '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
+ '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
#:asd-system-name "mcclim-fonts/truetype"
- ;; Tests want access to user's fonts, which are not available in
- ;; build container.
- #:tests? #f))))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; mcclim-truetype uses DejaVu as default font and
+ ;; sets the path at build time.
+ (substitute* "Extensions/fonts/fontconfig.lisp"
+ (("/usr/share/fonts/truetype/dejavu/")
+ (string-append (assoc-ref inputs "font-dejavu")
+ "/share/fonts/truetype/")))
+ #t)))))))
(define-public sbcl-mcclim-fonts-clx-truetype
(package
("swank" ,cl-slime-swank))) ; For drei-mcclim
(arguments
'(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd"))))
+
+(define-public sbcl-mcclim-null
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-null")
+ (inputs
+ `(("clim" ,sbcl-clim)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Backends/Null/mcclim-null.asd"))))
+
+(define-public sbcl-clim-postscript-font
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-clim-postscript-font")
+ (inputs
+ `(("clim-basic" ,sbcl-clim-basic)
+ ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Backends/PostScript/clim-postscript-font.asd"))))
+
+(define-public sbcl-clim-postscript
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-clim-postscript")
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("clim-basic" ,sbcl-clim-basic)
+ ("clim-postscript-font" ,sbcl-clim-postscript-font)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Backends/PostScript/clim-postscript.asd"
+ ;; Test suite disabled because of a dependency cycle.
+ ;; The tests depend on mcclim/test-util, which depends on mcclim,
+ ;; wich depends on mcclim/extensions, which depends on clim-postscript.
+ #:tests? #f))))
+
+(define-public sbcl-clim-pdf
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-clim-pdf")
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("cl-pdf" ,sbcl-cl-pdf)
+ ("clim-basic" ,sbcl-clim-basic)
+ ("clim-postscript-font" ,sbcl-clim-postscript-font)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Backends/PDF/clim-pdf.asd"
+ ;; Test suite disabled because of a dependency cycle.
+ ;; The tests depend on mcclim/test-util, which depends on mcclim,
+ ;; wich depends on mcclim/extensions, which depends on clim-pdf.
+ #:tests? #f))))
+
+(define-public sbcl-mcclim-looks
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-looks")
+ (inputs
+ `(("clim" ,sbcl-clim)
+ ("mcclim-clx" ,sbcl-mcclim-clx)
+ ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb)
+ ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype)
+ ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype)
+ ("mcclim-null" ,sbcl-mcclim-null)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "mcclim.asd"
+ #:asd-system-name "mcclim/looks"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-asd-system-names
+ (lambda _
+ (substitute* "mcclim.asd"
+ (("mcclim-clx/truetype")
+ "mcclim-clx-truetype")
+ (("mcclim-clx/freetype")
+ "mcclim-clx-freetype"))
+ #t)))))))
+
+(define-public sbcl-mcclim-franz
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-franz")
+ (inputs
+ `(("clim" ,sbcl-clim)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Extensions/Franz/mcclim-franz.asd"))))
+
+(define-public sbcl-mcclim-bezier-core
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-bezier-core")
+ (inputs
+ `(("clim" ,sbcl-clim)
+ ("clim-pdf" ,sbcl-clim-pdf)
+ ("clim-postscript" ,sbcl-clim-postscript)
+ ("mcclim-null" ,sbcl-mcclim-null)
+ ("mcclim-render" ,sbcl-mcclim-render)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
+ #:asd-system-name "mcclim-bezier/core"))))
+
+(define-public sbcl-mcclim-bezier-clx
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-bezier-clx")
+ (inputs
+ `(("clim" ,sbcl-clim)
+ ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
+ ("mcclim-clx" ,sbcl-mcclim-clx)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
+ #:asd-system-name "mcclim-bezier/clx"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-asd-system-names
+ (lambda _
+ (substitute* "Extensions/bezier/mcclim-bezier.asd"
+ (("mcclim-bezier/core\\)")
+ "mcclim-bezier-core)"))
+ #t)))))))
+
+(define-public sbcl-mcclim-bezier
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-bezier")
+ (inputs
+ `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx)
+ ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-asd-system-names
+ (lambda _
+ (substitute* "Extensions/bezier/mcclim-bezier.asd"
+ (("\\(#:mcclim-bezier/core")
+ "(#:mcclim-bezier-core")
+ (("#:mcclim-bezier/clx\\)\\)")
+ "#:mcclim-bezier-clx))"))
+ #t)))))))
+
+(define-public sbcl-mcclim-bitmaps
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-bitmaps")
+ (inputs
+ `(("clim-basic" ,sbcl-clim-basic)
+ ("opticl" ,sbcl-opticl)))
+ (arguments
+ '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd"))))
+
+(define-public sbcl-conditional-commands
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-conditional-commands")
+ (inputs
+ `(("clim-basic" ,sbcl-clim-basic)))
+ (arguments
+ '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd"))))
+
+(define-public sbcl-mcclim-layouts-tab
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-layouts-tab")
+ (inputs
+ `(("clim" ,sbcl-clim)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "Extensions/layouts/mcclim-layouts.asd"
+ #:asd-system-name "mcclim-layouts/tab"))))
+
+(define-public sbcl-mcclim-extensions
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-extensions")
+ (inputs
+ `(("clim-pdf" ,sbcl-clim-pdf)
+ ("clim-postscript" ,sbcl-clim-postscript)
+ ("conditional-commands" ,sbcl-conditional-commands)
+ ("mcclim-bezier" ,sbcl-mcclim-bezier)
+ ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps)
+ ("mcclim-franz" ,sbcl-mcclim-franz)
+ ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:asd-file "mcclim.asd"
+ #:asd-system-name "mcclim/extensions"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-asd-system-names
+ (lambda _
+ (substitute* "mcclim.asd"
+ (("mcclim-layouts/tab")
+ "mcclim-layouts-tab"))
+ #t)))))))
+
+(define-public sbcl-mcclim
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim")
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("mcclim-looks" ,sbcl-mcclim-looks)
+ ("mcclim-extensions" ,sbcl-mcclim-extensions)
+ ("swank" ,cl-slime-swank))) ; For drei-mcclim
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-asd-system-names
+ (lambda _
+ (substitute* "mcclim.asd"
+ ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)")
+ ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")"))
+ #t)))
+ ;; Test suite disabled because of a dependency cycle.
+ ;; The tests depend on mcclim/test-util, which depends on mcclim.
+ #:tests? #f))))
+
+(define-public cl-mcclim
+ (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp)))
+ (package
+ (inherit base)
+ (name "cl-mcclim")
+ (native-inputs
+ `(("fiveam" ,cl-fiveam)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alexandria" ,cl-alexandria)
+ ("babel" ,cl-babel)
+ ("bordeaux-threads" ,cl-bordeaux-threads)
+ ("cffi" ,cl-cffi)
+ ("cl-aa" ,cl-aa)
+ ("cl-freetype2" ,cl-freetype2)
+ ("cl-paths-ttf" ,cl-paths-ttf)
+ ("cl-pdf" ,cl-pdf)
+ ("cl-unicode" ,cl-unicode)
+ ("cl-vectors" ,cl-vectors)
+ ("closer-mop" ,cl-closer-mop)
+ ("clx" ,cl-clx)
+ ("flexi-streams" ,cl-flexi-streams)
+ ("flexichain" ,cl-flexichain)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("harfbuzz" ,harfbuzz)
+ ("log4cl" ,cl-log4cl)
+ ("opticl" ,cl-opticl)
+ ("spatial-trees" ,cl-spatial-trees)
+ ("trivial-features" ,cl-trivial-features)
+ ("trivial-garbage" ,cl-trivial-garbage)
+ ("trivial-gray-streams" ,cl-trivial-gray-streams)
+ ("swank" ,cl-slime-swank)
+ ("zpb-ttf" ,cl-zpb-ttf))))))
+
+(define-public sbcl-cl-inflector
+ (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-inflector")
+ (version (git-version "0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AccelerationNet/cl-inflector")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("lisp-unit2" ,sbcl-lisp-unit2)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-ppcre" ,sbcl-cl-ppcre)))
+ (home-page "https://github.com/AccelerationNet/cl-inflector")
+ (synopsis "Library to pluralize/singularize English and Portuguese words")
+ (description
+ "This is a common lisp library to easily pluralize and singularize
+English and Portuguese words. This is a port of the ruby ActiveSupport
+Inflector module.")
+ (license license:expat))))
+
+(define-public cl-inflector
+ (sbcl-package->cl-source-package sbcl-cl-inflector))
+
+(define-public ecl-cl-inflector
+ (sbcl-package->ecl-package sbcl-cl-inflector))
+
+(define-public sbcl-qbase64
+ (package
+ (name "sbcl-qbase64")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/chaitanyagupta/qbase64")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("metabang-bind" ,sbcl-metabang-bind)
+ ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/chaitanyagupta/qbase64")
+ (synopsis "Base64 encoder and decoder for Common Lisp")
+ (description "@code{qbase64} provides a fast and flexible base64 encoder
+and decoder for Common Lisp.")
+ (license license:bsd-3)))
+
+(define-public cl-qbase64
+ (sbcl-package->cl-source-package sbcl-qbase64))
+
+(define-public ecl-qbase64
+ (sbcl-package->ecl-package sbcl-qbase64))
+
+(define-public sbcl-hu.dwim.common-lisp
+ (package
+ (name "sbcl-hu.dwim.common-lisp")
+ (version "2015-07-09")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
+ version "/hu.dwim.common-lisp-"
+ (string-replace-substring version "-" "")
+ "-darcs.tgz"))
+ (sha256
+ (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
+ (home-page "http://dwim.hu/")
+ (synopsis "Redefine some standard Common Lisp names")
+ (description "This library is a redefinition of the standard Common Lisp
+package that includes a number of renames and shadows. ")
+ (license license:public-domain)))
+
+(define-public cl-hu.dwim.common-lisp
+ (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
+
+(define-public ecl-hu.dwim.common-lisp
+ (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
+
+(define-public sbcl-hu.dwim.common
+ (package
+ (name "sbcl-hu.dwim.common")
+ (version "2015-07-09")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://beta.quicklisp.org/archive/hu.dwim.common/"
+ version "/hu.dwim.common-"
+ (string-replace-substring version "-" "")
+ "-darcs.tgz"))
+ (sha256
+ (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
+ ("iterate" ,sbcl-iterate)
+ ("metabang-bind" ,sbcl-metabang-bind)))
+ (home-page "http://dwim.hu/")
+ (synopsis "Common Lisp library shared by other hu.dwim systems")
+ (description "")
+ (license license:public-domain)))
+
+(define-public cl-hu.dwim.common
+ (sbcl-package->cl-source-package sbcl-hu.dwim.common))
+
+(define-public ecl-hu.dwim.common
+ (sbcl-package->ecl-package sbcl-hu.dwim.common))
+
+(define-public sbcl-hu.dwim.defclass-star
+ (package
+ (name "sbcl-hu.dwim.defclass-star")
+ (version "2015-07-09")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
+ version "/hu.dwim.defclass-star-"
+ (string-replace-substring version "-" "")
+ "-darcs.tgz"))
+ (sha256
+ (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(;; These 2 inputs are only needed tests which are disabled, see below.
+ ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
+ ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
+ ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
+ ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
+ (arguments
+ `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
+ ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
+ ;; -> hu.dwim.util -> hu.dwim.defclass-star.
+ #:tests? #f))
+ (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
+ (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
+ (description "@code{defclass-star} provides defclass* and defcondition* to
+simplify class and condition declarations. Features include:
+
+@itemize
+@item Automatically export all or select slots at compile time.
+@item Define the @code{:initarg} and @code{:accesor} automatically.
+@item Specify a name transformer for both the @code{:initarg} and
+@code{:accessor}, etc.
+@item Specify the @code{:initform} as second slot value.
+@end itemize
+
+See
+@url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
+for an example.")
+ (license license:public-domain)))
+
+(define-public cl-hu.dwim.defclass-star
+ (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
+
+(define-public ecl-hu.dwim.defclass-star
+ (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))