diff options
author | figsoda <figsoda@pm.me> | 2023-03-11 16:38:06 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-11 16:38:06 -0500 |
commit | d4f33014402bcf61c030070e8c59fc5d0a2c1a8f (patch) | |
tree | eb95a3dd626ab50ffaf2bcd8afc6782e4a0e9c04 | |
parent | 69326363f710ba45d722fa4e1e57d78b01a1513c (diff) | |
parent | 6acf10c7f351d3ac0471cffd0e21f7ee0298ab4a (diff) | |
download | nixpkgs-d4f33014402bcf61c030070e8c59fc5d0a2c1a8f.tar nixpkgs-d4f33014402bcf61c030070e8c59fc5d0a2c1a8f.tar.gz nixpkgs-d4f33014402bcf61c030070e8c59fc5d0a2c1a8f.tar.bz2 nixpkgs-d4f33014402bcf61c030070e8c59fc5d0a2c1a8f.tar.lz nixpkgs-d4f33014402bcf61c030070e8c59fc5d0a2c1a8f.tar.xz nixpkgs-d4f33014402bcf61c030070e8c59fc5d0a2c1a8f.tar.zst nixpkgs-d4f33014402bcf61c030070e8c59fc5d0a2c1a8f.zip |
Merge pull request #220514 from figsoda/csvquote
-rw-r--r-- | pkgs/tools/text/csvquote/csvquote-path.patch | 14 | ||||
-rw-r--r-- | pkgs/tools/text/csvquote/default.nix | 47 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/tools/text/csvquote/csvquote-path.patch b/pkgs/tools/text/csvquote/csvquote-path.patch new file mode 100644 index 00000000000..a3f87055f23 --- /dev/null +++ b/pkgs/tools/text/csvquote/csvquote-path.patch @@ -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" diff --git a/pkgs/tools/text/csvquote/default.nix b/pkgs/tools/text/csvquote/default.nix new file mode 100644 index 00000000000..2812de20841 --- /dev/null +++ b/pkgs/tools/text/csvquote/default.nix @@ -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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 12382fb2162..fe6f34f8119 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { }; |