Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / pixman / default.nix
blob76ec2244c833893ccb43606cb005d69504a8b0fa
1 { lib
2 , stdenv
3 , fetchurl
4 , pkg-config
5 , libpng
6 , glib /*just passthru*/
8 # for passthru.tests
9 , cairo
10 , qemu
11 , scribus
12 , tigervnc
13 , wlroots
14 , xwayland
17 stdenv.mkDerivation rec {
18   pname = "pixman";
19   version = "0.42.2";
21   src = fetchurl {
22     urls = [
23       "mirror://xorg/individual/lib/${pname}-${version}.tar.gz"
24       "https://cairographics.org/releases/${pname}-${version}.tar.gz"
25     ];
26     hash = "sha256-6hSA762i/ZSLx1Nm98NJ4cltMpfQmj/mJibjjiNKYl4=";
27   };
29   separateDebugInfo = !stdenv.hostPlatform.isStatic;
31   nativeBuildInputs = [ pkg-config ];
33   buildInputs = [ libpng ];
35   configureFlags = lib.optional stdenv.isAarch32 "--disable-arm-iwmmxt"
36     # Disable until https://gitlab.freedesktop.org/pixman/pixman/-/issues/46 is resolved
37     ++ lib.optional (stdenv.isAarch64 && !stdenv.cc.isGNU) "--disable-arm-a64-neon";
39   preConfigure = ''
40     # https://gitlab.freedesktop.org/pixman/pixman/-/issues/62
41     export OMP_NUM_THREADS=$((NIX_BUILD_CORES > 184 ? 184 : NIX_BUILD_CORES))
42   '';
44   doCheck = true;
46   postInstall = glib.flattenInclude;
48   passthru.tests = {
49     inherit cairo qemu scribus tigervnc wlroots xwayland;
50   };
52   meta = with lib; {
53     homepage = "http://pixman.org";
54     description = "A low-level library for pixel manipulation";
55     license = licenses.mit;
56     platforms = platforms.all;
57   };