transmission_3: rename from transmission

This commit is contained in:
Doron Behar 2024-06-10 10:54:49 +03:00
parent ed0af8c19f
commit 7645dde059
10 changed files with 31 additions and 14 deletions

View File

@ -23,6 +23,10 @@
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
- `transmission-gtk`: `~/.config/transmission`
- `transmission-daemon` using NixOS module: `${config.services.transmission.home}/.config/transmission-daemon` (defaults to `/var/lib/transmission/.config/transmission-daemon`)
- `androidenv.androidPkgs_9_0` has been removed, and replaced with `androidenv.androidPkgs` for a more complete Android SDK including support for Android 9 and later.
- `nginx` package no longer includes `gd` and `geoip` dependencies. For enabling it, override `nginx` package with the optionals `withImageFilter` and `withGeoIP`.

View File

@ -174,7 +174,10 @@ in
};
};
package = mkPackageOption pkgs "transmission" {};
package = mkPackageOption pkgs "transmission" {
default = "transmission_3";
example = "pkgs.transmission_4";
};
downloadDirPermissions = mkOption {
type = with types; nullOr str;

View File

@ -980,7 +980,7 @@ in {
traefik = handleTestOn ["aarch64-linux" "x86_64-linux"] ./traefik.nix {};
trafficserver = handleTest ./trafficserver.nix {};
transfer-sh = handleTest ./transfer-sh.nix {};
transmission = handleTest ./transmission.nix { transmission = pkgs.transmission; };
transmission_3 = handleTest ./transmission.nix { transmission = pkgs.transmission_3; };
transmission_4 = handleTest ./transmission.nix { transmission = pkgs.transmission_4; };
# tracee requires bpf
tracee = handleTestOn ["x86_64-linux"] ./tracee.nix {};

View File

@ -17,7 +17,7 @@
, libevent
, libgee
, libnatpmp
, libtransmission
, libtransmission_3
, libutp
, miniupnpc
, openssl
@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
libevent
libgee
libnatpmp
libtransmission
libtransmission_3
libutp
miniupnpc
openssl

View File

@ -1,4 +1,4 @@
{ lib, runCommand, transmission_noSystemd, rqbit, writeShellScript, formats, cacert, rsync }:
{ lib, runCommand, transmission_3_noSystemd, rqbit, writeShellScript, formats, cacert, rsync }:
let
urlRegexp = ''.*xt=urn:bt[im]h:([^&]{64}|[^&]{40}).*'';
in
@ -32,7 +32,7 @@ let
in
runCommand name {
inherit meta;
nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_3_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
outputHashAlgo = if hash != "" then null else "sha256";
outputHash = hash;
outputHashMode = if recursiveHash then "recursive" else "flat";

View File

@ -117,12 +117,12 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru.tests = {
apparmor = nixosTests.transmission; # starts the service with apparmor enabled
apparmor = nixosTests.transmission_3; # starts the service with apparmor enabled
smoke-test = nixosTests.bittorrent;
};
meta = {
description = "Fast, easy and free BitTorrent client";
description = "Fast, easy and free BitTorrent client (deprecated version 3)";
mainProgram = if enableQt then "transmission-qt" else if enableGTK3 then "transmission-gtk" else "transmission-cli";
longDescription = ''
Transmission is a BitTorrent client which features a simple interface

View File

@ -34,6 +34,12 @@ let
dontDistribute alias
else alias;
transmission3Warning = { prefix ? "", suffix ? "" }: let
p = "${prefix}transmission${suffix}";
p3 = "${prefix}transmission_3${suffix}";
p4 = "${prefix}transmission_4${suffix}";
in "${p} has been renamed to ${p3} since ${p4} is also available. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)";
# Make sure that we are not shadowing something from all-packages.nix.
checkInPkgs = n: alias:
if builtins.hasAttr n super
@ -1320,6 +1326,10 @@ mapAliases ({
tokyo-night-gtk = tokyonight-gtk-theme; # Added 2024-01-28
tootle = throw "'tootle' has been removed as it is not maintained upstream. Consider using 'tuba' instead"; # Added 2024-02-11
tor-browser-bundle-bin = tor-browser; # Added 2023-09-23
transmission = lib.warn (transmission3Warning {}) transmission_3; # Added 2024-06-10
transmission-gtk = lib.warn (transmission3Warning {suffix = "-gtk";}) transmission_3-gtk; # Added 2024-06-10
transmission-qt = lib.warn (transmission3Warning {suffix = "-qt";}) transmission_3-qt; # Added 2024-06-10
libtransmission = lib.warn (transmission3Warning {prefix = "lib";}) libtransmission_3; # Added 2024-06-10
transfig = fig2dev; # Added 2022-02-15
transifex-client = transifex-cli; # Added 2023-12-29
trezor_agent = trezor-agent; # Added 2024-01-07

View File

@ -34777,15 +34777,14 @@ with pkgs;
transcribe = callPackage ../applications/audio/transcribe { };
transmission = callPackage ../applications/networking/p2p/transmission { };
libtransmission = transmission.override {
libtransmission_3 = transmission_3.override {
installLib = true;
enableDaemon = false;
enableCli = false;
};
transmission-gtk = transmission.override { enableGTK3 = true; };
transmission-qt = transmission.override { enableQt = true; };
transmission_noSystemd = transmission.override { enableSystemd = false; };
transmission_3-gtk = transmission_3.override { enableGTK3 = true; };
transmission_3-qt = transmission_3.override { enableQt = true; };
transmission_3_noSystemd = transmission_3.override { enableSystemd = false; };
# Needs macOS >= 10.14.6
transmission_4 = darwin.apple_sdk_11_0.callPackage ../applications/networking/p2p/transmission/4.nix {

View File

@ -125,7 +125,8 @@ let
jobs.gimp.x86_64-darwin
jobs.emacs.x86_64-darwin
jobs.wireshark.x86_64-darwin
jobs.transmission-gtk.x86_64-darwin
jobs.transmission_3-gtk.x86_64-darwin
jobs.transmission_4-gtk.x86_64-darwin
# Tests
/*