1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-21 13:10:33 +00:00

gnupdate: Update to new FFI.

* maintainers/scripts/gnu/gnupdate (pointer->procedure): New procedure.

svn path=/nixpkgs/trunk/; revision=23712
This commit is contained in:
Ludovic Courtès 2010-09-10 11:50:06 +00:00
parent 6d1f247646
commit 7ff37213b7

View file

@ -619,11 +619,17 @@ exec ${GUILE-guile} -L "$PWD" -l "$0" \
project message args)
'())))
(define pointer->procedure
;; Compatibility hack for Guile up to 1.9.12 included.
(if (defined? 'pointer->procedure)
pointer->procedure
make-foreign-function))
(define version-string>?
(let ((strverscmp
(let ((sym (or (dynamic-func "strverscmp" (dynamic-link))
(error "could not find `strverscmp' (from GNU libc)"))))
(make-foreign-function int sym (list '* '*)))))
(pointer->procedure int sym (list '* '*)))))
(lambda (a b)
(> (strverscmp (string->pointer a) (string->pointer b)) 0))))