node.js port question and misinformation?

Ryan Schmidt ryandesign at macports.org
Sun May 15 00:43:14 PDT 2011


On May 15, 2011, at 01:36, Tabitha McNerney wrote:

> I'm becoming more interested in using node.js and am grateful to the Macports community for creating and maintaining a port dedicated to node.js (specifically the "nodejs" port). As I'm coming up to speed and learning about node.js, its founder and core maintainer, Ryan Dahl, has an introductory educational video on YouTube and included in the main nodejs web site < http://nodejs.org/ > ... and the beginning of this video, he emphasizes that its more important to get the node.js code itself and compile it from source on one's own machine (i.e., configure, make, make install ) instead of using a package management system and he specifically names MacPorts! I'm surprised he mentioned MacPorts because when doing the following:
> 
> # port install nodejs
> 
> The stages of an install include configuring / making and installing from source
> 
> Perhaps what Ryan Dahl meant was to avoid downloading precompiled binaries and / or precompiled libraries? Forgive me if I have forgotten, but I never download precompiled binaries via MacPorts (at least that that I'm aware of) and am always in the habit of "port install xyz" (although I suppose that a "port install xyz" does not necessarily preclude the port config file from fetching pre-compiled binaries or libraries true?). 
> 
> So in a nutshell, is there any reason to really avoid using MacPorts when it comes to node.js? 
> 
> I hope my question can help clear up any accidental misinformation or preconceived notions about MacPorts.

Yes, the nodejs port builds from source; you can read the portfile yourself to discover that, or install the port with the debug flag to see what happens. Most ports build from source. Usually, the only ports that don't build from source are the ones where we can't (either because source is not available, or the build process doesn't work) or where it would not provide any advantage (such as rebuilding Java .jar archives).

We do eventually want to distribute binaries within MacPorts (or using a MacPorts companion tool). It's on the list for Google Summer of Code 2011 again. But that shouldn't have any negative impact on users; it should only have positive impacts (such as not having to wait for things to compile). Obviously we're not trying to expend energy on a project that would be of detriment to users.

Of course we want software developers to be happy when we package their software in MacPorts; if the developer is specifically recommending people not use our packaging of their software, then that is disappointing. Perhaps you can ask the developer to clarify his remark -- find out why he believes the MacPorts packaging of nodejs is unsuitable, so that we can either correct the port, or, if the port cannot be satisfactorily corrected, so that we can remove the port.

***

Ok, I've now watched the first couple minutes of the video, and I'm not sure what he's talking about. First I thought he was saying that because node is under heavy development, users were being advised to compile from the git repository -- get the latest bleeding-edge version of the code, in other words. But then the example he starts to give involves downloading the packaged version tarball, just as MacPorts does. And new versions of those tarballs are released fairly often, so if the port is kept updated, it shouldn't be too far behind the latest version. So ask Ryan what he's talking about. :)





More information about the macports-users mailing list