nixpkgs/pkgs/applications/window-managers/fluxbox/default.nix
Sergei Trofimovich d9015f0986 fluxbox: fix build on gcc-11 (c++17 compat)
On gcc-11 build fails as:

    $ nix-build -E 'with import ./. { }; fluxbox.override { stdenv = gcc11Stdenv; }'

    util/fluxbox-remote.cc: In function 'int main(int, char**)':
    util/fluxbox-remote.cc:76:32:
      error: ordered comparison of pointer with integer zero ('unsigned char*' and 'int')
       76 |             && text_prop.value > 0
          |                ~~~~~~~~~~~~~~~~^~~

The change pull upstream fix.
2021-09-29 08:10:57 +01:00

53 lines
1.5 KiB
Nix

{ lib, stdenv, fetchurl, pkg-config
, freetype, fribidi
, libXext, libXft, libXpm, libXrandr, libXrender, xorgproto
, libXinerama
, imlib2 }:
with lib;
stdenv.mkDerivation rec {
pname = "fluxbox";
version = "1.3.7";
src = fetchurl {
url = "mirror://sourceforge/fluxbox/${pname}-${version}.tar.xz";
sha256 = "1h1f70y40qd225dqx937vzb4k2cz219agm1zvnjxakn5jkz7b37w";
};
patches = [
# Upstream fix to build against gcc-11.
(fetchurl {
name = "gcc-11.patch";
url = "http://git.fluxbox.org/fluxbox.git/patch/?id=22866c4d30f5b289c429c5ca88d800200db4fc4f";
sha256 = "1x7126rlmzky51lk370fczssgnjs7i6wgfaikfib9pvn4vv945ai";
})
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ freetype fribidi libXext libXft libXpm libXrandr libXrender xorgproto libXinerama imlib2 ];
enableParallelBuilding = true;
preConfigure = ''
substituteInPlace util/fluxbox-generate_menu.in \
--subst-var-by PREFIX "$out"
'';
meta = {
description = "Full-featured, light-resource X window manager";
longDescription = ''
Fluxbox is a X window manager based on Blackbox 0.61.1 window
manager sources. It is very light on resources and easy to
handle but yet full of features to make an easy, and extremely
fast, desktop experience. It is written in C++ and licensed
under MIT license.
'';
homepage = "http://fluxbox.org/";
license = licenses.mit;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
};
}
# Many thanks Jack Ryan from Nix-dev mailing list!