Unverified Commit 9b00558e authored by Paul Haerle's avatar Paul Haerle Committed by GitHub
Browse files

gibo: 1.0.6 -> 3.0.14 (#422670)

parents 998f38e9 020ec9e4
Loading
Loading
Loading
Loading
+44 −20
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  buildPackages,
  buildGoModule,
  fetchFromGitHub,
  coreutils,
  findutils,
  git,
  nix-update-script,
  versionCheckHook,
  installShellFiles,
  writableTmpDirAsHomeHook,
}:

stdenv.mkDerivation rec {
buildGoModule (finalAttrs: {
  pname = "gibo";
  version = "1.0.6";
  version = "3.0.14";

  src = fetchFromGitHub {
    owner = "simonwhitaker";
    repo = "gibo";
    rev = version;
    sha256 = "07j3sv9ar9l074krajw8nfmsfmdp836irsbd053dbqk2v880gfm6";
    tag = "v${finalAttrs.version}";
    sha256 = "sha256-6w+qhwOHkfKt0hgKO98L6Si0RNJN+CXOOFzGlvxFjcA=";
  };

  installPhase = ''
    mkdir -p $out/bin $out/share/bash-completion/completions
    cp gibo $out/bin
    cp gibo-completion.bash $out/share/bash-completion/completions
  vendorHash = "sha256-pD+7yvBydg1+BQFP0G8rRYTCO//Wg/6pzY19DLs42Gk=";

  ldflags = [
    "-s"
    "-w"
    "-X github.com/simonwhitaker/gibo/cmd.version=${finalAttrs.version}"
  ];

  nativeBuildInputs = [
    installShellFiles
  ];

  postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) (
    let
      emulator = stdenv.hostPlatform.emulator buildPackages;
    in
    ''
      installShellCompletion --cmd gibo \
        --bash <(${emulator} $out/bin/gibo completion bash) \
        --fish <(${emulator} $out/bin/gibo completion fish) \
        --zsh <(${emulator} $out/bin/gibo completion zsh)
    ''
  );

  doInstallCheck = true;
  nativeInstallCheckInputs = [
    versionCheckHook
    writableTmpDirAsHomeHook
  ];
  versionCheckProgramArg = "version";
  versionCheckKeepEnvironment = [ "HOME" ];

    sed -e 's|\<git |${git}/bin/git |g' \
        -e 's|\<basename |${coreutils}/bin/basename |g' \
        -i "$out/bin/gibo"
    sed -e 's|\<find |${findutils}/bin/find |g' \
        -i "$out/share/bash-completion/completions/gibo-completion.bash"
  '';
  passthru.updateScript = nix-update-script { };

  meta = {
    homepage = "https://github.com/simonwhitaker/gibo";
    license = lib.licenses.publicDomain;
    license = lib.licenses.unlicense;
    description = "Shell script for easily accessing gitignore boilerplates";
    platforms = lib.platforms.unix;
    mainProgram = "gibo";
  };
}
})