diff options
| author | Romain GARBAGE <romain.garbage@inria.fr> | 2025-08-20 17:05:54 +0200 |
|---|---|---|
| committer | Romain GARBAGE <romain.garbage@inria.fr> | 2025-08-21 15:10:51 +0200 |
| commit | 9a17eb4903b9f74c49c1b81198397a666cf4998a (patch) | |
| tree | 8b9d1e1cfd3c6906159616b0755f6f3ebcd46b54 | |
| parent | 18d987f16dfb50b038c429bd2eb92a724212f19b (diff) | |
Add "Getting started" instructions.
* README.rst: Add "Getting started" instructions.
| -rw-r--r-- | README.rst | 36 |
1 files changed, 36 insertions, 0 deletions
| @@ -67,6 +67,11 @@ Submissions of unfinished packaging attempts are welcome as well, as there is | |||
| 67 | a good chance that others can help finish the work. Please prefix pull requests | 67 | a good chance that others can help finish the work. Please prefix pull requests |
| 68 | for unfinished contributions with WIP. | 68 | for unfinished contributions with WIP. |
| 69 | 69 | ||
| 70 | When submitting a new package or a modification to a package, make sure to run: | ||
| 71 | |||
| 72 | .. code:: console | ||
| 73 | guix lint -L /path/to/your/guix/science/checkout <package-name> | ||
| 74 | |||
| 70 | When obtaining a fresh checkout of this repository, run the following | 75 | When obtaining a fresh checkout of this repository, run the following |
| 71 | command: | 76 | command: |
| 72 | 77 | ||
| @@ -77,3 +82,34 @@ command: | |||
| 77 | The command authenticates your checkout and installs Git hooks such that | 82 | The command authenticates your checkout and installs Git hooks such that |
| 78 | ``git pull`` and ``git push`` automatically authenticate it from there | 83 | ``git pull`` and ``git push`` automatically authenticate it from there |
| 79 | on. | 84 | on. |
| 85 | |||
| 86 | Hacking this repository | ||
| 87 | --------------------------------------- | ||
| 88 | |||
| 89 | Package definitions are stored in ``guix-science/packages/*.scm``, | ||
| 90 | each ``.scm`` file being a `Guile module`_ containing several package | ||
| 91 | definitions. | ||
| 92 | |||
| 93 | .. _Guile module: https://guix.gnu.org/manual/devel/en/html_node/Package-Modules.html | ||
| 94 | |||
| 95 | A new package definition can be added in the relevant module. | ||
| 96 | |||
| 97 | For example, after adding a package definition such as: | ||
| 98 | |||
| 99 | .. code:: scheme | ||
| 100 | (define-public my-package-variable | ||
| 101 | (package | ||
| 102 | (name "my-package-name") | ||
| 103 | ... )) | ||
| 104 | |||
| 105 | can be built using the following command: | ||
| 106 | |||
| 107 | .. code:: console | ||
| 108 | guix build -L /path/to/guix/science/checkout my-package-name | ||
| 109 | |||
| 110 | Note that generally the same string is used for the package name and | ||
| 111 | the Guile variable that points to the package object. | ||
| 112 | |||
| 113 | You can learn more about working with a channel in the `Guix manual`_. | ||
| 114 | |||
| 115 | .. _Guix manual: https://guix.gnu.org/manual/devel/en/html_node/Creating-a-Channel.html | ||
