Files
nixpkgs/pkgs/by-name/bl/bluemail/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

129 lines
2.7 KiB
Nix

{
stdenv,
lib,
fetchurl,
squashfsTools,
autoPatchelfHook,
copyDesktopItems,
pango,
gtk3,
alsa-lib,
nss,
libXdamage,
libdrm,
libgbm,
libxshmfence,
makeDesktopItem,
makeWrapper,
wrapGAppsHook3,
gcc-unwrapped,
udev,
}:
stdenv.mkDerivation rec {
pname = "bluemail";
version = "1.140.93";
# To update, check https://search.apps.ubuntu.com/api/v1/package/bluemail and copy the anon_download_url and version.
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/ZVlj0qw0GOFd5JgTfL8kk2Y5eIG1IpiH_178.snap";
hash = "sha512-xv7fn+VrtrxauejhgEMdTnmnDXb17TwanXZR6Lqfg5N40MbyDu76XQAWRB8xFU/+GdCTmjv47EaOC7SnnOw4EA==";
};
desktopItems = [
(makeDesktopItem {
name = "bluemail";
icon = "bluemail";
exec = "bluemail";
desktopName = "BlueMail";
comment = meta.description;
genericName = "Email Reader";
mimeTypes = [
"x-scheme-handler/me.blueone.linux"
"x-scheme-handler/mailto"
"x-scheme-handler/bluemail-notif"
];
categories = [ "Office" ];
})
];
nativeBuildInputs = [
autoPatchelfHook
copyDesktopItems
makeWrapper
squashfsTools
wrapGAppsHook3
];
unpackPhase = ''
runHook preUnpack
unsquashfs $src
runHook postUnpack
'';
sourceRoot = "squashfs-root";
postPatch = ''
rm -rf usr libEGL.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1
'';
buildInputs = [
pango
gtk3
alsa-lib
nss
libXdamage
libdrm
libgbm
libxshmfence
udev
];
dontBuild = true;
dontStrip = true;
dontWrapGApps = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,opt/bluemail}
mv * $out/opt/bluemail
ln -s $out/opt/bluemail/bluemail $out/bin/bluemail
mkdir -p $out/share/icons/hicolor/1024x1024/apps
ln -s $out/opt/bluemail/resources/assets/icons/bluemailx-icon.png $out/share/icons/hicolor/1024x1024/apps/bluemail.png
runHook postInstall
'';
makeWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
gcc-unwrapped.lib
gtk3
udev
]
}"
"--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}"
];
preFixup = ''
wrapProgram $out/opt/bluemail/bluemail \
''${makeWrapperArgs[@]} \
''${gappsWrapperArgs[@]}
'';
meta = with lib; {
description = "Cross platform email and calendar app, with AI features and a modern design";
homepage = "https://bluemail.me";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
# Vendored copy of Electron.
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = [ ];
mainProgram = "bluemail";
};
}