Unverified Commit e44e271e authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

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

parents 95074559 5c6903ea
Loading
Loading
Loading
Loading
+36 −1
Original line number Diff line number Diff line
@@ -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/";