python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / json-glib / default.nix
blob9885384e00e1990c67a9a234db34c7ed31840591
1 { lib
2 , stdenv
3 , fetchurl
4 , glib
5 , meson
6 , ninja
7 , nixosTests
8 , pkg-config
9 , gettext
10 , gobject-introspection
11 , gi-docgen
12 , libxslt
13 , fixDarwinDylibNames
14 , gnome
17 stdenv.mkDerivation rec {
18   pname = "json-glib";
19   version = "1.6.6";
21   outputs = [ "out" "dev" "devdoc" "installedTests" ];
23   src = fetchurl {
24     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
25     sha256 = "luyYvnqR9t3jNjZyDj2i/27LuQ52zKpJSX8xpoVaSQ4=";
26   };
28   patches = [
29     # Add option for changing installation path of installed tests.
30     ./meson-add-installed-tests-prefix-option.patch
31   ];
33   strictDeps = true;
35   depsBuildBuild = [
36     pkg-config
37   ];
39   nativeBuildInputs = [
40     meson
41     ninja
42     pkg-config
43     gettext
44     glib
45     libxslt
46     gobject-introspection
47     gi-docgen
48   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
49     fixDarwinDylibNames
50   ];
52   buildInputs = [ gobject-introspection ];
54   propagatedBuildInputs = [
55     glib
56   ];
58   mesonFlags = [
59     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
60   ];
62   # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
63   # it should be a build-time dep for build
64   # TODO: send upstream
65   postPatch = ''
66     substituteInPlace doc/meson.build \
67       --replace "'gi-docgen', ver" "'gi-docgen', native:true, ver" \
68       --replace "'gi-docgen', req" "'gi-docgen', native:true, req"
69   '';
71   doCheck = true;
73   postFixup = ''
74     # Move developer documentation to devdoc output.
75     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
76     if [[ -d "$out/share/doc" ]]; then
77         find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \
78           | while IFS= read -r -d ''' file; do
79             moveToOutput "$(dirname "''${file/"$out/"/}")" "$devdoc"
80         done
81     fi
82   '';
84   passthru = {
85     tests = {
86       installedTests = nixosTests.installed-tests.json-glib;
87     };
89     updateScript = gnome.updateScript {
90       packageName = pname;
91       versionPolicy = "odd-unstable";
92     };
93   };
95   meta = with lib; {
96     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
97     homepage = "https://wiki.gnome.org/Projects/JsonGlib";
98     license = licenses.lgpl21Plus;
99     maintainers = teams.gnome.members;
100     platforms = with platforms; unix;
101   };