mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-30 02:42:59 +00:00
68927918d0
The indentation stripping semantics of strings are fairly bad and have a few gotchas where the resulting string has not the intended indentation. This commit fixes most if not all such instances in Nixpkgs. I tried to strive a balance between keeping the diff small and reformatting/refactoring the code to look better. In general, reformatting should be left to Nixfmt. Note that this causes a lot of rebuilds by design. All changes need to be thoroughly vetted and reviewed for correctness. There is no automatic way to prove correctness. List of files to fix generated by running https://gerrit.lix.systems/c/lix/+/2092 on Nixpkgs and looking at the warnings.
70 lines
2.2 KiB
Nix
70 lines
2.2 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, autoreconfHook
|
|
, ncurses
|
|
, libxcrypt
|
|
, utmp
|
|
, pam ? null
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "screen";
|
|
version = "4.9.1";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnu/screen/screen-${version}.tar.gz";
|
|
hash = "sha256-Js7z48QlccDUhK1vrxEMXBUJH7+HKwb6eqR2bHQFrGk=";
|
|
};
|
|
|
|
configureFlags = [
|
|
"--enable-telnet"
|
|
"--enable-pam"
|
|
"--with-sys-screenrc=/etc/screenrc"
|
|
"--enable-colors256"
|
|
"--enable-rxvt_osc"
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
autoreconfHook
|
|
];
|
|
buildInputs = [
|
|
ncurses
|
|
libxcrypt
|
|
] ++ lib.optional stdenv.hostPlatform.isLinux pam
|
|
++ lib.optional stdenv.hostPlatform.isDarwin utmp;
|
|
|
|
doCheck = true;
|
|
|
|
meta = with lib; {
|
|
homepage = "https://www.gnu.org/software/screen/";
|
|
description = "Window manager that multiplexes a physical terminal";
|
|
license = licenses.gpl3Plus;
|
|
|
|
longDescription = ''
|
|
GNU Screen is a full-screen window manager that multiplexes a physical
|
|
terminal between several processes, typically interactive shells.
|
|
Each virtual terminal provides the functions of the DEC VT100
|
|
terminal and, in addition, several control functions from the ANSI
|
|
X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line
|
|
and support for multiple character sets). There is a scrollback
|
|
history buffer for each virtual terminal and a copy-and-paste
|
|
mechanism that allows the user to move text regions between windows.
|
|
When screen is called, it creates a single window with a shell in it
|
|
(or the specified command) and then gets out of your way so that you
|
|
can use the program as you normally would. Then, at any time, you
|
|
can create new (full-screen) windows with other programs in them
|
|
(including more shells), kill the current window, view a list of the
|
|
active windows, turn output logging on and off, copy text between
|
|
windows, view the scrollback history, switch between windows, etc.
|
|
All windows run their programs completely independent of each other.
|
|
Programs continue to run when their window is currently not visible
|
|
and even when the whole screen session is detached from the users
|
|
terminal.
|
|
'';
|
|
|
|
platforms = platforms.unix;
|
|
maintainers = [ ];
|
|
};
|
|
}
|