From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 484D01382C5 for ; Tue, 20 Mar 2018 18:48:39 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EDABDE0A07; Tue, 20 Mar 2018 18:48:33 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9DDB7E09E6 for ; Tue, 20 Mar 2018 18:48:33 +0000 (UTC) Received: from [192.168.1.100] (c-98-218-46-55.hsd1.md.comcast.net [98.218.46.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mjo) by smtp.gentoo.org (Postfix) with ESMTPSA id 0A0C8335C09 for ; Tue, 20 Mar 2018 18:48:31 +0000 (UTC) Subject: Re: [gentoo-dev] [RFC] Begin a dev-libs/nodejs category? To: gentoo-dev@lists.gentoo.org References: <6d081572-1b9a-663e-5993-8143518cf0cd@gmail.com> From: Michael Orlitzky Message-ID: <534f8dd2-2174-0ca4-1493-c55c35bfa4c8@gentoo.org> Date: Tue, 20 Mar 2018 14:48:29 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: <6d081572-1b9a-663e-5993-8143518cf0cd@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Archives-Salt: 0d445518-09e6-417f-a64c-1ce7b29e8a82 X-Archives-Hash: 6098b51621605a9dfd1adcefc46e8308 On 03/20/2018 07:50 AM, Herb Miller Jr. wrote: > When I did my homework on creating nodejs ebuilds (not nodejs itself but > packages written in node), it seems the topic has come up a few times in > the past but the time commitment and general disorganization of upstream > has scared off any serious attempts at packaging. There's a real technical problem hidden in there. Since npm (recursively!) bundles every dependency, nobody worries about compatibility in their JS packages. You'll quickly find yourself stuck. For example, if you want to package an end-user application "foo", it might depend on libraries "bar-1.0" and "baz-2.0". But then "bar-1.0" itself depends on "baz-1.0". What do you do? Slot everything? How do you make NodeJS look in the right place? You're going to need a plan, because this situation is not at all uncommon.