From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: Re: Proposal: Prefix language-name for language library packages Date: Sun, 24 Apr 2016 18:00:04 +0200 Message-ID: <20160424180004.649f1e45@scratchpost.org> References: <571CC87B.8010603@crazy-compilers.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58781) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1auMSI-0005YB-Ge for guix-devel@gnu.org; Sun, 24 Apr 2016 12:00:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1auMSF-00008x-9R for guix-devel@gnu.org; Sun, 24 Apr 2016 12:00:18 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:58773) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1auMSF-000075-34 for guix-devel@gnu.org; Sun, 24 Apr 2016 12:00:15 -0400 In-Reply-To: <571CC87B.8010603@crazy-compilers.com> 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: Hartmut Goebel Cc: guix-devel@gnu.org Hi, I've always like the Gentoo approach most. Have a qualified package name like dev-java/ant and if you try to install "ant" and it's unique: good. If you try to install "ant" and there are multiple ones: you get a disambiguation error. If you try to install "dev-java/ant" there's no ambiguity. I'm aware that it's not implemented that way in "guix package" right now, however it would be easy to use the Guile module system for that end. Things like this are always easy to add later as long nobody make the package name "java-ant" which would make the qualified name dev-java/java-ant which isn't so nice. That said, Guix is not Gentoo. Directory hierarchies have never had a problem doing such categorization. Special-casing "xx-xxx" to be a poor man's directory feels... wrong. That said, many package managers do it the "xx-xxx" way (and many don't). Compare the input dependencies of a package (define java-maven (package (inputs '(("java-jvm" ,java-jvm) ("java-xyz" ,java-xzy) ("java-abc" ,java-abc))))) Very redundant, no? This kind of disambiguation is exactly what the module system can do best - and Guile's module system even allows you to add a prefix to all names when importing a module, so you can have the best of both choices.