ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / games / anki / bin.nix
blob82064325ab5f2b5c0a6736db8f6b0eb44355d6a5
1 { fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg, zstd }:
3 let
4   pname = "anki-bin";
5   # Update hashes for both Linux and Darwin!
6   version = "2.1.54";
8   sources = {
9     linux = fetchurl {
10       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
11       sha256 = "sha256-NFhgVd4ctEsh7iaSZ9v0OMszd81H41eq+y+FRIhcCtE=";
12     };
14     # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
15     darwin-x86_64 = fetchurl {
16       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
17       sha256 = "sha256-kus59Z9Oe4sbAlF4szeg751hlSEUR0ijKz4rjfHEWgA=";
18     };
19     darwin-aarch64 = fetchurl {
20       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
21       sha256 = "sha256-ROIpGB3W21ttWj+cRkf0rpLFrO4LR6+ZyGRsalz5J+E=";
22     };
23   };
25   unpacked = stdenv.mkDerivation {
26     inherit pname version;
28     nativeBuildInputs = [ zstd ];
29     src = sources.linux;
31     installPhase = ''
32       runHook preInstall
34       xdg-mime () {
35         echo Stubbed!
36       }
37       export -f xdg-mime
39       PREFIX=$out bash install.sh
41       runHook postInstall
42     '';
43   };
45   meta = with lib; {
46     inherit (anki.meta) license homepage description longDescription;
47     platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
48     maintainers = with maintainers; [ atemu ];
49   };
51   passthru = { inherit sources; };
54 if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
55   name = "anki";
57   # Dependencies of anki
58   targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]);
60   runScript = writeShellScript "anki-wrapper.sh" ''
61     exec ${unpacked}/bin/anki
62   '';
64   extraInstallCommands = ''
65     mkdir -p $out/share
66     cp -R ${unpacked}/share/applications \
67       ${unpacked}/share/man \
68       ${unpacked}/share/pixmaps \
69       $out/share/
70   '';
72   inherit meta passthru;
73 }) else stdenv.mkDerivation {
74   inherit pname version passthru;
76   src = if stdenv.isAarch64 then sources.darwin-aarch64 else sources.darwin-x86_64;
78   nativeBuildInputs = [ undmg ];
79   sourceRoot = ".";
81   installPhase = ''
82     mkdir -p $out/Applications/
83     cp -a Anki.app $out/Applications/
84   '';
86   inherit meta;