python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / cairomm / 1.16.nix
blob10e5286c5010f2604b61290656d304b5a158a1b3
1 { stdenv
2 , lib
3 , fetchurl
4 , boost
5 , meson
6 , ninja
7 , pkg-config
8 , cairo
9 , fontconfig
10 , libsigcxx30
11 , ApplicationServices
14 stdenv.mkDerivation rec {
15   pname = "cairomm";
16   version = "1.16.2";
18   outputs = [ "out" "dev" ];
20   src = fetchurl {
21     url = "https://www.cairographics.org/releases/cairomm-${version}.tar.xz";
22     sha256 = "amO/mKl92isPVeNNG18/uQnvi3D5uNOCyx/zl459wT8=";
23   };
25   nativeBuildInputs = [
26     meson
27     ninja
28     pkg-config
29   ];
31   buildInputs = [
32     boost # for tests
33     fontconfig
34   ] ++ lib.optionals stdenv.isDarwin [
35     ApplicationServices
36   ];
38   propagatedBuildInputs = [
39     cairo
40     libsigcxx30
41   ];
43   mesonFlags = [
44     "-Dbuild-tests=true"
45     "-Dboost-shared=true"
46   ];
48   # Meson is no longer able to pick up Boost automatically.
49   # https://github.com/NixOS/nixpkgs/issues/86131
50   BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
51   BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
53   # Tests fail on Darwin, possibly because of sandboxing.
54   doCheck = !stdenv.isDarwin;
56   meta = with lib; {
57     description = "A 2D graphics library with support for multiple output devices";
58     longDescription = ''
59       Cairo is a 2D graphics library with support for multiple output
60       devices.  Currently supported output targets include the X
61       Window System, Quartz, Win32, image buffers, PostScript, PDF,
62       and SVG file output.  Experimental backends include OpenGL
63       (through glitz), XCB, BeOS, OS/2, and DirectFB.
65       Cairo is designed to produce consistent output on all output
66       media while taking advantage of display hardware acceleration
67       when available (e.g., through the X Render Extension).
68     '';
69     homepage = "https://www.cairographics.org/";
70     license = with licenses; [ lgpl2Plus mpl10 ];
71     maintainers = teams.gnome.members;
72     platforms = platforms.unix;
73   };