Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / waylandpp / default.nix
blobc0b48ea17c6f59952583d7b21fec72418174ae4a
1 { lib, stdenv
2 , fetchFromGitHub
3 , cmake
4 , makeFontsConf
5 , pkg-config
6 , pugixml
7 , wayland
8 , libGL
9 , libffi
10 , buildPackages
11 , docSupport ? true
12 , doxygen
13 , graphviz
16 stdenv.mkDerivation rec {
17   pname = "waylandpp";
18   version = "1.0.0";
20   src = fetchFromGitHub {
21     owner = "NilsBrause";
22     repo = pname;
23     rev = version;
24     hash = "sha256-Dw2RnLLyhykikHps1in+euHksO+ERbATbfmbUFOJklg=";
25   };
27   cmakeFlags = [
28     "-DCMAKE_INSTALL_DATADIR=${placeholder "dev"}"
29   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
30     "-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++"
31   ];
33   # Complains about not being able to find the fontconfig config file otherwise
34   FONTCONFIG_FILE = lib.optional docSupport (makeFontsConf { fontDirectories = [ ]; });
36   nativeBuildInputs = [ cmake pkg-config ] ++ lib.optionals docSupport [ doxygen graphviz ];
37   buildInputs = [ pugixml wayland libGL libffi ];
39   outputs = [ "bin" "dev" "lib" "out" ] ++ lib.optionals docSupport [ "doc" "devman" ];
41   # Resolves the warning "Fontconfig error: No writable cache directories"
42   preBuild = ''
43     export XDG_CACHE_HOME="$(mktemp -d)"
44   '';
46   meta = with lib; {
47     description = "Wayland C++ binding";
48     homepage = "https://github.com/NilsBrause/waylandpp/";
49     license = with lib.licenses; [ bsd2 hpnd ];
50     maintainers = with lib.maintainers; [ minijackson ];
51   };