diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-02-24 01:09:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-02-24 01:09:00 +0000 |
commit | 072c01a28f865e9487df09aed7ddff328252fb36 (patch) | |
tree | 6df6e652915940255f294ed8998cce1c4c7c2d40 /nixpkgs/pkgs/desktops/pantheon/services | |
parent | 024b46ff20027c15322e5d868ecec42632556d4b (diff) | |
parent | 969cff2691a02b3d7e5468beda26c482d8986644 (diff) | |
download | nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.gz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.bz2 nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.lz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.xz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.zst nixlib-072c01a28f865e9487df09aed7ddff328252fb36.zip |
Merge commit '969cff2691a02b3d7e5468beda26c482d8986644'
Diffstat (limited to 'nixpkgs/pkgs/desktops/pantheon/services')
9 files changed, 445 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix new file mode 100644 index 000000000000..59983469c114 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/cerbere/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja, glib, libgee, vala, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "cerbere"; + version = "0.2.4"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0f9jr6q5z6nir5b77f96wm9rx6r6s9i0sr1yrymg3n7jyjgrvdwp"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + glib + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "A simple service to ensure uptime of essential processes"; + homepage = https://github.com/elementary/cerbere; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix new file mode 100644 index 000000000000..a979b1341954 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/contractor/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, python3, ninja, pkgconfig, vala, glib, libgee, dbus, glib-networking, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "contractor"; + version = "0.3.4"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1jzqv7pglhhyrkj1pfk1l624zn1822wyl5dp6gvwn4sk3iqxwwhl"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + dbus + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + ]; + + buildInputs = [ + glib + glib-networking + libgee + ]; + + PKG_CONFIG_DBUS_1_SESSION_BUS_SERVICES_DIR = "share/dbus-1/services"; + + meta = with stdenv.lib; { + description = "A desktop-wide extension service used by elementary OS"; + homepage = https://github.com/elementarycontractor; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix new file mode 100644 index 000000000000..e77948ccf295 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja, vala +, desktop-file-utils, gtk3, granite, libgee, gcr, webkitgtk, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "capnet-assist"; + version = "2.2.3"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "15cnwimkmmsb4rwvgm8bizcsn1krsj6k3qc88izn79is75y6wwji"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + gcr + granite + gtk3 + libgee + webkitgtk + ]; + + # Not useful here or in elementary - See: https://github.com/elementary/capnet-assist/issues/3 + patches = [ ./remove-capnet-test.patch ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "A small WebKit app that assists a user with login when a captive portal is detected"; + homepage = https://github.com/elementary/capnet-assist; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/remove-capnet-test.patch b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/remove-capnet-test.patch new file mode 100644 index 000000000000..a59c74f22b3b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-capnet-assist/remove-capnet-test.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 46c594b..ba0ea10 100644 +--- a/meson.build ++++ b/meson.build +@@ -33,8 +33,3 @@ meson.add_install_script('meson/post_install.py') + + subdir('data') + subdir('po') +- +-install_data( +- '90captive_portal_test', +- install_dir: join_paths(get_option('sysconfdir'), 'NetworkManager', 'dispatcher.d') +-) diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix new file mode 100644 index 000000000000..4dab02d50834 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchFromGitHub, pantheon, makeWrapper, lib, meson, ninja, desktop-file-utils, glib, coreutils, elementary-settings-daemon, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "dpms-helper"; + version = "1.0"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0svfp0qyb6nx4mjl3jx4aqmb4x24m25jpi75mdis3yfr3c1xz9nh"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + makeWrapper + meson + ninja + wrapGAppsHook + ]; + + buildInputs = [ + elementary-settings-daemon + glib + ]; + + preFixup = '' + gappsWrapperArgs+=(--prefix PATH : "${stdenv.lib.makeBinPath [ glib.dev coreutils ]}") + ''; + + postFixup = '' + substituteInPlace $out/etc/xdg/autostart/io.elementary.dpms-helper.desktop \ + --replace "Exec=io.elementary.dpms-helper" "Exec=$out/bin/io.elementary.dpms-helper" + ''; + + # See: https://github.com/elementary/dpms-helper/pull/10 + postInstall = '' + ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas + ''; + + meta = with stdenv.lib; { + description = "Sets DPMS settings found in org.pantheon.dpms"; + homepage = https://github.com/elementary/dpms-helper; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix new file mode 100644 index 000000000000..99ca20afe988 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -0,0 +1,117 @@ +{ fetchurl, fetchgit, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, perl, gettext, glib, libnotify, lcms2, libXtst +, libxkbfile, libpulseaudio, alsaLib, libcanberra-gtk3, upower, colord, libgweather, polkit +, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libxml2, networkmanager +, docbook_xsl, wrapGAppsHook, python3, ibus, xkeyboard_config, tzdata, nss, pantheon, accountsservice }: + +stdenv.mkDerivation rec { + pname = "elementary-settings-daemon"; + version = "3.30.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-settings-daemon/${stdenv.lib.versions.majorMinor version}/gnome-settings-daemon-${version}.tar.xz"; + sha256 = "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12"; + }; + + # Source for ubuntu's patchset + src2 = fetchgit { + url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-settings-daemon"; + rev = "refs/tags/ubuntu/${version}-1ubuntu1"; + sha256 = "02awkhw6jqm7yh812mw0nsdmsljfi8ksz8mvd2qpns5pcv002g2c"; + }; + + # We've omitted the 53_sync_input_sources_to_accountsservice patch because it breaks the build. + # See: https://gist.github.com/worldofpeace/2f152a20b7c47895bb93239fce1c9f52 + # + # Also omit ubuntu_calculator_snap.patch as that's obviously not useful here. + patches = let patchPath = "${src2}/debian/patches"; in [ + (substituteAll { + src = ./fix-paths.patch; + inherit tzdata; + }) + "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch" + "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch" + "${patchPath}/correct_logout_action.patch" + "${patchPath}/ubuntu-lid-close-suspend.patch" + "${patchPath}/revert-wacom-migration.patch" + "${patchPath}/revert-gsettings-removals.patch" + "${patchPath}/revert-mediakeys-dbus-interface-drop.patch" + "${patchPath}/ubuntu_ibus_configs.patch" + (fetchurl { + url = "https://github.com/elementary/os-patches/raw/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch"; + sha256 = "0kh508ppiv4nvkg30gmw85cljlfq1bvkzhvf1iaxw0snb0mwgsxi"; + }) + ]; + + postPatch = '' + for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do + chmod +x $f + patchShebangs $f + done + ''; + + postFixup = '' + for f in $out/etc/xdg/autostart/*; do mv "$f" "''${f%.desktop}-pantheon.desktop"; done + + for autostart in $(grep -rl "OnlyShowIn=GNOME;" $out/etc/xdg/autostart) + do + echo "Patching OnlyShowIn to Pantheon in: $autostart" + sed -i "s,OnlyShowIn=GNOME;,OnlyShowIn=Pantheon;," $autostart + done + + # This breaks lightlocker https://github.com/elementary/session-settings/commit/b0e7a2867608c3a3916f9e4e21a68264a20e44f8 + rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy-pantheon.desktop + ''; + + nativeBuildInputs = [ + docbook_xsl + gettext + libxml2 + libxslt + meson + ninja + perl + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = with gnome3; [ + accountsservice + alsaLib + colord + geoclue2 + geocode-glib + glib + gnome-desktop + gsettings-desktop-schemas + gtk + ibus + lcms2 + libXtst + libcanberra-gtk3 + libgudev + libgweather + libnotify + libpulseaudio + librsvg + libwacom + libxkbfile + networkmanager + nss + polkit + udev + upower + xf86_input_wacom + xkeyboard_config + ]; + + mesonFlags = [ + "-Dudev_dir=${placeholder "out"}/lib/udev" + ]; + + meta = with stdenv.lib; { + license = licenses.gpl2Plus; + maintainers = pantheon.maintainers; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch new file mode 100644 index 000000000000..2229302cab7c --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch @@ -0,0 +1,15 @@ +--- a/plugins/datetime/tz.h ++++ b/plugins/datetime/tz.h +@@ -27,11 +27,7 @@ + + #include <glib.h> + +-#ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" +-#else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" +-#endif ++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + + typedef struct _TzDB TzDB; + typedef struct _TzLocation TzLocation; diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix new file mode 100644 index 000000000000..2487c4ba3af4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, fetchpatch, pantheon, pkgconfig, meson, ninja, vala, glib +, gtk3, libgee, desktop-file-utils, geoclue2, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "pantheon-agent-geoclue2"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0fww65dnbg9zn0gy1q2db39kjra50ykzw05pmn9iwxkijyxi8hm5"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + geoclue2 + gtk3 + libgee + ]; + + # This should be provided by a post_install.py script - See -> https://github.com/elementary/pantheon-agent-geoclue2/pull/21 + postInstall = '' + ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas + ''; + + meta = with stdenv.lib; { + description = "Pantheon Geoclue2 Agent"; + homepage = https://github.com/elementary/pantheon-agent-geoclue2; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix new file mode 100644 index 000000000000..4fdaa4a8bf9f --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja +, vala, gtk3, libgee, polkit, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "pantheon-agent-polkit"; + version = "0.1.6"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1g9l2jzpvv0dbvxh93w98a7ijsfqv3s3382li4s256179gihhd67"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + libgee + polkit + ]; + + meta = with stdenv.lib; { + description = "Polkit Agent for the Pantheon Desktop"; + homepage = https://github.com/elementary/pantheon-agent-polkit; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} |