gnu: Add guile2.0-bytestructures.
* gnu/packages/patches/guile-bytestructures-name-clash.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/guile.scm (guile-bytestructures)[source]: Use it. [arguments]: Unpack the source. [native-inputs]: New field. (guile2.0-bytestructures): New variable.
This commit is contained in:
parent
0093b1262b
commit
726ecfeb3a
@ -668,6 +668,7 @@ dist_patch_DATA = \
|
|||||||
%D%/packages/patches/gsl-test-i686.patch \
|
%D%/packages/patches/gsl-test-i686.patch \
|
||||||
%D%/packages/patches/gspell-dash-test.patch \
|
%D%/packages/patches/gspell-dash-test.patch \
|
||||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||||
|
%D%/packages/patches/guile-bytestructures-name-clash.patch \
|
||||||
%D%/packages/patches/guile-default-utf8.patch \
|
%D%/packages/patches/guile-default-utf8.patch \
|
||||||
%D%/packages/patches/guile-linux-syscalls.patch \
|
%D%/packages/patches/guile-linux-syscalls.patch \
|
||||||
%D%/packages/patches/guile-present-coding.patch \
|
%D%/packages/patches/guile-present-coding.patch \
|
||||||
|
@ -1543,16 +1543,28 @@ is no support for parsing block and inline level HTML.")
|
|||||||
(file-name (string-append name "-" version "-checkout"))
|
(file-name (string-append name "-" version "-checkout"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"04lgh0nk6ddnwgh20hnz4pyhczaik0xbd50kikjsxcwcl46shavb"))))
|
"04lgh0nk6ddnwgh20hnz4pyhczaik0xbd50kikjsxcwcl46shavb"))
|
||||||
|
(patches (search-patches "guile-bytestructures-name-clash.patch"))))
|
||||||
(build-system trivial-build-system)
|
(build-system trivial-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((guix build utils))
|
`(#:modules ((guix build utils))
|
||||||
#:builder
|
#:builder
|
||||||
(begin
|
(begin
|
||||||
(use-modules (guix build utils)
|
(use-modules (guix build utils)
|
||||||
|
(ice-9 ftw)
|
||||||
(ice-9 match)
|
(ice-9 match)
|
||||||
(ice-9 popen)
|
(ice-9 popen)
|
||||||
(ice-9 rdelim))
|
(ice-9 rdelim))
|
||||||
|
;; Unpack.
|
||||||
|
(setenv "PATH"
|
||||||
|
(string-join (list (assoc-ref %build-inputs "tar")
|
||||||
|
(assoc-ref %build-inputs "xz"))
|
||||||
|
"/bin:" 'suffix))
|
||||||
|
(system* "tar" "xf" (assoc-ref %build-inputs "source"))
|
||||||
|
(match (scandir ".")
|
||||||
|
(("." ".." directory)
|
||||||
|
(chdir directory)))
|
||||||
|
|
||||||
(let* ((out (assoc-ref %outputs "out"))
|
(let* ((out (assoc-ref %outputs "out"))
|
||||||
(guile (assoc-ref %build-inputs "guile"))
|
(guile (assoc-ref %build-inputs "guile"))
|
||||||
(effective (read-line
|
(effective (read-line
|
||||||
@ -1561,7 +1573,7 @@ is no support for parsing block and inline level HTML.")
|
|||||||
"-c" "(display (effective-version))")))
|
"-c" "(display (effective-version))")))
|
||||||
(module-dir (string-append out "/share/guile/site/"
|
(module-dir (string-append out "/share/guile/site/"
|
||||||
effective))
|
effective))
|
||||||
(source (assoc-ref %build-inputs "source"))
|
(source (getcwd))
|
||||||
(doc (string-append out "/share/doc/scheme-bytestructures"))
|
(doc (string-append out "/share/doc/scheme-bytestructures"))
|
||||||
(sld-files (with-directory-excursion source
|
(sld-files (with-directory-excursion source
|
||||||
(find-files "bytestructures/r7" "\\.exports.sld$")))
|
(find-files "bytestructures/r7" "\\.exports.sld$")))
|
||||||
@ -1601,6 +1613,9 @@ is no support for parsing block and inline level HTML.")
|
|||||||
;; Also copy over the README.
|
;; Also copy over the README.
|
||||||
(install-file "README.md" doc)
|
(install-file "README.md" doc)
|
||||||
#t))))
|
#t))))
|
||||||
|
(native-inputs
|
||||||
|
`(("tar" ,tar)
|
||||||
|
("xz" ,xz)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("guile" ,guile-2.2)))
|
`(("guile" ,guile-2.2)))
|
||||||
(home-page "https://github.com/TaylanUB/scheme-bytestructures")
|
(home-page "https://github.com/TaylanUB/scheme-bytestructures")
|
||||||
@ -1613,6 +1628,9 @@ an abstraction over raw memory. It's also more powerful than the C
|
|||||||
type system, elevating types to first-class status.")
|
type system, elevating types to first-class status.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public guile2.0-bytestructures
|
||||||
|
(package-for-guile-2.0 guile-bytestructures))
|
||||||
|
|
||||||
(define-public guile-aspell
|
(define-public guile-aspell
|
||||||
(package
|
(package
|
||||||
(name "guile-aspell")
|
(name "guile-aspell")
|
||||||
|
31
gnu/packages/patches/guile-bytestructures-name-clash.patch
Normal file
31
gnu/packages/patches/guile-bytestructures-name-clash.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
This patch works around a name clash between the 'cstring-pointer' module and
|
||||||
|
the 'cstring-module' variable that occurs in Guile 2.0:
|
||||||
|
|
||||||
|
ice-9/boot-9.scm:109:20: re-exporting local variable: cstring-pointer
|
||||||
|
|
||||||
|
--- guile-bytestructures-20170402.91d042e-checkout/bytestructures/guile.scm 2017-07-25 17:04:32.858289986 +0200
|
||||||
|
+++ guile-bytestructures-20170402.91d042e-checkout/bytestructures/guile.scm 2017-07-25 17:04:41.130244725 +0200
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
(define-module (bytestructures guile))
|
||||||
|
|
||||||
|
-(import
|
||||||
|
+(use-modules
|
||||||
|
(bytestructures guile base)
|
||||||
|
(bytestructures guile vector)
|
||||||
|
(bytestructures guile struct)
|
||||||
|
@@ -8,7 +8,7 @@
|
||||||
|
(bytestructures guile pointer)
|
||||||
|
(bytestructures guile numeric)
|
||||||
|
(bytestructures guile string)
|
||||||
|
- (bytestructures guile cstring-pointer))
|
||||||
|
+ ((bytestructures guile cstring-pointer) #:prefix cstr:))
|
||||||
|
(re-export
|
||||||
|
make-bytestructure-descriptor
|
||||||
|
bytestructure-descriptor?
|
||||||
|
@@ -75,5 +75,5 @@
|
||||||
|
|
||||||
|
bs:string
|
||||||
|
|
||||||
|
- cstring-pointer
|
||||||
|
+ cstr:cstring-pointer
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user