Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 May 2017 17:34:34 +0200
From:      David Naylor <naylor.b.david@gmail.com>
To:        Adam Weinberger <adamw@adamw.org>
Cc:        Rodrigo Osorio <rodrigo@osorio.me>, Rodrigo Osorio <rodrigo@freebsd.org>, ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   Re: svn commit: r440978 - in head: devel devel/npm-amdefine devel/npm-clean-css devel/npm-clean-css/files devel/npm-commander devel/npm-commander/files devel/npm-graceful-readlink devel/npm-source-map ...
Message-ID:  <1806880.NXCOkgnAQa@dragon.local>
In-Reply-To: <33786079-3935-478C-9F5B-9B46B4483CDB@adamw.org>
References:  <201705152205.v4FM5kIw055373@repo.freebsd.org> <1917876.5GWQEAK6S8@dragon.local> <33786079-3935-478C-9F5B-9B46B4483CDB@adamw.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart2140121.UOGQeabBr1
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

On Wednesday, 17 May 2017 20:53:35 Adam Weinberger wrote:
> For these reasons, node modules and Go modules simply are not good
> candidates for FreeBSD ports. npm manages node modules in the correct node
> way (and pkg doesn't), and so npm is the correct way to install node
> modules. I'm sure Go has a similar tool; I'll call it gopher because that
> sounds like a good name for a Go installer, and I'm sure that it installs
> Go modules the correct way, and so it is the correct way to install Go
> modules.
> 
> There are definitely exceptions to this: if a module must be modified in a
> specific way to work on FreeBSD, or if a module is a required dependency of
> another port, then having those modules in the tree definitely makes sense.

Thank you for explaining your reasons, and for the better understanding of the 
intricacies of node packages (and npm).  

I think we are still stuck with the problem of needing a way to download the 
required npm files during the fetch phase (and have those files verified).  

For nuget we reproduced that logic in USES=mono (which is simply download and 
extract).  There was the possibility to define a custom cache location from 
which nuget would do the extracting (and leave the downloading to the Ports 
framework), however I never got it to work.  I also think paket not work that 
way.  

Also, could you please clarify a point: Lets say I have a node package (say 
electron) that needs to be modified and compiled to run on FreeBSD.  It 
obviously has it's own node dependencies.  Will npm include those dependencies 
as private or would ports need to be created for them?  (My npm knowledge is 
next to non-existent.)

Also, some bike-shedding (dark blue please): In general, I am wary of the 
"new" way:

 - Consistency: if every program based on node.js bundled their own version of 
the library then updates are dependent on the software creator.  It is likely 
to have multiple versions (some with known issues/vulnerabilities) of a 
"package" to be installed.  

 - Alter-ability: there would no longer be a central place where one can make 
custom changes to a node package (for whatever reason) and have all users of 
that package automatically pick it up.  

These issues, however, are more "meta" in nature and are tangential to the 
practical issue of software propagation and deployment.  

Regards
--nextPart2140121.UOGQeabBr1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----

iQKTBAABCgB9FiEElI7FEaJ/AwLnmbU6rWP6jday2lUFAlkdvwpfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk0
OEVDNTExQTI3RjAzMDJFNzk5QjUzQUFENjNGQThERDZCMkRBNTUACgkQrWP6jday
2lUbdg/+IKAn4bdJLZgcgre5RNFiJVQzH+ucHT/8kYVpBAuVEbgdtnP4c5yEx98x
xqdtfxyFoBqMCxjJ07Y+1FeF65cMtoqPhpaRA9q4FbDWJ3hsC9uGlv7idkM3vJ/n
PxITXnsdJ/weYOb2X6ydRfv2B6wkzYYeMXyYEe2oHcOXBHFoIrvY9nNL8gDgOE+E
rZhIQebXyF08Kzst4gRJFRC5GJq1EUnfS3r59JIFN4npHVlD9bxFBD9vc12fjKu2
Dj+zMqQn+GmBz+4MY5ZbmCwJBOuZv4t6mbmHjUF74rXh5iQeRsZ6KtTeI82yoiV0
O1BlYKCYL4P/vW2UOY7F2ukGHeifRkp+3UZKzHbGkEinfIugJZikftY6Md+0N3sZ
wAMwJMElr9RpMOySeks+UW4Zt5/p73AIGx8v/TMmsWlpDm40OxAdsYa2LEX983rx
BFQpPieu30/0PBdZxmJ0JRGGQTgfh+x4Nn9a2Nl5hyOaQfUs3cd6NTEuxAT/jBuf
ox1WfR7MjgX8ln/+SUnggG73R2/PrrHcUEXXmjImDq/8LEZfwRTW1dZcP1ysgiV9
dFkpvdf8/q7TIqJk8NyR8aBAafe9Oyj4EedCIcKTBCJBr5M0HZir806jyIiFyXpw
RQIZE+XxIX6BQ4qOKgiVZdWJ4LXEQBd2aHe2tcDa3KhdFWdj5sE=
=82x0
-----END PGP SIGNATURE-----

--nextPart2140121.UOGQeabBr1--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1806880.NXCOkgnAQa>