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: Sat, 2 Jul 2022 09:46:05 +0100 Message-ID: <20220702084605.uodozysntgij3oky@jamescrake-meraniarch> References: <20220701171539.uuwwdnvtkvsfetc4@jamescrake-meraniarch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40230"; mail-complaints-to="usenet@ciao.gmane.io" Cc: guile-user@gnu.org To: adriano Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sat Jul 02 10:47:06 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 1o7YmP-000AId-Vb for guile-user@m.gmane-mx.org; Sat, 02 Jul 2022 10:47:06 +0200 Original-Received: from localhost ([::1]:39968 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o7YmO-0001AP-FM for guile-user@m.gmane-mx.org; Sat, 02 Jul 2022 04:47:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56698) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o7Ylb-00019h-Kf for guile-user@gnu.org; Sat, 02 Jul 2022 04:46:22 -0400 Original-Received: from [178.62.35.155] (port=58614 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 1o7YlZ-00009I-LL for guile-user@gnu.org; Sat, 02 Jul 2022 04:46:15 -0400 Original-Received: from localhost (host86-163-71-217.range86-163.btcentralplus.com [86.163.71.217]) by jamescm.co.uk (Postfix) with ESMTPSA id 7634960E93; Sat, 2 Jul 2022 08:46:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=jamescm.co.uk; s=mail; t=1656751570; bh=tQNE6CbyJHKeFs1HbDzK8XEkHU3fZvtvPIz+F3gCGVQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=r7LKl6qEZSF1xFigwlkWqn1a00K90Eogzrr+m4+4GgzMZoRPa4Vdu+iSGBGcWdsVb 1F7qclVOrqQi/vG0fQchUPj8UQsk8OTQES2y9VDt6J37T9BDuso9X1ztPE+ZdOB8b/ XIdErrs/ympoDGkY04Z/EqRqW75gWSK9JA31QqOWXp6fPwJ6YvsSRjA4akNMdFOWpn Y7nO9y5DgFqOWxx+KZzgg5ZOAJFTrWqIFpDPx5rphZud7jURRRlXbj+i+IQd9x9x2Y rPxz8T8fhSsT25/k5XdmiOUUY1/GeTp1Sa2wb8weaGegM6UChs8yVqukbRakjas0Rb tZwhTMZj7/3RQ== Content-Disposition: inline In-Reply-To: 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:18381 Archived-At: 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.