diff --git a/pkgs/build-support/fetchtorrent/default.nix b/pkgs/build-support/fetchtorrent/default.nix index beb2415df707..126748678bf2 100644 --- a/pkgs/build-support/fetchtorrent/default.nix +++ b/pkgs/build-support/fetchtorrent/default.nix @@ -14,6 +14,7 @@ in , recursiveHash ? true , postFetch ? "" , postUnpack ? "" +, meta ? {} }: let afterSuccess = writeShellScript "fetch-bittorrent-done.sh" '' @@ -30,6 +31,7 @@ let jsonConfig = (formats.json {}).generate "jsonConfig" config; 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"); outputHashAlgo = if hash != "" then null else "sha256"; outputHash = hash; diff --git a/pkgs/build-support/fetchtorrent/tests.nix b/pkgs/build-support/fetchtorrent/tests.nix index b36c82c6326f..e8cc3f33878b 100644 --- a/pkgs/build-support/fetchtorrent/tests.nix +++ b/pkgs/build-support/fetchtorrent/tests.nix @@ -1,25 +1,47 @@ -{ testers, fetchtorrent, ... }: +{ testers, fetchtorrent, lib, ... }: + +let + wired-cd.meta.license = [ + # track 1, 4 and 11 + { + spdxID = "CC NC-SAMPLING+ 1.0 Deed"; + fullName = "NonCommercial Sampling Plus 1.0 Generic"; + url = "https://creativecommons.org/licenses/nc-sampling+/1.0/"; + free = false; # for noncommercial purposes only + } + # the rest + { + spdxID = "CC SAMPLING+ 1.0 Deed"; + fullName = "Sampling Plus 1.0 Generic"; + url = "https://creativecommons.org/licenses/sampling+/1.0/"; + free = true; # no use in advertisement + } + ]; +in { http-link = testers.invalidateFetcherByDrvHash fetchtorrent { url = "https://webtorrent.io/torrents/wired-cd.torrent"; hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo="; backend = "transmission"; + inherit (wired-cd) meta; }; magnet-link = testers.invalidateFetcherByDrvHash fetchtorrent { url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent"; hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo="; backend = "transmission"; + inherit (wired-cd) meta; }; http-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent { url = "https://webtorrent.io/torrents/wired-cd.torrent"; hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo="; backend = "rqbit"; + inherit (wired-cd) meta; }; magnet-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent { url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent"; hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo="; backend = "rqbit"; + inherit (wired-cd) meta; }; } -