| 18 Feb 2026 |
flx | Ich möchte QBZ paketieren, ein open source Client für Qobuz, aber mir ist die Vorgehensweise nicht klar. Das besteht aus javascript und Rust.
Würde ich zwei seperate Pakete machen und das eine bei dem Anderen als build input hinzufügen? Hat jemand vll. ein ähnliches Beispiel?
https://github.com/vicrodh/qbz?tab=readme-ov-file#setup | 18:48:47 |
flx | * Ich möchte QBZ paketieren, ein open source Client für Qobuz, aber mir ist die Vorgehensweise nicht klar. Das besteht aus javascript und Rust.
Würde ich zwei separate Pakete machen und das eine bei dem Anderen als build input hinzufügen? Hat jemand vll. ein ähnliches Beispiel?
https://github.com/vicrodh/qbz?tab=readme-ov-file#setup | 18:56:29 |
hexa | buildRustPackage mit npmConfigHook, npmBuildHook, npmDeps | 18:57:26 |
Grimmauld (any/all) | Also wenn das tauri o.Ä. ist, dann kannst du ggf. auch gui einzeln bauen und einbinden. Aber jetzt da wir bessere hooks (statt dedicated builder) haben, ist das vermutlich nicht mehr nötig | 19:16:17 |
flx | Ich versuche mal das mit den Hooks. | 19:17:41 |
Grimmauld (any/all) | Grep einfach nach cargo-tauri.hook, das sollte dir genug ähnliche beispiele geben | 19:18:40 |
flx | okay :) | 19:18:50 |
Grimmauld (any/all) | (nicht alle tauri apps machen npm-dinge, und manche sind dann pnpm oder so, aber da wird was dabei sein) | 19:19:46 |
flx | Könnte hier mal jemand drüberschauen? Es kann keine Cargo.lock file gefunden werden. https://github.com/felixsinger/nixpkgs/commit/0888aa6156ba3f098f346537c7cb70811783d507 | 22:19:42 |
Ben Sparks | also in dem Repo ist ja auch keine Cargo.lock 😄 fragst du wie du damit umgehen sollst? | 22:23:20 |
flx | Ja. Ich würde erwarten, dass eine generiert wird. | 22:25:48 |
Ben Sparks | naja, Cargo.lock ist ja der Pinning Mechanismus; der muss bereits vorliegen s.d. immer dieselben Crates runtergeladen | 22:26:30 |
Ben Sparks | * naja, Cargo.lock ist ja der Pinning Mechanismus; der muss bereits vorliegen s.d. immer dieselben Crates runtergeladen werden können | 22:26:33 |
Ben Sparks | Ich glaube du suchst nach https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/rust.section.md#importing-a-cargolock-file-importing-a-cargolock-file | 22:27:33 |
flx | Klar | 22:27:33 |
Ben Sparks |
Per the instructions in the Cargo Book best practices guide, Rust applications should always commit the Cargo.lock file in git to ensure a reproducible build. However, a few packages do not, and Nix depends on this file, so if it is missing you can use cargoPatches to apply it in the patchPhase. Consider sending a PR upstream with a note to the maintainer describing why it's important to include in the application.
| 22:30:13 |
hexa | cp ${./Cargo.lock} ./Cargo.lock | 22:30:38 |
hexa | musst halt selbst locken und idealerweise ist das lock nicht fucking huge | 22:30:50 |
Ben Sparks | (it will likely be fucking huge https://github.com/vicrodh/qbz/blob/main/src-tauri/Cargo.toml) | 22:31:21 |
hexa | lolsob. | 22:31:27 |
hexa | upstream issue aufmachen | 22:31:32 |
hexa | wir wollen das lock in der fod, nicht in-tree | 22:31:46 |
flx | Danke euch. Das hat erstmal weitergeholfen. | 23:23:54 |
flx | Ich hänge jetzt woanders fest, aber da muss ich mal ein Issue dort aufmachen | 23:25:43 |