Files
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

95 lines
1.9 KiB
Nix

{
stdenv,
lib,
fetchFromGitHub,
libpng,
libjpeg,
freetype,
xorg,
python3,
imagemagick,
gcc-arm-embedded,
pkg-config,
python3Packages,
makeDesktopItem,
copyDesktopItems,
}:
stdenv.mkDerivation rec {
pname = "numworks-epsilon";
version = "23.2.3";
src = fetchFromGitHub {
owner = "numworks";
repo = "epsilon";
rev = version;
hash = "sha256-w9ddcULE1MrGnYcXA0qOg1elQv/eBhcXqhMSjWT3Bkk=";
};
nativeBuildInputs = [
pkg-config
copyDesktopItems
];
buildInputs = [
libpng
libjpeg
freetype
xorg.libXext
python3
imagemagick
gcc-arm-embedded
python3Packages.lz4
];
makeFlags = [
"PLATFORM=simulator"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ./output/release/simulator/linux/epsilon.bin $out/bin/epsilon
# 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/";
license = licenses.cc-by-nc-sa-40;
maintainers = with maintainers; [ erikbackman ];
platforms = [ "x86_64-linux" ];
};
}