diff options
author | Emilio Ziniades <emilioziniades@protonmail.com> | 2024-01-13 01:06:17 +0200 |
---|---|---|
committer | Emilio Ziniades <emilioziniades@protonmail.com> | 2024-01-29 18:38:02 +0200 |
commit | c4ff7f4c1690a6bf2091a3d1aadda07592ffd59a (patch) | |
tree | b39790a9011af6b6716df503e796a1d123ec2dd4 /pkgs/by-name/co/cook-cli | |
parent | c75fa5168e662ef75cbf2302ce3ed61f3f39151d (diff) |
cook-cli: init at 0.7.1
Diffstat (limited to 'pkgs/by-name/co/cook-cli')
-rw-r--r-- | pkgs/by-name/co/cook-cli/package.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/by-name/co/cook-cli/package.nix b/pkgs/by-name/co/cook-cli/package.nix new file mode 100644 index 0000000000000..d78f23e15d530 --- /dev/null +++ b/pkgs/by-name/co/cook-cli/package.nix @@ -0,0 +1,58 @@ +{ lib +, stdenv +, fetchFromGitHub +, buildNpmPackage +, rustPlatform +, pkg-config +, openssl +, darwin +}: +rustPlatform.buildRustPackage rec { + pname = "cook-cli"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "cooklang"; + repo = "cookcli"; + rev = "v${version}"; + hash = "sha256-3gLVsk6GCxOG24Md7E9fk28Vnc4kVDdwyZUD/GtSwFE="; + }; + + cargoHash = "sha256-6lnURuE1cgNAniHl5ozXo1W3cLYYje7er+ZhvZDKdVg="; + + nativeBuildInputs = [ pkg-config openssl ]; + + buildInputs = [ + openssl + ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + + 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-uMyOAYLVHhY4ytvEFvVzdoQ7ExzQ4sH+ZtDrEacu5bk="; + makeCacheWritable = true; + npmFlags = [ "--legacy-peer-deps" ]; + installPhase = '' + runHook preInstall + mv public/ $out + runHook postInstall + ''; + }; + + meta = with lib; { + changelog = "https://github.com/cooklang/cookcli/releases/tag/v${version}"; + description = "A suite of tools to create shopping lists and maintain recipes"; + homepage = "https://cooklang.org/"; + license = [ licenses.mit ]; + mainProgram = "cook"; + maintainers = [ maintainers.emilioziniades ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} |