aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-07-17 11:51:46 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-07-17 15:35:57 +0200
commit892f1ef0545a13ff4fff2883a4521f157790aa6f (patch)
tree6c65acb0596a2cfd65a72d8787978498b57af566
parentdb0940180544c3ef5d83b216f1e0287f71189426 (diff)
downloadguix-892f1ef0545a13ff4fff2883a4521f157790aa6f.tar.gz
guix-892f1ef0545a13ff4fff2883a4521f157790aa6f.zip
gnu: Add sbcl-mcclim-harfbuzz.
* gnu/packages/lisp-xyz.scm (sbcl-mcclim-harfbuzz): New variable.
-rw-r--r--gnu/packages/lisp-xyz.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 0adeff41c1..5898953ae2 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -12953,3 +12953,36 @@ specification}, a toolkit for writing GUIs in Common Lisp.")
(("\\(asdf:defsystem #:mcclim-fontconfig" all)
(string-append "(asdf:load-system :cffi-grovel)\n" all)))
#t)))))))
+
+(define-public sbcl-mcclim-harfbuzz
+ (package
+ (inherit sbcl-clim-lisp)
+ (name "sbcl-mcclim-harfbuzz")
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cffi" ,sbcl-cffi)
+ ("cffi-grovel" ,sbcl-cffi-grovel)
+ ("freetype" ,freetype)
+ ("harfbuzz" ,harfbuzz)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (arguments
+ '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Extensions/harfbuzz/src/functions.lisp"
+ (("libharfbuzz\\.so")
+ (string-append (assoc-ref inputs "harfbuzz")
+ "/lib/libharfbuzz.so")))
+ #t))
+ (add-after 'unpack 'fix-build
+ (lambda _
+ ;; The cffi-grovel system does not get loaded automatically,
+ ;; so we load it explicitly.
+ (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
+ (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
+ (string-append "(asdf:load-system :cffi-grovel)\n" all)))
+ #t)))))))