1{ lib
2, bundlerApp
3, bundlerUpdateScript
4, makeBinaryWrapper
5}:
6
7bundlerApp rec {
8 pname = "cddl";
9
10 gemfile = ./Gemfile;
11 lockfile = ./Gemfile.lock;
12
13 gemset = lib.recursiveUpdate (import ./gemset.nix) ({
14 "cddl" = {
15 dontBuild = false;
16 # setting env vars is not supported by patchShebangs
17 postPatch = ''
18 sed -i 's\#!/usr/bin/env RUBY_THREAD_VM_STACK_SIZE=5000000\#!/usr/bin/env\' bin/cddl
19 '';
20 };
21 });
22
23 exes = [ "cddl" ];
24
25 nativeBuildInputs = [ makeBinaryWrapper ];
26
27 postBuild = ''
28 wrapProgram $out/bin/cddl \
29 --set RUBY_THREAD_VM_STACK_SIZE 5000000
30 '';
31
32 passthru.updateScript = bundlerUpdateScript "cddl";
33
34 meta = with lib; {
35 description = "Parser, generator, and validator for CDDL";
36 homepage = "https://rubygems.org/gems/cddl";
37 license = with licenses; mit;
38 maintainers = with maintainers; [ fdns nicknovitski amesgen ];
39 platforms = platforms.unix;
40 };
41}