mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-04 19:48:34 +03:00
parent
98a9b6e64c
commit
6fa5767e07
@ -334,6 +334,12 @@
|
||||
were not used by any other package. External users are encouraged to
|
||||
migrate to OpenCV 4.
|
||||
|
||||
- The `tvheadend` package and the `services.tvheadend` module have been
|
||||
removed as nobody was willing to maintain them and they were stuck on
|
||||
an unmaintained version that required FFmpeg 4; please see [pull
|
||||
request #332259](https://github.com/NixOS/nixpkgs/pull/332259) if you
|
||||
are interested in maintaining a newer version.
|
||||
|
||||
## Other Notable Changes {#sec-release-24.11-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -1239,7 +1239,6 @@
|
||||
./services/networking/tox-node.nix
|
||||
./services/networking/toxvpn.nix
|
||||
./services/networking/trickster.nix
|
||||
./services/networking/tvheadend.nix
|
||||
./services/networking/twingate.nix
|
||||
./services/networking/ucarp.nix
|
||||
./services/networking/unbound.nix
|
||||
|
@ -94,6 +94,7 @@ in
|
||||
the program being unmaintained. The options `programs.msmtp.*` can be
|
||||
used instead.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "tvheadend" ] "The tvheadend package and the corresponding module have been removed as nobody was willing to maintain them and they were 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" "venus" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "wakeonlan"] "This module was removed in favor of enabling it with networking.interfaces.<name>.wakeOnLan")
|
||||
(mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
|
||||
|
@ -1,63 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.services.tvheadend;
|
||||
pidFile = "${config.users.users.tvheadend.home}/tvheadend.pid";
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
services.tvheadend = {
|
||||
enable = mkEnableOption "Tvheadend";
|
||||
httpPort = mkOption {
|
||||
type = types.int;
|
||||
default = 9981;
|
||||
description = "Port to bind HTTP to.";
|
||||
};
|
||||
|
||||
htspPort = mkOption {
|
||||
type = types.int;
|
||||
default = 9982;
|
||||
description = "Port to bind HTSP to.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users.users.tvheadend = {
|
||||
description = "Tvheadend Service user";
|
||||
home = "/var/lib/tvheadend";
|
||||
createHome = true;
|
||||
isSystemUser = true;
|
||||
group = "tvheadend";
|
||||
};
|
||||
users.groups.tvheadend = {};
|
||||
|
||||
systemd.services.tvheadend = {
|
||||
description = "Tvheadend TV streaming server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
PIDFile = pidFile;
|
||||
Restart = "always";
|
||||
RestartSec = 5;
|
||||
User = "tvheadend";
|
||||
Group = "video";
|
||||
ExecStart = ''
|
||||
${pkgs.tvheadend}/bin/tvheadend \
|
||||
--http_port ${toString cfg.httpPort} \
|
||||
--htsp_port ${toString cfg.htspPort} \
|
||||
-f \
|
||||
-C \
|
||||
-p ${pidFile} \
|
||||
-u tvheadend \
|
||||
-g video
|
||||
'';
|
||||
ExecStop = "${pkgs.coreutils}/bin/rm ${pidFile}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,134 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
|
||||
# buildtime
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, python3
|
||||
, which
|
||||
|
||||
# runtime
|
||||
, avahi
|
||||
, bzip2
|
||||
, dbus
|
||||
, dtv-scan-tables
|
||||
, ffmpeg_4
|
||||
, gettext
|
||||
, gnutar
|
||||
, gzip
|
||||
, libiconv
|
||||
, openssl
|
||||
, uriparser
|
||||
, zlib
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.2.8";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "tvheadend";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tvheadend";
|
||||
repo = "tvheadend";
|
||||
rev = "v${version}";
|
||||
sha256 = "1xq059r2bplaa0nd0wkhw80jfwd962x0h5hgd7fz2yp6largw34m";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Pull upstream fix for -fno-common toolchain
|
||||
# https://github.com/tvheadend/tvheadend/pull/1342
|
||||
# TODO: can be removed with 4.3 release.
|
||||
(fetchpatch {
|
||||
name = "fno-common.patch";
|
||||
url = "https://github.com/tvheadend/tvheadend/commit/bd92f1389f1aacdd08e913b0383a0ca9dc223153.patch";
|
||||
sha256 = "17bsx6mnv4pjiayvx1d57dphva0kvlppvnmmaym06dh4524pnly1";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
pkg-config
|
||||
python3
|
||||
which
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
avahi
|
||||
bzip2
|
||||
dbus
|
||||
ffmpeg_4 # depends on libav
|
||||
gettext
|
||||
gzip
|
||||
libiconv
|
||||
openssl
|
||||
uriparser
|
||||
zlib
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString ([
|
||||
"-Wno-error=format-truncation"
|
||||
"-Wno-error=stringop-truncation"
|
||||
] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "12") [
|
||||
# Needed with GCC 12 but unrecognized with GCC 9
|
||||
"-Wno-error=use-after-free"
|
||||
]);
|
||||
|
||||
configureFlags = [
|
||||
# disable dvbscan, as having it enabled causes a network download which
|
||||
# cannot happen during build. We now include the dtv-scan-tables ourselves
|
||||
"--disable-dvbscan"
|
||||
"--disable-bintray_cache"
|
||||
"--disable-ffmpeg_static"
|
||||
# incompatible with our libhdhomerun version
|
||||
"--disable-hdhomerun_client"
|
||||
"--disable-hdhomerun_static"
|
||||
"--disable-libx264_static"
|
||||
"--disable-libx265_static"
|
||||
"--disable-libvpx_static"
|
||||
"--disable-libtheora_static"
|
||||
"--disable-libvorbis_static"
|
||||
"--disable-libfdkaac_static"
|
||||
"--disable-libmfx_static"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace src/config.c \
|
||||
--replace /usr/bin/tar ${gnutar}/bin/tar
|
||||
|
||||
substituteInPlace src/input/mpegts/scanfile.c \
|
||||
--replace /usr/share/dvb ${dtv-scan-tables}/share/dvbv5
|
||||
|
||||
# the version detection script `support/version` reads this file if it
|
||||
# exists, so let's just use that
|
||||
echo ${version} > rpm/version
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/tvheadend \
|
||||
--prefix PATH : ${lib.makeBinPath [ bzip2 ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "TV streaming server and digital video recorder";
|
||||
longDescription = ''
|
||||
Tvheadend is a TV streaming server for Linux supporting DVB-S,
|
||||
DVB-S2, DVB-C, DVB-T, ATSC, IPTV,SAT>IP and other formats
|
||||
through the unix pipe as input sources.
|
||||
'';
|
||||
homepage = "https://tvheadend.org";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ simonvandel ];
|
||||
mainProgram = "tvheadend";
|
||||
};
|
||||
}
|
@ -1494,6 +1494,7 @@ mapAliases ({
|
||||
trustedGrub-for-HP = throw "trustedGrub-for-HP has been removed, because it is not maintained upstream anymore"; # Added 2023-05-10
|
||||
tumpa = throw "tumpa has been removed, as it is broken"; # Added 2024-07-15
|
||||
tvbrowser-bin = tvbrowser; # Added 2023-03-02
|
||||
tvheadend = throw "tvheadend has been removed as it nobody was willing to maintain it and it 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
|
||||
typst-fmt = typstfmt; # Added 2023-07-15
|
||||
typst-preview = throw "The features of 'typst-preview' have been consolidated to 'tinymist', an all-in-one language server for typst"; # Added 2024-07-07
|
||||
|
||||
|
@ -39115,8 +39115,6 @@ with pkgs;
|
||||
|
||||
tvbrowser = callPackage ../applications/misc/tvbrowser { };
|
||||
|
||||
tvheadend = callPackage ../servers/tvheadend { };
|
||||
|
||||
twitch-cli = callPackage ../development/tools/twitch-cli { };
|
||||
|
||||
uacme = callPackage ../tools/admin/uacme { };
|
||||
|
Loading…
Reference in New Issue
Block a user