From owner-freebsd-ports-bugs@freebsd.org Tue Dec 1 12:07:54 2015 Return-Path: Delivered-To: freebsd-ports-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA7C9A24292 for ; Tue, 1 Dec 2015 12:07:54 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8DD3115DE for ; Tue, 1 Dec 2015 12:07:54 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id tB1C7saj067295 for ; Tue, 1 Dec 2015 12:07:54 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 204577] [NEW MODULE] Mk/Uses/nodejs.mk Framework for NodeJS projects/ports Date: Tue, 01 Dec 2015 12:07:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Ports Framework X-Bugzilla-Version: Latest X-Bugzilla-Keywords: needs-patch, needs-qa X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: yuri@rawbw.com X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: portmgr@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Dec 2015 12:07:54 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204577 --- Comment #18 from yuri@rawbw.com --- @Olivier, When I googled and searched here on bugs@ I couldn't find your work. You seem to try to make ports for small NodeJS packages like 'Request'. Single NodeJS process can contain many versions of the same package, it is generally impossible to make FreeBSD ports for such small NodeJS packages that would fit all uses. People also tend to update them frequently, so it is impossible to chase such things with separate ports. node-gyp also has flavors, and many use node-pre-gyp instead. It is also easy to fork your own node-gyp and also to include it into the distro. This is the nature of NodeJS - it is very volatile and fickle. Doesn't really match FreeBSD ports philosophy well. I chose an approach to make the separate FreeBSD ports for large apps that end-users care about. Since npm itself installs modules in a very fragile way, the goal of my USES=nodejs project are: 1. Have framework that allows to relatively easily create ports for large apps 2. Such ports behave nearly identical to all other ports (no hacks like pre-built and pre-packaged ports, ex. npm) 3. One port per app is created, so it is easy to maintain (it would be a hell to maintain separate ports for tiny NodeJS packages) 4. Ports build in a stable and deterministic way 5. Have reasonable delivery time (several NodeJS apps already work fine through ports) >From what I myself can see, project meets these goals quite well. There is only one item, #4, that is impeded by the npm-shrinkwrap bug that causes the requirement to have NO_CHECKSUM=yes. Latest npm version might have fixed this (but we don't have it yet). Mathieu expressed some valid criticisms, I have already fixed these points in my version, they are really minor. I am very open to hear any other criticisms. This only helps to improve. Currently I have these ports working and usable: * www/etherpad-lite * net-p2p/webtorrent * devel/grunt * lang/coffeescript * www/sharelatex -- You are receiving this mail because: You are on the CC list for the bug.