commit 862dba8b7d040b688f21926eceb14a6bd185fbbe
Author: Tom Hughes <tom@compton.nu>
Date: Sun Nov 8 11:33:04 2015 +0000
Some fixes for Cakefile
- follow FHS and Fedora Node.js packaging guidelines
- support DESTDIR
- preserve timestamps when installing
diff --git a/Cakefile b/Cakefile
index c9a675f..c361e64 100644
--- a/Cakefile
+++ b/Cakefile
@@ -95,20 +95,21 @@ releaseHeader = (date, version, prevVersion) -> """
option '-p', '--prefix [DIR]', 'set the installation prefix for `cake install`'
task 'install', 'install CoffeeScript into /usr/local (or --prefix)', (options) ->
+ destdir = options.destdir or ''
base = options.prefix or '/usr/local'
- lib = "#{base}/lib/coffee-script"
+ lib = "#{base}/share/coffee-script"
bin = "#{base}/bin"
- node = "~/.node_libraries/coffee-script"
+ node = "#{base}/lib/node_modules/coffee-script"
console.log "Installing CoffeeScript to #{lib}"
console.log "Linking to #{node}"
console.log "Linking 'coffee' to #{bin}/coffee"
exec([
- "mkdir -p #{lib} #{bin}"
- "cp -rf bin lib LICENSE README.md package.json src #{lib}"
- "ln -sfn #{lib}/bin/coffee #{bin}/coffee"
- "ln -sfn #{lib}/bin/cake #{bin}/cake"
- "mkdir -p ~/.node_libraries"
- "ln -sfn #{lib}/lib/coffee-script #{node}"
+ "mkdir -p #{destdir}/#{lib} #{destdir}/#{bin}"
+ "cp -prf bin extras lib package.json src #{destdir}/#{lib}"
+ "ln -sfn #{lib}/bin/coffee #{destdir}/#{bin}/coffee"
+ "ln -sfn #{lib}/bin/cake #{destdir}/#{bin}/cake"
+ "mkdir -p #{destdir}/#{node}"
+ "ln -sfn #{lib}/lib/coffee-script #{destdir}/#{node}"
].join(' && '), (err, stdout, stderr) ->
if err then console.log stderr.trim() else log 'done', green
)