diff options
author | Aleksana <me@aleksana.moe> | 2024-04-02 19:27:52 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-02 19:27:52 +0800 |
commit | 3c2fdd0a4e6396fc310a6e86faa24d1043a8486a (patch) | |
tree | 568f78aa16c288459dd7a75771539edaeff00e7b /pkgs/by-name/in | |
parent | 4ae5f28f7604d05c35532ef07a947d83a31e03c7 (diff) | |
parent | 124fbc2aec3cab29b9cadef931610a200357580f (diff) |
Merge pull request #283958 from cideM/init-inflow
inflow: init at 1.0.1
Diffstat (limited to 'pkgs/by-name/in')
-rw-r--r-- | pkgs/by-name/in/inflow/package.nix | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/pkgs/by-name/in/inflow/package.nix b/pkgs/by-name/in/inflow/package.nix new file mode 100644 index 0000000000000..79f3acb58237a --- /dev/null +++ b/pkgs/by-name/in/inflow/package.nix @@ -0,0 +1,76 @@ +{ lib, stdenv, fetchFromGitHub, runCommand, inflow, diffutils }: + +stdenv.mkDerivation rec { + pname = "inflow"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "stephen-huan"; + repo = "inflow"; + rev = "v${version}"; + sha256 = "sha256-xKUqkrPwITai8g6U1NiNieAip/AzISgFfFtvR30hLNk="; + }; + + buildPhase = '' + runHook preBuild + + $CXX -Wall -Wpedantic -Wextra -O3 -o inflow inflow.cpp + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 inflow -t $out/bin + + runHook postInstall + ''; + + passthru.tests = { + reflowWithLineLength = runCommand "${pname}-test" + { + nativeBuildInputs = [ inflow ]; + buildInputs = [ diffutils ]; + } '' + cat <<EOF > input.txt + xxxxx xxx xxx xxxx xxxxxxxxx xx x xxxxxxxxx x xxxx xxxx xxxxxxx xxxxxxxx xxx + xxxxxxxxx xxxxxxxx xx xx xxxxx xxxxx xxxx xx x xxxx xx xxxxxxxx xxxxxxxx xxxx + xxx xxxx xxxx xxx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx xxx xxxxx xx xxxx x xxxx + xxxxxxxx xxxx xxxx xx xxxxx xxxx xxxxx xxxx xxxxxxxxx xxx xxxxxxxxxxx xxxxxx + xxx xxxxxxxxx xxxx xxxx xx x xx xxxx xxx xxxx xx xxx xxx xxxxxxxxxxx xxxx xxxxx + x xxxxx xxxxxxx xxxxxxx xx xx xxxxxx xx xxxxx + EOF + + inflow 72 < input.txt > actual.txt + + cat <<EOF > expected.txt + xxxxx xxx xxx xxxx xxxxxxxxx xx x xxxxxxxxx x xxxx xxxx xxxxxxx + xxxxxxxx xxx xxxxxxxxx xxxxxxxx xx xx xxxxx xxxxx xxxx xx x xxxx + xx xxxxxxxx xxxxxxxx xxxx xxx xxxx xxxx xxx xxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxx xxx xxxxx xx xxxx x xxxx xxxxxxxx xxxx xxxx xx xxxxx + xxxx xxxxx xxxx xxxxxxxxx xxx xxxxxxxxxxx xxxxxx xxx xxxxxxxxx + xxxx xxxx xx x xx xxxx xxx xxxx xx xxx xxx xxxxxxxxxxx xxxx xxxxx + x xxxxx xxxxxxx xxxxxxx xx xx xxxxxx xx xxxxx + EOF + + if ! cmp --silent expected.txt actual.txt + then + echo "Error: actual.txt and expected.txt are different" + diff actual.txt expected.txt + exit 1 + fi + + touch $out + ''; + }; + + meta = with lib; { + description = "Variance-optimal paragraph formatter"; + homepage = "https://github.com/stephen-huan/inflow"; + license = licenses.unlicense; + mainProgram = "inflow"; + maintainers = with maintainers; [ fbrs ]; + platforms = platforms.all; + }; +} |