podman-desktop: add podman to PATH (#388478)
This commit is contained in:
@@ -15,10 +15,12 @@
|
||||
nix,
|
||||
jq,
|
||||
gnugrep,
|
||||
podman,
|
||||
}:
|
||||
|
||||
let
|
||||
electron = electron_37;
|
||||
appName = "Podman Desktop";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "podman-desktop";
|
||||
@@ -72,6 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
nodejs
|
||||
pnpm_10.configHook
|
||||
]
|
||||
@@ -103,29 +106,39 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
installPhase =
|
||||
let
|
||||
commonWrapperArgs = "--prefix PATH : ${lib.makeBinPath [ podman ]}";
|
||||
in
|
||||
(
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
mv dist/mac*/Podman\ Desktop.app $out/Applications
|
||||
''
|
||||
+ lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
mkdir -p "$out/share/lib/podman-desktop"
|
||||
cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/podman-desktop"
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir -p "$out/Applications"
|
||||
mv dist/mac*/"${appName}.app" "$out/Applications"
|
||||
|
||||
install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg"
|
||||
wrapProgram "$out/Applications/${appName}.app/Contents/MacOS/${appName}" \
|
||||
${commonWrapperArgs}
|
||||
''
|
||||
+ lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
mkdir -p "$out/share/lib/podman-desktop"
|
||||
cp -r dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/podman-desktop"
|
||||
|
||||
makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \
|
||||
--add-flags "$out/share/lib/podman-desktop/resources/app.asar" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--inherit-argv0
|
||||
''
|
||||
+ ''
|
||||
install -Dm644 buildResources/icon.svg "$out/share/icons/hicolor/scalable/apps/podman-desktop.svg"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
makeWrapper '${electron}/bin/electron' "$out/bin/podman-desktop" \
|
||||
--add-flags "$out/share/lib/podman-desktop/resources/app.asar" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
${commonWrapperArgs} \
|
||||
--inherit-argv0
|
||||
''
|
||||
+ ''
|
||||
|
||||
runHook postInstall
|
||||
''
|
||||
);
|
||||
|
||||
# see: https://github.com/containers/podman-desktop/blob/main/.flatpak.desktop
|
||||
desktopItems = [
|
||||
@@ -133,11 +146,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
name = "podman-desktop";
|
||||
exec = "podman-desktop %U";
|
||||
icon = "podman-desktop";
|
||||
desktopName = "Podman Desktop";
|
||||
desktopName = appName;
|
||||
genericName = "Desktop client for podman";
|
||||
comment = finalAttrs.meta.description;
|
||||
categories = [ "Utility" ];
|
||||
startupWMClass = "Podman Desktop";
|
||||
startupWMClass = appName;
|
||||
})
|
||||
];
|
||||
|
||||
@@ -148,7 +161,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
booxter
|
||||
panda2134
|
||||
];
|
||||
inherit (electron.meta) platforms;
|
||||
mainProgram = "podman-desktop";
|
||||
|
||||
Reference in New Issue
Block a user