From 31981ee17998bc175a657952eaae5c325e79d583 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 12 Jan 2015 23:23:09 -0500 Subject: [PATCH] Update rakefile --- rake/pkg/emacs.rake | 68 ++++++++++++++++++++++++++++++------------- rake/pkg/package.rake | 3 +- rake/pkg/pyenv.rake | 18 ++++++------ 3 files changed, 57 insertions(+), 32 deletions(-) diff --git a/rake/pkg/emacs.rake b/rake/pkg/emacs.rake index 736718e4..b15b46e3 100644 --- a/rake/pkg/emacs.rake +++ b/rake/pkg/emacs.rake @@ -3,51 +3,77 @@ if is_mac? ENV["EMACS_D"] = File.expand_path("~/.emacs.d") def emacs_reqs - [ - "emacs --HEAD --use-git-head --with-gnutls --cocoa --keep-ctags --srgb", - "aspell --with-lang-en", + [ "emacs --with-gnutls --cocoa", + "ispell", "cask", "rsense", - "node" - ] + "markdown" ] + end + + def node_reqs + %w{jshint jsonlint js-beautify git://github.com/ramitos/jsctags.git} + end + + def setup + echo "Installing emacs dependencies" + emacs_reqs.each { |pkg| Package.install pkg } + end + + def setup_node + echo "Installing node dependencies" + node_reqs.each do |pkg| + sh_safe "/usr/local/bin/npm install -g #{pkg}" + end + end + + def setup_emacs_d + echo "Setting up emacs.d & updating cask" + github 'hlissner/emacs.d', '~/.emacs.d' + sh_safe "cd '#{ENV["EMACS_D"]}' && cask install" end def emacs_installed? Dir.exists?(ENV["EMACS_D"]) end + # desc "Ensure emacs 24.4 is installed & up to date" task :emacs => "emacs:update" namespace :emacs do - task :install do - emacs_reqs.each { |pkg| Package.install pkg } - unless emacs_installed? - echo "Installing emacs dependencies" - Package.install "homebrew/dupes/tidy --HEAD" + desc "Install emacs completely" + task :install => ["nodejs:install", :setup, :setup_node, :setup_emacs_d] - echo "Setting up Emacs" - github 'hlissner/emacs.d', '~/.emacs.d' + desc "Setup required homebrew packages" + task :setup do + setup if !emacs_installed? || ENV["FORCE"] + end - sh_safe "/usr/local/bin/npm install jshint -g" - sh_safe "/usr/local/bin/npm install jsonlint -g" - sh_safe "cd '#{ENV["EMACS_D"]}' && cask" - end + desc "Setup required node & node plugins" + task :setup_node do + setup_node if !emacs_installed? || ENV["FORCE"] + end + + desc "Setup emacs.d folder, plugins and cask" + task :setup_emacs_d do + setup_emacs_d if !emacs_installed? || ENV["FORCE"] end task :update => "emacs:install" do - echo "Updating emacs.d & packages" - sh_safe "cd '#{ENV["EMACS_D"]}' && git pull && cask update" + if emacs_installed? + echo "Updating emacs.d & packages" + sh_safe "cd '#{ENV["EMACS_D"]}' && git pull && cask update" - # Update rsense config - sh_safe "~/.rbenv/shims/ruby `brew --prefix rsense`/libexec/etc/config.rb > ~/.rsense" + # Update rsense config + sh_safe "/usr/bin/env ruby `brew --prefix rsense`/libexec/etc/config.rb > ~/.rsense" + end end task :remove do echo "Uninstalling emacs" Package.remove "emacs" Package.remove "homebrew/dupes/tidy" - emacs_reqs.each { |pkg| Package.remove pkg } + emacs_reqs.each { |pkg| Package.remove pkg.split.first } rm_rf ENV["EMACS_D"] if Dir.exists? ENV["EMACS_D"] end diff --git a/rake/pkg/package.rake b/rake/pkg/package.rake index e4ab195d..9eae6a65 100644 --- a/rake/pkg/package.rake +++ b/rake/pkg/package.rake @@ -34,8 +34,7 @@ if is_mac? "node" ].each { |pkg| Package.install pkg } - [ "dropbox", - "appcleaner", + [ "appcleaner", "vagrant", "virtualbox", "growlnotify", diff --git a/rake/pkg/pyenv.rake b/rake/pkg/pyenv.rake index a823a4e7..f51317d3 100644 --- a/rake/pkg/pyenv.rake +++ b/rake/pkg/pyenv.rake @@ -1,5 +1,4 @@ PYENV_ROOT = File.expand_path("~/.pyenv") -ENV["PYTHON_VERSION"] = "3.4.1" def pyenv_installed? Dir.exists?(PYENV_ROOT) @@ -45,14 +44,15 @@ namespace :pyenv do sh_safe "eval \"$(#{PYENV_ROOT}/bin/pyenv virtualenv-init -)\"" end - py_version = ENV["PYTHON_VERSION"] - unless pyenv_version_installed? py_version - # Install global python + packages - echo "Setting up default python (#{py_version})", 2 - sh_safe "pyenv install #{py_version}" - sh_safe "pyenv global #{py_version}" - sh_safe "PYENV_VERSION=#{py_version} #{PYENV_ROOT}/shims/pip install cython" - sh_safe "PYENV_VERSION=#{py_version} #{PYENV_ROOT}/shims/pip install nose virtualenv pyyaml ipython" + ['3.4.1', '2.7.8'].each do |version| + unless pyenv_version_installed? version + # Install global python + packages + echo "Setting up default python (#{version})", 2 + sh_safe "pyenv install #{version}" + sh_safe "pyenv global #{version}" + sh_safe "PYENV_VERSION=#{version} #{PYENV_ROOT}/shims/pip install cython" + sh_safe "PYENV_VERSION=#{version} #{PYENV_ROOT}/shims/pip install nose virtualenv pyyaml ipython" + end end end