@ -1,24 +1,31 @@
{ fetchurl , stdenv , lib , buildFHSUserEnv , appimageTools , writeShellScript , anki , undmg }:
{ fetchurl , stdenv , lib , buildFHSUserEnv , appimageTools , writeShellScript , anki , undmg , zstd }:
let
pname = " a n k i - b i n " ;
# Update hashes for both Linux and Darwin!
version = " 2 . 1 . 4 9 " ;
version = " 2 . 1 . 5 1 " ;
sources = {
linux = fetchurl {
url = " h t t p s : / / g i t h u b . c o m / a n k i t e c t s / a n k i / r e l e a s e s / d o w n l o a d / ${ version } / a n k i - ${ version } - l i n u x . t a r . b z 2 " ;
sha256 = " s h a 2 5 6 - u G 3 9 g 9 C X n q u A r F s x t F H W W o D a N w u 8 y 2 K K h + S q G t 8 a q i 0 = " ;
url = " h t t p s : / / g i t h u b . c o m / a n k i t e c t s / a n k i / r e l e a s e s / d o w n l o a d / ${ version } / a n k i - ${ version } - l i n u x - q t 6 .t a r . z s t " ;
sha256 = " s h a 2 5 6 - Z K V c + T v k N u 5 m G g i b h R I u o L u I f v y o V D y + c 4 h + A p z 9 P + 0 = " ;
} ;
darwin = fetchurl {
url = " h t t p s : / / g i t h u b . c o m / a n k i t e c t s / a n k i / r e l e a s e s / d o w n l o a d / ${ version } / a n k i - ${ version } - m a c . d m g " ;
sha256 = " s h a 2 5 6 - s E V W Z Q p I C L 7 R Y r O u P m 1 Y 5 X h z P x C w N k 1 W G P 1 r c t T t E 4 Y = " ;
# For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
darwin-x86_64 = fetchurl {
url = " h t t p s : / / g i t h u b . c o m / a n k i t e c t s / a n k i / r e l e a s e s / d o w n l o a d / ${ version } / a n k i - ${ version } - m a c - i n t e l - q t 6 . d m g " ;
sha256 = " s h a 2 5 6 - w Z M J E b c p e z V A u B S K l w N T H l q j p 0 F f m y D B 7 X D 6 B B u J h y A = " ;
} ;
darwin-aarch64 = fetchurl {
url = " h t t p s : / / g i t h u b . c o m / a n k i t e c t s / a n k i / r e l e a s e s / d o w n l o a d / ${ version } / a n k i - ${ version } - m a c - a p p l e - q t 6 . d m g " ;
sha256 = " s h a 2 5 6 - 6 R D T Y K o i s X 5 D J 9 V P W r P 9 V H 9 D C A B a b b 9 M B 3 n G 4 S 8 j t R 0 = " ;
} ;
} ;
unpacked = stdenv . mkDerivation {
inherit pname version ;
nativeBuildInputs = [ zstd ] ;
src = sources . linux ;
installPhase = ''
@ -47,6 +54,9 @@ in
if stdenv . isLinux then buildFHSUserEnv ( appimageTools . defaultFhsEnvArgs // {
name = " a n k i " ;
# Dependencies of anki
targetPkgs = pkgs : ( with pkgs ; [ xorg . libxkbfile krb5 ] ) ;
runScript = writeShellScript " a n k i - w r a p p e r . s h " ''
exec $ { unpacked } /bin/anki
'' ;
@ -63,7 +73,7 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
} ) else stdenv . mkDerivation {
inherit pname version passthru ;
src = sources . darwin ;
src = if stdenv . isAarch64 then sources . darwin-aarch64 else sources . darwin-x86_64 ;
nativeBuildInputs = [ undmg ] ;
sourceRoot = " . " ;