diff --git a/pkgs/tools/system/foreman/Gemfile b/pkgs/tools/system/foreman/Gemfile new file mode 100644 index 000000000000..e25e6d790fc0 --- /dev/null +++ b/pkgs/tools/system/foreman/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "foreman" diff --git a/pkgs/tools/system/foreman/Gemfile.lock b/pkgs/tools/system/foreman/Gemfile.lock new file mode 100644 index 000000000000..8fa9a213ab28 --- /dev/null +++ b/pkgs/tools/system/foreman/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + foreman (0.78.0) + thor (~> 0.19.1) + thor (0.19.1) + +PLATFORMS + ruby + +DEPENDENCIES + foreman + +BUNDLED WITH + 1.11.2 diff --git a/pkgs/tools/system/foreman/default.nix b/pkgs/tools/system/foreman/default.nix new file mode 100644 index 000000000000..594947c265a3 --- /dev/null +++ b/pkgs/tools/system/foreman/default.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, ruby, bundlerEnv, makeWrapper }: + +stdenv.mkDerivation rec { + name = "foreman-${env.gems.foreman.version}"; + + env = bundlerEnv { + inherit ruby; + name = "${name}-gems"; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + }; + + phases = ["installPhase"]; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + makeWrapper ${env}/bin/foreman $out/bin/foreman + ''; + + meta = with lib; { + description = "Process manager for applications with multiple components"; + homepage = https://github.com/ddollar/foreman; + license = licenses.mit; + maintainers = with maintainers; [ zimbatm ]; + platforms = ruby.meta.platforms; + }; +} diff --git a/pkgs/tools/system/foreman/gemset.nix b/pkgs/tools/system/foreman/gemset.nix new file mode 100644 index 000000000000..b35bd15c9749 --- /dev/null +++ b/pkgs/tools/system/foreman/gemset.nix @@ -0,0 +1,18 @@ +{ + thor = { + version = "0.19.1"; + source = { + type = "gem"; + remotes = ["https://rubygems.org"]; + sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; + }; + }; + foreman = { + version = "0.78.0"; + source = { + type = "gem"; + remotes = ["https://rubygems.org"]; + sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq"; + }; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3ac55c8f8175..1b147c64974c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6000,6 +6000,8 @@ let findbugs = callPackage ../development/tools/analysis/findbugs { }; + foreman = callPackage ../tools/system/foreman { }; + flow = callPackage ../development/tools/analysis/flow { inherit (darwin.apple_sdk.frameworks) CoreServices; inherit (darwin) cf-private;