Unverified Commit f5abda68 authored by dish's avatar dish Committed by GitHub
Browse files

cook-cli: 0.14.0 -> 0.18.1 (#446071)

parents 6cfc06fa b1b14858
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -9392,6 +9392,11 @@
    githubId = 5549373;
    name = "Jochen Kiemes";
  };
  ginkogruen = {
    name = "Jasper Wolter";
    github = "ginkogruen";
    githubId = 93037574;
  };
  giodamelio = {
    name = "Giovanni d'Amelio";
    email = "gio@damelio.net";
+22 −21
Original line number Diff line number Diff line
{
  lib,
  fetchFromGitHub,
  buildNpmPackage,
  fetchNpmDeps,
  npmHooks,
  rustPlatform,
  pkg-config,
  openssl,
  nodejs,
}:
rustPlatform.buildRustPackage rec {
  pname = "cook-cli";
  version = "0.14.0";
  version = "0.18.1";

  src = fetchFromGitHub {
    owner = "cooklang";
    repo = "cookcli";
    rev = "v${version}";
    hash = "sha256-jaAgmqUuqldcBlrwqXsausXPP35RZqM1VasYyA0pPO8=";
    hash = "sha256-alrmQOt9PY155fIWXmp1m2dfhhkMOd4PkfkBWS2XXRg=";
  };

  cargoHash = "sha256-JVWa5vQcskXEgOqAxr2CKQDMjYakA1HqinDbKfRp/Wo=";
  cargoHash = "sha256-tYD49UrLzPPS8G2zy2GKFBK4SGYXQ7UEjFWKcHvUTSY=";

  # Build without the self-updating feature
  buildNoDefaultFeatures = true;

  nativeBuildInputs = [
    pkg-config
    openssl
    nodejs
    npmHooks.npmConfigHook
  ];

  buildInputs = [
    openssl
  ];

  postPatch = ''
    rm -rf "ui/public"
    ln -s ${passthru.ui} "ui/public"
  '';

  OPENSSL_NO_VENDOR = 1;

  passthru.ui = buildNpmPackage {
    name = "ui";
    src = "${src}/ui";
    npmDepsHash = "sha256-zx8G6Raop1EZAVy1YCF5ag5aL9NutRxbPfTARmjP2SY=";
    makeCacheWritable = true;
    npmFlags = [ "--legacy-peer-deps" ];
    installPhase = ''
      runHook preInstall
      mv public/ $out
      runHook postInstall
    '';
  npmDeps = fetchNpmDeps {
    inherit src;
    hash = "sha256-HxC9Tf+PZvvETuNqm1W3jaZx7SpYXlxZlI8FwGouK+s=";
  };

  preBuild = ''
    npm run build-css
  '';

  meta = {
    changelog = "https://github.com/cooklang/cookcli/releases/tag/v${version}";
    description = "Suite of tools to create shopping lists and maintain recipes";
    homepage = "https://cooklang.org/";
    license = lib.licenses.mit;
    mainProgram = "cook";
    maintainers = [ lib.maintainers.emilioziniades ];
    maintainers = [
      lib.maintainers.emilioziniades
      lib.maintainers.ginkogruen
    ];
    platforms = lib.platforms.linux ++ lib.platforms.darwin;
  };
}