[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Scripting for installing a module
Re: Scripting for installing a module
Sun, 3 Jul 2022 16:52:42 +0000
On 7/3/22 09:35, James Crake-Merani wrote:
On 22/07/02 07:43pm, Zelphir Kaltstahl wrote:
On 7/2/22 10:46, James Crake-Merani wrote:
On 22/07/02 09:11am, adriano wrote:
Il giorno ven, 01/07/2022 alle 18.15 +0100, James Crake-Merani ha
I was just wondering what approach people tend to take when writing a
script which installs a module onto the load-path. I understand this
path might be different on different machines so how do you make sure
the module is installed in the right path? Would you use something
like a Makefile?
not only a Makefile
The whole Autotools chain
There are 2 options:
1) you write the config.am and Makefile.am (or however they're called)
by hand and you deal with the Autotools directly, by hand
2) You use guile-hall and it will wrap the Autotools making the
experience a bit less frustrating
I wonder: why you want to install your module ?
You might want to distribute it as a simple handful of source files
Guile will compile it automagically at need
If your module has no dependencies, that could be an easy option
If it _has_ dependencies, then the Autotools might be of help
Did you think about this ?
I hate to second guess your question
I understand it might be perceived as rude and I'm sorry for that
I just think these distinctions in use cases are not clear at all, in
the manual and in general
So this could be an easy pitfall
Don't worry, you didn't come across as rude at all. My use case was simply that
I wrote some modules that I wanted to distribute, and I thought that if I'm
going to distribute them, I probably ought to put some sort of script in so
users can install them as well. The modules in question are just a simple
project which tests your conformance to a certain political ideology (which is
not sophisticated at all because it was more of a joke between friends that I
thought would make a good programming exercise). After seeing Guile Hall
recommended by yourself, and Jeremy I thought this might be appropriate. My
modules have no dependencies aside from those already part of Guile although I
do intend to write another module which will depend on the previous module.
So if I were to take the latter approach of just distributing the source code
then I presume users would have to load the file manually, or install it
manually unless I'm missing something. In that case, I would've thought using
something like Guile Hall would be more appropriate but again I might be
I have just found the manual pages detailing Guile Hall which I was not
originally aware of. After reading them, it does seem to me that Hall would be
appropriate for this but of course I would be willing to hear about
alternatives to distributing the code.
Thanks for your response.
If your code is Guile code exclusively, then you might not need Guile Hall
for packaging your code. You can make a GNU Guix package without Guile Hall.
That is not to say, that Guile Hall does not work well, but I had a project,
which I wanted to package and ultimately I did not want to depend on all the
autotools machinery, which I do not understand. It has been a while, since I
have packaged anything (I should really clean the repo a bit …), but the
project I have is https://notabug.org/ZelphirKaltstahl/guile-fslib. I think
tag 0.2.1 should contain a valid guix.scm. This repo also still has files
from previous Guile Hall attempts. However, you might have to study the docs
to get things working for your own project and how to test it with guix. I
remember, that I used a VM for testing installation of the package.
Somewhere I have a repository, which describes the process.
The reason why I have been a bit reluctant to use GNU Guix for this sort of
thing is that the distro I use is not Guix but rather Arch Linux. I do intend
to try out GNU Guix in the future but at the moment I have lots of other things
to do. I am aware Guix does work on foreign distros but I will need to learn
how to use it first.
I understand what you say regarding Guile Hall. I too do not understand the
autotools machinery but it did seem simple to setup without that understanding.
Thanks for sharing your repository.
I think for now I will probably end up using Guile Hall although I might
experiment with just purely Guix, and see if I can get that to work how I want
it as well.
You might already know this, but just in case you don't: You can also use Guix
package manager without running the Guix distribution. This is called "Guix on
foreign distro". For me this works well. If you already knew, nevermind : )
Re: Scripting for installing a module, Matt Wette, 2022/07/02