diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix
index a261b8760780..f96b5f3e1942 100644
--- a/nixos/modules/services/audio/snapserver.nix
+++ b/nixos/modules/services/audio/snapserver.nix
@@ -65,7 +65,7 @@ let
in {
imports = [
- (mkRenamedOptionModule [ "services" "snapserver" "controlPort"] [ "services" "snapserver" "tcp" "port" ])
+ (mkRenamedOptionModule [ "services" "snapserver" "controlPort" ] [ "services" "snapserver" "tcp" "port" ])
];
###### interface
@@ -200,12 +200,21 @@ in {
location = mkOption {
type = types.oneOf [ types.path types.str ];
description = ''
- The location of the pipe, file, Librespot/Airplay/process binary, or a TCP address.
- Use an empty string for alsa.
+ For type pipe or file, the path to the pipe or file.
+ For type librespot, airplay or process, the path to the corresponding binary.
+ For type tcp, the host:port address to connect to or listen on.
+ For type meta, a list of stream names in the form /one/two/.... Don't forget the leading slash.
+ For type alsa, use an empty string.
+ '';
+ example = literalExample ''
+ "/path/to/pipe"
+ "/path/to/librespot"
+ "192.168.1.2:4444"
+ "/MyTCP/Spotify/MyPipe"
'';
};
type = mkOption {
- type = types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" ];
+ type = types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" "meta" ];
default = "pipe";
description = ''
The type of input stream.
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index b8bb4059dcc7..f86653f3ead2 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -119,8 +119,9 @@ let
backup = {
path = cfg.backup.path;
keep_time = cfg.backup.keepTime;
+ } // (optionalAttrs (cfg.backup.uploadOptions != {}) {
upload = cfg.backup.uploadOptions;
- };
+ });
gitlab_shell = {
path = "${cfg.packages.gitlab-shell}";
hooks_path = "${cfg.statePath}/shell/hooks";
diff --git a/nixos/modules/services/web-servers/pomerium.nix b/nixos/modules/services/web-servers/pomerium.nix
index a96df1dbf6de..2bc7d01c7c28 100644
--- a/nixos/modules/services/web-servers/pomerium.nix
+++ b/nixos/modules/services/web-servers/pomerium.nix
@@ -119,7 +119,7 @@ in
before = [ "acme-finished-${cfg.useACMEHost}.target" ];
after = [ "acme-${cfg.useACMEHost}.service" ];
# Block reloading if not all certs exist yet.
- unitConfig.ConditionPathExists = [ "${certs.${cfg.useACMEHost}.directory}/fullchain.pem" ];
+ unitConfig.ConditionPathExists = [ "${config.security.acme.certs.${cfg.useACMEHost}.directory}/fullchain.pem" ];
serviceConfig = {
Type = "oneshot";
TimeoutSec = 60;
diff --git a/nixos/tests/snapcast.nix b/nixos/tests/snapcast.nix
index 2fef63625140..ef35d586c9c8 100644
--- a/nixos/tests/snapcast.nix
+++ b/nixos/tests/snapcast.nix
@@ -34,6 +34,10 @@ in {
type = "tcp";
location = "127.0.0.1:${toString tcpStreamPort}";
};
+ meta = {
+ type = "meta";
+ location = "/mpd/bluetooth/tcp";
+ };
};
};
};
diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix
index 681601c7d884..18d073caba71 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 0474f21a2b92..29a69b401920 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 cde73fcc7ce4..83cc029c089e 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 bef40bef87b1..82e6ca9086f3 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 a1612680b256..b7efc37ae044 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 3946170c78cd..52a43d0d1137 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 98666faee434..4c17eb2b6e53 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 b2d7cc38bedf..042bddc1d124 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 d9dea034eab2..242849e2c79e 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 000000000000..b771fe6bfc5c
--- /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 000000000000..dac081cd7b44
--- /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 9ef7013fbfd1..517a8cc65328 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 b62de105702b..87de7589ae97 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 aab3952e9ed9..3aef89ecd8f1 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 000000000000..d74a914ba65c
--- /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 000000000000..a00a5b9a4026
--- /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 8afd9786564c..fa17bea85852 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 7526d2a00da0..2bccd8e28684 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 { };