ankisyncd: remove
This commit is contained in:
parent
cda49c202f
commit
2b5ca0f433
@ -120,7 +120,7 @@ In addition to 1119 new, 118 updated, and 476 removed options; 61 new modules we
|
||||
|
||||
- Services:
|
||||
|
||||
- [services.ankisyncd.enable](options.html#opt-services.ankisyncd.enable) Anki sync server
|
||||
- `services.ankisyncd.enable` Anki sync server
|
||||
|
||||
- [services.bazarr.enable](options.html#opt-services.bazarr.enable) Subtitle manager for Sonarr and Radarr
|
||||
|
||||
|
@ -661,8 +661,7 @@ Make sure to also check the many updates in the [Nixpkgs library](#sec-release-2
|
||||
Cheese as the default camera application, and Photos will no longer be
|
||||
installed.
|
||||
|
||||
- The module [services.ankisyncd](#opt-services.ankisyncd.package) has been
|
||||
switched to
|
||||
- The module `services.ankisyncd` has been switched to
|
||||
[anki-sync-server-rs](https://github.com/ankicommunity/anki-sync-server-rs).
|
||||
The former version written in Python was difficult to update, did not receive
|
||||
updates in a while, and did not support recent versions of Anki.
|
||||
|
@ -62,7 +62,7 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
<!-- Please keep entries alphabetically sorted. -->
|
||||
|
||||
- [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable).
|
||||
The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the ankisyncd software.
|
||||
The pre-existing `services.ankisyncd` has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the ankisyncd software.
|
||||
|
||||
- [ALVR](https://github.com/alvr-org/alvr), a VR desktop streamer. Available as [programs.alvr](#opt-programs.alvr.enable).
|
||||
|
||||
|
@ -274,6 +274,8 @@
|
||||
|
||||
- Android NDK version 26 and SDK version 33 are now the default versions used for cross compilation to android.
|
||||
|
||||
- the `ankisyncd` package and its `services.ankisyncd` have been removed, use [`services.anki-sync-server`](#opt-services.anki-sync-server.enable) instead.
|
||||
|
||||
- `nodePackages.vscode-css-languageserver-bin`, `nodePackages.vscode-html-languageserver-bin`,
|
||||
and `nodePackages.vscode-json-languageserver-bin` were dropped due to an unmaintained upstream.
|
||||
The `vscode-langservers-extracted` package is a maintained drop-in replacement.
|
||||
|
@ -712,7 +712,6 @@
|
||||
./services/misc/airsonic.nix
|
||||
./services/misc/amazon-ssm-agent.nix
|
||||
./services/misc/ananicy.nix
|
||||
./services/misc/ankisyncd.nix
|
||||
./services/misc/anki-sync-server.nix
|
||||
./services/misc/apache-kafka.nix
|
||||
./services/misc/atuin.nix
|
||||
|
@ -52,6 +52,7 @@ in
|
||||
is broken when using cgroups-v2.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "antennas" ] "The antennas package and the corresponding module have been removed as they only work with tvheadend, which nobody was willing to maintain and was stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version.")
|
||||
(mkRemovedOptionModule [ "services" "ankisyncd" ] "`services.ankisyncd` has been replaced by `services.anki-sync-server`.")
|
||||
(mkRemovedOptionModule [ "services" "baget" "enable" ] "The baget module was removed due to the upstream package being unmaintained.")
|
||||
(mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
|
||||
|
@ -56,13 +56,3 @@ following options:
|
||||
services.anki-sync-server.openFirewall = true;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Alternatives {#module-services-anki-sync-server-alternatives}
|
||||
|
||||
The [`ankisyncd` NixOS
|
||||
module](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/ankisyncd.nix)
|
||||
provides similar functionality, but using a third-party implementation,
|
||||
[`anki-sync-server-rs`](https://github.com/ankicommunity/anki-sync-server-rs/).
|
||||
According to that project's README, it is "no longer maintained", and not
|
||||
recommended for Anki 2.1.64+.
|
||||
|
@ -1,69 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.services.ankisyncd;
|
||||
|
||||
name = "ankisyncd";
|
||||
|
||||
stateDir = "/var/lib/${name}";
|
||||
|
||||
toml = pkgs.formats.toml {};
|
||||
|
||||
configFile = toml.generate "ankisyncd.conf" {
|
||||
listen = {
|
||||
host = cfg.host;
|
||||
port = cfg.port;
|
||||
};
|
||||
paths.root_dir = stateDir;
|
||||
# encryption.ssl_enable / cert_file / key_file
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.ankisyncd = {
|
||||
enable = lib.mkEnableOption "ankisyncd, a standalone unofficial anky sync server";
|
||||
|
||||
package = lib.mkPackageOption pkgs "ankisyncd" { };
|
||||
|
||||
host = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "localhost";
|
||||
description = "ankisyncd host";
|
||||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 27701;
|
||||
description = "ankisyncd port";
|
||||
};
|
||||
|
||||
openFirewall = lib.mkOption {
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
description = "Whether to open the firewall for the specified port.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
warnings = [
|
||||
''
|
||||
`services.ankisyncd` has been replaced by `services.anki-sync-server` and will be removed after
|
||||
24.05 because anki-sync-server(-rs and python) are not maintained.
|
||||
''
|
||||
];
|
||||
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ];
|
||||
|
||||
systemd.services.ankisyncd = {
|
||||
description = "ankisyncd - Anki sync server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ cfg.package ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
DynamicUser = true;
|
||||
StateDirectory = name;
|
||||
ExecStart = "${cfg.package}/bin/ankisyncd --config ${configFile}";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
4005
pkgs/servers/ankisyncd/Cargo.lock
generated
4005
pkgs/servers/ankisyncd/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,53 +0,0 @@
|
||||
{ lib, runCommand, fetchFromGitHub, rustPlatform, protobuf }:
|
||||
|
||||
let
|
||||
pname = "ankisyncd";
|
||||
version = "1.1.4";
|
||||
|
||||
# anki-sync-server-rs expects anki sources in the 'anki' folder
|
||||
# of its own source tree, with a patch applied (mostly to make
|
||||
# some modules public): prepare our own 'src' manually
|
||||
src = runCommand "anki-sync-server-rs-src" {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ankicommunity";
|
||||
repo = "anki-sync-server-rs";
|
||||
rev = version;
|
||||
hash = "sha256-iL4lJJAV4SrNeRX3s0ZpJ//lrwoKjLsltlX4d2wP6O0=";
|
||||
};
|
||||
} ''
|
||||
cp -r "$src/." "$out"
|
||||
chmod +w "$out"
|
||||
cp -r "${ankiSrc}" "$out/anki"
|
||||
chmod -R +w "$out/anki"
|
||||
patch -d "$out/anki" -Np1 < "$src/anki_patch/d9d36078f17a2b4b8b44fcb802eb274911ebabe7_anki_rslib.patch"
|
||||
'';
|
||||
|
||||
# Note we do not use anki.src because the patch in ankisyncd's
|
||||
# sources expect a fixed version, so we pin it here.
|
||||
ankiSrc = fetchFromGitHub {
|
||||
owner = "ankitects";
|
||||
repo = "anki";
|
||||
rev = "2.1.60";
|
||||
hash = "sha256-hNrf6asxF7r7QK2XO150yiRjyHAYKN8OFCFYX0SAiwA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
in rustPlatform.buildRustPackage {
|
||||
inherit pname version src;
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"csv-1.1.6" = "sha256-w728ffOVkI+IfK6FbmkGhr0CjuyqgJnPB1kutMJIUYg=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ protobuf ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Standalone unofficial anki sync server";
|
||||
homepage = "https://github.com/ankicommunity/anki-sync-server-rs";
|
||||
license = with licenses; [ agpl3Only ];
|
||||
maintainers = with maintainers; [ martinetd ];
|
||||
mainProgram = "ankisyncd";
|
||||
};
|
||||
}
|
@ -112,6 +112,7 @@ mapAliases ({
|
||||
ansible_2_14 = throw "Ansible 2.14 goes end of life in 2024/05 and can't be supported throughout the 24.05 release cycle"; # Added 2024-04-11
|
||||
antennas = throw "antennas has been removed as it only works with tvheadend, which nobody was willing to maintain and was stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version"; # Added 2024-08-21
|
||||
androidndkPkgs_23b = lib.warn "The package set `androidndkPkgs_23b` has been renamed to `androidndkPkgs_23`." androidndkPkgs_23; # Added 2024-07-21
|
||||
ankisyncd = throw "ankisyncd is dead, use anki-sync-server instead"; # Added 2024-08-10
|
||||
apacheAnt_1_9 = throw "Ant 1.9 has been removed since it's not used in nixpkgs anymore"; # Added 2023-11-12
|
||||
apacheKafka_2_8 = throw "apacheKafka_2_8 through _3_5 have been removed from nixpkgs as outdated"; # Added 2024-02-12
|
||||
apacheKafka_3_0 = throw "apacheKafka_2_8 through _3_5 have been removed from nixpkgs as outdated"; # Added 2024-02-12
|
||||
|
@ -243,8 +243,6 @@ with pkgs;
|
||||
|
||||
anders = callPackage ../applications/science/logic/anders { };
|
||||
|
||||
ankisyncd = callPackage ../servers/ankisyncd { };
|
||||
|
||||
ariang = callPackage ../servers/ariang { };
|
||||
|
||||
ani-cli = callPackage ../applications/video/ani-cli { };
|
||||
|
Loading…
Reference in New Issue
Block a user