From 1df2e254998a873dd6bf862e2c5a0aab908a8496 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sat, 14 Jun 2025 21:14:47 +0200 Subject: [PATCH] cambia: init at 0-unstable-2025-03-07 --- pkgs/by-name/ca/cambia/package.nix | 89 ++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 pkgs/by-name/ca/cambia/package.nix diff --git a/pkgs/by-name/ca/cambia/package.nix b/pkgs/by-name/ca/cambia/package.nix new file mode 100644 index 000000000000..6134050d9e90 --- /dev/null +++ b/pkgs/by-name/ca/cambia/package.nix @@ -0,0 +1,89 @@ +{ + lib, + stdenv, + fetchFromGitHub, + buildNpmPackage, + cargo-tauri, + fetchpatch, + nix-update-script, + openssl, + pkg-config, + rustPlatform, +}: +let + version = "0-unstable-2025-03-07"; + + src = fetchFromGitHub { + owner = "arg274"; + repo = "cambia"; + rev = "bef0975f72e15b925d881ab70d3bc556ecf4ff7f"; + hash = "sha256-4/GKvU3r4JpOKgkLgSOKEHnSoIsjgjQU6pay2deiIng="; + }; + + meta = { + description = "Compact disc ripper log checking utility"; + homepage = "https://github.com/arg274/cambia"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ambroisie ]; + }; + + frontend = buildNpmPackage (finalAttrs: { + pname = "cambia-frontend"; + inherit version; + + src = "${src}/web"; + npmDepsHash = "sha256-U+2YfsC4u6rJdeMo2zxWiXGM3061MKCcFl0oZt0ug6o="; + + installPhase = '' + runHook preInstall + cp -r build/ $out + runHook postInstall + ''; + + meta = meta // { + description = "Web UI for Cambia"; + }; + }); +in + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "cambia"; + inherit version src; + + cargoHash = "sha256-dNgFQiJrakdP0ynyVcak6cKU02Z5dcw2nhh9XhlWsOg="; + + cargoPatches = [ + # https://github.com/arg274/cambia/pull/5 + (fetchpatch { + name = "cargo.lock.patch"; + url = "https://github.com/arg274/cambia/commit/b47944fbaf4e631ede25c560a4d7e684a2ad5014.patch"; + hash = "sha256-y9WkEmzBaFJ0eHWK0hVmB6+IdWespp79N9lSuteZZAI="; + }) + ]; + + postPatch = '' + cp -r ${finalAttrs.passthru.frontend} web/build/ + ''; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ]; + + passthru = { + updateScript = nix-update-script { + extraArgs = [ + "-s" + "frontend" + ]; + }; + inherit frontend; + }; + + meta = meta // { + mainProgram = "cambia"; + }; +})