From mboxrd@z Thu Jan 1 00:00:00 1970 From: swedebugia Subject: Re: Packaging Arcan Date: Fri, 23 Nov 2018 19:09:55 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56273) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQFoH-0004Dr-2L for guix-devel@gnu.org; Fri, 23 Nov 2018 13:04:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQFoE-00054X-VL for guix-devel@gnu.org; Fri, 23 Nov 2018 13:04:08 -0500 Received: from mx1.riseup.net ([198.252.153.129]:50828) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gQFoD-0004nT-8L for guix-devel@gnu.org; Fri, 23 Nov 2018 13:04:05 -0500 In-Reply-To: Content-Language: en-US List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: L p R n d n , guix-devel@gnu.org Hi :) On 2018-11-23 13:32, L p R n d n wrote: > > Huummm... Hello again, > > Forgot something again. :/ > > So one last question (let's hope). > > Arcan load 'appl's which are basically applications written in Lua. > They don't need to be built, just copied to be used as is, so they don't > produce binaries. To start an appl with arcan, you need to > 'arcan $(path-to-appl)'. > Whit Guix paths, it becomes quite complicated to load an appl. > Fortunatly, Arcan allows us to specify an ENV variable with a folder > containing the appls. Knowing that there can be multiple appls, how can > we make them all availabe in the same folder the be able to do: > 'arcan $(appl-name)' which would be a lot nicer. You have 2 choices as I see it: 1) What about creating a separate package for these without a build stage? Then they end up in the store and guix can tell the user to set the ENV to point to them (see below). This only makes sense if they can be used separately from arcan. 2)Alternatively look at the git-definition. It has multiple origin-inputs. If these are not always needed you could place them in a separate output Example from git: (add-after 'install 'split (lambda* (#:key inputs outputs #:allow-other-keys) ;; Split the binaries to the various outputs. (let* ((out (assoc-ref outputs "out")) (se (assoc-ref outputs "send-email")))))) This way they don't take up space for those who do not use them. When the user installs them via e.g. arcan:appl, then they end up in the store and guix can tell the user to set the ENV to point to them. This code in the git definition tells the user to set the correct ENV: (native-search-paths (list snip (search-path-specification (variable "GIT_EXEC_PATH") (separator #f) ;single entry (files '("libexec/git-core"))))) I did not yet package anything that needed this. Tip: I find the easiest way to find a definition is using emacs-guix -> guix-edit -> git. -- Cheers Swedebugia PS: writing this I learned something myself about how this works :)