mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-30 16:10:36 +00:00
podgrab: drop (#569489)
This commit is contained in:
@@ -177,6 +177,8 @@
|
||||
|
||||
- `etcd_3_4` package was dropped, as it's gone EOL. Please upgrade to either 3.5 or 3.6. See [migration notes](https://etcd.io/docs/v3.6/upgrades/upgrade_3_6/) for incompatibilities and upgrade procedure.
|
||||
|
||||
- `podgrab` package was dropped, as it is unmaintained.
|
||||
|
||||
- `rke2` retires ingress-nginx and transitions to Traefik starting in `rke2_1_36`. Because ingress-nginx was retired upstream as of March 2026, Traefik is now the default
|
||||
for new clusters starting in v1.36 (existing clusters will keep their current ingress upon upgrade to avoid breakage). This transition brings the following structural changes:
|
||||
- Airgapped Environments: The rke2-images-core tarball now contains Traefik images instead of ingress-nginx. The standalone rke2-images-traefik tarball has been removed.
|
||||
|
||||
@@ -265,6 +265,8 @@
|
||||
|
||||
- `services.pghero` has been removed because the `pghero` package was unmaintained and thus dropped from Nixpkgs.
|
||||
|
||||
- `services.podgrab` has been removed because the `podgrab` package was unmaintained and thus dropped from Nixpkgs.
|
||||
|
||||
- Apache Kafka has dropped support for ZooKeeper mode. The `apacheKafka_3_9` and `apacheKafka_4_0` packages have been removed, as every remaining packaged version is KRaft-only. The `services.apache-kafka.zookeeper` option (previously an alias for `services.apache-kafka.settings."zookeeper.connect"`) has been removed; migrate your cluster to [KRaft](#module-services-apache-kafka-kraft) mode instead.
|
||||
|
||||
- `virtualisation.containers.registries.block` / `insecure` / `search` were deprecated,
|
||||
|
||||
@@ -977,7 +977,6 @@
|
||||
./services/misc/pinnwand.nix
|
||||
./services/misc/plex.nix
|
||||
./services/misc/plikd.nix
|
||||
./services/misc/podgrab.nix
|
||||
./services/misc/polaris.nix
|
||||
./services/misc/portunus.nix
|
||||
./services/misc/pufferpanel.nix
|
||||
|
||||
@@ -96,6 +96,10 @@ in
|
||||
due to lack of usage and being broken since its introduction.
|
||||
''
|
||||
) # added 2025-11-29
|
||||
(mkRemovedOptionModule [
|
||||
"services"
|
||||
"podgrab"
|
||||
] "The corresponding package was removed from nixpkgs.") # added 2026-10-02
|
||||
(mkRemovedOptionModule [
|
||||
"programs"
|
||||
"goldwarden"
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.podgrab;
|
||||
|
||||
stateDir = "/var/lib/podgrab";
|
||||
in
|
||||
{
|
||||
options.services.podgrab = with lib; {
|
||||
enable = mkEnableOption "Podgrab, a self-hosted podcast manager";
|
||||
|
||||
passwordFile = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
example = "/run/secrets/password.env";
|
||||
description = ''
|
||||
The path to a file containing the PASSWORD environment variable
|
||||
definition for Podgrab's authentication.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8080;
|
||||
example = 4242;
|
||||
description = "The port on which Podgrab will listen for incoming HTTP traffic.";
|
||||
};
|
||||
|
||||
dataDirectory = mkOption {
|
||||
type = types.path;
|
||||
default = "${stateDir}/data";
|
||||
example = "/mnt/podcasts";
|
||||
description = "Directory to store downloads.";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "podgrab";
|
||||
description = "User under which Podgrab runs, and which owns the download directory.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "podgrab";
|
||||
description = "Group under which Podgrab runs, and which owns the download directory.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.tmpfiles.settings."10-pyload" = {
|
||||
${cfg.dataDirectory}.d = { inherit (cfg) user group; };
|
||||
};
|
||||
|
||||
systemd.services.podgrab = {
|
||||
description = "Podgrab podcast manager";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = {
|
||||
CONFIG = "${stateDir}/config";
|
||||
DATA = cfg.dataDirectory;
|
||||
GIN_MODE = "release";
|
||||
PORT = toString cfg.port;
|
||||
};
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
EnvironmentFile = lib.optionals (cfg.passwordFile != null) [
|
||||
cfg.passwordFile
|
||||
];
|
||||
ExecStart = "${pkgs.podgrab}/bin/podgrab";
|
||||
WorkingDirectory = "${pkgs.podgrab}/share";
|
||||
StateDirectory = [ "podgrab/config" ];
|
||||
};
|
||||
};
|
||||
|
||||
users.users.podgrab = lib.mkIf (cfg.user == "podgrab") {
|
||||
isSystemUser = true;
|
||||
group = cfg.group;
|
||||
};
|
||||
|
||||
users.groups.podgrab = lib.mkIf (cfg.group == "podgrab") { };
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ ambroisie ];
|
||||
}
|
||||
@@ -1502,7 +1502,6 @@ in
|
||||
plikd = runTest ./plikd.nix;
|
||||
plotinus = runTest ./plotinus.nix;
|
||||
pocket-id = runTest ./pocket-id.nix;
|
||||
podgrab = runTest ./podgrab.nix;
|
||||
podman = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./podman/default.nix { };
|
||||
podman-tls-ghostunnel = handleTestOn [
|
||||
"aarch64-linux"
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
let
|
||||
defaultPort = 8080;
|
||||
customPort = 4242;
|
||||
in
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
name = "podgrab";
|
||||
|
||||
nodes = {
|
||||
default =
|
||||
{ ... }:
|
||||
{
|
||||
services.podgrab.enable = true;
|
||||
};
|
||||
|
||||
customized =
|
||||
{ ... }:
|
||||
{
|
||||
services.podgrab = {
|
||||
enable = true;
|
||||
port = customPort;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
default.wait_for_unit("podgrab")
|
||||
default.wait_for_open_port(${toString defaultPort})
|
||||
default.succeed("curl --fail http://localhost:${toString defaultPort}")
|
||||
|
||||
customized.wait_for_unit("podgrab")
|
||||
customized.wait_for_open_port(${toString customPort})
|
||||
customized.succeed("curl --fail http://localhost:${toString customPort}")
|
||||
'';
|
||||
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ ambroisie ];
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
buildGoModule {
|
||||
pname = "podgrab";
|
||||
version = "0-unstable-2021-04-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "akhilrex";
|
||||
repo = "podgrab";
|
||||
rev = "3179a875b8b638fb86d0e829d12a9761c1cd7f90";
|
||||
sha256 = "sha256-vhxIm20ZUi+RusrAsSY54tv/D570/oMO5qLz9dNqgqo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xY9xNuJhkWPgtqA/FBVIp7GuWOv+3nrz6l3vaZVLlIE=";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/
|
||||
cp -r $src/client $out/share/
|
||||
cp -r $src/webassets $out/share/
|
||||
'';
|
||||
|
||||
passthru.tests = { inherit (nixosTests) podgrab; };
|
||||
|
||||
meta = {
|
||||
description = "Self-hosted podcast manager to download episodes as soon as they become live";
|
||||
mainProgram = "podgrab";
|
||||
homepage = "https://github.com/akhilrex/podgrab";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
||||
@@ -2118,6 +2118,7 @@ mapAliases {
|
||||
pnpm_9 = throw "'pnpm_9' was removed because it reached EOL on 2026-04-30"; # added 2026-08-03
|
||||
poac = throw "'poac' has been renamed to/replaced by 'cabinpkg'"; # Converted to throw 2025-10-27
|
||||
pocket-updater-utility = throw "'pocket-updater-utility' has been renamed to/replaced by 'pupdate'"; # Converted to throw 2025-10-27
|
||||
podgrab = throw "'podgrab' has been removed because it it was unmaintained upstream"; # Added 20206-10-02
|
||||
podofo010 = throw "'podofo010' has been renamed to 'podofo0'"; # Converted to throw 2025-10-27
|
||||
podofo_0_9 = throw "'podofo_0_9' has been deprecated, it may be replaced by 'podofo0'"; # Added 2026-05-08
|
||||
podofo_0_10 = warnAlias "'podofo_0_10' has been renamed to 'podofo0'" podofo0; # Added 2026-05-08
|
||||
|
||||
Reference in New Issue
Block a user