mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-26 12:39:36 -05:00
gnu: Add guile-libyaml.
* gnu/packages/guile-xyz.scm (guile-libyaml): New variable.
This commit is contained in:
parent
c0afd8044f
commit
559feb6661
1 changed files with 70 additions and 0 deletions
|
@ -82,6 +82,7 @@ (define-module (gnu packages guile-xyz)
|
|||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mes)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
|
@ -101,6 +102,7 @@ (define-module (gnu packages guile-xyz)
|
|||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
|
@ -4430,6 +4432,74 @@ (define-public guile-shapefile
|
|||
"Guile Shapefile is a Guile library for reading shapefiles.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public guile-libyaml
|
||||
(let ((commit "f5d33a6880e96571d3cb079ed7755ffc156cac46")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "guile-libyaml")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mwette/guile-libyaml")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12x91983fh1j39zy7kbk19acc1rqdh8515ddx1mh7l26j04k9wgq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules (((guix build guile-build-system)
|
||||
#:prefix guile:)
|
||||
,@%gnu-build-system-modules)
|
||||
#:imported-modules ((guix build guile-build-system)
|
||||
,@%gnu-build-system-modules)
|
||||
#:tests? #false ; there are none
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'remove-unused-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each delete-file
|
||||
'("guix.scm" "demo1.yml" "demo1.scm"
|
||||
"yaml/libyaml.scm"
|
||||
;; This file is mismatched with the generated FFI code.
|
||||
"yaml/ffi-help-rt.scm"))
|
||||
(copy-file (string-append (assoc-ref inputs "nyacc")
|
||||
"/share/guile/site/3.0/system/ffi-help-rt.scm")
|
||||
"yaml/ffi-help-rt.scm")
|
||||
(substitute* "yaml/ffi-help-rt.scm"
|
||||
(("system ffi-help-rt") "yaml ffi-help-rt"))
|
||||
#true))
|
||||
(add-before 'build 'build-ffi
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke "guild" "compile-ffi"
|
||||
"--no-exec" ; allow us to patch the generated file
|
||||
"yaml/libyaml.ffi")
|
||||
(substitute* "yaml/libyaml.scm"
|
||||
(("system ffi-help-rt") "yaml ffi-help-rt")
|
||||
(("dynamic-link \"libyaml\"")
|
||||
(format #false "dynamic-link \"~a/lib/libyaml\""
|
||||
(assoc-ref inputs "libyaml"))))
|
||||
#true))
|
||||
(replace 'build
|
||||
(assoc-ref guile:%standard-phases 'build))
|
||||
(delete 'install))))
|
||||
(inputs
|
||||
`(("guile" ,guile-3.0)
|
||||
("libyaml" ,libyaml)))
|
||||
(propagated-inputs
|
||||
`(("guile-bytestructures" ,guile-bytestructures)))
|
||||
(native-inputs
|
||||
`(("nyacc" ,nyacc)))
|
||||
(home-page "https://github.com/mwette/guile-libyaml")
|
||||
(synopsis "Guile wrapper for libyaml")
|
||||
(description
|
||||
"This package provides a simple yaml module for Guile using the
|
||||
ffi-helper from nyacc.")
|
||||
(license license:lgpl3+))))
|
||||
|
||||
(define-public schmutz
|
||||
(let ((commit "add24588c59552537b8f1316df99a0cdd62c221e")
|
||||
(revision "1"))
|
||||
|
|
Loading…
Reference in a new issue