How to build from source
Expected behavior
Hi. and thank you for this great artifact. I want to install kinematic on arch Linux. There is two pkgbuilds in aur, but both have some broken dependencies.(nodejs-grunt-cli) Can you give me a recipe to how build kitematic from source Thank you so much.
I think this project is dead
@LinArcX, I had right today the same problem as yours, and I have finally managed to solve it (somehow) in the way I will outline below. Just note that this is not entirely the way it should work. However, so far I have tested it, I experienced no problems.
Prerequisites:
- Docker
- Nodejs 9.x.y (that is one of these)
- Npm (the one bundled with Arch is fine)
- Grunt (the package is now called: grunt-cli)
- Git
- All you may want if you want to make a PKGBUILD out of it
Preparation:
- Unpack somewhere the Nodejs 9 release (you can safely delete it after the build process; let's call it
$NODEDIR) -
git clone --recursive https://github.com/docker/kitematic.gitsomewhere else (let's call it$KITEDIR) - Edit
$KITEDIR/Gruntfilesuch that line (as of now) 224 which currently looks like
command: 'cd build && npm install --production'
then looks like
command: 'cd build && npm install --production --force'
- Perform, in the shell you will use for the build process:
export LD_LIBRARY_PATH="$NODEDIR/lib/:$LD_LIBRARY_PATH"
export PATH="$NODEDIR/bin/:$PATH"
Build process:
-
cd $KITEDIR && npm install # may throw some errors -
cd $KITEDIR && npm run release # will throw some errors for sure
Distribution:
- The directory
$KITEDIR/dist/Kitematic-linux-x64is what should be put in$PKGDIRwhen distribution the package, andKitematicis the executable.
CAVEATS:
This procedure worked for me just out of luck, because of the fact that the errors arising from the build process and partially suppressed by the --force switch did not interfere with the real build process but were only (as fas as I can tell and test) side effects of the fact that:
- this project officially targets Windows, Mac and Ubuntu (that it *.deb distribution files)
- there are some tslint deprecations in the project
I cannot tell if this project is dead, will die shortly or is in pre-death maintainance mode (at least for Linux-based OSs), but these steps are provided under the conditions of the just make it run, no matter what philosophy. I hope you can find them useful.
Good luck with the build! :wink:
npm install
npm run release:debian:x64
# and look up in ./dist