Merge pull request #121937 from ShamrockLee/optparse-bash
optparse-bash: Init at 2021-06-13launchpad/nixpkgs/master
commit
6d96191fe5
@ -0,0 +1,63 @@ |
||||
{ stdenvNoCC |
||||
, lib |
||||
, fetchFromGitHub |
||||
, bash |
||||
, gnused |
||||
, gawk |
||||
, coreutils |
||||
}: |
||||
|
||||
stdenvNoCC.mkDerivation { |
||||
pname = "optparse-bash-unstable"; |
||||
version = "2021-06-13"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "nk412"; |
||||
repo = "optparse"; |
||||
rev = "d86ec17d15368e5b54eb2d47b001b0b61d68bbd0"; |
||||
sha256 = "sha256-vs7Jo1+sV0tPse4Wu2xtzSX1IkahwLgO3e4Riz3uMmI="; |
||||
}; |
||||
|
||||
postPatch = '' |
||||
substituteInPlace optparse.bash \ |
||||
--replace sed "${gnused}/bin/sed" \ |
||||
--replace awk "${gawk}/bin/awk" \ |
||||
--replace printf "${coreutils}/bin/printf" |
||||
''; |
||||
|
||||
dontBuild = true; |
||||
|
||||
doCheck = true; |
||||
|
||||
checkInputs = [ bash ]; |
||||
|
||||
# `#!/usr/bin/env` isn't okay for OfBorg |
||||
# Need external bash to run |
||||
checkPhase = '' |
||||
runHook preCheck |
||||
bash ./sample_head.sh -v --file README.md |
||||
runHook postCheck |
||||
''; |
||||
|
||||
installPhase = '' |
||||
runHook preInstall |
||||
mkdir -p $out/bin |
||||
mv optparse.bash $out/bin/ |
||||
mkdir -p $out/share/doc/optparse-bash |
||||
mv README.md sample_head.sh $out/share/doc/optparse-bash/ |
||||
runHook postInstall |
||||
''; |
||||
|
||||
# As example code, |
||||
# sample_head.sh shows how users can use opt-parse in their script, |
||||
# and its shebang (`/usr/bin/env bash`) should not be patched. |
||||
dontPatchShebangs = true; |
||||
|
||||
meta = with lib; { |
||||
description = "A BASH wrapper for getopts, for simple command-line argument parsing"; |
||||
homepage = "https://github.com/nk412/optparse"; |
||||
license = licenses.mit; |
||||
platforms = platforms.all; |
||||
maintainers = with maintainers; [ ShamrockLee ]; |
||||
}; |
||||
} |
Loading…
Reference in new issue