On Mon, Nov 30, 2020 at 07:25:11PM +0300, Bonface M. K. wrote: > > Hi guix! I want to output the deps of a package to > a writable file. Like say the "hello" world > package, I'd like to insert a file after, say the > install phase, so that later I could parse it and > serve it from a website. Here's a snip of what I > have: > > #+begin_src scheme > (add-after 'install 'create-dependency-file > (lambda* (#:key inputs outputs #:allow-other-keys) > (call-with-output-file > (string-append > (assoc-ref outputs "out") > "/lib/python3.8/site-packages" > "/wqflask/DEPENDENCIES.txt") > (lambda (port) > (format > port " > #### System Inputs (generated from Guix) > |Name | Version | Home Page | Description | > |-----|---------|-----------|-------------| > |~a| > " > (apply > string-append > (map (lambda (input) > (let ((name (car input))) > (string-append > "| **" name "** | " > ,(package-version > (specification->package name)) " | " > ,(package-home-page > (specification->package name)) > " |" > ,(package-description > (specification->package name)) > " |\n"))) > inputs))) > )) > )) > #+end_src > > That ^^ doesn't seem to work as I'd like it to. The output(truncated) > looks something like: > > #+begin_src markdown > ➜ guix git:(master) ✗ cat ~/opt/python3-genenetwork2/lib/python3.8/site-packages/wqflask/DEPENDENCIES.txt > > > #### System Inputs (generated from Guix) > |Name | Version | Home Page | Description | > |-----|---------|-----------|-------------| > || **python** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **source** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-colorbox** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **coreutils** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **git** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **which** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **grep** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **r** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **r-ctl** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **r-qtl** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **r-wgcna** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **redis** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **mariadb** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **gemma** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **gemma-wrapper** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **plink-ng-gn** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **racket-minimal** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **rust-qtlreaper** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **nginx** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **python-twint** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **python-unittest2** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-twitter-post-fetcher** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-cytoscape** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-panzoom** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-qtip** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-chroma** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-d3-tip** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-jscolor** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-colorbox** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-jszip** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **js-jstat** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **js-md5** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **js-parsley** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-plotly** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-typeahead** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **js-underscore** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **js-smart-time-ago** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > | **javascript-nouislider** | 3.11-guix-84cbf35 | http://genenetwork.org/ |Genenetwork installation sumo. | > #+end_src > > Notice that the version, home page and description > are repeated across rows. Herein lies my question: > How would you fetch the details of the inputs(like > version, home-page, description) etc etc from a > modifed phase. Do I need to create a closure from > which I can import the modules like say _(use (gnu > packages))_. How do I do that if that's the case? > > Is it also possible to get the same information in > a fine grained manner, like say get the > propagated-inputs instead of getting /all/ inputs? > I think it would be easiest to compute this outside the package definition and then add it as an input and just plop the precomputed file into place in a custom phase. -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted