Sitwon/Byzantium — Issue #9: Document the process by which an NPM Porteus module is built.
Author: virtadpt
Created: 2011-10-14 13:09:21+00:00
State: open

A Slackbuild script exists for building a node.js .tgz file. It is then trivial to convert that .tgz file into an .xzm file for use with Porteus. This has already been done.

Unfortunately, NPM (node.js package manager) is not so easy to package. Rather than using a more pedestrian packaging technique, installation of NPM involves downloading and running an install.sh script which then downloads the NPM source code tarball, does a bunch of stuff to it, and then installs it in as opaque a manner as possible which makes the creation of a .SlackBuild script difficult to say the least. We need to figure out how to write a .SlackBuild script that will generate a .tgz Slackware package, and then turn that into a Porteus .xzm file.

I think a good place to start would be reading through the Arch Linux PKGBUILD script for NPM (https://aur.archlinux.org/packages/no/nodejs-npm/PKGBUILD) because it documents how the AUR goes about building a package canonical to Arch, and then use their procedure to create a .SlackBuild. Someone's already done the heavy lifting for us.