From mboxrd@z Thu Jan 1 00:00:00 1970 From: sbaugh@catern.com Subject: Re: Developing libraries for the GNU system with Guix Date: Fri, 14 Oct 2016 09:56:25 -0400 Message-ID: <874m4fjapi.fsf@catern.com> References: <87h98fkdjb.fsf@catern.com> <87bmynaxud.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33646) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bv2yv-0007qC-31 for guix-devel@gnu.org; Fri, 14 Oct 2016 09:57:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bv2yq-0005P5-2N for guix-devel@gnu.org; Fri, 14 Oct 2016 09:57:05 -0400 Received: from [195.159.176.226] (port=48979 helo=blaine.gmane.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bv2yp-0005Nv-RP for guix-devel@gnu.org; Fri, 14 Oct 2016 09:56:59 -0400 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1bv2yN-0007Zw-Cw for guix-devel@gnu.org; Fri, 14 Oct 2016 15:56:31 +0200 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: guix-devel@gnu.org ludo@gnu.org (Ludovic Courtès) writes: > sbaugh@catern.com skribis: >> - Currently every dependency is located at a well known globally unique >> and globally meaningful path; add some kind of "variant package" >> construct which specifies a package which is "passed in" to the >> environment (maybe by bind-mounting it in a filesystem namespace; >> implementation specifics aren't important). To put this in a >> programming language sense, one of these packages being present would >> turn a Guix distribution from a value into a function. > > Not sure I understand. What do you mean by “passed in to the > environment”? I just mean that this would be a path that is not necessarily pointing to a directory containing the files desired by other packages depending on it. To make a complete functioning system, the path would need to be pointed at something containing the right files. (something of the right type) It could be pointed at different directories in different filesystem namespaces, and that "pointing" would happen outside the filesystem namespace when the namespace is created.