From a69596b95125702a28874f44bce3c7c6c3820740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 19 Aug 2010 16:52:18 +0000 Subject: [PATCH] gnupdate: Use the latest FFI. * maintainers/scripts/gnu/gnupdate (version-string>?): Use the new `string->pointer', available in 1.9.12. svn path=/nixpkgs/trunk/; revision=23253 --- maintainers/scripts/gnu/gnupdate | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate index dbb3f0d528e..b9f34a2750e 100755 --- a/maintainers/scripts/gnu/gnupdate +++ b/maintainers/scripts/gnu/gnupdate @@ -623,19 +623,9 @@ exec ${GUILE-guile} -L "$PWD" -l "$0" \ (let ((strverscmp (let ((sym (or (dynamic-func "strverscmp" (dynamic-link)) (error "could not find `strverscmp' (from GNU libc)")))) - (make-foreign-function int sym (list '* '*)))) - (string->null-terminated-utf8 - (lambda (s) - (let* ((utf8 (string->utf8 s)) - (len (bytevector-length utf8)) - (nts (make-bytevector (+ len 1)))) - (bytevector-copy! utf8 0 nts 0 len) - (bytevector-u8-set! nts len 0) - nts)))) + (make-foreign-function int sym (list '* '*))))) (lambda (a b) - (let ((a (bytevector->foreign (string->null-terminated-utf8 a))) - (b (bytevector->foreign (string->null-terminated-utf8 b)))) - (> (strverscmp a b) 0))))) + (> (strverscmp (string->pointer a) (string->pointer b)) 0)))) (define (latest-release project) ;; Return "FOO-X.Y" or #f.