Could Guix be used for packages that do not strictly contain operating system software? For example, could Guix be used for packages of embedded code and their dependencies to be run on a little RTOS, like Zephyr, or bare metal, like Arduino or PlatformIO libraries? Could it be used for hardware, like a Kicad pcb package that depends on component and footprint packages, or packages of FreeCAD mechanical assemblies that depend on part packages? Can Guix packages be used for documentation and other data? Or are all of these types of packages way outside the scope of Guix? Although it could still be used for the operating system software development environments for these types of projects, it might be very powerful to package other types of code and data as well.
[-- Attachment #1: Type: text/plain, Size: 1338 bytes --] I think guix can be used for more than just packages. When you say documentation, what comes to mind is package documentation, but we also have man-pages, which contains no programs, only… well… man pages :). We also have sicp that contains only a book. With cross-compilation, it shouldn't be too hard to build something for an embedded system, though that's still something that needg to be demonstrated I think. Le 10 décembre 2021 08:00:23 GMT-05:00, Peter Polidoro <peter@polidoro.io> a écrit : >Could Guix be used for packages that do not strictly contain >operating system software? > >For example, could Guix be used for packages of embedded code and >their dependencies to be run on a little RTOS, like Zephyr, or >bare metal, like Arduino or PlatformIO libraries? > >Could it be used for hardware, like a Kicad pcb package that >depends on component and footprint packages, or packages of >FreeCAD mechanical assemblies that depend on part packages? > >Can Guix packages be used for documentation and other data? > >Or are all of these types of packages way outside the scope of >Guix? Although it could still be used for the operating system >software development environments for these types of projects, it >might be very powerful to package other types of code and data as >well. > [-- Attachment #2: Type: text/html, Size: 1620 bytes --]
[-- Attachment #1: Type: text/plain, Size: 2000 bytes --] I have a channel which only has IETF RFCs, so I guess that's like having documentation. In theory if you can write a build that will provide you with what you want you can build it with Guix. I would say actually running Guix on any of this small hardware is outside of the scope of Guix. https://gitlab.com/Efraim/guix-ietf On Fri, Dec 10, 2021 at 05:18:43PM -0500, Julien Lepiller wrote: > I think guix can be used for more than just packages. When you say documentation, what comes to mind is package documentation, but we also have man-pages, which contains no programs, only… well… man pages :). We also have sicp that contains only a book. > > With cross-compilation, it shouldn't be too hard to build something for an embedded system, though that's still something that needg to be demonstrated I think. > > Le 10 décembre 2021 08:00:23 GMT-05:00, Peter Polidoro <peter@polidoro.io> a écrit : > >Could Guix be used for packages that do not strictly contain > >operating system software? > > > >For example, could Guix be used for packages of embedded code and > >their dependencies to be run on a little RTOS, like Zephyr, or > >bare metal, like Arduino or PlatformIO libraries? > > > >Could it be used for hardware, like a Kicad pcb package that > >depends on component and footprint packages, or packages of > >FreeCAD mechanical assemblies that depend on part packages? > > > >Can Guix packages be used for documentation and other data? > > > >Or are all of these types of packages way outside the scope of > >Guix? Although it could still be used for the operating system > >software development environments for these types of projects, it > >might be very powerful to package other types of code and data as > >well. > > -- Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
Peter Polidoro <peter@polidoro.io> writes: > Could Guix be used for packages that do not strictly contain > operating system software? Guix the package manager: certainly. The only practical technical limit to what you can put into Guix packages is the size of the data. The Guix store isn't particularly well suited to very large files. Guix the software distribution: it depends. I doubt you would have much success with submitting a pull request for adding video clips, for example. There are a few documentation-only packages in Guix, but they are clearly related to software that's also in Guix. For a nice example of using Guix for something else than software, see this blog post: https://guix.gnu.org/en/blog/2021/reproducible-data-processing-pipelines/ -- --------------------------------------------------------------------- Konrad Hinsen Centre de Biophysique Moléculaire, CNRS Orléans Synchrotron Soleil - Division Expériences Saint Aubin - BP 48 91192 Gif sur Yvette Cedex, France Tel. +33-1 69 35 97 15 E-Mail: konrad DOT hinsen AT cnrs DOT fr http://dirac.cnrs-orleans.fr/~hinsen/ ORCID: https://orcid.org/0000-0003-0330-9428 Twitter: @khinsen ---------------------------------------------------------------------
Efraim Flashner <efraim@flashner.co.il> writes: > I would say actually > running Guix on any of this small hardware is outside of the > scope of > Guix. Konrad Hinsen <konrad.hinsen@cnrs.fr> writes: > Guix the software distribution: it depends. I doubt you would > have much > success with submitting a pull request for adding video clips, > for > example. These are good points, thanks. I was not thinking of trying to run Guix on embedded hardware without the GNU operation system, though, or of trying to add large media files to Guix proper. I was mostly curious about using Guix as a universal package manager for organizing and distributing code and data, especially for reproducible science, and I was wondering for which cases it would not make sense to use Guix. For example, after a researcher publishes a paper, years later someone may want exact versions of the experimental data, analysis software, and documentation referenced in the paper. They may also want the exact version of the experimental rig used to collect the data, the software, hardware, and firmware, and the exact version of the development environments used to create each one. Guix seems ideal for this, especially if the code and data are in text files rather than large binaries. The packages you all told me about, like the sicp book, give me clues about how I might try packaging something like circuit board files. I will give it a try, thanks! > For a nice example of using Guix for something else than > software, see > this blog post: > > https://guix.gnu.org/en/blog/2021/reproducible-data-processing-pipelines/ The guix.gnu.org site appears to be down right now, but I look forward to reading this when it is available again.
Hi, On Fri, 10 Dec 2021 at 14:21, Peter Polidoro <peter@polidoro.io> wrote: > Can Guix packages be used for documentation and other data? At the time of Guix Days 2020 [1], I packaged as proof-of-concept one talk [2] shareable via a custom channel. But the <package> record does not fit well for distributing data. Guix could be used for that but, IMHO, it lacks a layer or something. For instance, when you build data, you have multi-origin, say http://dx.doi.org/10.23668/psycharchives.4353 and http://dx.doi.org/10.23668/psycharchives.4354. 1: <https://guix.gnu.org/en/blog/2020/online-guix-day-announce-2/> 2: GNU Guix in psychology research and teaching Cheers, simon
Peter Polidoro <peter@polidoro.io> writes: > I was mostly curious about using Guix as a universal package > manager for organizing and distributing code and data, especially > for reproducible science, and I was wondering for which cases it > would not make sense to use Guix. Then don't miss this masterpiece: https://gitlab.inria.fr/lcourtes-phd/edcc-2006-redone A complete reproducible article done in Guix, up to the production of a PDF file containing figures containing computed data. Konrad. -- --------------------------------------------------------------------- Konrad Hinsen Centre de Biophysique Moléculaire, CNRS Orléans Synchrotron Soleil - Division Expériences Saint Aubin - BP 48 91192 Gif sur Yvette Cedex, France Tel. +33-1 69 35 97 15 E-Mail: konrad DOT hinsen AT cnrs DOT fr http://dirac.cnrs-orleans.fr/~hinsen/ ORCID: https://orcid.org/0000-0003-0330-9428 Twitter: @khinsen ---------------------------------------------------------------------
>
> Then don't miss this masterpiece:
>
> https://gitlab.inria.fr/lcourtes-phd/edcc-2006-redone
>
> A complete reproducible article done in Guix, up to the
> production of a
> PDF file containing figures containing computed data.
This is fantastic, thanks!
The 'Ten Years Reproduciblity Challenge' is such an interesting
exercise too. There is no way that most researchers in our
organization could still run code from papers they wrote ten years
ago. Such a great reason for them to start using Guix.