NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.51k stars 13k forks source link

Package request: MTG Arena Tool #142257

Open Birdthatcantfly opened 2 years ago

Birdthatcantfly commented 2 years ago

Project description MTG Arena Tool is a collection browser, a deck tracker and a statistics manager. Explore which decks you played against and what other players are brewing. MTG Arena Tool is all about improving your Magic Arena experience.

Metadata

WolfangAukang commented 2 years ago

Trying to build this one through AppImage. Although I'm able to build it successfully, it provides the following message when executing it:

-> ./result/bin/mtgatool-desktop
APPIMAGE env is not defined, current application is not an AppImage

And the application seems to be stuck at looking for updates. Not sure if it is looking through a lot of data, my internet connection sucks ( :) ) or if it's really stuck thanks to the message above.

WolfangAukang commented 2 years ago

In case someone wants to tackle this one, this is what I've done so far:

{ lib, fetchurl, appimageTools }:

let
  pname = "mtgatool-desktop";
  version = "6.0.13";
  name = "mtgatool-desktop-${version}";
  src = fetchurl {
    url = "https://github.com/mtgatool/mtgatool-desktop/releases/download/v${version}/${pname}-${version}.AppImage";
    name = "mtgatool-desktop-${version}.AppImage";
    sha256 = "sha256-LXP3wNxtdVsn4pzEd7ikzSN0nwLyl4xXPTPk2/fzqqg=";
  };

  appimageContents = appimageTools.extractType2 {
    inherit name src;
  };

in appimageTools.wrapType2 {
  inherit name src;

  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;

  extraInstallCommands = ''
    mv $out/bin/${name} $out/bin/${pname}
    install -m 444 -D ${appimageContents}/mtgatool-desktop.desktop -t $out/share/applications
    substituteInPlace $out/share/applications/mtgatool-desktop.desktop \
      --replace 'Exec=AppRun' 'Exec=${pname}'
    cp -r ${appimageContents}/usr/share/icons $out/share
  '';

  meta = with lib; {
    description = "Collection browser, a deck tracker and a statistics manager for MTG Arena";
    homepage = "mtgatool.com";
    license = licenses.gpl3Only;
    maintainers = with maintainers; [ wolfangaukang ];
    platforms = [ "x86_64-linux" ];
  };
}
stale[bot] commented 2 years ago

I marked this as stale due to inactivity. → More info