buildRubyGem: Provide manpages for Ruby gems (#49334)
This commit is contained in:
committed by
zimbatm
parent
56d2af6e98
commit
34e1fa4a50
@@ -24,6 +24,7 @@
|
||||
, gemset ? null
|
||||
, preferLocalBuild ? false
|
||||
, allowSubstitutes ? false
|
||||
, installManpages ? true
|
||||
, meta ? {}
|
||||
, postBuild ? ""
|
||||
, gemConfig ? null
|
||||
@@ -36,14 +37,22 @@ let
|
||||
// { inherit preferLocalBuild allowSubstitutes; }; # pass the defaults
|
||||
in
|
||||
runCommand basicEnv.name cmdArgs ''
|
||||
mkdir -p $out/bin;
|
||||
${(lib.concatMapStrings (x: "ln -s '${basicEnv}/bin/${x}' $out/bin/${x};\n") exes)}
|
||||
${(lib.concatMapStrings (s: "makeWrapper $out/bin/$(basename ${s}) $srcdir/${s} " +
|
||||
"--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile "+
|
||||
"--set BUNDLE_PATH ${basicEnv}/${ruby.gemPath} "+
|
||||
"--set BUNDLE_FROZEN 1 "+
|
||||
"--set GEM_HOME ${basicEnv}/${ruby.gemPath} "+
|
||||
"--set GEM_PATH ${basicEnv}/${ruby.gemPath} "+
|
||||
"--run \"cd $srcdir\";\n") scripts)}
|
||||
mkdir -p $out/bin
|
||||
${(lib.concatMapStrings (x: "ln -s '${basicEnv}/bin/${x}' $out/bin/${x};\n") exes)}
|
||||
${(lib.concatMapStrings (s: "makeWrapper $out/bin/$(basename ${s}) $srcdir/${s} " +
|
||||
"--set BUNDLE_GEMFILE ${basicEnv.confFiles}/Gemfile "+
|
||||
"--set BUNDLE_PATH ${basicEnv}/${ruby.gemPath} "+
|
||||
"--set BUNDLE_FROZEN 1 "+
|
||||
"--set GEM_HOME ${basicEnv}/${ruby.gemPath} "+
|
||||
"--set GEM_PATH ${basicEnv}/${ruby.gemPath} "+
|
||||
"--run \"cd $srcdir\";\n") scripts)}
|
||||
|
||||
${lib.optionalString installManpages ''
|
||||
for section in {1..9}; do
|
||||
mandir="$out/share/man/man$section"
|
||||
find -L ${basicEnv}/${ruby.gemPath}/gems/${basicEnv.name} \( -wholename "*/man/*.$section" -o -wholename "*/man/man$section/*.$section" \) -print -execdir mkdir -p $mandir \; -execdir cp '{}' $mandir \;
|
||||
done
|
||||
''}
|
||||
|
||||
${postBuild}
|
||||
''
|
||||
|
||||
Reference in New Issue
Block a user