nixpkgs/pkgs/servers/ankisyncd/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

67 lines
1.7 KiB
Nix

{ lib
, fetchFromGitHub
, python3
, anki
}:
python3.pkgs.buildPythonApplication rec {
pname = "ankisyncd";
version = "2.2.0";
src = fetchFromGitHub {
owner = "ankicommunity";
repo = "anki-sync-server";
rev = version;
sha256 = "196xhd6vzp1ncr3ahz0bv0gp1ap2s37j8v48dwmvaywzayakqdab";
};
format = "other";
installPhase = ''
runHook preInstall
mkdir -p $out/${python3.sitePackages}
cp -r ankisyncd utils ankisyncd.conf $out/${python3.sitePackages}
mkdir $out/share
cp ankisyncctl.py $out/share/
runHook postInstall
'';
fixupPhase = ''
PYTHONPATH="$PYTHONPATH:$out/${python3.sitePackages}:${anki}"
makeWrapper "${python3.interpreter}" "$out/bin/ankisyncd" \
--set PYTHONPATH $PYTHONPATH \
--add-flags "-m ankisyncd"
makeWrapper "${python3.interpreter}" "$out/bin/ankisyncctl" \
--set PYTHONPATH $PYTHONPATH \
--add-flags "$out/share/ankisyncctl.py"
'';
nativeCheckInputs = with python3.pkgs; [
pytest
webtest
];
buildInputs = [ ];
propagatedBuildInputs = [ anki ];
checkPhase = ''
# Exclude tests that require sqlite's sqldiff command, since
# it isn't yet packaged for NixOS, although 2 PRs exist:
# - https://github.com/NixOS/nixpkgs/pull/69112
# - https://github.com/NixOS/nixpkgs/pull/75784
# Once this is merged, these tests can be run as well.
pytest --ignore tests/test_web_media.py tests/
'';
meta = with lib; {
description = "Self-hosted Anki sync server";
maintainers = with maintainers; [ matt-snider ];
homepage = "https://github.com/ankicommunity/anki-sync-server";
license = licenses.agpl3Only;
platforms = platforms.linux;
};
}