diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix new file mode 100644 index 000000000000..7d9ba7cc438e --- /dev/null +++ b/pkgs/desktops/cinnamon/cjs/default.nix @@ -0,0 +1,82 @@ +{ autoconf-archive +, autoreconfHook +, dbus-glib +, fetchFromGitHub +, gobject-introspection +, pkgconfig +, stdenv +, wrapGAppsHook +, python3 +, cairo +, gnome3 +, xapps +, keybinder3 +, upower +, callPackage +, glib +, libffi +, gtk3 +, readline +}: + +let + + # https://github.com/linuxmint/cjs/issues/80 + spidermonkey_52 = callPackage ./spidermonkey_52.nix {}; + +in + +stdenv.mkDerivation rec { + pname = "cjs"; + version = "4.4.0"; + + src = fetchFromGitHub { + owner = "linuxmint"; + repo = pname; + rev = version; + sha256 = "0q5h2pbwysc6hwq5js3lwi6zn7i5qjjy070ynfhfn3z69lw5iz2d"; + }; + + propagatedBuildInputs = [ + glib + + # bindings + gnome3.caribou + keybinder3 + upower + xapps + ]; + + nativeBuildInputs = [ + autoconf-archive + autoreconfHook + wrapGAppsHook + pkgconfig + ]; + + buildInputs = [ + # from .pc + gobject-introspection + libffi + spidermonkey_52 # mozjs-52 + cairo # +cairo-gobject + gtk3 + + # other + + dbus-glib + readline + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/linuxmint/cjs"; + description = "JavaScript bindings for Cinnamon"; + + longDescription = '' + This module contains JavaScript bindings based on gobject-introspection. + ''; + + platforms = platforms.linux; + maintainers = [ maintainers.mkg20001 ]; + }; +} diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix index 445890782414..b26b3f00075a 100644 --- a/pkgs/desktops/cinnamon/default.nix +++ b/pkgs/desktops/cinnamon/default.nix @@ -1,5 +1,6 @@ { pkgs, lib }: lib.makeScope pkgs.newScope (self: with self; { - xapps = callPackage ./xapps {}; + cjs = callPackage ./cjs { }; + xapps = callPackage ./xapps { }; })