nixpkgs/pkgs/by-name/ra/ratpoison/package.nix
Silvan Mosberger 4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00

96 lines
2.0 KiB
Nix

{
lib,
stdenv,
fetchurl,
autoreconfHook,
fontconfig,
freetype,
libX11,
libXft,
libXi,
libXpm,
libXrandr,
libXt,
libXtst,
perl,
pkg-config,
readline,
texinfo,
xorgproto,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ratpoison";
version = "1.4.9";
src = fetchurl {
url = "mirror://savannah/ratpoison/ratpoison-${finalAttrs.version}.tar.xz";
hash = "sha256-2Y+kvgJezKRTxAf/MRqzlJ8p8g1tir7fjwcWuF/I0fE=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
texinfo
];
buildInputs = [
fontconfig
freetype
libX11
libXft
libXi
libXpm
libXrandr
libXt
libXtst
perl
readline
xorgproto
];
outputs = [
"out"
"contrib"
"man"
"doc"
"info"
];
strictDeps = true;
configureFlags = [
# >=1.4.9 requires this even with readline in inputs
"--enable-history"
];
postInstall = ''
mkdir -p $contrib/{bin,share}
mv $out/bin/rpws $contrib/bin
mv $out/share/ratpoison $contrib/share
'';
meta = {
homepage = "https://www.nongnu.org/ratpoison/";
description = "Simple mouse-free tiling window manager";
longDescription = ''
Ratpoison is a simple window manager with no fat library
dependencies, no fancy graphics, no window decorations, and no
rodent dependence. It is largely modelled after GNU Screen which
has done wonders in the virtual terminal market.
The screen can be split into non-overlapping frames. All windows
are kept maximized inside their frames to take full advantage of
your precious screen real estate.
All interaction with the window manager is done through keystrokes.
Ratpoison has a prefix map to minimize the key clobbering that
cripples Emacs and other quality pieces of software.
'';
license = lib.licenses.gpl2Plus;
mainProgram = "ratpoison";
maintainers = with lib.maintainers; [ AndersonTorres ];
inherit (libX11.meta) platforms;
};
})