aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix73
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix60
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix134
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix54
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix84
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix48
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix141
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix41
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix85
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix87
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix109
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix86
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix57
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix113
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix36
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix89
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix60
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix42
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix89
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix46
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix54
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix85
-rw-r--r--infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/vinagre/default.nix34
26 files changed, 1797 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix
new file mode 100644
index 000000000000..c0ca54d6fec8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/accerciser/default.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, fetchurl
+, pkgconfig
+, gnome3
+, gtk3
+, wrapGAppsHook
+, gobject-introspection
+, itstool
+, libxml2
+, python3
+, at-spi2-core
+, dbus
+, gettext
+, libwnck3
+, adwaita-icon-theme
+}:
+
+ python3.pkgs.buildPythonApplication rec {
+ pname = "accerciser";
+ version = "3.36.3";
+
+ format = "other";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "0zfhmpaqqwm89k8p4apq4la191icjvqh0097p5aig3yhy87fahp9";
+ };
+
+ nativeBuildInputs = [
+ gettext
+ gobject-introspection # For setup hook
+ itstool
+ libxml2
+ pkgconfig
+ dbus
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ adwaita-icon-theme
+ at-spi2-core
+ gtk3
+ libwnck3
+ ];
+
+ propagatedBuildInputs = with python3.pkgs; [
+ ipython
+ pyatspi
+ pycairo
+ pygobject3
+ setuptools
+ xlib
+ ];
+
+ # Strict deps breaks accerciser
+ # and https://github.com/NixOS/nixpkgs/issues/56943
+ strictDeps = false;
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "accerciser";
+ attrPath = "gnome3.accerciser";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Accerciser";
+ description = "Interactive Python accessibility explorer";
+ maintainers = teams.gnome.members;
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix
new file mode 100644
index 000000000000..05a1cdbc088e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/cheese/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, gettext, fetchurl, wrapGAppsHook, gnome-video-effects, 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 {
+ pname = "cheese";
+ version = "3.34.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/cheese/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni";
+ };
+
+ postPatch = ''
+ chmod +x meson_post_install.py
+ patchShebangs meson_post_install.py
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript { packageName = "cheese"; attrPath = "gnome3.cheese"; };
+ };
+
+ nativeBuildInputs = [
+ meson ninja pkgconfig gettext itstool vala wrapGAppsHook libxml2 appstream-glib
+ libxslt docbook_xml_dtd_43 docbook_xsl
+ gtk-doc yelp-tools gnome-common python3
+ ];
+ 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" ];
+
+ preFixup = ''
+ gappsWrapperArgs+=(
+ # Effects
+ --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share"
+ # vp8enc preset
+ --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
+ # Thumbnailers
+ --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
+ --prefix XDG_DATA_DIRS : "${totem}/share"
+ )
+ '';
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Cheese";
+ description = "Take photos and videos with your webcam, with fun graphical effects";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix
new file mode 100644
index 000000000000..f27050cd68f7
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -0,0 +1,134 @@
+{ stdenv
+, cmake
+, ninja
+, intltool
+, fetchurl
+, libxml2
+, webkitgtk
+, highlight
+, pkgconfig
+, gtk3
+, glib
+, libnotify
+, gspell
+, evolution-data-server
+, adwaita-icon-theme
+, gnome-desktop
+, libgdata
+, libgweather
+, glib-networking
+, gsettings-desktop-schemas
+, wrapGAppsHook
+, itstool
+, shared-mime-info
+, libical
+, db
+, gcr
+, sqlite
+, gnome3
+, librsvg
+, gdk-pixbuf
+, libsecret
+, nss
+, nspr
+, icu
+, libcanberra-gtk3
+, bogofilter
+, gst_all_1
+, procps
+, p11-kit
+, openldap
+, spamassassin
+}:
+
+stdenv.mkDerivation rec {
+ pname = "evolution";
+ version = "3.36.5";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1hpjd5d3z52xcjcc1hg5z8ypnx2y6ml9snyrlpflg9bx16yhxm1x";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ intltool
+ itstool
+ libxml2
+ ninja
+ pkgconfig
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ adwaita-icon-theme
+ bogofilter
+ db
+ evolution-data-server
+ gcr
+ gdk-pixbuf
+ glib
+ glib-networking
+ gnome-desktop
+ gsettings-desktop-schemas
+ gst_all_1.gst-plugins-base
+ gst_all_1.gstreamer
+ gtk3
+ gspell
+ highlight
+ icu
+ libcanberra-gtk3
+ libgdata
+ libgweather
+ libical
+ libnotify
+ librsvg
+ libsecret
+ nspr
+ nss
+ openldap
+ p11-kit
+ procps
+ shared-mime-info
+ sqlite
+ webkitgtk
+ ];
+
+ propagatedUserEnvPkgs = [
+ evolution-data-server
+ ];
+
+ cmakeFlags = [
+ "-DENABLE_AUTOAR=OFF"
+ "-DENABLE_LIBCRYPTUI=OFF"
+ "-DENABLE_PST_IMPORT=OFF"
+ "-DENABLE_YTNEF=OFF"
+ "-DWITH_SPAMASSASSIN=${spamassassin}/bin/spamassassin"
+ "-DWITH_SA_LEARN=${spamassassin}/bin/sa-learn"
+ "-DWITH_BOGOFILTER=${bogofilter}/bin/bogofilter"
+ "-DWITH_OPENLDAP=${openldap}"
+ ];
+
+ requiredSystemFeatures = [
+ "big-parallel"
+ ];
+
+ doCheck = true;
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "evolution";
+ attrPath = "gnome3.evolution";
+ };
+ };
+
+ PKG_CONFIG_LIBEDATASERVERUI_1_2_UIMODULEDIR = "${placeholder "out"}/lib/evolution-data-server/ui-modules";
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Evolution";
+ description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
+ maintainers = teams.gnome.members;
+ license = licenses.lgpl2Plus;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix
new file mode 100644
index 000000000000..7c518c4acd9f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/file-roller/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, glib, gtk3, meson, ninja, pkgconfig, gnome3, gettext, itstool, libxml2, libarchive
+, file, json-glib, python3, wrapGAppsHook, desktop-file-utils, libnotify, nautilus, glibcLocales }:
+
+stdenv.mkDerivation rec {
+ pname = "file-roller";
+ version = "3.36.3";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1dw1vfnfc44k57b6mip8fv565d2xv5wrigi4js044x3sbl5f2n89";
+ };
+
+ LANG = "en_US.UTF-8"; # postinstall.py
+
+ nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 python3 wrapGAppsHook glibcLocales desktop-file-utils ];
+
+ buildInputs = [ glib gtk3 json-glib libarchive file gnome3.adwaita-icon-theme libnotify nautilus ];
+
+ PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
+
+ postPatch = ''
+ chmod +x postinstall.py # patchShebangs requires executable file
+ patchShebangs postinstall.py
+ patchShebangs data/set-mime-type-entry.py
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "file-roller";
+ attrPath = "gnome3.file-roller";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/FileRoller";
+ description = "Archive manager for the GNOME desktop environment";
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ maintainers = teams.gnome.members;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix
new file mode 100644
index 000000000000..ea33bc29324f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, meson, fetchurl, python3
+, pkgconfig, gtk3, glib, adwaita-icon-theme
+, libpeas, gtksourceview4, gsettings-desktop-schemas
+, wrapGAppsHook, ninja, libsoup, tepl
+, gnome3, gspell, perl, itstool, desktop-file-utils
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gedit";
+ version = "3.36.2";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "15s1almlhjlgl3m8lxg6jpzln8jhgdxxjr635a3b7cf58d35b1v8";
+ };
+
+ nativeBuildInputs = [
+ pkgconfig wrapGAppsHook meson ninja
+ python3 perl itstool desktop-file-utils
+ ];
+
+ buildInputs = [
+ gtk3 glib
+ adwaita-icon-theme libsoup
+ libpeas gtksourceview4
+ gsettings-desktop-schemas gspell
+ tepl
+ ];
+
+ postPatch = ''
+ chmod +x build-aux/meson/post_install.py
+ chmod +x plugins/externaltools/scripts/gedit-tool-merge.pl
+ patchShebangs build-aux/meson/post_install.py
+ patchShebangs plugins/externaltools/scripts/gedit-tool-merge.pl
+ '';
+
+ # Reliably fails to generate gedit-file-browser-enum-types.h in time
+ enableParallelBuilding = false;
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "gedit";
+ attrPath = "gnome3.gedit";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Gedit";
+ description = "Official text editor of the GNOME desktop environment";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.unix;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix
new file mode 100644
index 000000000000..7de5ffc1add0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/ghex/default.nix
@@ -0,0 +1,84 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, pkgconfig
+, meson
+, ninja
+, python3
+, gnome3
+, desktop-file-utils
+, appstream-glib
+, gettext
+, itstool
+, libxml2
+, gtk3
+, glib
+, atk
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+ pname = "ghex";
+ version = "3.18.4";
+
+ outputs = [ "out" "dev" ];
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/ghex/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2";
+ };
+
+ nativeBuildInputs = [
+ desktop-file-utils
+ gettext
+ itstool
+ meson
+ ninja
+ pkgconfig
+ python3
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ gtk3
+ atk
+ glib
+ ];
+
+ checkInputs = [
+ appstream-glib
+ desktop-file-utils
+ ];
+
+ patches = [
+ # Fixes for darwin. Drop in next release.
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/ghex/commit/b0af26666cd990d99076c242b2abb3efc6e98671.patch";
+ sha256 = "1zwdkgr2nqrn9q3ydyvrrpn5x55cdi747fhbq6mh6blp9cbrk9b5";
+ })
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/ghex/commit/cc8ef9e67b23604c402460010dc0b5dccb85391b.patch";
+ sha256 = "0j2165rfhlbrlzhmcnirqd5m89ljpz0n3nz20sxbwlc8h42zv36s";
+ })
+ ];
+
+ postPatch = ''
+ chmod +x meson_post_install.py
+ patchShebangs meson_post_install.py
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "ghex";
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Ghex";
+ description = "Hex editor for GNOME desktop environment";
+ platforms = platforms.unix;
+ license = licenses.gpl2Plus;
+ maintainers = teams.gnome.members;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix
new file mode 100644
index 000000000000..7432e8e96ed2
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-books/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, meson, ninja, gettext, fetchurl, 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 {
+ pname = "gnome-books";
+ version = "3.34.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "153vknqisjn5f105avzm933fsc3v0pjzzbwxlqxf8vjjksh1cmya";
+ };
+
+ nativeBuildInputs = [
+ meson ninja pkgconfig gettext libxslt desktop-file-utils
+ docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3
+ ];
+
+ buildInputs = [
+ gtk3 glib gsettings-desktop-schemas
+ gdk-pixbuf adwaita-icon-theme evince
+ webkitgtk gjs gobject-introspection tracker
+ tracker-miners gnome-desktop libgepub
+ ];
+
+ postPatch = ''
+ chmod +x meson_post_install.py # patchShebangs requires executable file
+ patchShebangs meson_post_install.py
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "gnome-books";
+ attrPath = "gnome3.gnome-books";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Books";
+ description = "An e-book manager application for GNOME";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
new file mode 100644
index 000000000000..4acc687da8ba
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -0,0 +1,141 @@
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, wrapGAppsHook
+, pkgconfig
+, gettext
+, itstool
+, libvirt-glib
+, glib
+, gobject-introspection
+, libxml2
+, gtk3
+, gtk-vnc
+, freerdp
+, libvirt
+, spice-gtk
+, python3
+, spice-protocol
+, libsoup
+, libosinfo
+, systemd
+, tracker
+, tracker-miners
+, vala
+, libcap
+, yajl
+, gmp
+, gdbm
+, cyrus_sasl
+, gnome3
+, librsvg
+, desktop-file-utils
+, mtools
+, cdrkit
+, libcdio
+, libusb1
+, libarchive
+, acl
+, libgudev
+, libsecret
+, libcap_ng
+, numactl
+, xen
+, libapparmor
+, json-glib
+, webkitgtk
+, vte
+, glib-networking
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-boxes";
+ version = "3.36.6";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg";
+ };
+
+ doCheck = true;
+
+ nativeBuildInputs = [
+ desktop-file-utils
+ gettext
+ gobject-introspection
+ itstool
+ meson
+ ninja
+ pkgconfig
+ python3
+ vala
+ wrapGAppsHook
+ ];
+
+ # Required for USB redirection PolicyKit rules file
+ propagatedUserEnvPkgs = [
+ spice-gtk
+ ];
+
+ buildInputs = [
+ acl
+ cyrus_sasl
+ freerdp
+ gdbm
+ glib
+ glib-networking
+ gmp
+ gnome3.adwaita-icon-theme
+ gtk-vnc
+ gtk3
+ json-glib
+ libapparmor
+ libarchive
+ libcap
+ libcap_ng
+ libgudev
+ libosinfo
+ librsvg
+ libsecret
+ libsoup
+ libusb1
+ libvirt
+ libvirt-glib
+ libxml2
+ numactl
+ spice-gtk
+ spice-protocol
+ systemd
+ tracker
+ tracker-miners
+ vte
+ webkitgtk
+ xen
+ yajl
+ ];
+
+ preFixup = ''
+ gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio ]}")
+ '';
+
+ postPatch = ''
+ chmod +x build-aux/post_install.py # patchShebangs requires executable file
+ patchShebangs build-aux/post_install.py
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ description = "Simple GNOME 3 application to access remote or virtual systems";
+ homepage = "https://wiki.gnome.org/Apps/Boxes";
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = teams.gnome.members;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
new file mode 100644
index 000000000000..988cb1ed2a33
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, 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 }:
+
+let
+ pname = "gnome-calendar";
+ version = "3.36.2";
+in stdenv.mkDerivation rec {
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+ sha256 = "07sc1kn65dzxsxpv0vl5dj1a5awljjsfl9jldrg0hnjmq12m7c6h";
+ };
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ nativeBuildInputs = [ meson ninja pkgconfig gettext libxml2 wrapGAppsHook python3 ];
+ buildInputs = [
+ gtk3 evolution-data-server libsoup glib gnome-online-accounts libdazzle libgweather geoclue2 geocode-glib
+ gsettings-desktop-schemas gnome3.adwaita-icon-theme libhandy
+ ];
+
+ postPatch = ''
+ chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file
+ patchShebangs build-aux/meson/meson_post_install.py
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Calendar";
+ description = "Simple and beautiful calendar application for GNOME";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
new file mode 100644
index 000000000000..987fa594ae52
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
@@ -0,0 +1,85 @@
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gnome3
+, glib
+, gtk3
+, pango
+, wrapGAppsHook
+, python3
+, gobject-introspection
+, gjs
+, libunistring
+, gsettings-desktop-schemas
+, adwaita-icon-theme
+, gnome-desktop
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-characters";
+ version = "3.34.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "0mqaxsa7hcmvid3zbzvxpfkp7s01ghiq6kaibmd3169axrr8ahql";
+ };
+
+ nativeBuildInputs = [
+ gettext
+ gobject-introspection
+ meson
+ ninja
+ pkgconfig
+ python3
+ wrapGAppsHook
+ ];
+
+
+ buildInputs = [
+ adwaita-icon-theme
+ gjs
+ glib
+ gnome-desktop # for typelib
+ gsettings-desktop-schemas
+ gtk3
+ libunistring
+ pango
+ ];
+
+ postPatch = ''
+ chmod +x meson_post_install.py # patchShebangs requires executable file
+ patchShebangs meson_post_install.py
+ '';
+
+ dontWrapGApps = true;
+
+ # Fixes https://github.com/NixOS/nixpkgs/issues/31168
+ postFixup = ''
+ for file in $out/share/org.gnome.Characters/org.gnome.Characters \
+ $out/share/org.gnome.Characters/org.gnome.Characters.BackgroundService
+ do
+ sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
+ -i $file
+
+ wrapGApp "$file"
+ done
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Design/Apps/CharacterMap";
+ description = "Simple utility application to find and insert unusual characters";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
new file mode 100644
index 000000000000..5e3ff58b2901
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix
@@ -0,0 +1,87 @@
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, gettext
+, pkgconfig
+, wrapGAppsHook
+, itstool
+, desktop-file-utils
+, vala
+, gobject-introspection
+, libxml2
+, gtk3
+, glib
+, gsound
+, sound-theme-freedesktop
+, gsettings-desktop-schemas
+, adwaita-icon-theme
+, gnome-desktop
+, geocode-glib
+, gnome3
+, gdk-pixbuf
+, geoclue2
+, libgweather
+, libhandy
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-clocks";
+ version = "3.36.2";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/gnome-clocks/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1rjicycgh9jvkqir2m8hx9m4jlaa3w5lqs43k185wa0zxhi1n6zi";
+ };
+
+ nativeBuildInputs = [
+ vala
+ meson
+ ninja
+ pkgconfig
+ gettext
+ itstool
+ wrapGAppsHook
+ desktop-file-utils
+ libxml2
+ gobject-introspection # for finding vapi files
+ ];
+
+ buildInputs = [
+ gtk3
+ glib
+ gsettings-desktop-schemas
+ gdk-pixbuf
+ adwaita-icon-theme
+ gnome-desktop
+ geocode-glib
+ geoclue2
+ libgweather
+ gsound
+ libhandy
+ ];
+
+ preFixup = ''
+ gappsWrapperArgs+=(
+ # Fallback sound theme
+ --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share"
+ )
+ '';
+
+ doCheck = true;
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "gnome-clocks";
+ attrPath = "gnome3.gnome-clocks";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Clocks";
+ description = "Clock application designed for GNOME 3";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
new file mode 100644
index 000000000000..8d5501537a0f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
@@ -0,0 +1,109 @@
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, evince
+, gjs
+, pkgconfig
+, gtk3
+, glib
+, tracker
+, tracker-miners
+, itstool
+, libxslt
+, webkitgtk
+, libgdata
+, gnome-desktop
+, libzapojit
+, libgepub
+, gnome3
+, gdk-pixbuf
+, libsoup
+, docbook_xsl
+, docbook_xml_dtd_42
+, gobject-introspection
+, inkscape
+, poppler_utils
+, desktop-file-utils
+, wrapGAppsHook
+, python3
+, gsettings-desktop-schemas
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-documents";
+ version = "3.34.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq";
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkgconfig
+ gettext
+ itstool
+ libxslt
+ desktop-file-utils
+ docbook_xsl
+ docbook_xml_dtd_42
+ wrapGAppsHook
+ python3
+
+ # building getting started
+ inkscape
+ poppler_utils
+ ];
+
+ buildInputs = [
+ gtk3
+ glib
+ gsettings-desktop-schemas
+ gdk-pixbuf
+ gnome3.adwaita-icon-theme
+ evince
+ libsoup
+ webkitgtk
+ gjs
+ gobject-introspection
+ tracker
+ tracker-miners
+ libgdata
+ gnome-desktop
+ libzapojit
+ libgepub
+ ];
+
+ doCheck = true;
+
+ mesonFlags = [
+ "-Dgetting_started=true"
+ ];
+
+ postPatch = ''
+ chmod +x meson_post_install.py # patchShebangs requires executable file
+ patchShebangs meson_post_install.py
+ '';
+
+ preFixup = ''
+ substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.bin}/bin/gapplication"
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Documents";
+ description = "Document manager application designed to work with GNOME 3";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
new file mode 100644
index 000000000000..bd02a5f0cc60
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, gnome3, intltool, itstool, libxml2 }:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-getting-started-docs";
+ version = "3.36.2";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/gnome-getting-started-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1ihxa9g687rbb4s2gxd2pf726adx98ahq4kfad868swl7a8vi504";
+ };
+
+ passthru = {
+ updateScript = gnome3.updateScript { packageName = "gnome-getting-started-docs"; attrPath = "gnome3.gnome-getting-started-docs"; };
+ };
+
+ buildInputs = [ intltool itstool libxml2 ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://live.gnome.org/DocumentationProject";
+ description = "Help a new user get started in GNOME";
+ maintainers = teams.gnome.members;
+ license = licenses.cc-by-sa-30;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
new file mode 100644
index 000000000000..45675b791cd8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix
@@ -0,0 +1,86 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, gnome3
+, glib
+, gtk3
+, wrapGAppsHook
+, gettext
+, itstool
+, libxml2
+, libxslt
+, docbook_xsl
+, docbook_xml_dtd_43
+, systemd
+, python3
+, gsettings-desktop-schemas
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-logs";
+ version = "3.36.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/gnome-logs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "0w1nfdxbv3f0wnhmdy21ydvr4swfc108hypda561p7l9lrhnnxj4";
+ };
+
+ patches = [
+ # https://gitlab.gnome.org/GNOME/gnome-logs/-/issues/52
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/gnome-logs/-/commit/b42defceefc775220b525f665a3b662ab9593b81.patch";
+ sha256 = "1s0zscmhwy7r0xff17wh8ik8x9xw1vrkipw5vl5i770bxnljps8n";
+ })
+ ];
+
+ nativeBuildInputs = [
+ python3
+ meson
+ ninja
+ pkgconfig
+ wrapGAppsHook
+ gettext
+ itstool
+ libxml2
+ libxslt
+ docbook_xsl
+ docbook_xml_dtd_43
+ ];
+
+ buildInputs = [
+ glib
+ gtk3
+ systemd
+ gsettings-desktop-schemas
+ gnome3.adwaita-icon-theme
+ ];
+
+ mesonFlags = [
+ "-Dman=true"
+ ];
+
+ postPatch = ''
+ chmod +x meson_post_install.py
+ patchShebangs meson_post_install.py
+ '';
+
+ doCheck = true;
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "gnome-logs";
+ attrPath = "gnome3.gnome-logs";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Logs";
+ description = "A log viewer for the systemd journal";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
new file mode 100644
index 000000000000..57ba6fd0766f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, meson, ninja, gettext, python3, pkgconfig, gnome3, gtk3
+, gobject-introspection, gdk-pixbuf, librsvg, libgweather
+, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, libsoup, gsettings-desktop-schemas
+, webkitgtk, gjs, libgee, geocode-glib, evolution-data-server, gnome-online-accounts }:
+
+let
+ pname = "gnome-maps";
+ version = "3.36.4";
+in stdenv.mkDerivation rec {
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+ sha256 = "1ila7li9yi4lyjc84a787qr33wr7ayppphxn451jzg410pfcamhz";
+ };
+
+ doCheck = true;
+
+ nativeBuildInputs = [ meson ninja pkgconfig gettext python3 wrapGAppsHook ];
+ buildInputs = [
+ gobject-introspection
+ gtk3 geoclue2 gjs libgee folks gfbgraph
+ geocode-glib libchamplain libsoup
+ gdk-pixbuf librsvg libgweather
+ gsettings-desktop-schemas evolution-data-server
+ gnome-online-accounts gnome3.adwaita-icon-theme
+ webkitgtk
+ ];
+
+ postPatch = ''
+ chmod +x meson_post_install.py # patchShebangs requires executable file
+ patchShebangs meson_post_install.py
+
+ # The .service file isn't wrapped with the correct environment
+ # so misses GIR files when started. By re-pointing from the gjs
+ # entry point to the wrapped binary we get back to a wrapped
+ # binary.
+ substituteInPlace "data/org.gnome.Maps.service.in" \
+ --replace "Exec=@pkgdatadir@/org.gnome.Maps" \
+ "Exec=$out/bin/gnome-maps"
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Maps";
+ description = "A map application for GNOME 3";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
new file mode 100644
index 000000000000..92c40f4a0086
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -0,0 +1,113 @@
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, gdk-pixbuf
+, tracker
+, libxml2
+, python3
+, libnotify
+, wrapGAppsHook
+, libmediaart
+, gobject-introspection
+, gnome-online-accounts
+, grilo
+, grilo-plugins
+, pkgconfig
+, gtk3
+, pango
+, glib
+, desktop-file-utils
+, appstream-glib
+, itstool
+, gnome3
+, gst_all_1
+, libdazzle
+, libsoup
+, gsettings-desktop-schemas
+}:
+
+python3.pkgs.buildPythonApplication rec {
+ pname = "gnome-music";
+ version = "3.36.4.1";
+
+ format = "other";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "0zdpjgwf48bqb66wrl6k33pzcmc2g3m1046ma7z8xaj9idpi37jh";
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ gettext
+ itstool
+ pkgconfig
+ libxml2
+ wrapGAppsHook
+ desktop-file-utils
+ appstream-glib
+ gobject-introspection
+ ];
+
+ buildInputs = [
+ gtk3
+ pango
+ glib
+ libmediaart
+ gnome-online-accounts
+ gobject-introspection
+ gdk-pixbuf
+ gnome3.adwaita-icon-theme
+ python3
+ grilo
+ grilo-plugins
+ libnotify
+ libdazzle
+ libsoup
+ gsettings-desktop-schemas
+ tracker
+ ] ++ (with gst_all_1; [
+ gstreamer
+ gst-plugins-base
+ gst-plugins-good
+ gst-plugins-bad
+ gst-plugins-ugly
+ ]);
+
+ propagatedBuildInputs = with python3.pkgs; [
+ pycairo
+ dbus-python
+ pygobject3
+ ];
+
+
+ postPatch = ''
+ for f in meson_post_conf.py meson_post_install.py; do
+ chmod +x $f
+ patchShebangs $f
+ done
+ '';
+
+ doCheck = false;
+
+ # handle setup hooks better
+ strictDeps = false;
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Music";
+ description = "Music player and management application for the GNOME desktop environment";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix
new file mode 100644
index 000000000000..88072912b663
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
+, libgtop, intltool, itstool, libxml2, nmap, inetutils }:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-nettool";
+ version = "3.8.1";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1c9cvzvyqgfwa5zzyvp7118pkclji62fkbb33g4y9sp5kw6m397h";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [
+ gtk3 wrapGAppsHook libgtop intltool itstool libxml2
+ gnome3.adwaita-icon-theme
+ ];
+
+ propagatedUserEnvPkgs = [ nmap inetutils ];
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ versionPolicy = "none";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://gitlab.gnome.org/GNOME/gnome-nettool";
+ description = "A collection of networking tools";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
new file mode 100644
index 000000000000..c32289d70d79
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, pkgconfig
+, wrapGAppsHook
+, itstool
+, desktop-file-utils
+, python3
+, glib
+, gtk3
+, evolution-data-server
+, gnome-online-accounts
+, libuuid
+, libhandy
+, webkitgtk
+, zeitgeist
+, gnome3
+, libxml2
+, gsettings-desktop-schemas
+, tracker
+}:
+
+let
+ version = "3.36.3";
+in
+stdenv.mkDerivation {
+ pname = "gnome-notes";
+ inherit version;
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/bijiben/${stdenv.lib.versions.majorMinor version}/bijiben-${version}.tar.xz";
+ sha256 = "1midnphyg038s94ahhzv0pvbzzzn62ccky28c9nazxqvw4hvdsbh";
+ };
+
+ doCheck = true;
+
+ postPatch = ''
+ chmod +x build-aux/meson_post_install.py
+ patchShebangs build-aux/meson_post_install.py
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkgconfig
+ gettext
+ itstool
+ libxml2
+ desktop-file-utils
+ python3
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ glib
+ gtk3
+ libuuid
+ libhandy
+ webkitgtk
+ tracker
+ gnome-online-accounts
+ zeitgeist
+ gsettings-desktop-schemas
+ evolution-data-server
+ gnome3.adwaita-icon-theme
+ ];
+
+ mesonFlags = [
+ "-Dzeitgeist=true"
+ "-Dupdate_mimedb=false"
+ ];
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "bijiben";
+ attrPath = "gnome3.gnome-notes";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ description = "Note editor designed to remain simple to use";
+ homepage = "https://wiki.gnome.org/Apps/Notes";
+ license = licenses.gpl3;
+ maintainers = teams.gnome.members;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
new file mode 100644
index 000000000000..4a92052763ef
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, gettext
+, fetchurl
+, pkgconfig
+, gtk3
+, glib
+, meson
+, ninja
+, upower
+, python3
+, desktop-file-utils
+, wrapGAppsHook
+, gnome3 }:
+
+let
+ pname = "gnome-power-manager";
+ version = "3.32.0";
+in stdenv.mkDerivation rec {
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+ sha256 = "0drfn3wcc8l4n07qwv6p0rw2dwcd00hwzda282q62l6sasks2b2g";
+ };
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkgconfig
+ wrapGAppsHook
+ gettext
+
+ # needed by meson_post_install.sh
+ python3
+ glib.dev
+ desktop-file-utils
+ ];
+
+ buildInputs = [
+ gtk3
+ glib
+ upower
+ gnome3.adwaita-icon-theme
+ ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://projects-old.gnome.org/gnome-power-manager/";
+ description = "View battery and power statistics provided by UPower";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
new file mode 100644
index 000000000000..f4a72fdfb482
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, pkgconfig, gettext, gobject-introspection, wrapGAppsHook, gjs, glib, gtk3, gdk-pixbuf, gst_all_1, gnome3
+, meson, ninja, python3, desktop-file-utils }:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-sound-recorder";
+ version = "3.34.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "1i442qas2dkp5d9j9j1z1jicb4cb7jkgbcl4c36bmhvaq3hddwa9";
+ };
+
+ nativeBuildInputs = [
+ pkgconfig 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 ]);
+
+ postPatch = ''
+ chmod +x 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 = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ description = "A simple and modern sound recorder";
+ homepage = "https://wiki.gnome.org/Apps/SoundRecorder";
+ license = licenses.gpl2Plus;
+ maintainers = teams.gnome.members;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix
new file mode 100644
index 000000000000..d837ce3968e4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, python3
+, wrapGAppsHook
+, gettext
+, gnome3
+, glib
+, gtk3
+, libpeas
+, gnome-online-accounts
+, gsettings-desktop-schemas
+, evolution-data-server
+, libxml2
+, libsoup
+, libical
+, librest
+, json-glib
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-todo";
+ version = "3.28.1";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7";
+ };
+
+ patches = [
+ # fix build with libecal 2.0
+ (fetchpatch {
+ name = "gnome-todo-eds-libecal-2.0.patch";
+ url = "https://src.fedoraproject.org/rpms/gnome-todo/raw/bed44b8530f3c79589982e03b430b3a125e9bceb/f/gnome-todo-eds-libecal-2.0.patch";
+ sha256 = "1ghrz973skal36j90wm2z13m3panw983r6y0k7z9gpj5lxgz92mq";
+ })
+ ];
+ postPatch = ''
+ chmod +x meson_post_install.py
+ patchShebangs meson_post_install.py
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkgconfig
+ gettext
+ python3
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ glib
+ gtk3
+ libpeas
+ gnome-online-accounts
+ gsettings-desktop-schemas
+ gnome3.adwaita-icon-theme
+ # Plug-ins
+ evolution-data-server
+ libxml2
+ libsoup
+ libical
+ librest
+ json-glib
+ ];
+
+ # Fix parallel building: missing dependency from src/gtd-application.c
+ # Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170
+ preBuild = "ninja src/gtd-vcs-identifier.h";
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ description = "Personal task manager for GNOME";
+ homepage = "https://wiki.gnome.org/Apps/Todo";
+ license = licenses.gpl3Plus;
+ maintainers = teams.gnome.members;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
new file mode 100644
index 000000000000..84be3f527434
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gjs, gobject-introspection
+, libgweather, meson, ninja, geoclue2, gnome-desktop, python3, gsettings-desktop-schemas }:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-weather";
+ version = "3.36.1";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/gnome-weather/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "11z75ky6xp9hx7lm24xng7ydr20bzh4d6p9sbi9c8ccz2m3fdrk8";
+ };
+
+ nativeBuildInputs = [ pkgconfig meson ninja wrapGAppsHook python3 ];
+ buildInputs = [
+ gtk3 gjs gobject-introspection gnome-desktop
+ libgweather gnome3.adwaita-icon-theme geoclue2 gsettings-desktop-schemas
+ ];
+
+ postPatch = ''
+ # The .service file is not wrapped with the correct environment
+ # so misses GIR files when started. By re-pointing from the gjs
+ # entry point to the wrapped binary we get back to a wrapped
+ # binary.
+ substituteInPlace "data/org.gnome.Weather.service.in" \
+ --replace "Exec=@DATA_DIR@/@APP_ID@" \
+ "Exec=$out/bin/gnome-weather"
+
+ chmod +x meson_post_install.py
+ patchShebangs meson_post_install.py
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "gnome-weather";
+ attrPath = "gnome3.gnome-weather";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Weather";
+ description = "Access current weather conditions and forecasts";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix
new file mode 100644
index 000000000000..514eecc17365
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, itstool, fetchurl, gdk-pixbuf, adwaita-icon-theme
+, telepathy-glib, gjs, meson, ninja, gettext, telepathy-idle, libxml2, desktop-file-utils
+, pkgconfig, gtk3, glib, libsecret, libsoup, webkitgtk, gobject-introspection, appstream-glib
+, gnome3, wrapGAppsHook, telepathy-logger, gspell, gsettings-desktop-schemas }:
+
+let
+ pname = "polari";
+ version = "3.36.3";
+in stdenv.mkDerivation rec {
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+ sha256 = "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg";
+ };
+
+ patches = [
+ # Upstream runs the thumbnailer by passing it to gjs.
+ # If we wrap it in a shell script, gjs can no longer run it.
+ # Let’s change the code to run the script directly by making it executable and having gjs in shebang.
+ ./make-thumbnailer-wrappable.patch
+ ];
+
+ propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
+
+ nativeBuildInputs = [
+ meson ninja pkgconfig itstool gettext wrapGAppsHook libxml2
+ desktop-file-utils gobject-introspection appstream-glib
+ ];
+
+ buildInputs = [
+ gtk3 glib adwaita-icon-theme gsettings-desktop-schemas
+ telepathy-glib telepathy-logger gjs gspell gdk-pixbuf libsecret libsoup webkitgtk
+ ];
+
+ postFixup = ''
+ wrapGApp "$out/share/polari/thumbnailer.js"
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Polari";
+ description = "IRC chat client designed to integrate with the GNOME desktop";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch
new file mode 100644
index 000000000000..0fb09eb154af
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch
@@ -0,0 +1,24 @@
+diff --git a/src/thumbnailer.js b/src/thumbnailer.js
+old mode 100644
+new mode 100755
+index e2ad0a5..7ebf08a
+--- a/src/thumbnailer.js
++++ b/src/thumbnailer.js
+@@ -1,3 +1,4 @@
++#!/usr/bin/env gjs
+ imports.gi.versions.Gdk = '3.0';
+ imports.gi.versions.Gtk = '3.0';
+
+diff --git a/src/urlPreview.js b/src/urlPreview.js
+index f17e0be..ccffc32 100644
+--- a/src/urlPreview.js
++++ b/src/urlPreview.js
+@@ -44,7 +44,7 @@ class Thumbnailer {
+ _generateThumbnail(data) {
+ let { filename, uri } = data;
+ this._subProc = Gio.Subprocess.new(
+- ['gjs', `${pkg.pkgdatadir}/thumbnailer.js`, uri, filename],
++ [`${pkg.pkgdatadir}/thumbnailer.js`, uri, filename],
+ Gio.SubprocessFlags.NONE);
+ this._subProc.wait_async(null, (o, res) => {
+ try {
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix
new file mode 100644
index 000000000000..3668fc171b36
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -0,0 +1,85 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, vala
+, meson
+, ninja
+, libpwquality
+, pkgconfig
+, gtk3
+, glib
+, wrapGAppsHook
+, itstool
+, gnupg
+, libsoup
+, gnome3
+, gpgme
+, python3
+, openldap
+, gcr
+, libsecret
+, avahi
+, p11-kit
+, openssh
+, gsettings-desktop-schemas
+, libhandy
+}:
+
+stdenv.mkDerivation rec {
+ pname = "seahorse";
+ version = "3.36.2";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "16wmxxppgcgfj8zkagcny5af1c81x32ysm9d6j9f2k7bmik21ss5";
+ };
+
+ doCheck = true;
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkgconfig
+ vala
+ itstool
+ wrapGAppsHook
+ python3
+ ];
+
+ buildInputs = [
+ gtk3
+ glib
+ gcr
+ gsettings-desktop-schemas
+ gnupg
+ gnome3.adwaita-icon-theme
+ gpgme
+ libsecret
+ avahi
+ libsoup
+ p11-kit
+ openssh
+ openldap
+ libpwquality
+ libhandy
+ ];
+
+ postPatch = ''
+ patchShebangs build-aux/
+ '';
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = pname;
+ attrPath = "gnome3.${pname}";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ homepage = "https://wiki.gnome.org/Apps/Seahorse";
+ description = "Application for managing encryption keys and passwords in the GnomeKeyring";
+ maintainers = teams.gnome.members;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/vinagre/default.nix b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/vinagre/default.nix
new file mode 100644
index 000000000000..e04238b4b16f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/desktops/gnome-3/apps/vinagre/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, vte, libxml2, gtk-vnc, intltool
+, libsecret, itstool, wrapGAppsHook, librsvg }:
+
+stdenv.mkDerivation rec {
+ pname = "vinagre";
+ version = "3.22.0";
+
+ src = fetchurl {
+ url = "mirror://gnome/sources/vinagre/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "cd1cdbacca25c8d1debf847455155ee798c3e67a20903df8b228d4ece5505e82";
+ };
+
+ nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
+ buildInputs = [
+ gtk3 vte libxml2 gtk-vnc libsecret gnome3.adwaita-icon-theme librsvg
+ ];
+
+ NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral";
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "vinagre";
+ attrPath = "gnome3.vinagre";
+ };
+ };
+
+ meta = with stdenv.lib; {
+ description = "Remote desktop viewer for GNOME";
+ homepage = "https://wiki.gnome.org/Apps/Vinagre";
+ license = licenses.gpl2Plus;
+ maintainers = teams.gnome.members;
+ platforms = platforms.linux;
+ };
+}