about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/cddl/default.nix
blob: f99e547435ce9edd7d92648af503adcc9195efaa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ lib
, bundlerApp
, bundlerUpdateScript
, makeBinaryWrapper
}:

bundlerApp rec {
  pname = "cddl";

  gemfile = ./Gemfile;
  lockfile = ./Gemfile.lock;

  gemset = lib.recursiveUpdate (import ./gemset.nix) ({
    "cddl" = {
      dontBuild = false;
      # setting env vars is not supported by patchShebangs
      postPatch = ''
        sed -i 's\#!/usr/bin/env RUBY_THREAD_VM_STACK_SIZE=5000000\#!/usr/bin/env\' bin/cddl
      '';
    };
  });

  exes = [ "cddl" ];

  nativeBuildInputs = [ makeBinaryWrapper ];

  postBuild = ''
    wrapProgram $out/bin/cddl \
      --set RUBY_THREAD_VM_STACK_SIZE 5000000
  '';

  passthru.updateScript = bundlerUpdateScript "cddl";

  meta = with lib; {
    description = "A parser, generator, and validator for CDDL";
    homepage    = "https://rubygems.org/gems/cddl";
    license     = with licenses; mit;
    maintainers = with maintainers; [ fdns nicknovitski amesgen ];
    platforms   = platforms.unix;
  };
}