pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / by-name / cj / cjs / package.nix
blob57cfe2796740650c1203aadc68659fc6d834472d
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , gobject-introspection
5 , pkg-config
6 , cairo
7 , glib
8 , readline
9 , libsysprof-capture
10 , spidermonkey_115
11 , meson
12 , mesonEmulatorHook
13 , dbus
14 , ninja
15 , which
16 , libxml2
19 stdenv.mkDerivation rec {
20   pname = "cjs";
21   version = "6.2.0";
23   src = fetchFromGitHub {
24     owner = "linuxmint";
25     repo = "cjs";
26     rev = version;
27     hash = "sha256-/74E10txRjwN9RkjVB8M0MPYakJ659yJWanc4DC09wg=";
28   };
30   outputs = [ "out" "dev" ];
32   strictDeps = true;
34   nativeBuildInputs = [
35     meson
36     ninja
37     pkg-config
38     which # for locale detection
39     libxml2 # for xml-stripblanks
40     dbus # for dbus-run-session
41     gobject-introspection
42   ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
43     mesonEmulatorHook
44   ];
46   buildInputs = [
47     cairo
48     readline
49     libsysprof-capture
50     spidermonkey_115
51   ];
53   propagatedBuildInputs = [
54     glib
55   ];
57   mesonFlags = lib.optionals stdenv.hostPlatform.isMusl [
58     "-Dprofiler=disabled"
59   ];
61   postPatch = ''
62     patchShebangs --build build/choose-tests-locale.sh
64     # https://github.com/linuxmint/cjs/issues/123
65     substituteInPlace meson.build --replace-fail "extra_args: '--warn-error'," ""
66   '';
68   meta = with lib; {
69     homepage = "https://github.com/linuxmint/cjs";
70     description = "JavaScript bindings for Cinnamon";
72     longDescription = ''
73       This module contains JavaScript bindings based on gobject-introspection.
74     '';
76     license = with licenses; [
77       gpl2Plus
78       lgpl2Plus
79       mit
80       mpl11
81     ];
83     platforms = platforms.linux;
84     maintainers = teams.cinnamon.members;
85   };