summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-04-07 12:06:23 +0000
committerGitHub <noreply@github.com>2021-04-07 12:06:23 +0000
commit1d48804dab8a67e1891d7cb1f0517f52e62d270b (patch)
tree96fcd4bc79fd0ffa521d13eecf9c45eabedcd3c8 /pkgs
parent714ef27ffef04d18f07310a752f178ffddec395f (diff)
parentde679c57ca579974f35fab5444c7892ceb16230a (diff)
downloadnixpkgs-1d48804dab8a67e1891d7cb1f0517f52e62d270b.tar
nixpkgs-1d48804dab8a67e1891d7cb1f0517f52e62d270b.tar.gz
nixpkgs-1d48804dab8a67e1891d7cb1f0517f52e62d270b.tar.bz2
nixpkgs-1d48804dab8a67e1891d7cb1f0517f52e62d270b.tar.lz
nixpkgs-1d48804dab8a67e1891d7cb1f0517f52e62d270b.tar.xz
nixpkgs-1d48804dab8a67e1891d7cb1f0517f52e62d270b.tar.zst
nixpkgs-1d48804dab8a67e1891d7cb1f0517f52e62d270b.zip
Merge master into staging-next
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/snapcast/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix9
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix13
-rw-r--r--pkgs/applications/virtualization/umoci/default.nix8
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix13
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix7
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix2
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix2
-rw-r--r--pkgs/development/tools/krankerl/default.nix49
-rw-r--r--pkgs/games/uhexen2/default.nix66
-rw-r--r--pkgs/misc/rkdeveloptool/default.nix9
-rw-r--r--pkgs/servers/adguardhome/default.nix4
-rw-r--r--pkgs/servers/nzbhydra2/default.nix4
-rw-r--r--pkgs/tools/misc/betterdiscord-installer/default.nix32
-rw-r--r--pkgs/tools/misc/poweralertd/default.nix42
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix7
18 files changed, 253 insertions, 38 deletions
diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix
index 681601c7d88..18d073caba7 100644
--- a/pkgs/applications/audio/snapcast/default.nix
+++ b/pkgs/applications/audio/snapcast/default.nix
@@ -20,8 +20,8 @@ let
 
   aixlog = dependency {
     name    = "aixlog";
-    version = "1.4.0";
-    sha256  = "0f2bs5j1jjajcpa251dslnwkgglaam3b0cm6wdx5l7mbwvnmib2g";
+    version = "1.5.0";
+    sha256  = "09mnkrans9zmwfxsiwgkm0rba66c11kg5zby9x3rjic34gnmw6ay";
   };
 
   popl = dependency {
@@ -34,13 +34,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "snapcast";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner  = "badaix";
     repo   = "snapcast";
     rev    = "v${version}";
-    sha256 = "0183hhghzn0fhw2qzc1s009q7miabpcf0pxaqjdscsl8iivxqknd";
+    sha256 = "13yz8alplnqwkcns3mcli01qbyy6l3h62xx0v71ygcrz371l4g9g";
   };
 
   nativeBuildInputs = [ cmake pkg-config boost170.dev ];
@@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
     description = "Synchronous multi-room audio player";
     homepage = "https://github.com/badaix/snapcast";
     maintainers = with maintainers; [ fpletz ];
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 0474f21a2b9..29a69b40192 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -27,6 +27,15 @@ stdenv.mkDerivation rec {
     sha256 = "0wy1hb3kz3k4gqqwx308n37cqag2d017jwfz0b5s30nkx2pbwspw";
   };
 
+  patches = [
+    # Fixes https://github.com/dino/dino/issues/1010 (double' is not a supported generic type argument)
+    (fetchpatch {
+      name = "dino-vala-boxing.patch";
+      url = "https://github.com/dino/dino/commit/9acb54df9254609f2fe4de83c9047d408412de28.patch";
+      sha256 = "1jz4r7d8b1ljwgq846wihp864b6gjdkgh6fnmxh13b2i10x52xsm";
+    })
+  ];
+
   nativeBuildInputs = [
     vala
     cmake
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index cde73fcc7ce..83cc029c089 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles
+, makeWrapper
+, enableCmount ? true, fuse, macfuse-stubs
+}:
 
 buildGoModule rec {
   pname = "rclone";
@@ -17,9 +20,11 @@ buildGoModule rec {
 
   outputs = [ "out" "man" ];
 
-  nativeBuildInputs = [ installShellFiles ];
+  buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse);
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/rclone/rclone/fs.Version=${version}" ];
+  buildFlagsArray = lib.optionals enableCmount [ "-tags=cmount" ]
+    ++ [ "-ldflags=-s -w -X github.com/rclone/rclone/fs.Version=${version}" ];
 
   postInstall =
     let
@@ -34,6 +39,8 @@ buildGoModule rec {
         ${rcloneBin}/bin/rclone genautocomplete $shell rclone.$shell
         installShellCompletion rclone.$shell
       done
+    '' + lib.optionalString (enableCmount && !stdenv.isDarwin) ''
+      wrapProgram $out/bin/rclone --prefix LD_LIBRARY_PATH : "${fuse}/lib"
     '';
 
   meta = with lib; {
diff --git a/pkgs/applications/virtualization/umoci/default.nix b/pkgs/applications/virtualization/umoci/default.nix
index bef40bef87b..82e6ca9086f 100644
--- a/pkgs/applications/virtualization/umoci/default.nix
+++ b/pkgs/applications/virtualization/umoci/default.nix
@@ -3,17 +3,18 @@
 , buildGoModule
 , go-md2man
 , installShellFiles
+, bash
 }:
 
 buildGoModule rec {
   pname = "umoci";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "umoci";
     rev = "v${version}";
-    sha256 = "0jaar26l940yh77cs31c3zndiycp85m3fz4zivcibzi68g6n6yzg";
+    sha256 = "0in8kyi4jprvbm3zsl3risbjj8b0ma62yl3rq8rcvcgypx0mn7d4";
   };
 
   vendorSha256 = null;
@@ -25,7 +26,8 @@ buildGoModule rec {
   nativeBuildInputs = [ go-md2man installShellFiles ];
 
   postInstall = ''
-    sed -i '/SHELL =/d' Makefile
+    substituteInPlace Makefile --replace \
+      '$(shell which bash)' '${lib.getBin bash}/bin/bash'
     make docs
     installManPage doc/man/*.[1-9]
   '';
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index a1612680b25..b7efc37ae04 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -1,17 +1,16 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, alsaLib
+{ lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, alsaLib
 , libjack2, libsndfile, fftw, curl, gcc
 , libXt, qtbase, qttools, qtwebengine
 , readline, qtwebsockets, useSCEL ? false, emacs
 }:
 
-let optional = lib.optional;
+let
+  inherit (lib) optional;
 in
-
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "supercollider";
   version = "3.11.2";
 
-
   src = fetchurl {
     url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2";
     sha256 = "wiwyxrxIJnHU+49RZy33Etl6amJ3I1xNojEpEDA6BQY=";
@@ -31,13 +30,11 @@ stdenv.mkDerivation rec {
       ++ optional (!stdenv.isDarwin) alsaLib
       ++ optional useSCEL emacs;
 
-  dontWrapQtApps = true;
-
   meta = with lib; {
     description = "Programming language for real time audio synthesis";
     homepage = "https://supercollider.github.io";
     maintainers = with maintainers; [ mrmebelman ];
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = [ "x686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 3946170c78c..52a43d0d113 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
   python, twisted, jinja2, zope_interface, sqlalchemy,
-  sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
+  sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, unidiff, treq,
   txrequests, pypugjs, boto3, moto, mock, python-lz4, setuptoolsTrial,
   isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
   parameterized, git, openssh, glibcLocales, ldap3, nixosTests }:
@@ -25,11 +25,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "3.0.2";
+    version = "3.1.0";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0iywcvq1sx9z5f37pw7g9qqm19fr3bymzawb0i2afm737hxr2xfp";
+      sha256 = "1b9m9l8bz2slkrq0l5z8zd8pd0js5w4k7dam8bdp00kv3aln4si9";
     };
 
     propagatedBuildInputs = [
@@ -44,6 +44,7 @@ let
       autobahn
       pyjwt
       pyyaml
+      unidiff
     ]
       # tls
       ++ twisted.extras.tls;
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 98666faee43..4c17eb2b6e5 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vraxisvgnl9q2rgsmfdh1ywja125s97xqicrdx9mbmrwaka2a40";
+    sha256 = "0bv1qq4cf24cklxfqfnkhjb6w4xqcp3afdcan75n6v7mnwqxyyvr";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index b2d7cc38bed..042bddc1d12 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -7,7 +7,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0lzlghgsb247w0aw0x7vqw4f980kfbbbvjw48fcq9951qcqkr1sf";
+      sha256 = "1a40fbmbf4gb0hgpr40yr9fb17ynxwi6vj8hvv3mm1fm9nqiggm1";
     };
 
     # Remove unneccessary circular dependency on buildbot
@@ -34,7 +34,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1sqmmxxi0npjcha3xfyy4ldqaks8hmlhilnyvzsfi56n9s96z1cj";
+      sha256 = "1fcm4h489sb5a1hk82y1a8575s4k6qd82qkfbm2q5gd14bdvysb0";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -56,7 +56,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1w4mf8gi71ycf0m93cv1qqly36xnnrmpangzv0pvx23czs96lcms";
+      sha256 = "1qw9g2maixlcm5l1kpmc721b2p4b7adw5rsimlqcjz96mjya7acj";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -78,7 +78,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1a9ssl0plzrs150n958h7aasm0h64whixckfl1y2y3750qy3vrd2";
+      sha256 = "1q0fm2h4alcck6g8fwwd42jsmkw3gdy9xmw1p78xnvk5dgs6cf9c";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -100,7 +100,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1wcli3vymsqc720jj23ir86lirshb3p8szp7m21lz13g9mpj0idl";
+      sha256 = "0n8q607rl1qs012gpkxpq1n7ny8306n4vr3hjlz96pm60a7j7904";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index d9dea034eab..242849e2c79 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -7,7 +7,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xvn0m8vijzfrm5sdls3n4ca8iyrnxsprl6dj15f7zy9rms4m47p";
+    sha256 = "0n5p9x9gz276nv1m8vn3d74jfbd35gff332cjxxqvabk06iqcjp6";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/development/tools/krankerl/default.nix b/pkgs/development/tools/krankerl/default.nix
new file mode 100644
index 00000000000..b771fe6bfc5
--- /dev/null
+++ b/pkgs/development/tools/krankerl/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, openssl
+, dbus
+, sqlite
+, file
+, gzip
+, makeWrapper
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "krankerl";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "ChristophWurst";
+    repo = "krankerl";
+    rev = "v${version}";
+    sha256 = "1gp8b2m8kcz2f16zv9xwv4n1zki6imvz9z31kixh6amdj6fif3d1";
+  };
+
+  cargoSha256 = "sha256:01hcxs14wwhhvr08x816wa3jcm4zvm6g7vais793cgijipyv00rc";
+
+  nativeBuildInputs = [
+    pkg-config
+    gzip
+    makeWrapper
+  ];
+
+  buildInputs = [
+    openssl
+    dbus
+    sqlite
+  ];
+
+  checkInputs = [
+    file
+  ];
+
+  meta = with lib; {
+    description = "A CLI helper to manage, package and publish Nextcloud apps";
+    homepage = "https://github.com/ChristophWurst/krankerl";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/games/uhexen2/default.nix b/pkgs/games/uhexen2/default.nix
new file mode 100644
index 00000000000..dac081cd7b4
--- /dev/null
+++ b/pkgs/games/uhexen2/default.nix
@@ -0,0 +1,66 @@
+{ lib, fetchgit, SDL, stdenv, libogg, libvorbis, libmad, xdelta }:
+
+stdenv.mkDerivation rec {
+  name = "uhexen2";
+  version = "1.5.9";
+
+  src = fetchgit {
+    url = "https://git.code.sf.net/p/uhexen2/uhexen2";
+    sha256 = "0crdihbnb92awkikn15mzdpkj1x9s34xixf1r7fxxf762m60niks";
+    rev = "4ef664bc41e3998b0d2a55ff1166dadf34c936be";
+  };
+
+  buildInputs = [ SDL libogg libvorbis libmad xdelta ];
+
+  preBuild = ''
+    makeFiles=(
+        "engine/hexen2 glh2"
+        "engine/hexen2 clean"
+        "engine/hexen2 h2"
+        "engine/hexen2/server"
+        "engine/hexenworld/client glhw"
+        "engine/hexenworld/client clean"
+        "engine/hexenworld/client hw"
+        "engine/hexenworld/server"
+        "h2patch"
+    )
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    for makefile in "''${makeFiles[@]}"; do
+          local flagsArray=(
+            -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES
+            SHELL=$SHELL
+            $makeFlags "''${makeFlagsArray[@]}"
+            $buildFlags "''${buildFlagsArray[@]}"
+          )
+          echoCmd 'build flags' ""''${flagsArray[@]}""
+          make  -C $makefile ""''${flagsArray[@]}""
+          unset flagsArray
+    done
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 engine/hexen2/{glhexen2,hexen2,server/h2ded} -t $out/bin
+    install -Dm755 engine/hexenworld/{client/glhwcl,client/hwcl,server/hwsv} -t $out/bin
+    install -Dm755 h2patch/h2patch -t $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A cross-platform port of Hexen II game";
+    longDescription = ''
+      Hammer of Thyrion (uHexen2) is a cross-platform port of Raven Software's Hexen II source.
+      It is based on an older linux port, Anvil of Thyrion.
+      HoT includes countless bug fixes, improved music, sound and video modes, opengl improvements,
+      support for many operating systems and architectures, and documentation among many others.
+    '';
+    homepage = "http://uhexen2.sourceforge.net/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ xdhampus ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/misc/rkdeveloptool/default.nix b/pkgs/misc/rkdeveloptool/default.nix
index 9ef7013fbfd..517a8cc6532 100644
--- a/pkgs/misc/rkdeveloptool/default.nix
+++ b/pkgs/misc/rkdeveloptool/default.nix
@@ -2,19 +2,22 @@
 
 stdenv.mkDerivation {
   pname = "rkdeveloptool";
-  version = "unstable-2019-07-01";
+  version = "unstable-2021-02-03";
 
   src = fetchFromGitHub {
     owner = "rockchip-linux";
     repo = "rkdeveloptool";
-    rev = "6e92ebcf8b1812da02663494a68972f956e490d3";
-    sha256 = "0zwrkqfxd671iy69v3q0844gfdpm1yk51i9qh2rqc969bd8glxga";
+    rev = "e607a5d6ad3f6af66d3daf3f6370e6dc9763a20d";
+    sha256 = "08m0yfds5rpr5l0s75ynfarq3hrv94l3aadld17cz5gqapqcfs2n";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [ libusb1 ];
 
+  # main.cpp:1568:36: error: '%s' directive output may be truncated writing up to 557 bytes into a region of size 5
+  CPPFLAGS = "-Wno-error=format-truncation";
+
   meta = with lib; {
     homepage = "https://github.com/rockchip-linux/rkdeveloptool";
     description = "A tool from Rockchip to communicate with Rockusb devices";
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index b62de105702..87de7589ae9 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "adguardhome";
-  version = "0.104.3";
+  version = "0.105.2";
 
   src = fetchurl {
     url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v${version}/AdGuardHome_linux_amd64.tar.gz";
-    sha256 = "0p660d1nvaigyjc39xq5ar775davcbdgf0dh1z6gl3v4gx1h7bkn";
+    sha256 = "1gpaqyczidsy7h05g318zc83swvwninidddlmlq3hgs8s7ibk2cb";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nzbhydra2/default.nix b/pkgs/servers/nzbhydra2/default.nix
index aab3952e9ed..3aef89ecd8f 100644
--- a/pkgs/servers/nzbhydra2/default.nix
+++ b/pkgs/servers/nzbhydra2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nzbhydra2";
-  version = "3.8.0";
+  version = "3.13.2";
 
   src = fetchzip {
     url = "https://github.com/theotherp/${pname}/releases/download/v${version}/${pname}-${version}-linux.zip";
-    sha512 = "1gybricq26hixr5cmw1iwyax7h17d0n5wqzhrx727xda1x35jfjp5ynjdkxzysbfhs1za6vy54bpm0sda4nkrh16p0xqnz3nsd4hvzh";
+    sha512 = "2pi91y966qnq6q9qqnhglmbj4610jxyyqxiwa8zfmb8r48mzwzy3q5ga00h9qbhi6a8ghrfh1yvj4h9m17gk7l3rc5fw0r3mrk437nj";
     stripRoot = false;
   };
 
diff --git a/pkgs/tools/misc/betterdiscord-installer/default.nix b/pkgs/tools/misc/betterdiscord-installer/default.nix
new file mode 100644
index 00000000000..d74a914ba65
--- /dev/null
+++ b/pkgs/tools/misc/betterdiscord-installer/default.nix
@@ -0,0 +1,32 @@
+{ appimageTools, lib, fetchurl }:
+let
+  pname = "betterdiscord-installer";
+  version = "1.0.0-beta";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/BetterDiscord/Installer/releases/download/v${version}/Betterdiscord-Linux.AppImage";
+    sha256 = "103acb11qmvjmf6g9lgsfm5jyahfwfdqw0x9w6lmv1hzwbs26dsr";
+  };
+
+  appimageContents = appimageTools.extract { inherit name src; };
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+
+    install -m 444 -D ${appimageContents}/betterdiscord.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/betterdiscord.desktop \
+      --replace "Exec=AppRun" "Exec=$out/bin/${pname}"
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "Installer for BetterDiscord";
+    homepage = "https://betterdiscord.net";
+    license = licenses.mit;
+    maintainers = [ maintainers.ivar ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/poweralertd/default.nix b/pkgs/tools/misc/poweralertd/default.nix
new file mode 100644
index 00000000000..a00a5b9a402
--- /dev/null
+++ b/pkgs/tools/misc/poweralertd/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchFromSourcehut, meson, ninja, pkg-config, scdoc, systemd }:
+
+stdenv.mkDerivation rec {
+  pname = "poweralertd";
+  version = "0.1.0";
+
+  outputs = [ "out" "man" ];
+
+  src = fetchFromSourcehut {
+    owner = "~kennylevinsen";
+    repo = "poweralertd";
+    rev = version;
+    sha256 = "136xcrp7prilh905a6v933vryqy20l7nw24ahc4ycax8f0s906x9";
+  };
+
+  patchPhase = ''
+    substituteInPlace meson.build --replace "systemd.get_pkgconfig_variable('systemduserunitdir')" "'${placeholder "out"}/lib/systemd/user'"
+  '';
+
+  buildInputs = [
+    systemd
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  depsBuildBuild = [
+    scdoc
+    pkg-config
+  ];
+
+  meta = with lib; {
+    description = "UPower-powered power alerter";
+    homepage = "https://git.sr.ht/~kennylevinsen/poweralertd";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ thibautmarty ];
+  };
+}
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 8afd9786564..fa17bea8585 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2021.04.01";
+  version = "2021.04.07";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1vw9l32bv115129v1lfar626y3vivvxkp36bc1phjcrsjfayz67h";
+    sha256 = "02d51l6gdjr3zhhi7ydf5kzv8dv4jzq0ygja7zb2h9k7hnl0l27m";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7526d2a00da..2bccd8e2868 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1102,6 +1102,8 @@ in
 
   betterdiscordctl = callPackage ../tools/misc/betterdiscordctl { };
 
+  betterdiscord-installer = callPackage ../tools/misc/betterdiscord-installer { };
+
   brakeman = callPackage ../development/tools/analysis/brakeman { };
 
   brewtarget = libsForQt514.callPackage ../applications/misc/brewtarget { } ;
@@ -2866,6 +2868,8 @@ in
 
   playerctl = callPackage ../tools/audio/playerctl { };
 
+  poweralertd = callPackage ../tools/misc/poweralertd { };
+
   ps_mem = callPackage ../tools/system/ps_mem { };
 
   psstop = callPackage ../tools/system/psstop { };
@@ -12886,6 +12890,7 @@ in
 
   khronos-ocl-icd-loader = callPackage ../development/libraries/khronos-ocl-icd-loader {  };
 
+  krankerl = callPackage ../development/tools/krankerl { };
 
   krew = callPackage ../development/tools/krew { };
 
@@ -27999,6 +28004,8 @@ in
 
   ufoai = callPackage ../games/ufoai { };
 
+  uhexen2 = callPackage ../games/uhexen2 { };
+
   ultimatestunts = callPackage ../games/ultimatestunts { };
 
   ultrastar-creator = libsForQt5.callPackage ../tools/misc/ultrastar-creator { };