aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/desktops/cinnamon
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/cinnamon')
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix124
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix77
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix41
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch48
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix111
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix32
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix90
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cjs/fix-werror.patch39
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix95
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix76
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix4
12 files changed, 743 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
new file mode 100644
index 00000000000..79c4023152f
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -0,0 +1,124 @@
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, autoreconfHook
+, glib
+, gettext
+, cinnamon-desktop
+, intltool
+, libxslt
+, gtk3
+, libnotify
+, gnome-menus
+, libxml2
+, systemd
+, upower
+, cinnamon-settings-daemon
+, colord
+, polkit
+, ibus
+, libpulseaudio
+, isocodes
+, kerberos
+, libxkbfile
+, cinnamon-menus
+, dbus-glib
+, libgnomekbd
+, libxklavier
+, networkmanager
+, libwacom
+, gnome3
+, libtool
+, wrapGAppsHook
+, tzdata
+, glibc
+, networkmanagerapplet
+, modemmanager
+, xorg
+, gdk-pixbuf
+, cups
+}:
+
+stdenv.mkDerivation rec {
+ pname = "cinnamon-control-center";
+ version = "4.4.0";
+
+ src = fetchFromGitHub {
+ owner = "linuxmint";
+ repo = pname;
+ rev = version;
+ sha256 = "1rxm5n2prh182rxvjs7psxgjddikrjr8492j22060gmyvq55n7kc";
+ };
+
+ configureFlags = [ "--enable-systemd" ];
+
+ buildInputs = [
+ gtk3
+ glib
+ cinnamon-desktop
+ libnotify
+ cinnamon-menus
+ libxml2
+ dbus-glib
+ systemd
+ polkit
+ libgnomekbd
+ libxklavier
+ colord
+ cinnamon-settings-daemon
+ libwacom
+ gnome3.gnome-online-accounts
+ tzdata
+ networkmanager
+ networkmanagerapplet
+ modemmanager
+ xorg.libXxf86misc
+ xorg.libxkbfile
+ gdk-pixbuf
+ cups
+ ];
+
+ /* ./panels/datetime/test-timezone.c:4:#define TZ_DIR "/usr/share/zoneinfo/"
+ ./panels/datetime/tz.h:32:# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
+ ./panels/datetime/tz.h:34:# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" */
+
+ postPatch = ''
+ patchShebangs ./autogen.sh
+ sed 's|TZ_DIR "/usr/share/zoneinfo/"|TZ_DIR "${tzdata}/share/zoneinfo/"|g' -i ./panels/datetime/test-timezone.c
+ sed 's|TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"|TZ_DATA_FILE "${tzdata}/share/zoneinfo/zone.tab"|g' -i ./panels/datetime/tz.h
+ sed 's|"/usr/share/i18n/locales/"|"${glibc}/share/i18n/locales/"|g' -i panels/datetime/test-endianess.c
+ '';
+
+ autoreconfPhase = ''
+ NOCONFIGURE=1 bash ./autogen.sh
+ '';
+
+ # it needs to have access to that file, otherwise we can't run tests after build
+
+ preBuild = ''
+ mkdir -p $out/share/cinnamon-control-center/
+ ln -s $PWD/panels/datetime $out/share/cinnamon-control-center/
+ '';
+
+ preInstall = ''
+ rm -rfv $out
+ '';
+
+ nativeBuildInputs = [
+ pkgconfig
+ autoreconfHook
+ wrapGAppsHook
+ gettext
+ intltool
+ libxslt
+ libtool
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/linuxmint/cinnamon-control-center";
+ description = "A collection of configuration plugins used in cinnamon-settings";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.mkg20001 ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
new file mode 100644
index 00000000000..a622e6abfd1
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -0,0 +1,77 @@
+{ fetchFromGitHub
+, gdk-pixbuf
+, gobject-introspection
+, gtk3
+, intltool
+, meson
+, ninja
+, pkgconfig
+, pulseaudio
+, python3
+, stdenv
+, xkeyboard_config
+, xorg
+, wrapGAppsHook
+, glib
+}:
+
+stdenv.mkDerivation rec {
+ pname = "cinnamon-desktop";
+ version = "4.4.0";
+
+ src = fetchFromGitHub {
+ owner = "linuxmint";
+ repo = pname;
+ rev = version;
+ sha256 = "17hb8gkb9pfj56ckva5g4x83yvmdv7hvpidxjsdf79dw6pabr5rg";
+ };
+
+ outputs = [ "out" "dev" ];
+
+ propagatedBuildInputs = [
+ glib
+ gtk3
+ pulseaudio
+ ];
+
+ buildInputs = [
+ gdk-pixbuf
+ xkeyboard_config
+ xorg.libxkbfile
+ xorg.libXext
+ xorg.libXrandr
+ gobject-introspection
+ ];
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ python3
+ wrapGAppsHook
+ intltool
+ pkgconfig
+ ];
+
+ postPatch = ''
+ chmod +x install-scripts/meson_install_schemas.py # patchShebangs requires executable file
+ patchShebangs install-scripts/meson_install_schemas.py
+ sed "s|/usr/share|/run/current-system/sw/share|g" -i ./schemas/* # NOTE: unless this causes a circular dependency, we could link it to cinnamon-common/share/cinnamon
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/linuxmint/cinnamon-desktop";
+ description = "Library and data for various Cinnamon modules";
+
+ longDescription = ''
+ The libcinnamon-desktop library provides API shared by several applications
+ on the desktop, but that cannot live in the platform for various
+ reasons. There is no API or ABI guarantee, although we are doing our
+ best to provide stability. Documentation for the API is available with
+ gtk-doc.
+ '';
+
+ license = [ licenses.gpl2 licenses.lgpl2 ];
+ platforms = platforms.linux;
+ maintainers = [ maintainers.mkg20001 ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
new file mode 100644
index 00000000000..47242cdf38a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -0,0 +1,41 @@
+{ fetchFromGitHub
+, glib
+, gobject-introspection
+, meson
+, ninja
+, pkgconfig
+, stdenv
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+ pname = "cinnamon-menus";
+ version = "4.4.0";
+
+ src = fetchFromGitHub {
+ owner = "linuxmint";
+ repo = pname;
+ rev = version;
+ sha256 = "0q4qj28swi2y93fj7pfil68l2cf9gmhbk6jmr8d70l54xf7sigsh";
+ };
+
+ buildInputs = [
+ glib
+ gobject-introspection
+ ];
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ wrapGAppsHook
+ pkgconfig
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/linuxmint/cinnamon-menus";
+ description = "A menu system for the Cinnamon project";
+ license = [ licenses.gpl2 licenses.lgpl2 ];
+ platforms = platforms.linux;
+ maintainers = [ maintainers.mkg20001 ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch
new file mode 100644
index 00000000000..967ba98eb48
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch
@@ -0,0 +1,48 @@
+From 6d71bf9764fb81d437678a603826167850bbf453 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Tue, 21 Jan 2020 03:19:28 +0100
+Subject: [PATCH] fix: use an impure path to csd-backlight-helper to fix
+ policy-reload bug
+
+---
+ plugins/power/csd-power-manager.c | 4 ++--
+ .../org.cinnamon.settings-daemon.plugins.power.policy.in.in | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c
+index b24c456..212c47e 100755
+--- a/plugins/power/csd-power-manager.c
++++ b/plugins/power/csd-power-manager.c
+@@ -2519,7 +2519,7 @@ backlight_helper_get_value (const gchar *argument, CsdPowerManager* manager,
+ #endif
+
+ /* get the data */
+- command = g_strdup_printf (LIBEXECDIR "/csd-backlight-helper --%s %s",
++ command = g_strdup_printf ("/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %s",
+ argument,
+ manager->priv->backlight_helper_preference_args);
+ ret = g_spawn_command_line_sync (command,
+@@ -2609,7 +2609,7 @@ backlight_helper_set_value (const gchar *argument,
+ #endif
+
+ /* get the data */
+- command = g_strdup_printf ("pkexec " LIBEXECDIR "/csd-backlight-helper --%s %i %s",
++ command = g_strdup_printf ("pkexec " "/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %i %s",
+ argument, value,
+ manager->priv->backlight_helper_preference_args);
+ ret = g_spawn_command_line_sync (command,
+diff --git a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
+index 2c44e62..c0a2348 100755
+--- a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
++++ b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
+@@ -25,7 +25,7 @@
+ <allow_inactive>no</allow_inactive>
+ <allow_active>yes</allow_active>
+ </defaults>
+- <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/csd-backlight-helper</annotate>
++ <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper</annotate>
+ </action>
+
+ </policyconfig>
+--
+2.24.1
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
new file mode 100644
index 00000000000..1dc58e3c3b5
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
@@ -0,0 +1,111 @@
+{ fetchFromGitHub
+, autoconf-archive
+, autoreconfHook
+, cinnamon-desktop
+, colord
+, glib
+, gsettings-desktop-schemas
+, gtk3
+, intltool
+, lcms2
+, libcanberra-gtk3
+, libgnomekbd
+, libnotify
+, libxklavier
+, wrapGAppsHook
+, pkgconfig
+, pulseaudio
+, stdenv
+, systemd
+, upower
+, dconf
+, cups
+, polkit
+, librsvg
+, libwacom
+, xf86_input_wacom
+, xorg
+, fontconfig
+, tzdata
+}:
+
+stdenv.mkDerivation rec {
+ pname = "cinnamon-settings-daemon";
+ version = "4.4.0";
+
+ /* csd-power-manager.c:50:10: fatal error: csd-power-proxy.h: No such file or directory
+ #include "csd-power-proxy.h"
+ ^~~~~~~~~~~~~~~~~~~
+ compilation terminated. */
+
+ # but this occurs only sometimes, so disabling parallel building
+ # also see https://github.com/linuxmint/cinnamon-settings-daemon/issues/248
+ enableParallelBuilding = false;
+
+ src = fetchFromGitHub {
+ owner = "linuxmint";
+ repo = pname;
+ rev = version;
+ sha256 = "1h74d68a7hx85vv6ak26b85jq0wr56ps9rzfvqsnxwk81zxw2n7q";
+ };
+
+ patches = [
+ ./csd-backlight-helper-fix.patch
+ ];
+
+ NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+
+ buildInputs = [
+ cinnamon-desktop
+ colord
+ gtk3
+ glib
+ gsettings-desktop-schemas
+ lcms2
+ libcanberra-gtk3
+ libgnomekbd
+ libnotify
+ libxklavier
+ pulseaudio
+ systemd
+ upower
+ dconf
+ cups
+ polkit
+ librsvg
+ libwacom
+ xf86_input_wacom
+ xorg.libXext
+ xorg.libX11
+ xorg.libXi
+ xorg.libXtst
+ xorg.libXfixes
+ fontconfig
+ ];
+
+ nativeBuildInputs = [
+ autoconf-archive
+ autoreconfHook
+ wrapGAppsHook
+ intltool
+ pkgconfig
+ ];
+
+ postPatch = ''
+ sed "s|/usr/share/zoneinfo|${tzdata}/share/zoneinfo|g" -i plugins/datetime/system-timezone.h
+ '';
+
+ # So the polkit policy can reference /run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper
+ postFixup = ''
+ mkdir -p $out/bin/cinnamon-settings-daemon
+ ln -s $out/libexec/csd-backlight-helper $out/bin/cinnamon-settings-daemon/csd-backlight-helper
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/linuxmint/cinnamon-settings-daemon";
+ description = "The settings daemon for the Cinnamon desktop";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.mkg20001 ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
new file mode 100644
index 00000000000..b03678c5d7a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, fetchFromGitHub
+, gettext
+}:
+
+stdenv.mkDerivation rec {
+ pname = "cinnamon-translations";
+ version = "4.4.0";
+
+ src = fetchFromGitHub {
+ owner = "linuxmint";
+ repo = pname;
+ rev = version;
+ sha256 = "0hh6shfj7vc1mw814l38cakfmh135ba8j604h1rmx4zwspwgvgzh";
+ };
+
+ nativeBuildInputs = [
+ gettext
+ ];
+
+ installPhase = ''
+ mv usr $out # files get installed like so: msgfmt -o usr/share/locale/$lang/LC_MESSAGES/$dir.mo $file
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/linuxmint/cinnamon-translations";
+ description = "Translations files for the Cinnamon desktop";
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = [ maintainers.mkg20001 ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
new file mode 100644
index 00000000000..9dbab8fd767
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
@@ -0,0 +1,90 @@
+{ autoconf-archive
+, autoreconfHook
+, dbus-glib
+, fetchFromGitHub
+, gobject-introspection
+, pkgconfig
+, stdenv
+, wrapGAppsHook
+, python3
+, cairo
+, gnome3
+, xapps
+, keybinder3
+, upower
+, callPackage
+, glib
+, libffi
+, gtk3
+, readline
+, networkmanagerapplet
+}:
+
+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
+ networkmanagerapplet
+ ];
+
+ 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.
+ '';
+
+ license = with licenses; [
+ gpl2Plus
+ lgpl2Plus
+ mit
+ mpl11
+ ];
+ platforms = platforms.linux;
+ maintainers = [ maintainers.mkg20001 ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cjs/fix-werror.patch b/nixpkgs/pkgs/desktops/cinnamon/cjs/fix-werror.patch
new file mode 100644
index 00000000000..0218eba3b46
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cjs/fix-werror.patch
@@ -0,0 +1,39 @@
+From 1b802175914418f5675047c34f1ab1593dd35b18 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Wed, 8 Jan 2020 11:04:27 +0100
+Subject: [PATCH] fix werror
+
+---
+ js/src/moz.build | 2 +-
+ js/src/shell/moz.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/js/src/moz.build b/js/src/moz.build
+index 1162cb70c..595ea9842 100644
+--- a/js/src/moz.build
++++ b/js/src/moz.build
+@@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']:
+ DEFINES['FFI_BUILDING'] = True
+
+ if CONFIG['GNU_CXX']:
+- CXXFLAGS += ['-Wno-shadow', '-Werror=format']
++ CXXFLAGS += ['-Wno-shadow']
+
+ # Suppress warnings in third-party code.
+ if CONFIG['CLANG_CXX']:
+diff --git a/js/src/shell/moz.build b/js/src/shell/moz.build
+index 72ea8145c..77475b241 100644
+--- a/js/src/shell/moz.build
++++ b/js/src/shell/moz.build
+@@ -51,7 +51,7 @@ shellmoduleloader.inputs = [
+ ]
+
+ if CONFIG['GNU_CXX']:
+- CXXFLAGS += ['-Wno-shadow', '-Werror=format']
++ CXXFLAGS += ['-Wno-shadow']
+
+ # This is intended as a temporary workaround to enable VS2015.
+ if CONFIG['_MSC_VER']:
+--
+2.17.1
+
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix b/nixpkgs/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix
new file mode 100644
index 00000000000..87f670c8c09
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix
@@ -0,0 +1,95 @@
+{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, zip, which, readline, icu, zlib, nspr, buildPackages }:
+
+let
+ version = "52.9.0";
+in stdenv.mkDerivation {
+ pname = "spidermonkey";
+ inherit version;
+
+ src = fetchurl {
+ url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
+ sha256 = "1mlx34fgh1kaqamrkl5isf0npch3mm6s4lz3jsjb7hakiijhj7f0";
+ };
+
+ outputs = [ "out" "dev" ];
+ setOutputFlags = false; # Configure script only understands --includedir
+
+ buildInputs = [ readline icu zlib nspr ];
+ nativeBuildInputs = [ autoconf213 pkgconfig perl which buildPackages.python2 zip ];
+
+ # Apparently this package fails to build correctly with modern compilers, which at least
+ # on ARMv6 causes polkit testsuite to break with an assertion failure in spidermonkey.
+ # These flags were stolen from:
+ # https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/js52
+ NIX_CFLAGS_COMPILE = "-fno-delete-null-pointer-checks -fno-strict-aliasing -fno-tree-vrp";
+
+ patches = [
+ # needed to build gnome3.gjs
+ (fetchpatch {
+ name = "mozjs52-disable-mozglue.patch";
+ url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/mozjs52-disable-mozglue.patch?h=packages/js52&id=4279d2e18d9a44f6375f584911f63d13de7704be;
+ sha256 = "18wkss0agdyff107p5lfflk72qiz350xqw2yqc353alkx4fsfpz0";
+ })
+ (fetchpatch {
+ url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/no-error.diff?h=packages/js52;
+ sha256 = "1vsw6558lxiy0r1mg6y49cgddan1mfqvqlkyv734bgxyg6n3pb9i";
+ })
+ ./fix-werror.patch
+ ];
+
+ configurePlatforms = [ ];
+
+ preConfigure = ''
+ export CXXFLAGS="-fpermissive"
+ export LIBXUL_DIST=$out
+ export PYTHON="${buildPackages.python2.interpreter}"
+ configureFlagsArray+=("--includedir=$dev/include")
+
+ cd js/src
+
+ autoconf
+ '';
+
+ configureFlags = [
+ "--with-nspr-prefix=${nspr}"
+ "--with-system-zlib"
+ "--with-system-icu"
+ "--with-intl-api"
+ "--enable-readline"
+ "--enable-shared-js"
+ ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-jemalloc"
+ ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+ "--host=${stdenv.buildPlatform.config}"
+ "--target=${stdenv.hostPlatform.config}"
+ ];
+
+ makeFlags = [
+ "HOST_CC=${buildPackages.stdenv.cc}/bin/cc"
+ ];
+
+ depsBuildBuild = [ buildPackages.stdenv.cc ];
+
+ enableParallelBuilding = true;
+
+ postInstall = ''
+ moveToOutput bin/js52-config "$dev"
+ # Nuke a static lib.
+ rm $out/lib/libjs_static.ajs
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Mozilla's JavaScript engine written in C/C++";
+ homepage = https://developer.mozilla.org/en/SpiderMonkey;
+ license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license.
+ maintainers = [ maintainers.abbradar ];
+ platforms = platforms.linux;
+
+ # Commented out so hydra builds the package
+ # (I know what you're thinking now, but cjs won't be pulling anything from the network
+ # and modules are allowed to execute commands anyways, so an RCE is basically irrelevant)
+ #
+ # knownVulnerabilities = [
+ # "The runtime was extracted from Firefox 52, which EOL’d on September 5, 2018."
+ # ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/default.nix b/nixpkgs/pkgs/desktops/cinnamon/default.nix
index 44589078241..44b81e85c68 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/default.nix
@@ -1,5 +1,12 @@
{ pkgs, lib }:
lib.makeScope pkgs.newScope (self: with self; {
- xapps = callPackage ./xapps {};
+ cinnamon-control-center = callPackage ./cinnamon-control-center { };
+ cinnamon-desktop = callPackage ./cinnamon-desktop { };
+ cinnamon-menus = callPackage ./cinnamon-menus { };
+ cinnamon-translations = callPackage ./cinnamon-translations { };
+ cinnamon-settings-daemon = callPackage ./cinnamon-settings-daemon { };
+ cjs = callPackage ./cjs { };
+ nemo = callPackage ./nemo { };
+ xapps = callPackage ./xapps { };
})
diff --git a/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix b/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
new file mode 100644
index 00000000000..419aaf249f7
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
@@ -0,0 +1,76 @@
+{ fetchFromGitHub
+, fetchpatch
+, glib
+, gobject-introspection
+, meson
+, ninja
+, pkgconfig
+, stdenv
+, wrapGAppsHook
+, libxml2
+, gtk3
+, libnotify
+, cinnamon-desktop
+, xapps
+, libexif
+, exempi
+, intltool
+, shared-mime-info
+}:
+
+stdenv.mkDerivation rec {
+ pname = "nemo";
+ version = "4.4.1";
+
+ # TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327)
+
+ src = fetchFromGitHub {
+ owner = "linuxmint";
+ repo = pname;
+ rev = version;
+ sha256 = "0sskq0rssxvna937md446x1489hkhxys1zq03hvl8asjqa259w2q";
+ };
+
+ patches = [
+ (fetchpatch { # details see https://github.com/linuxmint/nemo/pull/2303
+ url = "https://github.com/linuxmint/nemo/pull/2303/commits/9c1ec7812abe712419317df07d6b64623e8f639d.patch";
+ sha256 = "09dz7lq3i47rbvycawrxwgjmd9g1mhb76ibx2vq85wck6r08arml";
+ })
+ ];
+
+ outputs = [ "out" "dev" ];
+
+ buildInputs = [
+ glib
+ gtk3
+ libnotify
+ cinnamon-desktop
+ libxml2
+ xapps
+ libexif
+ exempi
+ gobject-introspection
+ ];
+
+ nativeBuildInputs = [
+ meson
+ pkgconfig
+ ninja
+ wrapGAppsHook
+ intltool
+ shared-mime-info
+ ];
+
+ mesonFlags = [
+ # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+ "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/linuxmint/nemo";
+ description = "File browser for Cinnamon";
+ license = [ licenses.gpl2 licenses.lgpl2 ];
+ platforms = platforms.linux;
+ maintainers = [ maintainers.mkg20001 ];
+ };
+}
diff --git a/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix b/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
index f63ab3cedd8..dce9d6f666a 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/xapps/default.nix
@@ -20,7 +20,7 @@
stdenv.mkDerivation rec {
pname = "xapps";
- version = "1.6.8";
+ version = "1.6.10";
outputs = [ "out" "dev" ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
owner = "linuxmint";
repo = pname;
rev = version;
- sha256 = "09f77vsydv8r6r43py8hrpq7pb4a1pfivy19zgijjy2241i7059v";
+ sha256 = "1jkxvqv9fxf9il5qfyddn4j4nkxgbxlil8vizbx99xz0kafb81vp";
};
# TODO: https://github.com/NixOS/nixpkgs/issues/36468