%global pkg_name Podman-Desktop %global _optpkgdir /opt/%{pkg_name} %global _icondir %{_datadir}/icons/hicolor/512x512/apps Name: podman-desktop Version: 1.16.0 Release: 1%{?dist} Summary: Manage Podman and other container engines from a single UI and tray License: Apache-2.0 URL: https://github.com/containers/%{name} Source0: %{url}/archive/v%{version}.tar.gz Source1: %{name}.desktop Patch0: 0001-remove-post-install-browser-download.patch BuildRequires: python3-devel BuildRequires: gcc-c++ BuildRequires: git-core BuildRequires: make BuildRequires: nodejs BuildRequires: nodejs-electron-devel BuildRequires: npm BuildRequires: pnpm BuildRequires: libglvnd-devel BuildRequires: python3 BuildRequires: pkgconfig(openssl) BuildRequires: python3-setuptools BuildRequires: sqlcipher-devel BuildRequires: libsecret-devel BuildRequires: nodejs-devel Requires: nodejs-electron%{?_isa} Suggests: libappindicator3-1 ExclusiveArch: x86_64 aarch64 %description %{summary} %prep %autosetup -Sgit -n %{name}-%{version} %build # define exports for local source build export ELECTRON_SKIP_BINARY_DOWNLOAD=1 export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 export MODE=production export USE_SYSTEM_FPM="true" export COREPACK_ENABLE_STRICT=0 # remove flatpak target sed -i "/target: \['flatpak'/d" .electron-builder.config.cjs # TODO: We need prod here to avoid biome and sharp pre-built deps pnpm install --frozen-lockfile # TODO: replace with local builder pnpm compile:current #pnpm run build #npx --no-install electron-builder --linux dir --universal -c.electronDist=%{_libdir}/electron rm -f dist/linux-unpacked/resources/app.asar.unpacked/node_modules/ssh2/lib/protocol/crypto/build/node_gyp_bins/python3 rm -f dist/linux-unpacked/resources/app.asar.unpacked/node_modules/cpu-features/build/node_gyp_bins/python3 %install # install everything to /opt/%%{pkg_name} install -dp %{buildroot}%{_optpkgdir} cp -Rp dist/linux-unpacked/* %{buildroot}%{_optpkgdir} # install icon install -dp %{buildroot}%{_icondir} install -Dp -m0755 buildResources/icon-512x512.png %{buildroot}%{_icondir}/%{name}.png # install desktop file install -dp %{buildroot}%{_datadir}/applications install -Dp -m0755 %{SOURCE1} %{buildroot}%{_datadir}/applications # symlink main binary to /usr/bin install -dp %{buildroot}%{_bindir} ln -s %{_optpkgdir}/%{name} %{buildroot}%{_bindir}/%{name} %files %license LICENSE %doc CODE-OF-CONDUCT.md CONTRIBUTING.md README.md SECURITY.md %{_bindir}/%{name} %dir %{_optpkgdir} %{_optpkgdir}/* %dir %{_icondir} %{_icondir}/%{name}.png %dir %{_datadir}/applications %{_datadir}/applications/%{name}.desktop %changelog * Sun Feb 02 2025 curtisy - 1.16.0-1 - Initial version of the package