From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: James Crake-Merani Newsgroups: gmane.lisp.guile.user Subject: Re: Scripting for installing a module Date: Sun, 3 Jul 2022 08:35:29 +0100 Message-ID: <20220703073529.mcirf2tyhhwmmhmk@arch-surface> References: <20220701171539.uuwwdnvtkvsfetc4@jamescrake-meraniarch> <20220702084605.uodozysntgij3oky@jamescrake-meraniarch> <1132e011-a27f-0e6a-606f-f2a0f6e83030@posteo.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22205"; mail-complaints-to="usenet@ciao.gmane.io" Cc: adriano , guile-user@gnu.org To: Zelphir Kaltstahl Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sun Jul 03 09:36:01 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o7u9B-0005a3-6u for guile-user@m.gmane-mx.org; Sun, 03 Jul 2022 09:36:01 +0200 Original-Received: from localhost ([::1]:46634 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o7u99-0003Ny-Mv for guile-user@m.gmane-mx.org; Sun, 03 Jul 2022 03:35:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46740) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o7u8s-0003Nq-Ic for guile-user@gnu.org; Sun, 03 Jul 2022 03:35:42 -0400 Original-Received: from [178.62.35.155] (port=36602 helo=jamescm.co.uk) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o7u8q-0004Q9-GZ for guile-user@gnu.org; Sun, 03 Jul 2022 03:35:42 -0400 Original-Received: from localhost (host-78-149-194-133.as13285.net [78.149.194.133]) by jamescm.co.uk (Postfix) with ESMTPSA id 53EFE60E8E; Sun, 3 Jul 2022 07:35:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=jamescm.co.uk; s=mail; t=1656833737; bh=pqo8y5+r89IhjwwPxeoT1B2jeAV9+reuGPqXX8e4lH0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=H8ouMTHzvt4+SwxV3je2y5ybq9CxpJQIqpqUxXjZjrfZBp2hJLJDCQ4fbQx+1Paaq QQ0VE5IJkK9+LJjNssddf78/7IznFPSmc1oU6PglpyAKGPmGvgtD1vmN6OUS+aOKZ4 X1vqOkNC4RAFjZJ+bOJAqlEK9jTJ9I6YezNhpIW5obR2rFLy7Iaa427/gI80JybwzY R2bjN+hrY+o8XKK+YT5ot+ooelHzI6RYVtMc+SpgHOPqMB05GkyAohMEt3zLwu/8gf jChwDV/lSKnbVZTTpf+pR28NK20VOCzqyrsSBQxiGjL+8tk+9oQG3DfDobipxL1Bro zv4luOeRiswvQ== Content-Disposition: inline In-Reply-To: <1132e011-a27f-0e6a-606f-f2a0f6e83030@posteo.de> X-Host-Lookup-Failed: Reverse DNS lookup failed for 178.62.35.155 (failed) Received-SPF: pass client-ip=178.62.35.155; envelope-from=james@jamescm.co.uk; helo=jamescm.co.uk X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18386 Archived-At: 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 > > > scritto: > > > > Hello, > > > > > > > > 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 > > > > > > > > > > > > BUT > > > > > > 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 > > Hi, > > > > 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 missing something. > > > > 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. > > Hello James! > > 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. > > Regards, > Zelphir > > -- > repositories: https://notabug.org/ZelphirKaltstahl > Hi, 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. Thanks.