>+ (uri "mirror://sourceforge/weka/weka-3-9/3.9.5/weka-3-9-5.zip") These isn't source code, these are binaries (*). With the exception of the bootstrap seeds, things in Guix must be built from source (and even then, we still can build them from source, with "guix build bootstrap-tarballs"). Looking at the git repository, it appears to use Ant, and we have an ant-build-system, so unless there are complicated dependencies, it should be feasible. >+ (native-inputs `(("unzip" ,unzip))) >+ (inputs `(("jre" ,icedtea))) Nowadays you can avoid input labels with (native-inputs (list unzip)) and (inputs (list icedtea)). >+ (display >+ (string-append >+ "#!/bin/sh\n\n" >+ (assoc-ref inputs "jre") "/bin/java -jar " >+ out "/share/weka/weka.jar \"$@\"\n")))) >+ (chmod wrapper #o555)) Do (search-input-file inputs "bin/java") to avoid depending on input labels. Also, you are using /bin/sh (which IIUC will be patched to /gnu/store/.../bin/sh), but for such patching to work, you need to have bash-minimal (or bash) in the inputs -- while bash-minimal is an implicit (native-)input of many build systems, it isn't a regular implicit input, at least for copy-build-system, so this wouldn't work when cross-compiling, so I propose to add bash-minimal to the inputs. > + #t))))) Trailing #t are obsolete nowadays. (*) At least, I expect them to be; the download is in-progress. Greetings, Maxime.