Hello! ng0 <n...@we.make.ritual.n0.is> skribis:
> the following is an insert minus the header etc of > net-perl-psyc. Before I commit and send in a patch, I'd > like to check if there's anything I can improve. Overall it looks good! > (replace > 'install > (lambda* (#:key outputs #:allow-other-keys) > (let* ((out (assoc-ref outputs "out")) > (doc (string-append out "/share/doc/perl-net-psyc")) > (libpsyc (string-append out "/lib/psyc/ion")) > (libperl (string-append out "/lib/perl5/site_perl/" > ,(package-version perl))) > (bin (string-append out "/bin"))) > (copy-recursively "lib/perl5" libperl) > (copy-recursively "lib/psycion" libpsyc) > (copy-recursively "bin" bin) > (install-file "cgi/psycpager" (string-append doc "/cgi")) > (copy-recursively "contrib" (string-append doc "/contrib")) > (copy-recursively "hooks" (string-append doc "/hooks")) > (copy-recursively "sdj" (string-append doc "/sdj")) > (install-file "README.txt" doc) > (install-file "TODO.txt" doc) > #t))) Doesn’t “./Build install” do that? (This is what ‘perl-build-system’ does, see (guix build perl-build-system).) > (add-after 'install 'wrap-programs > (lambda* (#:key outputs #:allow-other-keys) > ;; Make sure all executables in "bin" find the Perl > modules > ;; provided by this package at runtime. > (let* ((out (assoc-ref outputs "out")) > (bin (string-append out "/bin/")) > (path (string-append out > "/lib/perl5/site_perl"))) > (for-each (lambda (file) > (wrap-program file > `("PERL5LIB" ":" prefix (,path)))) > (find-files bin "\\.*$")) > ;; XXX: hooks/dpa2psyc,examples/{recvtest,sendtest}, > ;; cgi/psycpager,contrib/{makenoise,keefchat > ;; contrib/MovableTypeBlog/plugins/psyc.pl > #t)))))) This reminds me that we should eventually update ‘perl-build-system’ to have a ‘wrap’ phase similar to that of ‘python-build-system’. Thanks, Ludo’.