Merge pull request #220514 from figsoda/csvquote

This commit is contained in:
figsoda 2023-03-11 16:38:06 -05:00 committed by GitHub
commit d4f3301440
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,14 @@
--- a/csvheader
+++ b/csvheader
@@ -29,10 +29,6 @@ while getopts "d:tq:r:" arg; do
esac
done
-CSVQUOTE=`which csvquote` || CSVQUOTE="./csvquote"
-if [ ! -f $CSVQUOTE ]; then
- echo "csvquote program not found. exiting"
- exit 1
-fi
+CSVQUOTE=@out@/bin/csvquote
$CSVQUOTE $@ | head -n 1 | tr "$DEL" '\n' | nl -ba | $CSVQUOTE -u -d "$DEL" -q "$QUO" -r "$REC"

View File

@ -0,0 +1,47 @@
{ lib
, stdenv
, fetchFromGitHub
, patsh
}:
stdenv.mkDerivation rec {
pname = "csvquote";
version = "0.1.5";
src = fetchFromGitHub {
owner = "dbro";
repo = "csvquote";
rev = "v${version}";
hash = "sha256-847JAoDEfA9K4LB8z9cqSw+GTImqmITBylB/4odLDb0=";
};
patches = [
# patch csvheader to use csvquote from the derivation
./csvquote-path.patch
];
nativeBuildInputs = [
patsh
];
makeFlags = [
"BINDIR=$(out)/bin"
];
preInstall = ''
mkdir -p "$out/bin"
'';
postInstall = ''
substituteAllInPlace $out/bin/csvheader
patsh $out/bin/csvheader -fs ${builtins.storeDir}
'';
meta = with lib; {
description = "Enables common unix utlities like cut, awk, wc, head to work correctly with csv data containing delimiters and newlines";
homepage = "https://github.com/dbro/csvquote";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
platforms = platforms.all;
};
}

View File

@ -4317,6 +4317,8 @@ with pkgs;
csvkit = callPackage ../tools/text/csvkit { };
csvquote = callPackage ../tools/text/csvquote { };
csvtool = callPackage ../development/ocaml-modules/csv/csvtool.nix { };
csv2latex = callPackage ../tools/misc/csv2latex { };