Merge pull request #98316 from NixOS/gnome-3.38

GNOME 3.38
This commit is contained in:
WORLDofPEACE 2020-10-23 20:02:38 -04:00 committed by GitHub
commit 949f7f9227
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
182 changed files with 2250 additions and 957 deletions

View File

@ -23,6 +23,9 @@
Support is planned until the end of October 2021, handing over to 21.09. Support is planned until the end of October 2021, handing over to 21.09.
</para> </para>
</listitem> </listitem>
<listitem>
<para>GNOME desktop environment was upgraded to 3.38, see its <link xlink:href="https://help.gnome.org/misc/release-notes/3.38/">release notes</link>.</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -38,6 +38,11 @@ with lib;
services.dbus.packages = [ pkgs.telepathy-mission-control ]; services.dbus.packages = [ pkgs.telepathy-mission-control ];
# Enable runtime optional telepathy in gnome-shell
services.xserver.desktopManager.gnome3.sessionPath = with pkgs; [
telepathy-glib
telepathy-logger
];
}; };
} }

View File

@ -69,6 +69,7 @@ in
core-os-services.enable = mkEnableOption "essential services for GNOME3"; core-os-services.enable = mkEnableOption "essential services for GNOME3";
core-shell.enable = mkEnableOption "GNOME Shell services"; core-shell.enable = mkEnableOption "GNOME Shell services";
core-utilities.enable = mkEnableOption "GNOME core utilities"; core-utilities.enable = mkEnableOption "GNOME core utilities";
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
games.enable = mkEnableOption "GNOME games"; games.enable = mkEnableOption "GNOME games";
experimental-features = { experimental-features = {
@ -294,6 +295,12 @@ in
gnome-shell gnome-shell
]; ];
services.udev.packages = with pkgs.gnome3; [
# Force enable KMS modifiers for devices that require them.
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1443
mutter
];
services.avahi.enable = mkDefault true; services.avahi.enable = mkDefault true;
xdg.portal.extraPortals = [ xdg.portal.extraPortals = [
@ -323,7 +330,7 @@ in
source-sans-pro source-sans-pro
]; ];
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-36/elements/core/meta-gnome-core-shell.bst # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst
environment.systemPackages = with pkgs.gnome3; [ environment.systemPackages = with pkgs.gnome3; [
adwaita-icon-theme adwaita-icon-theme
gnome-backgrounds gnome-backgrounds
@ -368,7 +375,7 @@ in
}; };
}) })
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-36/elements/core/meta-gnome-core-utilities.bst # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
(mkIf serviceCfg.core-utilities.enable { (mkIf serviceCfg.core-utilities.enable {
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [ environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
baobab baobab
@ -387,17 +394,16 @@ in
gnome-logs gnome-logs
gnome-maps gnome-maps
gnome-music gnome-music
gnome-photos pkgs.gnome-photos
gnome-screenshot gnome-screenshot
gnome-software gnome-software
gnome-system-monitor gnome-system-monitor
gnome-weather gnome-weather
nautilus nautilus
pkgs.gnome-connections
simple-scan simple-scan
totem totem
yelp yelp
# Unsure if sensible for NixOS
/* gnome-boxes */
] config.environment.gnome3.excludePackages); ] config.environment.gnome3.excludePackages);
# Enable default program modules # Enable default program modules
@ -426,12 +432,43 @@ in
(mkIf serviceCfg.games.enable { (mkIf serviceCfg.games.enable {
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [ environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
aisleriot atomix five-or-more four-in-a-row gnome-chess gnome-klotski aisleriot
gnome-mahjongg gnome-mines gnome-nibbles gnome-robots gnome-sudoku atomix
gnome-taquin gnome-tetravex hitori iagno lightsoff quadrapassel five-or-more
swell-foop tali four-in-a-row
gnome-chess
gnome-klotski
gnome-mahjongg
gnome-mines
gnome-nibbles
gnome-robots
gnome-sudoku
gnome-taquin
gnome-tetravex
hitori
iagno
lightsoff
quadrapassel
swell-foop
tali
] config.environment.gnome3.excludePackages); ] config.environment.gnome3.excludePackages);
}) })
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst
(mkIf serviceCfg.core-developer-tools.enable {
environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
dconf-editor
devhelp
pkgs.gnome-builder
# boxes would make sense in this option, however
# it doesn't function well enough to be included
# in default configurations.
# https://github.com/NixOS/nixpkgs/issues/60908
/* gnome-boxes */
] config.environment.gnome3.excludePackages);
services.sysprof.enable = true;
})
]; ];
} }

View File

@ -160,7 +160,7 @@ in
]; ];
# Otherwise GDM will not be able to start correctly and display Wayland sessions # Otherwise GDM will not be able to start correctly and display Wayland sessions
systemd.packages = with pkgs.gnome3; [ gnome-session gnome-shell ]; systemd.packages = with pkgs.gnome3; [ gdm gnome-session gnome-shell ];
environment.systemPackages = [ pkgs.gnome3.adwaita-icon-theme ]; environment.systemPackages = [ pkgs.gnome3.adwaita-icon-theme ];
systemd.services.display-manager.wants = [ systemd.services.display-manager.wants = [

View File

@ -94,6 +94,7 @@ in
glib-networking = callInstalledTest ./glib-networking.nix {}; glib-networking = callInstalledTest ./glib-networking.nix {};
gnome-photos = callInstalledTest ./gnome-photos.nix {}; gnome-photos = callInstalledTest ./gnome-photos.nix {};
graphene = callInstalledTest ./graphene.nix {}; graphene = callInstalledTest ./graphene.nix {};
gsconnect = callInstalledTest ./gsconnect.nix {};
ibus = callInstalledTest ./ibus.nix {}; ibus = callInstalledTest ./ibus.nix {};
libgdata = callInstalledTest ./libgdata.nix {}; libgdata = callInstalledTest ./libgdata.nix {};
glib-testing = callInstalledTest ./glib-testing.nix {}; glib-testing = callInstalledTest ./glib-testing.nix {};

View File

@ -0,0 +1,7 @@
{ pkgs, makeInstalledTest, ... }:
makeInstalledTest {
tested = pkgs.gnomeExtensions.gsconnect;
withX11 = true;
}

View File

@ -6,7 +6,7 @@
, gettext , gettext
, glib , glib
, gtk3 , gtk3
, libhandy , libhandy_0
, meson , meson
, ninja , ninja
, pango , pango
@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
dbus dbus
glib glib
gtk3 gtk3
libhandy libhandy_0
pango pango
]; ];

View File

@ -10,7 +10,7 @@
, python3 , python3
, pkgconfig , pkgconfig
, glib , glib
, libhandy , libhandy_0
, gtk3 , gtk3
, dbus , dbus
, openssl , openssl
@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ buildInputs = [
glib glib
gtk3 gtk3
libhandy libhandy_0
dbus dbus
openssl openssl
sqlite sqlite

View File

@ -8,7 +8,7 @@
, glib , glib
, gst_all_1 , gst_all_1
, gtk3 , gtk3
, libhandy , libhandy_0
, meson , meson
, ninja , ninja
, openssl , openssl
@ -53,7 +53,7 @@ rustPlatform.buildRustPackage rec {
gdk-pixbuf gdk-pixbuf
glib glib
gtk3 gtk3
libhandy libhandy_0
openssl openssl
sqlite sqlite
] ++ (with gst_all_1; [ ] ++ (with gst_all_1; [

View File

@ -12,7 +12,7 @@
, coreutils , coreutils
, libsoup , libsoup
, libsecret , libsecret
, libhandy , libhandy_0
, wrapGAppsHook , wrapGAppsHook
, libgpgerror , libgpgerror
, json-glib , json-glib
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
glib glib
gtk3 gtk3
libsecret libsecret
libhandy libhandy_0
libgpgerror libgpgerror
json-glib json-glib
]; ];

View File

@ -40,11 +40,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-builder"; pname = "gnome-builder";
version = "3.36.1"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"; sha256 = "1olTi6+O+xrPfqYHJosaqhQY1VF9ktT2lGo9v4FOrlU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee { stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee
, tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }: , tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }:
let let
version = "3.36.0"; version = "3.38.0";
pname = "gnome-latex"; pname = "gnome-latex";
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1869kr1zhcp04mzbi67lwgk497w840dbbc7427i9yh9b9s7j6mqn"; sha256 = "0xqd49pgi82dygqnxj08i1v22b0vwwhx3zvdinhrx4jny339yam8";
}; };
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";

View File

@ -1,5 +1,6 @@
{ stdenv { stdenv
, fetchurl , fetchurl
, fetchpatch
, at-spi2-core , at-spi2-core
, babl , babl
, dbus , dbus
@ -35,17 +36,32 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-photos"; pname = "gnome-photos";
version = "3.34.2"; version = "3.38.0";
outputs = [ "out" "installedTests" ]; outputs = [ "out" "installedTests" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w"; sha256 = "1i64w69kk3sdf9vn7npnwrhy8qjwn0vizq200x3pgmbrfm3kjzv6";
}; };
patches = [ patches = [
./installed-tests-path.patch ./installed-tests-path.patch
# Port to Tracker 3
# https://gitlab.gnome.org/GNOME/gnome-photos/-/merge_requests/135
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/f39a85bb1a82093f4ba615494ff7e95609674fc2.patch";
sha256 = "M5r5WuB1JpUBVN3KxNvpMiPWj0pIpT+ImQMOiGtUgT4=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/3d847ff80d429cadf0bc59aa50caa37bf27c0201.patch";
sha256 = "zGjSL1qpWVJ/5Ifgh2CbhFSBR/WDAra8F+YUOemyxyU=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-photos/commit/2eb923726147b05c936dee64b205d833525db1df.patch";
sha256 = "vCA6NXHzmNf2GoLqzWwIyziC6puJgJ0QTLeKWsAEFAE=";
})
]; ];
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -14,15 +14,16 @@
, libdazzle , libdazzle
, gnome3 , gnome3
, tracker , tracker
, libhandy
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-usage"; pname = "gnome-usage";
version = "3.33.2"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0w3ppfaf15il8mad64qyc9hj1rmlvzs5dyzrxhq7r50k4kyiwmk4"; sha256 = "0mqs39yi2cqwkzlmmgzrszsva5hbdpws6zk4lbi4w2cjzl185mcl";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -43,6 +44,7 @@ stdenv.mkDerivation rec {
libdazzle libdazzle
libgtop libgtop
tracker tracker
libhandy
]; ];
postPatch = '' postPatch = ''

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3, { stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gexiv2,
pango, gobject-introspection, wrapGAppsHook, gettext, pango, gobject-introspection, wrapGAppsHook, gettext,
# Optional packages: # Optional packages:
enableOSM ? true, osm-gps-map, enableOSM ? true, osm-gps-map,
@ -13,7 +13,7 @@ in buildPythonApplication rec {
pname = "gramps"; pname = "gramps";
nativeBuildInputs = [ wrapGAppsHook gettext ]; nativeBuildInputs = [ wrapGAppsHook gettext ];
buildInputs = [ intltool gtk3 gobject-introspection pango gnome3.gexiv2 ] buildInputs = [ intltool gtk3 gobject-introspection pango gexiv2 ]
# Map support # Map support
++ stdenv.lib.optional enableOSM osm-gps-map ++ stdenv.lib.optional enableOSM osm-gps-map
# Graphviz support # Graphviz support

View File

@ -35,13 +35,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "orca"; pname = "orca";
version = "3.36.5"; version = "3.38.0";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0nyb33p4y6nmln41pi70c8hiyjyasaryy10mazi7b2s6fy9pk25x"; sha256 = "1vkg6p1dlrgx1yyscmy0m58inaq4ljshbdxw0nhi1nwqk3bpjchw";
}; };
patches = [ patches = [

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, pkgs, pythonPackages, wrapGAppsHook}: { stdenv, fetchFromGitHub, pkgs, python3, wrapGAppsHook}:
pythonPackages.buildPythonApplication { python3.pkgs.buildPythonApplication {
pname = "pdf-quench"; pname = "pdf-quench";
version = "1.0.5"; version = "1.0.5";
@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication {
goocanvas2 goocanvas2
poppler_gi poppler_gi
]; ];
propagatedBuildInputs = with pythonPackages; [ pygobject3 pypdf2 ]; propagatedBuildInputs = with python3.pkgs; [ pygobject3 pypdf2 ];
format = "other"; format = "other";
doCheck = false; doCheck = false;

View File

@ -3,7 +3,7 @@
, meson , meson
, ninja , ninja
, pkgconfig , pkgconfig
, libhandy , libhandy_0
, modemmanager , modemmanager
, gtk3 , gtk3
, gom , gom
@ -43,13 +43,12 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
modemmanager modemmanager
libhandy libhandy_0
evolution-data-server evolution-data-server
folks folks
gom gom
gsound gsound
gtk3 gtk3
libhandy
libpeas libpeas
]; ];

View File

@ -8,7 +8,7 @@
, gdk-pixbuf , gdk-pixbuf
, glib , glib
, gtk3 , gtk3
, libhandy , libhandy_0
, openssl , openssl
, sqlite , sqlite
, webkitgtk , webkitgtk
@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ buildInputs = [
gtk3 gtk3
libhandy libhandy_0
openssl openssl
sqlite sqlite
webkitgtk webkitgtk

View File

@ -12,7 +12,7 @@
, pkg-config , pkg-config
, gtksourceview4 , gtksourceview4
, glib , glib
, libhandy , libhandy_0
, gtk3 , gtk3
, dbus , dbus
, openssl , openssl
@ -66,7 +66,7 @@ rustPlatform.buildRustPackage rec {
gst_all_1.gst-validate gst_all_1.gst-validate
gtk3 gtk3
gtksourceview4 gtksourceview4
libhandy libhandy_0
openssl openssl
sqlite sqlite
]; ];

View File

@ -1,9 +1,10 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, alsaLib, ffmpeg_3, glib, openssl { stdenv, lib, fetchFromGitHub, cmake, pkgconfig, alsaLib, ffmpeg, glib, openssl
, pcre, zlib, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama , pcre, zlib, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama
, libXrandr, libXrender, libXv, libXtst, libxkbcommon, libxkbfile, wayland , libXrandr, libXrender, libXv, libXtst, libxkbcommon, libxkbfile, wayland
, gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc, libxslt , gstreamer, gst-plugins-base, gst-plugins-good, libunwind, orc, libxslt, cairo
, libusb1, libpulseaudio ? null, cups ? null, pcsclite ? null, systemd ? null , libusb1, libpulseaudio, cups, pcsclite, systemd, libjpeg_turbo
, buildServer ? true, nocaps ? false }: , buildServer ? true, nocaps ? false
}:
let let
cmFlag = flag: if flag then "ON" else "OFF"; cmFlag = flag: if flag then "ON" else "OFF";
@ -49,8 +50,9 @@ in stdenv.mkDerivation rec {
buildInputs = with lib; buildInputs = with lib;
[ [
alsaLib alsaLib
cairo
cups cups
ffmpeg_3 ffmpeg
glib glib
gst-plugins-base gst-plugins-base
gst-plugins-good gst-plugins-good
@ -65,6 +67,7 @@ in stdenv.mkDerivation rec {
libXrender libXrender
libXtst libXtst
libXv libXv
libjpeg_turbo
libpulseaudio libpulseaudio
libunwind libunwind
libusb1 libusb1
@ -93,6 +96,9 @@ in stdenv.mkDerivation rec {
WITH_PULSE = (libpulseaudio != null); WITH_PULSE = (libpulseaudio != null);
WITH_SERVER = buildServer; WITH_SERVER = buildServer;
WITH_SSE2 = stdenv.isx86_64; WITH_SSE2 = stdenv.isx86_64;
WITH_VAAPI = true;
WITH_JPEG = (libjpeg_turbo != null);
WITH_CAIRO = (cairo != null);
}; };
meta = with lib; { meta = with lib; {

View File

@ -59,6 +59,7 @@ buildPythonApplication rec {
description = "GTK3 & python based GUI for Syncthing"; description = "GTK3 & python based GUI for Syncthing";
homepage = "https://github.com/syncthing/syncthing-gtk"; homepage = "https://github.com/syncthing/syncthing-gtk";
license = licenses.gpl2; license = licenses.gpl2;
broken = true;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];
platforms = syncthing.meta.platforms; platforms = syncthing.meta.platforms;
}; };

View File

@ -37,6 +37,7 @@ python3.pkgs.buildPythonApplication rec {
desktop-file-utils desktop-file-utils
gobject-introspection gobject-introspection
wrapGAppsHook wrapGAppsHook
gtk3 # for gtk-update-icon-cache
]; ];
buildInputs = [ buildInputs = [

View File

@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://github.com/kalj/xmonad-log-applet"; homepage = "https://github.com/kalj/xmonad-log-applet";
license = licenses.bsd3; license = licenses.bsd3;
broken = desktopSupport == "gnomeflashback";
description = "An applet that will display XMonad log information (${desktopSupport} version)"; description = "An applet that will display XMonad log information (${desktopSupport} version)";
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-user-docs"; pname = "gnome-user-docs";
version = "3.36.2"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0n4rbrq5zww6gjjmicyw5hlvzi8azc6m4sisak15snkp6v4f93qr"; sha256 = "12pfvivsgz4qvx3y6zndxln28fgvbdv2kjy6l892i4f5bmdxplrq";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -15,15 +15,15 @@
, adwaita-icon-theme , adwaita-icon-theme
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "accerciser"; pname = "accerciser";
version = "3.36.3"; version = "3.38.0";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0zfhmpaqqwm89k8p4apq4la191icjvqh0097p5aig3yhy87fahp9"; sha256 = "0fd9vv2abd2if2qj4nlfy7mpd7rc4sx18zhmxd5ijlnfhkpggbp5";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,17 +1,46 @@
{ stdenv, gettext, fetchurl, wrapGAppsHook, gnome-video-effects, libcanberra-gtk3 { stdenv
, pkgconfig, gtk3, glib, clutter-gtk, clutter-gst, udev, gst_all_1, itstool , gettext
, libgudev, vala, docbook_xml_dtd_43, docbook_xsl, appstream-glib , fetchurl
, libxslt, yelp-tools, gnome-common, gtk-doc , wrapGAppsHook
, adwaita-icon-theme, librsvg, totem, gdk-pixbuf, gnome3, gnome-desktop, libxml2 , gnome-video-effects
, meson, ninja, dbus, python3 }: , libcanberra-gtk3
, pkgconfig
, gtk3
, glib
, clutter-gtk
, clutter-gst
, udev
, gst_all_1
, itstool
, libgudev
, vala
, docbook_xml_dtd_43
, docbook_xsl
, appstream-glib
, libxslt
, yelp-tools
, gnome-common
, gtk-doc
, adwaita-icon-theme
, librsvg
, totem
, gdk-pixbuf
, gnome3
, gnome-desktop
, libxml2
, meson
, ninja
, dbus
, python3
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cheese"; pname = "cheese";
version = "3.34.0"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/cheese/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/cheese/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"; sha256 = "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8";
}; };
postPatch = '' postPatch = ''
@ -24,15 +53,43 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkgconfig gettext itstool vala wrapGAppsHook libxml2 appstream-glib appstream-glib
libxslt docbook_xml_dtd_43 docbook_xsl docbook_xml_dtd_43
gtk-doc yelp-tools gnome-common python3 docbook_xsl
gettext
gnome-common
gtk-doc
itstool
libxml2
libxslt
meson
ninja
pkgconfig
python3
vala
wrapGAppsHook
yelp-tools
];
buildInputs = [
adwaita-icon-theme
clutter-gst
clutter-gtk
dbus
gdk-pixbuf
glib
gnome-desktop
gnome-video-effects
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
gtk3
libcanberra-gtk3
libgudev
librsvg
udev
]; ];
buildInputs = [ gtk3 glib gnome-video-effects
gdk-pixbuf adwaita-icon-theme librsvg udev gst_all_1.gstreamer
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gnome-desktop
gst_all_1.gst-plugins-bad clutter-gtk clutter-gst
libcanberra-gtk3 libgudev dbus ];
outputs = [ "out" "man" "devdoc" ]; outputs = [ "out" "man" "devdoc" ];

View File

@ -43,11 +43,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "evolution"; pname = "evolution";
version = "3.36.5"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1hpjd5d3z52xcjcc1hg5z8ypnx2y6ml9snyrlpflg9bx16yhxm1x"; sha256 = "1z68vhbqnm34axx4zcrds45nz2ppwzr4z1lczxrdiq0zf0cmxyfh";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "file-roller"; pname = "file-roller";
version = "3.36.3"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1dw1vfnfc44k57b6mip8fv565d2xv5wrigi4js044x3sbl5f2n89"; sha256 = "06ikvjjcgb8nxabkn2rywy76a1c7s6w8dszaxvaxldbxarp1qgbj";
}; };
LANG = "en_US.UTF-8"; # postinstall.py LANG = "en_US.UTF-8"; # postinstall.py

View File

@ -1,29 +1,56 @@
{ stdenv, meson, fetchurl, python3 { stdenv
, pkgconfig, gtk3, glib, adwaita-icon-theme , meson
, libpeas, gtksourceview4, gsettings-desktop-schemas , fetchurl
, wrapGAppsHook, ninja, libsoup, tepl , python3
, gnome3, gspell, perl, itstool, desktop-file-utils , pkgconfig
, gtk3
, glib
, adwaita-icon-theme
, libpeas
, gtksourceview4
, gsettings-desktop-schemas
, wrapGAppsHook
, ninja
, libsoup
, tepl
, gnome3
, gspell
, perl
, itstool
, desktop-file-utils
, vala
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gedit"; pname = "gedit";
version = "3.36.2"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "15s1almlhjlgl3m8lxg6jpzln8jhgdxxjr635a3b7cf58d35b1v8"; sha256 = "1y2n3325qvfiaz526vdf7l5wbh5js25djkz3jmg6x3z5dn00dks6";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig wrapGAppsHook meson ninja desktop-file-utils
python3 perl itstool desktop-file-utils itstool
meson
ninja
perl
pkgconfig
python3
vala
wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
gtk3 glib adwaita-icon-theme
adwaita-icon-theme libsoup glib
libpeas gtksourceview4 gsettings-desktop-schemas
gsettings-desktop-schemas gspell gspell
gtk3
gtksourceview4
libpeas
libsoup
tepl tepl
]; ];

View File

@ -1,9 +1,30 @@
{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs { stdenv
, pkgconfig, gtk3, glib, tracker, tracker-miners, libxslt , meson
, webkitgtk, gnome-desktop, libgepub, gnome3, gdk-pixbuf , ninja
, gsettings-desktop-schemas, adwaita-icon-theme, docbook_xsl , gettext
, docbook_xml_dtd_42, desktop-file-utils, python3 , fetchurl
, gobject-introspection, wrapGAppsHook }: , evince
, gjs
, pkgconfig
, gtk3
, glib
, tracker
, tracker-miners
, libxslt
, webkitgtk
, gnome-desktop
, libgepub
, gnome3
, gdk-pixbuf
, gsettings-desktop-schemas
, adwaita-icon-theme
, docbook_xsl
, docbook_xml_dtd_42
, desktop-file-utils
, python3
, gobject-introspection
, wrapGAppsHook
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-books"; pname = "gnome-books";
@ -15,15 +36,32 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkgconfig gettext libxslt desktop-file-utils meson
docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3 ninja
pkgconfig
gettext
libxslt
desktop-file-utils
docbook_xsl
docbook_xml_dtd_42
wrapGAppsHook
python3
]; ];
buildInputs = [ buildInputs = [
gtk3 glib gsettings-desktop-schemas gtk3
gdk-pixbuf adwaita-icon-theme evince glib
webkitgtk gjs gobject-introspection tracker gsettings-desktop-schemas
tracker-miners gnome-desktop libgepub gdk-pixbuf
adwaita-icon-theme
evince
webkitgtk
gjs
gobject-introspection
tracker
tracker-miners
gnome-desktop
libgepub
]; ];
postPatch = '' postPatch = ''
@ -39,6 +77,7 @@ stdenv.mkDerivation rec {
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = true; # Tracker 3 not supported and it cannot start Tracker 2.
homepage = "https://wiki.gnome.org/Apps/Books"; homepage = "https://wiki.gnome.org/Apps/Books";
description = "An e-book manager application for GNOME"; description = "An e-book manager application for GNOME";
maintainers = teams.gnome.members; maintainers = teams.gnome.members;

View File

@ -11,12 +11,15 @@
, gobject-introspection , gobject-introspection
, libxml2 , libxml2
, gtk3 , gtk3
, gtksourceview4
, gtk-vnc , gtk-vnc
, freerdp , freerdp
, libvirt , libvirt
, spice-gtk , spice-gtk
, python3 , python3
, appstream-glib
, spice-protocol , spice-protocol
, libhandy_0
, libsoup , libsoup
, libosinfo , libosinfo
, systemd , systemd
@ -51,16 +54,17 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-boxes"; pname = "gnome-boxes";
version = "3.36.6"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg"; sha256 = "0zrm4mihkx5i42h3pvk9lmsqf983dqz4rnfcbccwhx4ml2s4w3qv";
}; };
doCheck = true; doCheck = true;
nativeBuildInputs = [ nativeBuildInputs = [
appstream-glib # for appstream-util
desktop-file-utils desktop-file-utils
gettext gettext
gobject-introspection gobject-introspection
@ -89,12 +93,14 @@ stdenv.mkDerivation rec {
gnome3.adwaita-icon-theme gnome3.adwaita-icon-theme
gtk-vnc gtk-vnc
gtk3 gtk3
gtksourceview4
json-glib json-glib
libapparmor libapparmor
libarchive libarchive
libcap libcap
libcap_ng libcap_ng
libgudev libgudev
libhandy_0
libosinfo libosinfo
librsvg librsvg
libsecret libsecret

View File

@ -1,18 +1,45 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, wrapGAppsHook, libdazzle, libgweather, geoclue2, geocode-glib, python3 { stdenv
, gettext, libxml2, gnome3, gtk3, evolution-data-server, libsoup , fetchurl
, glib, gnome-online-accounts, gsettings-desktop-schemas, libhandy }: , fetchpatch
, meson
, ninja
, pkgconfig
, wrapGAppsHook
, libdazzle
, libgweather
, geoclue2
, geocode-glib
, python3
, gettext
, libxml2
, gnome3
, gtk3
, evolution-data-server
, libsoup
, glib
, gnome-online-accounts
, gsettings-desktop-schemas
, libhandy
, adwaita-icon-theme
}:
let stdenv.mkDerivation rec {
pname = "gnome-calendar"; pname = "gnome-calendar";
version = "3.36.2"; version = "3.38.1";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "07sc1kn65dzxsxpv0vl5dj1a5awljjsfl9jldrg0hnjmq12m7c6h"; sha256 = "04pmjzwcy1lswkri30rnvac99dff8zajs41as0j1cqrd1058i03j";
}; };
patches = [
# Port to libhandy-1
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-calendar/-/commit/8be361b6ce8f0f8053e1609decbdbdc164ec8448.patch";
sha256 = "Ue0pWwcbYyCZPHPPoR0dXW5n948/AZ3wVDMTIZDOnyE=";
})
];
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;
@ -20,10 +47,29 @@ in stdenv.mkDerivation rec {
}; };
}; };
nativeBuildInputs = [ meson ninja pkgconfig gettext libxml2 wrapGAppsHook python3 ]; nativeBuildInputs = [
meson
ninja
pkgconfig
gettext
libxml2
wrapGAppsHook
python3
];
buildInputs = [ buildInputs = [
gtk3 evolution-data-server libsoup glib gnome-online-accounts libdazzle libgweather geoclue2 geocode-glib gtk3
gsettings-desktop-schemas gnome3.adwaita-icon-theme libhandy evolution-data-server
libsoup
glib
gnome-online-accounts
libdazzle
libgweather
geoclue2
geocode-glib
gsettings-desktop-schemas
adwaita-icon-theme
libhandy
]; ];
postPatch = '' postPatch = ''

View File

@ -27,11 +27,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-clocks"; pname = "gnome-clocks";
version = "3.36.2"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-clocks/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-clocks/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1rjicycgh9jvkqir2m8hx9m4jlaa3w5lqs43k185wa0zxhi1n6zi"; sha256 = "0f24g76ax59qnms1rjfyf1i0sa84nadgbr0r6m26p90w1w2wnmnr";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,74 @@
{ stdenv
, fetchurl
, gnome3
, meson
, ninja
, vala
, pkg-config
, glib
, gtk3
, python3
, libxml2
, gtk-vnc
, gettext
, desktop-file-utils
, appstream-glib
, gobject-introspection
, freerdp
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "gnome-connections";
version = "3.38.0";
src = fetchurl {
url = "mirror://gnome/sources/connections/${stdenv.lib.versions.majorMinor version}/connections-${version}.tar.xz";
hash = "sha256-Eob36/zoWIGdYMpWks280FoIHGL7AHUhinFA4cEqels=";
};
nativeBuildInputs = [
desktop-file-utils
gettext
glib # glib-compile-resources
meson
appstream-glib
ninja
pkg-config
python3
vala
wrapGAppsHook
# for gtk-frdp subproject
gobject-introspection
];
buildInputs = [
glib
gtk-vnc
gtk3
libxml2
# for gtk-frdp subproject
freerdp
];
postPatch = ''
chmod +x build-aux/meson/postinstall.py
patchShebangs build-aux/meson/postinstall.py
'';
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; {
homepage = "https://gitlab.gnome.org/GNOME/connections";
description = "A remote desktop client for the GNOME desktop environment";
maintainers = teams.gnome.members;
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}

View File

@ -3,6 +3,7 @@
, ninja , ninja
, gettext , gettext
, fetchurl , fetchurl
, fetchpatch
, evince , evince
, gjs , gjs
, pkgconfig , pkgconfig
@ -28,6 +29,7 @@
, desktop-file-utils , desktop-file-utils
, wrapGAppsHook , wrapGAppsHook
, python3 , python3
, appstream-glib
, gsettings-desktop-schemas , gsettings-desktop-schemas
}: }:
@ -40,6 +42,14 @@ stdenv.mkDerivation rec {
sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq"; sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq";
}; };
patches = [
# Fix inkscape 1.0 usage
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-documents/commit/0f55a18c40a61e6ae4ec4652604775f139892350.diff";
sha256 = "1yrisq69dl1dn7639drlbza20a5ic6xg04ksr9iq4sxdx3xj3d8s";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja
@ -52,6 +62,7 @@ stdenv.mkDerivation rec {
docbook_xml_dtd_42 docbook_xml_dtd_42
wrapGAppsHook wrapGAppsHook
python3 python3
appstream-glib
# building getting started # building getting started
inkscape inkscape
@ -92,6 +103,12 @@ stdenv.mkDerivation rec {
substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.bin}/bin/gapplication" substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.bin}/bin/gapplication"
''; '';
preConfigure =
# To silence inkscape warnings regarding profile directory
''
export INKSCAPE_PROFILE_DIR="$(mktemp -d)"
'';
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;
@ -100,6 +117,7 @@ stdenv.mkDerivation rec {
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = true; # Tracker 3 not supported and it cannot start Tracker 2.
homepage = "https://wiki.gnome.org/Apps/Documents"; homepage = "https://wiki.gnome.org/Apps/Documents";
description = "Document manager application designed to work with GNOME 3"; description = "Document manager application designed to work with GNOME 3";
maintainers = teams.gnome.members; maintainers = teams.gnome.members;

View File

@ -1,29 +1,71 @@
{ stdenv, fetchurl, meson, ninja, gettext, python3, pkgconfig, gnome3, gtk3 { stdenv
, gobject-introspection, gdk-pixbuf, librsvg, libgweather , fetchurl
, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, libsoup, gsettings-desktop-schemas , meson
, webkitgtk, gjs, libgee, geocode-glib, evolution-data-server, gnome-online-accounts }: , ninja
, gettext
, python3
, pkgconfig
, gnome3
, gtk3
, gobject-introspection
, gdk-pixbuf
, librsvg
, libgweather
, geoclue2
, wrapGAppsHook
, folks
, libchamplain
, gfbgraph
, libsoup
, gsettings-desktop-schemas
, webkitgtk
, gjs
, libgee
, libhandy
, geocode-glib
, evolution-data-server
, gnome-online-accounts
}:
let stdenv.mkDerivation rec {
pname = "gnome-maps"; pname = "gnome-maps";
version = "3.36.4"; version = "3.38.1.1";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1ila7li9yi4lyjc84a787qr33wr7ayppphxn451jzg410pfcamhz"; sha256 = "1y59afvfrylkikqd0ax0nj41zs6b54219l7k5bp5gzh9lxq06xgk";
}; };
doCheck = true; doCheck = true;
nativeBuildInputs = [ meson ninja pkgconfig gettext python3 wrapGAppsHook ]; nativeBuildInputs = [
gettext
meson
ninja
pkgconfig
python3
wrapGAppsHook
];
buildInputs = [ buildInputs = [
evolution-data-server
folks
gdk-pixbuf
geoclue2
geocode-glib
gfbgraph
gjs
gnome-online-accounts
gnome3.adwaita-icon-theme
gobject-introspection gobject-introspection
gtk3 geoclue2 gjs libgee folks gfbgraph gsettings-desktop-schemas
geocode-glib libchamplain libsoup gtk3
gdk-pixbuf librsvg libgweather libchamplain
gsettings-desktop-schemas evolution-data-server libgee
gnome-online-accounts gnome3.adwaita-icon-theme libgweather
libhandy
librsvg
libsoup
webkitgtk webkitgtk
]; ];

View File

@ -30,13 +30,13 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "gnome-music"; pname = "gnome-music";
version = "3.36.4.1"; version = "3.38.1";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0zdpjgwf48bqb66wrl6k33pzcmc2g3m1046ma7z8xaj9idpi37jh"; sha256 = "1sda943nd646nq2y5anj0d7aaxxddznva5bh5gsx6qx0mxhi5jrv";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -13,7 +13,7 @@
, evolution-data-server , evolution-data-server
, gnome-online-accounts , gnome-online-accounts
, libuuid , libuuid
, libhandy , libhandy_0
, webkitgtk , webkitgtk
, zeitgeist , zeitgeist
, gnome3 , gnome3
@ -22,16 +22,13 @@
, tracker , tracker
}: }:
let stdenv.mkDerivation rec {
version = "3.36.3";
in
stdenv.mkDerivation {
pname = "gnome-notes"; pname = "gnome-notes";
inherit version; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz"; url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz";
sha256 = "1midnphyg038s94ahhzv0pvbzzzn62ccky28c9nazxqvw4hvdsbh"; sha256 = "H/bMCsbGKQe/KgmhchXt0vF7dNrKs6XIminDBJFyvis=";
}; };
doCheck = true; doCheck = true;
@ -57,7 +54,7 @@ stdenv.mkDerivation {
glib glib
gtk3 gtk3
libuuid libuuid
libhandy libhandy_0 # doesn't support libhandy-1 yet
webkitgtk webkitgtk
tracker tracker
gnome-online-accounts gnome-online-accounts

View File

@ -1,30 +1,60 @@
{ stdenv, fetchurl, pkgconfig, gettext, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk-pixbuf, gst_all_1, gnome3 { stdenv
, meson, ninja, python3, desktop-file-utils }: , fetchurl
, pkgconfig
, gettext
, gobject-introspection
, wrapGAppsHook
, gjs
, glib
, gtk3
, gdk-pixbuf
, gst_all_1
, gnome3
, meson
, ninja
, python3
, desktop-file-utils
, libhandy
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-sound-recorder"; pname = "gnome-sound-recorder";
version = "3.34.0"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1i442qas2dkp5d9j9j1z1jicb4cb7jkgbcl4c36bmhvaq3hddwa9"; sha256 = "I5A/c2G+QQhw+6lHIJFnuW9JB2MGQdM8y6qOQvV0tpk=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig gettext meson ninja gobject-introspection pkgconfig
wrapGAppsHook python3 desktop-file-utils gettext
meson
ninja
gobject-introspection
wrapGAppsHook
python3
desktop-file-utils
]; ];
buildInputs = [ gjs glib gtk3 gdk-pixbuf ] ++ (with gst_all_1; [ gstreamer.dev gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]);
buildInputs = [
gjs
glib
gtk3
gdk-pixbuf
libhandy
] ++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad # for gstreamer-player-1.0
]);
postPatch = '' postPatch = ''
chmod +x build-aux/meson_post_install.py chmod +x build-aux/meson_post_install.py
patchShebangs build-aux/meson_post_install.py patchShebangs build-aux/meson_post_install.py
''; '';
# TODO: fix this in gstreamer
# TODO: make stdenv.lib.getBin respect outputBin
PKG_CONFIG_GSTREAMER_1_0_TOOLSDIR = "${gst_all_1.gstreamer.dev}/bin";
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;

View File

@ -5,13 +5,13 @@
let let
pname = "polari"; pname = "polari";
version = "3.36.3"; version = "3.38.0";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg"; sha256 = "1l82nmb5qk4h69rsdhzlcmjjdhwh9jzfs4cnw8hy39sg5v9ady1s";
}; };
patches = [ patches = [

View File

@ -22,16 +22,16 @@
, p11-kit , p11-kit
, openssh , openssh
, gsettings-desktop-schemas , gsettings-desktop-schemas
, libhandy , libhandy_0
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "seahorse"; pname = "seahorse";
version = "3.36.2"; version = "3.37.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "16wmxxppgcgfj8zkagcny5af1c81x32ysm9d6j9f2k7bmik21ss5"; hash = "sha256-flpBYSYDDDTONYZuRR3V2sx637Mp1dMQJ79fUGLtRio=";
}; };
doCheck = true; doCheck = true;
@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
openssh openssh
openldap openldap
libpwquality libpwquality
libhandy libhandy_0 # not yet ported to libhandy-1
]; ];
postPatch = '' postPatch = ''

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "adwaita-icon-theme"; pname = "adwaita-icon-theme";
version = "3.36.1"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0kgiq712lfidd81yzx0yk7qwlj3q8cymp6npnxyzsk844y353674"; sha256 = "15xgz9wzk07442x3s3052as95g0223z4pp9qlsgcs323yama30v6";
}; };
# For convenience, we can specify adwaita-icon-theme only in packages # For convenience, we can specify adwaita-icon-theme only in packages

View File

@ -1,19 +1,19 @@
{ stdenv, gettext, fetchurl, vala, desktop-file-utils { stdenv, gettext, fetchurl, vala, desktop-file-utils
, meson, ninja, pkgconfig, gtk3, glib, libxml2 , meson, ninja, pkgconfig, python3, gtk3, glib, libxml2
, wrapGAppsHook, itstool, gnome3 }: , wrapGAppsHook, itstool, gnome3 }:
let let
pname = "baobab"; pname = "baobab";
version = "3.34.1"; version = "3.38.0";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1i90gc1cpw5507zn54k46hj4mjgdxsq8cvpnlgxq0ksy2d7iv63z"; sha256 = "0ac3fbl15l836yvgw724q4whbkws9v4b6l2xy6bnp0b0g0a6i104";
}; };
nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook ]; nativeBuildInputs = [ meson ninja pkgconfig vala gettext itstool libxml2 desktop-file-utils wrapGAppsHook python3 ];
buildInputs = [ gtk3 glib gnome3.adwaita-icon-theme ]; buildInputs = [ gtk3 glib gnome3.adwaita-icon-theme ];
doCheck = true; doCheck = true;

View File

@ -3,13 +3,13 @@
let let
pname = "dconf-editor"; pname = "dconf-editor";
version = "3.36.4"; version = "3.38.0";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0y9yll77wkvr9ly132icfsl12sdz5aba9qc3aqm5rc90r6xhkhry"; sha256 = "1d1y33c6fm86xz9xbh3bfz4y2pyas01a58lmirmdx0lh6yd292bd";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
folks (folks.override { telepathySupport = true; })
telepathy-logger telepathy-logger
evolution-data-server evolution-data-server
telepathy-mission-control telepathy-mission-control

View File

@ -8,6 +8,7 @@
, libxml2 , libxml2
, libjpeg , libjpeg
, libpeas , libpeas
, libportal
, gnome3 , gnome3
, gtk3 , gtk3
, glib , glib
@ -27,11 +28,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "eog"; pname = "eog";
version = "3.36.3"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1p1lrnsgk5iyw7h02qzax4s74dqqsh5lk85b0qsj7hwx91qm61xp"; sha256 = "0qyrs9cp4hsh64jfdpdi2v1hag8izw77qqnsvqwdb33871ya98z1";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
libjpeg libjpeg
libportal
gtk3 gtk3
gdk-pixbuf gdk-pixbuf
glib glib

View File

@ -9,6 +9,7 @@
, icu , icu
, wrapGAppsHook , wrapGAppsHook
, gnome3 , gnome3
, libportal
, libxml2 , libxml2
, libxslt , libxslt
, itstool , itstool
@ -35,11 +36,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "epiphany"; pname = "epiphany";
version = "3.36.4"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1gs2a94fzpciv58rljgbirsc2kqgiaiyc2yg6ff50nlgb2qpb2jq"; sha256 = "0hr87nl8pc7h8w65i8jwj5fdwr46wbygdnx6mhpbbyqirdm5gdsr";
}; };
# Tests need an X display # Tests need an X display
@ -80,6 +81,7 @@ stdenv.mkDerivation rec {
json-glib json-glib
libdazzle libdazzle
libhandy libhandy
libportal
libnotify libnotify
libsecret libsecret
libsoup libsoup

View File

@ -43,13 +43,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "evince"; pname = "evince";
version = "3.36.7"; version = "3.38.0";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0clg9fhgjyj23mmcmw7dp512wzgv5m18fppn05qf1frz7r11mmk5"; sha256 = "0j0ry0y9qi1mlm7dcjwrmrw45s1225ri8sv0s9vb8ibm85x8kpr6";
}; };
postPatch = '' postPatch = ''

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "evolution-data-server"; pname = "evolution-data-server";
version = "3.36.5"; version = "3.38.1";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1nbzzqxlck3jz42wnxl281yfzpylcvbsbb0fvkh7nibdaj654mf5"; sha256 = "1dz4ybhq5rf1hnaf1d6h60ldn9xpdaj9nw42c4iqbw9lqglpiwlg";
}; };
patches = [ patches = [

View File

@ -1,7 +1,35 @@
{ stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg { stdenv
, accountsservice, libX11, gnome3, systemd, autoreconfHook, dconf , fetchurl
, gtk3, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth , fetchpatch
, librsvg, coreutils, xwayland, nixos-icons, fetchpatch }: , substituteAll
, meson
, ninja
, python3
, rsync
, pkg-config
, glib
, itstool
, libxml2
, xorg
, accountsservice
, libX11
, gnome3
, systemd
, dconf
, gtk3
, libcanberra-gtk3
, pam
, libselinux
, keyutils
, audit
, gobject-introspection
, plymouth
, librsvg
, coreutils
, xwayland
, dbus
, nixos-icons
}:
let let
@ -19,44 +47,64 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gdm"; pname = "gdm";
version = "3.34.1"; version = "3.38.0";
outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gdm/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"; sha256 = "1fimhklb204rflz8k345756jikgbw8113hms3zlcwk6975f43m26";
}; };
# Only needed to make it build mesonFlags = [
preConfigure = '' "-Dgdm-xsession=true"
substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X" # TODO: Setup a default-path? https://gitlab.gnome.org/GNOME/gdm/-/blob/6fc40ac6aa37c8ad87c32f0b1a5d813d34bf7770/meson_options.txt#L6
''; "-Dinitial-vt=${passthru.initialVT}"
"-Dudev-dir=${placeholder "out"}/lib/udev/rules.d"
initialVT = "7"; "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
"-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
configureFlags = [
"--sysconfdir=/etc" "--sysconfdir=/etc"
"--localstatedir=/var" "--localstatedir=/var"
"--with-plymouth=yes"
"--enable-gdm-xsession"
"--with-initial-vt=${initialVT}"
"--with-systemdsystemunitdir=$(out)/etc/systemd/system"
"--with-udevdir=$(out)/lib/udev"
]; ];
nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool dconf ]; nativeBuildInputs = [
dconf
glib # for glib-compile-schemas
itstool
meson
ninja
pkg-config
python3
rsync
];
buildInputs = [ buildInputs = [
glib accountsservice systemd accountsservice
gobject-introspection libX11 gtk3 audit
libcanberra-gtk3 pam plymouth librsvg glib
gobject-introspection
gtk3
keyutils
libX11
libcanberra-gtk3
libselinux
pam
plymouth
systemd
xorg.libXdmcp
]; ];
enableParallelBuilding = true;
patches = [ patches = [
# https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/112
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gdm/-/commit/1d28d4b3568381b8590d2235737b924aefd1746c.patch";
sha256 = "ZUXKZS4T0o0hzrApxaqcR0txCRv5zBgqeQ9K9fLNX1o=";
})
# Change hardcoded paths to nix store paths. # Change hardcoded paths to nix store paths.
(substituteAll { (substituteAll {
src = ./fix-paths.patch; src = ./fix-paths.patch;
inherit coreutils plymouth xwayland; inherit coreutils plymouth xwayland dbus;
}) })
# The following patches implement certain environment variables in GDM which are set by # The following patches implement certain environment variables in GDM which are set by
@ -74,23 +122,61 @@ stdenv.mkDerivation rec {
# Set up the environment properly when launching sessions # Set up the environment properly when launching sessions
# https://github.com/NixOS/nixpkgs/issues/48255 # https://github.com/NixOS/nixpkgs/issues/48255
./reset-environment.patch ./reset-environment.patch
# Fix runtime patch location.
# https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/114
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gdm/-/commit/9d841d681f3d1c58e3df51a98421257f774cd185.patch";
sha256 = "0lf5kpz9ghylqlbybc0mpfsvr4i29z1ag8wf6j1918hjrfcipnxj";
})
]; ];
installFlags = [ postPatch = ''
"sysconfdir=$(out)/etc" patchShebangs build-aux/meson_post_install.py
"dbusconfdir=$(out)/etc/dbus-1/system.d"
]; # Upstream checks some common paths to find an `X` binary. We already know it.
echo #!/bin/sh > build-aux/find-x-server.sh
echo "echo ${stdenv.lib.getBin xorg.xorgserver}/bin/X" >> build-aux/find-x-server.sh
patchShebangs build-aux/find-x-server.sh
'';
preInstall = '' preInstall = ''
schema_dir=${glib.makeSchemaPath "$out" "${pname}-${version}"} install -D ${override} ${DESTDIR}/$out/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override
install -D ${override} $schema_dir/org.gnome.login-screen.gschema.override
''; '';
postInstall = ''
# Move stuff from DESTDIR to proper location.
# We use rsync to merge the directories.
rsync --archive "${DESTDIR}/etc" "$out"
rm --recursive "${DESTDIR}/etc"
for o in $outputs; do
rsync --archive "${DESTDIR}/''${!o}" "$(dirname "''${!o}")"
rm --recursive "${DESTDIR}/''${!o}"
done
# Ensure the DESTDIR is removed.
rmdir "${DESTDIR}/nix/store" "${DESTDIR}/nix" "${DESTDIR}"
# We are setting DESTDIR so the post-install script does not compile the schemas.
glib-compile-schemas "$out/share/glib-2.0/schemas"
'';
# HACK: We want to install configuration files to $out/etc
# but GDM should read them from /etc on a NixOS system.
# With autotools, it was possible to override Make variables
# at install time but Meson does not support this
# so we need to convince it to install all files to a temporary
# location using DESTDIR and then move it to proper one in postInstall.
DESTDIR = "${placeholder "out"}/dest";
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = "gdm"; packageName = "gdm";
attrPath = "gnome3.gdm"; attrPath = "gnome3.gdm";
}; };
# Used in GDM NixOS module
# Don't remove.
initialVT = "7";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -13,48 +13,70 @@
+++ b/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c
@@ -145,7 +145,7 @@ @@ -145,7 +145,7 @@
GError *error; GError *error;
error = NULL; error = NULL;
- res = g_spawn_command_line_sync ("/bin/plymouth --ping", - res = g_spawn_command_line_sync ("plymouth --ping",
+ res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth --ping", + res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth --ping",
NULL, NULL, &status, &error); NULL, NULL, &status, &error);
if (! res) { if (! res) {
g_debug ("Could not ping plymouth: %s", error->message); g_debug ("Could not ping plymouth: %s", error->message);
@@ -163,7 +163,7 @@ @@ -163,7 +163,7 @@
GError *error; GError *error;
error = NULL; error = NULL;
- res = g_spawn_command_line_sync ("/bin/plymouth deactivate", - res = g_spawn_command_line_sync ("plymouth deactivate",
+ res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth deactivate", + res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth deactivate",
NULL, NULL, NULL, &error); NULL, NULL, NULL, &error);
if (! res) { if (! res) {
g_warning ("Could not deactivate plymouth: %s", error->message); g_warning ("Could not deactivate plymouth: %s", error->message);
@@ -178,7 +178,7 @@ @@ -178,7 +178,7 @@
GError *error; GError *error;
error = NULL; error = NULL;
- res = g_spawn_command_line_async ("/bin/plymouth quit --retain-splash", &error); - res = g_spawn_command_line_async ("plymouth quit --retain-splash", &error);
+ res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit --retain-splash", &error); + res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit --retain-splash", &error);
if (! res) { if (! res) {
g_warning ("Could not quit plymouth: %s", error->message); g_warning ("Could not quit plymouth: %s", error->message);
g_error_free (error); g_error_free (error);
@@ -194,7 +194,7 @@ @@ -194,7 +194,7 @@
GError *error; GError *error;
error = NULL; error = NULL;
- res = g_spawn_command_line_async ("/bin/plymouth quit", &error); - res = g_spawn_command_line_async ("plymouth quit", &error);
+ res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit", &error); + res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit", &error);
if (! res) { if (! res) {
g_warning ("Could not quit plymouth: %s", error->message); g_warning ("Could not quit plymouth: %s", error->message);
g_error_free (error); g_error_free (error);
--- a/data/gdm.service.in --- a/data/gdm.service.in
+++ b/data/gdm.service.in +++ b/data/gdm.service.in
@@ -28,7 +28,7 @@ BusName=org.gnome.DisplayManager @@ -26,7 +26,7 @@ Restart=always
StandardOutput=syslog IgnoreSIGPIPE=no
StandardError=inherit BusName=org.gnome.DisplayManager
EnvironmentFile=-@LANG_CONFIG_FILE@ EnvironmentFile=-${LANG_CONFIG_FILE}
-ExecReload=/bin/kill -SIGHUP $MAINPID -ExecReload=/bin/kill -SIGHUP $MAINPID
+ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID +ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID
KeyringMode=shared KeyringMode=shared
[Install] [Install]
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2916,16 +2916,16 @@ gdm_session_start_session (GdmSession *self,
*/
if (run_launcher) {
if (is_x11) {
- program = g_strdup_printf (LIBEXECDIR "/gdm-x-session %s\"dbus-run-session -- %s\"",
+ program = g_strdup_printf (LIBEXECDIR "/gdm-x-session %s\"@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s\"",
register_session ? "--register-session " : "",
self->selected_program);
} else {
- program = g_strdup_printf (LIBEXECDIR "/gdm-wayland-session %s\"dbus-run-session -- %s\"",
+ program = g_strdup_printf (LIBEXECDIR "/gdm-wayland-session %s\"@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s\"",
register_session ? "--register-session " : "",
self->selected_program);
}
} else {
- program = g_strdup_printf ("dbus-run-session -- %s",
+ program = g_strdup_printf ("@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s",
self->selected_program);
}
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-backgrounds"; pname = "gnome-backgrounds";
version = "3.36.0"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-backgrounds/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-backgrounds/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "02xvfwfi3133mjljl731z2hj9hfmjas3a1jl4fxmy24xrzj83jxq"; sha256 = "1qqygm15rcdgm36vz2iy7b9axndjzvpi29lmygyakjc07a3jlwgp";
}; };
passthru = { passthru = {

View File

@ -6,14 +6,14 @@ let
pname = "gnome-bluetooth"; pname = "gnome-bluetooth";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
version = "3.34.1"; version = "3.34.3";
# TODO: split out "lib" # TODO: split out "lib"
outputs = [ "out" "dev" "devdoc" "man" ]; outputs = [ "out" "dev" "devdoc" "man" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "11nk8nvz5yrbx7wp75vsiaf4rniv7ik2g3nwmgwx2b42q9v11j9y"; sha256 = "08k4jak4r72pvn5kjhm21planyc514j6c7jjj5lv9nmvvlxqw1ha";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-calculator"; pname = "gnome-calculator";
version = "3.36.0"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-calculator/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-calculator/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1cqd4b25qp1i0p04m669jssg1l5sdapc1mniv9jssvw5r7wk1s52"; sha256 = "0jajgdl2338nwym980gqw77pcjkprzhnfg8asdjksiksgz8gzzvw";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -3,16 +3,15 @@
, libchamplain, clutter-gtk, geocode-glib, gnome-desktop, gnome-online-accounts , libchamplain, clutter-gtk, geocode-glib, gnome-desktop, gnome-online-accounts
, wrapGAppsHook, folks, libxml2, gnome3 , wrapGAppsHook, folks, libxml2, gnome3
, vala, meson, ninja, libhandy, gsettings-desktop-schemas , vala, meson, ninja, libhandy, gsettings-desktop-schemas
# , telepathy-glib
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-contacts"; pname = "gnome-contacts";
version = "3.36.2"; version = "3.38";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-contacts/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-contacts/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "048l07biy8xrfidfyzrjd5lrnfzqhb767ih2gl7w6c4mmhj4g2dy"; sha256 = "f8LuaJwfOcLmN163YLlOFlHOSoKK1AggbToD4TPaGa8=";
}; };
propagatedUserEnvPkgs = [ evolution-data-server ]; propagatedUserEnvPkgs = [ evolution-data-server ];
@ -26,7 +25,6 @@ stdenv.mkDerivation rec {
folks gnome-desktop libhandy folks gnome-desktop libhandy
libxml2 gnome-online-accounts cheese libxml2 gnome-online-accounts cheese
gnome3.adwaita-icon-theme libchamplain clutter-gtk geocode-glib gnome3.adwaita-icon-theme libchamplain clutter-gtk geocode-glib
# telepathy-glib 3.35.90 fails to build with telepathy
]; ];
mesonFlags = [ mesonFlags = [

View File

@ -1,4 +1,6 @@
{ fetchurl { fetchurl
, fetchFromGitLab
, fetchpatch
, stdenv , stdenv
, substituteAll , substituteAll
, accountsservice , accountsservice
@ -68,12 +70,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-control-center"; pname = "gnome-control-center";
version = "3.36.4"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0m7pxjgymc7aqqz0vcmlq91nxnwzd1v7v1gdhrfam49krxmk80mc"; sha256 = "09i011hf23s2i4wim43vjys7y4y43cxl3kyvrnrwqvqgc5n0144d";
}; };
# See https://mail.gnome.org/archives/distributor-list/2020-September/msg00001.html
prePatch = (import ../gvc-with-ucm-prePatch.nix {
inherit fetchFromGitLab;
});
nativeBuildInputs = [ nativeBuildInputs = [
docbook_xsl docbook_xsl
@ -143,6 +149,17 @@ stdenv.mkDerivation rec {
inherit glibc libgnomekbd tzdata; inherit glibc libgnomekbd tzdata;
inherit cups networkmanagerapplet; inherit cups networkmanagerapplet;
}) })
# Fix double free when leaving user accounts panel.
# https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/853
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/e80b4b5f58f448c5a3d38721f7bba32c413d46e7.patch";
sha256 = "GffsSU/uNS0Fg2lXbOuD/BrWBT4D2VKgWNGifG0FBUw=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/64686cfee330849945f6ff4dcc43393eb1a6e59c.patch";
sha256 = "4VJU0q6qOtGzd/hmDncckInfEjCkC8+lXmDgxwc4VJU=";
})
]; ];
postPatch = '' postPatch = ''
@ -150,10 +167,6 @@ stdenv.mkDerivation rec {
patchShebangs build-aux/meson/meson_post_install.py patchShebangs build-aux/meson/meson_post_install.py
''; '';
mesonFlags = [
"-Dgnome_session_libexecdir=${gnome-session}/libexec"
];
preFixup = '' preFixup = ''
gappsWrapperArgs+=( gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share"

View File

@ -1,16 +1,16 @@
{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib { stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, gnome3, gtk3, glib
, gettext, libxml2, xkeyboard_config, isocodes, meson, wayland , gettext, libxml2, xkeyboard_config, isocodes, meson, wayland
, libseccomp, systemd, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }: , libseccomp, systemd, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-desktop"; pname = "gnome-desktop";
version = "3.36.5"; version = "3.38.1";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0lxpgb199hn37vq822qg9g43pwixbki3x5lkazqa77qhjhlj98gf"; sha256 = "1q1vri9vsrdwhhl26dk1f79a3dhwfn9dhbaiczli826nzq9kb40p";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
gtk-doc docbook_xsl glib gtk-doc docbook_xsl glib
]; ];
buildInputs = [ buildInputs = [
libX11 bubblewrap xkeyboard_config isocodes wayland bubblewrap xkeyboard_config isocodes wayland
gtk3 glib libseccomp systemd gtk3 glib libseccomp systemd
]; ];

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-disk-utility"; pname = "gnome-disk-utility";
version = "3.36.3"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-disk-utility/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0yhnjmjzkixj29vcw6rzaijpg4mlwm2k1kqp4g3hn1xb6qzks0yx"; sha256 = "08sj1csd1jsmph2lyw2lpj7jh40236alz56pmf315hwyimkcwd3p";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,25 +1,35 @@
From 1ae0eca39ba6af27f37e2fe81395b91a2761a408 Mon Sep 17 00:00:00 2001
Message-Id: <1ae0eca39ba6af27f37e2fe81395b91a2761a408.1600627676.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sun, 20 Sep 2020 14:46:59 -0400
Subject: [PATCH] fix paths
---
data/gnome-welcome-tour | 4 ++--
gnome-initial-setup/pages/keyboard/cc-input-chooser.c | 6 +++---
gnome-initial-setup/pages/timezone/tz.h | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/data/gnome-welcome-tour b/data/gnome-welcome-tour diff --git a/data/gnome-welcome-tour b/data/gnome-welcome-tour
index c479296..3dd629c 100755 index 51c9b59..68ab0c4 100755
--- a/data/gnome-welcome-tour --- a/data/gnome-welcome-tour
+++ b/data/gnome-welcome-tour +++ b/data/gnome-welcome-tour
@@ -3,7 +3,7 @@ @@ -3,11 +3,11 @@
cfgdir=${XDG_CONFIG_DIR:-$HOME/.config} cfgdir=${XDG_CONFIG_DIR:-$HOME/.config}
# Don't do anything if yelp isn't installed # Don't do anything if gnome-tour isn't installed
-yelp_path=$(which yelp 2>/dev/null) -gnome_tour_path=$(which gnome-tour 2>/dev/null)
+yelp_path=@yelp@ +gnome_tour_path="@gnome_tour@"
if test -z "${yelp_path}"; then if test -z "${gnome_tour_path}"; then
rm -f $cfgdir/run-welcome-tour rm -f $cfgdir/run-welcome-tour
exit exit
@@ -17,5 +17,5 @@ geometry=(1024, 709)
EOF
fi fi
-yelp help:gnome-help/getting-started -gnome-tour
+$yelp_path help:gnome-help/getting-started +@gnome_tour@
rm -f $cfgdir/run-welcome-tour rm -f $cfgdir/run-welcome-tour
diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
index 1c34ef7..a1e7f93 100644 index 196abf6..613d0e5 100644
--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c --- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
@@ -177,9 +177,9 @@ preview_cb (GtkLabel *label, @@ -177,9 +177,9 @@ preview_cb (GtkLabel *label,
@ -34,7 +44,7 @@ index 1c34ef7..a1e7f93 100644
g_spawn_command_line_async (commandline, NULL); g_spawn_command_line_async (commandline, NULL);
g_free (commandline); g_free (commandline);
@@ -829,7 +829,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass) @@ -831,7 +831,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass)
g_param_spec_string ("showing-extra", "", "", "", g_param_spec_string ("showing-extra", "", "", "",
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
@ -44,7 +54,7 @@ index 1c34ef7..a1e7f93 100644
G_TYPE_FROM_CLASS (object_class), G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_FIRST, G_SIGNAL_RUN_FIRST,
diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h
index 93905b3..e7ee785 100644 index a2376f8..5cb7bc9 100644
--- a/gnome-initial-setup/pages/timezone/tz.h --- a/gnome-initial-setup/pages/timezone/tz.h
+++ b/gnome-initial-setup/pages/timezone/tz.h +++ b/gnome-initial-setup/pages/timezone/tz.h
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
@ -57,7 +67,7 @@ index 93905b3..e7ee785 100644
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
#include <glib.h> G_BEGIN_DECLS
#ifndef __sun #ifndef __sun
-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" -# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
@ -65,3 +75,7 @@ index 93905b3..e7ee785 100644
#else #else
# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" # define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
#endif #endif
base-commit: 5132e206a6bf81964450561d68473ac015760455
--
git-series 0.9.1

View File

@ -32,15 +32,17 @@
, tzdata , tzdata
, yelp , yelp
, libgnomekbd , libgnomekbd
, gsettings-desktop-schemas
, gnome-tour
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-initial-setup"; pname = "gnome-initial-setup";
version = "3.36.4"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "17szzz2a5wpi7kwjnhimiwf8vg0bfliyk3k0adgv1pw2mcfpxp5s"; hash = "sha256-5V1PQHOZjg+3s9/MRw4qTH2VCpa+2rFQEbkITryBNnY=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -62,10 +64,12 @@ stdenv.mkDerivation rec {
gnome-desktop gnome-desktop
gnome-getting-started-docs gnome-getting-started-docs
gnome-online-accounts gnome-online-accounts
gsettings-desktop-schemas
gtk3 gtk3
json-glib json-glib
krb5 krb5
libgweather libgweather
libnma
libpwquality libpwquality
librest librest
libsecret libsecret
@ -73,14 +77,13 @@ stdenv.mkDerivation rec {
pango pango
polkit polkit
webkitgtk webkitgtk
libnma
]; ];
patches = [ patches = [
(substituteAll { (substituteAll {
src = ./fix-paths.patch; src = ./0001-fix-paths.patch;
inherit tzdata libgnomekbd; inherit tzdata libgnomekbd;
yelp = "${yelp}/bin/yelp"; # gnome-welcome-tour gnome_tour = "${gnome-tour}/bin/gnome-tour";
}) })
]; ];

View File

@ -1,6 +1,28 @@
{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2 { stdenv
, libgdata, grilo, libzapojit, grilo-plugins, gnome-online-accounts, libmediaart , fetchurl
, tracker, gfbgraph, librest, libsoup, json-glib, gmp, openssl, dleyna-server, wrapGAppsHook }: , fetchpatch
, autoconf-archive
, autoreconfHook
, pkg-config
, glib
, gnome3
, libxml2
, libgdata
, grilo
, libzapojit
, grilo-plugins
, gnome-online-accounts
, libmediaart
, tracker
, gfbgraph
, librest
, libsoup
, json-glib
, gmp
, openssl
, dleyna-server
, wrapGAppsHook
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-online-miners"; pname = "gnome-online-miners";
@ -11,15 +33,70 @@ stdenv.mkDerivation rec {
sha256 = "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"; sha256 = "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44";
}; };
nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; patches = [
# Fix use after free
# https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/4
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/9eb57c6a8cd1a925c508646edae936eee0a8e46b.patch";
sha256 = "O1GRnzs33I0mFzrNDFkTGiBKstq5krYg7fwj60367TA=";
})
# Port to Tracker 3
# https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/3
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/2d3798252807cad9eb061ed2b37e35170c1a1daf.patch";
sha256 = "hwrkxroMpTfOwJAPkYQFdDCroZ2qSsvOgDetrJDig20=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/1548c0c527f0e4389047448d7d3b6cff55278c8e.patch";
sha256 = "U9w81c9Kze7kv5KHeGqvDeSNHzSayVrUG0XYsYMa1sg=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/941ebd8890c9ac4f75a1f58ccbea9731f46ad912.patch";
sha256 = "JHtDlZ54/BlSiUA3ROHfCTtTKSin3g6JNm8NS6pYML8=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/d1681a64bc3f65894af2549e3ba2bffbaf6f539a.patch";
sha256 = "9ZEatz5I81UAnjS1qCGWYDQQOxg/qp9Tg3xG/a+3goc=";
})
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/3d2af8785c84d6e50d8a8e6a2569a4b709184e94.patch";
sha256 = "7bdUE2k6g3Z8sdGYEb6pUm1/wbKDe4BHbylXUzfuTG0=";
})
];
nativeBuildInputs = [
# patch changes configure.ac
autoconf-archive
autoreconfHook
pkg-config
wrapGAppsHook
];
buildInputs = [ buildInputs = [
glib libgdata libxml2 libsoup gmp openssl glib
grilo libzapojit grilo-plugins libgdata
gnome-online-accounts libmediaart libxml2
tracker gfbgraph json-glib librest libsoup
gmp
openssl
grilo
libzapojit
grilo-plugins
gnome-online-accounts
libmediaart
tracker
gfbgraph
json-glib
librest
dleyna-server dleyna-server
]; ];
NIX_CFLAGS_COMPILE = [
"-Wno-error=format-security" # https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/3/diffs#note_942747
];
enableParallelBuilding = true; enableParallelBuilding = true;
passthru = { passthru = {
@ -33,7 +110,7 @@ stdenv.mkDerivation rec {
homepage = "https://wiki.gnome.org/Projects/GnomeOnlineMiners"; homepage = "https://wiki.gnome.org/Projects/GnomeOnlineMiners";
description = "A set of crawlers that go through your online content and index them locally in Tracker"; description = "A set of crawlers that go through your online content and index them locally in Tracker";
maintainers = teams.gnome.members; maintainers = teams.gnome.members;
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,23 +1,48 @@
{ stdenv, fetchFromGitLab, meson, ninja, pkgconfig, python3, wrapGAppsHook { stdenv
, glib, pipewire, systemd, libvncserver, libsecret, libnotify, gdk-pixbuf }: , fetchurl
, cairo
, meson
, ninja
, pkgconfig
, python3
, wrapGAppsHook
, glib
, pipewire
, systemd
, libvncserver
, libsecret
, libnotify
, gdk-pixbuf
, freerdp
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-remote-desktop"; pname = "gnome-remote-desktop";
version = "0.1.8"; version = "0.1.9";
src = fetchFromGitLab { src = fetchurl {
domain = "gitlab.gnome.org"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
owner = "jadahl"; hash = "sha256-8iZtp4tBRT7NNRKuzwop3rcMvq16RG/I2sAlEIsJ0M8=";
repo = "gnome-remote-desktop";
rev = version;
sha256 = "1wcvk0w4p0wnqnrjkbwvqcby9dd4nj0cm9cz0fqna31qfjrvb913";
}; };
nativeBuildInputs = [ meson ninja pkgconfig python3 wrapGAppsHook ]; nativeBuildInputs = [
meson
ninja
pkgconfig
python3
wrapGAppsHook
];
buildInputs = [ buildInputs = [
glib pipewire systemd libvncserver libsecret libnotify cairo
freerdp
gdk-pixbuf # For libnotify gdk-pixbuf # For libnotify
glib
libnotify
libsecret
libvncserver
pipewire
systemd
]; ];
postPatch = '' postPatch = ''

View File

@ -1,16 +1,16 @@
{ stdenv, gettext, libxml2, fetchurl, pkgconfig, libcanberra-gtk3 { stdenv, gettext, libxml2, libhandy, fetchurl, pkgconfig, libcanberra-gtk3
, gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils , gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils
, gnome3, gsettings-desktop-schemas }: , gnome3, gsettings-desktop-schemas }:
let let
pname = "gnome-screenshot"; pname = "gnome-screenshot";
version = "3.36.0"; version = "3.38.0";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0rhj6fkpxfm26jv3vsn7yb2ybkc2k86ggy23nxa945q74y4msj9k"; sha256 = "1h4zsaybjrlkfcrvriyybg4gfr7v9d1ndh2p516k94ad2gfx6mp5";
}; };
doCheck = true; doCheck = true;
@ -22,7 +22,7 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 desktop-file-utils python3 wrapGAppsHook ]; nativeBuildInputs = [ meson ninja pkgconfig gettext appstream-glib libxml2 desktop-file-utils python3 wrapGAppsHook ];
buildInputs = [ buildInputs = [
gtk3 glib libcanberra-gtk3 gnome3.adwaita-icon-theme gtk3 glib libcanberra-gtk3 libhandy gnome3.adwaita-icon-theme
gsettings-desktop-schemas gsettings-desktop-schemas
]; ];

View File

@ -0,0 +1,41 @@
{ stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, glib
, systemd
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "gnome-session-ctl";
version = "3.38.0";
src = fetchFromGitHub {
owner = "nix-community";
repo = pname;
rev = "c20907fea27fa96568b8375a6756c40d0bfb9e40"; # main
hash = "sha256-y9/yOH6N8wf93+gPqnqzRzV/lPXYD0M6v7dsLFF8lWo=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook
];
buildInputs = [
glib
systemd
];
meta = with stdenv.lib; {
description = "gnome-session-ctl extracted from gnome-session for nixpkgs";
homepage = "https://github.com/nix-community/gnome-session-ctl";
license = licenses.gpl2Plus;
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}

View File

@ -1,16 +1,16 @@
{ fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, glib, gtk3, gsettings-desktop-schemas { fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, glib, gtk3, gsettings-desktop-schemas
, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3 , gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3
, libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash }: , libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash, gnome-session-ctl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-session"; pname = "gnome-session";
version = "3.36.0"; version = "3.38.0";
outputs = ["out" "sessions"]; outputs = ["out" "sessions"];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-session/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0ymvf1bap35348rpjqp63qwnwnnawdwi4snch95zc4n832w3hjym"; sha256 = "0rrxjk3vbqy3cdgnl7rw71dvcyrvhwq3m6s53dnkyjxsrnr0xk3v";
}; };
patches = [ patches = [
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
}) })
]; ];
mesonFlags = [ "-Dsystemd=true" ]; mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ];
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkgconfig gettext makeWrapper meson ninja pkgconfig gettext makeWrapper
@ -39,6 +39,14 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
chmod +x meson_post_install.py # patchShebangs requires executable file chmod +x meson_post_install.py # patchShebangs requires executable file
patchShebangs meson_post_install.py patchShebangs meson_post_install.py
# Use our provided `gnome-session-ctl`
original="@libexecdir@/gnome-session-ctl"
replacement="${gnome-session-ctl}/libexec/gnome-session-ctl"
find data/ -type f -name "*.service.in" -exec sed -i \
-e s,$original,$replacement,g \
{} +
''; '';
# `bin/gnome-session` will reset the environment when run in wayland, we # `bin/gnome-session` will reset the environment when run in wayland, we
@ -59,6 +67,9 @@ stdenv.mkDerivation rec {
mkdir $sessions mkdir $sessions
moveToOutput share/wayland-sessions "$sessions" moveToOutput share/wayland-sessions "$sessions"
moveToOutput share/xsessions "$sessions" moveToOutput share/xsessions "$sessions"
# Our provided one is being used
rm -rf $out/libexec/gnome-session-ctl
''; '';
passthru = { passthru = {

View File

@ -1,6 +1,8 @@
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index ddd1a591..46a3488b 100755
--- a/gnome-session/gnome-session.in --- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in +++ b/gnome-session/gnome-session.in
@@ -3,11 +3,13 @@ @@ -3,17 +3,19 @@
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] && [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
[ -n "$SHELL" ] && [ -n "$SHELL" ] &&
@ -12,24 +14,24 @@
+ ! (echo "$SHELL" | @grep@ -q "nologin"); then + ! (echo "$SHELL" | @grep@ -q "nologin"); then
if [ "$1" != '-l' ]; then if [ "$1" != '-l' ]; then
- exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" - exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
+ # Make sure the shell actually sets up the environment + # Make sure the shell actually sets up the environment.
+ unset __NIXOS_SET_ENVIRONMENT_DONE + unset __NIXOS_SET_ENVIRONMENT_DONE
+ exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'" + exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'"
else else
shift shift
fi fi
@@ -13,7 +13,7 @@
fi
fi fi
-SETTING=$(G_MESSAGES_DEBUG= gsettings get org.gnome.system.locale region) -SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
+SETTING=$(G_MESSAGES_DEBUG= @gsettings@ get org.gnome.system.locale region) +SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region)
REGION=${SETTING#\'} REGION=${SETTING#\'}
REGION=${REGION%\'} REGION=${REGION%\'}
diff --git a/gnome-session/main.c b/gnome-session/main.c
index 84edfbe5..e5285489 100644
--- a/gnome-session/main.c --- a/gnome-session/main.c
+++ b/gnome-session/main.c +++ b/gnome-session/main.c
@@ -203,7 +203,7 @@ @@ -215,7 +215,7 @@ require_dbus_session (int argc,
} }
new_argv[i + 2] = NULL; new_argv[i + 2] = NULL;

View File

@ -1,4 +1,5 @@
{ stdenv { stdenv
, fetchpatch
, substituteAll , substituteAll
, fetchurl , fetchurl
, meson , meson
@ -36,18 +37,25 @@
, tzdata , tzdata
, nss , nss
, gcr , gcr
, gnome-session-ctl
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-settings-daemon"; pname = "gnome-settings-daemon";
version = "3.36.1"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0jzf2nznpcrjqq7fjwk66kw8a6x87kgbdjidc2msaqmm379xncry"; sha256 = "0r010wzw3dj87mapzvq15zv93i86wg0x0rpii3x2wapq3bcj30g2";
}; };
patches = [ patches = [
# https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch";
sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI=";
})
(substituteAll { (substituteAll {
src = ./fix-paths.patch; src = ./fix-paths.patch;
inherit tzdata; inherit tzdata;
@ -95,6 +103,7 @@ stdenv.mkDerivation rec {
mesonFlags = [ mesonFlags = [
"-Dudev_dir=${placeholder "out"}/lib/udev" "-Dudev_dir=${placeholder "out"}/lib/udev"
"-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl"
]; ];
# Default for release buildtype but passed manually because # Default for release buildtype but passed manually because

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-extensions"; pname = "gnome-shell-extensions";
version = "3.36.3"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-shell-extensions/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1cg3dqvvxg8zrdqs2rci8sds2hxjahbhm87f0xpy8b3gq56lqrrb"; sha256 = "150c0jgjhbb59wf7lzcnp1f22lvrigw95mg5ad3jh15qzwqqd8wx";
}; };
passthru = { passthru = {

View File

@ -16,15 +16,12 @@
, docbook-xsl-nons , docbook-xsl-nons
, at-spi2-core , at-spi2-core
, libstartup_notification , libstartup_notification
, telepathy-glib
, telepathy-logger
, unzip , unzip
, shared-mime-info , shared-mime-info
, libgweather , libgweather
, librsvg , librsvg
, geoclue2 , geoclue2
, perl , perl
, docbook_xml_dtd_412
, docbook_xml_dtd_42 , docbook_xml_dtd_42
, docbook_xml_dtd_43 , docbook_xml_dtd_43
, desktop-file-utils , desktop-file-utils
@ -51,6 +48,7 @@
, gtk3 , gtk3
, sassc , sassc
, systemd , systemd
, pipewire
, gst_all_1 , gst_all_1
, adwaita-icon-theme , adwaita-icon-theme
, gnome-bluetooth , gnome-bluetooth
@ -67,13 +65,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell"; pname = "gnome-shell";
version = "3.36.5"; version = "3.38.1";
outputs = [ "out" "devdoc" ]; outputs = [ "out" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1hj7gmjmy92xndlgw7pzk5m6j2fbzcgfd1pxc32k38gml8qg19d4"; sha256 = "1d0br74gxwnqbh102yjkszkc6fc4yd6p5lcs6bxcpi33chly72dp";
}; };
patches = [ patches = [
@ -84,13 +82,6 @@ stdenv.mkDerivation rec {
gsettings = "${glib.bin}/bin/gsettings"; gsettings = "${glib.bin}/bin/gsettings";
}) })
# Install bash-completions to correct prefix.
# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1194
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/9f1ad5d86ddbabaa840eb2860279d53f4e635453.patch";
sha256 = "18amnqw342vllcrjpfcq232z9xr28vgjsf2z8k73xx70nwah7hvz";
})
# Use absolute path for libshew installation to make our patched gobject-introspection # Use absolute path for libshew installation to make our patched gobject-introspection
# aware of the location to hardcode in the generated GIR file. # aware of the location to hardcode in the generated GIR file.
./shew-gir-path.patch ./shew-gir-path.patch
@ -113,7 +104,7 @@ stdenv.mkDerivation rec {
pkg-config pkg-config
gettext gettext
docbook-xsl-nons docbook-xsl-nons
docbook_xml_dtd_412 # Switch to 4.5 in the 40.
docbook_xml_dtd_42 docbook_xml_dtd_42
docbook_xml_dtd_43 docbook_xml_dtd_43
gtk-doc gtk-doc
@ -139,7 +130,6 @@ stdenv.mkDerivation rec {
librsvg librsvg
networkmanager networkmanager
libstartup_notification libstartup_notification
telepathy-glib
gjs gjs
mutter mutter
libpulseaudio libpulseaudio
@ -155,11 +145,11 @@ stdenv.mkDerivation rec {
upower upower
ibus ibus
gnome-desktop gnome-desktop
telepathy-logger
gnome-settings-daemon gnome-settings-daemon
gobject-introspection gobject-introspection
# recording # recording
pipewire
gst_all_1.gstreamer gst_all_1.gstreamer
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-good
@ -197,7 +187,7 @@ stdenv.mkDerivation rec {
postFixup = '' postFixup = ''
# The services need typelibs. # The services need typelibs.
for svc in org.gnome.Shell.Extensions org.gnome.Shell.Notifications; do for svc in org.gnome.Shell.Extensions org.gnome.Shell.Notifications org.gnome.Shell.Screencast; do
wrapGApp $out/share/gnome-shell/$svc wrapGApp $out/share/gnome-shell/$svc
done done
''; '';

View File

@ -19,8 +19,8 @@
+ Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]); + Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]);
} }
}); });
--- a/data/gnome-shell-disable-extensions.service --- a/data/org.gnome.Shell-disable-extensions.service
+++ b/data/gnome-shell-disable-extensions.service +++ b/data/org.gnome.Shell-disable-extensions.service
@@ -10,5 +10,5 @@ Requisite=gnome-session-stable.timer @@ -10,5 +10,5 @@ Requisite=gnome-session-stable.timer
[Service] [Service]
Type=simple Type=simple

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree { stdenv, fetchurl, substituteAll, pkgconfig, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd , glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd
, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts , gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts
, json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils }: , json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils
, sysprof }:
let let
@ -11,11 +12,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-software"; pname = "gnome-software";
version = "3.36.1"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0vkgpy2afb33rrk94zqlm2q728xhzjj8s24n9wh9ylw00z3nckad"; sha256 = "0rjm486vgn6gi9mv1rqdcvr9cilmw6in4r6djqkxbxqll89cp2l7";
}; };
patches = [ patches = [
@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
gtk3 glib packagekit appstream-glib libsoup gtk3 glib packagekit appstream-glib libsoup
gsettings-desktop-schemas gnome-desktop gsettings-desktop-schemas gnome-desktop
gspell json-glib libsecret ostree gspell json-glib libsecret ostree
polkit flatpak libxmlb gnome-online-accounts polkit flatpak libxmlb gnome-online-accounts sysprof
] ++ stdenv.lib.optionals withFwupd [ ] ++ stdenv.lib.optionals withFwupd [
fwupd fwupd
]; ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-system-monitor"; pname = "gnome-system-monitor";
version = "3.36.1"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-system-monitor/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-system-monitor/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "18dwwwmw4m2kzvfmxyaxmnm66d1plwvh6c6naznb0xac1ymlfsw6"; sha256 = "1x5gd30g87im7fnqj63njlac69zywfd1r0vgsxkjag2hsns7mgvk";
}; };
doCheck = true; doCheck = true;

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl, pkgconfig, libxml2, gnome3, dconf, nautilus { stdenv, fetchurl, pkgconfig, libxml2, gnome3, dconf, nautilus
, gtk3, gsettings-desktop-schemas, vte, gettext, which, libuuid, vala , gtk3, gsettings-desktop-schemas, vte, gettext, which, libuuid, vala
, desktop-file-utils, itstool, wrapGAppsHook, glib, pcre2 }: , desktop-file-utils, itstool, wrapGAppsHook, glib, pcre2
, libxslt, docbook-xsl-nons }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-terminal"; pname = "gnome-terminal";
version = "3.36.2"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0inzmkmxv8xw4px2zjfw7236d08yjcv7znxcjki6dh4pvjivdla1"; sha256 = "1lgkvla0fadg76j898p2x2fipqf8kkqbbmmsfkfpz11q9y1d966r";
}; };
buildInputs = [ buildInputs = [
@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig gettext itstool which libxml2 pkgconfig gettext itstool which libxml2 libxslt docbook-xsl-nons
vala desktop-file-utils wrapGAppsHook pcre2 vala desktop-file-utils wrapGAppsHook pcre2
]; ];

View File

@ -3,7 +3,7 @@
, gettext , gettext
, meson , meson
, ninja , ninja
, fetchFromGitLab , fetchurl
, pkg-config , pkg-config
, gtk3 , gtk3
, glib , glib
@ -13,34 +13,26 @@
, wrapGAppsHook , wrapGAppsHook
, python3 , python3
, gnome3 , gnome3
, config , libhandy
, librsvg
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "gnome-tour"; pname = "gnome-tour";
version = "0.0.1"; version = "3.38.0";
# We don't use the uploaded tar.xz because it comes pre-vendored src = fetchurl {
src = fetchFromGitLab { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
domain = "gitlab.gnome.org"; hash = "sha256-hV/C/Lyz6e9zhe3FRw4Sox5gMqThDP57wVCTgcekjng=";
owner = "GNOME";
repo = "gnome-tour";
rev = version;
sha256 = "0lbkspnlziq3z177071w3jpghmdwflzra1krdwchzmkfmrhy50ch";
}; };
cargoSha256 = "0k1wp9wswr57fv2d9bysxn97fchd4vz29n5r8gfyp0gcm8rclmij"; cargoVendorDir = "vendor";
mesonFlags = [
"-Ddistro_name=NixOS"
"-Ddistro_icon_name=nix-snowflake"
"-Ddistro_version=20.09"
];
nativeBuildInputs = [ nativeBuildInputs = [
appstream-glib appstream-glib
desktop-file-utils desktop-file-utils
gettext gettext
glib # glib-compile-resources
meson meson
ninja ninja
pkg-config pkg-config
@ -52,6 +44,8 @@ rustPlatform.buildRustPackage rec {
gdk-pixbuf gdk-pixbuf
glib glib
gtk3 gtk3
libhandy
librsvg
]; ];
# Don't use buildRustPackage phases, only use it for rust deps setup # Don't use buildRustPackage phases, only use it for rust deps setup
@ -65,11 +59,11 @@ rustPlatform.buildRustPackage rec {
patchShebangs build-aux/meson_post_install.py patchShebangs build-aux/meson_post_install.py
''; '';
# passthru = { passthru = {
# updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
# packageName = pname; packageName = pname;
# }; };
# }; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://gitlab.gnome.org/GNOME/gnome-tour"; homepage = "https://gitlab.gnome.org/GNOME/gnome-tour";

View File

@ -0,0 +1,17 @@
{ fetchFromGitLab }:
let
# We need a gvc different then that which is shipped in the source tarball of
# whatever package that imports this file
gvc-src-with-ucm = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "libgnome-volume-control";
rev = "7a621180b46421e356b33972e3446775a504139c";
sha256 = "07rkgh9f7qcmlpy6jqh944axzh3z38f47g48ii842f2i3a1mrbw9";
};
in
''
rm -r ./subprojects/gvc
cp -r ${gvc-src-with-ucm} ./subprojects/gvc
''

View File

@ -0,0 +1,74 @@
From 7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d Mon Sep 17 00:00:00 2001
Message-Id: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sun, 20 Oct 2019 12:04:31 +0200
Subject: [PATCH 1/7] EGL: Include EGL/eglmesaext.h
From: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
The eglext.h shipped by libglvnd does not include the Mesa extensions,
unlike the header shipped in Mesa.
Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
(cherry picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90)
---
cogl/cogl/meson.build | 2 +-
src/backends/meta-egl-ext.h | 1 +
src/backends/meta-egl.c | 1 +
src/backends/meta-egl.h | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
index 1057ef9..9a64294 100644
--- a/cogl/cogl/meson.build
+++ b/cogl/cogl/meson.build
@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
built_headers += [cogl_gl_header_h]
if have_egl
- cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
+ cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
else
cogl_egl_includes_string = ''
endif
diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
index 8705e7d..db0b74f 100644
--- a/src/backends/meta-egl-ext.h
+++ b/src/backends/meta-egl-ext.h
@@ -29,6 +29,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
/*
* This is a little different to the tests shipped with EGL implementations,
diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
index 6554be9..fdeff4f 100644
--- a/src/backends/meta-egl.c
+++ b/src/backends/meta-egl.c
@@ -27,6 +27,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <gio/gio.h>
#include <glib.h>
#include <glib-object.h>
diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
index f2a8164..4591e7d 100644
--- a/src/backends/meta-egl.h
+++ b/src/backends/meta-egl.h
@@ -28,6 +28,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <glib-object.h>
#define META_EGL_ERROR meta_egl_error_quark ()
base-commit: 48ffbb582404c1d52196eb6cc5f082c31ca4910c
--
git-series 0.9.1

View File

@ -1,36 +1,40 @@
From e9c772e265b2293af031c79f4bbc99b5847dfe3c Mon Sep 17 00:00:00 2001 From 14cee101882e65a57dcd66ea0f8399477b23ce7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= <torhedinbronner@gmail.com> Message-Id: <14cee101882e65a57dcd66ea0f8399477b23ce7e.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sat, 19 Oct 2019 13:26:05 +0200 Date: Sat, 19 Oct 2019 13:26:05 +0200
Subject: [PATCH] drop inheritable Subject: [PATCH 2/7] drop inheritable
From: Tor Hedin Brønner <torhedinbronner@gmail.com>
Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01 Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01
We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell. We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell.
--- ---
config.h.meson | 3 +++ config.h.meson | 3 +++
meson.build | 5 +++++ meson.build | 5 +++++
meson_options.txt | 6 ++++++ meson_options.txt | 6 ++++++
src/core/main.c | 11 +++++++++++ src/core/main.c | 10 ++++++++++
src/meson.build | 1 + src/meson.build | 1 +
5 files changed, 26 insertions(+) 5 files changed, 25 insertions(+)
diff --git a/config.h.meson b/config.h.meson diff --git a/config.h.meson b/config.h.meson
index 0bab71848..202fb7ed1 100644 index 0bab718..202fb7e 100644
--- a/config.h.meson --- a/config.h.meson
+++ b/config.h.meson +++ b/config.h.meson
@@ -58,6 +58,9 @@ @@ -58,6 +58,9 @@
/* Xwayland applications allowed to issue keyboard grabs */ /* Xwayland applications allowed to issue keyboard grabs */
#mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES
+/* Defined if libcap-ng is available */ +/* Defined if libcap-ng is available */
+#mesondefine HAVE_LIBCAPNG +#mesondefine HAVE_LIBCAPNG
+ +
/* XKB base prefix */ /* XKB base prefix */
#mesondefine XKB_BASE #mesondefine XKB_BASE
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index 3322bd3b1..01c8020fa 100644 index 29d495b..86970df 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7' @@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7'
@ -38,7 +42,7 @@ index 3322bd3b1..01c8020fa 100644
libwacom_req = '>= 0.13' libwacom_req = '>= 0.13'
atk_req = '>= 2.5.3' atk_req = '>= 2.5.3'
+libcapng_req = '>= 0.7.9' +libcapng_req = '>= 0.7.9'
# optional version requirements # optional version requirements
udev_req = '>= 228' udev_req = '>= 228'
@@ -125,6 +126,7 @@ xau_dep = dependency('xau') @@ -125,6 +126,7 @@ xau_dep = dependency('xau')
@ -46,7 +50,7 @@ index 3322bd3b1..01c8020fa 100644
atk_dep = dependency('atk', version: atk_req) atk_dep = dependency('atk', version: atk_req)
libcanberra_dep = dependency('libcanberra', version: libcanberra_req) libcanberra_dep = dependency('libcanberra', version: libcanberra_req)
+libcapng_dep = dependency('libcap-ng', required: get_option('libcapng')) +libcapng_dep = dependency('libcap-ng', required: get_option('libcapng'))
# For now always require X11 support # For now always require X11 support
have_x11 = true have_x11 = true
@@ -256,6 +258,7 @@ have_core_tests = false @@ -256,6 +258,7 @@ have_core_tests = false
@ -54,7 +58,7 @@ index 3322bd3b1..01c8020fa 100644
have_clutter_tests = false have_clutter_tests = false
have_installed_tests = false have_installed_tests = false
+have_libcapng = libcapng_dep.found() +have_libcapng = libcapng_dep.found()
if have_tests if have_tests
have_core_tests = get_option('core_tests') have_core_tests = get_option('core_tests')
@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom) @@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom)
@ -63,7 +67,7 @@ index 3322bd3b1..01c8020fa 100644
cdata.set('HAVE_INTROSPECTION', have_introspection) cdata.set('HAVE_INTROSPECTION', have_introspection)
+cdata.set('HAVE_LIBCAPNG', have_libcapng) +cdata.set('HAVE_LIBCAPNG', have_libcapng)
cdata.set('HAVE_PROFILER', have_profiler) cdata.set('HAVE_PROFILER', have_profiler)
xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base') xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
@@ -443,6 +447,7 @@ output = [ @@ -443,6 +447,7 @@ output = [
' Startup notification..... ' + have_startup_notification.to_string(), ' Startup notification..... ' + have_startup_notification.to_string(),
@ -74,7 +78,7 @@ index 3322bd3b1..01c8020fa 100644
' Tests:', ' Tests:',
'', '',
diff --git a/meson_options.txt b/meson_options.txt diff --git a/meson_options.txt b/meson_options.txt
index 73aa7adde..8bfaacd9a 100644 index 73aa7ad..8bfaacd 100644
--- a/meson_options.txt --- a/meson_options.txt
+++ b/meson_options.txt +++ b/meson_options.txt
@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules', @@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules',
@ -88,13 +92,13 @@ index 73aa7adde..8bfaacd9a 100644
+ description: 'Enable libcap-ng support' + description: 'Enable libcap-ng support'
+) +)
diff --git a/src/core/main.c b/src/core/main.c diff --git a/src/core/main.c b/src/core/main.c
index 7f4f666d2..b27968f13 100644 index 3935f35..ecf3cb2 100644
--- a/src/core/main.c --- a/src/core/main.c
+++ b/src/core/main.c +++ b/src/core/main.c
@@ -66,6 +66,10 @@ @@ -66,6 +66,10 @@
#include <girepository.h> #include <girepository.h>
#endif #endif
+#ifdef HAVE_LIBCAPNG +#ifdef HAVE_LIBCAPNG
+#include <cap-ng.h> +#include <cap-ng.h>
+#endif +#endif
@ -105,7 +109,7 @@ index 7f4f666d2..b27968f13 100644
@@ -673,6 +677,12 @@ meta_run (void) @@ -673,6 +677,12 @@ meta_run (void)
if (!meta_display_open ()) if (!meta_display_open ())
meta_exit (META_EXIT_ERROR); meta_exit (META_EXIT_ERROR);
+#ifdef HAVE_LIBCAPNG +#ifdef HAVE_LIBCAPNG
+ capng_clear(CAPNG_SELECT_BOTH); + capng_clear(CAPNG_SELECT_BOTH);
+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE); + capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE);
@ -113,10 +117,10 @@ index 7f4f666d2..b27968f13 100644
+#endif +#endif
+ +
g_main_loop_run (meta_main_loop); g_main_loop_run (meta_main_loop);
meta_finalize (); meta_finalize ();
diff --git a/src/meson.build b/src/meson.build diff --git a/src/meson.build b/src/meson.build
index 90d80734f..a9fffa2c2 100644 index 90d8073..a9fffa2 100644
--- a/src/meson.build --- a/src/meson.build
+++ b/src/meson.build +++ b/src/meson.build
@@ -18,6 +18,7 @@ mutter_pkg_deps = [ @@ -18,6 +18,7 @@ mutter_pkg_deps = [
@ -126,7 +130,6 @@ index 90d80734f..a9fffa2c2 100644
+ libcapng_dep, + libcapng_dep,
pango_dep, pango_dep,
] ]
-- --
2.23.0 git-series 0.9.1

View File

@ -1,7 +1,12 @@
From e10186284103d3ad8e425980b096eac813cae631 Mon Sep 17 00:00:00 2001 From 5d2b9a03f24b4dbc423adff52b2eeb478c4b5913 Mon Sep 17 00:00:00 2001
Message-Id: <5d2b9a03f24b4dbc423adff52b2eeb478c4b5913.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sun, 5 Apr 2020 23:06:03 -0400
Subject: [PATCH 3/7] Fix glitches in gala
From: worldofpeace <worldofpeace@protonmail.ch> From: worldofpeace <worldofpeace@protonmail.ch>
Date: Sun, 5 Apr 2020 23:06:03 -0400
Subject: [PATCH] Fix glitches in gala
This fixes issues for users of mutter like in gala[0]. This fixes issues for users of mutter like in gala[0].
@ -12,7 +17,7 @@ Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index ecf9a597d..07b8b7155 100644 index ecf9a59..07b8b71 100644
--- a/clutter/clutter/clutter-actor.c --- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c
@@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self) @@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
@ -25,5 +30,4 @@ index ecf9a597d..07b8b7155 100644
} }
else else
-- --
2.25.1 git-series 0.9.1

View File

@ -0,0 +1,58 @@
From 5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918 Mon Sep 17 00:00:00 2001
Message-Id: <5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Wed, 30 Oct 2019 15:23:24 -0700
Subject: [PATCH 4/7] profiler: track changes in GLib and Sysprof
From: Christian Hergert <chergert@redhat.com>
This tracks the changes to gdbus-codegen in terms of how GUnixFDList is
done to use the UnixFD annotation.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/908
(cherry picked from commit 605171291993460f31d470a8143d6438d0c6169c)
---
src/backends/meta-profiler.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/backends/meta-profiler.c b/src/backends/meta-profiler.c
index 10d433a..0d62701 100644
--- a/src/backends/meta-profiler.c
+++ b/src/backends/meta-profiler.c
@@ -51,13 +51,12 @@ G_DEFINE_TYPE_WITH_CODE (MetaProfiler,
static gboolean
handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
GDBusMethodInvocation *invocation,
+ GUnixFDList *fd_list,
GVariant *options,
GVariant *fd_variant)
{
MetaProfiler *profiler = META_PROFILER (dbus_profiler);
GMainContext *main_context = g_main_context_default ();
- GDBusMessage *message;
- GUnixFDList *fd_list;
const char *group_name;
int position;
int fd = -1;
@@ -73,8 +72,6 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
g_variant_get (fd_variant, "h", &position);
- message = g_dbus_method_invocation_get_message (invocation);
- fd_list = g_dbus_message_get_unix_fd_list (message);
if (fd_list)
fd = g_unix_fd_list_get (fd_list, position, NULL);
@@ -98,7 +95,7 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
g_debug ("Profiler running");
- meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation);
+ meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation, NULL);
return TRUE;
}
--
git-series 0.9.1

View File

@ -0,0 +1,32 @@
From 2caa072dd8e283a8e43febeab55fe8b76dda69b7 Mon Sep 17 00:00:00 2001
Message-Id: <2caa072dd8e283a8e43febeab55fe8b76dda69b7.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Wed, 29 Jan 2020 11:02:33 +0100
Subject: [PATCH 5/7] meta: Add missing display.h to meta-workspace-manager.h
From: Corentin Noël <corentin@elementary.io>
This is required because MetaDisplayCorner is only defined in display.h
https://gitlab.gnome.org/GNOME/mutter/merge_requests/1025
(cherry picked from commit 9d390ee49fb1f6300336e82ae94cc8061c6bae12)
---
src/meta/meta-workspace-manager.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/meta/meta-workspace-manager.h b/src/meta/meta-workspace-manager.h
index 0390c44..92cd681 100644
--- a/src/meta/meta-workspace-manager.h
+++ b/src/meta/meta-workspace-manager.h
@@ -26,6 +26,7 @@
#include <glib-object.h>
#include <meta/common.h>
+#include <meta/display.h>
#include <meta/prefs.h>
#include <meta/types.h>
--
git-series 0.9.1

View File

@ -0,0 +1,102 @@
From 0c95e5a5b31eab93f149b90982680f38e8977063 Mon Sep 17 00:00:00 2001
Message-Id: <0c95e5a5b31eab93f149b90982680f38e8977063.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sat, 4 Jul 2020 12:01:28 -0700
Subject: [PATCH 6/7] build: bump ABI to sysprof-capture-4
From: Christian Hergert <chergert@redhat.com>
GLib will now be linking against sysprof-capture-4.a. To support that,
sysprof had to remove the GLib dependency from sysprof-capture-4 which
had the side-effect of breaking ABi.
This bumps the dependency and includes a fallback to compile just the
libsysprof-capture-4.a using a subproject wrap.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1352
(cherry picked from commit 2c08eb6d163b6758efec9eafe1d5c17fc1ab3692)
---
meson.build | 20 ++++++++++++++++++--
src/meson.build | 8 ++++++--
subprojects/sysprof.wrap | 4 ++++
3 files changed, 28 insertions(+), 4 deletions(-)
create mode 100644 subprojects/sysprof.wrap
diff --git a/meson.build b/meson.build
index 86970df..3dc0098 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
project('mutter', 'c',
version: '3.34.6',
- meson_version: '>= 0.50.0',
+ meson_version: '>= 0.51.0',
license: 'GPLv2+'
)
@@ -52,6 +52,9 @@ gbm_req = '>= 10.3'
# screen cast version requirements
libpipewire_req = '>= 0.2.5'
+# profiler requirements
+sysprof_req = '>= 3.37.2'
+
gnome = import('gnome')
pkg = import('pkgconfig')
i18n = import('i18n')
@@ -275,7 +278,20 @@ endif
have_profiler = get_option('profiler')
if have_profiler
- sysprof_dep = dependency('sysprof-capture-3')
+ # libsysprof-capture support
+ sysprof_dep = dependency('sysprof-capture-4',
+ required: true,
+ default_options: [
+ 'enable_examples=false',
+ 'enable_gtk=false',
+ 'enable_tests=false',
+ 'enable_tools=false',
+ 'libsysprof=false',
+ 'with_sysprofd=none',
+ 'help=false',
+ ],
+ fallback: ['sysprof', 'libsysprof_capture_dep'],
+ )
endif
required_functions = [
diff --git a/src/meson.build b/src/meson.build
index a9fffa2..a91baa1 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -711,9 +711,13 @@ if have_profiler
'backends/meta-profiler.h',
]
- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
- sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
+ if sysprof_dep.type_name() == 'pkgconfig'
+ sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces')
+ else
+ sysprof_dbus_interfaces_dir = join_paths(meson.source_root(), 'subprojects', 'sysprof', 'src')
+ endif
+ sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
sysprof3_dbus_file,
interface_prefix: 'org.gnome.',
diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap
new file mode 100644
index 0000000..c8f5883
--- /dev/null
+++ b/subprojects/sysprof.wrap
@@ -0,0 +1,4 @@
+[wrap-git]
+directory=sysprof
+url=https://gitlab.gnome.org/GNOME/sysprof.git
+revision=cae28263ff5dd4a510d82f3dc2e3a3b3d9b386fb
--
git-series 0.9.1

View File

@ -0,0 +1,27 @@
From 7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4 Mon Sep 17 00:00:00 2001
Message-Id: <7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Fri, 25 Sep 2020 20:48:33 -0400
Subject: [PATCH 7/7] fix paths
---
src/core/util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/core/util.c b/src/core/util.c
index 79bcfdc..87ce549 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -623,7 +623,7 @@ meta_show_dialog (const char *type,
args = g_ptr_array_new ();
- append_argument (args, "zenity");
+ append_argument (args, "@zenity@/bin/zenity");
append_argument (args, type);
if (display)
--
git-series 0.9.1

View File

@ -43,20 +43,19 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mutter"; pname = "mutter";
version = "3.34.5"; version = "3.34.6";
outputs = [ "out" "dev" "man" ]; outputs = [ "out" "dev" "man" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1i3r51ghfld1rf1rczzi3jhybz3mhywqcj2jyiqhfcyp1svlklfi"; hash = "sha256-I73ofTO4mBNYgxzsiRW7X/Hq+cHedMkM0WYLG5WINSY=";
}; };
mesonFlags = [ mesonFlags = [
"-Degl_device=true" "-Degl_device=true"
"-Dinstalled_tests=false" # TODO: enable these "-Dinstalled_tests=false" # TODO: enable these
"-Dwayland_eglstream=true" "-Dwayland_eglstream=true"
"-Dxwayland-path=${xwayland}/bin/Xwayland"
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -105,45 +104,14 @@ stdenv.mkDerivation rec {
]; ];
patches = [ patches = [
# Fix build with libglvnd provided headers ./0001-EGL-Include-EGL-eglmesaext.h.patch
(fetchpatch { ./0002-drop-inheritable.patch
url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch"; ./0003-Fix-glitches-in-gala.patch
sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd"; ./0004-profiler-track-changes-in-GLib-and-Sysprof.patch
}) ./0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch
./0006-build-bump-ABI-to-sysprof-capture-4.patch
# gnome-3-34 2020-04-24
# also fixes https://mail.gnome.org/archives/distributor-list/2020-April/msg00001.html
(fetchpatch {
url = "https://github.com/GNOME/mutter/compare/3.34.5..3bafd234248fdcd84bc62fef5e31c29fbb613909.patch";
sha256 = "1a7krbdfmvx204p6av44rbp4ckp6ddg1mms8wkixxh2p871zq1pi";
})
# Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
# from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
./drop-inheritable.patch
# See commit message for details
./0001-Fix-glitches-in-gala.patch
# https://gitlab.gnome.org/GNOME/mutter/merge_requests/1094
# https://gitlab.gnome.org/GNOME/mutter/merge_requests/957
./fix-sysprof.patch
# profiler: track changes in GLib and Sysprof
# https://gitlab.gnome.org/GNOME/mutter/merge_requests/908
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/605171291993460f31d470a8143d6438d0c6169c.patch";
sha256 = "10fxzj0lmic2sp57w26w3r0bv1szngjjs50p3ka22wr9pxqmzl7l";
})
# Fixes https://github.com/elementary/wingpanel/issues/305
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/9d390ee49fb1f6300336e82ae94cc8061c6bae12.patch";
sha256 = "12hmi07rvspwhp8h1y1vmcvmvbh8fihcrb07ja5g0qnh28ip5qfi";
})
(substituteAll { (substituteAll {
src = ./fix-paths.patch; src = ./0007-fix-paths.patch;
inherit zenity; inherit zenity;
}) })
]; ];

View File

@ -1,13 +0,0 @@
diff --git a/src/core/util.c b/src/core/util.c
index 57b73747d..f424cc81c 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -636,7 +636,7 @@ meta_show_dialog (const char *type,
args = g_ptr_array_new ();
- append_argument (args, "zenity");
+ append_argument (args, "@zenity@/bin/zenity");
append_argument (args, type);
if (display)

View File

@ -1,25 +0,0 @@
From 71acfd5258b4d12323fc51dda48e83830e62e696 Mon Sep 17 00:00:00 2001
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Mon, 16 Sep 2019 11:18:27 -0400
Subject: [PATCH] build: use get_pkgconfig_variable for sysprof dbusdir
---
src/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/meson.build b/src/meson.build
index 182f7f5f5..43060865b 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -710,7 +710,7 @@ if have_profiler
'backends/meta-profiler.h',
]
- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
+ dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('prefix'), 'share', 'dbus-1', 'interfaces')
sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
--
2.22.1

View File

@ -42,13 +42,13 @@
let self = stdenv.mkDerivation rec { let self = stdenv.mkDerivation rec {
pname = "mutter"; pname = "mutter";
version = "3.36.5"; version = "3.38.1";
outputs = [ "out" "dev" "man" ]; outputs = [ "out" "dev" "man" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1py7sqrpvg2qvswxclshysx7hd9jk65i6cwqsagd6rg6rnjhblp0"; sha256 = "0cvs47h7xhalkh8xcchllaws212ml3d23aj0pmfq0qyzkw65f8g9";
}; };
patches = [ patches = [
@ -124,6 +124,9 @@ let self = stdenv.mkDerivation rec {
${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
''; '';
# Install udev files into our own tree.
PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
passthru = { passthru = {
libdir = "${self}/lib/mutter-6"; libdir = "${self}/lib/mutter-6";

View File

@ -102,18 +102,18 @@ index 7f4f666d2..b27968f13 100644
#if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND) #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND)
#include <systemd/sd-login.h> #include <systemd/sd-login.h>
#endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */ #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */
@@ -673,6 +677,12 @@ meta_run (void) @@ -670,5 +674,12 @@ int
if (!meta_display_open ()) meta_run (void)
meta_exit (META_EXIT_ERROR); {
meta_start ();
+
+#ifdef HAVE_LIBCAPNG +#ifdef HAVE_LIBCAPNG
+ capng_clear(CAPNG_SELECT_BOTH); + capng_clear(CAPNG_SELECT_BOTH);
+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE); + capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE);
+ capng_apply(CAPNG_SELECT_BOTH); + capng_apply(CAPNG_SELECT_BOTH);
+#endif +#endif
+ +
g_main_loop_run (meta_main_loop); meta_run_main_loop ();
meta_finalize (); meta_finalize ();
diff --git a/src/meson.build b/src/meson.build diff --git a/src/meson.build b/src/meson.build
index 90d80734f..a9fffa2c2 100644 index 90d80734f..a9fffa2c2 100644

View File

@ -32,13 +32,24 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nautilus"; pname = "nautilus";
version = "3.36.3"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1y0fsd7j48v4qkc051cg41mz7jycgw4vd4g37lw682p7n5xgrjmn"; sha256 = "1zfh48ibap6jnw20rxls7nbv4zzqs6n5abr2dzyvfx5p2cmq2gha";
}; };
patches = [
# Allow changing extension directory using environment variable.
./extension_dir.patch
# Hardcode required paths.
(substituteAll {
src = ./fix-paths.patch;
inherit tracker;
})
];
nativeBuildInputs = [ nativeBuildInputs = [
desktop-file-utils desktop-file-utils
gettext gettext
@ -86,10 +97,6 @@ stdenv.mkDerivation rec {
patchShebangs build-aux/meson/postinstall.py patchShebangs build-aux/meson/postinstall.py
''; '';
patches = [
./extension_dir.patch
];
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
packageName = pname; packageName = pname;

View File

@ -0,0 +1,13 @@
diff --git a/src/nautilus-tag-manager.c b/src/nautilus-tag-manager.c
index 28b96c996..0b1fad9ab 100644
--- a/src/nautilus-tag-manager.c
+++ b/src/nautilus-tag-manager.c
@@ -962,7 +962,7 @@ child_watch_cb (GPid pid,
static void
export_tracker2_data (NautilusTagManager *self)
{
- gchar *argv[] = {"tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL};
+ gchar *argv[] = {"@tracker@/bin/tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL};
gint stdout_fd;
GPid child_pid;
g_autoptr (GError) error = NULL;

View File

@ -1,5 +1,5 @@
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index 209d4187..58580980 100644 index 4aa683d6..a930d533 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -20,7 +20,11 @@ if not get_option('uninstalled') @@ -20,7 +20,11 @@ if not get_option('uninstalled')
@ -14,7 +14,7 @@ index 209d4187..58580980 100644
+ endif + endif
rygel_plugindir = join_paths(rygel_libdir, 'rygel-2.6', 'plugins') rygel_plugindir = join_paths(rygel_libdir, 'rygel-2.6', 'plugins')
rygel_enginedir = join_paths(rygel_libdir, 'rygel-2.6', 'engines') rygel_enginedir = join_paths(rygel_libdir, 'rygel-2.6', 'engines')
rygel_presetdir = join_paths(rygel_datadir, 'rygel', 'presets') rygel_presetdir = join_paths(rygel_datadir, 'presets')
@@ -55,7 +59,7 @@ conf.set_quoted('DATA_DIR', rygel_datadir) @@ -55,7 +59,7 @@ conf.set_quoted('DATA_DIR', rygel_datadir)
conf.set_quoted('PLUGIN_DIR', rygel_plugindir) conf.set_quoted('PLUGIN_DIR', rygel_plugindir)
conf.set_quoted('BIG_ICON_DIR', rygel_bigicondir) conf.set_quoted('BIG_ICON_DIR', rygel_bigicondir)
@ -25,7 +25,7 @@ index 209d4187..58580980 100644
conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract')) conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract'))
conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications')) conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications'))
diff --git a/meson_options.txt b/meson_options.txt diff --git a/meson_options.txt b/meson_options.txt
index f09cac58..ff11c548 100644 index cb604c4e..1b049b77 100644
--- a/meson_options.txt --- a/meson_options.txt
+++ b/meson_options.txt +++ b/meson_options.txt
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
@ -33,6 +33,6 @@ index f09cac58..ff11c548 100644
option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation') option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation')
option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path') option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path')
+option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation') +option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation')
option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker']) option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker', 'tracker3'])
option('engines', type : 'array', choices : ['simple', 'gstreamer']) option('engines', type : 'array', choices : ['simple', 'gstreamer'])
option('examples', type : 'boolean', value : 'true') option('examples', type : 'boolean', value : 'true')

View File

@ -28,14 +28,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rygel"; pname = "rygel";
version = "0.38.4"; version = "0.40.0";
# TODO: split out lib # TODO: split out lib
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0rm1m1z8rcvyj9873wqcz5i3qdg8j6gv6k1p01xifk0y9phg7rzc"; sha256 = "0xrbdsgm78h3g4qcvq2p8k70q31x9xdbb35bixz36q6h9s1wqznn";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -66,6 +66,7 @@ stdenv.mkDerivation rec {
shared-mime-info shared-mime-info
] ++ (with gst_all_1; [ ] ++ (with gst_all_1; [
gstreamer gstreamer
gst-editing-services
gst-plugins-base gst-plugins-base
gst-plugins-good gst-plugins-good
gst-plugins-bad gst-plugins-bad
@ -77,6 +78,8 @@ stdenv.mkDerivation rec {
"-Dapi-docs=false" "-Dapi-docs=false"
"--sysconfdir=/etc" "--sysconfdir=/etc"
"-Dsysconfdir_install=${placeholder "out"}/etc" "-Dsysconfdir_install=${placeholder "out"}/etc"
# Build all plug-ins except for tracker 2
"-Dplugins=external,gst-launch,lms,media-export,mpris,playbin,ruih,tracker3"
]; ];
doCheck = true; doCheck = true;

View File

@ -24,11 +24,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "simple-scan"; pname = "simple-scan";
version = "3.36.4"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "09gmzrlljdqkj3w6wa1c27wypy6j8z9dw3jzv9izfqvp38liibsn"; sha256 = "0grscz96bwj79ka4qvxh8h75avdx6824k8k38ylmaj6xbl6gi0hy";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "totem"; pname = "totem";
version = "3.34.1"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/totem/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/totem/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"; sha256 = "0bs33ijvxbr2prb9yj4dxglsszslsn9k258n311sld84masz4ad8";
}; };
doCheck = true; doCheck = true;
@ -26,6 +26,11 @@ stdenv.mkDerivation rec {
python3Packages.pygobject3 python3Packages.dbus-python # for plug-ins python3Packages.pygobject3 python3Packages.dbus-python # for plug-ins
]; ];
mesonFlags = [
# TODO: https://github.com/NixOS/nixpkgs/issues/36468
"-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
];
postPatch = '' postPatch = ''
chmod +x meson_compile_python.py meson_post_install.py # patchShebangs requires executable file chmod +x meson_compile_python.py meson_post_install.py # patchShebangs requires executable file
patchShebangs . patchShebangs .

View File

@ -10,11 +10,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "yelp-xsl"; pname = "yelp-xsl";
version = "3.36.0"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"; sha256 = "0ryzvkcgxp7xi0icmpdl2rinjn904s8imbxdi6wshzxblqymc8dk";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "yelp"; pname = "yelp";
version = "3.36.0"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/yelp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/yelp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "097djjyl096zmicjpxlb858yz6rd5cj813xc8azbxlhsscikwjzx"; sha256 = "102z8khj82vdp12c3y86hhxwm1x89xpkpc5zs63c7gg21cbrwdbl";
}; };
nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook ]; nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook ];

View File

@ -79,6 +79,8 @@ lib.makeScope pkgs.newScope (self: with self; {
gnome-session = callPackage ./core/gnome-session { }; gnome-session = callPackage ./core/gnome-session { };
gnome-session-ctl = callPackage ./core/gnome-session/ctl.nix { };
gnome-shell = callPackage ./core/gnome-shell { }; gnome-shell = callPackage ./core/gnome-shell { };
gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { }; gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { };

View File

@ -20,11 +20,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "devhelp"; pname = "devhelp";
version = "3.36.2"; version = "3.38.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/devhelp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/devhelp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0phcjdxnwgg0a0z9kyidp977jy365pny6bh2qhdyzcpvkqqq8nlb"; sha256 = "0s938p1snkskn8np5xh5fzp3zrjrnsh99haiz92nvci264bzp3li";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-devel-docs"; pname = "gnome-devel-docs";
version = "3.32.1"; version = "3.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-devel-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-devel-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0xqpgf975rws60qxilq635pblbpgwspyykgzxnb4awd9zrs5lbx0"; sha256 = "07849yhpc4l4jscskpsbjwsp5qs8f0jz3rmh3p1nj13vxmvgm5j5";
}; };
passthru = { passthru = {

View File

@ -1,16 +1,37 @@
{ stdenv, fetchFromGitHub, substituteAll, python3, openssl, gsound { stdenv
, meson, ninja, libxml2, pkgconfig, gobject-introspection, wrapGAppsHook , fetchFromGitHub
, glib, gtk3, at-spi2-core, upower, openssh, gnome3, gjs }: , substituteAll
, openssl
, gsound
, meson
, ninja
, pkg-config
, gobject-introspection
, wrapGAppsHook
, glib
, gtk3
, openssh
, gnome3
, gjs
, nixosTests
, atk
, harfbuzz
, pango
, gdk-pixbuf
, gsettings-desktop-schemas
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-gsconnect"; pname = "gnome-shell-gsconnect";
version = "41"; version = "43";
outputs = [ "out" "installedTests" ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "andyholmes"; owner = "andyholmes";
repo = "gnome-shell-extension-gsconnect"; repo = "gnome-shell-extension-gsconnect";
rev = "v${version}"; rev = "v${version}";
sha256 = "0lcj7k16jki54bsyh01j4ss4hhfddnahcw02zlmlkl637qdv1b5j"; sha256 = "0hm14hg4nhv9hrmjcf9dgm7dsvzpjfifihjmb6yc78y9yjw0i3v7";
}; };
patches = [ patches = [
@ -19,24 +40,23 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch; src = ./fix-paths.patch;
gapplication = "${glib.bin}/bin/gapplication"; gapplication = "${glib.bin}/bin/gapplication";
}) })
# Allow installing installed tests to a separate output
./installed-tests-path.patch
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkgconfig meson
ninja
pkg-config
gobject-introspection # for locating typelibs gobject-introspection # for locating typelibs
wrapGAppsHook # for wrapping daemons wrapGAppsHook # for wrapping daemons
libxml2 # xmllint
]; ];
buildInputs = [ buildInputs = [
glib # libgobject glib # libgobject
gtk3 gtk3
at-spi2-core # atspi
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 gsound
upower
gnome3.caribou
gjs # for running daemon gjs # for running daemon
gnome3.evolution-data-server # for libebook-contacts typelib gnome3.evolution-data-server # for libebook-contacts typelib
]; ];
@ -51,11 +71,13 @@ stdenv.mkDerivation rec {
"-Dsshkeygen_path=${openssh}/bin/ssh-keygen" "-Dsshkeygen_path=${openssh}/bin/ssh-keygen"
"-Dsession_bus_services_dir=${placeholder "out"}/share/dbus-1/services" "-Dsession_bus_services_dir=${placeholder "out"}/share/dbus-1/services"
"-Dpost_install=true" "-Dpost_install=true"
"-Dinstalled_test_prefix=${placeholder ''installedTests''}"
]; ];
postPatch = '' postPatch = ''
patchShebangs meson/nmh.sh patchShebangs meson/nmh.sh
patchShebangs meson/post-install.sh patchShebangs meson/post-install.sh
patchShebangs installed-tests/prepare-tests.sh
# TODO: do not include every typelib everywhere # TODO: do not include every typelib everywhere
# for example, we definitely do not need nautilus # for example, we definitely do not need nautilus
@ -65,20 +87,34 @@ stdenv.mkDerivation rec {
done done
''; '';
postFixup = '' postFixup = let
testDeps = [
gtk3 harfbuzz atk pango.out gdk-pixbuf
];
in ''
# Lets wrap the daemons # Lets wrap the daemons
for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{daemon,nativeMessagingHost}.js; do for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{daemon,nativeMessagingHost}.js; do
echo "Wrapping program $file" echo "Wrapping program $file"
wrapGApp "$file" wrapGApp "$file"
done done
wrapProgram "$installedTests/libexec/installed-tests/gsconnect/minijasmine" \
--prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
--prefix GI_TYPELIB_PATH : "${stdenv.lib.makeSearchPath "lib/girepository-1.0" testDeps}"
''; '';
uuid = "gsconnect@andyholmes.github.io"; uuid = "gsconnect@andyholmes.github.io";
passthru = {
tests = {
installedTests = nixosTests.installed-tests.gsconnect;
};
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "KDE Connect implementation for Gnome Shell"; description = "KDE Connect implementation for Gnome Shell";
homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki"; homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ etu ]; maintainers = with maintainers; [ etu ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

Some files were not shown because too many files have changed in this diff Show More