On 18/09/15 01:51, Ricardo Wurmus wrote: > Hi Ben, > > thank you very much for your patch! and you sir, for the review. >> + (inputs >> + `(("python-setuptools" ,python2-setuptools) > I think this should be a native input instead. ok >> + ("python-biopython" ,python2-biopython))) > And this looks like it should be a propagated input instead. Have you > tried running seqmagick after installing it with this package recipe? I > found that Python executables often require either propagated inputs or > wrapping in PYTHONPATH to work without runtime errors. I did, although not well enough to pick up the error you point out. Actually I'm a bit confused as to the difference between the input types even after reading the manual. Is this a fair summary? native-inputs: required for building but not runtime - installing a package through a substitute won't install these inputs inputs: installed in the store but not in the profile, as well as being present at build time propagated-inputs: installed in the store and in the profile, as well as being present at build time Anyway, it seems as if the package would have worked because a wrapper is generated with PYTHONPATH including inputs, propagated-inputs and native-inputs. But this seems a bit strange - why would native inputs be in the runtime wrapper? $ cat /tmp/a.fa >a ATGG $ ./pre-inst-env guix environment --ad-hoc seqmagick --pure -E 'echo $PATH; echo $PYTHONPATH; seqmagick info /tmp/a.fa' ;;; note: source file /home/ben/git/guix/gnu/packages/bioinformatics.scm ;;; newer than compiled /home/ben/git/guix/gnu/packages/bioinformatics.go /gnu/store/bjd27hqk0wnh28nzmawjymdh3gfk98pn-seqmagick-0.6.1/bin name alignment min_len max_len avg_len num_seqs /tmp/a.fa FALSE 4 4 4.00 1 $ cat /gnu/store/bjd27hqk0wnh28nzmawjymdh3gfk98pn-seqmagick-0.6.1/bin/.seqmagick-wrap-01 #!/gnu/store/cpx9iibpdwi3wb81glpnnlxr9zra2iiv-bash-4.3.39/bin/bash export PYTHONPATH="/gnu/store/bjd27hqk0wnh28nzmawjymdh3gfk98pn-seqmagick-0.6.1/lib/python2.7/site-packages:/gnu/store/qlf4k2b81wms6avlyny7hix175asg8kg-python-2.7.10/lib/python2.7/site-packages:/gnu/store/zmhk5r3lmc3s8ivdx9vv6m5vzn6fqim5-python2-setuptools-12.1/lib/python2.7/site-packages:/gnu/store/20s2vvslsapynhmbfsa3q2iyv9dzjzr2-python2-nose-1.3.4/lib/python2.7/site-packages:/gnu/store/c7navsrzibg2rjgs1fzqry711wch5f3p-python2-biopython-1.65/lib/python2.7/site-packages:/gnu/store/bjd27hqk0wnh28nzmawjymdh3gfk98pn-seqmagick-0.6.1/lib/python2.7/site-packages/${PYTHONPATH:+:}$PYTHONPATH" exec -a "$0" "/gnu/store/bjd27hqk0wnh28nzmawjymdh3gfk98pn-seqmagick-0.6.1/bin/.seqmagick-real" "$@" >> + (native-inputs >> + `(("python-nose" ,python2-nose))) >> + (home-page "http://github.com/fhcrc/seqmagick") >> + (synopsis >> + "Tools for converting and modifying sequence files from the command-line") > The synopsis is a bit long. You could shave off two words like this: > > “Command-line tools for converting and modifying sequence files” > > but that’s not really much better. I’m open to suggestions. "Tools for converting and modifying sequence files" >> + (description >> + "Bioinformaticians often have to convert sequence files between formats >> +and do little manipulations on them, and it's not worth writing scripts for >> +that. Seqmagick is a utility to expose the file format conversion in >> +BioPython in a convenient way. Instead of having a big mess of scripts, there >> +is one that takes arguments.") >> + (license license:gpl3))) >> + > I’m not sure if it’s really “GPLv3 only” or “GPLv3 or later” as there > are no license headers anywhere. Maybe others could comment what’s the > proper declaration here. From the readme: >|seqmagick| is free software under the GPL v3. Is that not straightforward enough? Thanks, ben