numworks-epsilon: add .desktop file (#382979)

This commit is contained in:
Sandro
2025-04-09 18:14:40 +02:00
committed by GitHub
+36 -1
View File
@@ -11,6 +11,8 @@
gcc-arm-embedded,
pkg-config,
python3Packages,
makeDesktopItem,
copyDesktopItems,
}:
stdenv.mkDerivation rec {
@@ -24,7 +26,11 @@ stdenv.mkDerivation rec {
hash = "sha256-w9ddcULE1MrGnYcXA0qOg1elQv/eBhcXqhMSjWT3Bkk=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [
pkg-config
copyDesktopItems
];
buildInputs = [
libpng
libjpeg
@@ -47,9 +53,38 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin
cp -r ./output/release/simulator/linux/* $out/bin/
# Build the logo
assets="$src/ion/src/simulator/assets"
logo_dir="$out/share/icons/hicolor/scalable/apps"
logo="$logo_dir/numworks.svg"
mkdir -p "$logo_dir"
# Take opening svg tag
grep '<svg' "$assets/logo.svg" > "$logo"
# Insert path from logo mask and change color
grep path "$assets/icon_mask.svg" | sed 's/fill="[^"]*"/fill="#edb14b"/' >> "$logo"
# Add remainder of logo
grep -v '<svg' "$assets/logo.svg" >> "$logo"
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "epsilon";
exec = "epsilon";
icon = "numworks";
desktopName = "NumWorks Epsilon Calculator";
categories = [
"Utility"
"Math"
];
type = "Application";
})
];
meta = with lib; {
description = "Simulator for Epsilon, a High-performance graphing calculator operating system";
homepage = "https://numworks.com/";