diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops')
148 files changed, 4988 insertions, 459 deletions
diff --git a/nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix b/nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix index 4eac01b666ae..ea2f06aae607 100644 --- a/nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix +++ b/nixpkgs/pkgs/desktops/deepin/deepin-wm/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3, - bamf, clutter-gtk, granite, libcanberra-gtk3, libwnck3, + bamf, clutter-gtk, pantheon, libcanberra-gtk3, libwnck3, deepin-mutter, deepin-wallpapers, deepin-desktop-schemas, hicolor-icon-theme, deepin }: @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { gnome3.libgee bamf clutter-gtk - granite + pantheon.granite libcanberra-gtk3 libwnck3 deepin-mutter diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix index dc598267c4b4..310f8ccb63b9 100644 --- a/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix +++ b/nixpkgs/pkgs/desktops/gnome-3/apps/evolution/default.nix @@ -5,13 +5,13 @@ , libcanberra-gtk3, bogofilter, gst_all_1, procps, p11-kit, openldap }: let - version = "3.30.4"; + version = "3.30.5"; in stdenv.mkDerivation rec { name = "evolution-${version}"; src = fetchurl { url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "10dy08xpizvvj7r8xgs3lr6migm3ipr199yryqz7wgkycq6nf53b"; + sha256 = "1hhxj3rh921pp3l3c5k33bdypcas1p66krzs65k1qn82c5fpgl2h"; }; propagatedUserEnvPkgs = [ gnome3.evolution-data-server ]; diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix index 283101247181..c8ca0016d57d 100644 --- a/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix +++ b/nixpkgs/pkgs/desktops/gnome-3/core/epiphany/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "epiphany-${version}"; - version = "3.30.2"; + version = "3.30.3"; src = fetchurl { url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0141bb37nd8wc743g4wy491crjh6ig76ack07aj2ba4z3gjz2zlc"; + sha256 = "05qdzx18ld1m3xiajpz6y6snfj56bgyjsgm7f4rqrnpjdbdvikbn"; }; # Tests need an X display diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix index d244dc08ebee..a27bc2cc9ae5 100644 --- a/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "evolution-data-server-${version}"; - version = "3.30.4"; + version = "3.30.5"; outputs = [ "out" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1j8lwl04zz59sg7k3hpkzp829z8xyd1isz8xavm9vzxfvw5w776y"; + sha256 = "1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli"; }; patches = [ @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; inherit tzdata; }) + ./hardcode-gsettings.patch ]; nativeBuildInputs = [ @@ -41,6 +42,10 @@ stdenv.mkDerivation rec { "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include" ]; + postPatch = '' + substituteInPlace src/libedataserver/e-source-registry.c --subst-var-by ESD_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas + ''; + passthru = { updateScript = gnome3.updateScript { diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch new file mode 100644 index 000000000000..8b64b3df8015 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch @@ -0,0 +1,36 @@ +diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c +index 9c166dbaf..ef368f8d4 100644 +--- a/src/libedataserver/e-source-registry.c ++++ b/src/libedataserver/e-source-registry.c +@@ -116,6 +116,8 @@ struct _ESourceRegistryPrivate { + GHashTable *sources; + GMutex sources_lock; + ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; + GSettings *settings; + + gboolean initialized; +@@ -1339,7 +1341,11 @@ source_registry_dispose (GObject *object) + if (priv->settings != NULL) { + g_signal_handlers_disconnect_by_data (priv->settings, object); + g_object_unref (priv->settings); ++ g_settings_schema_unref (priv->schema); ++ g_settings_schema_source_unref (priv->schema_source); + priv->settings = NULL; ++ priv->schema = NULL; ++ priv->schema_source = NULL; + } + + /* Chain up to parent's finalize() method. */ +@@ -1743,7 +1749,9 @@ e_source_registry_init (ESourceRegistry *registry) + + g_mutex_init (®istry->priv->sources_lock); + +- registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA); ++ GSettingsSchemaSource *schema_source = registry->priv->schema_source = g_settings_schema_source_new_from_directory ("@ESD_GSETTINGS_PATH@", g_settings_schema_source_get_default (), TRUE, NULL); ++ registry->priv->schema = g_settings_schema_source_lookup (schema_source, GSETTINGS_SCHEMA, FALSE); ++ registry->priv->settings = g_settings_new_full (registry->priv->schema, NULL, NULL); + + g_signal_connect ( + registry->priv->settings, "changed", diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index f1423f883d4e..58afc0ab85d0 100644 --- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -4,7 +4,7 @@ , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk , cracklib, libkrb5, networkmanagerapplet, networkmanager, glibc , libwacom, samba, shared-mime-info, tzdata, libtool, libgnomekbd -, docbook_xsl, modemmanager, clutter, clutter-gtk, cheese +, docbook_xsl, modemmanager, clutter, clutter-gtk, cheese, gnome-session , fontconfig, sound-theme-freedesktop, grilo, python3 }: let @@ -46,6 +46,10 @@ in stdenv.mkDerivation rec { patchShebangs build-aux/meson/meson_post_install.py ''; + mesonFlags = [ + "-Dgnome_session_libexecdir=${gnome-session}/libexec" + ]; + preFixup = '' gappsWrapperArgs+=( --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix index dca598ce3141..8e5cf198d9db 100644 --- a/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix +++ b/nixpkgs/pkgs/desktops/gnome-3/games/gnome-chess/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "gnome-chess-${version}"; - version = "3.30.0"; + version = "3.30.1"; src = fetchurl { url = "mirror://gnome/sources/gnome-chess/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "153wwh0861qfg53myyc3iwlqm989lbhdrlmsxaibmkxv3pgpl7ma"; + sha256 = "1gzdm6z54kxx06lh616g33klrp4dby2a68wxvjpsavdll28kgwgl"; }; nativeBuildInputs = [ meson ninja vala pkgconfig gettext itstool libxml2 python3 wrapGAppsHook gobject-introspection ]; diff --git a/nixpkgs/pkgs/desktops/gnustep/base/default.nix b/nixpkgs/pkgs/desktops/gnustep/base/default.nix index 9d1606ea6b7f..e96dbf0b6fc5 100644 --- a/nixpkgs/pkgs/desktops/gnustep/base/default.nix +++ b/nixpkgs/pkgs/desktops/gnustep/base/default.nix @@ -11,13 +11,13 @@ , pkgconfig, portaudio }: let - version = "1.25.1"; + version = "1.26.0"; in gsmakeDerivation { name = "gnustep-base-${version}"; src = fetchurl { url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${version}.tar.gz"; - sha256 = "17mnilg28by74wc08nkwp6gi06x3j2nrcf05wg64nrw5ljffp2zj"; + sha256 = "0ws16rwqx0qvqpyjsxbdylfpkgjr19nqc9i3b30wywqcqrkc12zn"; }; nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ diff --git a/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix b/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix index 9c36b523207f..479491b35d80 100644 --- a/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt, libconfig }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt, + libconfig }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "compton-conf"; - version = "0.4.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1r187fx1vivzq1gcwwawax36mnlmfig5j1ba4s4wfdi3q2wcq7mw"; + sha256 = "1vxbh0vr7wknr7rbmdbmy5md1fdkw3zwlgpbv16cwdplbv9m97xi"; }; nativeBuildInputs = [ @@ -24,8 +24,6 @@ stdenv.mkDerivation rec { libconfig ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - preConfigure = '' substituteInPlace autostart/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \ diff --git a/nixpkgs/pkgs/desktops/lxqt/default.nix b/nixpkgs/pkgs/desktops/lxqt/default.nix index 62b8aaf25abe..db21a72cb9b1 100644 --- a/nixpkgs/pkgs/desktops/lxqt/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/default.nix @@ -18,7 +18,6 @@ let lxqt-admin = callPackage ./lxqt-admin { }; lxqt-config = callPackage ./lxqt-config { }; lxqt-globalkeys = callPackage ./lxqt-globalkeys { }; - lxqt-l10n = callPackage ./lxqt-l10n { }; lxqt-notificationd = callPackage ./lxqt-notificationd { }; lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass { }; lxqt-policykit = callPackage ./lxqt-policykit { }; @@ -29,8 +28,6 @@ let lxqt-themes = callPackage ./lxqt-themes { }; pavucontrol-qt = libsForQt5.callPackage ./pavucontrol-qt { }; qtermwidget = callPackage ./qtermwidget { }; - # for now keep version 0.7.1 because virt-manager-qt currently does not compile with qtermwidget-0.8.0 - qtermwidget_0_7_1 = callPackage ./qtermwidget/0.7.1.nix { }; ### CORE 2 lxqt-panel = callPackage ./lxqt-panel { }; @@ -70,7 +67,6 @@ let lxqt-admin lxqt-config lxqt-globalkeys - lxqt-l10n lxqt-notificationd lxqt-openssh-askpass lxqt-policykit diff --git a/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix index 4c187f1a07c5..70675e1408cf 100644 --- a/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix @@ -5,15 +5,14 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "libfm-qt"; - version = "0.13.1"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1g8j1lw74qvagqhqsx45b290fjwh3jfl3i0366m0w4la03v0rw5j"; + sha256 = "1siqqn4waglymfi7c7lrmlxkylddw8qz0qfwqxr1hnmx3dsj9c36"; }; nativeBuildInputs = [ @@ -34,8 +33,6 @@ stdenv.mkDerivation rec { menu-cache ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - meta = with stdenv.lib; { description = "Core library of PCManFM-Qt (Qt binding for libfm)"; homepage = https://github.com/lxqt/libfm-qt; diff --git a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix index 0762dbad3f87..1b19275ece92 100644 --- a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix @@ -2,15 +2,14 @@ qttools, qtsvg, libqtxdg, polkit-qt, kwindowsystem, xorg }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "liblxqt"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1lbvnx6gg15k7fy1bnv5sjji659f603glblcl8c9psh0m1cjdbll"; + sha256 = "1cpl6sd2fifpflahm8fvrrscrv03sinfm03m7yc1k59y6nsbwi36"; }; nativeBuildInputs = [ @@ -29,13 +28,14 @@ stdenv.mkDerivation rec { ]; cmakeFlags = [ - "-DPULL_TRANSLATIONS=NO" "-DLXQT_ETC_XDG_DIR=/run/current-system/sw/etc/xdg" ]; - patchPhase = '' + postPatch = '' sed -i 's|set(LXQT_SHARE_DIR .*)|set(LXQT_SHARE_DIR "/run/current-system/sw/share/lxqt")|' CMakeLists.txt sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt + substituteInPlace CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix index 0b23fb2d04f5..852c4bddec83 100644 --- a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchFromGitHub, cmake, qt5 }: +{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg }: stdenv.mkDerivation rec { - name = "libqtxdg-${version}"; - version = "3.2.0"; + pname = "libqtxdg"; + version = "3.3.0"; src = fetchFromGitHub { owner = "lxqt"; - repo = "libqtxdg"; + repo = pname; rev = version; - sha256 = "0lkmwnqk314mlr811rdb96p6i7zg67slxdvd4cdkiwakgbzzaa4m"; + sha256 = "0qgqqgy15h0d1fwk4mnbv2hirz8njjjlng64bv33rc6wwrsaa50b"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ qt5.qtbase qt5.qtsvg ]; + buildInputs = [ qtbase qtsvg ]; preConfigure = '' cmakeFlagsArray+=( diff --git a/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix b/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix index 2e6b79f9769a..74fa1b03fa6b 100644 --- a/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchFromGitHub, cmake, qt5, lxqt }: +{ stdenv, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }: stdenv.mkDerivation rec { - name = "libsysstat-${version}"; - version = "0.4.1"; + pname = "libsysstat"; + version = "0.4.2"; src = fetchFromGitHub { owner = "lxqt"; - repo = "libsysstat"; + repo = pname; rev = version; - sha256 = "0ad5pcr5lq1hvrfijvddvz2fvsmh1phb54wb0f756av0kyiwq0gb"; + sha256 = "10h9n7km7yx8bnmzxi4nn1yqq03hizjkrx4745j0mczy7niiffsz"; }; - nativeBuildInputs = [ cmake lxqt.lxqt-build-tools ]; + nativeBuildInputs = [ cmake lxqt-build-tools ]; - buildInputs = [ qt5.qtbase ]; + buildInputs = [ qtbase ]; meta = with stdenv.lib; { description = "Library used to query system info and statistics"; diff --git a/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix index 7f80e56bc7d2..a0a83ad3469a 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, xorg, lxqt-build-tools, libfm-qt, libexif }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, + qtx11extras, qtsvg, xorg, lxqt-build-tools, libfm-qt, libexif }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lximage-qt"; - version = "0.7.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1slmaic9cmj5lqa5kwc1qfbbycwh8840wnkg0nxc99ls0aazlpzi"; + sha256 = "0zx9903ym5a9zk4m9khr22fj5sy57mg2v8wnk177wjm11lhic5v8"; }; nativeBuildInputs = [ @@ -19,18 +19,16 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - qt5.qtbase - qt5.qttools - qt5.qtx11extras - qt5.qtsvg + qtbase + qttools + qtx11extras + qtsvg libfm-qt xorg.libpthreadstubs xorg.libXdmcp libexif ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - meta = with stdenv.lib; { description = "The image viewer and screenshot tool for lxqt"; homepage = https://github.com/lxqt/lximage-qt; diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix index e109a4f0944c..013be8eea4f9 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-about"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "03f53rnn4rkd1xc2q9abnw37aq4sgvpbwhmcnckqyzc87lj6ici0"; + sha256 = "14b13v1r5ncz4ycg25ac9ppafiifc37qws8kcw078if72rp9n121"; }; nativeBuildInputs = [ @@ -26,7 +25,10 @@ stdenv.mkDerivation rec { libqtxdg ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + ''; meta = with stdenv.lib; { description = "Dialogue window providing information about LXQt and the system it's running on"; diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix index a92c352087e8..528f9a390f92 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-admin"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1nsf8sbgmfanvcxw67drhz1wrizkcd0p87jwr1za5rcgd50bi2yy"; + sha256 = "0sdb514hgha5yvmbzi6nm1yx1rmbkh5fam09ybidjwpdwl2l4pxx"; }; nativeBuildInputs = [ @@ -27,12 +26,15 @@ stdenv.mkDerivation rec { polkit-qt ]; - patchPhase = '' + postPatch = '' sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \ -i lxqt-admin-user/CMakeLists.txt - ''; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + for f in lxqt-admin-{user,time}/CMakeLists.txt; do + substituteInPlace $f \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + done + ''; meta = with stdenv.lib; { description = "LXQt system administration tool"; diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix index 46f904d0ec7f..f55fa579ff45 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qt5, glib }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, glib }: stdenv.mkDerivation rec { - name = "lxqt-build-tools-${version}"; - version = "0.5.0"; + pname = "lxqt-build-tools"; + version = "0.6.0"; src = fetchFromGitHub { owner = "lxqt"; - repo = "lxqt-build-tools"; + repo = pname; rev = version; - sha256 = "0dcwzrijmn4sgivmy2zwz3xa4y69pwhranyw0m90g0pp55di2psz"; + sha256 = "0i7m9s4g5rsw28vclc9nh0zcapx85cqfwxkx7rrw7wa12svy7pm2"; }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ qt5.qtbase glib pcre ]; + buildInputs = [ qtbase glib pcre ]; preConfigure = ''cmakeFlags+=" -DLXQT_ETC_XDG_DIR=$out/etc/xdg"''; diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix index 3a167996ddb2..d2c583b53fa9 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix @@ -1,15 +1,16 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt, libqtxdg, xorg }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, + qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt, + libqtxdg, xorg }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-config"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0r5vwkyz0c9b9py3wni4yzkmsvgs6psk9dp1fhfzvbjbknb21bfa"; + sha256 = "1pp2pw43zh8kwi2cxk909wn6bw7kba95b6bv96l2gmzhdqpfw2a7"; }; nativeBuildInputs = [ @@ -32,13 +33,29 @@ stdenv.mkDerivation rec { xorg.libXScrnSaver xorg.libxcb xorg.libXcursor + xorg.xf86inputlibinput + xorg.xf86inputlibinput.dev ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' substituteInPlace src/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" + + for f in \ + lxqt-config-file-associations/CMakeLists.txt \ + lxqt-config-brightness/CMakeLists.txt \ + lxqt-config-appearance/CMakeLists.txt \ + lxqt-config-locale/CMakeLists.txt \ + lxqt-config-monitor/CMakeLists.txt \ + lxqt-config-input/CMakeLists.txt \ + liblxqt-config-cursor/CMakeLists.txt \ + src/CMakeLists.txt + do + substituteInPlace $f \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + done + + sed -i "/\''${XORG_LIBINPUT_INCLUDE_DIRS}/a ${xorg.xf86inputlibinput.dev}/include/xorg" lxqt-config-input/CMakeLists.txt ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix index 1877236bcddc..5382be304ae3 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-globalkeys"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1fmi0n5chnrpbgf7zwzc3hi55r85hkxaq5jylbwaahmxhnb5hdid"; + sha256 = "14bfkh54mn3jyq8g9ipy3xmc3n9lmlqpvm26kpqig7567hbncv7n"; }; nativeBuildInputs = [ @@ -27,13 +26,14 @@ stdenv.mkDerivation rec { libqtxdg ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' for dir in autostart xdg; do substituteInPlace $dir/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" done + + substituteInPlace config/CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-l10n/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-l10n/default.nix deleted file mode 100644 index 9a79ec16df09..000000000000 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-l10n/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, qt5, lxqt }: - -stdenv.mkDerivation rec { - name = "lxqt-l10n-${version}"; - version = "0.13.0"; - - src = fetchFromGitHub { - owner = "lxqt"; - repo = "lxqt-l10n"; - rev = version; - sha256 = "0q1hzj6sa4wc8sgqqqsqfldjpnvihacfq73agvc2li3q6qi5rr0k"; - }; - - nativeBuildInputs = [ - cmake - qt5.qttools - lxqt.lxqt-build-tools - ]; - - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "\''${LXQT_TRANSLATIONS_DIR}" "$out"/share/lxqt/translations - ''; - - meta = with stdenv.lib; { - description = "Translations of LXQt"; - homepage = https://github.com/lxqt/lxqt-l10n; - license = licenses.lgpl21Plus; - platforms = with platforms; unix; - maintainers = with maintainers; [ romildo ]; - }; -} diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix index 32a3c408258c..53826f62bccf 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-notificationd"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0vjpl3ipc0hrz255snkp99h6xrlid490ml8jb588rdpfina66sp1"; + sha256 = "1nawcxy2qnrngcxvwjwmmh4fn7mhnfgy1g77rn90243jvy29wv5f"; }; nativeBuildInputs = [ @@ -20,6 +19,11 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace autostart/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" + + for f in {config,src}/CMakeLists.txt; do + substituteInPlace $f \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + done ''; buildInputs = [ @@ -32,8 +36,6 @@ stdenv.mkDerivation rec { qtx11extras ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - meta = with stdenv.lib; { description = "The LXQt notification daemon"; homepage = https://github.com/lxqt/lxqt-notificationd; diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix index 56ea7ec72418..f880aed63f8a 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-openssh-askpass"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "19djmqwk4kj3rxs4h7a471ydcz87j5z4yv8a6pgblvqdkkn0ylk9"; + sha256 = "19xcc6i7jg35780r4dfg4vwfp9x4pz5sqzagxnpzspz61jaj5ibv"; }; nativeBuildInputs = [ @@ -27,7 +26,10 @@ stdenv.mkDerivation rec { libqtxdg ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + ''; meta = with stdenv.lib; { description = "GUI to query passwords on behalf of SSH agents"; diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix index 8cdbf9f9365a..f691357f25f6 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix @@ -8,15 +8,14 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-panel"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "056khr3smyrdi26zpclwv1qrmk0zxr9cnk65ad9c0xavzk6ya3xz"; + sha256 = "0jr7ylf6d35m0ckn884arjk4armknnw8iyph00gcphn5bqycbn8l"; }; nativeBuildInputs = [ @@ -50,8 +49,6 @@ stdenv.mkDerivation rec { libXdamage ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' for dir in autostart menu; do substituteInPlace $dir/CMakeLists.txt \ @@ -59,6 +56,11 @@ stdenv.mkDerivation rec { done substituteInPlace panel/CMakeLists.txt \ --replace "DESTINATION \''${LXQT_ETC_XDG_DIR}" "DESTINATION etc/xdg" + + for f in cmake/BuildPlugin.cmake panel/CMakeLists.txt; do + substituteInPlace $f \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + done ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix index dcf46d09b732..862e0c08cedf 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix @@ -5,15 +5,14 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-policykit"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1m9v4hl1hyd8rmlh6z2zy6287qfnavsm9khl526jf8f7bjgpifvd"; + sha256 = "05k39819nsdyg2pp1vk6g2hdpxqp78h6bhb0hp5rclf9ap5fpvvc"; }; nativeBuildInputs = [ @@ -34,11 +33,12 @@ stdenv.mkDerivation rec { pcre ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' substituteInPlace autostart/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" + + substituteInPlace CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix index 3b56a489bee5..9ebff5d4de58 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-powermanagement"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "04mx1nxqqqjg3wsql4ch4j1a4cbqfvpq0iwi6b9yhaf04n0dwrvn"; + sha256 = "08xdnb54lji09izzzfip8fw0gp17qkx66jm6i04zby4whx4mqniv"; }; nativeBuildInputs = [ @@ -29,11 +28,14 @@ stdenv.mkDerivation rec { libqtxdg ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' substituteInPlace autostart/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" + + for f in {config,src}/CMakeLists.txt; do + substituteInPlace $f \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + done ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix index 972d0a3cb379..82f393cf8d52 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix @@ -5,15 +5,14 @@ }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-qtplugin"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "19y5dvbj7gwyh8glc6vi6hb5snvkd3jwvss6j0sn2sy2gp9g9ryb"; + sha256 = "16n50lxnya03zcviw65sy5dyg9dsrn64k91mrqfvraf6d90md4al"; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix index c0ce6321f6e9..dc2d8c58cafe 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix @@ -2,15 +2,14 @@ menu-cache, muparser, pcre }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-runner"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0w6r9lby35p0lf5klasa5l2lscx6dmv16kzfhl4lc6w2qfwjb9vi"; + sha256 = "1qyacig9ksnjrhws8cpk6arlaxn7kl0z39l3c62ql3m89mibsm88"; }; nativeBuildInputs = [ @@ -33,11 +32,12 @@ stdenv.mkDerivation rec { pcre ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' substituteInPlace autostart/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" + + substituteInPlace CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix index e369880b2b4e..5b4d7b606c75 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-session"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0ngcrkmfpahii4yibsh03b8v8af93hhqm42kk1nnhczc8dg49mhs"; + sha256 = "0nla1ki23p1bwzw5hbmh9l8yg3b0f55kflgnvyfakmvpivjbz3k6"; }; nativeBuildInputs = [ @@ -31,13 +30,16 @@ stdenv.mkDerivation rec { xdg-user-dirs ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' for dir in autostart config; do substituteInPlace $dir/CMakeLists.txt \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" done + + for f in lxqt-{config-session,leave,session}/CMakeLists.txt; do + substituteInPlace $f \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + done ''; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix index 4dddd7de09bc..7e3ca84109fd 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-sudo"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1gpn3dhmzabx0jrqxq63549sah03kf6bmdc9d9kmg6hyr5xg3i1h"; + sha256 = "0l8fq06kfsrmvg2fr8lqdsxr6fwxmxsa9zwaa3fs9inzaylm0jkh"; }; nativeBuildInputs = [ @@ -28,7 +27,10 @@ stdenv.mkDerivation rec { sudo ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations" + ''; meta = with stdenv.lib; { description = "GUI frontend for sudo/su"; diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix index 1d2301d4a3bf..02591b9eb86e 100644 --- a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix @@ -1,20 +1,19 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt }: +{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "lxqt-themes"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "026hbblxdbq48n9691b1z1xiak99khsk3wf09vn4iaj5zi7dwhw5"; + sha256 = "09dkcgnf3lmfly8v90p6wjlj5rin83pbailvvpx2jr8a48a8zb9f"; }; nativeBuildInputs = [ cmake - lxqt.lxqt-build-tools + lxqt-build-tools ]; postPatch = '' diff --git a/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix index 5ddb87ab55db..a0d0a973ad7e 100644 --- a/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix @@ -1,28 +1,28 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qt5, xorg, lxqt, openbox, hicolor-icon-theme }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools, + qtx11extras, xorg, lxqt-build-tools, openbox, hicolor-icon-theme }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "obconf-qt"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0mixf35p7b563f77vnikk9b1wqhbdawp723sd30rfql76gkjwjcn"; + sha256 = "00v5w8qr3vs0k91flij9lz7y1cpp2g8ivgnmmm43ymjfiz5j6l27"; }; nativeBuildInputs = [ cmake pkgconfig - lxqt.lxqt-build-tools + lxqt-build-tools ]; buildInputs = [ pcre - qt5.qtbase - qt5.qttools - qt5.qtx11extras + qtbase + qttools + qtx11extras xorg.libpthreadstubs xorg.libXdmcp xorg.libSM @@ -30,8 +30,6 @@ stdenv.mkDerivation rec { hicolor-icon-theme ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - meta = with stdenv.lib; { description = "The Qt port of obconf, the Openbox configuration tool"; homepage = https://github.com/lxqt/obconf-qt; diff --git a/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix index efd5fde16661..dcc3ead31bfd 100644 --- a/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio, pcre, qtbase, qttools, qtx11extras }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio, + pcre, qtbase, qttools, qtx11extras }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "pavucontrol-qt"; - version = "0.4.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1bxqpasfvaagbq8azl7536z2zk2725xg7jkvad5xh95zq1gb4hgk"; + sha256 = "1vyjm6phgbxglk65c889bd73b0p2ffb5bsc89dmb07qzllyrjb4h"; }; nativeBuildInputs = [ @@ -26,8 +26,6 @@ stdenv.mkDerivation rec { pcre ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - meta = with stdenv.lib; { description = "A Pulseaudio mixer in Qt (port of pavucontrol)"; homepage = https://github.com/lxqt/pavucontrol-qt; diff --git a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix index 99dace0e42e6..aa7479b02f83 100644 --- a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix @@ -1,35 +1,33 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qt5, libfm-qt, menu-cache, lxmenu-data }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, qtbase, qttools, + qtx11extras, libfm-qt, menu-cache, lxmenu-data }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "pcmanfm-qt"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "0xnhdxx45fmbi5dqic3j2f7yq01s0xysimafj5zqs0a29zw3i4m0"; + sha256 = "0hf4qyn12mpr6rrla9mf6ka5gb4y36amk7d14ayr7yka1r16p8lz"; }; nativeBuildInputs = [ cmake pkgconfig - lxqt-build-tools + lxqt.lxqt-build-tools ]; buildInputs = [ - qt5.qtbase - qt5.qttools - qt5.qtx11extras + qtbase + qttools + qtx11extras libfm-qt libfm-qt menu-cache lxmenu-data ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - postPatch = '' for dir in autostart config; do substituteInPlace $dir/CMakeLists.txt \ diff --git a/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix b/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix index e09c8bc09d50..f5bdcf064fd8 100644 --- a/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, qt5 }: +{ stdenv, fetchFromGitHub, cmake, qtbase, qttools }: stdenv.mkDerivation rec { name = "${pname}-${version}"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ qt5.qtbase qt5.qttools ]; + buildInputs = [ qtbase qttools ]; meta = with stdenv.lib; { description = "Cross-platform clipboard history applet"; diff --git a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix index a8ee18daf3c1..d46b7e14e33b 100644 --- a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchFromGitHub, cmake, qt5 }: +{ stdenv, fetchFromGitHub, cmake, qtbase, qtx11extras, qttools, + lxqt-build-tools }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "qps"; - version = "1.10.18"; + version = "1.10.19"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1cq5z4w2n119z2bq0njn508g5582jljdx2n38cv5b3cf35k91a49"; + sha256 = "1vyi1vw4z5j2sp9yhhv91wl2sbg4fh0djqslg1ssc7fww2ka6dx3"; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake lxqt-build-tools ]; - buildInputs = [ qt5.qtbase qt5.qtx11extras qt5.qttools ]; + buildInputs = [ qtbase qtx11extras qttools ]; meta = with stdenv.lib; { description = "The Qt process manager"; diff --git a/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix b/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix index 3d5a25634d7c..f9a2e5ff0a14 100644 --- a/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget, qt5 }: +{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget, + qtbase, qttools, qtx11extras }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "qterminal"; - version = "0.9.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "1z9wlyj5i192jfq3dcxjf8wzx9x332f19c9ll7zv69cq21kyy9wn"; + sha256 = "071qz248j9gcqzchnrz8xamm07g4r2xyrmnb0a2vjkjd63pk2r8f"; }; nativeBuildInputs = [ @@ -18,14 +18,12 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - qt5.qtbase - qt5.qttools - qt5.qtx11extras + qtbase + qttools + qtx11extras qtermwidget ]; - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; - meta = with stdenv.lib; { description = "A lightweight Qt-based terminal emulator"; homepage = https://github.com/lxqt/qterminal; diff --git a/nixpkgs/pkgs/desktops/lxqt/qtermwidget/0.7.1.nix b/nixpkgs/pkgs/desktops/lxqt/qtermwidget/0.7.1.nix deleted file mode 100644 index 93c93d2c6ba1..000000000000 --- a/nixpkgs/pkgs/desktops/lxqt/qtermwidget/0.7.1.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, qt5 }: - -stdenv.mkDerivation rec { - name = "${pname}_0_7_1-${version}"; - pname = "qtermwidget"; - version = "0.7.1"; - - srcs = fetchFromGitHub { - owner = "lxqt"; - repo = pname; - rev = version; - sha256 = "0awp33cnkpi9brpx01mz5hwj7j2lq1wdi8cabk3wassd99vvxdxz"; - }; - - nativeBuildInputs = [ cmake ]; - - buildInputs = [ qt5.qtbase ]; - - meta = with stdenv.lib; { - description = "A terminal emulator widget for Qt 5"; - homepage = https://github.com/lxqt/qtermwidget; - license = licenses.gpl2; - platforms = with platforms; unix; - maintainers = with maintainers; [ romildo ]; - }; -} diff --git a/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix b/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix index eae53cefc58b..9e0798ecb52a 100644 --- a/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix @@ -1,22 +1,19 @@ -{ stdenv, fetchFromGitHub, cmake, qt5, lxqt }: +{ stdenv, fetchFromGitHub, cmake, qtbase, qttools, lxqt-build-tools }: stdenv.mkDerivation rec { - name = "${pname}-${version}"; pname = "qtermwidget"; - version = "0.9.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - sha256 = "05gbdjzgmcr3ljs9ba3qvh7a3v6yn6vakwfy8avld9gy5bdd76rg"; + sha256 = "0wv8fssbc2w7kkpq9ngsa8wyjraggdhsbz36gyxyv8fy5m78jq0n"; }; - nativeBuildInputs = [ cmake lxqt.lxqt-build-tools ]; + nativeBuildInputs = [ cmake lxqt-build-tools ]; - buildInputs = [ qt5.qtbase qt5.qttools]; - - cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; + buildInputs = [ qtbase qttools]; meta = with stdenv.lib; { description = "A terminal emulator widget for Qt 5"; diff --git a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix index 8890d3f47808..cc7f113b7d19 100644 --- a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix +++ b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix @@ -1,17 +1,21 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg, autoPatchelfHook }: stdenv.mkDerivation rec { - name = "screengrab-${version}"; - version = "1.98"; + pname = "screengrab"; + version = "1.100"; src = fetchFromGitHub { owner = "lxqt"; - repo = "screengrab"; + repo = pname; rev = version; - sha256 = "1y3r29220z6y457cajpad3pjnr883smbvh0kai8hc5hh4k4kxs6v"; + sha256 = "1iqrmf581x9ab6zzjxm2509gg6fkn7hwril4v0aki7n7dgxw1c4g"; }; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ + cmake + pkgconfig + autoPatchelfHook # fix libuploader.so and libextedit.so not found + ]; buildInputs = [ qtbase diff --git a/nixpkgs/pkgs/desktops/lxqt/update.sh b/nixpkgs/pkgs/desktops/lxqt/update.sh index bad78f7c1fff..f3dfc4d59758 100755 --- a/nixpkgs/pkgs/desktops/lxqt/update.sh +++ b/nixpkgs/pkgs/desktops/lxqt/update.sh @@ -7,7 +7,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")" root=../../.. export NIXPKGS_ALLOW_UNFREE=1 -lxqt_version=0.13.0 +lxqt_version=0.14.0 lxqtrepo=https://downloads.lxqt.org/${lxqt_version}.html version() { @@ -28,7 +28,7 @@ update_lxqt() { local pfile=$(EDITOR=echo nix edit -f. lxqt.$pname 2>/dev/null) update-source-version lxqt.$pname "$pversion" git add $pfile - git commit -m "$pname: $pversionold -> $pversion" + git commit -m "lxqt.$pname: $pversionold -> $pversion" ) fi echo diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix new file mode 100644 index 000000000000..c8ade1c9c35e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig +, meson, ninja, vala, desktop-file-utils, libxml2 +, gtk3, python3, granite, libgee, gobject-introspection +, elementary-icon-theme, appstream, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "calculator"; + version = "1.5.1"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0vc27kjmfkly2jkqjiyzlybxyjqhwal3xrxca5b4abfgb379yswa"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream + desktop-file-utils + gobject-introspection + libxml2 + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/elementary/calculator; + description = "Calculator app designed for elementary OS"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix new file mode 100644 index 000000000000..28983db7f916 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson +, ninja, vala, desktop-file-utils, gtk3, granite, libgee +, geoclue2, libchamplain, clutter, folks, geocode-glib, python3 +, libnotify, libical, evolution-data-server, appstream-glib +, elementary-icon-theme, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "calendar"; + version = "4.2.3"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "100wy8lkp4nrxj57ywyx44ckm3k7n8h5l6av92hr5pyx8fxn9m48"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream-glib + desktop-file-utils + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + clutter + elementary-icon-theme + evolution-data-server + folks + geoclue2 + geocode-glib + granite + gtk3 + libchamplain + libgee + libical + libnotify + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Desktop calendar app designed for elementary OS"; + homepage = https://github.com/elementary/calendar; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix new file mode 100644 index 000000000000..2e90a96411a3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-camera/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala +, desktop-file-utils, python3, gettext, libxml2, gtk3, granite, libgee, gst_all_1 +, libcanberra, clutter-gtk, clutter-gst, elementary-icon-theme, appstream, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "camera"; + version = "1.0.3"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "05rjymflhwbkw8yc57rgi9n7lrhf4dpvfvlifdnazyqn9iiaxc46"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream + desktop-file-utils + gettext + libxml2 + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + clutter-gst + clutter-gtk + elementary-icon-theme + granite + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer + gtk3 + libcanberra + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Camera app designed for elementary OS"; + homepage = https://github.com/elementary/camera; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix new file mode 100644 index 000000000000..0b16c56be3de --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix @@ -0,0 +1,80 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, substituteAll +, python3, glibcLocales, desktop-file-utils, gtk3, granite, libgee, elementary-icon-theme +, appstream, libpeas, editorconfig-core-c, gtksourceview3, gtkspell3, libsoup +, vte, webkitgtk, zeitgeist, ctags, libgit2-glib, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "code"; + version = "3.0.2"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0zmm4a7galrs9phiplf6cygwq3rplghv7r8g47mi4nlndgxqyssg"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream + desktop-file-utils + glibcLocales + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + ctags + elementary-icon-theme + editorconfig-core-c + granite + gtk3 + gtksourceview3 + gtkspell3 + libgee + libgit2-glib + libpeas + libsoup + vte + webkitgtk + zeitgeist + ]; + + # See: https://github.com/elementary/code/pull/626 + LIBRARY_PATH = stdenv.lib.makeLibraryPath [ editorconfig-core-c ]; + + # install script fails with UnicodeDecodeError because of printing a fancy elipsis character + LC_ALL = "en_US.UTF-8"; + + # ctags needed in path by outline plugin + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : "${stdenv.lib.makeBinPath [ ctags ]}" + ) + ''; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Code editor designed for elementary OS"; + homepage = https://github.com/elementary/code; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix new file mode 100644 index 000000000000..3494474c49c5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -0,0 +1,76 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, gettext, vala +, python3, desktop-file-utils, libcanberra, gtk3, libgee, granite, libnotify +, libunity, pango, plank, bamf, sqlite, libdbusmenu-gtk3, zeitgeist, glib-networking +, elementary-icon-theme, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "files"; + version = "4.1.5"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0z0pisg7py2k6i31v18z5fgpj8x64m1s5clfq4vbbjrcjwx6dcx5"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + glib-networking + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + bamf + elementary-icon-theme + granite + gtk3 + libcanberra + libdbusmenu-gtk3 + libgee + libnotify + libunity + pango + plank + sqlite + zeitgeist + ]; + + patches = [ ./hardcode-gsettings.patch ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + + substituteInPlace filechooser-module/FileChooserDialog.vala --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas + ''; + + # xdg.mime will create this + postInstall = '' + rm $out/share/applications/mimeinfo.cache + ''; + + meta = with stdenv.lib; { + description = "File browser designed for elementary OS"; + homepage = https://github.com/elementary/files; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch new file mode 100644 index 000000000000..3191f4e3cb2b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch @@ -0,0 +1,22 @@ +diff --git a/filechooser-module/FileChooserDialog.vala b/filechooser-module/FileChooserDialog.vala +index cb7c3c49..8b1899d1 100644 +--- a/filechooser-module/FileChooserDialog.vala ++++ b/filechooser-module/FileChooserDialog.vala +@@ -57,10 +57,15 @@ public class CustomFileChooserDialog : Object { + chooser_dialog.deletable = false; + chooser_dialog.local_only = false; + +- var settings = new Settings ("io.elementary.files.preferences"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema preferences_schema = sss.lookup ("io.elementary.files.preferences", false); ++ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false); ++ ++ var settings = new Settings.full (preferences_schema, null, null); ++ + is_single_click = settings.get_boolean ("single-click"); + +- var chooser_settings = new Settings ("io.elementary.files.file-chooser"); ++ var chooser_settings = new Settings.full (chooser_schema, null, null); + + assign_container_box (); + remove_gtk_widgets (); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix new file mode 100644 index 000000000000..8bca7b3b6b50 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-music/default.nix @@ -0,0 +1,78 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson +, ninja, vala, desktop-file-utils, libxml2, gtk3, granite +, python3, libgee, clutter-gtk, json-glib, libgda, libgpod +, libnotify, libpeas, libsoup, zeitgeist, gst_all_1, taglib +, libdbusmenu, libsignon-glib, libaccounts-glib +, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "music"; + version = "5.0.2"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "06mpikzdm01r9j7g15b7fgi4lcnp8cc0wmj17dfli5nmncxghx89"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = with gst_all_1; [ + clutter-gtk + elementary-icon-theme + granite + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gstreamer + gtk3 + json-glib + libaccounts-glib + libdbusmenu + libgda + libgee + libgpod + libsignon-glib + libnotify + libpeas + libsoup + taglib + zeitgeist + ]; + + mesonFlags = [ + "-Dplugins=lastfm,audioplayer,cdrom,ipod" + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Music player and library designed for elementary OS"; + homepage = https://github.com/elementary/music; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix new file mode 100644 index 000000000000..21d5b9f1db4c --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-photos/default.nix @@ -0,0 +1,81 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, desktop-file-utils +, gtk3, glib, libaccounts-glib, libexif, libgee, geocode-glib, gexiv2,libgphoto2 +, granite, gst_all_1, libgudev, json-glib, libraw, librest, libsoup, sqlite, python3 +, scour, webkitgtk, libwebp, appstream, libunity, wrapGAppsHook, gobject-introspection, elementary-icon-theme }: + +stdenv.mkDerivation rec { + pname = "photos"; + version = "2.6.2"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "166a1jb85n67z6ffm5i0xzap407rv0r511lzh0gidkap1qy6pnmi"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream + desktop-file-utils + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = with gst_all_1; [ + elementary-icon-theme + geocode-glib + gexiv2 + granite + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gstreamer + gtk3 + json-glib + libaccounts-glib + libexif + libgee + libgphoto2 + libgudev + libraw + libsoup + libunity + libwebp + librest + scour + sqlite + webkitgtk + ]; + + mesonFlags = [ + "-Dplugins=false" + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Photo viewer and organizer designed for elementary OS"; + homepage = https://github.com/elementary/photos; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix new file mode 100644 index 000000000000..192b6ff358ff --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix @@ -0,0 +1,67 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, callPackage +, ninja, vala, python3, desktop-file-utils, gtk3, granite, libgee +, libcanberra, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +let + + redacted-script = callPackage ./redacted-script.nix {}; + +in + +stdenv.mkDerivation rec { + pname = "screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93 + version = "1.6.1"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = "screenshot"; + rev = version; + sha256 = "1vvj550md7vw7n057h8cy887a0nmsbwry67dxrxyz6bsvpk8sb6g"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = "screenshot"; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libcanberra + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + postInstall = '' + mkdir -p $out/share/fonts/truetype + cp -rva ${redacted-script}/share/fonts/truetype/redacted-elementary $out/share/fonts/truetype + ''; + + meta = with stdenv.lib; { + description = "Screenshot tool designed for elementary OS"; + homepage = https://github.com/elementary/screenshot; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix new file mode 100644 index 000000000000..db1d9d240c40 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, pantheon }: + +stdenv.mkDerivation rec { + name = "elementary-redacted-script-${version}"; + version = "5.1.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = "fonts"; + rev = version; + sha256 = "16x2w7w29k4jx2nwc5932h9rqvb216vxsziazisv2rpll74kn8b2"; + }; + + dontConfigure = true; + + installPhase = '' + mkdir -p $out/share/fonts/truetype/redacted-elementary + cp -a redacted/*.ttf $out/share/fonts/truetype/redacted-elementary + ''; + + meta = with stdenv.lib; { + description = "Redacted Script Font for elementary"; + homepage = https://github.com/elementary/fonts; + license = licenses.ofl; + maintainers = pantheon.maintainers; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix new file mode 100644 index 000000000000..01fe35e4a8ee --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3 +, vala, desktop-file-utils, gtk3, libxml2, granite, libnotify, vte, libgee +, elementary-icon-theme, appstream, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "terminal"; + version = "5.3.3"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1rhqfq5dn913g551ribycid4k8add2lanxkkqpv6zzdgvah26ni8"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream + desktop-file-utils + gobject-introspection + libxml2 + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libgee + libnotify + vte + ]; + + # See https://github.com/elementary/terminal/commit/914d4b0e2d0a137f12276d748ae07072b95eff80 + mesonFlags = [ "-Dubuntu-bionic-patched-vte=false" ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Terminal emulator designed for elementary OS"; + longDescription = '' + A super lightweight, beautiful, and simple terminal. Comes with sane defaults, browser-class tabs, sudo paste protection, + smart copy/paste, and little to no configuration. + ''; + homepage = https://github.com/elementary/terminal; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix new file mode 100644 index 000000000000..b123d4cbf5bc --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/elementary-videos/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, python3 +, desktop-file-utils, gtk3, granite, libgee, clutter-gst, clutter-gtk, gst_all_1 +, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "videos"; + version = "2.6.3"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = with gst_all_1; [ + clutter-gst + clutter-gtk + elementary-icon-theme + granite + gst-libav + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gstreamer + gtk3 + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Video player and library app designed for elementary OS"; + homepage = https://github.com/elementary/videos; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix deleted file mode 100644 index d6bc8f5330b0..000000000000 --- a/nixpkgs/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchurl, perl, cmake, vala_0_38, pkgconfig, glib, gtk3, granite, gnome3, vte_290, libnotify, gettext, wrapGAppsHook, gobject-introspection }: - -stdenv.mkDerivation rec { - majorVersion = "0.4"; - minorVersion = "3"; - name = "pantheon-terminal-${majorVersion}.${minorVersion}"; - src = fetchurl { - url = "https://launchpad.net/pantheon-terminal/${majorVersion}.x/${majorVersion}.${minorVersion}/+download/${name}.tgz"; - sha256 = "0bfrqxig26i9qhm15kk7h9lgmzgnqada5snbbwqkp0n0pnyyh4ss"; - }; - - nativeBuildInputs = [ - perl cmake vala_0_38 pkgconfig wrapGAppsHook - # For setup hook - gobject-introspection - ]; - buildInputs = with gnome3; [ - glib gtk3 granite libnotify gettext vte_290 libgee - gsettings-desktop-schemas defaultIconTheme - ]; - meta = { - description = "Elementary OS's terminal"; - longDescription = "A super lightweight, beautiful, and simple terminal. It's designed to be setup with sane defaults and little to no configuration. It's just a terminal, nothing more, nothing less. Designed for elementary OS."; - homepage = https://launchpad.net/pantheon-terminal; - license = stdenv.lib.licenses.gpl3; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.vozz ]; - }; -} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix new file mode 100644 index 000000000000..2ee925209838 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-a11y"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1wh46lrsliii5bbvfc4xnzgnii2v7sqxnbn43ylmyqppfv9mk1wd"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Universal Access Plug"; + homepage = https://github.com/elementary/switchboard-plug-a11y; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix new file mode 100644 index 000000000000..bdba8328fe93 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, switchboard, pciutils, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-about"; + version = "2.5.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "11diwz2aj45yqkxdija8ny0sgm0wl2905gl3799cdl12ss9ffndp"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + patches = [ + (substituteAll { + src = ./lspci-path.patch; + inherit pciutils; + }) + ./remove-update-button.patch + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard About Plug"; + homepage = https://github.com/elementary/witchboard-plug-about; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch new file mode 100644 index 000000000000..352d84c42624 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch @@ -0,0 +1,13 @@ +diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala +index a3e449c..a95fe93 100644 +--- a/src/Views/HardwareView.vala ++++ b/src/Views/HardwareView.vala +@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid { + + // Graphics + try { +- Process.spawn_command_line_sync ("lspci", out graphics); ++ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics); + + if ("VGA" in graphics) { //VGA-keyword indicates graphics-line + string[] lines = graphics.split("\n"); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch new file mode 100644 index 000000000000..41433f9a76b0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch @@ -0,0 +1,55 @@ +diff --git a/src/Plug.vala b/src/Plug.vala +index 76fca34..3e79c1f 100644 +--- a/src/Plug.vala ++++ b/src/Plug.vala +@@ -65,7 +65,6 @@ public class About.Plug : Switchboard.Plug { + search_results.set ("%s → %s".printf (display_name, _("Restore Default Settings")), ""); + search_results.set ("%s → %s".printf (display_name, _("Suggest Translation")), ""); + search_results.set ("%s → %s".printf (display_name, _("Report Problems")), ""); +- search_results.set ("%s → %s".printf (display_name, _("Updates")), ""); + return search_results; + } + +@@ -161,7 +160,7 @@ public class About.Plug : Switchboard.Plug { + var kernel_version_label = new Gtk.Label (kernel_version); + kernel_version_label.set_selectable (true); + +- var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version)); ++ var gtk_version_label = new Gtk.Label (_("GTK+ %s").printf (gtk_version)); + gtk_version_label.set_selectable (true); + + var website_label = new Gtk.LinkButton.with_label (website_url, _("Website")); +@@ -202,16 +201,6 @@ public class About.Plug : Switchboard.Plug { + issue_dialog.run (); + }); + +- // Update button +- var update_button = new Gtk.Button.with_label (_("Check for Updates")); +- update_button.clicked.connect (() => { +- try { +- Process.spawn_command_line_async ("io.elementary.appcenter --show-updates"); +- } catch (Error e) { +- warning (e.message); +- } +- }); +- + // Restore settings button + var settings_restore_button = new Gtk.Button.with_label (_("Restore Default Settings")); + settings_restore_button.clicked.connect (settings_restore_clicked); +@@ -224,7 +213,6 @@ public class About.Plug : Switchboard.Plug { + button_grid.add (settings_restore_button); + button_grid.add (translate_button); + button_grid.add (bug_button); +- button_grid.add (update_button); + button_grid.set_child_non_homogeneous (help_button, true); + + var software_grid = new Gtk.Grid (); +@@ -238,7 +226,7 @@ public class About.Plug : Switchboard.Plug { + software_grid.attach (based_off, 0, 2, 2, 1); + } + +- software_grid.attach (kernel_version_label, 0, 3, 2, 1); ++ software_grid.attach (kernel_version_label, 0, 3, 2, 1); + software_grid.attach (gtk_version_label, 0, 4, 2, 1); + software_grid.attach (website_label, 0, 5, 2, 1); + diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix new file mode 100644 index 000000000000..0cdb732ca731 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-applications"; + version = "2.1.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1c4agff456625kycacpsww7c9jsnsg1rqps96r7cvn9zq371b5ir"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Applications Plug"; + homepage = https://github.com/elementary/switchboard-plug-applications; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix new file mode 100644 index 000000000000..697c3ac592bb --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, libgee +, granite, gtk3, bluez, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-bluetooth"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "13jm2idjsgqkvdz1dxgl2wwx7bsqahppf6cnpl0pmz167wahg5zp"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + bluez + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Bluetooth Plug"; + homepage = https://github.com/elementary/switchboard-plug-bluetooth; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch new file mode 100644 index 000000000000..0fe0ac8b10c8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch @@ -0,0 +1,12 @@ +diff --git a/src/DateTime1.vala b/src/DateTime1.vala +index 5a80fbd..2e1f948 100644 +--- a/src/DateTime1.vala ++++ b/src/DateTime1.vala +@@ -38,6 +38,6 @@ public class DateTime.Settings : Granite.Services.Settings { + public string clock_format { get; set; } + + public Settings () { +- base ("io.elementary.desktop.wingpanel.datetime"); ++ base ("io.elementary.granite"); + } + } diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix new file mode 100644 index 000000000000..95a350372b95 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, substituteAll, pkgconfig +, vala, libgee, granite, gtk3, libxml2, switchboard, tzdata, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-datetime"; + version = "2.1.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1iz8skf5dw76a07ljc8v8lw2x2nrmq8j6sggm227cmxy60gadsdv"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + libxml2 + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + patches = [ + (substituteAll { + src = ./timezone.patch; + tzdata = "${tzdata}/share/zoneinfo/zone.tab"; + }) + # Use "clock-format" GSettings key that's been moved to granite + ./clock-format.patch + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Date & Time Plug"; + homepage = https://github.com/elementary/switchboard-plug-datetime; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch new file mode 100644 index 000000000000..35f73d365990 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch @@ -0,0 +1,13 @@ +diff --git a/src/Parser.vala b/src/Parser.vala +index faccb64..432a362 100644 +--- a/src/Parser.vala ++++ b/src/Parser.vala +@@ -28,7 +28,7 @@ public class DateTime.Parser : GLib.Object { + return parser; + } + private Parser () { +- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab"); ++ var file = File.new_for_path ("@tzdata@"); + if (!file.query_exists ()) { + critical ("/usr/share/zoneinfo/zone.tab doesn't exist !"); + return; diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix new file mode 100644 index 000000000000..192f8a69ae97 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-display"; + version = "2.1.6"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0pw21bnc79shiynmg7h9bs1x1v011lh07ypn22j73yhmxp6wiypd"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Displays Plug"; + homepage = https://github.com/elementary/switchboard-plug-display; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix new file mode 100644 index 000000000000..f38f15e3c6d2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja, pkgconfig, vala, libgee +, granite, gtk3, libxml2, libgnomekbd, libxklavier, xorg, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-keyboard"; + version = "2.3.4"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1997hnhlcp2jmf3z70na42vl1b7i5vxhp7k5ga5sl68dv0g4126y"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + libxml2 + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + libgnomekbd + libxklavier + switchboard + ]; + + patches = [ + (substituteAll { + src = ./xkb.patch; + config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml"; + }) + ]; + + LIBRARY_PATH = stdenv.lib.makeLibraryPath [ libgnomekbd ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Keyboard Plug"; + homepage = https://github.com/elementary/switchboard-plug-keyboard; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch new file mode 100644 index 000000000000..33237d9c9392 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch @@ -0,0 +1,22 @@ +diff --git a/src/Layout/Handler.vala b/src/Layout/Handler.vala +index 297314b..b36509a 100644 +--- a/src/Layout/Handler.vala ++++ b/src/Layout/Handler.vala +@@ -29,7 +29,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object { + } + + private void parse_layouts () { +- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); ++ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); + if (doc == null) { + critical ("'evdev.xml' not found or permissions missing\n"); + return; +@@ -76,7 +76,7 @@ public class Pantheon.Keyboard.LayoutPage.LayoutHandler : GLib.Object { + public HashTable<string, string> get_variants_for_language (string language) { + var returned_table = new HashTable<string, string> (str_hash, str_equal); + returned_table.set ("", _("Default")); +- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); ++ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); + if (doc == null) { + critical ("'evdev.xml' not found or permissions incorrect\n"); + return returned_table; diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix new file mode 100644 index 000000000000..6c4bdeb7fb71 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pantheon, fetchpatch, meson, ninja +, pkgconfig, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-mouse-touchpad"; + version = "2.1.4"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1zh5472ab01bckrc1py5bqqsal9i9pbgx6i8ap2d4yzhc8sirjrf"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Mouse & Touchpad Plug"; + homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix new file mode 100644 index 000000000000..3943cad48fd3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, substituteAll, vala +, libgee, granite, gtk3, networkmanager, networkmanagerapplet, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-network"; + version = "2.1.4"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "12lvcc15jngzsa40fjhxa6kccs58h5qq4lqrc7lcx5przmfaik8k"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + networkmanager + networkmanagerapplet + switchboard + ]; + + patches = [ + (substituteAll { + src = ./nma.patch; + networkmanagerapplet = "${networkmanagerapplet}"; + }) + ]; + + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Networking Plug"; + homepage = https://github.com/elementary/switchboard-plug-network; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch new file mode 100644 index 000000000000..a5fff9d6a32b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch @@ -0,0 +1,43 @@ +diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala +index 19fd514..bc800d9 100644 +--- a/src/Widgets/SettingsButton.vala ++++ b/src/Widgets/SettingsButton.vala +@@ -23,7 +23,7 @@ + label = _("Edit Connections…"); + clicked.connect (() => { + try { +- var appinfo = AppInfo.create_from_commandline ("nm-connection-editor", null, AppInfoCreateFlags.NONE); ++ var appinfo = AppInfo.create_from_commandline ("@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE); + appinfo.launch (null, null); + } catch (Error e) { + warning ("%s", e.message); +@@ -61,13 +61,13 @@ + label = title; + clicked.connect (() => { + edit_connection_uuid (connection.get_uuid ()); +- }); ++ }); + } + + private void edit_connection_uuid (string uuid) { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE ++ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE + ); + + appinfo.launch (null, null); +diff --git a/src/Widgets/VPN/VPNPage.vala b/src/Widgets/VPN/VPNPage.vala +index 23c3ae9..c71984c 100644 +--- a/src/Widgets/VPN/VPNPage.vala ++++ b/src/Widgets/VPN/VPNPage.vala +@@ -86,8 +86,7 @@ namespace Network { + add_button.tooltip_text = _("Add VPN Connection…"); + add_button.clicked.connect (() => { + add_button.sensitive = false; +- var command = new Granite.Services.SimpleCommand ("/usr/bin", +- "nm-connection-editor --create --type=vpn"); ++ var command = new Granite.Services.SimpleCommand ("@networkmanagerapplet@", "bin/nm-connection-editor --create --type=vpn"); + command.done.connect ((exit) => { + if (exit != 0) { + var dialog = new Gtk.MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, "%s", _("Failed to run Connection Editor.")); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix new file mode 100644 index 000000000000..6bb5d285a34f --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-notifications"; + version = "2.1.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0p0aj3bbjrh6x8wajqqb5yqm2iqfnj7kp16zf4hdr4siw0sx5p8n"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Notifications Plug"; + homepage = https://github.com/elementary/switchboard-plug-notifications; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix new file mode 100644 index 000000000000..0417d33df7d7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala +, libgee, granite, gtk3, libaccounts-glib, libsignon-glib, json-glib +, librest, webkitgtk, libsoup, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-onlineaccounts"; + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "03h8ii8zz59fpp4fwlvyx3m3550096fn7a6w612b1rbj3dqhlmh9"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + json-glib + libaccounts-glib + libgee + libsignon-glib + libsoup + librest + switchboard + webkitgtk + ]; + + PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers"; + PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; + + + meta = with stdenv.lib; { + description = "Switchboard Online Accounts Plug"; + homepage = https://github.com/elementary/switchboard-plug-onlineaccounts; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch new file mode 100644 index 000000000000..a1b019179d1b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch @@ -0,0 +1,26 @@ +diff --git a/set-wallpaper-contract/set-wallpaper.vala b/set-wallpaper-contract/set-wallpaper.vala +index 3e02089..7ce7041 100644 +--- a/set-wallpaper-contract/set-wallpaper.vala ++++ b/set-wallpaper-contract/set-wallpaper.vala +@@ -38,7 +38,7 @@ namespace SetWallpaperContractor { + </transition> + """; + +- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds"; ++ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds"; + + private int delay_value = 60; + +diff --git a/src/Views/Wallpaper.vala b/src/Views/Wallpaper.vala +index 4be14fa..aa8832f 100644 +--- a/src/Views/Wallpaper.vala ++++ b/src/Views/Wallpaper.vala +@@ -38,7 +38,7 @@ public class Wallpaper : Gtk.Grid { + FileAttribute.THUMBNAIL_IS_VALID + }; + +- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds"; ++ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds"; + + public Switchboard.Plug plug { get; construct set; } + private GLib.Settings settings; diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix new file mode 100644 index 000000000000..e47dc4c4060c --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala +, libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop +, gala, wingpanel, plank, switchboard, gettext, gobject-introspection, bamf }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-pantheon-shell"; + version = "2.8.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0yy821hl26jfd9hyigqi7nmaf30iww0lhg9qzcwlfzsvvfwnxagi"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + bamf + gexiv2 + gnome-desktop + elementary-settings-daemon + granite + gtk3 + libgee + plank + switchboard + ]; + + patches = [ + ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded + ./hardcode-gsettings.patch + ]; + + postPatch = '' + substituteInPlace src/Views/Appearance.vala --subst-var-by GALA_GSETTINGS_PATH ${gala}/share/gsettings-schemas/${gala.name}/glib-2.0/schemas + substituteInPlace src/Views/Appearance.vala --subst-var-by WINGPANEL_GSETTINGS_PATH ${wingpanel}/share/gsettings-schemas/${wingpanel.name}/glib-2.0/schemas + ''; + + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Desktop Plug"; + homepage = https://github.com/elementary/switchboard-plug-pantheon-shell; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch new file mode 100644 index 000000000000..d023e1b55ce6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch @@ -0,0 +1,23 @@ +diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala +index 721d458..17e1c58 100644 +--- a/src/Views/Appearance.vala ++++ b/src/Views/Appearance.vala +@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid { + attach (text_size_label, 0, 2); + attach (text_size_modebutton, 1, 2); + +- var animations_settings = new Settings (ANIMATIONS_SCHEMA); ++ SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false); ++ ++ var animations_settings = new Settings.full (animations_schema, null, null); + animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT); + +- var panel_settings = new Settings (PANEL_SCHEMA); ++ SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false); ++ ++ var panel_settings = new Settings.full (panel_schema, null, null); + panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT); + + var interface_settings = new Settings (INTERFACE_SCHEMA); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix new file mode 100644 index 000000000000..ab1fd98795a1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchFromGitHub, pantheon, substituteAll, meson, ninja +, pkgconfig, vala, libgee, elementary-dpms-helper, elementary-settings-daemon +, makeWrapper, granite, gtk3, dbus, polkit, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-power"; + version = "2.3.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1wcxz4jxyv8kms9gxpwvrb356h10qvcwmdjzjzl2bvj5yl1rfcs9"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + dbus + granite + gtk3 + libgee + polkit + switchboard + ]; + + patches = [ + (substituteAll { + src = ./dpms-helper-exec.patch; + elementary_dpms_helper = "${elementary-dpms-helper}"; + }) + ./hardcode-gsettings.patch + ]; + + postPatch = '' + substituteInPlace src/MainView.vala --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${elementary-dpms-helper}/share/gsettings-schemas/${elementary-dpms-helper.name}/glib-2.0/schemas + substituteInPlace src/MainView.vala --subst-var-by GSD_GSETTINGS_PATH ${elementary-settings-daemon}/share/gsettings-schemas/${elementary-settings-daemon.name}/glib-2.0/schemas + ''; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "share/dbus-1/system-services"; + PKG_CONFIG_DBUS_1_SYSCONFDIR = "etc"; + PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "share/polkit-1/actions"; + + meta = with stdenv.lib; { + description = "Switchboard Power Plug"; + homepage = https://github.com/elementary/switchboard-plug-power; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch new file mode 100644 index 000000000000..335d3f296262 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch @@ -0,0 +1,13 @@ +diff --git a/src/MainView.vala b/src/MainView.vala +index 1654e68..175f220 100644 +--- a/src/MainView.vala ++++ b/src/MainView.vala +@@ -317,7 +317,7 @@ public class Power.MainView : Gtk.Grid { + + private static void run_dpms_helper () { + try { +- string[] argv = { "io.elementary.dpms-helper" }; ++ string[] argv = { "@elementary_dpms_helper@/bin/io.elementary.dpms-helper" }; + Process.spawn_async (null, argv, Environ.get (), + SpawnFlags.SEARCH_PATH | SpawnFlags.STDERR_TO_DEV_NULL | SpawnFlags.STDOUT_TO_DEV_NULL, + null, null); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch new file mode 100644 index 000000000000..caacdad6eda9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch @@ -0,0 +1,20 @@ +diff --git a/src/MainView.vala b/src/MainView.vala +index 1654e68..ad8fed9 100644 +--- a/src/MainView.vala ++++ b/src/MainView.vala +@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid { + + var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL); + +- settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power"); +- elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms"); ++ SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true); ++ SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false); ++ settings = new GLib.Settings.full (gsd_schema, null, null); ++ ++ SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true); ++ SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false); ++ elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null); + + battery = new Battery (); + power_supply = new PowerSupply (); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix new file mode 100644 index 000000000000..bb9e576a4c49 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, cups, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-printers"; + version = "2.1.6"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "05pkf3whh51gd9d0h2h4clgf7r3mvzl4ybas7834vhy19dzcbzmc"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + cups + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Printers Plug"; + homepage = https://github.com/elementary/switchboard-plug-printers; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix new file mode 100644 index 000000000000..4060e0717891 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, python3, ninja +, pkgconfig, vala, libgee, granite, gtk3, polkit, zeitgeist +, switchboard, lightlocker, pantheon-agent-geoclue2, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-security-privacy"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0f1idh36hlgmdva5jn0xnj2b6gbic0asnj3b7j283gyziibm3pxa"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + polkit + switchboard + zeitgeist + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + patches = [ + ./hardcode-gsettings.patch + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + + substituteInPlace src/Views/LockPanel.vala --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${lightlocker}/share/gsettings-schemas/${lightlocker.name}/glib-2.0/schemas + substituteInPlace src/Views/FirewallPanel.vala --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas + ''; + + meta = with stdenv.lib; { + description = "Switchboard Security & Privacy Plug"; + homepage = https://github.com/elementary/switchboard-plug-security-privacy; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch new file mode 100644 index 000000000000..ffaf1ecf5db1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch @@ -0,0 +1,36 @@ +diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala +index 994c4d1..5702de2 100644 +--- a/src/Views/FirewallPanel.vala ++++ b/src/Views/FirewallPanel.vala +@@ -49,10 +49,13 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage { + } + + construct { +- settings = new Settings ("io.elementary.switchboard.security-privacy"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false); ++ settings = new Settings.full (security_privacy_schema, null, null); ++ + disabled_rules = new Gee.HashMap<string, UFWHelpers.Rule> (); + load_disabled_rules (); +- ++ + status_switch.notify["active"].connect (() => { + if (loading == false) { + view.sensitive = status_switch.active; +diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala +index 081cf10..42f6118 100644 +--- a/src/Views/LockPanel.vala ++++ b/src/Views/LockPanel.vala +@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage { + } + + construct { +- locker = new Settings ("apps.light-locker"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false); ++ ++ locker = new Settings.full (locker_schema, null, null); + + var lock_suspend_label = new Gtk.Label (_("Lock on sleep:")); + var lock_suspend_switch = new Gtk.Switch (); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix new file mode 100644 index 000000000000..a2c047ffcb41 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-sharing"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1yi6aga9i18wwn22zwmfbhsk16f92fka837is5r8xghqb7a50hyh"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Sharing Plug"; + homepage = https://github.com/elementary/switchboard-plug-sharing; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix new file mode 100644 index 000000000000..e4d0db46923b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig +, vala, libgee, granite, gtk3, pulseaudio, libcanberra, libcanberra-gtk3 +, switchboard, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-sound"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0dvxmjziifffa2rm7h43ca5grhlcpih3rgik50mz808mqfxr4l1q"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ + granite + gtk3 + libcanberra + libcanberra-gtk3 + libgee + pulseaudio + switchboard + ]; + + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + meta = with stdenv.lib; { + description = "Switchboard Sound Plug"; + homepage = https://github.com/elementary/switchboard-plug-sound; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix new file mode 100644 index 000000000000..310230c7aacc --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja +, vala, gtk3, libgee, granite, gettext, clutter-gtk, libunity +, elementary-icon-theme, wrapGAppsHook, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "switchboard"; + version = "2.3.6"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0lsrn636b0f9a58jbid6mlhgrf8ajnh7phwmhgxz55sz7k7qa58g"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + clutter-gtk + elementary-icon-theme + granite + gtk3 + libgee + libunity + ]; + + patches = [ ./plugs-path-env.patch ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Extensible System Settings app for Pantheon"; + homepage = https://github.com/elementary/switchboard; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch new file mode 100644 index 000000000000..f5d8567bffed --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch @@ -0,0 +1,25 @@ +diff --git a/lib/PlugsManager.vala b/lib/PlugsManager.vala +index 75d0eaf..c227908 100644 +--- a/lib/PlugsManager.vala ++++ b/lib/PlugsManager.vala +@@ -34,10 +34,18 @@ public class Switchboard.PlugsManager : GLib.Object { + private Gee.LinkedList<Switchboard.Plug> plugs; + + public signal void plug_added (Switchboard.Plug plug); +- ++ + private PlugsManager () { + plugs = new Gee.LinkedList<Switchboard.Plug> (); +- var base_folder = File.new_for_path (Build.PLUGS_DIR); ++ ++ var plugs_path = Environment.get_variable("SWITCHBOARD_PLUGS_PATH"); ++ if (plugs_path != null) { ++ debug ("SWITCHBOARD_PLUGS_PATH set to %s", plugs_path); ++ } else { ++ critical ("SWITCHBOARD_PLUGS_PATH not set"); ++ } ++ ++ var base_folder = File.new_for_path (plugs_path); + find_plugins (base_folder); + } + diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix new file mode 100644 index 000000000000..cae8e74f4ba7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix @@ -0,0 +1,19 @@ +{ stdenv, makeWrapper, symlinkJoin, switchboard, switchboardPlugs, plugs }: + +let + selectedPlugs = if plugs == null then switchboardPlugs else plugs; +in +symlinkJoin { + name = "${switchboard.name}-with-plugs"; + + paths = [ switchboard ] ++ selectedPlugs; + + buildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/io.elementary.switchboard \ + --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard" + ''; + + inherit (switchboard) meta; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix new file mode 100644 index 000000000000..2f7e79f9f9b3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja }: + +stdenv.mkDerivation rec { + pname = "stylesheet"; + version = "5.2.1"; + + name = "elementary-gtk-theme-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "03l8m87f7z25svxk0hhcqnn4qnnqvasr5qwzq3s87lx25gwjml29"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-gtk-theme"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + ]; + + meta = with stdenv.lib; { + description = "GTK theme designed to be smooth, attractive, fast, and usable"; + homepage = https://github.com/elementary/stylesheet; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix new file mode 100644 index 000000000000..23fb8445838a --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, python3,ninja, hicolor-icon-theme, gtk3 }: + +stdenv.mkDerivation rec { + pname = "icons"; + version = "5.0.3"; + + name = "elementary-icon-theme-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0wpv7yirf44bfqfmyshzfw9605j1idm7c9jqg68k3nmymmd6iqzf"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-icon-theme"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + python3 + ]; + + buildInputs = [ gtk3 ]; + + propagatedBuildInputs = [ hicolor-icon-theme ]; + + mesonFlags = [ + "-Dvolume_icons=false" # Tries to install some icons to / + "-Dpalettes=false" # Don't install gimp and inkscape palette files + ]; + + postPatch = '' + chmod +x meson/symlink.py + patchShebangs meson/symlink.py + ''; + + postFixup = "gtk-update-icon-cache $out/share/icons/elementary"; + + meta = with stdenv.lib; { + description = "Named, vector icons for elementary OS"; + longDescription = '' + An original set of vector icons designed specifically for elementary OS and its desktop environment: Pantheon. + ''; + homepage = https://github.com/elementary/icons; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix new file mode 100644 index 000000000000..430acfd9ac1a --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig }: + +stdenv.mkDerivation rec { + pname = "sound-theme"; + version = "1.0"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1dc583lq61c361arjl3s44d2k72c46bqvcqv1c3s69f2ndsnxjdz"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + ]; + + meta = with stdenv.lib; { + description = "A set of system sounds for elementary"; + homepage = https://github.com/elementary/sound-theme; + license = licenses.unlicense; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix new file mode 100644 index 000000000000..898d5f7b454f --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, pantheon }: + +stdenv.mkDerivation rec { + pname = "wallpapers"; + version = "5.3"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1i0zf9gzhwm8hgq5cp1xnxipqjvgzd9wfiicz612hgp6ivc0z0ag"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share/backgrounds/elementary + cp -av *.jpg $out/share/backgrounds/elementary + ''; + + meta = with stdenv.lib; { + description = "Collection of wallpapers for elementary"; + homepage = https://github.com/elementary/wallpapers; + license = licenses.publicDomain; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} + diff --git a/nixpkgs/pkgs/desktops/pantheon/default.nix b/nixpkgs/pkgs/desktops/pantheon/default.nix new file mode 100644 index 000000000000..a7b8a01eeb0b --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/default.nix @@ -0,0 +1,222 @@ +{ pkgs, lib, gnome3 }: + + +lib.makeScope pkgs.newScope (self: with self; { + + apps = [ + elementary-calculator elementary-calendar + elementary-camera elementary-code elementary-files + elementary-music elementary-photos elementary-screenshot-tool + elementary-terminal elementary-videos switchboard-with-plugs + ]; + + artwork = [ + elementary-gtk-theme + elementary-icon-theme + elementary-sound-theme + elementary-wallpapers + ]; + + desktop = [ + elementary-session-settings + elementary-shortcut-overlay + gala + wingpanel-with-indicators + ]; + + services = [ + cerbere + elementary-capnet-assist + elementary-settings-daemon + elementary-dpms-helper + pantheon-agent-geoclue2 + pantheon-agent-polkit + ]; + + switchboardPlugs = [ + switchboard-plug-a11y switchboard-plug-about + switchboard-plug-applications switchboard-plug-bluetooth + switchboard-plug-datetime switchboard-plug-display + switchboard-plug-keyboard switchboard-plug-mouse-touchpad + switchboard-plug-network switchboard-plug-notifications + switchboard-plug-onlineaccounts switchboard-plug-pantheon-shell + switchboard-plug-power switchboard-plug-printers + switchboard-plug-security-privacy switchboard-plug-sharing + switchboard-plug-sound + ]; + + wingpanelIndicators = [ + wingpanel-applications-menu wingpanel-indicator-bluetooth + wingpanel-indicator-datetime wingpanel-indicator-keyboard + wingpanel-indicator-network wingpanel-indicator-nightlight + wingpanel-indicator-notifications wingpanel-indicator-power + wingpanel-indicator-session wingpanel-indicator-sound + ]; + + updateScript = callPackage ./update.nix { }; + + maintainers = with pkgs.stdenv.lib.maintainers; [ worldofpeace ]; + + mutter = pkgs.gnome3.mutter328; + vala = pkgs.vala_0_40; + + elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { }; + + #### APPS + + elementary-calculator = callPackage ./apps/elementary-calculator { }; + + elementary-calendar = callPackage ./apps/elementary-calendar { }; + + elementary-camera = callPackage ./apps/elementary-camera { }; + + elementary-code = callPackage ./apps/elementary-code { }; + + elementary-files = callPackage ./apps/elementary-files { }; + + elementary-music = callPackage ./apps/elementary-music { }; + + elementary-photos = callPackage ./apps/elementary-photos { }; + + elementary-screenshot-tool = callPackage ./apps/elementary-screenshot-tool { }; + + elementary-terminal = callPackage ./apps/elementary-terminal { }; + + elementary-videos = callPackage ./apps/elementary-videos { }; + + #### DESKTOP + + elementary-default-settings = callPackage ./desktop/elementary-default-settings { }; + + elementary-greeter = callPackage ./desktop/elementary-greeter { + inherit (gnome3) gnome-desktop; + }; + + elementary-print-shim = callPackage ./desktop/elementary-print-shim { }; + + elementary-session-settings = callPackage ./desktop/elementary-session-settings { + inherit (gnome3) gnome-session gnome-keyring; + }; + + elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { }; + + extra-elementary-contracts = callPackage ./desktop/extra-elementary-contracts { + inherit (gnome3) file-roller gnome-bluetooth; + }; + + gala = callPackage ./desktop/gala { + inherit (gnome3) gnome-desktop; + }; + + wingpanel = callPackage ./desktop/wingpanel { }; + + wingpanel-with-indicators = callPackage ./desktop/wingpanel/wrapper.nix { + indicators = null; + }; + + #### LIBRARIES + + granite = callPackage ./granite { }; + + #### SERVICES + + cerbere = callPackage ./services/cerbere { }; + + contractor = callPackage ./services/contractor { }; + + elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { }; + + elementary-dpms-helper = callPackage ./services/elementary-dpms-helper { }; + + # We're using ubuntu and elementary's patchset due to reasons + # explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614 + # Take note of "I am holding off on "fixing" this bug for as long as possible." + elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { + inherit (gnome3) libgweather; + }; + + pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { }; + + pantheon-agent-polkit = callPackage ./services/pantheon-agent-polkit { }; + + #### WINGPANEL INDICATORS + + wingpanel-applications-menu = callPackage ./desktop/wingpanel-indicators/applications-menu { }; + + wingpanel-indicator-bluetooth = callPackage ./desktop/wingpanel-indicators/bluetooth { }; + + wingpanel-indicator-datetime = callPackage ./desktop/wingpanel-indicators/datetime { }; + + wingpanel-indicator-keyboard = callPackage ./desktop/wingpanel-indicators/keyboard { }; + + wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network { + inherit (gnome3) networkmanagerapplet; + }; + + wingpanel-indicator-nightlight = callPackage ./desktop/wingpanel-indicators/nightlight { }; + + wingpanel-indicator-notifications = callPackage ./desktop/wingpanel-indicators/notifications { }; + + wingpanel-indicator-power = callPackage ./desktop/wingpanel-indicators/power { }; + + wingpanel-indicator-session = callPackage ./desktop/wingpanel-indicators/session { }; + + wingpanel-indicator-sound = callPackage ./desktop/wingpanel-indicators/sound { }; + + #### SWITCHBOARD + + switchboard = callPackage ./apps/switchboard { }; + + switchboard-with-plugs = callPackage ./apps/switchboard/wrapper.nix { + plugs = null; + }; + + switchboard-plug-a11y = callPackage ./apps/switchboard-plugs/a11y { }; + + switchboard-plug-about = callPackage ./apps/switchboard-plugs/about { }; + + switchboard-plug-applications = callPackage ./apps/switchboard-plugs/applications { }; + + switchboard-plug-bluetooth = callPackage ./apps/switchboard-plugs/bluetooth { }; + + switchboard-plug-datetime = callPackage ./apps/switchboard-plugs/datetime { }; + + switchboard-plug-display = callPackage ./apps/switchboard-plugs/display { }; + + switchboard-plug-keyboard = callPackage ./apps/switchboard-plugs/keyboard { }; + + switchboard-plug-mouse-touchpad = callPackage ./apps/switchboard-plugs/mouse-touchpad { }; + + switchboard-plug-network = callPackage ./apps/switchboard-plugs/network { + inherit (gnome3) networkmanagerapplet; + }; + + switchboard-plug-notifications = callPackage ./apps/switchboard-plugs/notifications { }; + + switchboard-plug-onlineaccounts = callPackage ./apps/switchboard-plugs/onlineaccounts { }; + + switchboard-plug-pantheon-shell = callPackage ./apps/switchboard-plugs/pantheon-shell { + inherit (gnome3) gnome-desktop; + }; + + switchboard-plug-power = callPackage ./apps/switchboard-plugs/power { }; + + switchboard-plug-printers = callPackage ./apps/switchboard-plugs/printers { }; + + switchboard-plug-security-privacy = callPackage ./apps/switchboard-plugs/security-privacy { }; + + switchboard-plug-sharing = callPackage ./apps/switchboard-plugs/sharing { }; + + switchboard-plug-sound = callPackage ./apps/switchboard-plugs/sound { }; + + ### ARTWORK + + elementary-gtk-theme = callPackage ./artwork/elementary-gtk-theme { }; + + elementary-icon-theme = callPackage ./artwork/elementary-icon-theme { }; + + elementary-sound-theme = callPackage ./artwork/elementary-sound-theme { }; + + elementary-wallpapers = callPackage ./artwork/elementary-wallpapers { }; + +}) diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch new file mode 100644 index 000000000000..438ed79d1bb0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch @@ -0,0 +1,25 @@ +diff --git a/debian/elementary-default-settings.gsettings-override b/debian/elementary-default-settings.gsettings-override +index 6452c30..899972d 100644 +--- a/debian/elementary-default-settings.gsettings-override ++++ b/debian/elementary-default-settings.gsettings-override +@@ -1,5 +1,5 @@ + [net.launchpad.plank.dock.settings] +-dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem'] ++dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.gnome.Geary.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem'] + hide-delay=250 + hide-mode='window-dodge' + show-dock-item=false +@@ -8,13 +8,6 @@ theme='Gtk+' + [org.freedesktop.ibus.general.hotkey] + triggers=['<Control>space'] + +-[org.gnome.desktop.background] +-draw-background=true +-picture-options='zoom' +-picture-uri='file:///usr/share/backgrounds/elementaryos-default' +-primary-color='#000000' +-show-desktop-icons=false +- + [org.gnome.desktop.datetime] + automatic-timezone=true + diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix new file mode 100644 index 000000000000..f133324a81ec --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchFromGitHub, fetchpatch, pantheon }: + +stdenv.mkDerivation rec { + pname = "default-settings"; + version = "5.0"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0gyv835qbr90001gda2pzngzzbbk5jf9grgfl25pqkm29s45rqq0"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + patches = [ + # See: https://github.com/elementary/default-settings/pull/86 (didn't make 5.0 release) + (fetchpatch { + url = "https://github.com/elementary/default-settings/commit/05d0b2a4e98c28203521d599b40745b46be549fa.patch"; + sha256 = "1wk1qva3yzc28gljnkx9hb3pwhqnfrsb08wd76lsl3xnylg0wn2l"; + }) + # See: https://github.com/elementary/default-settings/pull/94 (didn't make 5.0 release) + (fetchpatch { + url = "https://github.com/elementary/default-settings/commit/a2ca00130c16e805179fb5abd7b624a873dff2da.patch"; + sha256 = "1jp1c5d8jfm0404zsylfk7h9vj81s409wgbzbsd2kxmz65icq16x"; + }) + ./correct-override.patch + ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/etc/gtk-3.0 + cp -av settings.ini $out/etc/gtk-3.0 + + mkdir -p $out/share/glib-2.0/schemas + cp -av debian/elementary-default-settings.gsettings-override $out/share/glib-2.0/schemas/20-io.elementary.desktop.gschema.override + + mkdir $out/etc/wingpanel.d + cp -avr ${./io.elementary.greeter.whitelist} $out/etc/wingpanel.d/io.elementary.greeter.whitelist + + mkdir -p $out/share/elementary/config/plank/dock1 + cp -avr ${./launchers} $out/share/elementary/config/plank/dock1/launchers + ''; + + meta = with stdenv.lib; { + description = "Default settings and configuration files for elementary"; + homepage = https://github.com/elementary/default-settings; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/io.elementary.greeter.whitelist b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/io.elementary.greeter.whitelist new file mode 100644 index 000000000000..0cff31f4f777 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/io.elementary.greeter.whitelist @@ -0,0 +1,6 @@ +liba11y.so +libbluetooth.so +libkeyboard.so +libnetwork.so +libpower.so +libsession.so diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/gala-multitaskingview.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/gala-multitaskingview.dockitem new file mode 100644 index 000000000000..b25bb8c85904 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/gala-multitaskingview.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/gala-multitaskingview.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.calendar.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.calendar.dockitem new file mode 100644 index 000000000000..3bd7d531840d --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.calendar.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/io.elementary.calendar.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.music.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.music.dockitem new file mode 100644 index 000000000000..494edde183ca --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.music.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/io.elementary.music.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.photos.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.photos.dockitem new file mode 100644 index 000000000000..89536754964d --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.photos.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/io.elementary.photos.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.switchboard.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.switchboard.dockitem new file mode 100644 index 000000000000..312c35d9bf00 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.switchboard.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/io.elementary.switchboard.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.videos.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.videos.dockitem new file mode 100644 index 000000000000..3b0f721a5644 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.videos.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/io.elementary.videos.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Epiphany.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Epiphany.dockitem new file mode 100644 index 000000000000..b0218bac52d7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Epiphany.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/org.gnome.Epiphany.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem new file mode 100644 index 000000000000..8b04efe417ea --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/org.gnome.Geary.desktop diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch new file mode 100644 index 000000000000..626e56ce5960 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch @@ -0,0 +1,25 @@ +From 2384bee55a46eac44eb9d329be4c2a097e053ae1 Mon Sep 17 00:00:00 2001 +From: worldofpeace <worldofpeace@users.noreply.github.com> +Date: Tue, 17 Jul 2018 07:04:18 -0400 +Subject: [PATCH 1/1] 'sysconfdir' will be etc not /etc for install + +--- + data/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/meson.build b/data/meson.build +index 7621b03..7c08eaf 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -20,7 +20,7 @@ i18n.merge_file ( + + install_data( + meson.project_name() + '.conf', +- install_dir: join_paths(get_option('sysconfdir'), 'lightdm') ++ install_dir: join_paths(get_option('prefix'), 'etc', 'lightdm') + ) + + install_data( +-- +2.17.1 + diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix new file mode 100644 index 000000000000..303aae6882b8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -0,0 +1,103 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, substituteAll, makeWrapper, meson +, ninja, vala, desktop-file-utils, gtk3, granite, libgee, elementary-settings-daemon +, gnome-desktop, mutter, gobject-introspection, elementary-icon-theme, wingpanel-with-indicators +, elementary-gtk-theme, nixos-artwork, elementary-default-settings, lightdm, numlockx +, clutter-gtk, libGL, dbus, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "greeter"; + version = "3.3.1"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1vkq4z0hrmvzv4sh2qkxjajdxcycd1zj97a3pc8n4yb858pqfyzc"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + clutter-gtk + elementary-icon-theme + elementary-gtk-theme + elementary-settings-daemon + gnome-desktop + granite + gtk3 + libgee + libGL + lightdm + mutter + wingpanel-with-indicators + ]; + + patches = [ + (substituteAll { + src = ./gsd.patch; + elementary-settings-daemon = "${elementary-settings-daemon}/libexec"; + }) + (substituteAll { + src = ./numlockx.patch; + inherit numlockx; + }) + ./01-sysconfdir-install.patch + ]; + + mesonFlags = [ + # A hook does this but after wrapGAppsHook so the files never get wrapped. + "--sbindir=${placeholder "out"}/bin" + # baked into the program for discovery of the greeter configuration + "--sysconfdir=/etc" + ]; + + preFixup = '' + gappsWrapperArgs+=( + # GTK+ reads default settings (such as icons and themes) from elementary's settings.ini here + --prefix XDG_CONFIG_DIRS : "${elementary-default-settings}/etc" + + # dbus-launch needed in path + --prefix PATH : "${dbus}/bin" + + # for `wingpanel -g` + --prefix PATH : "${wingpanel-with-indicators}/bin" + + # TODO: they should be using meson for this + # See: https://github.com/elementary/greeter/blob/19c0730fded4e9ddec5a491f0e78f83c7c04eb59/src/PantheonGreeter.vala#L451 + --prefix PATH : "$out/bin" + ) + ''; + + postFixup = '' + substituteInPlace $out/share/xgreeters/io.elementary.greeter.desktop \ + --replace "Exec=io.elementary.greeter" "Exec=$out/bin/io.elementary.greeter" + + substituteInPlace $out/etc/lightdm/io.elementary.greeter.conf \ + --replace "#default-wallpaper=/usr/share/backgrounds/elementaryos-default" "default-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png" + ''; + + meta = with stdenv.lib; { + description = "LightDM Greeter for Pantheon"; + homepage = https://github.com/elementary/greeter; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch new file mode 100644 index 000000000000..1770d54aee0d --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch @@ -0,0 +1,13 @@ +diff --git a/src/meson.build b/src/meson.build +index 2450c1a..a908d11 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -1,7 +1,7 @@ + conf_data = configuration_data() + conf_data.set('CONF_DIR', join_paths(get_option('sysconfdir'), 'lightdm')) + conf_data.set('GETTEXT_PACKAGE', meson.project_name()) +-conf_data.set('GSD_DIR', '/usr/lib/gnome-settings-daemon/') ++conf_data.set('GSD_DIR', '@elementary-settings-daemon@') + conf_data.set('VERSION', meson.project_version()) + config_header = configure_file ( + input: 'config.vala.in', diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch new file mode 100644 index 000000000000..2c7766b4284c --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch @@ -0,0 +1,13 @@ +diff --git a/src/PantheonGreeter.vala b/src/PantheonGreeter.vala +index 11aa4c0..ae7bf7e 100644 +--- a/src/PantheonGreeter.vala ++++ b/src/PantheonGreeter.vala +@@ -163,7 +163,7 @@ public class PantheonGreeter : Gtk.Window { + warning (e.message); + } + if (activate_numlock) { +- Granite.Services.System.execute_command ("/usr/bin/numlockx on"); ++ Granite.Services.System.execute_command ("@numlockx@/bin/numlockx on"); + } + + var screensaver_timeout = 60; diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix new file mode 100644 index 000000000000..bd5688f941b2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix @@ -0,0 +1,44 @@ +{ stdenv, runCommand, gnome3, elementary-default-settings, nixos-artwork, glib, gala, epiphany, elementary-settings-daemon, gtk3, plank +, extraGSettingsOverrides ? "" +, extraGSettingsOverridePackages ? [] +}: + +let + + gsettingsOverridePackages = [ + gala + epiphany + elementary-settings-daemon + gnome3.mutter + gtk3 + plank + ] ++ extraGSettingsOverridePackages; + +in + +with stdenv.lib; + +# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this +runCommand "elementary-gsettings-desktop-schemas" {} + '' + mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas + cp -rf ${gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas + + ${concatMapStrings (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n") gsettingsOverridePackages} + + chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides + cp ${elementary-default-settings}/share/glib-2.0/schemas/20-io.elementary.desktop.gschema.override \ + $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas + + cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF + [org.gnome.desktop.background] + draw-background=true + picture-options='zoom' + picture-uri='${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png' + primary-color='#000000' + + ${extraGSettingsOverrides} + EOF + + ${glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/ + '' diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix new file mode 100644 index 000000000000..d8634b48570d --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, pantheon, meson, ninja, pkgconfig, vala, gtk3 }: + +stdenv.mkDerivation rec { + pname = "print"; + version = "0.1.3"; + + name = "elementary-print-shim-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1w3cfap7j42x14mqpfqdm46hk5xc0v5kv8r6wxcnknr3sfxi8qlp"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}-shim"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + vala + ]; + + buildInputs = [ gtk3 ]; + + meta = with stdenv.lib; { + description = "Simple shim for printing support via Contractor"; + homepage = https://github.com/elementary/print; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop new file mode 100644 index 000000000000..517a9457ae10 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Instantiate Default elementary dockitems +Exec=@script@ +StartupNotify=false +NoDisplay=true +OnlyShowIn=Pantheon; +X-GNOME-Autostart-Phase=EarlyInitialization diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix new file mode 100644 index 000000000000..fddd4143616e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -0,0 +1,107 @@ +{ stdenv, fetchFromGitHub, substituteAll, writeScript, pantheon, gnome-keyring, gnome-session, wingpanel, orca, at-spi2-core, elementary-default-settings, writeTextFile, writeShellScriptBin, elementary-settings-daemon }: + +let + + # + # ─── ENSURES PLANK GETS ELEMENTARY'S DEFAULT DOCKITEMS ──────────────────────────── + # + + # + # Upstream relies on /etc/skel to initiate a new users home directory with planks dockitems. + # + # That is not possible within nixos, but we can achieve this easily with a simple script that copies + # them. We then use a xdg autostart and initalize it during the "EarlyInitialization" phase of a gnome session + # which is most appropriate for installing files into $HOME. + # + + dockitems-script = writeScript "dockitems-script" '' + #!${stdenv.shell} + + elementary_default_settings="${elementary-default-settings}" + dock_items="$elementary_default_settings/share/elementary/config/plank/dock1/launchers"/* + + if [ ! -d "$HOME/.config/plank/dock1" ]; then + echo "Instantiating default Plank Dockitems..." + + mkdir -p $HOME/.config/plank/dock1/launchers + cp -r --no-preserve=mode,ownership $dock_items $HOME/.config/plank/dock1/launchers/ + else + echo "Plank Dockitems already instantiated" + fi + ''; + + dockitemAutostart = substituteAll { + src = ./default-elementary-dockitems.desktop; + script = "${dockitems-script}"; + }; + + executable = writeShellScriptBin "pantheon" '' + export XDG_CONFIG_DIRS=${elementary-settings-daemon}/etc/xdg:$XDG_CONFIG_DIRS + export XDG_DATA_DIRS=${placeholder "out"}/share:$XDG_DATA_DIRS + exec ${gnome-session}/bin/gnome-session --session=pantheon "$@" + ''; + +in + +stdenv.mkDerivation rec { + pname = "session-settings"; + version = "5.0.3"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1vrjm7bklkfv0dyafm312v4hxzy6lb7p1ny4ijkn48kr719gc71k"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share + cp -avr applications $out/share/ + + mkdir -p $out/etc/xdg/autostart + cp -av ${gnome-keyring}/etc/xdg/autostart/* $out/etc/xdg/autostart + cp -av ${orca}/etc/xdg/autostart/* $out/etc/xdg/autostart + cp -av ${at-spi2-core}/etc/xdg/autostart/* $out/etc/xdg/autostart + + cp "${dockitemAutostart}" $out/etc/xdg/autostart/default-elementary-dockitems.desktop + + mkdir -p $out/share/gnome-session/sessions + cp -av gnome-session/pantheon.session $out/share/gnome-session/sessions + + mkdir -p $out/share/xsessions + cp -av xsessions/pantheon.desktop $out/share/xsessions + ''; + + postFixup = '' + substituteInPlace $out/share/xsessions/pantheon.desktop \ + --replace "gnome-session --session=pantheon" "${executable}/bin/pantheon" \ + --replace "wingpanel" "${wingpanel}/bin/wingpanel" + + 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 + ''; + + meta = with stdenv.lib; { + description = "Session settings for elementary"; + homepage = https://github.com/elementary/session-settings; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix new file mode 100644 index 000000000000..6ceebf1980c6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, libxml2, desktop-file-utils +, gtk3, glib, granite, libgee, elementary-icon-theme, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "shortcut-overlay"; + version = "1.0.1"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1ph4rx2l5fn0zh4fjfjlgbgskmzc0lvzqgcv7v4kr5m4rij1p4y4"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + libxml2 + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + glib + granite + gtk3 + libgee + ]; + + meta = with stdenv.lib; { + description = "A native OS-wide shortcut overlay to be launched by Gala"; + homepage = https://github.com/elementary/shortcut-overlay; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix new file mode 100644 index 000000000000..4e19a65b58d4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix @@ -0,0 +1,39 @@ +{ stdenv, substituteAll, fetchFromGitHub, file-roller, gnome-bluetooth }: + +stdenv.mkDerivation rec { + pname = "extra-elementary-contracts"; + version = "2018-08-21"; + + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "worldofpeace"; + repo = pname; + rev = "a05dfb00695854163805b666185e3e9f31b6eb83"; + sha256 = "0fkaf2w4xg0n9faj74rgzy7gvd3yz112l058b157a3pr39vpci7g"; + }; + + patches = [ + (substituteAll { + src = ./exec-path.patch; + file_roller = "${file-roller}"; + gnome_bluetooth = "${gnome-bluetooth}"; + }) + ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share/contractor + + cp *.contract $out/share/contractor/ + ''; + + meta = with stdenv.lib; { + description = "Extra contractor files for elementary"; + homepage = https://github.com/worldofpeace/extra-elementary-contracts; + license = licenses.gpl2; + maintainers = with maintainers; [ worldofpeace ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch new file mode 100644 index 000000000000..3b97e306119d --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch @@ -0,0 +1,34 @@ +diff --git a/file-roller-compress.contract b/file-roller-compress.contract +index 8de5396..de7e939 100644 +--- a/file-roller-compress.contract ++++ b/file-roller-compress.contract +@@ -3,6 +3,6 @@ Name=Compress + Icon=add-files-to-archive + Description=Create a compressed archive with the selected objects + MimeType=!archive;inode/blockdevice;inode/chardevice;inode/fifo;inode/socket; +-Exec=file-roller --add %U ++Exec=@file_roller@/bin/file-roller --add %U + Gettext-Domain=file-roller + +diff --git a/file-roller-extract-here.contract b/file-roller-extract-here.contract +index 184a6f2..345f4e7 100644 +--- a/file-roller-extract-here.contract ++++ b/file-roller-extract-here.contract +@@ -3,5 +3,5 @@ Name=Extract Here + Icon=extract-archive + Description=Extract the contents of the archives in the archive folder and quit the program + MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip; +-Exec=file-roller --extract-here %U ++Exec=@file_roller@/bin/file-roller --extract-here %U + Gettext-Domain=file-roller +diff --git a/gnome-bluetooth.contract b/gnome-bluetooth.contract +index 745dbbe..8cc0102 100644 +--- a/gnome-bluetooth.contract ++++ b/gnome-bluetooth.contract +@@ -3,5 +3,5 @@ Name=Send files via Bluetooth + Icon=bluetooth + Description=Send files to device... + MimeType=!inode; +-Exec=bluetooth-sendto %F ++Exec=@gnome_bluetooth@/bin/bluetooth-sendto %F + Gettext-Domain=gnome-bluetooth2 diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix new file mode 100644 index 000000000000..97acc2c791bf --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3, ninja, vala +, desktop-file-utils, gettext, libxml2, gtk3, granite, libgee, bamf, libcanberra +, libcanberra-gtk3, gnome-desktop, mutter, clutter, plank, gobject-introspection +, elementary-icon-theme, elementary-settings-daemon, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "gala"; + version = "unstable-2018-12-16"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = "7f1e392e03000df0bd47e7832bb3adab81f39ae5"; + sha256 = "1syqq0xfyg5nbnnmy0wp5d66k1bvq9qn27lvr37abxxqig9acpc8"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + versionPolicy = "master"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + gobject-introspection + libxml2 + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + bamf + clutter + elementary-icon-theme + gnome-desktop + elementary-settings-daemon + granite + gtk3 + libcanberra + libcanberra-gtk3 + libgee + mutter + plank + ]; + + patches = [ ./plugins-dir.patch ]; + + postPatch = '' + chmod +x build-aux/meson/post_install.py + patchShebangs build-aux/meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "A window & compositing manager based on mutter and designed by elementary for use with Pantheon"; + homepage = https://github.com/elementary/gala; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch new file mode 100644 index 000000000000..e83308ea5526 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch @@ -0,0 +1,22 @@ +diff --git a/meson.build b/meson.build +index 6b20a60..205699b 100644 +--- a/meson.build ++++ b/meson.build +@@ -38,7 +38,7 @@ conf.set_quoted('PACKAGE_VERSION', gala_version) + conf.set_quoted('DATADIR', data_dir) + conf.set_quoted('PKGDATADIR', pkgdata_dir) + conf.set_quoted('PKGLIBDIR', pkglib_dir) +-conf.set_quoted('PLUGINSDIR', plugins_dir) ++conf.set_quoted('PLUGINSDIR', '/run/current-system/sw/lib/gala/plugins') + conf.set_quoted('RELEASE_NAME', 'Window Manager.') + conf.set_quoted('VERSION', gala_version) + conf.set_quoted('VERSION_INFO', (is_release ? 'Release' : 'Development')) +@@ -83,7 +83,7 @@ add_project_arguments([ + '-DDATADIR="@0@"'.format(data_dir), + '-DPKGDATADIR="@0@"'.format(pkgdata_dir), + '-DPKGLIBDIR="@0@"'.format(pkglib_dir), +- '-DPLUGINDIR="@0@"'.format(plugins_dir), ++ '-DPLUGINDIR="@0@"'.format('/run/current-system/sw/lib/gala/plugins'), + '-DSCHEMA="org.pantheon.desktop.gala"', + '-DRESOURCEPATH="/org/pantheon/desktop/gala"', + diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch new file mode 100644 index 000000000000..264a4a5b26da --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch @@ -0,0 +1,24 @@ +diff --git a/lib/synapse-plugins/calculator-plugin.vala b/lib/synapse-plugins/calculator-plugin.vala +index 1b5fa06..076c0c7 100644 +--- a/lib/synapse-plugins/calculator-plugin.vala ++++ b/lib/synapse-plugins/calculator-plugin.vala +@@ -51,9 +51,7 @@ namespace Synapse { + _("Calculator"), + _("Calculate basic expressions."), + "accessories-calculator", +- register_plugin, +- Environment.find_program_in_path ("bc") != null, +- _("bc is not installed")); ++ register_plugin); + } + + static construct { +@@ -90,7 +88,7 @@ namespace Synapse { + if (matched) { + Pid pid; + int read_fd, write_fd; +- string[] argv = {"bc", "-l"}; ++ string[] argv = {"@exec@", "-l"}; + string? solution = null; + + try { diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix new file mode 100644 index 000000000000..e4f7df107ba8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchFromGitHub, pantheon, substituteAll, cmake, ninja +, pkgconfig, vala, granite, libgee, gettext, gtk3, appstream, gnome-menus +, json-glib, plank, bamf, switchboard, libunity, libsoup, wingpanel, libwnck3 +, zeitgeist, gobject-introspection, elementary-icon-theme, bc, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "applications-menu"; + version = "2.4.2"; + + name = "wingpanel-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0y7kh50ixvm4m56v18c70s05hhpfp683c4qi3sxy50p2368d772x"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "wingpanel-${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream + cmake + ninja + gettext + gobject-introspection + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + bamf + elementary-icon-theme + gnome-menus + granite + gtk3 + json-glib + libgee + libsoup + libunity + libwnck3 + plank + switchboard + wingpanel + zeitgeist + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "lib/switchboard"; + + patches = [ + (substituteAll { + src = ./bc.patch; + exec = "${bc}/bin/bc"; + }) + ./xdg.patch + ]; + + meta = with stdenv.lib; { + description = "Lightweight and stylish app launcher for Pantheon"; + homepage = https://github.com/elementary/applications-menu; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch new file mode 100644 index 000000000000..f17e2581e07e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 928976a..7f0ea58 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,7 +90,7 @@ link_directories (${DEPS_LIBRARY_DIRS}) + + # Installation + install (TARGETS ${APPNAME} RUNTIME DESTINATION bin) +-install (FILES ${applications_menu} DESTINATION /etc/xdg/menus) ++install (FILES ${applications_menu} DESTINATION etc/xdg/menus) + file (GLOB resources "${CMAKE_CURRENT_SOURCE_DIR}/data/*") + + # Settings schema diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix new file mode 100644 index 000000000000..16f3ae2e28e0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3 +, ninja, vala, gtk3, granite, libnotify, wingpanel, libgee, libxml2 +, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-bluetooth"; + version = "2.1.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1gx0xglp6b3znxl4d2vpzhfkxz5z8q04hh7z2mrihj1in155bn44"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + libxml2 + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libgee + libnotify + wingpanel + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Bluetooth Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-bluetooth; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch new file mode 100644 index 000000000000..2370fbcd3cb2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch @@ -0,0 +1,13 @@ +diff --git a/src/Widgets/calendar/Calendar.vala b/src/Widgets/calendar/Calendar.vala +index 76443ca..d86bd44 100644 +--- a/src/Widgets/calendar/Calendar.vala ++++ b/src/Widgets/calendar/Calendar.vala +@@ -19,7 +19,7 @@ + + namespace DateTime.Widgets { + public class Calendar : Gtk.Box { +- private const string CALENDAR_EXEC = "/usr/bin/io.elementary.calendar"; ++ private const string CALENDAR_EXEC = "@elementary-calendar@"; + + ControlHeader heading; + CalendarView cal; diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix new file mode 100644 index 000000000000..ee5cd5118186 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchFromGitHub, fetchpatch, pantheon, pkgconfig, meson, python3 +, ninja, substituteAll, vala, gtk3, granite, wingpanel, evolution-data-server +, libical, libgee, libxml2, libsoup, gobject-introspection +, elementary-calendar, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-datetime"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1y7a4xjwl3bpls56ys6g3s6mh5b3qbjm2vw7b6n2i4x7a63c4cbh"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + libxml2 + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + evolution-data-server + granite + gtk3 + libgee + libical + libsoup + wingpanel + ]; + + patches = [ + (substituteAll { + src = ./calendar-exec.patch; + elementary-calendar = "${elementary-calendar}/bin/io.elementary.calendar"; + }) + # Use "clock-format" GSettings key that's been moved to granite + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/wingpanel-indicator-datetime/raw/c8d515b76aa812c141212d5515621a6febd781a3/f/00-move-clock-format-settings-to-granite.patch"; + sha256 = "1sq3aw9ckkm057rnrclnw9lyrxbpl37fyzfnbixi2q3ypr70n880"; + }) + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Date & Time Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-datetime; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix new file mode 100644 index 000000000000..e2faccedbb70 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja +, substituteAll, vala, gtk3, granite, libxml2, wingpanel, libgee +, xorg, libgnomekbd, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-keyboard"; + version = "2.1.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0x0bdd9svw4sffx8pa0pqlh6mrj3fqp4mgrb4n7ys26k2w20ngnb"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + libxml2 + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libgee + wingpanel + ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + libgnomekbd_path = "${libgnomekbd}/bin/"; + config = "${xorg.xkeyboardconfig}/share/X11/xkb/rules/evdev.xml"; + }) + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + meta = with stdenv.lib; { + description = "Keyboard Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-keyboard; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch new file mode 100644 index 000000000000..58e6853e606e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch @@ -0,0 +1,26 @@ +diff --git a/src/Indicator.vala b/src/Indicator.vala +index cd7ca49..0bef9c7 100644 +--- a/src/Indicator.vala ++++ b/src/Indicator.vala +@@ -94,7 +94,7 @@ public class Keyboard.Indicator : Wingpanel.Indicator { + private void show_keyboard_map () { + close (); + +- string command = "gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\""; ++ string command = "@libgnomekbd_path@gkbd-keyboard-display \"--layout=" + layouts.get_current_with_variant () + "\""; + + try { + AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE).launch (null, null); +diff --git a/src/LayoutsManager.vala b/src/LayoutsManager.vala +index 1bac80e..67df847 100644 +--- a/src/LayoutsManager.vala ++++ b/src/LayoutsManager.vala +@@ -97,7 +97,7 @@ public class Keyboard.Widgets.LayoutManager : Gtk.ScrolledWindow { + + public string? get_name_for_xkb_layout (string language, string? variant) { + debug ("get_name_for_xkb_layout (%s, %s)", language, variant); +- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); ++ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); + if (doc == null) { + critical ("'evdev.xml' not found or permissions incorrect\n"); + return null; diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix new file mode 100644 index 000000000000..245e12d45919 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala +, gtk3, granite, networkmanager, networkmanagerapplet, wingpanel +, libgee, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-network"; + version = "2.2.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0fch27imk5x4nfx49cwcylkxd7m289rl9niy1vx5kjplhbhyhdq2"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libgee + networkmanager + networkmanagerapplet + wingpanel + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + meta = with stdenv.lib; { + description = "Network Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-network; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix new file mode 100644 index 000000000000..53754c31d874 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala +, gtk3, granite, wingpanel, libgee, libxml2, gobject-introspection +, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-nightlight"; + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "17pa048asbkhzz5945hjp96dnghdl72nqp1zq0b999nawnfrb339"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + libxml2 + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libgee + wingpanel + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + meta = with stdenv.lib; { + description = "Night Light Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-nightlight; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix new file mode 100644 index 000000000000..aff7d9891adf --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, gtk3, granite +, wingpanel, libgee, libwnck3, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-notifications"; + version = "2.1.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1960s3xcsx6yjlnk0csf1m66s1z1sj5rym9b2fy7pm2nan47z3ld"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libgee + libwnck3 + wingpanel + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + meta = with stdenv.lib; { + description = "Notifications Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-notifications; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix new file mode 100644 index 000000000000..d7627c511001 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, python3 +, ninja, vala, gtk3, granite, bamf, libgtop, udev, wingpanel +, libgee, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-power"; + version = "2.1.4"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "02gp9m9zkmhcl43nz02kjkcim4zm25zab3il8dhwkihh731g1c6j"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + bamf + elementary-icon-theme + granite + gtk3 + libgee + libgtop + udev + wingpanel + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Power Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-power; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix new file mode 100644 index 000000000000..b910f6a71809 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson +, ninja, vala, gtk3, granite, wingpanel, accountsservice +, libgee, gobject-introspection, elementary-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-session"; + version = "2.2.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "15ghhiabk74m7fm5pzr2qmdwpc330jczvvkwbf5pf7qczfyipjln"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; + + buildInputs = [ + accountsservice + elementary-icon-theme + granite + gtk3 + libgee + wingpanel + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + meta = with stdenv.lib; { + description = "Session Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-session; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix new file mode 100644 index 000000000000..003e431bcf7e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson +, python3, ninja, vala, gtk3, granite, wingpanel, libnotify +, pulseaudio, libcanberra-gtk3, libgee, libxml2, wrapGAppsHook +, gobject-introspection, elementary-icon-theme }: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-sound"; + version = "2.1.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0hxbr5dp8d1czq8ffw339r41c7srqb72vr48hxph8g091d3mcgcl"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gobject-introspection + libxml2 + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + elementary-icon-theme + granite + gtk3 + libcanberra-gtk3 + libgee + libnotify + pulseaudio + wingpanel + ]; + + PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "lib/wingpanel"; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Sound Indicator for Wingpanel"; + homepage = https://github.com/elementary/wingpanel-indicator-sound; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix new file mode 100644 index 000000000000..a5ca227bbc20 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchFromGitHub, pantheon, wrapGAppsHook, pkgconfig, meson, ninja +, vala, gala, gtk3, libgee, granite, gettext, glib-networking, mutter, json-glib +, python3, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "wingpanel"; + version = "2.2.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1knkqh9q6yp7qf27zi6ki20fq4w0ia2hklvv84ivfmfa0irz0j6r"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gettext + glib-networking + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + gala + granite + gtk3 + json-glib + libgee + mutter + ]; + + patches = [ ./indicators.patch ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "The extensible top panel for Pantheon"; + longDescription = '' + Wingpanel is an empty container that accepts indicators as extensions, + including the applications menu. + ''; + homepage = https://github.com/elementary/wingpanel; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/indicators.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/indicators.patch new file mode 100644 index 000000000000..68a5fd532a8d --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/indicators.patch @@ -0,0 +1,21 @@ +diff --git a/lib/IndicatorManager.vala b/lib/IndicatorManager.vala +index a99a1ec..0ae7799 100644 +--- a/lib/IndicatorManager.vala ++++ b/lib/IndicatorManager.vala +@@ -115,7 +115,15 @@ public class Wingpanel.IndicatorManager : GLib.Object { + } + + /* load indicators */ +- var base_folder = File.new_for_path (Build.INDICATORS_DIR); ++ ++ var indicators_path = Environment.get_variable("WINGPANEL_INDICATORS_PATH"); ++ if (indicators_path != null) { ++ debug ("WINGPANEL_INDICATORS_PATH set to %s", indicators_path); ++ } else { ++ critical ("WINGPANEL_INDICATORS_PATH not set"); ++ } ++ ++ var base_folder = File.new_for_path (indicators_path); + + try { + monitor = base_folder.monitor_directory (FileMonitorFlags.NONE, null); diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix new file mode 100644 index 000000000000..cfae604d3a53 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix @@ -0,0 +1,23 @@ +{ lib, makeWrapper, symlinkJoin, wingpanel, wingpanelIndicators, switchboard-with-plugs, indicators ? null }: + +let + selectedIndicators = if indicators == null then wingpanelIndicators else indicators; +in +symlinkJoin { + name = "${wingpanel.name}-with-indicators"; + + paths = [ wingpanel ] ++ selectedIndicators; + + buildInputs = [ makeWrapper ]; + + # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu + # has a plugin to search switchboard settings + postBuild = '' + wrapProgram $out/bin/wingpanel \ + --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" \ + --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" \ + --suffix XDG_DATA_DIRS : ${lib.concatMapStringsSep ":" (indicator: ''${indicator}/share/gsettings-schemas/${indicator.name}'') selectedIndicators} + ''; + + inherit (wingpanel) meta; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/granite/default.nix b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix new file mode 100644 index 000000000000..66ba331ddcdc --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/granite/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchFromGitHub, fetchpatch, python3, meson, ninja, vala, pkgconfig, gobject-introspection, libgee, pantheon, gtk3, glib, gettext, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "granite"; + version = "5.2.3"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "10ddq1s2w4jvpzq813cylmqhh8pggzaz890fy3kzg07275i98gah"; + }; + + patches = [ + # Resolve the circular dependency between granite and the datetime wingpanel indicator + # See: https://github.com/elementary/granite/pull/242 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/granite/raw/0550b44ed6400c9b1ff7e70871913747df2ff323/f/00-datetime-clock-format-gsettings.patch"; + sha256 = "0i9yvdmn77x5fjdwd1raw6ym8js8yxa7w6ydc7syx7hcyls00dmq"; + }) + ]; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + hicolor-icon-theme + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "An extension to GTK+ used by elementary OS"; + longDescription = '' + Granite is a companion library for GTK+ and GLib. Among other things, it provides complex widgets and convenience functions + designed for use in apps built for elementary OS. + ''; + homepage = https://github.com/elementary/granite; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} 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; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/update.nix b/nixpkgs/pkgs/desktops/pantheon/update.nix new file mode 100644 index 000000000000..48fd2f2bf858 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/update.nix @@ -0,0 +1,18 @@ +{ stdenv, writeScript, runCommand, nix, bash, git, jq, nix-prefetch-scripts, coreutils, common-updater-scripts, gnugrep, gnused, curl }: +{ repoName, attrPath ? repoName, versionPolicy ? "release" }: +let + script = ./update.sh; + + updateScript = runCommand "update.sh" { + inherit bash git jq nix coreutils gnugrep gnused curl; + # These weren't being substituted + nix_prefetch_scripts = nix-prefetch-scripts; + common_updater_scripts = common-updater-scripts; + } '' + substituteAll ${script} $out + chmod +x $out + ''; + + versionFlag = { "release" = "-r"; "master" = "-m"; }.${versionPolicy}; + +in [ updateScript versionFlag repoName attrPath ] diff --git a/nixpkgs/pkgs/desktops/pantheon/update.sh b/nixpkgs/pkgs/desktops/pantheon/update.sh new file mode 100755 index 000000000000..9bbbe2600344 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/update.sh @@ -0,0 +1,223 @@ +#!@bash@/bin/bash +PATH=@bash@/bin:@nix_prefetch_scripts@/bin:@common_updater_scripts@/bin:@git@/bin:@jq@/bin:@nix@/bin:@gnugrep@/bin:@gnused@/bin:@curl@/bin:$PATH +#!/usr/bin/env bash + +set -eu -o pipefail + +# +# ─── HOW TO USE ───────────────────────────────────────────────────────────────── +# + +function usage ( ) { + cat <<EOF +Usage: update.sh <repo_name> <attr> +EOF +} + +# +# ─── POINTS YOU IN THE RIGHT DIRECTION ────────────────────────────────────────── +# + + function usage_tip ( ) { + echo 'run `update.sh -h` for usage instructions' >&2 + exit 1 + } + +# +# ─── OPTIONS: RELEASE | MASTER ──────────────────────────────────────────────────── +# + + while getopts ":hrm" opt; do + case $opt in + r) + release=1 + master=0 + ;; + m) + master=1 + release=0 + ;; + h) + usage + exit + ;; + ?) + echo "Invalid option: -$OPTARG" >&2 + usage_tip + ;; + esac + done + + shift $((OPTIND-1)) + +# +# ─── FAIL WITH MESSAGE AND NON-ZERO EXIT STATUS ───────────────────────────────── +# + + function fail ( ) { + echo "$1" >&2 + exit 1 + } + +# +# ─── UPDATES PACKAGE TO LATEST TAGGED RELEASE ─────────────────────────────── +# + + function update_to_latest_release ( ) { + repo_name="$1" + attr="$2" + + version=$(get_latest_tag "$repo_name") + fetch=$(fetch "$repo_name" "refs/tags/${version}") + sha256=$(get_hash "${fetch}") + + update-source-version "pantheon.$attr" "$version" "$sha256" + + nix_file=$(get_file_path $attr) + + if [ ! -f "$nix_file" ]; then + fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!" + fi + + correct_rev "$attr" "$nix_file" "version" + } + +# +# ─── UPDATES PACKAGE TO MASTER ────────────────────────────────────────────────── +# + + function update_to_master ( ) { + repo_name="$1" + attr="$2" + + fetch=$(fetch "$repo_name" "refs/heads/master") + + version=$(get_version "$fetch") + sha256=$(get_hash "$fetch") + proper_version=$(get_master_date "$fetch") + + update-source-version "pantheon.$attr" "$proper_version" "$sha256" + + nix_file=$(get_file_path $attr) + + if [ ! -f "$nix_file" ]; then + fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!" + fi + + correct_rev "$attr" "$nix_file" '"'$version'"' + } + +# +# ─── GETS THE LATEST TAGGED RELEASE NAME FROM GITHUB ───────────────────── +# + + function get_latest_tag ( ) { + repo_name="$1" + + # Using github release api because sorting this repo just doesn't work because of old git sillyness + # Also too lazy to care to adapt `git ls-remote` command to work with it + if [ $repo_name == "switchboard-plug-pantheon-shell" ]; then + curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name' + else + git ls-remote --tags --sort="v:refname" "https://github.com/elementary/$repo_name" | tail -n1 | sed 's/.*\///; s/\^{}//' + fi + } + +# +# ─── FETCHES REPO AND RETURNS RELEVANT INFORMATION ────────────────── +# + + function fetch ( ) { + repo_name="$1" + version="$2" + + base_url="https://github.com/elementary" + full_url="$base_url/$repo_name" + + nix-prefetch-git --quiet --no-deepClone --url "$full_url" --rev "$version" + } + +# +# ─── PARSES GIT REVISION FROM FETCH ───────────────────────────────────────────── +# + + function get_version ( ) { + fetch_info="$1" + + echo "$fetch_info" | jq -r '.rev' + } + +# +# ─── PARSES HASH FROM FETCH ───────────────────────────────────────────────────── +# + + function get_hash ( ) { + fetch_info="$1" + + echo "$fetch_info" | jq -r '.sha256' + } + +# +# ─── PARSES DATE FROM FETCH AND NORMALIZES IT TO NIXPKGS STANDARD ─────────────── +# + + function get_master_date ( ) { + fetch_info="$1" + + full_date=$(echo "$fetch_info" | jq -r '.date') + short_date=$(date -d "$full_date" +"%Y-%m-%d") + + echo "unstable-$short_date" + } + +# +# ─── RETURN NIX EXPRESSION PATH ───────────────────────────────────────────────── +# + + function get_file_path () { + attr="$1" + + nix-instantiate --eval --strict -A "pantheon.$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/' + } + +# +# ─── CORRECTS REV VERSION ─────────────────────────────────────────────────────────── +# + + function correct_rev ( ) { + attr="$1" + nix_file="$2" + rev="$3" + + check_pattern1='^\s*rev\s*=\s*"[0-9a-f]{5,40}"' + check_pattern2='^\s*rev\s*=\s*version' + + replace_pattern1='/\brev\b\s*=/ s|\"[0-9a-f]{5,40}\"|'$rev'|' + replace_pattern2='/\brev\b\s*=/ s|version|'$rev'|' + + if [ $(grep -c -P "$check_pattern1" "$nix_file") = 1 ]; then + pattern="$replace_pattern1" + elif [ $(grep -c -P "$check_pattern2" "$nix_file") = 1 ]; then + pattern="$replace_pattern2" + else + fail "Couldn't figure out where out where to patch in the correct version in pantheon.$attr!" + fi + + sed -i.bak "$nix_file" -re "$pattern" + rm -f "$nix_file.bak" + } + + +# +# ─── WHETHER TO UPDATE TO RELEASE OR MASTER ────────────────────────────────── +# + + if [ $release = 1 ]; then + update_to_latest_release $1 $2 + elif [ $master = 1 ]; then + update_to_master $1 $2 + else + exit 1 + fi + +# ──────────────────────────────────────────────────────────────────────────────── diff --git a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh index 57b11f970f2c..814795499a99 100644 --- a/nixpkgs/pkgs/desktops/plasma-5/fetch.sh +++ b/nixpkgs/pkgs/desktops/plasma-5/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/plasma/5.14.4/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/plasma/5.14.5/ -A '*.tar.xz' ) diff --git a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix index 9fc1c7b6a9ab..0842034f0d89 100644 --- a/nixpkgs/pkgs/desktops/plasma-5/srcs.nix +++ b/nixpkgs/pkgs/desktops/plasma-5/srcs.nix @@ -3,363 +3,363 @@ { bluedevil = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/bluedevil-5.14.4.tar.xz"; - sha256 = "04c7nwlmwkdmqjxxy9wz2sdb9nx40vzln150iyw6bpw8vix5wwkv"; - name = "bluedevil-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/bluedevil-5.14.5.tar.xz"; + sha256 = "1khqw11apvcf5g5m9z111rvk4scxh3z3yhcpwqws1h0s5c5lr7z7"; + name = "bluedevil-5.14.5.tar.xz"; }; }; breeze = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/breeze-5.14.4.tar.xz"; - sha256 = "0xdnfnvkzy96wn4y670wq1xq4jla8pqr2pwy4z4flhck61a0s7nf"; - name = "breeze-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/breeze-5.14.5.tar.xz"; + sha256 = "15hphz2mm2m3j0a0hwj7m65rggyaxdxy08yqs73bg3yg67n6x3p7"; + name = "breeze-5.14.5.tar.xz"; }; }; breeze-grub = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/breeze-grub-5.14.4.tar.xz"; - sha256 = "1q21frlacgjyl5r6x32ihzsy25rihdpc18hg0qdcar1zq5hmk7b1"; - name = "breeze-grub-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/breeze-grub-5.14.5.tar.xz"; + sha256 = "0bkaaxfl1ds58qcdrxswaacir7wcc65a960lwdkmpdl16g9f4gix"; + name = "breeze-grub-5.14.5.tar.xz"; }; }; breeze-gtk = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/breeze-gtk-5.14.4.tar.xz"; - sha256 = "0aqj4ap1j9pajk211pbx7a692gm89kjdfh3lpbrrsi1bnq1rcq94"; - name = "breeze-gtk-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/breeze-gtk-5.14.5.tar.xz"; + sha256 = "0bysq83xbqmhb4wld51zd6lllr66b8w7pinizc99k8z1yz5jdb0m"; + name = "breeze-gtk-5.14.5.tar.xz"; }; }; breeze-plymouth = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/breeze-plymouth-5.14.4.tar.xz"; - sha256 = "1q9z5d96rrm8m3kjg3vi82az7a4c7h5n4mj736867nbcy4slqwk7"; - name = "breeze-plymouth-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/breeze-plymouth-5.14.5.tar.xz"; + sha256 = "1rbdpz9vlami7217v3dk8ljz0fgjz9zi1l0gwkhslayz5sybld96"; + name = "breeze-plymouth-5.14.5.tar.xz"; }; }; discover = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/discover-5.14.4.tar.xz"; - sha256 = "0pivys2ygpzyi3ykyqslnh1c429f722mk5raa4h4krl8aa5cwwni"; - name = "discover-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/discover-5.14.5.tar.xz"; + sha256 = "0gxhl2cv5yz3jw8fp8g8idi1k5hlhnvwbnvvg0dgnlzz6jb1s8dd"; + name = "discover-5.14.5.tar.xz"; }; }; drkonqi = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/drkonqi-5.14.4.tar.xz"; - sha256 = "1fyz5wxmilar01x94i46mzfg5nvkqanx2xsw8bwkzqmnd8ndmnmi"; - name = "drkonqi-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/drkonqi-5.14.5.tar.xz"; + sha256 = "0xgym368f9r21wjh9fpv16m90dcj87g9p5df850fnn2k5n8x38z8"; + name = "drkonqi-5.14.5.tar.xz"; }; }; kactivitymanagerd = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kactivitymanagerd-5.14.4.tar.xz"; - sha256 = "1ahfsqqgwlcsfy5d86i35kz8m90iarldnmlhsqw2bqk9al0qnsgm"; - name = "kactivitymanagerd-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kactivitymanagerd-5.14.5.tar.xz"; + sha256 = "0zms9npis0rklnbz93c69h4yg7dkrmfkzvzsfvkg90w37ap3vyl7"; + name = "kactivitymanagerd-5.14.5.tar.xz"; }; }; kde-cli-tools = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kde-cli-tools-5.14.4.tar.xz"; - sha256 = "11gkplnn95c78rdr0qs2hr08qv6scplsrff2nrz0n3g8sdplz2yy"; - name = "kde-cli-tools-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kde-cli-tools-5.14.5.tar.xz"; + sha256 = "01mrnjqla4q07cnb1p51nq2pvj9vaamic3dsyj3b7hqky9fna9ln"; + name = "kde-cli-tools-5.14.5.tar.xz"; }; }; kdecoration = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kdecoration-5.14.4.tar.xz"; - sha256 = "10nqshn8jj5dvrmdzn2x62lpa99d3q9wq7pv9q7lkbianlic3zzk"; - name = "kdecoration-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kdecoration-5.14.5.tar.xz"; + sha256 = "115pli0qpa8lx0jasg1886fcg7gb2kk8v6k8r8l8c820l97sq7in"; + name = "kdecoration-5.14.5.tar.xz"; }; }; kde-gtk-config = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kde-gtk-config-5.14.4.tar.xz"; - sha256 = "1dmx9pd404jy03k7wgh0xjdpxn2nmz8mbg6ysjvw1z89ggm4dxy8"; - name = "kde-gtk-config-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kde-gtk-config-5.14.5.tar.xz"; + sha256 = "12467wkjh2nmcf6r7n8qin1rryd39g0dg7gn43sdg6vdwpyl2kdm"; + name = "kde-gtk-config-5.14.5.tar.xz"; }; }; kdeplasma-addons = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kdeplasma-addons-5.14.4.tar.xz"; - sha256 = "0sdrkjsh4a4i7iv49m9s8rjp40bzarq8i3w4c64w6446jz66g4j9"; - name = "kdeplasma-addons-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kdeplasma-addons-5.14.5.tar.xz"; + sha256 = "18sph3719d9pq2j5k7swiv9xbrpj659a3q66zvhz3dmh11y73f0m"; + name = "kdeplasma-addons-5.14.5.tar.xz"; }; }; kgamma5 = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kgamma5-5.14.4.tar.xz"; - sha256 = "028alj0768pc2zb7h613vcxs8zsqgd6nn4lpni4c8l25n5wzyd11"; - name = "kgamma5-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kgamma5-5.14.5.tar.xz"; + sha256 = "17smrdwyalknb3f6ckqs7kglfpqwajbiyd212wlsmqbva4by0fy0"; + name = "kgamma5-5.14.5.tar.xz"; }; }; khotkeys = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/khotkeys-5.14.4.tar.xz"; - sha256 = "033syji5mwd0il6d71p3r2dgqvs3lb5ybxkjb4m54sffbb0glrx2"; - name = "khotkeys-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/khotkeys-5.14.5.tar.xz"; + sha256 = "0572jpgbhacx4gy40m594rbnxy3zaq5w3lcrfd8i2750ljswcq24"; + name = "khotkeys-5.14.5.tar.xz"; }; }; kinfocenter = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kinfocenter-5.14.4.tar.xz"; - sha256 = "1nh9dg37dnl2b11l400dswaf8qf8qspck0pdr7svrncv2yn3zirc"; - name = "kinfocenter-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kinfocenter-5.14.5.tar.xz"; + sha256 = "1z1i9g923cbdni5gfa6dpv46z1p2v40rfcvhy7i9h5nf49aw2rnc"; + name = "kinfocenter-5.14.5.tar.xz"; }; }; kmenuedit = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kmenuedit-5.14.4.tar.xz"; - sha256 = "09lafgcxv2v745m04ljgsqgflw3j3ydx17974c1c7qfgr255994g"; - name = "kmenuedit-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kmenuedit-5.14.5.tar.xz"; + sha256 = "1aa4a35s5h44fc88hmmfdpzy26zc47h9n448cd4vbm4bm411551d"; + name = "kmenuedit-5.14.5.tar.xz"; }; }; kscreen = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kscreen-5.14.4.tar.xz"; - sha256 = "1cqlhi4r1qli2izrj64x07cwz1k0qxclr0ckgkfx2lzdgp00gc96"; - name = "kscreen-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kscreen-5.14.5.tar.xz"; + sha256 = "1nb1ysgcx49galbf16mxbawybfik92bpr9vbwgg5ycsdx1f9q8yi"; + name = "kscreen-5.14.5.tar.xz"; }; }; kscreenlocker = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kscreenlocker-5.14.4.tar.xz"; - sha256 = "1fpknd22d1lr63d203k1m7w09d2dxg80a5r83jhxs439y9winwz2"; - name = "kscreenlocker-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kscreenlocker-5.14.5.tar.xz"; + sha256 = "16amr7pz0k6w5vkk1dwn2qi3s1mln0jypwmjazqq2lbwimn8k56m"; + name = "kscreenlocker-5.14.5.tar.xz"; }; }; ksshaskpass = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/ksshaskpass-5.14.4.tar.xz"; - sha256 = "1cj6w9kqjg7qxq7xdn227xy6wnmpv72s08wdphhpv1lhpafgf0pm"; - name = "ksshaskpass-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/ksshaskpass-5.14.5.tar.xz"; + sha256 = "0skr247k4ky7lpbdwlmkrnr3mj1pa6pxl96pyxwsw7za784qg6dj"; + name = "ksshaskpass-5.14.5.tar.xz"; }; }; ksysguard = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/ksysguard-5.14.4.tar.xz"; - sha256 = "0gqji22k1pvs89zr6f5y71v2rma3p2ypp9ld449jn6rlizyfski1"; - name = "ksysguard-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/ksysguard-5.14.5.tar.xz"; + sha256 = "0ybxh6ll080rkrrr4b5ydl06x8zi97702661cajvbv00lhq4vp8b"; + name = "ksysguard-5.14.5.tar.xz"; }; }; kwallet-pam = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kwallet-pam-5.14.4.tar.xz"; - sha256 = "15656m50xly9x7j2min813pr5lk7ymyb82is2s1lmfggrxghqjiq"; - name = "kwallet-pam-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kwallet-pam-5.14.5.tar.xz"; + sha256 = "1mkjjc88kqf5x313nifla9pzrgzqm4v92150dbs1f89bsn673pk8"; + name = "kwallet-pam-5.14.5.tar.xz"; }; }; kwayland-integration = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kwayland-integration-5.14.4.tar.xz"; - sha256 = "02w048f366mikpbqmjpliyrali7gd2flfjbv9nfgzhld9ixx1wwq"; - name = "kwayland-integration-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kwayland-integration-5.14.5.tar.xz"; + sha256 = "0rd0xhb53iixv9i8x0gh3rr1082lj7zdymsqdmi7sfgb66g8c03l"; + name = "kwayland-integration-5.14.5.tar.xz"; }; }; kwin = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kwin-5.14.4.tar.xz"; - sha256 = "0g9j394q7a2fk6wb2np7rjr1icdz9sr6iqjsicr881j088vxsini"; - name = "kwin-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kwin-5.14.5.tar.xz"; + sha256 = "0ifdlnzw3ydrbidzk256vks66d1rxyilhqi09csygx17jqk7szj4"; + name = "kwin-5.14.5.tar.xz"; }; }; kwrited = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/kwrited-5.14.4.tar.xz"; - sha256 = "1c8zwvc672a1z4dj8qq1wma5a8lm0kvyxki4kacx7n9xfrh54njv"; - name = "kwrited-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/kwrited-5.14.5.tar.xz"; + sha256 = "0115qscr8a54h7h8w4xw4fjzp7qipyw3d3jswhii7axnzp6q6qnh"; + name = "kwrited-5.14.5.tar.xz"; }; }; libkscreen = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/libkscreen-5.14.4.tar.xz"; - sha256 = "1n56fb6sxjyh73lb17s44yjlfhyqx2n3q320vncjx2jxxh0an80z"; - name = "libkscreen-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/libkscreen-5.14.5.tar.xz"; + sha256 = "1vyaml5ap9siw9idiny92li2bykd0nwjsmwmg0c7ad912j4g1s7y"; + name = "libkscreen-5.14.5.tar.xz"; }; }; libksysguard = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/libksysguard-5.14.4.tar.xz"; - sha256 = "1nflk9vr2s2mc8ddl0rjvvh9iks4vwvf8ahlskqc068xm8ja0cr2"; - name = "libksysguard-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/libksysguard-5.14.5.tar.xz"; + sha256 = "11nz0g7dqvpvgsv0a7sai445vgfsfi25plj7jb1i46n7zf8i8mya"; + name = "libksysguard-5.14.5.tar.xz"; }; }; milou = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/milou-5.14.4.tar.xz"; - sha256 = "1dkkr5zinia1zy439rm1sdz6r8hix1l4w8bw9rwwbk6yydvp2mkf"; - name = "milou-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/milou-5.14.5.tar.xz"; + sha256 = "1776441mhmwcvrzmdqg531md79azbkbhng51kyq6i9cvkhxyf583"; + name = "milou-5.14.5.tar.xz"; }; }; oxygen = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/oxygen-5.14.4.tar.xz"; - sha256 = "1rdxisnrmyywbanvchs57fr37d3ilakg83b78v8z6ji0jiy1wk0z"; - name = "oxygen-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/oxygen-5.14.5.tar.xz"; + sha256 = "0h70k7af69zdky0g6napd1kdnvbxhnw3nrwr9jqv1fq5762xnkk8"; + name = "oxygen-5.14.5.tar.xz"; }; }; plasma-browser-integration = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-browser-integration-5.14.4.tar.xz"; - sha256 = "0gwdi6mqfmv7hpdbhklxcxy07awvm9k22vj4wmzca3h7k334l35m"; - name = "plasma-browser-integration-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-browser-integration-5.14.5.tar.xz"; + sha256 = "1260h5sh0gkbkhcj17ss0n0y48i1pxh3f4p5dcbgbz775g1dhi2s"; + name = "plasma-browser-integration-5.14.5.tar.xz"; }; }; plasma-desktop = { - version = "5.14.4.1"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-desktop-5.14.4.1.tar.xz"; - sha256 = "0qcmqm9dag6xjfdn5zlbcpksbc70z3bwpc0dg5s315bdv2jha8c4"; - name = "plasma-desktop-5.14.4.1.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-desktop-5.14.5.tar.xz"; + sha256 = "0pr07p36jrpvkk4fp14fb4minnwj5gnmvdg9jf7bi8sjjz6jpnnl"; + name = "plasma-desktop-5.14.5.tar.xz"; }; }; plasma-integration = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-integration-5.14.4.tar.xz"; - sha256 = "0jjfb0gx51zglcn59xzz8306zm55b6nsd057vkwddinq5qi3x938"; - name = "plasma-integration-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-integration-5.14.5.tar.xz"; + sha256 = "15nhrliri4cjx712f1rxbq2f87lj4wxsqgbhw9p02z12h3n9z3ds"; + name = "plasma-integration-5.14.5.tar.xz"; }; }; plasma-nm = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-nm-5.14.4.tar.xz"; - sha256 = "14jjaaaqbsqgzzfpz7nqk7sw1jy4dc6sxrgz46hrdf0n04ga9kxk"; - name = "plasma-nm-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-nm-5.14.5.tar.xz"; + sha256 = "1hf98c9llcff0h2w4l45nw0vysxvnanf7hczhj93z4562qrafxm2"; + name = "plasma-nm-5.14.5.tar.xz"; }; }; plasma-pa = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-pa-5.14.4.tar.xz"; - sha256 = "18mc1aagz4b3lmv1dmabqnc4xr64j9is597lqpjc0c28gm0rnqp3"; - name = "plasma-pa-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-pa-5.14.5.tar.xz"; + sha256 = "0z74qg7m4y1ifzni1877hiil3rn6ad3x4fvgv4bib4jhg7ckaiqg"; + name = "plasma-pa-5.14.5.tar.xz"; }; }; plasma-sdk = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-sdk-5.14.4.tar.xz"; - sha256 = "1mg1229xcv0zjx85a0418ypv38q0q87xxcmmzjdqgxmhk6dx5dys"; - name = "plasma-sdk-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-sdk-5.14.5.tar.xz"; + sha256 = "0v90nk6yhrapdszh8sd3m0wffkjgnrhdy1sz1vl9s0ab5sdpmxr1"; + name = "plasma-sdk-5.14.5.tar.xz"; }; }; plasma-tests = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-tests-5.14.4.tar.xz"; - sha256 = "17imxri9n4hv27z0d7nbwvdgvc45ql224aj1gcpxmrn4p4zfc8w7"; - name = "plasma-tests-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-tests-5.14.5.tar.xz"; + sha256 = "03h889xn6i067d1sdymn6fgj8xik3pa75lljl8kj3vl6bks24jyh"; + name = "plasma-tests-5.14.5.tar.xz"; }; }; plasma-vault = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-vault-5.14.4.tar.xz"; - sha256 = "1fwa8w95n3d25mk823q1dzyhari4fzwnnx6jwny0spcqyhzr4xcr"; - name = "plasma-vault-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-vault-5.14.5.tar.xz"; + sha256 = "17r44n0mkcwc2fkjf397ks8xv82m59gvnawbj9713c5l31ln5mi3"; + name = "plasma-vault-5.14.5.tar.xz"; }; }; plasma-workspace = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-workspace-5.14.4.tar.xz"; - sha256 = "0dmgk26wcs69py9qd6q3hg8npkbkk25fl5l6nl88x0jh9mqiyff5"; - name = "plasma-workspace-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-workspace-5.14.5.tar.xz"; + sha256 = "14d3wnsm4bi1izx5qlpk0mnqmxwx18bqypa3wwmhn1535kfz8glh"; + name = "plasma-workspace-5.14.5.tar.xz"; }; }; plasma-workspace-wallpapers = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plasma-workspace-wallpapers-5.14.4.tar.xz"; - sha256 = "1kvc0v0rjixkf4zfr9gcpmyrs62xpccv96fyw534xiw4w5pr73i6"; - name = "plasma-workspace-wallpapers-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plasma-workspace-wallpapers-5.14.5.tar.xz"; + sha256 = "17q0685i4267ihlrii3b8764ak458kzs0inqfcj9x25m338xz19q"; + name = "plasma-workspace-wallpapers-5.14.5.tar.xz"; }; }; plymouth-kcm = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/plymouth-kcm-5.14.4.tar.xz"; - sha256 = "02c7s9js3943by7s0d3lalamliq98jm26syafmn6q1wz0msza40x"; - name = "plymouth-kcm-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/plymouth-kcm-5.14.5.tar.xz"; + sha256 = "1cwmkprhc4496x4a38l2x7hnifnp4daw8g1gic0ik2sm0a6xn77k"; + name = "plymouth-kcm-5.14.5.tar.xz"; }; }; polkit-kde-agent = { - version = "1-5.14.4"; + version = "1-5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/polkit-kde-agent-1-5.14.4.tar.xz"; - sha256 = "1pvyxjg1p510v6ahrab017s2sqfq3zld0xjf2yh30x55hz6pvnmb"; - name = "polkit-kde-agent-1-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/polkit-kde-agent-1-5.14.5.tar.xz"; + sha256 = "1lzw4zq2ysnva5g1v85k9k6yck30wfgcy0sn1ncxy183vm36b2ag"; + name = "polkit-kde-agent-1-5.14.5.tar.xz"; }; }; powerdevil = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/powerdevil-5.14.4.tar.xz"; - sha256 = "04qyz7jncnyj65rpdriaylarsnimqhk1va98im50bsdyiya5hj33"; - name = "powerdevil-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/powerdevil-5.14.5.tar.xz"; + sha256 = "0rdrj6k7bb1cisz1g8akxxn68c8rj0zddim1afvcq1iqr727wqj5"; + name = "powerdevil-5.14.5.tar.xz"; }; }; sddm-kcm = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/sddm-kcm-5.14.4.tar.xz"; - sha256 = "03xisf0z88385zfixmah09ry53cayc4kqjn92zlqnfrc9pqnmgcz"; - name = "sddm-kcm-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/sddm-kcm-5.14.5.tar.xz"; + sha256 = "0aix2grc2h2w8qxcbdwxhvq09ispblnisl017bvb19apkvs0w8m1"; + name = "sddm-kcm-5.14.5.tar.xz"; }; }; systemsettings = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/systemsettings-5.14.4.tar.xz"; - sha256 = "0glyk9798kaps0fdmclchb6phpr0p315n7w9c9p8ww4b8kj4jyly"; - name = "systemsettings-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/systemsettings-5.14.5.tar.xz"; + sha256 = "1q1ih74vkdhss64ayc3qmbrw4hhvfl3axlkhh63rky09qn83x9zw"; + name = "systemsettings-5.14.5.tar.xz"; }; }; user-manager = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/user-manager-5.14.4.tar.xz"; - sha256 = "110w6n8k1zjbillcmbqy3vc43lznimns60pwh84js8mgqrjx7psb"; - name = "user-manager-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/user-manager-5.14.5.tar.xz"; + sha256 = "0aw2s029547rzx3xg9nib5w30d25978fpv7xyshxmp3z8rmzgcjv"; + name = "user-manager-5.14.5.tar.xz"; }; }; xdg-desktop-portal-kde = { - version = "5.14.4"; + version = "5.14.5"; src = fetchurl { - url = "${mirror}/stable/plasma/5.14.4/xdg-desktop-portal-kde-5.14.4.tar.xz"; - sha256 = "1p2h7rqgvwzlfk9jjhsifjcdl81d72d1d7zmgxy9alc4cqnlmbih"; - name = "xdg-desktop-portal-kde-5.14.4.tar.xz"; + url = "${mirror}/stable/plasma/5.14.5/xdg-desktop-portal-kde-5.14.5.tar.xz"; + sha256 = "0h6hdk9fkf98jfjaza773k37369ayvwmwrgxn6al2pma6n07vddq"; + name = "xdg-desktop-portal-kde-5.14.5.tar.xz"; }; }; } diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix index 541b30ec1b3d..80153332934a 100644 --- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; description = "Mailwatch plugin for Xfce panel"; platforms = platforms.linux; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix index 5331c29a4546..8a602b8b4a1e 100644 --- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; description = "MPD plugin for Xfce panel"; platforms = platforms.linux; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix index 57cd48c6f270..73ab7782ebd4 100644 --- a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix @@ -25,6 +25,6 @@ stdenv.mkDerivation rec { description = "A simple XFCE panel plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"; platforms = platforms.linux; license = licenses.gpl2; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } |