diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/desktops/gnome-3/misc | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome-3/misc')
22 files changed, 1066 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix new file mode 100644 index 000000000000..7bb54904fb0f --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix @@ -0,0 +1,68 @@ +{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_40, enchant +, wrapGAppsHook, gdk_pixbuf, cmake, ninja, desktop-file-utils +, libnotify, libcanberra-gtk3, libsecret, gmime, isocodes +, gobject-introspection, libpthreadstubs, sqlite +, gnome3, librsvg, gnome-doc-utils, webkitgtk, fetchpatch }: + +let + pname = "geary"; + version = "0.12.4"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "01ykhkjfkprvh9kp4rzrl6xs2pqibiw44ckvqsn5cs3xy2rlq8mm"; + }; + + patches = [ + # Fix build with webkitgtk-2.22 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/geary/commit/5d0f711426d76f878cf9b71f7e8f785199c7cde1.patch; + sha256 = "1yifng5lfsc6wp7irmi8gjdcfig1cr0chf7rdv3asrk567nmwrsi"; + }) + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/geary/commit/0d966950a2cba888873cd3a7f4f42bb7a017dc6d.patch; + sha256 = "1y6v4fnik4w3paj9nl0yqs54998sx1zr9w3940d579p6dsa8f3fg"; + }) + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/geary/commit/e091f24b00ec421e1aadd5e360d1550e658ad5ef.patch; + sha256 = "0d5hc4h9c1hnn2sk18nkpmzdvwm3h746n2zj8n22ax9rj6lxl38l"; + }) + ]; + + nativeBuildInputs = [ vala_0_40 intltool pkgconfig wrapGAppsHook cmake ninja desktop-file-utils gnome-doc-utils gobject-introspection ]; + buildInputs = [ + gtk3 enchant webkitgtk libnotify libcanberra-gtk3 gnome3.libgee libsecret gmime sqlite + libpthreadstubs gnome3.gsettings-desktop-schemas gnome3.gcr isocodes + gdk_pixbuf librsvg gnome3.defaultIconTheme + ]; + + cmakeFlags = [ + "-DISOCODES_DIRECTORY=${isocodes}/share/xml/iso-codes" + ]; + + # TODO: This is bad, upstream should fix their code. + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${webkitgtk.dev}/share/gir-1.0"; + + preFixup = '' + # Add geary to path for geary-attach + gappsWrapperArgs+=(--prefix PATH : "$out/bin") + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Geary; + description = "Mail client for GNOME 3"; + maintainers = gnome3.maintainers; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gexiv2/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gexiv2/default.nix new file mode 100644 index 000000000000..d74faf09fb7d --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gexiv2/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, meson, ninja, pkgconfig, exiv2, glib, gnome3, gobject-introspection, vala }: + +let + pname = "gexiv2"; + version = "0.10.9"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1vf0zv92p9hybdhn7zx53h3ia53ph97a21xz8rfk877xlr5261l8"; + }; + + preConfigure = '' + patchShebangs . + ''; + + nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala ]; + buildInputs = [ glib ]; + propagatedBuildInputs = [ exiv2 ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/gexiv2; + description = "GObject wrapper around the Exiv2 photo metadata library"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = gnome3.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix new file mode 100644 index 000000000000..f4c0d6134c0f --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, glib +, gnome3, libsoup, json-glib, gobject-introspection }: + +let + pname = "gfbgraph"; + version = "0.2.3"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"; + }; + + nativeBuildInputs = [ pkgconfig gobject-introspection ]; + buildInputs = [ glib gnome3.gnome-online-accounts ]; + propagatedBuildInputs = [ libsoup json-glib gnome3.rest ]; + + configureFlags = [ "--enable-introspection" ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "GLib/GObject wrapper for the Facebook Graph API"; + maintainers = gnome3.maintainers; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix new file mode 100644 index 000000000000..b424a8a79697 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gitg/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchurl, vala, intltool, pkgconfig, gtk3, glib +, json-glib, wrapGAppsHook, libpeas, bash, gobject-introspection +, gnome3, gtkspell3, shared-mime-info, libgee, libgit2-glib, libsecret +, meson, ninja, python3 + }: + +let + pname = "gitg"; + version = "3.30.1"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1fz8q1aiql6k740savdjh0vzbyhcflgf94cfdhvzcrrvm929n2ss"; + }; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py + + substituteInPlace tests/libgitg/test-commit.vala --replace "/bin/bash" "${bash}/bin/bash" + ''; + + doCheck = true; + + enableParallelBuilding = true; + + buildInputs = [ + gtk3 glib json-glib libgee libpeas gnome3.libsoup + libgit2-glib gtkspell3 gnome3.gtksourceview gnome3.gsettings-desktop-schemas + libsecret gobject-introspection gnome3.adwaita-icon-theme + ]; + + nativeBuildInputs = [ meson ninja python3 vala wrapGAppsHook intltool pkgconfig ]; + + preFixup = '' + gappsWrapperArgs+=( + # Thumbnailers + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Gitg; + description = "GNOME GUI client to view git repositories"; + maintainers = with maintainers; [ domenkozar ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix new file mode 100644 index 000000000000..de0d70ae42f4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix @@ -0,0 +1,88 @@ +{ stdenv +, fetchurl +, intltool +, itstool +, libxml2 +, libxslt +, pkgconfig +, gnome-panel +, gtk3 +, glib +, libwnck3 +, libgtop +, libnotify +, upower +, dbus-glib +, wirelesstools +, linuxPackages +, adwaita-icon-theme +, libgweather +, gucharmap +, gnome-settings-daemon +, tracker +, polkit +, gnome3 +}: + +let + pname = "gnome-applets"; + version = "3.30.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1cvl32486kqw301wy40l1a1sdhanra7bx4smq0a3lmnl3x01zg43"; + }; + + nativeBuildInputs = [ + intltool + itstool + pkgconfig + libxml2 + libxslt + ]; + + buildInputs = [ + gnome-panel + gtk3 + glib + libxml2 + libwnck3 + libgtop + libnotify + upower + dbus-glib + adwaita-icon-theme + libgweather + gucharmap + gnome-settings-daemon + tracker + polkit + wirelesstools + linuxPackages.cpupower + ]; + + enableParallelBuilding = true; + + doCheck = true; + + configureFlags = [ + "--with-libpanel-applet-dir=$(out)/share/gnome-panel/applets" + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "Applets for use with the GNOME panel"; + homepage = https://wiki.gnome.org/Projects/GnomeApplets; + license = licenses.gpl2Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix new file mode 100644 index 000000000000..c80c8b977cf5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pkgconfig, gnome3 +, gtk3, glib, gobject-introspection, libarchive +}: + +stdenv.mkDerivation rec { + name = "gnome-autoar-${version}"; + version = "0.2.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-autoar/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"; + }; + + passthru = { + updateScript = gnome3.updateScript { packageName = "gnome-autoar"; attrPath = "gnome3.gnome-autoar"; }; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ gtk3 glib ]; + propagatedBuildInputs = [ libarchive gobject-introspection ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = gnome3.maintainers; + license = licenses.lgpl21; + description = "Library to integrate compressed files management with GNOME"; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix new file mode 100644 index 000000000000..fe5345f1a6e2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, autoreconfHook +, fetchurl +, fetchpatch +, gettext +, glib +, gnome-bluetooth +, gnome-desktop +, gnome-session +, gnome3 +, gsettings-desktop-schemas +, gtk +, ibus +, intltool +, libcanberra-gtk3 +, libpulseaudio +, libxkbfile +, libxml2 +, metacity +, pkgconfig +, polkit +, substituteAll +, upower +, xkeyboard_config }: + +let + pname = "gnome-flashback"; + version = "3.30.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "18rwql2pi78155l9zp1i50xfi5z8xz2l08m9d81x6qqbfr1nyy57"; + }; + + patches =[ + (substituteAll { + src = ./fix-paths.patch; + inherit metacity; + gnomeSession = gnome-session; + }) + + # overrides do not respect gsettingsschemasdir + # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/9 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/a55530f58ccd600414a5420b287868ab7d219705.patch; + sha256 = "1la94lhhb9zlw7bnbpl6hl26zv3kxbsvgx996mhph720wxg426mh"; + }) + ]; + + nativeBuildInputs = [ + autoreconfHook + gettext + libxml2 + pkgconfig + ]; + + buildInputs = [ + glib + gnome-bluetooth + gnome-desktop + gsettings-desktop-schemas + gtk + ibus + libcanberra-gtk3 + libpulseaudio + libxkbfile + polkit + upower + xkeyboard_config + ]; + + doCheck = true; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "GNOME 2.x-like session for GNOME 3"; + homepage = https://wiki.gnome.org/Projects/GnomeFlashback; + license = licenses.gpl2; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch new file mode 100644 index 000000000000..9d5add233d61 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch @@ -0,0 +1,30 @@ +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -22,7 +22,7 @@ + echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \ + echo ' export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \ + echo 'fi' && echo '' && \ +- echo 'exec gnome-session --session=gnome-flashback-compiz "$$@"') > $@ ++ echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-compiz "$$@"') > $@ + $(AM_V_at) chmod a+x $@ + + gnome-flashback-metacity: Makefile +@@ -30,7 +30,7 @@ + echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \ + echo ' export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \ + echo 'fi' && echo '' && \ +- echo 'exec gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@ ++ echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@ + $(AM_V_at) chmod a+x $@ + + CLEANFILES = \ +--- a/data/xsessions/gnome-flashback-metacity.desktop.in.in ++++ b/data/xsessions/gnome-flashback-metacity.desktop.in.in +@@ -2,6 +2,6 @@ + Name=GNOME Flashback (Metacity) + Comment=This session logs you into GNOME Flashback with Metacity + Exec=@libexecdir@/gnome-flashback-metacity +-TryExec=metacity ++TryExec=@metacity@/bin/metacity + Type=Application + DesktopNames=GNOME-Flashback;GNOME; diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix new file mode 100644 index 000000000000..8fbe24220b69 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, packagekit, polkit +, systemd, wrapGAppsHook, desktop-file-utils }: + +stdenv.mkDerivation rec { + name = "gnome-packagekit-${version}"; + version = "3.30.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-packagekit/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1i1hf6833psnq174xm0gjlz5rbrkl8i512y47w7nk8mrrrc31b35"; + }; + + nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop-file-utils ]; + buildInputs = [ gnome3.gtk packagekit systemd polkit ]; + + postPatch = '' + patchShebangs meson_post_install.sh + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = "gnome-packagekit"; + attrPath = "gnome3.gnome-packagekit"; + }; + }; + + meta = with stdenv.lib; { + homepage = https://www.freedesktop.org/software/PackageKit/; + platforms = platforms.linux; + maintainers = gnome3.maintainers; + license = licenses.gpl2; + description = "Tools for installing software on the GNOME desktop using PackageKit"; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix new file mode 100644 index 000000000000..b9522e1e3f40 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, fetchurl +, autoreconfHook +, fetchpatch +, dconf +, evolution-data-server +, gdm +, gettext +, glib +, gnome-desktop +, gnome-menus +, gnome3 +, gtk +, itstool +, libgweather +, libsoup +, libwnck3 +, libxml2 +, pkgconfig +, polkit +, systemd +, wrapGAppsHook }: + +let + pname = "gnome-panel"; + version = "3.30.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + outputs = [ "out" "dev" "man" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "12q0l7wy6hzl46i7xpvv82ka3bn14z0jg6fhv5xhnk7j9mkbmgqw"; + }; + + patches = [ + # https://github.com/NixOS/nixpkgs/issues/36468 + # https://gitlab.gnome.org/GNOME/gnome-panel/issues/8 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gnome-panel/commit/77be9c3507bd1b5d70d97649b85ec9f47f6c359c.patch; + sha256 = "00b1ihnc6hp2g6x1v1njbc6mhsk44izl2wigviibmka2znfk03nv"; + }) + ]; + + nativeBuildInputs = [ + autoreconfHook + gettext + itstool + libxml2 + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + dconf + evolution-data-server + gdm + glib + gnome-desktop + gnome-menus + gtk + libgweather + libsoup + libwnck3 + polkit + systemd + ]; + + configureFlags = [ + "--enable-eds" + ]; + + enableParallelBuilding = true; + + doCheck = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "Component of Gnome Flashback that provides panels and default applets for the desktop"; + homepage = https://wiki.gnome.org/Projects/GnomePanel; + license = licenses.gpl2Plus; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix new file mode 100644 index 000000000000..77edf27fbdd6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix @@ -0,0 +1,54 @@ +{ stdenv, meson, ninja, gettext, fetchurl +, pkgconfig, gtk3, glib, libsoup +, itstool, libxml2, python3Packages +, gnome3, gdk_pixbuf, libnotify, gobject-introspection, wrapGAppsHook }: + +let + pname = "gnome-tweaks"; + version = "3.30.2"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0j63siy1i5pl2g6di1r9vjn54m9ahh42wj20j6689pza2lamay1z"; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig gettext itstool libxml2 wrapGAppsHook python3Packages.python + ]; + buildInputs = [ + gtk3 glib gnome3.gsettings-desktop-schemas + gdk_pixbuf gnome3.defaultIconTheme + libnotify gnome3.gnome-shell python3Packages.pygobject3 + libsoup gnome3.gnome-settings-daemon gnome3.nautilus + gnome3.mutter gnome3.gnome-desktop gobject-introspection + gnome3.nautilus + # Makes it possible to select user themes through the `user-theme` extension + gnome3.gnome-shell-extensions + ]; + + postPatch = '' + patchShebangs meson-postinstall.py + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}:$PYTHONPATH") + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool; + description = "A tool to customize advanced GNOME 3 options"; + maintainers = gnome3.maintainers; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix new file mode 100644 index 000000000000..b65e9c1021e7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gnome3 }: +let + pname = "gnome-video-effects"; + version = "0.4.3"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "A collection of GStreamer effects to be used in different GNOME Modules"; + homepage = https://wiki.gnome.org/Projects/GnomeVideoEffects; + platforms = platforms.linux; + maintainers = gnome3.maintainers; + license = licenses.gpl2; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix new file mode 100644 index 000000000000..fd71f1f2a23c --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, autoreconfHook, pkgconfig, vala, glib, gjs, mutter +, pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobject-introspection }: + +stdenv.mkDerivation rec { + version = "3.30.2"; + name = "gpaste-${version}"; + + src = fetchurl { + url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz"; + sha256 = "0vlbvv6rjxq7h9cl3ilndjk7d51ac1x7agj8k6a7bwjx8h1fr62x"; + }; + + patches = [ + ./fix-paths.patch + ]; + + # TODO: switch to substituteAll with placeholder + # https://github.com/NixOS/nix/issues/1846 + postPatch = '' + substituteInPlace src/gnome-shell/extension.js \ + --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0" + substituteInPlace src/gnome-shell/prefs.js \ + --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0" + substituteInPlace src/libgpaste/settings/gpaste-settings.c \ + --subst-var-by gschemasCompiled "${placeholder "out"}/share/gsettings-schemas/${name}/glib-2.0/schemas" + ''; + + nativeBuildInputs = [ + autoreconfHook pkgconfig vala appstream-glib wrapGAppsHook + ]; + buildInputs = [ + glib gjs mutter gtk3 dbus + clutter pango gobject-introspection + ]; + + configureFlags = [ + "--with-controlcenterdir=${placeholder "out"}/share/gnome-control-center/keybindings" + "--with-dbusservicesdir=${placeholder "out"}/share/dbus-1/services" + "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user" + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://github.com/Keruspe/GPaste; + description = "Clipboard management system with GNOME3 integration"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = gnome3.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/fix-paths.patch new file mode 100644 index 000000000000..ca6b9a5b22ed --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/fix-paths.patch @@ -0,0 +1,55 @@ +--- a/src/gnome-shell/extension.js ++++ b/src/gnome-shell/extension.js +@@ -7,6 +7,8 @@ + + const Config = imports.misc.config; + ++imports.gi.GIRepository.Repository.prepend_search_path('@typelibPath@'); ++ + imports.gi.versions.Clutter = Config.LIBMUTTER_API_VERSION; + imports.gi.versions.GLib = '2.0'; + imports.gi.versions.GPaste = '1.0'; +--- a/src/gnome-shell/prefs.js ++++ b/src/gnome-shell/prefs.js +@@ -7,6 +7,8 @@ + + const Gettext = imports.gettext; + ++imports.gi.GIRepository.Repository.prepend_search_path('@typelibPath@'); ++ + const GPaste = imports.gi.GPaste; + + const ExtensionUtils = imports.misc.extensionUtils; +--- a/src/libgpaste/settings/gpaste-settings.c ++++ b/src/libgpaste/settings/gpaste-settings.c +@@ -22,6 +22,8 @@ + + typedef struct + { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; + GSettings *settings; + GSettings *shell_settings; + +@@ -919,6 +921,8 @@ + { + g_signal_handler_disconnect (settings, priv->c_signals[C_CHANGED]); + g_clear_object (&priv->settings); ++ g_settings_schema_unref (priv->schema); ++ g_settings_schema_source_unref (priv->schema_source); + } + + if (shell_settings) +@@ -1000,7 +1004,11 @@ + g_paste_settings_init (GPasteSettings *self) + { + GPasteSettingsPrivate *priv = g_paste_settings_get_instance_private (self); +- GSettings *settings = priv->settings = g_settings_new (G_PASTE_SETTINGS_NAME); ++ ++ // library used by introspection requires schemas but we cannot set XDG_DATA_DIRS for the library ++ GSettingsSchemaSource *schema_source = priv->schema_source = g_settings_schema_source_new_from_directory ("@gschemasCompiled@", NULL, FALSE, NULL); ++ priv->schema = g_settings_schema_source_lookup (schema_source, G_PASTE_SETTINGS_NAME, FALSE); ++ GSettings *settings = priv->settings = g_settings_new_full (priv->schema, NULL, NULL); + + priv->history_name = NULL; + priv->launch_ui = NULL; diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix new file mode 100644 index 000000000000..67f2552b4348 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, gtk3, intltool +, gnome3, enchant, isocodes }: + +stdenv.mkDerivation rec { + name = "gtkhtml-${version}"; + version = "4.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gtkhtml/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "ca3b6424fb2c7ac5d9cb8fdafb69318fa2e825c9cf6ed17d1e38d9b29e5606c3"; + }; + + passthru = { + updateScript = gnome3.updateScript { packageName = "gtkhtml"; attrPath = "gnome3.gtkhtml"; }; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ gtk3 intltool gnome3.adwaita-icon-theme + gnome3.gsettings-desktop-schemas ]; + + propagatedBuildInputs = [ enchant isocodes ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = gnome3.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix new file mode 100644 index 000000000000..8d078ea41e78 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, gnome3, meson, ninja, pkgconfig, vala, libssh2 +, gtk-doc, gobject-introspection, libgit2, glib, python3 }: + +stdenv.mkDerivation rec { + name = "libgit2-glib-${version}"; + version = "0.26.4"; + + src = fetchurl { + url = "mirror://gnome/sources/libgit2-glib/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0nhyqas110q7ingw97bvyjdb7v4dzch517dq8sn8c33s8910wqcp"; + }; + + postPatch = '' + for f in meson_vapi_link.py meson_python_compile.py; do + chmod +x $f + patchShebangs $f + done + ''; + + passthru = { + updateScript = gnome3.updateScript { packageName = "libgit2-glib"; attrPath = "gnome3.libgit2-glib"; }; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig vala gtk-doc gobject-introspection + ]; + + propagatedBuildInputs = [ + # Required by libgit2-glib-1.0.pc + libgit2 glib + ]; + + buildInputs = [ + libssh2 + python3.pkgs.pygobject3 # this should really be a propagated input of python output + ]; + + meta = with stdenv.lib; { + description = "A glib wrapper library around the libgit2 git access library"; + homepage = https://wiki.gnome.org/Projects/Libgit2-glib; + license = licenses.lgpl21; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix new file mode 100644 index 000000000000..3776a9adbf2c --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pkgconfig, glib, gtk3, libgee, intltool, gnome3 +, libintl }: + +let + pname = "libgnome-games-support"; + version = "1.4.3"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0g6a1vvhrbs0pfnzjfg3lgqvppwkydn6j3dn713zhrjhma9pljkh"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + buildInputs = [ libintl ]; + propagatedBuildInputs = [ + # Required by libgnome-games-support-1.pc + glib gtk3 libgee + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + meta = with stdenv.lib; { + description = "Small library intended for internal use by GNOME Games, but it may be used by others"; + homepage = https://wiki.gnome.org/Apps/Games; + license = licenses.lgpl3; + maintainers = gnome3.maintainers; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/libmediaart/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/libmediaart/default.nix new file mode 100644 index 000000000000..fac5db943871 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/libmediaart/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, gobject-introspection, gnome3 }: + +let + pname = "libmediaart"; + version = "1.9.4"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "a57be017257e4815389afe4f58fdacb6a50e74fd185452b23a652ee56b04813d"; + }; + + nativeBuildInputs = [ pkgconfig gobject-introspection ]; + buildInputs = [ glib gdk_pixbuf ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + versionPolicy = "none"; + }; + }; + + meta = with stdenv.lib; { + description = "Library tasked with managing, extracting and handling media art caches"; + maintainers = gnome3.maintainers; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix new file mode 100644 index 000000000000..86e12b585364 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix @@ -0,0 +1,70 @@ +{ stdenv +, fetchurl +, gettext +, glib +, gnome3 +, gsettings-desktop-schemas +, gtk +, libcanberra-gtk3 +, libgtop +, libstartup_notification +, libxml2 +, pkgconfig +, substituteAll +, wrapGAppsHook +, zenity }: + +let + pname = "metacity"; + version = "3.30.1"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "12kr472gblx7jxh9rvnamy09bkg29ms2pgc0c3373piqmavi24qg"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit zenity; + }) + ]; + + nativeBuildInputs = [ + gettext + libxml2 + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + glib + gsettings-desktop-schemas + gtk + libcanberra-gtk3 + libgtop + libstartup_notification + zenity + ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + attrPath = "gnome3.${pname}"; + }; + }; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Window manager used in Gnome Flashback"; + homepage = https://wiki.gnome.org/Projects/Metacity; + license = licenses.gpl2; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/fix-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/fix-paths.patch new file mode 100644 index 000000000000..ff3a244e67d9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/src/core/util.c ++++ b/src/core/util.c +@@ -424,7 +424,7 @@ + g_slist_length (columns)*2 + + g_slist_length (entries))); + +- argvl[i++] = "zenity"; ++ argvl[i++] = "@zenity@/bin/zenity"; + argvl[i++] = type; + argvl[i++] = "--display"; + argvl[i++] = display; diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/pidgin/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/pidgin/default.nix new file mode 100644 index 000000000000..c11fdfa6099e --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/pidgin/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation rec { + version = "1.0.1"; + basename = "pidgin-im-gnome-shell-extension"; + name = "${basename}-${version}"; + + src = fetchFromGitHub { + owner = "muffinmad"; + repo = "${basename}"; + rev = "v${version}"; + sha256 = "1567s2sfqig4jw0nrn134f5vkx0yq31q044grv3xk4vpl1f3z2lr"; + }; + + buildInputs = [ glib ]; + + configurePhase = ""; + buildPhase = ""; + installPhase = '' + share_dir="$prefix/share" + extensions_dir="$share_dir/gnome-shell/extensions/pidgin@muffinmad" + mkdir -p "$extensions_dir" + mv *.js metadata.json dbus.xml gnome-shell-extension-pidgin.pot "$extensions_dir" + + schemas_dir="$share_dir/gsettings-schemas/${name}/glib-2.0/schemas" + mkdir -p "$schemas_dir" + mv schemas/* "$schemas_dir" # fix Emacs syntax highlighting: */ + glib-compile-schemas "$schemas_dir" + + locale_dir="$share_dir/locale" + mkdir -p "$locale_dir" + mv locale/* $locale_dir # fix Emacs syntax highlighting: */ + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/muffinmad/pidgin-im-gnome-shell-extension; + description = "Make Pidgin IM conversations appear in the Gnome Shell message tray"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix new file mode 100644 index 000000000000..0a9b9bcfe9be --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/misc/pomodoro/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, fetchpatch, autoconf-archive, appstream-glib, intltool, pkgconfig, libtool, wrapGAppsHook, + dbus-glib, libcanberra, gst_all_1, vala, gnome3, gtk3, libxml2, autoreconfHook, + glib, gobject-introspection, libpeas +}: + +stdenv.mkDerivation rec { + version = "0.13.4"; + name = "gnome-shell-pomodoro-${version}"; + + src = fetchFromGitHub { + owner = "codito"; + repo = "gnome-pomodoro"; + rev = "${version}"; + sha256 = "0fiql99nhj168wbfhvzrhfcm4c4569gikd2zaf10vzszdqjahrl1"; + }; + + patches = [ + # build with Vala ≥ 0.42 + (fetchpatch { + url = https://github.com/codito/gnome-pomodoro/commit/36778823ca5bd94b2aa948e5d8718f84d99d9af0.patch; + sha256 = "0a9x0p5wny3an9xawam9nhpffw5m4kgwj5jvv0g6c2lwlfzrx2rh"; + }) + ]; + + nativeBuildInputs = [ + autoreconfHook vala autoconf-archive libtool intltool appstream-glib + wrapGAppsHook pkgconfig libxml2 + ]; + + buildInputs = [ + glib gobject-introspection libpeas + dbus-glib libcanberra gst_all_1.gstreamer + gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good + gnome3.gsettings-desktop-schemas + gnome3.gnome-shell gtk3 gnome3.defaultIconTheme + ]; + + meta = with stdenv.lib; { + homepage = http://gnomepomodoro.org/; + description = "A time management utility for GNOME based on the pomodoro technique"; + longDescription = '' + This GNOME utility helps to manage time according to Pomodoro Technique. + It intends to improve productivity and focus by taking short breaks. + ''; + maintainers = with maintainers; [ jgeerds ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} |