From 7ff37213b777c9185b13918b9b976400f7bc1373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 10 Sep 2010 11:50:06 +0000 Subject: [PATCH] gnupdate: Update to new FFI. * maintainers/scripts/gnu/gnupdate (pointer->procedure): New procedure. svn path=/nixpkgs/trunk/; revision=23712 --- maintainers/scripts/gnu/gnupdate | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate index b9f34a2750e3..159e45fce10c 100755 --- a/maintainers/scripts/gnu/gnupdate +++ b/maintainers/scripts/gnu/gnupdate @@ -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))))