diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate index b9f34a2750e..159e45fce10 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))))