From 524d186748fa7bce49f258774f46610008bf320e Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Wed, 21 May 2025 21:05:37 +0200 Subject: [PATCH] couchdb-dump: init at 0-unstable-2021-07-24 --- pkgs/by-name/co/couchdb-dump/gsed.patch | 19 +++++++ pkgs/by-name/co/couchdb-dump/package.nix | 64 ++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 pkgs/by-name/co/couchdb-dump/gsed.patch create mode 100644 pkgs/by-name/co/couchdb-dump/package.nix diff --git a/pkgs/by-name/co/couchdb-dump/gsed.patch b/pkgs/by-name/co/couchdb-dump/gsed.patch new file mode 100644 index 000000000000..40c7d45cc41c --- /dev/null +++ b/pkgs/by-name/co/couchdb-dump/gsed.patch @@ -0,0 +1,19 @@ +--- a/couchdb-dump.sh 1970-01-01 01:00:01.000000000 +0100 ++++ b/couchdb-dump.sh 2025-05-21 10:08:22.092922719 +0200 +@@ -182,15 +182,8 @@ + fi + file_name_orig=$file_name + +-# Get OS TYPE (Linux for Linux, Darwin for MacOSX) +-os_type=`uname -s` ++sed_cmd="@sed_cmd@"; + +-# Pick sed or gsed +-if [ "$os_type" = "FreeBSD" ]||[ "$os_type" = "Darwin" ]; then +- sed_cmd="gsed"; +-else +- sed_cmd="sed"; +-fi + ## Make sure it's installed + echo | $sed_cmd 's/a//' >/dev/null 2>&1 + if [ ! $? = 0 ]; then diff --git a/pkgs/by-name/co/couchdb-dump/package.nix b/pkgs/by-name/co/couchdb-dump/package.nix new file mode 100644 index 000000000000..48bed57200b2 --- /dev/null +++ b/pkgs/by-name/co/couchdb-dump/package.nix @@ -0,0 +1,64 @@ +{ + stdenv, + lib, + fetchFromGitHub, + makeWrapper, + coreutils, + curl, + gawk, + gnugrep, + gnused, + gzip, + sysctl, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "couchdb-dump"; + version = "0-unstable-2021-07-24"; + + src = fetchFromGitHub { + owner = "danielebailo"; + repo = "couchdb-dump"; + rev = "f59fa242d34e505cb22ecb2ad1ffba0f6402978c"; + hash = "sha256-fBvbt/1ukpvcu8Aa/uAmVzw0ms8Sp35WLJPvHs9E9Bc="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + patches = [ ./gsed.patch ]; + + installPhase = '' + runHook preInstall + + install -D couchdb-dump.sh $out/bin/couchdb-dump + + substituteInPlace $out/bin/couchdb-dump \ + --subst-var-by sed_cmd ${lib.getExe gnused} + + wrapProgram $out/bin/couchdb-dump --prefix PATH : ${ + lib.makeBinPath ( + [ + coreutils + curl + gawk + gnugrep + gnused + gzip + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isFreeBSD) [ + sysctl + ] + ) + } + + runHook postInstall + ''; + + meta = { + inherit (finalAttrs.src.meta) homepage; + + description = "Bash command line scripts to dump & restore a couchdb database"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ DamienCassou ]; + mainProgram = "couchdb-dump"; + }; +})