nixpkgs/pkgs/applications/window-managers/wmfs/default.nix
Sergei Trofimovich ff9c57fbed wmfs: fix build on -fno-common toolchain
Without the change build fails on -fno-common tollchains as:

    $ nix build --impure --expr 'with import ~/nm {}; wmfs.override { stdenv = clang13Stdenv; }'
    ...
    ld: src/log.o:(.bss+0x0): multiple definition of `W'; src/barwin.o:(.bss+0x0): first defined here
    ld: src/wmfs.o:(.bss+0x0): multiple definition of `W'; src/barwin.o:(.bss+0x0): first defined here
    ld: src/wmfs.o:(.bss+0x10): multiple definition of `event_handle'; src/client.o:(.bss+0x10): first defined here
2022-05-06 19:02:39 +01:00

50 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, fetchpatch,
libX11, libXinerama, libXrandr, libXpm, libXft, imlib2 }:
stdenv.mkDerivation {
pname = "wmfs";
version = "201902";
src = fetchFromGitHub {
owner = "xorg62";
repo = "wmfs";
sha256 = "1m7dsmmlhq2qipim659cp9aqlriz1cwrrgspl8baa5pncln0gd5c";
rev = "b7b8ff812d28c79cb22a73db2739989996fdc6c2";
};
patches = [
# Pull patch pending upstream inclusion to fix build on
# -fno-common toolchain like upstream gcc-10:
# https://github.com/xorg62/wmfs/pull/104
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/xorg62/wmfs/commit/e4ec12618f4689d791892ebb49df9610a25d24d3.patch";
sha256 = "0qvwry9sikvr85anzha9x4gcx0r2ckwdxqw2in2l6bl9z9d9c0w2";
})
];
buildInputs = [
imlib2
libX11
libXinerama
libXrandr
libXpm
libXft
];
preConfigure = "substituteInPlace configure --replace '-lxft' '-lXft'";
makeFlags = [
"PREFIX=${placeholder "out"}"
"XDG_CONFIG_DIR=${placeholder "out"}/etc/xdg"
"MANPREFIX=${placeholder "out"}/share/man"
];
meta = with lib; {
description = "Window manager from scratch";
license = licenses.bsd2;
maintainers = [ maintainers.balsoft ];
platforms = platforms.linux;
};
}