fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 gobject-introspection,
6 pkg-config,
7 cairo,
8 glib,
9 readline,
10 libsysprof-capture,
11 spidermonkey_128,
12 meson,
13 mesonEmulatorHook,
14 dbus,
15 ninja,
16 which,
17 libxml2,
18}:
19
20stdenv.mkDerivation rec {
21 pname = "cjs";
22 version = "128.0-unstable-2025-09-15";
23
24 src = fetchFromGitHub {
25 owner = "linuxmint";
26 repo = "cjs";
27 # Backport fixes to support GLib 2.86.0 typelibs
28 # nixpkgs-update: no auto update
29 # https://github.com/linuxmint/cjs/issues/130
30 rev = "1f39576bafe6bc05bce960e590dc743dd7990e39";
31 hash = "sha256-drKLaTZLIZfPIhcVcCAB48PdM2b0GNLe5xrHGBysVmM=";
32 };
33
34 outputs = [
35 "out"
36 "dev"
37 ];
38
39 strictDeps = true;
40
41 nativeBuildInputs = [
42 meson
43 ninja
44 pkg-config
45 which # for locale detection
46 libxml2 # for xml-stripblanks
47 dbus # for dbus-run-session
48 gobject-introspection
49 ]
50 ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
51 mesonEmulatorHook
52 ];
53
54 buildInputs = [
55 cairo
56 readline
57 libsysprof-capture
58 spidermonkey_128
59 ];
60
61 propagatedBuildInputs = [
62 glib
63 ];
64
65 mesonFlags = lib.optionals stdenv.hostPlatform.isMusl [
66 "-Dprofiler=disabled"
67 ];
68
69 postPatch = ''
70 patchShebangs --build build/choose-tests-locale.sh
71 '';
72
73 meta = with lib; {
74 homepage = "https://github.com/linuxmint/cjs";
75 description = "JavaScript bindings for Cinnamon";
76
77 longDescription = ''
78 This module contains JavaScript bindings based on gobject-introspection.
79 '';
80
81 license = with licenses; [
82 gpl2Plus
83 lgpl2Plus
84 mit
85 mpl11
86 ];
87
88 platforms = platforms.linux;
89 teams = [ teams.cinnamon ];
90 };
91}