diff options
author | Frederik Rietdijk | 2020-01-28 10:46:13 +0100 |
---|---|---|
committer | Frederik Rietdijk | 2020-01-28 10:46:13 +0100 |
commit | dce0ca29d91e71e357f591b1c19ef4e1094785d6 (patch) | |
tree | 0bfdca07fce6135d13e60a99110043f0730f8e9c /pkgs/desktops | |
parent | 778f317820532a09cfe43287516d3be9ce62925b (diff) | |
parent | e328078fe0867c432be6f14bc200f9932617783e (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/desktops')
29 files changed, 687 insertions, 49 deletions
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix new file mode 100644 index 000000000000..a622e6abfd12 --- /dev/null +++ b/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/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix new file mode 100644 index 000000000000..47242cdf38a5 --- /dev/null +++ b/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/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch new file mode 100644 index 000000000000..967ba98eb48f --- /dev/null +++ b/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/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix new file mode 100644 index 000000000000..1dc58e3c3b5b --- /dev/null +++ b/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/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix new file mode 100644 index 000000000000..b03678c5d7ac --- /dev/null +++ b/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/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix new file mode 100644 index 000000000000..9dbab8fd767e --- /dev/null +++ b/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/pkgs/desktops/cinnamon/cjs/fix-werror.patch b/pkgs/desktops/cinnamon/cjs/fix-werror.patch new file mode 100644 index 000000000000..0218eba3b46e --- /dev/null +++ b/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/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix b/pkgs/desktops/cinnamon/cjs/spidermonkey_52.nix new file mode 100644 index 000000000000..87f670c8c099 --- /dev/null +++ b/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/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix index 445890782414..b077ad184769 100644 --- a/pkgs/desktops/cinnamon/default.nix +++ b/pkgs/desktops/cinnamon/default.nix @@ -1,5 +1,11 @@ { pkgs, lib }: lib.makeScope pkgs.newScope (self: with self; { - xapps = callPackage ./xapps {}; + 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/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix new file mode 100644 index 000000000000..419aaf249f70 --- /dev/null +++ b/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/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix index d59746adc3d9..1fecf80e9ae9 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix @@ -51,11 +51,11 @@ stdenv.mkDerivation rec { pname = "gnome-boxes"; - version = "3.34.2"; + version = "3.34.3"; src = fetchurl { url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1rqdjf61cbi3zcpzr6cfkj3lcfrdlhs20bl65lxw2xrwk4jn0ph5"; + sha256 = "1izhqgsb658lzrzj12dw06w47bjhqdpfl0j74aq7bzql7nqsb3wa"; }; doCheck = true; diff --git a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix index 434a72341f66..7137ec7180e3 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix @@ -5,14 +5,14 @@ , gnome3, libxml2, gsettings-desktop-schemas, tracker }: let - version = "3.34.1"; + version = "3.34.2"; in stdenv.mkDerivation { pname = "gnome-notes"; inherit version; src = fetchurl { url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz"; - sha256 = "0yf2scjnn2qi40g4iqg11qc4bnspd3qcnvg5b11ign5fa3qcihzv"; + sha256 = "0kmhivgamnv2kk5kywrwm4af4s7663rjwh2wdri8iy1n2gmc9qpv"; }; doCheck = true; diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix index 459512017c5d..3df78b88090f 100644 --- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix @@ -6,6 +6,8 @@ stdenv.mkDerivation rec { pname = "gnome-session"; version = "3.34.2"; + outputs = ["out" "sessions"]; + src = fetchurl { url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"; @@ -50,6 +52,15 @@ stdenv.mkDerivation rec { --suffix XDG_CONFIG_DIRS : "${gnome3.gnome-settings-daemon}/etc/xdg" ''; + # We move the GNOME sessions to another output since gnome-session is a dependency of + # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is + # enabled without proper GNOME installation. + postInstall = '' + mkdir $sessions + moveToOutput share/wayland-sessions "$sessions" + moveToOutput share/xsessions "$sessions" + ''; + passthru = { updateScript = gnome3.updateScript { packageName = "gnome-session"; diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix index 5858883accdc..08011ab5c722 100644 --- a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix +++ b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchFromGitHub, substituteAll, python3, openssl, folks, gsound +{ stdenv, fetchFromGitHub, substituteAll, python3, openssl, gsound , meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook , glib, gtk3, at-spi2-core, upower, openssh, gnome3, gjs }: stdenv.mkDerivation rec { pname = "gnome-shell-gsconnect"; - version = "30"; + version = "31"; src = fetchFromGitHub { owner = "andyholmes"; repo = "gnome-shell-extension-gsconnect"; rev = "v${version}"; - sha256 = "17j96y72mj7vg2csn5c9rji7jy04x5qzl8knf5gky6wppxj9zjb4"; + sha256 = "0nricm31jh4akncs0rkkilmq9afg7kgbj5cy7w26pfqb3l4nhifg"; }; patches = [ @@ -29,11 +29,9 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - (python3.withPackages (pkgs: [ python3.pkgs.pygobject3 ])) # for folks.py glib # libgobject gtk3 at-spi2-core # atspi - folks # libfolks gnome3.nautilus # TODO: this contaminates the package with nautilus and gnome-autoar typelibs but it is only needed for the extension gnome3.nautilus-python gsound @@ -66,15 +64,9 @@ stdenv.mkDerivation rec { done ''; - preFixup = '' - # TODO: figure out why folks GIR does not contain shared-library attribute - # https://github.com/NixOS/nixpkgs/issues/47226 - gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ folks ]}") - ''; - postFixup = '' # Let’s wrap the daemons - for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{{daemon,nativeMessagingHost}.js,components/folks.py}; do + for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{daemon,nativeMessagingHost}.js; do echo "Wrapping program $file" wrapGApp "$file" done diff --git a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix b/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix index 5f6cb92cde24..078b5051c846 100644 --- a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix +++ b/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "four-in-a-row"; - version = "3.34.1"; + version = "3.34.3"; src = fetchurl { url = "mirror://gnome/sources/four-in-a-row/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "112pyrh2yvwy5b2a0b5crjpwp2vqqg4zgx6csll1bic6ccayv713"; + sha256 = "1agdjg9kcfcfaq3d2w4s4ksci6is1jzfnxanp3f84zqdq55s0k1y"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix index 9edeb3ea5dec..00f138ee7626 100644 --- a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix +++ b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "gnome-taquin"; - version = "3.34.2"; + version = "3.34.3"; src = fetchurl { url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1ff3h57wr26np3dlh7smpslba2awxasmhv3y45bn498i3n1vyvsk"; + sha256 = "0njlcqb316qbi0dm2j39s42ca8gc2fqmk5aqill5gpb57znb4d81"; }; passthru = { diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix index 33cd60f52720..9f1b52990caa 100644 --- a/pkgs/desktops/gnome-3/games/iagno/default.nix +++ b/pkgs/desktops/gnome-3/games/iagno/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "iagno"; - version = "3.34.3"; + version = "3.34.4"; src = fetchurl { url = "mirror://gnome/sources/iagno/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1m9654dbi4vrl59wvbyxz7jf81v4mn4n5lcq7abb42lba965d2z2"; + sha256 = "0v0x2dmgcgfcjmbx21arnrwdx9xwa5q05wrm8a9sgrjjzqx6ynwb"; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix index 380e50e827e8..7eff539091fc 100644 --- a/pkgs/desktops/lxqt/screengrab/default.nix +++ b/pkgs/desktops/lxqt/screengrab/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "screengrab"; - version = "1.101"; + version = "2.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "111gnkhp77qkch7xqr7k3h8zrg4871gapyd4vvlpaj0gjhirjg6h"; + sha256 = "1syvdqq45dr8hwigl9ax1wxr33m8z23nh6xzzlqbflyyd93xzjmn"; }; nativeBuildInputs = [ @@ -30,7 +30,7 @@ mkDerivation rec { meta = with lib; { description = "Crossplatform tool for fast making screenshots"; - homepage = https://github.com/lxqt/screengrab; + homepage = "https://github.com/lxqt/screengrab"; license = licenses.gpl2; platforms = platforms.linux; maintainers = with maintainers; [ romildo ]; diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix index 8485a1df9f3a..befa2bbbb020 100644 --- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93 - version = "1.7.0"; + version = "1.7.1"; repoName = "screenshot"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "09jcyy4drzpfxb1blln7hyjg5b7r8w5j5v7va2qhq31y7vzczh62"; + sha256 = "179ib2ldvhdx3hks5lqyx2cvlkk3j1qccvlfwh2yd2bl79zpk3ma"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index bbb3ee59596d..27bcb21a006e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { pname = "elementary-terminal"; - version = "5.5.0"; + version = "5.5.1"; repoName = "terminal"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1wna3kcg621qjyvg70dzk4lfq8si2snnlm9fnl5gj0w6b707gz2x"; + sha256 = "1b8fzs9s7djhwp02l3fwjpwxylklpbnw7x46mv7c8ksbp0m75iyj"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix index 260b340c2239..5a4eaf79b384 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-mouse-touchpad"; - version = "2.3.1"; + version = "2.4.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1974zdr5w3xd882gi95fp7axgilfni1sclsr750qm32yhl7d9bfn"; + sha256 = "1ls5jxzmd7cmbv8h67q6mcmfrfksgwjndqd6r9gxivsz2lcji3x7"; }; passthru = { diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index 03e6ef999eb0..28ec4e65f52d 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "switchboard"; - version = "2.3.7"; + version = "2.3.8"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "160aar5dqd019vn28cm0d0ijj1i6mwpqkl7a1l4lpasw12drxwxz"; + sha256 = "1y254irl07fp70228zm268w20zd7risz0sk9i9wz59yynxwjshbx"; }; passthru = { diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix index 4a42bc3d5654..25c3f2201ef1 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { pname = "elementary-gtk-theme"; - version = "5.4.0"; + version = "5.4.1"; repoName = "stylesheet"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0dh7lqc9b4ciyzbphqw071xcg742fvlc7gz9l1q3nqjsa2k6xg80"; + sha256 = "0fnh08wqlhvigkxp69xkdha19ny9j0hg4ycwhhwvyr0d0z47kilw"; }; passthru = { diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix index 9943415a4573..291977349bd1 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix @@ -6,11 +6,13 @@ , ninja , hicolor-icon-theme , gtk3 +, inkscape +, xorg }: stdenv.mkDerivation rec { pname = "elementary-icon-theme"; - version = "5.1.0"; + version = "5.2.0"; repoName = "icons"; @@ -18,7 +20,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1yrf92ysjh1yfm42wznlw0lh9zsm5whghwzx3b3wcdkwdhkdg24z"; + sha256 = "1irkjj8xfpgkl5p56xhqa3w2s98b8lav7d1lxxrabdi87cjv3n33"; }; passthru = { @@ -29,9 +31,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gtk3 + inkscape meson ninja python3 + xorg.xcursorgen ]; propagatedBuildInputs = [ diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix index e601c99108b3..be97c5903eb3 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { pname = "elementary-default-settings"; - version = "5.1.1"; + version = "5.1.2"; repoName = "default-settings"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "10sdy8v34y6bgb3mabwy7k3b5dbqrnab504dvhashpfxr9n9xncy"; + sha256 = "00z31alwn2skhksrhp2jk75f6jlaipzk91hclx7na4gbcyrw7ahw"; }; passthru = { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index 72f94252cca9..af6155037efb 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-session"; - version = "2.2.6"; + version = "2.2.7"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26"; + sha256 = "0qgb225ldg3qax370z3wvijxmm4bjfqds3r9aqqhlq30599xjhsb"; }; passthru = { diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex index ad7f96d6b2a6..5333ad154f5b 100644 --- a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex @@ -21,11 +21,11 @@ defmodule NixpkgsGitHubUpdate.GitHubLatestVersion do end defp get_token do - String.to_charlist("#{System.get_env("OAUTH_TOKEN")}") + System.get_env("OAUTH_TOKEN") end - defp put_token(headers, token) when is_list(token) do - Map.put_new(headers, 'Authorization', 'token #{token}') + defp put_token(headers, token) when token != nil do + Map.put_new(headers, 'Authorization', 'token #{String.to_charlist(token)}') end defp put_token(headers, _), do: headers diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix index 0ab362aa21d0..f97c07156c58 100644 --- a/pkgs/desktops/xfce/core/xfce4-session/default.nix +++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix @@ -1,4 +1,4 @@ -{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session }: +{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session, runtimeShell }: mkXfceDerivation { category = "xfce"; @@ -14,9 +14,25 @@ mkXfceDerivation { # See https://github.com/NixOS/nixpkgs/issues/36468 NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; - passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; + # Don't use startxfce4 in xfce.desktop + # It's has FHS isms + postFixup = '' + chmod +x $out/etc/xdg/xfce4/xinitrc + patchShebangs $out/etc/xdg/xfce4/xinitrc - meta = { + substituteInPlace "$out/share/xsessions/xfce.desktop" \ + --replace "Exec=startxfce4" "Exec=$out/etc/xdg/xfce4/xinitrc" + ''; + + passthru = { + xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc"; + + providedSessions = [ + "xfce" + ]; + }; + + meta = { description = "Session manager for Xfce"; }; } diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix index 0b31bac8d54b..3abeb74a4355 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix @@ -20,6 +20,6 @@ stdenv.mkDerivation rec { description = "Dictionary plugin for Xfce panel"; platforms = platforms.linux; maintainers = [ maintainers.AndersonTorres ]; - broken = true; # see http://goodies.xfce.org/projects/panel-plugins/xfce4-dict-plugin + broken = true; # see https://goodies.xfce.org/projects/panel-plugins/xfce4-dict-plugin }; } |