Commit 15a34a2f authored by alper-han's avatar alper-han
Browse files

crossmacro: init at 0.9.6

parent 05982e65
Loading
Loading
Loading
Loading
+218 −0
Original line number Diff line number Diff line
[
  {
    "pname": "Avalonia",
    "version": "11.3.11",
    "hash": "sha256-FSMuXVA5q5L5evwos5bIsuT81suO8FbCjEF3OvAL9p0="
  }
,
  {
    "pname": "Avalonia.Angle.Windows.Natives",
    "version": "2.1.25547.20250602",
    "hash": "sha256-LE/lENAHptmz6t3T/AoJwnhpda+xs7PqriNGzdcfg8M="
  }
,
  {
    "pname": "Avalonia.BuildServices",
    "version": "11.3.2",
    "hash": "sha256-6wx06tjSKWQOlX2czdp6Wh0nuwVapx5qf/s8Qj5we40="
  }
,
  {
    "pname": "Avalonia.Controls.ColorPicker",
    "version": "11.3.11",
    "hash": "sha256-Ki6O9HYbseQPV3DsvwmJ+ERimi/WmvzelNJDKP6loo0="
  }
,
  {
    "pname": "Avalonia.Desktop",
    "version": "11.3.11",
    "hash": "sha256-oFivO8/0rir4BwQsTeWs3bSnb7RmldwxYmI77j5pt8k="
  }
,
  {
    "pname": "Avalonia.Diagnostics",
    "version": "11.3.11",
    "hash": "sha256-p38+O0VDqZ8u5VOzImP21/U5wyP1BUp2UrLLc9HSfwE="
  }
,
  {
    "pname": "Avalonia.Fonts.Inter",
    "version": "11.3.11",
    "hash": "sha256-S0DWwcZHulVUIckiv2HM1Vbqno64c/Xt+mPhZp1tfsA="
  }
,
  {
    "pname": "Avalonia.FreeDesktop",
    "version": "11.3.11",
    "hash": "sha256-UE2/w9cw3YDzsw3HuhI2sTPy8reH9C71ufmHOpzvlSQ="
  }
,
  {
    "pname": "Avalonia.Native",
    "version": "11.3.11",
    "hash": "sha256-vw67lp/oOt+2lqdJ5PK2FY93jqPTcgZqOAXLtSXlJ8s="
  }
,
  {
    "pname": "Avalonia.Remote.Protocol",
    "version": "11.3.11",
    "hash": "sha256-l1f3rVygtI268llwbN0NvTDSfXwZE3CyRw8w5tbHBC4="
  }
,
  {
    "pname": "Avalonia.Skia",
    "version": "11.3.11",
    "hash": "sha256-89TGu50JfEVFo+QZgyOR0uOagC/xoJvqfnrHep3W/cc="
  }
,
  {
    "pname": "Avalonia.Themes.Fluent",
    "version": "11.3.11",
    "hash": "sha256-tiJ0xAFf0UVSH7LASPtg/7ils7+vZjw2UKBMydyUR3Q="
  }
,
  {
    "pname": "Avalonia.Themes.Simple",
    "version": "11.3.11",
    "hash": "sha256-AJS5Ls0tJ6PCr2mnr1PpxGWX4sII8mpe2R+VCFYRg44="
  }
,
  {
    "pname": "Avalonia.Win32",
    "version": "11.3.11",
    "hash": "sha256-6/NG4OrB/4YisXzJ51GPuq3uDn8oEUWyJRAqejyMCQw="
  }
,
  {
    "pname": "Avalonia.X11",
    "version": "11.3.11",
    "hash": "sha256-2fiQvKxU/r71UOAQgy0zwSHVCM2uG2sdEUhObd5TrQQ="
  }
,
  {
    "pname": "CommunityToolkit.Mvvm",
    "version": "8.4.0",
    "hash": "sha256-a0D550q+ffreU9Z+kQPdzJYPNaj1UjgyPofLzUg02ZI="
  }
,
  {
    "pname": "HarfBuzzSharp",
    "version": "8.3.1.1",
    "hash": "sha256-614yv6bK9ynhdUnvW4wIkgpBe2sqTh28U9cDZzdhPc0="
  }
,
  {
    "pname": "HarfBuzzSharp.NativeAssets.Linux",
    "version": "8.3.1.1",
    "hash": "sha256-sBbez6fc9axVcsBbIHbpQh/MM5NHlMJgSu6FyuZzVyU="
  }
,
  {
    "pname": "HarfBuzzSharp.NativeAssets.macOS",
    "version": "8.3.1.1",
    "hash": "sha256-hK20KbX2OpewIO5qG5gWw5Ih6GoLcIDgFOqCJIjXR/Q="
  }
,
  {
    "pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
    "version": "8.3.1.1",
    "hash": "sha256-mLKoLqI47ZHXqTMLwP1UCm7faDptUfQukNvdq6w/xxw="
  }
,
  {
    "pname": "HarfBuzzSharp.NativeAssets.Win32",
    "version": "8.3.1.1",
    "hash": "sha256-Um4iwLdz9XtaDSAsthNZdev6dMiy7OBoHOrorMrMYyo="
  }
,
  {
    "pname": "MicroCom.Runtime",
    "version": "0.11.0",
    "hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
  }
,
  {
    "pname": "Microsoft.Extensions.DependencyInjection",
    "version": "10.0.2",
    "hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
  }
,
  {
    "pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
    "version": "10.0.2",
    "hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
  }
,
  {
    "pname": "Serilog",
    "version": "4.3.0",
    "hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw="
  }
,
  {
    "pname": "Serilog.Sinks.Async",
    "version": "2.1.0",
    "hash": "sha256-LDoLpXkleD2MVPK2KBsLGRf5yqrwckBiAnYDbuIbaUM="
  }
,
  {
    "pname": "Serilog.Sinks.Console",
    "version": "6.1.1",
    "hash": "sha256-CfIg4Us4kSMQAn6rU2rsAeE22g6MpFiZdhoZWySpZeY="
  }
,
  {
    "pname": "Serilog.Sinks.File",
    "version": "7.0.0",
    "hash": "sha256-LxZYUoUPkCjIIVarJilnXnqQiMrFNJtoRilmzTNtUjo="
  }
,
  {
    "pname": "SkiaSharp",
    "version": "2.88.9",
    "hash": "sha256-jZ/4nVXYJtrz9SBf6sYc/s0FxS7ReIYM4kMkrhZS+24="
  }
,
  {
    "pname": "SkiaSharp.NativeAssets.Linux",
    "version": "2.88.9",
    "hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A="
  }
,
  {
    "pname": "SkiaSharp.NativeAssets.Linux.NoDependencies",
    "version": "2.88.9",
    "hash": "sha256-WjpcM78Q6kaW0eU5iqDR5+fGcF+06/tawWHsJRK57Es="
  }
,
  {
    "pname": "SkiaSharp.NativeAssets.macOS",
    "version": "2.88.9",
    "hash": "sha256-qvGuAmjXGjGKMzOPBvP9VWRVOICSGb7aNVejU0lLe/g="
  }
,
  {
    "pname": "SkiaSharp.NativeAssets.WebAssembly",
    "version": "2.88.9",
    "hash": "sha256-vgFL4Pdy3O1RKBp+T9N3W4nkH9yurZ0suo8u3gPmmhY="
  }
,
  {
    "pname": "SkiaSharp.NativeAssets.Win32",
    "version": "2.88.9",
    "hash": "sha256-kP5XM5GgwHGfNJfe4T2yO5NIZtiF71Ddp0pd1vG5V/4="
  }
,
  {
    "pname": "Tmds.DBus",
    "version": "0.23.0",
    "hash": "sha256-BwWQSqOOMS+Cf2fM8MIuiHey8QnGH4WvYjOn9haq5e0="
  }
,
  {
    "pname": "Tmds.DBus.Protocol",
    "version": "0.21.2",
    "hash": "sha256-gaK/5aAummyin6ptnhaJbnA0ih4+2xADrtrLfFbHwYI="
  }

]
+105 −0
Original line number Diff line number Diff line
{
  lib,
  buildDotnetModule,
  dotnetCorePackages,
  fetchFromGitHub,
  nix-update-script,
  fontconfig,
  freetype,
  expat,
  libx11,
  libice,
  libsm,
  libxi,
  libxcursor,
  libxext,
  libxrandr,
  libxrender,
  libxfixes,
  libxtst,
  libglvnd,
  mesa,
  wayland,
  libxkbcommon,
  glib,
  icu,
  openssl,
  zlib,
}:

buildDotnetModule rec {
  pname = "crossmacro";
  version = "0.9.6";

  src = fetchFromGitHub {
    owner = "alper-han";
    repo = "CrossMacro";
    tag = "v${version}";
    hash = "sha256-6Cc1mC34l+4dUPD1LAYxlXxzNF76l4HoOmbqTdTJVk0=";
  };

  projectFile = "src/CrossMacro.UI/CrossMacro.UI.csproj";
  nugetDeps = ./deps.json;

  dotnet-sdk = dotnetCorePackages.sdk_10_0;
  dotnet-runtime = dotnetCorePackages.runtime_10_0;

  executables = [ "CrossMacro.UI" ];
  buildType = "Release";

  dotnetFlags = [
    "-p:SelfContained=false"
    "-p:Version=${version}"
  ];

  runtimeDeps = [
    zlib
    icu
    openssl
    fontconfig
    freetype
    expat
    libx11
    libice
    libsm
    libxi
    libxcursor
    libxext
    libxrandr
    libxrender
    libxfixes
    libxtst
    glib
    libglvnd
    mesa
    wayland
    libxkbcommon
  ];

  postInstall = ''
    install -Dm644 scripts/assets/CrossMacro.desktop $out/share/applications/crossmacro.desktop

    for size in 16 32 48 64 128 256 512; do
      install -Dm644 src/CrossMacro.UI/Assets/icons/''${size}x''${size}/apps/crossmacro.png \
        $out/share/icons/hicolor/''${size}x''${size}/apps/crossmacro.png
    done

    install -Dm644 scripts/assets/io.github.alper-han.CrossMacro.metainfo.xml \
      $out/share/metainfo/io.github.alper-han.CrossMacro.metainfo.xml

    mkdir -p $out/bin
    ln -sf $out/bin/CrossMacro.UI $out/bin/crossmacro
  '';

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Cross-platform mouse and keyboard macro recorder and player";
    homepage = "https://github.com/alper-han/CrossMacro";
    changelog = "https://github.com/alper-han/CrossMacro/releases/tag/v${version}";
    license = lib.licenses.gpl3Plus;
    platforms = lib.platforms.linux;
    mainProgram = "crossmacro";
    maintainers = with lib.maintainers; [ alper-han ];
  };
}