Loading pkgs/by-name/gi/gitbutler/package.nix +17 −32 Original line number Diff line number Diff line Loading @@ -18,10 +18,12 @@ libsoup, moreutils, openssl, rust, webkitgtk, nix-update-script, cacert, }: rustPlatform.buildRustPackage rec { pname = "gitbutler"; version = "0.12.16"; Loading @@ -33,11 +35,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-L4PVaNb3blpLIcyA7XLc71qwUPUADclxvbOkq1Jc1no="; }; # deactivate the upstream updater in tauri configuration # TODO: use `tauri build`'s `--config` flag with the release configuration instead of manually merging # them. it doesn't seem to like using paths currently, even though it should. # deactivate the upstream updater in tauri configuration & set the version postPatch = '' jq --slurp ".[0] * .[1] | .tauri.updater.active = false" crates/gitbutler-tauri/tauri.conf{,.release}.json | sponge crates/gitbutler-tauri/tauri.conf.json tauri_conf="crates/gitbutler-tauri/tauri.conf.release.json" jq '.package.version = "${version}" | .tauri.updater.active = false' "$tauri_conf" | sponge "$tauri_conf" ''; cargoLock = { Loading @@ -54,7 +55,7 @@ rustPlatform.buildRustPackage rec { }; nativeBuildInputs = [ cargo-tauri cargo-tauri.hook desktop-file-utils jq moreutils Loading Loading @@ -82,7 +83,15 @@ rustPlatform.buildRustPackage rec { ] ); # extended release configuration tauriBuildFlags = [ "--config crates/gitbutler-tauri/tauri.conf.release.json" ]; env = { # make sure `crates/gitbutler-tauri/inject-git-binaries.sh` can find our # target dir # https://github.com/gitbutlerapp/gitbutler/blob/56b64d778042d0e93fa362f808c35a7f095ab1d1/crates/gitbutler-tauri/inject-git-binaries.sh#L10C10-L10C26 TRIPLE_OVERRIDE = rust.envVars.rustHostPlatformSpec; # `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's COREPACK_ENABLE_STRICT = 0; Loading @@ -95,14 +104,6 @@ rustPlatform.buildRustPackage rec { # we also need to have `tracing` support in `tokio` for `console-subscriber` RUSTFLAGS = "--cfg tokio_unstable"; tauriBundle = { Linux = "deb"; Darwin = "app"; } .${stdenv.hostPlatform.uname.system} or (throw "No tauri bundle available for ${stdenv.hostPlatform.uname.system}"); ESBUILD_BINARY_PATH = lib.getExe ( esbuild.override { buildGoModule = Loading @@ -128,39 +129,23 @@ rustPlatform.buildRustPackage rec { OPENSSL_NO_VENDOR = true; }; buildPhase = '' runHook preBuild preBuild = '' pushd packages/ui pnpm package popd cargo tauri build --bundles "$tauriBundle" runHook postBuild ''; installPhase = '' runHook preInstall '' + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/bin cp -r target/release/bundle/macos $out/Applications postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mv $out/Applications/GitButler.app/Contents/MacOS/GitButler $out/bin/git-butler ln -s $out/bin/git-butler $out/Applications/GitButler.app/Contents/MacOS/GitButler '' + lib.optionalString stdenv.hostPlatform.isLinux '' cp -r target/release/bundle/"$tauriBundle"/*/data/usr $out desktop-file-edit \ --set-comment "A Git client for simultaneous branches on top of your existing workflow." \ --set-key="Keywords" --set-value="git;" \ --set-key="StartupWMClass" --set-value="GitButler" \ $out/share/applications/git-butler.desktop '' + '' runHook postInstall ''; # the `gitbutler-git` crate's checks do not support release mode Loading Loading
pkgs/by-name/gi/gitbutler/package.nix +17 −32 Original line number Diff line number Diff line Loading @@ -18,10 +18,12 @@ libsoup, moreutils, openssl, rust, webkitgtk, nix-update-script, cacert, }: rustPlatform.buildRustPackage rec { pname = "gitbutler"; version = "0.12.16"; Loading @@ -33,11 +35,10 @@ rustPlatform.buildRustPackage rec { hash = "sha256-L4PVaNb3blpLIcyA7XLc71qwUPUADclxvbOkq1Jc1no="; }; # deactivate the upstream updater in tauri configuration # TODO: use `tauri build`'s `--config` flag with the release configuration instead of manually merging # them. it doesn't seem to like using paths currently, even though it should. # deactivate the upstream updater in tauri configuration & set the version postPatch = '' jq --slurp ".[0] * .[1] | .tauri.updater.active = false" crates/gitbutler-tauri/tauri.conf{,.release}.json | sponge crates/gitbutler-tauri/tauri.conf.json tauri_conf="crates/gitbutler-tauri/tauri.conf.release.json" jq '.package.version = "${version}" | .tauri.updater.active = false' "$tauri_conf" | sponge "$tauri_conf" ''; cargoLock = { Loading @@ -54,7 +55,7 @@ rustPlatform.buildRustPackage rec { }; nativeBuildInputs = [ cargo-tauri cargo-tauri.hook desktop-file-utils jq moreutils Loading Loading @@ -82,7 +83,15 @@ rustPlatform.buildRustPackage rec { ] ); # extended release configuration tauriBuildFlags = [ "--config crates/gitbutler-tauri/tauri.conf.release.json" ]; env = { # make sure `crates/gitbutler-tauri/inject-git-binaries.sh` can find our # target dir # https://github.com/gitbutlerapp/gitbutler/blob/56b64d778042d0e93fa362f808c35a7f095ab1d1/crates/gitbutler-tauri/inject-git-binaries.sh#L10C10-L10C26 TRIPLE_OVERRIDE = rust.envVars.rustHostPlatformSpec; # `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's COREPACK_ENABLE_STRICT = 0; Loading @@ -95,14 +104,6 @@ rustPlatform.buildRustPackage rec { # we also need to have `tracing` support in `tokio` for `console-subscriber` RUSTFLAGS = "--cfg tokio_unstable"; tauriBundle = { Linux = "deb"; Darwin = "app"; } .${stdenv.hostPlatform.uname.system} or (throw "No tauri bundle available for ${stdenv.hostPlatform.uname.system}"); ESBUILD_BINARY_PATH = lib.getExe ( esbuild.override { buildGoModule = Loading @@ -128,39 +129,23 @@ rustPlatform.buildRustPackage rec { OPENSSL_NO_VENDOR = true; }; buildPhase = '' runHook preBuild preBuild = '' pushd packages/ui pnpm package popd cargo tauri build --bundles "$tauriBundle" runHook postBuild ''; installPhase = '' runHook preInstall '' + lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/bin cp -r target/release/bundle/macos $out/Applications postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mv $out/Applications/GitButler.app/Contents/MacOS/GitButler $out/bin/git-butler ln -s $out/bin/git-butler $out/Applications/GitButler.app/Contents/MacOS/GitButler '' + lib.optionalString stdenv.hostPlatform.isLinux '' cp -r target/release/bundle/"$tauriBundle"/*/data/usr $out desktop-file-edit \ --set-comment "A Git client for simultaneous branches on top of your existing workflow." \ --set-key="Keywords" --set-value="git;" \ --set-key="StartupWMClass" --set-value="GitButler" \ $out/share/applications/git-butler.desktop '' + '' runHook postInstall ''; # the `gitbutler-git` crate's checks do not support release mode Loading