[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Import package and generate use-module
From: |
phodina |
Subject: |
Import package and generate use-module |
Date: |
Sat, 24 Apr 2021 09:26:20 +0000 |
I'm making a package for octoprint which is imported from PyPI. guix import -r
octoprint generates the template to build the package.
However, I'm missing the :#use-module ... in order to build the package when I
add (define-module (python-octoprint). Given the fact there are tens of inputs
doing it manually seems tedious and writing a script to parse the package
definition seems like reinventing the wheel as I'm certainly not the first
person to run into this issue.
So is there a way to automate also this part?
Let me give you context:If I look at Guix package repository
gnu/packages/python-xyz.scm I see there definitions of packages:
(define-public python-numpy
(package
(name "python-numpy")
...
If I have another package that depends on python-numpy I just provide the name
in e.g. inputs and I don't have to import it with #:use-module within this file.
However, when I run guix import pypi PKG I get package definition and when I
run guix build -f python-octoprint.scm I get this error:
/tmp/python-octoprint.scm:275:6: In procedure propagated-inputs:
error: python-flask: unbound variable
hint: Did you forget `(use-modules (gnu packages python-web))'?
Of course writing down all the unbound variables by hand is tedious and
error-prone. And since guix gives a hint is there a way to write the dependency
into the file?
And the question in general is: When I find out that the program is not
packaged and I want to write the package definition and then verify it installs
and runs correctly, what steps should I take?
guix pull pypi PKG > PKG.scm
# Add 'define-module'
??
guix build -f PKG.scm
Note: Doesn't matter if it's python or rust program. I'm interested in the
workflow
Kind regards
Petr Hodina
Sent with [ProtonMail](https://protonmail.com) Secure Email.
- Import package and generate use-module,
phodina <=