anki-bin: set correct name and version for derivation
anki-bin is built with buildFHSUserEnv on Linux, which doesn't set a version for the resulting derivation. This commit overrides the resulting derivation to have a version set correctly. This is important for end-users to be able to easily tell what version of Anki they will get when they install `anki-bin`. It is normally very important to use the correct version of Anki.
This commit is contained in:
parent
9009e18c95
commit
0467f6d76f
1 changed files with 31 additions and 20 deletions
|
@ -49,28 +49,39 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = { inherit sources; };
|
passthru = { inherit sources; };
|
||||||
|
|
||||||
|
fhsUserEnvAnki = buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
|
||||||
|
name = "anki";
|
||||||
|
|
||||||
|
# Dependencies of anki
|
||||||
|
targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]);
|
||||||
|
|
||||||
|
runScript = writeShellScript "anki-wrapper.sh" ''
|
||||||
|
exec ${unpacked}/bin/anki
|
||||||
|
'';
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
mkdir -p $out/share
|
||||||
|
cp -R ${unpacked}/share/applications \
|
||||||
|
${unpacked}/share/man \
|
||||||
|
${unpacked}/share/pixmaps \
|
||||||
|
$out/share/
|
||||||
|
'';
|
||||||
|
|
||||||
|
inherit meta passthru;
|
||||||
|
});
|
||||||
|
|
||||||
|
fhsUserEnvAnkiWithVersion = fhsUserEnvAnki.overrideAttrs (oldAttrs: {
|
||||||
|
# buildFHSUserEnv doesn't have an easy way to set the version of the
|
||||||
|
# resulting derivation, so we manually override it here. This makes
|
||||||
|
# it clear to end users the version of anki-bin. Without this, users
|
||||||
|
# might assume anki-bin is an old version of Anki.
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
});
|
||||||
in
|
in
|
||||||
|
|
||||||
if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
|
if stdenv.isLinux then fhsUserEnvAnkiWithVersion
|
||||||
name = "anki";
|
else stdenv.mkDerivation {
|
||||||
|
|
||||||
# Dependencies of anki
|
|
||||||
targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]);
|
|
||||||
|
|
||||||
runScript = writeShellScript "anki-wrapper.sh" ''
|
|
||||||
exec ${unpacked}/bin/anki
|
|
||||||
'';
|
|
||||||
|
|
||||||
extraInstallCommands = ''
|
|
||||||
mkdir -p $out/share
|
|
||||||
cp -R ${unpacked}/share/applications \
|
|
||||||
${unpacked}/share/man \
|
|
||||||
${unpacked}/share/pixmaps \
|
|
||||||
$out/share/
|
|
||||||
'';
|
|
||||||
|
|
||||||
inherit meta passthru;
|
|
||||||
}) else stdenv.mkDerivation {
|
|
||||||
inherit pname version passthru;
|
inherit pname version passthru;
|
||||||
|
|
||||||
src = if stdenv.isAarch64 then sources.darwin-aarch64 else sources.darwin-x86_64;
|
src = if stdenv.isAarch64 then sources.darwin-aarch64 else sources.darwin-x86_64;
|
||||||
|
|
Loading…
Reference in a new issue