Merge staging-next into staging
This commit is contained in:
commit
4d6fb18c10
@ -178,6 +178,16 @@ in {
|
||||
description = lib.mdDoc "List of plugins to install.";
|
||||
example = lib.literalExpression "[ pkgs.tmuxPlugins.nord ]";
|
||||
};
|
||||
|
||||
withUtempter = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable libutempter for tmux.
|
||||
This is required so that tmux can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).
|
||||
Note, this will add a guid wrapper for the group utmp!
|
||||
'';
|
||||
default = true;
|
||||
type = types.bool;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -193,6 +203,15 @@ in {
|
||||
TMUX_TMPDIR = lib.optional cfg.secureSocket ''''${XDG_RUNTIME_DIR:-"/run/user/$(id -u)"}'';
|
||||
};
|
||||
};
|
||||
security.wrappers = mkIf cfg.withUtempter {
|
||||
utempter = {
|
||||
source = "${pkgs.libutempter}/lib/utempter/utempter";
|
||||
owner = "root";
|
||||
group = "utmp";
|
||||
setuid = false;
|
||||
setgid = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
@ -9,6 +9,10 @@ let
|
||||
configurationDirectory = "/etc/${configurationDirectoryName}";
|
||||
stateDirectory = "/var/lib/${configurationPrefix}containers";
|
||||
|
||||
nixos-container = pkgs.nixos-container.override {
|
||||
inherit stateDirectory configurationDirectory;
|
||||
};
|
||||
|
||||
# The container's init script, a small wrapper around the regular
|
||||
# NixOS stage-2 init script.
|
||||
containerInit = (cfg:
|
||||
@ -250,7 +254,7 @@ let
|
||||
ExecReload = pkgs.writeScript "reload-container"
|
||||
''
|
||||
#! ${pkgs.runtimeShell} -e
|
||||
${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \
|
||||
${nixos-container}/bin/nixos-container run "$INSTANCE" -- \
|
||||
bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test"
|
||||
'';
|
||||
|
||||
@ -868,9 +872,7 @@ in
|
||||
'';
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.nixos-container.override {
|
||||
inherit stateDirectory configurationDirectory;
|
||||
})
|
||||
nixos-container
|
||||
];
|
||||
|
||||
boot.kernelModules = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freetube";
|
||||
version = "0.17.1";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
|
||||
sha256 = "1n5r1h2khjwdsckiviv8f2pflxibk8rs68fs08jak0kbm0kkyj18";
|
||||
sha256 = "sha256-7IxmlkExM8Q1yyq44ajZ6on4EMPyGt23QmzmBZmofts=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
@ -4,17 +4,19 @@ with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libutempter";
|
||||
version = "1.1.6";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://ubuntu/pool/main/libu/libutempter/libutempter_${version}.orig.tar.bz2";
|
||||
sha256 = "15y3xbgznjxnfmix4xg3bwmqdvghdw7slbhazb0ybmyf65gmd65q";
|
||||
url = "http://ftp.altlinux.org/pub/people/ldv/utempter/libutempter-${version}.tar.gz";
|
||||
sha256 = "sha256-ln/vNy85HeUBhDrYdXDGz12r2WUfAPF4MJD7wSsqNMs=";
|
||||
};
|
||||
|
||||
buildInputs = [ glib ];
|
||||
|
||||
patches = [ ./exec_path.patch ];
|
||||
|
||||
patchFlags = [ "-p2" ];
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace Makefile --replace 2711 0711
|
||||
'';
|
||||
@ -27,6 +29,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/altlinux/libutempter";
|
||||
description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files";
|
||||
longDescription = ''
|
||||
The bundled utempter binary must be able to run as a user belonging to group utmp.
|
||||
|
@ -1,19 +1,28 @@
|
||||
diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
|
||||
--- libutempter-1.1.6/iface.c 2010-11-04 18:14:53.000000000 +0100
|
||||
+++ libutempter-1.1.6.patched/iface.c 2018-06-06 15:09:11.417755549 +0200
|
||||
@@ -60,9 +60,9 @@
|
||||
diff --git a/libutempter/iface.c b/libutempter/iface.c
|
||||
index 37c74a8..6f44c9a 100644
|
||||
--- a/libutempter/iface.c
|
||||
+++ b/libutempter/iface.c
|
||||
@@ -43,7 +43,7 @@
|
||||
__result; }))
|
||||
#endif
|
||||
|
||||
-#define UTEMPTER_DEFAULT_PATHNAME LIBEXECDIR "/utempter/utempter"
|
||||
+#define UTEMPTER_DEFAULT_PATHNAME "utempter"
|
||||
|
||||
static const char *utempter_pathname;
|
||||
static int saved_fd = -1;
|
||||
@@ -57,8 +57,8 @@ do_child(int master_fd, const char *path, char *const *argv)
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
- execv(path, argv);
|
||||
- print_dbg("execv: %s", strerror(errno));
|
||||
+ execvp(path, argv);
|
||||
#ifdef UTEMPTER_DEBUG
|
||||
- fprintf(stderr, "libutempter: execv: %s\n", strerror(errno));
|
||||
+ fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno));
|
||||
#endif
|
||||
+ print_dbg("execvp: %s", strerror(errno));
|
||||
|
||||
while (EACCES == errno)
|
||||
@@ -79,7 +79,7 @@
|
||||
while (EACCES == errno) {
|
||||
/* try saved group ID */
|
||||
@@ -73,7 +73,7 @@ do_child(int master_fd, const char *path, char *const *argv)
|
||||
if (setgid(sgid))
|
||||
break;
|
||||
|
||||
@ -21,5 +30,3 @@ diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
|
||||
+ (void) execvp(path, argv);
|
||||
break;
|
||||
}
|
||||
|
||||
Only in libutempter-1.1.6.patched: result
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchPypi
|
||||
, fetchpatch
|
||||
, python
|
||||
, pythonOlder
|
||||
, buildPythonPackage
|
||||
@ -28,6 +29,13 @@ buildPythonPackage rec {
|
||||
sha256 = "sha256-+8XAXIXBoCvnex/1kQh8g7xEV5xtK9n7eYu2TqXhoCc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/scipy/scipy/commit/318d8c6d16fdf000be8637e9917989729f2c8ce7.diff";
|
||||
sha256 = "sha256-Zfb9GYP0r9MDJ91hSzMN1r4eNilajPThNIvZmDzFEXo=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cython gfortran meson-python pythran pkg-config wheel ];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,13 +1,17 @@
|
||||
{ lib
|
||||
, flutter2
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
flutter2.mkFlutterApp {
|
||||
pname = "firmware-updater";
|
||||
version = "unstable";
|
||||
|
||||
vendorHash = "sha256-7uOiebGBcX61oUyNCi1h9KldTRTrCfYaHUQSH4J5OoQ=";
|
||||
vendorHash =
|
||||
if stdenv.system == "aarch64-linux"
|
||||
then "sha256-+ACmcIKXtGtaYBuwc7jY9hEdIS9qxQCbuxRKJQohX5A="
|
||||
else "sha256-nPblucEpNCBJYpIqx1My6SWq8CjXYuHDG/uphdcrWjQ=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "canonical";
|
||||
|
@ -8,6 +8,7 @@
|
||||
, pkg-config
|
||||
, withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic, systemd
|
||||
, utf8proc
|
||||
, withUtempter ? stdenv.isLinux && !stdenv.hostPlatform.isMusl, libutempter
|
||||
}:
|
||||
|
||||
let
|
||||
@ -44,12 +45,14 @@ stdenv.mkDerivation rec {
|
||||
ncurses
|
||||
libevent
|
||||
] ++ lib.optionals withSystemd [ systemd ]
|
||||
++ lib.optionals stdenv.isDarwin [ utf8proc ];
|
||||
++ lib.optionals stdenv.isDarwin [ utf8proc ]
|
||||
++ lib.optionals withUtempter [ libutempter ];
|
||||
|
||||
configureFlags = [
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
] ++ lib.optionals withSystemd [ "--enable-systemd" ]
|
||||
++ lib.optionals withUtempter [ "--enable-utempter" ]
|
||||
++ lib.optionals stdenv.isDarwin [ "--enable-utf8proc" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
|
||||
patches = [
|
||||
./ssh_path.patch
|
||||
./mosh-client_path.patch
|
||||
./utempter_path.patch
|
||||
# Fix build with bash-completion 2.10
|
||||
./bash_completion_datadir.patch
|
||||
];
|
||||
|
@ -1,14 +0,0 @@
|
||||
diff -ur mosh-1.3.2/src/frontend/mosh-server.cc mosh-1.3.2.patched/src/frontend/mosh-server.cc
|
||||
--- mosh-1.3.2/src/frontend/mosh-server.cc 2017-07-22 23:14:53.000000000 +0200
|
||||
+++ mosh-1.3.2.patched/src/frontend/mosh-server.cc 2018-06-06 10:45:50.725352804 +0200
|
||||
@@ -351,6 +351,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#ifdef HAVE_UTEMPTER
|
||||
+ utempter_set_helper( "utempter" );
|
||||
+#endif
|
||||
+
|
||||
try {
|
||||
return run_server( desired_ip, desired_port, command_path, command_argv, colors, verbose, with_motd );
|
||||
} catch ( const Network::NetworkException &e ) {
|
@ -7,12 +7,12 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "pass2csv";
|
||||
version = "0.3.2";
|
||||
version = "1.0.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "03a11bd0b0905737f4adb21d87aa1653d84cc1d9b5dcfdfb8a29092245d65db8";
|
||||
sha256 = "sha256-a/PQl/nqdj9xOM2hfAIiLuGy5F4KmEWFJihZ4gilaJw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ssh-to-age";
|
||||
version = "1.0.2";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mic92";
|
||||
repo = "ssh-to-age";
|
||||
rev = version;
|
||||
sha256 = "sha256-sjiOmIoFyl1Kr4RKg1TqXJNIq2/HF91oxDLtRDa+eWw=";
|
||||
sha256 = "sha256-tasR0p+8Y315zngWbDPUmn4O/SaIw+gKGPLT5FGymuo=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-Xi5aJAYgbtrDq7KBAfZR1LT5/jbslwEa70qaFqW4vcQ=";
|
||||
vendorSha256 = "sha256-1iDFM6KNsvvwOTg05TAJZvHVTv+Gc0nG0STzNdk0NB4=";
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
@ -6468,7 +6468,6 @@ with pkgs;
|
||||
|
||||
exempi = callPackage ../development/libraries/exempi {
|
||||
stdenv = if stdenv.isDarwin then stdenv
|
||||
else if stdenv.isi686 then gcc6Stdenv
|
||||
else gcc9Stdenv;
|
||||
boost = if stdenv.isDarwin then boost else boost15x;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user