diff --git a/pkgs/tools/X11/xlayoutdisplay/default.nix b/pkgs/tools/X11/xlayoutdisplay/default.nix new file mode 100644 index 000000000000..5983cd3e663a --- /dev/null +++ b/pkgs/tools/X11/xlayoutdisplay/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, xorg, boost, cmake, gtest }: + +stdenv.mkDerivation rec { + name = "xlayoutdisplay-${version}"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "alex-courtis"; + repo = "xlayoutdisplay"; + rev = "v${version}"; + sha256 = "1cqn98lpx9rkfhavbqalaaljw351hvqsrszgqnwvcyq05vq26dwx"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = with xorg; [ libX11 libXrandr libXcursor boost ]; + checkInputs = [ gtest ]; + + doCheck = true; + + # format security fixup + postPatch = '' + substituteInPlace test/test-Monitors.cpp \ + --replace 'fprintf(lidStateFile, contents);' \ + 'fputs(contents, lidStateFile);' + + ''; + + meta = with stdenv.lib; { + description = "Detects and arranges linux display outputs, using XRandR for detection and xrandr for arrangement"; + homepage = https://github.com/alex-courtis/xlayoutdisplay; + maintainers = with maintainers; [ dtzWill ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1769d5a133cf..6f43ef408d7a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23042,6 +23042,8 @@ in xinput_calibrator = callPackage ../tools/X11/xinput_calibrator { }; + xlayoutdisplay = callPackage ../tools/X11/xlayoutdisplay { }; + xlog = callPackage ../applications/misc/xlog { }; xmagnify = callPackage ../tools/X11/xmagnify { };