> + (snippet > + '(let ((p (open-file "argon2.pc" "a"))) ... ^ why?
> + (begin > + (display > + (string-append "prefix=/usr/local\n" > + "exec_prefix=${prefix}\n" > + "includedir=${prefix}/include\n" > + "libdir=${prefix}/lib\n\n" > + "Name: Argon2\n" > + "Description: " > + "The Argon2 password hashing algorithm\n" > + "Version: 1.0.0\n" > + "Cflags: -I${includedir}/\n" > + "Libs: -L${libdir} -largon2\n") p) > + (close-output-port p)))) Ok but please try to upstream this as well. > + (zero? (system* "ln" "-s" > + (string-append out "/lib/libargon2.so") > + (string-append out "/lib/libargon2.so.0"))) The result of this will be ignored. Did you mean "(and ...)"? > + (zero? (system* ; Fix compatability for libtool based builds. > + "ln" "-s" > + (string-append out "/lib/libargon2.so") > + (string-append out "/lib/libargon2.so.0.0.0"))))))))) Doesn't this have a soversion other than 0? I mean it's OK, I'm just asking to be sure - because the pkg-config file lists 1.0.0 and the name of the pkg-config file contains no soversion at all.