commit
f85abb041a
@ -0,0 +1,153 @@ |
||||
{ config, lib, pkgs, ... }: |
||||
|
||||
with lib; |
||||
|
||||
let |
||||
cfg = config.services.panamax; |
||||
|
||||
panamax_api = pkgs.panamax_api.override { dataDir = cfg.dataDir + "/api"; }; |
||||
panamax_ui = pkgs.panamax_ui.override { dataDir = cfg.dataDir + "/ui"; }; |
||||
|
||||
in { |
||||
|
||||
##### Interface |
||||
options.services.panamax = { |
||||
enable = mkOption { |
||||
type = types.bool; |
||||
default = false; |
||||
description = '' |
||||
Whether to enable Panamax service. |
||||
''; |
||||
}; |
||||
|
||||
UIPort = mkOption { |
||||
type = types.int; |
||||
default = 8888; |
||||
description = '' |
||||
Panamax UI listening port. |
||||
''; |
||||
}; |
||||
|
||||
APIPort = mkOption { |
||||
type = types.int; |
||||
default = 3000; |
||||
description = '' |
||||
Panamax UI listening port. |
||||
''; |
||||
}; |
||||
|
||||
dataDir = mkOption { |
||||
type = types.str; |
||||
default = "/var/lib/panamax"; |
||||
description = '' |
||||
Data dir for Panamax. |
||||
''; |
||||
}; |
||||
|
||||
fleetctlEndpoint = mkOption { |
||||
type = types.str; |
||||
default = "http://127.0.0.1:4001"; |
||||
description = '' |
||||
Panamax fleetctl endpoint. |
||||
''; |
||||
}; |
||||
|
||||
journalEndpoint = mkOption { |
||||
type = types.str; |
||||
default = "http://127.0.0.1:19531"; |
||||
description = '' |
||||
Panamax journal endpoint. |
||||
''; |
||||
}; |
||||
|
||||
secretKey = mkOption { |
||||
type = types.str; |
||||
default = "SomethingVeryLong."; |
||||
description = '' |
||||
Panamax secret key (do change this). |
||||
''; |
||||
}; |
||||
|
||||
}; |
||||
|
||||
##### Implementation |
||||
config = mkIf cfg.enable { |
||||
systemd.services.panamax-api = { |
||||
description = "Panamax API"; |
||||
|
||||
wantedBy = [ "multi-user.target" ]; |
||||
after = [ "network.target" "fleet.service" "etcd.service" "docker.service" ]; |
||||
|
||||
path = [ panamax_api ]; |
||||
environment = { |
||||
RAILS_ENV = "production"; |
||||
JOURNAL_ENDPOINT = cfg.journalEndpoint; |
||||
FLEETCTL_ENDPOINT = cfg.fleetctlEndpoint; |
||||
PANAMAX_DATABASE_PATH = "${cfg.dataDir}/api/db/mnt/db.sqlite3"; |
||||
}; |
||||
|
||||
preStart = '' |
||||
rm -rf ${cfg.dataDir}/state/tmp |
||||
mkdir -p ${cfg.dataDir}/api/{db/mnt,state/log,state/tmp} |
||||
ln -sf ${panamax_api}/share/panamax-api/_db/{schema.rb,seeds.rb,migrate} ${cfg.dataDir}/api/db/ |
||||
|
||||
if [ ! -f ${cfg.dataDir}/.created ]; then |
||||
bundle exec rake db:setup |
||||
bundle exec rake db:seed |
||||
bundle exec rake panamax:templates:load || true |
||||
touch ${cfg.dataDir}/.created |
||||
else |
||||
bundle exec rake db:migrate |
||||
fi |
||||
''; |
||||
|
||||
serviceConfig = { |
||||
ExecStart = "${panamax_api}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.APIPort}"; |
||||
User = "panamax"; |
||||
Group = "panamax"; |
||||
}; |
||||
}; |
||||
|
||||
systemd.services.panamax-ui = { |
||||
description = "Panamax UI"; |
||||
|
||||
wantedBy = [ "multi-user.target" ]; |
||||
after = [ "network.target" "panamax_api.service" ]; |
||||
|
||||
path = [ panamax_ui ]; |
||||
environment = { |
||||
RAILS_ENV = "production"; |
||||
JOURNAL_ENDPOINT = cfg.journalEndpoint; |
||||
PMX_API_PORT_3000_TCP_ADDR = "localhost"; |
||||
PMX_API_PORT_3000_TCP_PORT = toString cfg.APIPort; |
||||
SECRET_KEY_BASE = cfg.secretKey; |
||||
}; |
||||
|
||||
preStart = '' |
||||
rm -rf ${cfg.dataDir}/state/tmp |
||||
mkdir -p ${cfg.dataDir}/ui/state/{log,tmp} |
||||
''; |
||||
|
||||
serviceConfig = { |
||||
ExecStart = "${panamax_ui}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.UIPort}"; |
||||
User = "panamax"; |
||||
Group = "panamax"; |
||||
}; |
||||
}; |
||||
|
||||
users.extraUsers.panamax = |
||||
{ uid = config.ids.uids.panamax; |
||||
description = "Panamax user"; |
||||
createHome = true; |
||||
home = cfg.dataDir; |
||||
extraGroups = [ "docker" ]; |
||||
}; |
||||
|
||||
services.journald.enableHttpGateway = mkDefault true; |
||||
services.fleet.enable = mkDefault true; |
||||
virtualisation.docker.enable = mkDefault true; |
||||
|
||||
environment.systemPackages = [ panamax_api panamax_ui ]; |
||||
users.extraGroups.panamax.gid = config.ids.gids.panamax; |
||||
}; |
||||
} |
@ -0,0 +1,18 @@ |
||||
import ./make-test.nix { |
||||
name = "panamax"; |
||||
|
||||
machine = { config, pkgs, ... }: { |
||||
services.panamax.enable = true; |
||||
}; |
||||
|
||||
testScript = |
||||
'' |
||||
startAll; |
||||
$machine->waitForUnit("panamax-api.service"); |
||||
$machine->waitForUnit("panamax-ui.service"); |
||||
$machine->waitForOpenPort(3000); |
||||
$machine->waitForOpenPort(8888); |
||||
$machine->succeed("curl --fail http://localhost:8888/ > /dev/null"); |
||||
$machine->shutdown; |
||||
''; |
||||
} |
@ -0,0 +1,23 @@ |
||||
source 'https://rubygems.org' |
||||
|
||||
gem 'rails', '4.1.7' |
||||
gem 'puma', '2.8.2' |
||||
gem 'sqlite3', '1.3.9' |
||||
gem 'faraday_middleware', '0.9.0' |
||||
gem 'docker-api', '1.13.0', require: 'docker' |
||||
gem 'fleet-api', '0.6.0', require: 'fleet' |
||||
gem 'active_model_serializers', '0.9.0' |
||||
gem 'octokit', '3.2.0' |
||||
gem 'kmts', '2.0.1' |
||||
|
||||
group :test, :development do |
||||
gem 'rspec-rails' |
||||
gem 'its' |
||||
end |
||||
|
||||
group :test do |
||||
gem 'coveralls', '0.7.0' |
||||
gem 'shoulda-matchers', '2.6.1' |
||||
gem 'database_cleaner', '1.3.0' |
||||
gem 'webmock', '1.20.0' |
||||
end |
@ -0,0 +1,164 @@ |
||||
GEM |
||||
remote: https://rubygems.org/ |
||||
specs: |
||||
actionmailer (4.1.7) |
||||
actionpack (= 4.1.7) |
||||
actionview (= 4.1.7) |
||||
mail (~> 2.5, >= 2.5.4) |
||||
actionpack (4.1.7) |
||||
actionview (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
rack (~> 1.5.2) |
||||
rack-test (~> 0.6.2) |
||||
actionview (4.1.7) |
||||
activesupport (= 4.1.7) |
||||
builder (~> 3.1) |
||||
erubis (~> 2.7.0) |
||||
active_model_serializers (0.9.0) |
||||
activemodel (>= 3.2) |
||||
activemodel (4.1.7) |
||||
activesupport (= 4.1.7) |
||||
builder (~> 3.1) |
||||
activerecord (4.1.7) |
||||
activemodel (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
arel (~> 5.0.0) |
||||
activesupport (4.1.7) |
||||
i18n (~> 0.6, >= 0.6.9) |
||||
json (~> 1.7, >= 1.7.7) |
||||
minitest (~> 5.1) |
||||
thread_safe (~> 0.1) |
||||
tzinfo (~> 1.1) |
||||
addressable (2.3.6) |
||||
archive-tar-minitar (0.5.2) |
||||
arel (5.0.1.20140414130214) |
||||
builder (3.2.2) |
||||
coveralls (0.7.0) |
||||
multi_json (~> 1.3) |
||||
rest-client |
||||
simplecov (>= 0.7) |
||||
term-ansicolor |
||||
thor |
||||
crack (0.4.2) |
||||
safe_yaml (~> 1.0.0) |
||||
database_cleaner (1.3.0) |
||||
diff-lcs (1.2.5) |
||||
docile (1.1.5) |
||||
docker-api (1.13.0) |
||||
archive-tar-minitar |
||||
excon (>= 0.37.0) |
||||
json |
||||
erubis (2.7.0) |
||||
excon (0.37.0) |
||||
faraday (0.8.9) |
||||
multipart-post (~> 1.2.0) |
||||
faraday_middleware (0.9.0) |
||||
faraday (>= 0.7.4, < 0.9) |
||||
fleet-api (0.6.0) |
||||
faraday (= 0.8.9) |
||||
faraday_middleware (= 0.9.0) |
||||
hike (1.2.3) |
||||
i18n (0.6.11) |
||||
its (0.2.0) |
||||
rspec-core |
||||
json (1.8.1) |
||||
kmts (2.0.1) |
||||
mail (2.6.3) |
||||
mime-types (>= 1.16, < 3) |
||||
mime-types (2.4.3) |
||||
minitest (5.4.3) |
||||
multi_json (1.10.1) |
||||
multipart-post (1.2.0) |
||||
octokit (3.2.0) |
||||
sawyer (~> 0.5.3) |
||||
puma (2.8.2) |
||||
rack (>= 1.1, < 2.0) |
||||
rack (1.5.2) |
||||
rack-test (0.6.2) |
||||
rack (>= 1.0) |
||||
rails (4.1.7) |
||||
actionmailer (= 4.1.7) |
||||
actionpack (= 4.1.7) |
||||
actionview (= 4.1.7) |
||||
activemodel (= 4.1.7) |
||||
activerecord (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
bundler (>= 1.3.0, < 2.0) |
||||
railties (= 4.1.7) |
||||
sprockets-rails (~> 2.0) |
||||
railties (4.1.7) |
||||
actionpack (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
rake (>= 0.8.7) |
||||
thor (>= 0.18.1, < 2.0) |
||||
rake (10.4.0) |
||||
rest-client (1.6.7) |
||||
mime-types (>= 1.16) |
||||
rspec-core (3.1.7) |
||||
rspec-support (~> 3.1.0) |
||||
rspec-expectations (3.1.2) |
||||
diff-lcs (>= 1.2.0, < 2.0) |
||||
rspec-support (~> 3.1.0) |
||||
rspec-mocks (3.1.3) |
||||
rspec-support (~> 3.1.0) |
||||
rspec-rails (3.1.0) |
||||
actionpack (>= 3.0) |
||||
activesupport (>= 3.0) |
||||
railties (>= 3.0) |
||||
rspec-core (~> 3.1.0) |
||||
rspec-expectations (~> 3.1.0) |
||||
rspec-mocks (~> 3.1.0) |
||||
rspec-support (~> 3.1.0) |
||||
rspec-support (3.1.2) |
||||
safe_yaml (1.0.4) |
||||
sawyer (0.5.4) |
||||
addressable (~> 2.3.5) |
||||
faraday (~> 0.8, < 0.10) |
||||
shoulda-matchers (2.6.1) |
||||
activesupport (>= 3.0.0) |
||||
simplecov (0.9.1) |
||||
docile (~> 1.1.0) |
||||
multi_json (~> 1.0) |
||||
simplecov-html (~> 0.8.0) |
||||
simplecov-html (0.8.0) |
||||
sprockets (2.12.3) |
||||
hike (~> 1.2) |
||||
multi_json (~> 1.0) |
||||
rack (~> 1.0) |
||||
tilt (~> 1.1, != 1.3.0) |
||||
sprockets-rails (2.2.0) |
||||
actionpack (>= 3.0) |
||||
activesupport (>= 3.0) |
||||
sprockets (>= 2.8, < 4.0) |
||||
sqlite3 (1.3.9) |
||||
term-ansicolor (1.3.0) |
||||
tins (~> 1.0) |
||||
thor (0.19.1) |
||||
thread_safe (0.3.4) |
||||
tilt (1.4.1) |
||||
tins (1.3.0) |
||||
tzinfo (1.2.2) |
||||
thread_safe (~> 0.1) |
||||
webmock (1.20.0) |
||||
addressable (>= 2.3.6) |
||||
crack (>= 0.3.2) |
||||
|
||||
PLATFORMS |
||||
ruby |
||||
|
||||
DEPENDENCIES |
||||
active_model_serializers (= 0.9.0) |
||||
coveralls (= 0.7.0) |
||||
database_cleaner (= 1.3.0) |
||||
docker-api (= 1.13.0) |
||||
faraday_middleware (= 0.9.0) |
||||
fleet-api (= 0.6.0) |
||||
its |
||||
kmts (= 2.0.1) |
||||
octokit (= 3.2.0) |
||||
puma (= 2.8.2) |
||||
rails (= 4.1.7) |
||||
rspec-rails |
||||
shoulda-matchers (= 2.6.1) |
||||
sqlite3 (= 1.3.9) |
||||
webmock (= 1.20.0) |
@ -0,0 +1,30 @@ |
||||
source 'https://rubygems.org' |
||||
|
||||
gem 'rails', '4.1.7' |
||||
gem 'puma', '2.8.2' |
||||
gem 'sass', '3.3.9' |
||||
gem 'therubyracer', '0.12.1', platforms: :ruby |
||||
gem 'haml', '4.0.5' |
||||
gem 'uglifier', '2.5.1' |
||||
gem 'ctl_base_ui' |
||||
gem 'activeresource', '4.0.0' |
||||
gem 'kramdown', '1.4.0' |
||||
gem 'zeroclipboard-rails' |
||||
|
||||
|
||||
group :test, :development do |
||||
gem 'rspec-rails', '2.14.2' |
||||
gem 'capybara', '2.3.0' |
||||
gem 'teaspoon', '0.8.0' |
||||
gem 'phantomjs', '1.9.7.1' |
||||
gem 'dotenv-rails', '0.11.1' |
||||
gem 'pry' |
||||
gem 'pry-byebug' |
||||
gem 'pry-stack_explorer' |
||||
end |
||||
|
||||
group :test do |
||||
gem 'webmock', '1.18.0' |
||||
gem 'sinatra', '1.4.5' |
||||
gem 'coveralls', '0.7.0' |
||||
end |
@ -0,0 +1,217 @@ |
||||
GEM |
||||
remote: https://rubygems.org/ |
||||
specs: |
||||
actionmailer (4.1.7) |
||||
actionpack (= 4.1.7) |
||||
actionview (= 4.1.7) |
||||
mail (~> 2.5, >= 2.5.4) |
||||
actionpack (4.1.7) |
||||
actionview (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
rack (~> 1.5.2) |
||||
rack-test (~> 0.6.2) |
||||
actionview (4.1.7) |
||||
activesupport (= 4.1.7) |
||||
builder (~> 3.1) |
||||
erubis (~> 2.7.0) |
||||
activemodel (4.1.7) |
||||
activesupport (= 4.1.7) |
||||
builder (~> 3.1) |
||||
activerecord (4.1.7) |
||||
activemodel (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
arel (~> 5.0.0) |
||||
activeresource (4.0.0) |
||||
activemodel (~> 4.0) |
||||
activesupport (~> 4.0) |
||||
rails-observers (~> 0.1.1) |
||||
activesupport (4.1.7) |
||||
i18n (~> 0.6, >= 0.6.9) |
||||
json (~> 1.7, >= 1.7.7) |
||||
minitest (~> 5.1) |
||||
thread_safe (~> 0.1) |
||||
tzinfo (~> 1.1) |
||||
addressable (2.3.6) |
||||
arel (5.0.1.20140414130214) |
||||
binding_of_caller (0.7.2) |
||||
debug_inspector (>= 0.0.1) |
||||
builder (3.2.2) |
||||
byebug (3.5.1) |
||||
columnize (~> 0.8) |
||||
debugger-linecache (~> 1.2) |
||||
slop (~> 3.6) |
||||
capybara (2.3.0) |
||||
mime-types (>= 1.16) |
||||
nokogiri (>= 1.3.3) |
||||
rack (>= 1.0.0) |
||||
rack-test (>= 0.5.4) |
||||
xpath (~> 2.0) |
||||
coderay (1.1.0) |
||||
columnize (0.8.9) |
||||
coveralls (0.7.0) |
||||
multi_json (~> 1.3) |
||||
rest-client |
||||
simplecov (>= 0.7) |
||||
term-ansicolor |
||||
thor |
||||
crack (0.4.2) |
||||
safe_yaml (~> 1.0.0) |
||||
ctl_base_ui (0.0.4) |
||||
haml (~> 4.0) |
||||
jquery-rails (~> 3.1) |
||||
jquery-ui-rails (~> 4.2) |
||||
rails (~> 4.1) |
||||
sass (~> 3.3) |
||||
debug_inspector (0.0.2) |
||||
debugger-linecache (1.2.0) |
||||
diff-lcs (1.2.5) |
||||
docile (1.1.5) |
||||
dotenv (0.11.1) |
||||
dotenv-deployment (~> 0.0.2) |
||||
dotenv-deployment (0.0.2) |
||||
dotenv-rails (0.11.1) |
||||
dotenv (= 0.11.1) |
||||
erubis (2.7.0) |
||||
execjs (2.2.1) |
||||
haml (4.0.5) |
||||
tilt |
||||
hike (1.2.3) |
||||
i18n (0.6.11) |
||||
jquery-rails (3.1.2) |
||||
railties (>= 3.0, < 5.0) |
||||
thor (>= 0.14, < 2.0) |
||||
jquery-ui-rails (4.2.1) |
||||
railties (>= 3.2.16) |
||||
json (1.8.1) |
||||
kramdown (1.4.0) |
||||
libv8 (3.16.14.7) |
||||
mail (2.6.3) |
||||
mime-types (>= 1.16, < 3) |
||||
method_source (0.8.2) |
||||
mime-types (2.4.3) |
||||
mini_portile (0.6.0) |
||||
minitest (5.4.3) |
||||
multi_json (1.10.1) |
||||
nokogiri (1.6.2.1) |
||||
mini_portile (= 0.6.0) |
||||
phantomjs (1.9.7.1) |
||||
pry (0.10.1) |
||||
coderay (~> 1.1.0) |
||||
method_source (~> 0.8.1) |
||||
slop (~> 3.4) |
||||
pry-byebug (2.0.0) |
||||
byebug (~> 3.4) |
||||
pry (~> 0.10) |
||||
pry-stack_explorer (0.4.9.1) |
||||
binding_of_caller (>= 0.7) |
||||
pry (>= 0.9.11) |
||||
puma (2.8.2) |
||||
rack (>= 1.1, < 2.0) |
||||
rack (1.5.2) |
||||
rack-protection (1.5.3) |
||||
rack |
||||
rack-test (0.6.2) |
||||
rack (>= 1.0) |
||||
rails (4.1.7) |
||||
actionmailer (= 4.1.7) |
||||
actionpack (= 4.1.7) |
||||
actionview (= 4.1.7) |
||||
activemodel (= 4.1.7) |
||||
activerecord (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
bundler (>= 1.3.0, < 2.0) |
||||
railties (= 4.1.7) |
||||
sprockets-rails (~> 2.0) |
||||
rails-observers (0.1.2) |
||||
activemodel (~> 4.0) |
||||
railties (4.1.7) |
||||
actionpack (= 4.1.7) |
||||
activesupport (= 4.1.7) |
||||
rake (>= 0.8.7) |
||||
thor (>= 0.18.1, < 2.0) |
||||
rake (10.4.1) |
||||
ref (1.0.5) |
||||
rest-client (1.6.7) |
||||
mime-types (>= 1.16) |
||||
rspec-core (2.14.8) |
||||
rspec-expectations (2.14.5) |
||||
diff-lcs (>= 1.1.3, < 2.0) |
||||
rspec-mocks (2.14.6) |
||||
rspec-rails (2.14.2) |
||||
actionpack (>= 3.0) |
||||
activemodel (>= 3.0) |
||||
activesupport (>= 3.0) |
||||
railties (>= 3.0) |
||||
rspec-core (~> 2.14.0) |
||||
rspec-expectations (~> 2.14.0) |
||||
rspec-mocks (~> 2.14.0) |
||||
safe_yaml (1.0.3) |
||||
sass (3.3.9) |
||||
simplecov (0.9.1) |
||||
docile (~> 1.1.0) |
||||
multi_json (~> 1.0) |
||||
simplecov-html (~> 0.8.0) |
||||
simplecov-html (0.8.0) |
||||
sinatra (1.4.5) |
||||
rack (~> 1.4) |
||||
rack-protection (~> 1.4) |
||||
tilt (~> 1.3, >= 1.3.4) |
||||
slop (3.6.0) |
||||
sprockets (2.12.3) |
||||
hike (~> 1.2) |
||||
multi_json (~> 1.0) |
||||
rack (~> 1.0) |
||||
tilt (~> 1.1, != 1.3.0) |
||||
sprockets-rails (2.2.2) |
||||
actionpack (>= 3.0) |
||||
activesupport (>= 3.0) |
||||
sprockets (>= 2.8, < 4.0) |
||||
teaspoon (0.8.0) |
||||
railties (>= 3.2.5, < 5) |
||||
term-ansicolor (1.3.0) |
||||
tins (~> 1.0) |
||||
therubyracer (0.12.1) |
||||
libv8 (~> 3.16.14.0) |
||||
ref |
||||
thor (0.19.1) |
||||
thread_safe (0.3.4) |
||||
tilt (1.4.1) |
||||
tins (1.1.0) |
||||
tzinfo (1.2.2) |
||||
thread_safe (~> 0.1) |
||||
uglifier (2.5.1) |
||||
execjs (>= 0.3.0) |
||||
json (>= 1.8.0) |
||||
webmock (1.18.0) |
||||
addressable (>= 2.3.6) |
||||
crack (>= 0.3.2) |
||||
xpath (2.0.0) |
||||
nokogiri (~> 1.3) |
||||
zeroclipboard-rails (0.1.0) |
||||
railties (>= 3.1) |
||||
|
||||
PLATFORMS |
||||
ruby |
||||
|
||||
DEPENDENCIES |
||||
activeresource (= 4.0.0) |
||||
capybara (= 2.3.0) |
||||
coveralls (= 0.7.0) |
||||
ctl_base_ui |
||||
dotenv-rails (= 0.11.1) |
||||
haml (= 4.0.5) |
||||
kramdown (= 1.4.0) |
||||
phantomjs (= 1.9.7.1) |
||||
pry |
||||
pry-byebug |
||||
pry-stack_explorer |
||||
puma (= 2.8.2) |
||||
rails (= 4.1.7) |
||||
rspec-rails (= 2.14.2) |
||||
sass (= 3.3.9) |
||||
sinatra (= 1.4.5) |
||||
teaspoon (= 0.8.0) |
||||
therubyracer (= 0.12.1) |
||||
uglifier (= 2.5.1) |
||||
webmock (= 1.18.0) |
||||
zeroclipboard-rails |
@ -0,0 +1,75 @@ |
||||
{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD |
||||
, ruby, libxslt, libxml2, sqlite, openssl, cacert, docker |
||||
, dataDir ? "/var/lib/panamax-api" }: |
||||
|
||||
with stdenv.lib; |
||||
|
||||
let |
||||
database_yml = builtins.toFile "database.yml" '' |
||||
production: |
||||
adapter: sqlite3 |
||||
database: <%= ENV["PANAMAX_DATABASE_PATH"] || "${dataDir}/db/mnt/db.sqlite3" %> |
||||
timeout: 5000 |
||||
''; |
||||
env = bundlerEnv { |
||||
name = "panamax-api-gems"; |
||||
inherit ruby; |
||||
gemset = ./gemset-api.nix; |
||||
gemfile = ./Gemfile-api; |
||||
lockfile = ./Gemfile-api.lock; |
||||
}; |
||||
bundler = bundler_HEAD.override { inherit ruby; }; |
||||
in stdenv.mkDerivation rec { |
||||
name = "panamax-api-${version}"; |
||||
version = "0.2.11"; |
||||
|
||||
src = fetchgit { |
||||
rev = "refs/tags/v${version}"; |
||||
url = "git://github.com/CenturyLinkLabs/panamax-api"; |
||||
sha256 = "01sz7jibn1rqfga85pr4p8wk6jfldzfaxj1726vs6znmcwhfkcgj"; |
||||
}; |
||||
|
||||
buildInputs = [ makeWrapper sqlite openssl env.ruby bundler ]; |
||||
|
||||
setSourceRoot = '' |
||||
mkdir -p $out/share |
||||
cp -R panamax-api $out/share/panamax-api |
||||
export sourceRoot="$out/share/panamax-api" |
||||
''; |
||||
|
||||
postPatch = '' |
||||
find . -type f -exec sed -e 's|/usr/bin/docker|${docker}/bin/docker|g' -i "{}" \; |
||||
''; |
||||
|
||||
configurePhase = '' |
||||
export HOME=$PWD |
||||
export GEM_HOME=${env}/${env.ruby.gemPath} |
||||
export RAILS_ENV=production |
||||
|
||||
ln -sf ${database_yml} config/database.yml |
||||
''; |
||||
|
||||
installPhase = '' |
||||
rm -rf log tmp |
||||
mv ./db ./_db |
||||
ln -sf ${dataDir}/{db,state/log,state/tmp} . |
||||
|
||||
mkdir -p $out/bin |
||||
makeWrapper bin/bundle "$out/bin/bundle" \ |
||||
--run "cd $out/share/panamax-api" \ |
||||
--prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \ |
||||
--prefix "HOME" : "$out/share/panamax-api" \ |
||||
--prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \ |
||||
--prefix "OPENSSL_X509_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" \ |
||||
--prefix "SSL_CERT_FILE" : "${cacert}/etc/ca-bundle.crt" \ |
||||
--prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}" |
||||
''; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/CenturyLinkLabs/panamax-api; |
||||
description = "The API behind The Panamax UI"; |
||||
license = licenses.asl20; |
||||
maintainers = with maintainers; [ matejc offline ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,571 @@ |
||||
let |
||||
pkgs = import <nixpkgs> { }; |
||||
in { |
||||
"actionmailer" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"actionview" |
||||
"mail" |
||||
]; |
||||
}; |
||||
"actionpack" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax"; |
||||
}; |
||||
dependencies = [ |
||||
"actionview" |
||||
"activesupport" |
||||
"rack" |
||||
"rack-test" |
||||
]; |
||||
}; |
||||
"actionview" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax"; |
||||
}; |
||||
dependencies = [ |
||||
"activesupport" |
||||
"builder" |
||||
"erubis" |
||||
]; |
||||
}; |
||||
"active_model_serializers" = { |
||||
version = "0.9.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1ws3gx3wwlm17w7k0agwzmcmww6627lvqaqm828lzm3g1xqilkkl"; |
||||
}; |
||||
dependencies = [ |
||||
"activemodel" |
||||
]; |
||||
}; |
||||
"activemodel" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr"; |
||||
}; |
||||
dependencies = [ |
||||
"activesupport" |
||||
"builder" |
||||
]; |
||||
}; |
||||
"activerecord" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5"; |
||||
}; |
||||
dependencies = [ |
||||
"activemodel" |
||||
"activesupport" |
||||
"arel" |
||||
]; |
||||
}; |
||||
"activesupport" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs"; |
||||
}; |
||||
dependencies = [ |
||||
"i18n" |
||||
"json" |
||||
"minitest" |
||||
"thread_safe" |
||||
"tzinfo" |
||||
]; |
||||
}; |
||||
"addressable" = { |
||||
version = "2.3.6"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8"; |
||||
}; |
||||
}; |
||||
"archive-tar-minitar" = { |
||||
version = "0.5.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig"; |
||||
}; |
||||
}; |
||||
"arel" = { |
||||
version = "5.0.1.20140414130214"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9"; |
||||
}; |
||||
}; |
||||
"builder" = { |
||||
version = "3.2.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; |
||||
}; |
||||
}; |
||||
"coveralls" = { |
||||
version = "0.7.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4"; |
||||
}; |
||||
dependencies = [ |
||||
"multi_json" |
||||
"rest-client" |
||||
"simplecov" |
||||
"term-ansicolor" |
||||
"thor" |
||||
]; |
||||
}; |
||||
"crack" = { |
||||
version = "0.4.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a"; |
||||
}; |
||||
dependencies = [ |
||||
"safe_yaml" |
||||
]; |
||||
}; |
||||
"database_cleaner" = { |
||||
version = "1.3.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "19w25yda684pg29bggq26wy4lpyjvzscwg2hx3hmmmpysiwfnxgn"; |
||||
}; |
||||
}; |
||||
"diff-lcs" = { |
||||
version = "1.2.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; |
||||
}; |
||||
}; |
||||
"docile" = { |
||||
version = "1.1.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; |
||||
}; |
||||
}; |
||||
"docker-api" = { |
||||
version = "1.13.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1rara27gn7lxaf12dqkx8s1clssg10jndfcy4wz2fv6ms1i1lnp6"; |
||||
}; |
||||
dependencies = [ |
||||
"archive-tar-minitar" |
||||
"excon" |
||||
"json" |
||||
]; |
||||
}; |
||||
"erubis" = { |
||||
version = "2.7.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; |
||||
}; |
||||
}; |
||||
"excon" = { |
||||
version = "0.37.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "05x7asmsq5m419n1lhzk9bic02gwng4cqmrcqsfnd6kmkwm8csv2"; |
||||
}; |
||||
}; |
||||
"faraday" = { |
||||
version = "0.8.9"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "17d79fsgx0xwh0mfxyz5pbr435qlw79phlfvifc546w2axdkp718"; |
||||
}; |
||||
dependencies = [ |
||||
"multipart-post" |
||||
]; |
||||
}; |
||||
"faraday_middleware" = { |
||||
version = "0.9.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2"; |
||||
}; |
||||
dependencies = [ |
||||
"faraday" |
||||
]; |
||||
}; |
||||
"fleet-api" = { |
||||
version = "0.6.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0136mzc0fxp6mzh38n6xbg87cw9g9vq1nrlr3ylazbflvmlxgan6"; |
||||
}; |
||||
dependencies = [ |
||||
"faraday" |
||||
"faraday_middleware" |
||||
]; |
||||
}; |
||||
"hike" = { |
||||
version = "1.2.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm"; |
||||
}; |
||||
}; |
||||
"i18n" = { |
||||
version = "0.6.11"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk"; |
||||
}; |
||||
}; |
||||
"its" = { |
||||
version = "0.2.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g"; |
||||
}; |
||||
dependencies = [ |
||||
"rspec-core" |
||||
]; |
||||
}; |
||||
"json" = { |
||||
version = "1.8.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn"; |
||||
}; |
||||
}; |
||||
"kmts" = { |
||||
version = "2.0.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1wk680q443lg35a25am6i8xawf16iqg5xnq1m8xd2gib4dsy1d8v"; |
||||
}; |
||||
}; |
||||
"mail" = { |
||||
version = "2.6.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; |
||||
}; |
||||
dependencies = [ |
||||
"mime-types" |
||||
]; |
||||
}; |
||||
"mime-types" = { |
||||
version = "2.4.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq"; |
||||
}; |
||||
}; |
||||
"minitest" = { |
||||
version = "5.4.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1ws2cphg9jh45nrvs43s2ww5r14nb026bwlbwwpi0jz6qsqm86x4"; |
||||
}; |
||||
}; |
||||
"multi_json" = { |
||||
version = "1.10.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c"; |
||||
}; |
||||
}; |
||||
"multipart-post" = { |
||||
version = "1.2.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc"; |
||||
}; |
||||
}; |
||||
"octokit" = { |
||||
version = "3.2.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "07ll3x1hv72zssb4hkdw56xg3xk6x4fch4yf38zljvbh388r11ng"; |
||||
}; |
||||
dependencies = [ |
||||
"sawyer" |
||||
]; |
||||
}; |
||||
"puma" = { |
||||
version = "2.8.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k"; |
||||
}; |
||||
dependencies = [ |
||||
"rack" |
||||
]; |
||||
buildInputs = [ pkgs.openssl ]; |
||||
}; |
||||
"rack" = { |
||||
version = "1.5.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6"; |
||||
}; |
||||
}; |
||||
"rack-test" = { |
||||
version = "0.6.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky"; |
||||
}; |
||||
dependencies = [ |
||||
"rack" |
||||
]; |
||||
}; |
||||
"rails" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0"; |
||||
}; |
||||
dependencies = [ |
||||
"actionmailer" |
||||
"actionpack" |
||||
"actionview" |
||||
"activemodel" |
||||
"activerecord" |
||||
"activesupport" |
||||
"railties" |
||||
"sprockets-rails" |
||||
]; |
||||
}; |
||||
"railties" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"activesupport" |
||||
"rake" |
||||
"thor" |
||||
]; |
||||
}; |
||||
"rake" = { |
||||
version = "10.4.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8"; |
||||
}; |
||||
}; |
||||
"rest-client" = { |
||||
version = "1.6.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853"; |
||||
}; |
||||
dependencies = [ |
||||
"mime-types" |
||||
]; |
||||
}; |
||||
"rspec-core" = { |
||||
version = "3.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9"; |
||||
}; |
||||
dependencies = [ |
||||
"rspec-support" |
||||
]; |
||||
}; |
||||
"rspec-expectations" = { |
||||
version = "3.1.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh"; |
||||
}; |
||||
dependencies = [ |
||||
"diff-lcs" |
||||
"rspec-support" |
||||
]; |
||||
}; |
||||
"rspec-mocks" = { |
||||
version = "3.1.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr"; |
||||
}; |
||||
dependencies = [ |
||||
"rspec-support" |
||||
]; |
||||
}; |
||||
"rspec-rails" = { |
||||
version = "3.1.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"activesupport" |
||||
"railties" |
||||
"rspec-core" |
||||
"rspec-expectations" |
||||
"rspec-mocks" |
||||
"rspec-support" |
||||
]; |
||||
}; |
||||
"rspec-support" = { |
||||
version = "3.1.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb"; |
||||
}; |
||||
}; |
||||
"safe_yaml" = { |
||||
version = "1.0.4"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; |
||||
}; |
||||
}; |
||||
"sawyer" = { |
||||
version = "0.5.4"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "01kl4zpf0gaacnkra5nikrzfpwj8f10hsvgyzm7z2s1mz4iipx2v"; |
||||
}; |
||||
dependencies = [ |
||||
"addressable" |
||||
"faraday" |
||||
]; |
||||
}; |
||||
"shoulda-matchers" = { |
||||
version = "2.6.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1p3jhvd4dsj6d7nbmvnqhqhpmb8pnr05pi7jv9ajwqcys8140mc1"; |
||||
}; |
||||
dependencies = [ |
||||
"activesupport" |
||||
]; |
||||
}; |
||||
"simplecov" = { |
||||
version = "0.9.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf"; |
||||
}; |
||||
dependencies = [ |
||||
"docile" |
||||
"multi_json" |
||||
"simplecov-html" |
||||
]; |
||||
}; |
||||
"simplecov-html" = { |
||||
version = "0.8.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9"; |
||||
}; |
||||
}; |
||||
"sprockets" = { |
||||
version = "2.12.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2"; |
||||
}; |
||||
dependencies = [ |
||||
"hike" |
||||
"multi_json" |
||||
"rack" |
||||
"tilt" |
||||
]; |
||||
}; |
||||
"sprockets-rails" = { |
||||
version = "2.2.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "042fxqskvaa0wn9kpy02nv6p7sa355py9pi58zw96l30170sd3hl"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"activesupport" |
||||
"sprockets" |
||||
]; |
||||
}; |
||||
"sqlite3" = { |
||||
version = "1.3.9"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "07m6a6flmyyi0rkg0j7x1a9861zngwjnximfh95cli2zzd57914r"; |
||||
}; |
||||
}; |
||||
"term-ansicolor" = { |
||||
version = "1.3.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b"; |
||||
}; |
||||
dependencies = [ |
||||
"tins" |
||||
]; |
||||
}; |
||||
"thor" = { |
||||
version = "0.19.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; |
||||
}; |
||||
}; |
||||
"thread_safe" = { |
||||
version = "0.3.4"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n"; |
||||
}; |
||||
}; |
||||
"tilt" = { |
||||
version = "1.4.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir"; |
||||
}; |
||||
}; |
||||
"tins" = { |
||||
version = "1.3.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1yxa5kyp9mw4w866wlg7c32ingzqxnzh3ir9yf06pwpkmq3mrbdi"; |
||||
}; |
||||
}; |
||||
"tzinfo" = { |
||||
version = "1.2.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; |
||||
}; |
||||
dependencies = [ |
||||
"thread_safe" |
||||
]; |
||||
}; |
||||
"webmock" = { |
||||
version = "1.20.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0bl5v0xzcj24lx7xpsnywv3liqnqb5lfxysmmfb2fgi0n8586i6m"; |
||||
}; |
||||
dependencies = [ |
||||
"addressable" |
||||
"crack" |
||||
]; |
||||
}; |
||||
} |
@ -0,0 +1,760 @@ |
||||
let |
||||
pkgs = import <nixpkgs> { }; |
||||
in { |
||||
"actionmailer" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"actionview" |
||||
"mail" |
||||
]; |
||||
}; |
||||
"actionpack" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax"; |
||||
}; |
||||
dependencies = [ |
||||
"actionview" |
||||
"activesupport" |
||||
"rack" |
||||
"rack-test" |
||||
]; |
||||
}; |
||||
"actionview" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax"; |
||||
}; |
||||
dependencies = [ |
||||
"activesupport" |
||||
"builder" |
||||
"erubis" |
||||
]; |
||||
}; |
||||
"activemodel" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr"; |
||||
}; |
||||
dependencies = [ |
||||
"activesupport" |
||||
"builder" |
||||
]; |
||||
}; |
||||
"activerecord" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5"; |
||||
}; |
||||
dependencies = [ |
||||
"activemodel" |
||||
"activesupport" |
||||
"arel" |
||||
]; |
||||
}; |
||||
"activeresource" = { |
||||
version = "4.0.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0fc5igjijyjzsl9q5kybkdzhc92zv8wsv0ifb0y90i632jx6d4jq"; |
||||
}; |
||||
dependencies = [ |
||||
"activemodel" |
||||
"activesupport" |
||||
"rails-observers" |
||||
]; |
||||
}; |
||||
"activesupport" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs"; |
||||
}; |
||||
dependencies = [ |
||||
"i18n" |
||||
"json" |
||||
"minitest" |
||||
"thread_safe" |
||||
"tzinfo" |
||||
]; |
||||
}; |
||||
"addressable" = { |
||||
version = "2.3.6"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8"; |
||||
}; |
||||
}; |
||||
"arel" = { |
||||
version = "5.0.1.20140414130214"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9"; |
||||
}; |
||||
}; |
||||
"binding_of_caller" = { |
||||
version = "0.7.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk"; |
||||
}; |
||||
dependencies = [ |
||||
"debug_inspector" |
||||
]; |
||||
}; |
||||
"builder" = { |
||||
version = "3.2.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; |
||||
}; |
||||
}; |
||||
"byebug" = { |
||||
version = "3.5.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0ldc2r0b316rrn2fgdgiznskj9gb0q9n60243laq7nqw9na8wdan"; |
||||
}; |
||||
dependencies = [ |
||||
"columnize" |
||||
"debugger-linecache" |
||||
"slop" |
||||
]; |
||||
}; |
||||
"capybara" = { |
||||
version = "2.3.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "12x24zsn3y7sigmz45ijd9bkq7l14r2a00ay6k9mdgrbncbr3ins"; |
||||
}; |
||||
dependencies = [ |
||||
"mime-types" |
||||
"nokogiri" |
||||
"rack" |
||||
"rack-test" |
||||
"xpath" |
||||
]; |
||||
}; |
||||
"coderay" = { |
||||
version = "1.1.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s"; |
||||
}; |
||||
}; |
||||
"columnize" = { |
||||
version = "0.8.9"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1f3azq8pvdaaclljanwhab78hdw40k908ma2cwk59qzj4hvf7mip"; |
||||
}; |
||||
}; |
||||
"coveralls" = { |
||||
version = "0.7.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4"; |
||||
}; |
||||
dependencies = [ |
||||
"multi_json" |
||||
"rest-client" |
||||
"simplecov" |
||||
"term-ansicolor" |
||||
"thor" |
||||
]; |
||||
}; |
||||
"crack" = { |
||||
version = "0.4.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a"; |
||||
}; |
||||
dependencies = [ |
||||
"safe_yaml" |
||||
]; |
||||
}; |
||||
"ctl_base_ui" = { |
||||
version = "0.0.4"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0h0dbl0mf6cql7yp10jywv22rn0iy2188phdxvr2ladwwn2vxf5d"; |
||||
}; |
||||
dependencies = [ |
||||
"haml" |
||||
"jquery-rails" |
||||
"jquery-ui-rails" |
||||
"rails" |
||||
"sass" |
||||
]; |
||||
}; |
||||
"debug_inspector" = { |
||||
version = "0.0.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m"; |
||||
}; |
||||
}; |
||||
"debugger-linecache" = { |
||||
version = "1.2.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0iwyx190fd5vfwj1gzr8pg3m374kqqix4g4fc4qw29sp54d3fpdz"; |
||||
}; |
||||
}; |
||||
"diff-lcs" = { |
||||
version = "1.2.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; |
||||
}; |
||||
}; |
||||
"docile" = { |
||||
version = "1.1.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; |
||||
}; |
||||
}; |
||||
"dotenv" = { |
||||
version = "0.11.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m"; |
||||
}; |
||||
dependencies = [ |
||||
"dotenv-deployment" |
||||
]; |
||||
}; |
||||
"dotenv-deployment" = { |
||||
version = "0.0.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c"; |
||||
}; |
||||
}; |
||||
"dotenv-rails" = { |
||||
version = "0.11.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0r6hif0i1lipbi7mkxx7wa5clsn65n6wyd9jry262cx396lsfrqy"; |
||||
}; |
||||
dependencies = [ |
||||
"dotenv" |
||||
]; |
||||
}; |
||||
"erubis" = { |
||||
version = "2.7.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; |
||||
}; |
||||
}; |
||||
"execjs" = { |
||||
version = "2.2.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1s41g9qwq0h4452q4gp934lnkzfkxh4wrg8fd4bcynba86bf3j8b"; |
||||
}; |
||||
}; |
||||
"haml" = { |
||||
version = "4.0.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1xmzb0k5q271090crzmv7dbw8ss4289bzxklrc0fhw6pw3kcvc85"; |
||||
}; |
||||
dependencies = [ |
||||
"tilt" |
||||
]; |
||||
}; |
||||
"hike" = { |
||||
version = "1.2.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm"; |
||||
}; |
||||
}; |
||||
"i18n" = { |
||||
version = "0.6.11"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk"; |
||||
}; |
||||
}; |
||||
"jquery-rails" = { |
||||
version = "3.1.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0h5a565i3l2mbd221m6mz9d1nr53pz19i9qxv08qr1dv0yx2pr3y"; |
||||
}; |
||||
dependencies = [ |
||||
"railties" |
||||
"thor" |
||||
]; |
||||
}; |
||||
"jquery-ui-rails" = { |
||||
version = "4.2.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v"; |
||||
}; |
||||
dependencies = [ |
||||
"railties" |
||||
]; |
||||
}; |
||||
"json" = { |
||||
version = "1.8.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn"; |
||||
}; |
||||
}; |
||||
"kramdown" = { |
||||
version = "1.4.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "001vy0ymiwbvkdbb9wpqmswv6imliv7xim00gq6rlk0chnbiaq80"; |
||||
}; |
||||
}; |
||||
"libv8" = { |
||||
version = "3.16.14.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0dv5q5n5nf6b8h3fybwmsr3vkj70w4g1jpf6661j3hsv9vp0g4qq"; |
||||
}; |
||||
}; |
||||
"mail" = { |
||||
version = "2.6.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; |
||||
}; |
||||
dependencies = [ |
||||
"mime-types" |
||||
]; |
||||
}; |
||||
"method_source" = { |
||||
version = "0.8.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2"; |
||||
}; |
||||
}; |
||||
"mime-types" = { |
||||
version = "2.4.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq"; |
||||
}; |
||||
}; |
||||
"mini_portile" = { |
||||
version = "0.6.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn"; |
||||
}; |
||||
}; |
||||
"minitest" = { |
||||
version = "5.4.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1ws2cphg9jh45nrvs43s2ww5r14nb026bwlbwwpi0jz6qsqm86x4"; |
||||
}; |
||||
}; |
||||
"multi_json" = { |
||||
version = "1.10.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c"; |
||||
}; |
||||
}; |
||||
"nokogiri" = { |
||||
version = "1.6.2.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0dj8ajm9hlfpa71qz1xn5prqy5qdi32ll74qh8ssjwknp1a35cnz"; |
||||
}; |
||||
dependencies = [ |
||||
"mini_portile" |
||||
]; |
||||
}; |
||||
"phantomjs" = { |
||||
version = "1.9.7.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "14as0yzwbzvshbp1f8igjxcdxc5vbjgh0jhdvy393il084inlrl7"; |
||||
}; |
||||
}; |
||||
"pry" = { |
||||
version = "0.10.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z"; |
||||
}; |
||||
dependencies = [ |
||||
"coderay" |
||||
"method_source" |
||||
"slop" |
||||
]; |
||||
}; |
||||
"pry-byebug" = { |
||||
version = "2.0.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "17b6720ci9345wkzj369ydyj6hdlg2krd26zivpd4dvaijszzgzq"; |
||||
}; |
||||
dependencies = [ |
||||
"byebug" |
||||
"pry" |
||||
]; |
||||
}; |
||||
"pry-stack_explorer" = { |
||||
version = "0.4.9.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1828jqcfdr9nk86n15ky199vf33cfz51wkpv6kx230g0dsh9r85z"; |
||||
}; |
||||
dependencies = [ |
||||
"binding_of_caller" |
||||
"pry" |
||||
]; |
||||
}; |
||||
"puma" = { |
||||
version = "2.8.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k"; |
||||
}; |
||||
dependencies = [ |
||||
"rack" |
||||
]; |
||||
buildInputs = [ pkgs.openssl ]; |
||||
}; |
||||
"rack" = { |
||||
version = "1.5.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6"; |
||||
}; |
||||
}; |
||||
"rack-protection" = { |
||||
version = "1.5.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; |
||||
}; |
||||
dependencies = [ |
||||
"rack" |
||||
]; |
||||
}; |
||||
"rack-test" = { |
||||
version = "0.6.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky"; |
||||
}; |
||||
dependencies = [ |
||||
"rack" |
||||
]; |
||||
}; |
||||
"rails" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0"; |
||||
}; |
||||
dependencies = [ |
||||
"actionmailer" |
||||
"actionpack" |
||||
"actionview" |
||||
"activemodel" |
||||
"activerecord" |
||||
"activesupport" |
||||
"railties" |
||||
"sprockets-rails" |
||||
]; |
||||
}; |
||||
"rails-observers" = { |
||||
version = "0.1.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy"; |
||||
}; |
||||
dependencies = [ |
||||
"activemodel" |
||||
]; |
||||
}; |
||||
"railties" = { |
||||
version = "4.1.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"activesupport" |
||||
"rake" |
||||
"thor" |
||||
]; |
||||
}; |
||||
"rake" = { |
||||
version = "10.4.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1446zzdpwpvwkd0zk19b2smmmvdiarh4b26cdbcw4fy5p67wxkw2"; |
||||
}; |
||||
}; |
||||
"ref" = { |
||||
version = "1.0.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la"; |
||||
}; |
||||
}; |
||||
"rest-client" = { |
||||
version = "1.6.7"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853"; |
||||
}; |
||||
dependencies = [ |
||||
"mime-types" |
||||
]; |
||||
}; |
||||
"rspec-core" = { |
||||
version = "2.14.8"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc"; |
||||
}; |
||||
}; |
||||
"rspec-expectations" = { |
||||
version = "2.14.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1ni8kw8kjv76jvwjzi4jba00k3qzj9f8wd94vm6inz0jz3gwjqf9"; |
||||
}; |
||||
dependencies = [ |
||||
"diff-lcs" |
||||
]; |
||||
}; |
||||
"rspec-mocks" = { |
||||
version = "2.14.6"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1fwsmijd6w6cmqyh4ky2nq89jrpzh56hzmndx9wgkmdgfhfakv30"; |
||||
}; |
||||
}; |
||||
"rspec-rails" = { |
||||
version = "2.14.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1j9nbha6p12kwy9c5g3lw541xg20yzk95lzgmsq7kvngiqz88p57"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"activemodel" |
||||
"activesupport" |
||||
"railties" |
||||
"rspec-core" |
||||
"rspec-expectations" |
||||
"rspec-mocks" |
||||
]; |
||||
}; |
||||
"safe_yaml" = { |
||||
version = "1.0.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "063bykyk40s3rhy1dxfbvl69s179n1iny418z4wqjbvhrmjn18wl"; |
||||
}; |
||||
}; |
||||
"sass" = { |
||||
version = "3.3.9"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0k19vj73283i907z4wfkc9qdska2b19z7ps6lcr5s4qzwis1zkmz"; |
||||
}; |
||||
}; |
||||
"simplecov" = { |
||||
version = "0.9.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf"; |
||||
}; |
||||
dependencies = [ |
||||
"docile" |
||||
"multi_json" |
||||
"simplecov-html" |
||||
]; |
||||
}; |
||||
"simplecov-html" = { |
||||
version = "0.8.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9"; |
||||
}; |
||||
}; |
||||
"sinatra" = { |
||||
version = "1.4.5"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s"; |
||||
}; |
||||
dependencies = [ |
||||
"rack" |
||||
"rack-protection" |
||||
"tilt" |
||||
]; |
||||
}; |
||||
"slop" = { |
||||
version = "3.6.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"; |
||||
}; |
||||
}; |
||||
"sprockets" = { |
||||
version = "2.12.3"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2"; |
||||
}; |
||||
dependencies = [ |
||||
"hike" |
||||
"multi_json" |
||||
"rack" |
||||
"tilt" |
||||
]; |
||||
}; |
||||
"sprockets-rails" = { |
||||
version = "2.2.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "192d4vfl1gjz6phli6sqk98364x6v4jkpl5imajvimsinvgyv81b"; |
||||
}; |
||||
dependencies = [ |
||||
"actionpack" |
||||
"activesupport" |
||||
"sprockets" |
||||
]; |
||||
}; |
||||
"teaspoon" = { |
||||
version = "0.8.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1j3brbm9cv5km9d9wzb6q2b3cvc6m254z48h7h77z1w6c5wr0p3z"; |
||||
}; |
||||
dependencies = [ |
||||
"railties" |
||||
]; |
||||
}; |
||||
"term-ansicolor" = { |
||||
version = "1.3.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b"; |
||||
}; |
||||
dependencies = [ |
||||
"tins" |
||||
]; |
||||
}; |
||||
"therubyracer" = { |
||||
version = "0.12.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "106fqimqyaalh7p6czbl5m2j69z8gv7cm10mjb8bbb2p2vlmqmi6"; |
||||
}; |
||||
dependencies = [ |
||||
"libv8" |
||||
"ref" |
||||
]; |
||||
}; |
||||
"thor" = { |
||||
version = "0.19.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; |
||||
}; |
||||
}; |
||||
"thread_safe" = { |
||||
version = "0.3.4"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n"; |
||||
}; |
||||
}; |
||||
"tilt" = { |
||||
version = "1.4.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir"; |
||||
}; |
||||
}; |
||||
"tins" = { |
||||
version = "1.1.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "0jddc40lw8lzn421p6pjvvs7b37qyd8jgsl5nrq16rc46wgx2r2r"; |
||||
}; |
||||
}; |
||||
"tzinfo" = { |
||||
version = "1.2.2"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; |
||||
}; |
||||
dependencies = [ |
||||
"thread_safe" |
||||
]; |
||||
}; |
||||
"uglifier" = { |
||||
version = "2.5.1"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1vihq309mzv9a2i0s8v4imrn1g2kj8z0vr88q3i5b657c4kxzfp0"; |
||||
}; |
||||
dependencies = [ |
||||
"execjs" |
||||
"json" |
||||
]; |
||||
}; |
||||
"webmock" = { |
||||
version = "1.18.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "1r21a4x7dljb3cqxp7w7mdq5a1xvw9kn6m3gldsldsfza5b4hq03"; |
||||
}; |
||||
dependencies = [ |
||||
"addressable" |
||||
"crack" |
||||
]; |
||||
}; |
||||
"xpath" = { |
||||
version = "2.0.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w"; |
||||
}; |
||||
dependencies = [ |
||||
"nokogiri" |
||||
]; |
||||
}; |
||||
"zeroclipboard-rails" = { |
||||
version = "0.1.0"; |
||||
source = { |
||||
type = "gem"; |
||||
sha256 = "00ixal0a0mxaqsyzp06c6zz4qdwqydy1qv4n7hbyqfhbmsdalcfc"; |
||||
}; |
||||
dependencies = [ |
||||
"railties" |
||||
]; |
||||
}; |
||||
} |
@ -0,0 +1,71 @@ |
||||
{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler_HEAD |
||||
, ruby, rubygemsFun, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}: |
||||
|
||||
with stdenv.lib; |
||||
|
||||
let |
||||
env = bundlerEnv { |
||||
name = "panamax-api-gems"; |
||||
inherit ruby; |
||||
gemset = ./gemset-ui.nix; |
||||
gemfile = ./Gemfile-ui; |
||||
lockfile = ./Gemfile-ui.lock; |
||||
}; |
||||
bundler = bundler_HEAD.override { inherit ruby; }; |
||||
in |
||||
stdenv.mkDerivation rec { |
||||
name = "panamax-ui-${version}"; |
||||
version = "0.2.11"; |
||||
|
||||
src = fetchgit { |
||||
rev = "refs/tags/v${version}"; |
||||
url = "git://github.com/CenturyLinkLabs/panamax-ui"; |
||||
sha256 = "17j5ac8fzp377bzg7f239jdcc9j0c63bkx0ill5nl10i3h05z7jh"; |
||||
}; |
||||
|
||||
buildInputs = [ makeWrapper env.ruby openssl sqlite bundler ]; |
||||
|
||||
setSourceRoot = '' |
||||
mkdir -p $out/share |
||||
cp -R panamax-ui $out/share/panamax-ui |
||||
export sourceRoot="$out/share/panamax-ui" |
||||
''; |
||||
|
||||
postPatch = '' |
||||
find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Journal|NixOS Journal|g' -i "{}" \; |
||||
find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \; |
||||
find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \; |
||||
sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb" |
||||
''; |
||||
|
||||
configurePhase = '' |
||||
export HOME=$PWD |
||||
export GEM_HOME=${env}/${env.ruby.gemPath} |
||||
''; |
||||
|
||||
buildPhase = '' |
||||
rm -f ./bin/* |
||||
bundle exec rake rails:update:bin |
||||
''; |
||||
|
||||
installPhase = '' |
||||
rm -rf log tmp db |
||||
ln -sf ${dataDir}/{db,state/log,state/tmp} . |
||||
|
||||
mkdir -p $out/bin |
||||
makeWrapper bin/bundle "$out/bin/bundle" \ |
||||
--run "cd $out/share/panamax-ui" \ |
||||
--prefix "PATH" : "$out/share/panamax-ui/bin:${env.ruby}/bin:$PATH" \ |
||||
--prefix "HOME" : "$out/share/panamax-ui" \ |
||||
--prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \ |
||||
--prefix "GEM_PATH" : "$out/share/panamax-ui:${bundler}/${env.ruby.gemPath}" |
||||
''; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/CenturyLinkLabs/panamax-ui; |
||||
description = "The Web GUI for Panamax"; |
||||
license = licenses.asl20; |
||||
maintainers = with maintainers; [ matejc offline ]; |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
Loading…
Reference in new issue