diff --git a/lib/licenses.nix b/lib/licenses.nix
index fc9cb42621d..b022d8bc11b 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -451,6 +451,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "libpng License";
};
+ libpng2 = {
+ fullName = "libpng License v2"; # 1.6.36+
+ url = "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt";
+ };
+
libtiff = spdx {
spdxId = "libtiff";
fullName = "libtiff License";
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml
index 428f9bef5fb..270acda9b04 100644
--- a/nixos/doc/manual/release-notes/rl-1903.xml
+++ b/nixos/doc/manual/release-notes/rl-1903.xml
@@ -23,6 +23,38 @@
The default Python 3 interpreter is now CPython 3.7 instead of CPython 3.6.
+
+
+ Added the Pantheon desktop environment.
+ It can be enabled through services.xserver.desktopManager.pantheon.enable.
+
+
+
+ services.xserver.desktopManager.pantheon default enables lightdm
+ as a display manager and using Pantheon's greeter.
+
+
+ This is because of limitations with the screenlocking implementation, whereas the
+ screenlocker would be non-functional without it.
+
+
+ Because of that it is recommended to retain this precaution, however if you'd like to change this set:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ to false and enable your preferred display manager.
+
+
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 04bcb41cd07..003b9df95d7 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -242,6 +242,8 @@
./services/desktops/bamf.nix
./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix
+ ./services/desktops/pantheon/contractor.nix
+ ./services/desktops/pantheon/files.nix
./services/desktops/flatpak.nix
./services/desktops/geoclue2.nix
./services/desktops/gsignond.nix
@@ -267,6 +269,7 @@
./services/desktops/gnome3/tracker-miners.nix
./services/desktops/profile-sync-daemon.nix
./services/desktops/telepathy.nix
+ ./services/desktops/tumbler.nix
./services/desktops/zeitgeist.nix
./services/development/bloop.nix
./services/development/hoogle.nix
diff --git a/nixos/modules/services/desktops/pantheon/contractor.nix b/nixos/modules/services/desktops/pantheon/contractor.nix
new file mode 100644
index 00000000000..bd538db7241
--- /dev/null
+++ b/nixos/modules/services/desktops/pantheon/contractor.nix
@@ -0,0 +1,39 @@
+# Contractor
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+
+ ###### interface
+
+ options = {
+
+ services.pantheon.contractor = {
+
+ enable = mkEnableOption "contractor, a desktop-wide extension service used by pantheon";
+
+ };
+
+ };
+
+
+ ###### implementation
+
+ config = mkIf config.services.pantheon.contractor.enable {
+
+ environment.systemPackages = with pkgs.pantheon; [
+ contractor
+ extra-elementary-contracts
+ ];
+
+ services.dbus.packages = [ pkgs.pantheon.contractor ];
+
+ environment.pathsToLink = [
+ "/share/contractor"
+ ];
+
+ };
+
+}
diff --git a/nixos/modules/services/desktops/pantheon/files.nix b/nixos/modules/services/desktops/pantheon/files.nix
new file mode 100644
index 00000000000..2edbe5b3a6d
--- /dev/null
+++ b/nixos/modules/services/desktops/pantheon/files.nix
@@ -0,0 +1,36 @@
+# pantheon files daemon.
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+
+ ###### interface
+
+ options = {
+
+ services.pantheon.files = {
+
+ enable = mkEnableOption "pantheon files daemon";
+
+ };
+
+ };
+
+
+ ###### implementation
+
+ config = mkIf config.services.pantheon.files.enable {
+
+ environment.systemPackages = [
+ pkgs.pantheon.elementary-files
+ ];
+
+ services.dbus.packages = [
+ pkgs.pantheon.elementary-files
+ ];
+
+ };
+
+}
diff --git a/nixos/modules/services/desktops/tumbler.nix b/nixos/modules/services/desktops/tumbler.nix
new file mode 100644
index 00000000000..ccbb6d1434d
--- /dev/null
+++ b/nixos/modules/services/desktops/tumbler.nix
@@ -0,0 +1,50 @@
+# Tumbler
+
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.tumbler;
+ tumbler = cfg.package;
+
+in
+
+{
+
+ ###### interface
+
+ options = {
+
+ services.tumbler = {
+
+ enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service";
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.xfce4-13.tumbler;
+ description = "Which tumbler package to use";
+ example = pkgs.xfce4-12.tumbler;
+ };
+
+ };
+
+ };
+
+
+ ###### implementation
+
+ config = mkIf cfg.enable {
+
+ environment.systemPackages = [
+ tumbler
+ ];
+
+ services.dbus.packages = [
+ tumbler
+ ];
+
+ };
+
+}
diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix
index 4eabda1d418..4ccfa22c89e 100644
--- a/nixos/modules/services/misc/home-assistant.nix
+++ b/nixos/modules/services/misc/home-assistant.nix
@@ -53,7 +53,7 @@ let
# If you are changing this, please update the description in applyDefaultConfig
defaultConfig = {
homeassistant.time_zone = config.time.timeZone;
- http.server_port = (toString cfg.port);
+ http.server_port = cfg.port;
} // optionalAttrs (cfg.lovelaceConfig != null) {
lovelace.mode = "yaml";
};
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index cce35aa28ba..2b1e9169e5f 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -20,7 +20,7 @@ in
imports = [
./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
- ./mate.nix
+ ./mate.nix ./pantheon.nix
];
options = {
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
new file mode 100644
index 00000000000..0f49439bf7c
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -0,0 +1,195 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.xserver.desktopManager.pantheon;
+
+ nixos-gsettings-desktop-schemas = pkgs.pantheon.elementary-gsettings-schemas.override {
+ extraGSettingsOverridePackages = cfg.extraGSettingsOverridePackages;
+ extraGSettingsOverrides = cfg.extraGSettingsOverrides;
+ };
+
+in
+
+{
+ options = {
+
+ services.xserver.desktopManager.pantheon = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Enable the pantheon desktop manager";
+ };
+
+ sessionPath = mkOption {
+ default = [];
+ example = literalExample "[ pkgs.gnome3.gpaste ]";
+ description = ''
+ Additional list of packages to be added to the session search path.
+ Useful for GSettings-conditional autostart.
+
+ Note that this should be a last resort; patching the package is preferred (see GPaste).
+ '';
+ apply = list: list ++
+ [
+ pkgs.pantheon.pantheon-agent-geoclue2
+ ];
+ };
+
+ extraGSettingsOverrides = mkOption {
+ default = "";
+ type = types.lines;
+ description = "Additional gsettings overrides.";
+ };
+
+ extraGSettingsOverridePackages = mkOption {
+ default = [];
+ type = types.listOf types.path;
+ description = "List of packages for which gsettings are overridden.";
+ };
+
+ debug = mkEnableOption "gnome-session debug messages";
+
+ };
+
+ environment.pantheon.excludePackages = mkOption {
+ default = [];
+ example = literalExample "[ pkgs.pantheon.elementary-camera ]";
+ type = types.listOf types.package;
+ description = "Which packages pantheon should exclude from the default environment";
+ };
+
+ };
+
+
+ config = mkIf cfg.enable {
+
+ services.xserver.displayManager.extraSessionFilePackages = [ pkgs.pantheon.elementary-session-settings ];
+
+ # Ensure lightdm is used when Pantheon is enabled
+ # Without it screen locking will be nonfunctional because of the use of lightlocker
+ services.xserver.displayManager.lightdm.enable = mkDefault true;
+ services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true;
+
+ # If not set manually Pantheon session cannot be started
+ # Known issue of https://github.com/NixOS/nixpkgs/pull/43992
+ services.xserver.desktopManager.default = mkForce "pantheon";
+
+ services.xserver.displayManager.sessionCommands = ''
+ if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then
+ ${concatMapStrings (p: ''
+ if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
+ export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
+ fi
+
+ if [ -d "${p}/lib/girepository-1.0" ]; then
+ export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
+ fi
+ '') cfg.sessionPath}
+
+ # Makes qt applications look less alien
+ export QT_QPA_PLATFORMTHEME=gtk3
+ export QT_STYLE_OVERRIDE=adwaita
+ fi
+ '';
+
+ hardware.bluetooth.enable = mkDefault true;
+ hardware.pulseaudio.enable = mkDefault true;
+ security.polkit.enable = true;
+ services.accounts-daemon.enable = true;
+ services.bamf.enable = true;
+ services.colord.enable = mkDefault true;
+ services.pantheon.files.enable = mkDefault true;
+ services.tumbler.enable = mkDefault true;
+ services.dbus.packages = mkMerge [
+ ([ pkgs.pantheon.switchboard-plug-power ])
+ (mkIf config.services.printing.enable ([pkgs.system-config-printer]) )
+ ];
+ services.pantheon.contractor.enable = true;
+ services.geoclue2.enable = mkDefault true;
+ # pantheon has pantheon-agent-geoclue2
+ services.geoclue2.enableDemoAgent = false;
+ services.gnome3.at-spi2-core.enable = true;
+ services.gnome3.evolution-data-server.enable = true;
+ services.gnome3.file-roller.enable = true;
+ # TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
+ services.gnome3.gnome-keyring.enable = true;
+ services.gnome3.gvfs.enable = true;
+ services.gnome3.rygel.enable = true;
+ services.gsignond.enable = true;
+ services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ];
+ services.udev.packages = [ pkgs.pantheon.elementary-settings-daemon ];
+ services.udisks2.enable = true;
+ services.upower.enable = config.powerManagement.enable;
+ services.xserver.libinput.enable = mkDefault true;
+ services.xserver.updateDbusEnvironment = true;
+ services.zeitgeist.enable = true;
+
+ networking.networkmanager.enable = mkDefault true;
+ networking.networkmanager.basePackages =
+ { inherit (pkgs) networkmanager modemmanager wpa_supplicant;
+ inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
+ networkmanager-openconnect networkmanager-fortisslvpn
+ networkmanager-iodine networkmanager-l2tp; };
+
+ # Override GSettings schemas
+ environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
+
+ environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
+
+ environment.variables.GIO_EXTRA_MODULES = [
+ "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
+ "${pkgs.gnome3.glib-networking.out}/lib/gio/modules"
+ "${pkgs.gnome3.gvfs}/lib/gio/modules"
+ ];
+
+ environment.pathsToLink = [
+ # FIXME: modules should link subdirs of `/share` rather than relying on this
+ "/share"
+ ];
+
+ environment.systemPackages = pkgs.pantheon.artwork ++ pkgs.pantheon.desktop ++ pkgs.pantheon.services ++ cfg.sessionPath
+ ++ (pkgs.gnome3.removePackagesByName pkgs.pantheon.apps config.environment.pantheon.excludePackages)
+ ++ (with pkgs.gnome3;
+ [
+ adwaita-icon-theme
+ dconf
+ epiphany
+ evince
+ geary
+ gnome-bluetooth
+ gnome-font-viewer
+ gnome-power-manager
+ ])
+ ++ (with pkgs;
+ [
+ adwaita-qt
+ desktop-file-utils
+ glib
+ glib-networking
+ gnome-menus
+ gtk3.out
+ hicolor-icon-theme
+ lightlocker
+ plank
+ qgnomeplatform
+ shared-mime-info
+ sound-theme-freedesktop
+ xdg-user-dirs
+ ]);
+
+ fonts.fonts = with pkgs; [
+ opensans-ttf
+ roboto-mono
+ ];
+ fonts.fontconfig.defaultFonts = {
+ monospace = [ "Roboto Mono" ];
+ sansSerif = [ "Open Sans" ];
+ };
+
+ };
+
+}
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
new file mode 100644
index 00000000000..05011b999f2
--- /dev/null
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
@@ -0,0 +1,47 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ dmcfg = config.services.xserver.displayManager;
+ ldmcfg = dmcfg.lightdm;
+ cfg = ldmcfg.greeters.pantheon;
+
+ xgreeters = pkgs.linkFarm "pantheon-greeter-xgreeters" [{
+ path = "${pkgs.pantheon.elementary-greeter}/share/xgreeters/io.elementary.greeter.desktop";
+ name = "io.elementary.greeter.desktop";
+ }];
+
+in
+{
+ options = {
+
+ services.xserver.displayManager.lightdm.greeters.pantheon = {
+
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to enable elementary-greeter as the lightdm greeter.
+ '';
+ };
+
+ };
+
+ };
+
+ config = mkIf (ldmcfg.enable && cfg.enable) {
+
+ services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
+
+ services.xserver.displayManager.lightdm.greeter = mkDefault {
+ package = xgreeters;
+ name = "io.elementary.greeter";
+ };
+
+ environment.etc."lightdm/io.elementary.greeter.conf".source = "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf";
+ environment.etc."wingpanel.d/io.elementary.greeter.whitelist".source = "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.whitelist";
+
+ };
+}
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 567c3ac3454..3ab4f26399f 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -81,6 +81,7 @@ in
./lightdm-greeters/gtk.nix
./lightdm-greeters/mini.nix
./lightdm-greeters/enso-os.nix
+ ./lightdm-greeters/pantheon.nix
];
options = {
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index ea8b92e94f0..6c313f8dd3e 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -68,6 +68,7 @@ in rec {
(all nixos.tests.firefox)
(all nixos.tests.firewall)
(except ["aarch64-linux"] nixos.tests.gnome3)
+ (except ["aarch64-linux"] nixos.tests.pantheon)
nixos.tests.installer.zfsroot.x86_64-linux or [] # ZFS is 64bit only
(except ["aarch64-linux"] nixos.tests.installer.lvm)
(except ["aarch64-linux"] nixos.tests.installer.luksroot)
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index a847abdc542..fb68159d667 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -168,6 +168,7 @@ in
ostree = handleTest ./ostree.nix {};
pam-oath-login = handleTest ./pam-oath-login.nix {};
pam-u2f = handleTest ./pam-u2f.nix {};
+ pantheon = handleTest ./pantheon.nix {};
peerflix = handleTest ./peerflix.nix {};
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix
new file mode 100644
index 00000000000..c50f77f8617
--- /dev/null
+++ b/nixos/tests/pantheon.nix
@@ -0,0 +1,55 @@
+import ./make-test.nix ({ pkgs, ...} :
+
+{
+ name = "pantheon";
+ meta = with pkgs.stdenv.lib.maintainers; {
+ maintainers = [ worldofpeace ];
+ };
+
+ machine = { ... }:
+
+ {
+ imports = [ ./common/user-account.nix ];
+
+ services.xserver.enable = true;
+ services.xserver.desktopManager.pantheon.enable = true;
+
+ virtualisation.memorySize = 1024;
+ };
+
+ enableOCR = true;
+
+ testScript = { nodes, ... }: let
+ user = nodes.machine.config.users.users.alice;
+ in ''
+ startAll;
+
+ # Wait for display manager to start
+ $machine->waitForText(qr/${user.description}/);
+ $machine->screenshot("lightdm");
+
+ # Log in
+ $machine->sendChars("${user.password}\n");
+ $machine->waitForFile("/home/alice/.Xauthority");
+ $machine->succeed("xauth merge ~alice/.Xauthority");
+
+ # Check if "pantheon-shell" components actually start
+ $machine->waitUntilSucceeds("pgrep gala");
+ $machine->waitForWindow(qr/gala/);
+ $machine->waitUntilSucceeds("pgrep wingpanel");
+ $machine->waitForWindow("wingpanel");
+ $machine->waitUntilSucceeds("pgrep plank");
+ $machine->waitForWindow(qr/plank/);
+
+ # Check that logging in has given the user ownership of devices.
+ $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
+
+ # Open elementary terminal
+ $machine->execute("su - alice -c 'DISPLAY=:0.0 io.elementary.terminal &'");
+ $machine->waitForWindow(qr/io.elementary.terminal/);
+
+ # Take a screenshot of the desktop
+ $machine->sleep(20);
+ $machine->screenshot("screen");
+ '';
+})
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 3eb5806aa4c..f0fbc0bbe5c 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -11,8 +11,8 @@ let
sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
};
"2" = {
- fluidsynthVersion = "2.0.2";
- sha256 = "02vs5sfsyh1dl7wlcvgs4w3x0qcmsl7vi000qgp99ynwh3wjb274";
+ fluidsynthVersion = "2.0.3";
+ sha256 = "00f6bhw4ddrinb5flvg5y53rcvnf4km23a6nbvnswmpq13568v78";
};
};
in
diff --git a/pkgs/applications/audio/vocal/default.nix b/pkgs/applications/audio/vocal/default.nix
index 75f67adf464..49e11aee0a1 100644
--- a/pkgs/applications/audio/vocal/default.nix
+++ b/pkgs/applications/audio/vocal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, vala_0_40, gtk3, libxml2, granite, webkitgtk, clutter-gtk
+{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, pantheon, gtk3, libxml2, webkitgtk, clutter-gtk
, clutter-gst, libunity, libnotify, sqlite, gst_all_1, libsoup, json-glib, gnome3, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
@@ -20,16 +20,16 @@ stdenv.mkDerivation rec {
libxml2
ninja
pkgconfig
- vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
+ pantheon.vala
wrapGAppsHook
];
buildInputs = with gst_all_1; [
clutter-gst
clutter-gtk
- gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
+ pantheon.elementary-icon-theme
gnome3.libgee
- granite
+ pantheon.granite
gst-plugins-base
gst-plugins-good
gstreamer
diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix
index b9fe90be9fb..9edac16507c 100644
--- a/pkgs/applications/editors/quilter/default.nix
+++ b/pkgs/applications/editors/quilter/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3
-, granite, gtk3, desktop-file-utils, gnome3, gtksourceview, webkitgtk, gtkspell3
-, discount, gobject-introspection, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, meson, ninja, python3
+, gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon
+, gnome3, discount, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "quilter";
@@ -22,15 +22,15 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
- vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
+ pantheon.vala
wrapGAppsHook
];
buildInputs = [
discount
- gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
+ pantheon.elementary-icon-theme
+ pantheon.granite
gnome3.libgee
- granite
gtk3
gtksourceview
gtkspell3
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index d9bca530948..0787250fece 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/{bin,share}
cp $src $out/share/standardNotes.AppImage
- echo "#!/bin/sh" > $out/bin/standardnotes
+ echo "#!${stdenv.shell}" > $out/bin/standardnotes
echo "${appimage-run}/bin/appimage-run $out/share/standardNotes.AppImage" >> $out/bin/standardnotes
chmod +x $out/bin/standardnotes $out/share/standardNotes.AppImage
'';
diff --git a/pkgs/applications/editors/sublime/3/common.nix b/pkgs/applications/editors/sublime/3/common.nix
index cf6802eb9a9..71bd3544feb 100644
--- a/pkgs/applications/editors/sublime/3/common.nix
+++ b/pkgs/applications/editors/sublime/3/common.nix
@@ -115,7 +115,7 @@ in stdenv.mkDerivation (rec {
mkdir -p $out/bin
cat > $out/bin/subl <<-EOF
- #!/bin/sh
+ #!${stdenv.shell}
exec $sublime/sublime_text "\$@"
EOF
chmod +x $out/bin/subl
diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix
index 848f132060f..30223658f53 100644
--- a/pkgs/applications/graphics/alchemy/default.nix
+++ b/pkgs/applications/graphics/alchemy/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/share
cp -a . $out/share/alchemy
cat >> $out/bin/alchemy << EOF
- #!/bin/sh
+ #!${stdenv.shell}
cd $out/share/alchemy
${jre}/bin/java -jar Alchemy.jar "$@"
EOF
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 25095f04d01..1729f3c5cda 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -11,11 +11,11 @@ let
in
stdenv.mkDerivation rec {
- name = "inkscape-0.92.3";
+ name = "inkscape-0.92.4";
src = fetchurl {
url = "https://media.inkscape.org/dl/resources/file/${name}.tar.bz2";
- sha256 = "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6";
+ sha256 = "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p";
};
# Inkscape hits the ARGMAX when linking on macOS. It appears to be
diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix
index 94666531c0c..ac3de4a4e14 100644
--- a/pkgs/applications/graphics/swingsane/default.nix
+++ b/pkgs/applications/graphics/swingsane/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
installPhase = let
execWrapper = ''
- #!/bin/sh
+ #!${stdenv.shell}
exec ${jre}/bin/java -jar $out/share/java/swingsane/swingsane-${version}.jar "$@"
'';
diff --git a/pkgs/applications/graphics/wings/default.nix b/pkgs/applications/graphics/wings/default.nix
index ed3220d2bf9..e27f074b21b 100644
--- a/pkgs/applications/graphics/wings/default.nix
+++ b/pkgs/applications/graphics/wings/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
cp ebin/* $out/lib/${name}/ebin
cp -R textures shaders plugins $out/lib/$name
cat << EOF > $out/bin/wings
- #!/bin/sh
+ #!${stdenv.shell}
${erlang}/bin/erl \
-pa $out/lib/${name}/ebin -run wings_start start_halt "$@"
EOF
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index 03ffa8af370..c60d4b7b904 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
cp -r target/* "$out/share/java/zvtm/"
- echo '#!/bin/sh' > "$out/bin/zgrviewer"
+ echo '#!${stdenv.shell}' > "$out/bin/zgrviewer"
echo "${jre}/lib/openjdk/jre/bin/java -jar '$out/share/java/zvtm/zgrviewer-${version}.jar' \"\$@\"" >> "$out/bin/zgrviewer"
chmod a+x "$out/bin/zgrviewer"
'';
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 3b01e497039..6f6acd1e8bb 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/applications/18.12.0/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/applications/18.12.1/ -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index b691902e133..1efdd3e6123 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -3,1723 +3,1723 @@
{
akonadi = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-18.12.0.tar.xz";
- sha256 = "1c3frrfkcpr01684c1fkrwxbnzb7ipvwncm0jf5nb4d0waiv8q08";
- name = "akonadi-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-18.12.1.tar.xz";
+ sha256 = "141j1wicfl8lgwdgs8yh0mcs4gw004wz8ck21pz55xc1mi4yh9cx";
+ name = "akonadi-18.12.1.tar.xz";
};
};
akonadi-calendar = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-calendar-18.12.0.tar.xz";
- sha256 = "0amp79x3jwib7f0a8ksv96prb1mhfhpp475k09ryz7c054lmj1ys";
- name = "akonadi-calendar-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-calendar-18.12.1.tar.xz";
+ sha256 = "108ax9bpng5qp3cbn3f2x096l9jsv0x3d8xckcfvd4a3svgap1ri";
+ name = "akonadi-calendar-18.12.1.tar.xz";
};
};
akonadi-calendar-tools = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-calendar-tools-18.12.0.tar.xz";
- sha256 = "0w2ng8lfy3cib49c0warqh0k43q17bfmkq3g4rjkwri9cqdqrahp";
- name = "akonadi-calendar-tools-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-calendar-tools-18.12.1.tar.xz";
+ sha256 = "0a54jka0szi3d2dv4kr7s78lbm1sx6a47mccjzc2rp1w2x8dkagl";
+ name = "akonadi-calendar-tools-18.12.1.tar.xz";
};
};
akonadiconsole = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadiconsole-18.12.0.tar.xz";
- sha256 = "1qg889g1a1c5iwvwdwz8ygkj59v46yfk5cwpkf8q1jldjdxkrib5";
- name = "akonadiconsole-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadiconsole-18.12.1.tar.xz";
+ sha256 = "06mhpk66ck37k6bfi83cmnjv39lwvm245m0climh1idfi6mn08wk";
+ name = "akonadiconsole-18.12.1.tar.xz";
};
};
akonadi-contacts = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-contacts-18.12.0.tar.xz";
- sha256 = "0cn50nyrahb6pzshd35pc0issgiwg0r7j96xkmaxdigg9agjz9rn";
- name = "akonadi-contacts-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-contacts-18.12.1.tar.xz";
+ sha256 = "1lnqq2qalvzq6g4dwfnlgvrz9wpnl4g64is8ylrb6jf4bvfg3kvq";
+ name = "akonadi-contacts-18.12.1.tar.xz";
};
};
akonadi-import-wizard = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-import-wizard-18.12.0.tar.xz";
- sha256 = "1s477z6vb9qqz4q8bwprznn11fjjq0a6xfdmif6x0z30qrddllfd";
- name = "akonadi-import-wizard-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-import-wizard-18.12.1.tar.xz";
+ sha256 = "09r5nspv1l8i1ipjxn5xwi6swkggy10hsa8p5bj0qqclsf17ip5j";
+ name = "akonadi-import-wizard-18.12.1.tar.xz";
};
};
akonadi-mime = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-mime-18.12.0.tar.xz";
- sha256 = "1w974gn81gyrp3m5r2l8jx7xrq610mhmmn005wqfl7ac1n3s65ln";
- name = "akonadi-mime-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-mime-18.12.1.tar.xz";
+ sha256 = "0fyxls0qhvqcbhpw17vhr8m4h94s2d69c8bpf45k19f005gbb6dk";
+ name = "akonadi-mime-18.12.1.tar.xz";
};
};
akonadi-notes = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-notes-18.12.0.tar.xz";
- sha256 = "0b233nw7jcr4dnlfnnymwrm9my47a4mdmdbp9qsp2rmlzwddplvw";
- name = "akonadi-notes-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-notes-18.12.1.tar.xz";
+ sha256 = "1m2v3qj06pbpdncxcb37131q6xhbsrwp6qv72rmlwlj0cj7xyfl4";
+ name = "akonadi-notes-18.12.1.tar.xz";
};
};
akonadi-search = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akonadi-search-18.12.0.tar.xz";
- sha256 = "1kg8q5jkzcc4vndc8l2q7hvkjkdw2v5500pjw8pszwifzmi5klln";
- name = "akonadi-search-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akonadi-search-18.12.1.tar.xz";
+ sha256 = "1wwv92kmk4kwr8dj7y34nb2337s80hwnjblnfz4kl3z3ka782gd6";
+ name = "akonadi-search-18.12.1.tar.xz";
};
};
akregator = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/akregator-18.12.0.tar.xz";
- sha256 = "03968pcpvggn19721x89wn7d1n757xdk22f4rvxqq4d6qqh2myhd";
- name = "akregator-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/akregator-18.12.1.tar.xz";
+ sha256 = "0zjc6vgf5pdbmj7b3kl15aqkamg5slaxd5n4092pf7nf3v3r74r9";
+ name = "akregator-18.12.1.tar.xz";
};
};
analitza = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/analitza-18.12.0.tar.xz";
- sha256 = "0g8iz69cq2gc0qsraaqji8h7z1wcqq1baic4x7158q3xkrc7hg1f";
- name = "analitza-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/analitza-18.12.1.tar.xz";
+ sha256 = "0iwlkxcqj62l25ldpa325ymkvhim2mm152h3jqh3z1sc683hc1kv";
+ name = "analitza-18.12.1.tar.xz";
};
};
ark = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ark-18.12.0.tar.xz";
- sha256 = "16nmi8a9j4s00m4dnh4l7kcz1vjaqpcq1ilr0iv6wglpn3sycl1g";
- name = "ark-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ark-18.12.1.tar.xz";
+ sha256 = "1pcaaq8qdj3w15f0zqfwy7xwknpmb70yc7g4nmj4p48ahq5s2r86";
+ name = "ark-18.12.1.tar.xz";
};
};
artikulate = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/artikulate-18.12.0.tar.xz";
- sha256 = "187qwl9adrggbkf6dyw12pmmxxxbjcp2swxbyvmqx10dca2pgbgn";
- name = "artikulate-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/artikulate-18.12.1.tar.xz";
+ sha256 = "17msfgq83iy5dfl5qkmj4f89aa2gbk7p00f7bwiz2fnlg642wyq1";
+ name = "artikulate-18.12.1.tar.xz";
};
};
audiocd-kio = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/audiocd-kio-18.12.0.tar.xz";
- sha256 = "044ksczgc5k6ai1inmxqpibvcigjvxbqpf6n6irgl1jgavmxdpim";
- name = "audiocd-kio-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/audiocd-kio-18.12.1.tar.xz";
+ sha256 = "0kv03d2w0vf9fpp89ymnkizzyhckz9pjj8fcqwbacb78k6p52g6p";
+ name = "audiocd-kio-18.12.1.tar.xz";
};
};
baloo-widgets = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/baloo-widgets-18.12.0.tar.xz";
- sha256 = "1sq70l529dg2ww8pcksnbbmgh1wi1baj69adakqiacxi5v893clg";
- name = "baloo-widgets-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/baloo-widgets-18.12.1.tar.xz";
+ sha256 = "0axgx1zrbaki20vh9j9bd0h3qvn0ws4cza8smlgvlzx7fkbidmw3";
+ name = "baloo-widgets-18.12.1.tar.xz";
};
};
blinken = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/blinken-18.12.0.tar.xz";
- sha256 = "1dnp14g20a7gqy3zcysa7pxrj38zqxhgpyd4nxpdj6lzjgh2p7hx";
- name = "blinken-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/blinken-18.12.1.tar.xz";
+ sha256 = "0ka47snqj1xwf8m1qqa1vxgjwm151dzlk22zg07yh987qgc6fbj2";
+ name = "blinken-18.12.1.tar.xz";
};
};
bomber = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/bomber-18.12.0.tar.xz";
- sha256 = "1vjvajbra1m4zjbijn1nxj5x66hyv8q65874b3ajshb3lmv7rklj";
- name = "bomber-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/bomber-18.12.1.tar.xz";
+ sha256 = "0a5vvb2ka08lyvybr12gm3lfgvfj3r99kqw1prhr9n97w7f8yc1d";
+ name = "bomber-18.12.1.tar.xz";
};
};
bovo = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/bovo-18.12.0.tar.xz";
- sha256 = "1fslwk3zbxi16b1m7w7rbf8bgdhflnqrd6k90lpbwvlnxy6839iw";
- name = "bovo-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/bovo-18.12.1.tar.xz";
+ sha256 = "19w4xfqx6bxs8fr8vkma57ibl5b1jdqfjax240fg81qyqzkx4xsp";
+ name = "bovo-18.12.1.tar.xz";
};
};
calendarsupport = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/calendarsupport-18.12.0.tar.xz";
- sha256 = "180qzjlx0y4cfasmrf06ah8jdckbym1wrbmqlpyzjfy55mkwyf40";
- name = "calendarsupport-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/calendarsupport-18.12.1.tar.xz";
+ sha256 = "0hpq85wh94dlmrfabh1k76xdc9xqavfccjnfy20i71q2ml92gx4p";
+ name = "calendarsupport-18.12.1.tar.xz";
};
};
cantor = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/cantor-18.12.0.tar.xz";
- sha256 = "0isddvdd8gvaasigyj3njyl7ckcqc8ciqp82awlland3avll6rby";
- name = "cantor-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/cantor-18.12.1.tar.xz";
+ sha256 = "132zlpcqkbjdb1vrcy6innf6qmxlqibzpf0bgdi33q797vw63drc";
+ name = "cantor-18.12.1.tar.xz";
};
};
cervisia = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/cervisia-18.12.0.tar.xz";
- sha256 = "1r55zjfvlh5by9cv6pzcsbz71igbjr1pvyiyjkdhc36sbaiv0r3x";
- name = "cervisia-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/cervisia-18.12.1.tar.xz";
+ sha256 = "02ka1crhkb3dka3qp82vs624fz3hcwydm559x5dq0cdbibdmhqx7";
+ name = "cervisia-18.12.1.tar.xz";
};
};
dolphin = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/dolphin-18.12.0.tar.xz";
- sha256 = "10mzdk9i5x4kmsrpamm5q9ihy8ymii9w3iaccd7fgw4yy11qlzw3";
- name = "dolphin-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/dolphin-18.12.1.tar.xz";
+ sha256 = "1d3m2h8czxqmgpd060lnj05f0r4bqirqibvbakrl1sv2xxafz8qq";
+ name = "dolphin-18.12.1.tar.xz";
};
};
dolphin-plugins = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/dolphin-plugins-18.12.0.tar.xz";
- sha256 = "07pkslxhawl03030zjy889zjbym13d94nllg9fxvmd3402y2djiw";
- name = "dolphin-plugins-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/dolphin-plugins-18.12.1.tar.xz";
+ sha256 = "0j2cj91732p2wh0g73xxjghbbivlva4mr91vdjrp6dkc4b2vjxh8";
+ name = "dolphin-plugins-18.12.1.tar.xz";
};
};
dragon = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/dragon-18.12.0.tar.xz";
- sha256 = "0j3d8a97ymh9lm6al0vv3abxalfw3wnf689i3mzkg7bdqkaaxz24";
- name = "dragon-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/dragon-18.12.1.tar.xz";
+ sha256 = "0ffxpl30xdm5vgrfc6b1k2gzfp3jwakn6my4zq0zfrrlf75hbgkm";
+ name = "dragon-18.12.1.tar.xz";
};
};
eventviews = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/eventviews-18.12.0.tar.xz";
- sha256 = "0r3y3z8zzzs1154wqi16kwb7vjijphscsnna76hpxcllw23cnb7v";
- name = "eventviews-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/eventviews-18.12.1.tar.xz";
+ sha256 = "0qvndqj8jhrn9p1g4d4p3l54d7hz9zzkkg92yfjcajcrnl2i0fn1";
+ name = "eventviews-18.12.1.tar.xz";
};
};
ffmpegthumbs = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ffmpegthumbs-18.12.0.tar.xz";
- sha256 = "0wwrhj6xblz96g1rpqds4m0savp9n08w1xlwlhrm9xq81kajpw5x";
- name = "ffmpegthumbs-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ffmpegthumbs-18.12.1.tar.xz";
+ sha256 = "0j9vwqgsb9pz8hpacsmm4pxss25q7622fr7gq1n2dxf19f1zwxki";
+ name = "ffmpegthumbs-18.12.1.tar.xz";
};
};
filelight = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/filelight-18.12.0.tar.xz";
- sha256 = "1vayrsgs5q1ky34kx5a8fi198b57478w68641xwhxmzwllssd9sx";
- name = "filelight-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/filelight-18.12.1.tar.xz";
+ sha256 = "1p9k1ajyjlb001mz8w8jli3ha84z91sc43721xdpngcshz7i8i6f";
+ name = "filelight-18.12.1.tar.xz";
};
};
granatier = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/granatier-18.12.0.tar.xz";
- sha256 = "145z4h7vwmg2zlvncp5dijm06m1d0z20hlmlz2zd69nfvs8w1lmz";
- name = "granatier-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/granatier-18.12.1.tar.xz";
+ sha256 = "02lmap2axki56d3kfhmx7h6ibqjnx5ga73vsvvx1w4fjikgzm2rn";
+ name = "granatier-18.12.1.tar.xz";
};
};
grantlee-editor = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/grantlee-editor-18.12.0.tar.xz";
- sha256 = "0h5hcsnkh8gkqcnn620zs4kni5k8cpr65nbkkxybgxjf3kljapin";
- name = "grantlee-editor-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/grantlee-editor-18.12.1.tar.xz";
+ sha256 = "0r85wirr4dcvja5cynjb0n51lmlijkffg35czqpjvnf2xv1claj4";
+ name = "grantlee-editor-18.12.1.tar.xz";
};
};
grantleetheme = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/grantleetheme-18.12.0.tar.xz";
- sha256 = "1k5q30viyvwx4c8nl5gxk2sqxd9l703n6fnxw5dz5q7hzsxykzzx";
- name = "grantleetheme-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/grantleetheme-18.12.1.tar.xz";
+ sha256 = "1c4n27abzpynh6nykfw9z2rhxlmmicvvw0081gsm9h7w1r8n4flc";
+ name = "grantleetheme-18.12.1.tar.xz";
};
};
gwenview = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/gwenview-18.12.0.tar.xz";
- sha256 = "1p9g6q5bfaxbk60k91wbjhbv0wwzin5ai3hyasl7rg3c6hisp2rf";
- name = "gwenview-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/gwenview-18.12.1.tar.xz";
+ sha256 = "01iraiynpsacp8hnmdc9cxlk6qakbbypdck939kcij6j7gm5l2fm";
+ name = "gwenview-18.12.1.tar.xz";
};
};
incidenceeditor = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/incidenceeditor-18.12.0.tar.xz";
- sha256 = "0f313zw1n4dgaianmxnmd5d5bqad40izli20ab08lqhv9d03sdkh";
- name = "incidenceeditor-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/incidenceeditor-18.12.1.tar.xz";
+ sha256 = "1h1da8vg9x450hm9g936rms6n9d5ddqdl7jrwah3khbzihjpkgvz";
+ name = "incidenceeditor-18.12.1.tar.xz";
};
};
juk = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/juk-18.12.0.tar.xz";
- sha256 = "1jsxvcqpj87n6yv2v0a7rvmg832ayrk0fknmch04gc8bkb7w52az";
- name = "juk-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/juk-18.12.1.tar.xz";
+ sha256 = "14zlpac1z3gaym83d5vmr7vvqwdzxhfscydwb2qv4ng947lrrs1n";
+ name = "juk-18.12.1.tar.xz";
};
};
k3b = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/k3b-18.12.0.tar.xz";
- sha256 = "1fmy94cda1nsqv5g4w3bnypx9c8ngrndbzf6l7l2pv5q889p73x1";
- name = "k3b-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/k3b-18.12.1.tar.xz";
+ sha256 = "1f5l8jyi30qm225nxp0sahm7lwdk9r2gqzbdrrzhadx6gfm80a4s";
+ name = "k3b-18.12.1.tar.xz";
};
};
kaccounts-integration = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kaccounts-integration-18.12.0.tar.xz";
- sha256 = "1wyjd7iv0z8q9adbgnkvwmz4zrhrz3wgkz0lp52i8j0511xby93r";
- name = "kaccounts-integration-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kaccounts-integration-18.12.1.tar.xz";
+ sha256 = "1mb9rfp7vw9bkndlbwh5ayd9m3znwrl1i6kr0s5872sscmhx2giz";
+ name = "kaccounts-integration-18.12.1.tar.xz";
};
};
kaccounts-providers = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kaccounts-providers-18.12.0.tar.xz";
- sha256 = "03kjjshbxgj1mj8vv60rbssn3kdf3gx9kqmgsbbwybxg46277w1r";
- name = "kaccounts-providers-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kaccounts-providers-18.12.1.tar.xz";
+ sha256 = "0pjk7wsqbgibx8racd4qikv3i1j4iqgnbp81mm5nss7hilrnv1vi";
+ name = "kaccounts-providers-18.12.1.tar.xz";
};
};
kaddressbook = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kaddressbook-18.12.0.tar.xz";
- sha256 = "0dfmwn6swa6m11ih52aj2r8zfma6jffy8gsqhaph4xg4ba58nmpj";
- name = "kaddressbook-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kaddressbook-18.12.1.tar.xz";
+ sha256 = "0n4abjcq2iana9xyzkghgrs6h9nr0k2vxqrxghnh5iqahn2766ak";
+ name = "kaddressbook-18.12.1.tar.xz";
};
};
kajongg = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kajongg-18.12.0.tar.xz";
- sha256 = "0k9nxcr2fpkrmckzc5fxani4l304fxj7kp80y2nrv1p5cagn2x7l";
- name = "kajongg-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kajongg-18.12.1.tar.xz";
+ sha256 = "11c1iyfwqjqihyb3lqvnrb9jsrah0wl1kbrbm2lbmaqf0qnqqr8a";
+ name = "kajongg-18.12.1.tar.xz";
};
};
kalarm = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kalarm-18.12.0.tar.xz";
- sha256 = "1cmk6l8450sz3rfdk25p9dn26zcbhcrdwz9v242cpsndyvnl13i2";
- name = "kalarm-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kalarm-18.12.1.tar.xz";
+ sha256 = "1z2rf30ad2rlkcc9ki09pkrvdd8b9f60vsjzvsqfgxx8i87z1lil";
+ name = "kalarm-18.12.1.tar.xz";
};
};
kalarmcal = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kalarmcal-18.12.0.tar.xz";
- sha256 = "0l90yxfkjwybff80z7zhgx4sbw7xz8nx0acg56avgrkh3230fv3i";
- name = "kalarmcal-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kalarmcal-18.12.1.tar.xz";
+ sha256 = "0wykbg24llympx7m9bkf4aciv6pli359nnnzpli7rh4q58vbnfn7";
+ name = "kalarmcal-18.12.1.tar.xz";
};
};
kalgebra = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kalgebra-18.12.0.tar.xz";
- sha256 = "0hc3k4zm50n39nvw6fki6997vzz56fwjkn61q48fkbzd4jvcfqni";
- name = "kalgebra-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kalgebra-18.12.1.tar.xz";
+ sha256 = "09g4v4f2xlilqrf2aqsz7zbjqnnrndhhlkkwbrypn148gdnxngs4";
+ name = "kalgebra-18.12.1.tar.xz";
};
};
kalzium = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kalzium-18.12.0.tar.xz";
- sha256 = "0j3a3r1j4vc0ssdw60lvgkdwmh02zz07xakdgxr5jrys4fix23ci";
- name = "kalzium-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kalzium-18.12.1.tar.xz";
+ sha256 = "1c5li3dhrfiw7kpjv6kfby2c2pq22sraqb3vc0s4nz1h9jnjcah7";
+ name = "kalzium-18.12.1.tar.xz";
};
};
kamera = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kamera-18.12.0.tar.xz";
- sha256 = "098gg2v8bina5famp2bk0x8dakzz66zd0dxh8vjczjycvzac6hzd";
- name = "kamera-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kamera-18.12.1.tar.xz";
+ sha256 = "177lgyhc5klrpssbk2bsdwmg5hnk92mbjwb7s39kl9h53kw0jmzj";
+ name = "kamera-18.12.1.tar.xz";
};
};
kamoso = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kamoso-18.12.0.tar.xz";
- sha256 = "0f4hvbw216xmyavgakvydplcspqcyv1v9bv0pqvwdk1swk1jp0r3";
- name = "kamoso-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kamoso-18.12.1.tar.xz";
+ sha256 = "1j467cpga2shvibwx3df4vxksfkp5q1hp6az8kcky6gljcmxy06p";
+ name = "kamoso-18.12.1.tar.xz";
};
};
kanagram = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kanagram-18.12.0.tar.xz";
- sha256 = "1xbb04i06qrffb6pxk05ksn8h1n08r9pyaf9nkhrymgv90l62739";
- name = "kanagram-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kanagram-18.12.1.tar.xz";
+ sha256 = "0ybn3aal51p29g28daalwmpm85306ivgl8rkxhccq7pzfwaww1bx";
+ name = "kanagram-18.12.1.tar.xz";
};
};
kapman = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kapman-18.12.0.tar.xz";
- sha256 = "0shq8bjfixjx9gqid27cgiybx0anwgbm69gsrvlczmragswcqxwi";
- name = "kapman-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kapman-18.12.1.tar.xz";
+ sha256 = "117fkqhn0mg3z14sl64vmkz26rclfrjarf7kvxicvbw0x8s3vsgj";
+ name = "kapman-18.12.1.tar.xz";
};
};
kapptemplate = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kapptemplate-18.12.0.tar.xz";
- sha256 = "18q7lxkfim41lhzqwvv4ir2c45fhf9pxxajfwibg9a462b1jxk4a";
- name = "kapptemplate-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kapptemplate-18.12.1.tar.xz";
+ sha256 = "1q52d30zz1ip6x8z56i25ll8hgzd6fp4pckfgr6byh82ymck8kxa";
+ name = "kapptemplate-18.12.1.tar.xz";
};
};
kate = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kate-18.12.0.tar.xz";
- sha256 = "15k66vipm1lqcmk73a44niz1279rkab3g23p9jqyvvbw41j1368l";
- name = "kate-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kate-18.12.1.tar.xz";
+ sha256 = "0p9j9r2ffqh6p5pdxhk1pi8km1ypdsjs1h0g4ncnzwpvkir1rhk7";
+ name = "kate-18.12.1.tar.xz";
};
};
katomic = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/katomic-18.12.0.tar.xz";
- sha256 = "183pgb7pphzmi3lgza4lm5crzf9rs6l2d6fl1xwzvvb3ik77ccqz";
- name = "katomic-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/katomic-18.12.1.tar.xz";
+ sha256 = "0pxj8vgx3ijvyznn5gvhv2scwbqhaqc2pmq2897b190vsx9mvkh6";
+ name = "katomic-18.12.1.tar.xz";
};
};
kbackup = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kbackup-18.12.0.tar.xz";
- sha256 = "1qwrgrrd408y7ipqfhajqfwcicn7pb32akvbls3rby17b2nwn16x";
- name = "kbackup-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kbackup-18.12.1.tar.xz";
+ sha256 = "0x42d7zssddhxdsx7vpvk4630c69pvllpfz40dqk2n3hghx9xvsw";
+ name = "kbackup-18.12.1.tar.xz";
};
};
kblackbox = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kblackbox-18.12.0.tar.xz";
- sha256 = "0hx5bd97k1k4hdyal6g7r7y1xk70sf0779vxfqnin1dpzhgnq2dq";
- name = "kblackbox-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kblackbox-18.12.1.tar.xz";
+ sha256 = "1wlwdfh23h175gsflmfmr63myds9vz3cs5dp8gr2zlxssdhc2s1p";
+ name = "kblackbox-18.12.1.tar.xz";
};
};
kblocks = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kblocks-18.12.0.tar.xz";
- sha256 = "0f0mapx67gxiy5s9k60qhgc9sfr21hwy62wzdiw4ssbxfhhqv7fa";
- name = "kblocks-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kblocks-18.12.1.tar.xz";
+ sha256 = "1fzsyr8g536k54j3lgqr52a1cmcdmv85z11afhkz2186smnc63pa";
+ name = "kblocks-18.12.1.tar.xz";
};
};
kblog = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kblog-18.12.0.tar.xz";
- sha256 = "1slrwablxhsjzl3vj714rzm7rp59vnd9d0ri0k7yvc1ykc4aj8v6";
- name = "kblog-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kblog-18.12.1.tar.xz";
+ sha256 = "0zdqjgan05049md0483l4c27gfwqdzmmx7wv3bziy91kd9bmfv0x";
+ name = "kblog-18.12.1.tar.xz";
};
};
kbounce = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kbounce-18.12.0.tar.xz";
- sha256 = "1r5rhlra9p89wn4mmjn81v7lgh78k53xfzhr0sz08dhg7qk2rb48";
- name = "kbounce-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kbounce-18.12.1.tar.xz";
+ sha256 = "1209x02jip17n63ilvbi5knz4584k16c6zbrp8rg982qcabny355";
+ name = "kbounce-18.12.1.tar.xz";
};
};
kbreakout = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kbreakout-18.12.0.tar.xz";
- sha256 = "0bw84bl2r9am69zv0ik1rhqwcjzazfzwnwjg0zqzzwlyhww0ya5f";
- name = "kbreakout-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kbreakout-18.12.1.tar.xz";
+ sha256 = "0myh4qncrvm2kd2gwvl7v2078cvv66czl9zsiava8lzq588wddwq";
+ name = "kbreakout-18.12.1.tar.xz";
};
};
kbruch = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kbruch-18.12.0.tar.xz";
- sha256 = "156varmig28a3swk099k2c2l0hn8kbr1khz5cd9c9wdy46ln6w8n";
- name = "kbruch-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kbruch-18.12.1.tar.xz";
+ sha256 = "0jlq08c6zjmdalhbgh2fy5qghj65l12jn7wvr0j2h0s6fqck1djh";
+ name = "kbruch-18.12.1.tar.xz";
};
};
kcachegrind = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcachegrind-18.12.0.tar.xz";
- sha256 = "1jvpn2ly2pn9pnv6zx7i8z0zn91lb2kf6q9linqmpag47qbg0p7y";
- name = "kcachegrind-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcachegrind-18.12.1.tar.xz";
+ sha256 = "0w7fdsflqmkisap6mr805b6knf83nrjrr6bxi1snrl43ipy5ls29";
+ name = "kcachegrind-18.12.1.tar.xz";
};
};
kcalc = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcalc-18.12.0.tar.xz";
- sha256 = "15wdyv5sgnd9amar41k14mgyz8p4d1aba0kw7gphzl7c9gms0y70";
- name = "kcalc-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcalc-18.12.1.tar.xz";
+ sha256 = "0ffafikh53yfwrsaiyxr4qxy01v8lv02y4xvj56qmhi429j9ax93";
+ name = "kcalc-18.12.1.tar.xz";
};
};
kcalcore = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcalcore-18.12.0.tar.xz";
- sha256 = "04y7bdrdcbz98waydi9r5hw25mdzy8a0pzzdsmp2ky2lj4shph4h";
- name = "kcalcore-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcalcore-18.12.1.tar.xz";
+ sha256 = "1383zmpw8nzx1fs3d55k38f3znbdc7rs21yrka6fmymgh5c3jkki";
+ name = "kcalcore-18.12.1.tar.xz";
};
};
kcalutils = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcalutils-18.12.0.tar.xz";
- sha256 = "1w10np6g02f3hh3bn3zksbj335mrzy0a5wg4lk2hny06rakk0hh0";
- name = "kcalutils-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcalutils-18.12.1.tar.xz";
+ sha256 = "0w6kc39j3m5db8s47q4wh4wm0szl9vwr455i26d99vv8jay6mbpp";
+ name = "kcalutils-18.12.1.tar.xz";
};
};
kcharselect = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcharselect-18.12.0.tar.xz";
- sha256 = "0s4yqylc5jhgl7s3cs8gf8bb4r7n8nhxhl502sbnamss11lx7gqw";
- name = "kcharselect-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcharselect-18.12.1.tar.xz";
+ sha256 = "1p4ap7vs1nd9gr4z71h6cx6fz99k1lliz28ibbky9a60wvnlfim6";
+ name = "kcharselect-18.12.1.tar.xz";
};
};
kcolorchooser = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcolorchooser-18.12.0.tar.xz";
- sha256 = "0za9isapgmbafmn5v6fwdw1vaafszwnia1iim9k4ga7bs9aakfhb";
- name = "kcolorchooser-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcolorchooser-18.12.1.tar.xz";
+ sha256 = "1lhnnywpfb4v1hwlc8h71lrvb145pc7wcaz7f7wf2kyh5pjkfbzn";
+ name = "kcolorchooser-18.12.1.tar.xz";
};
};
kcontacts = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcontacts-18.12.0.tar.xz";
- sha256 = "1drp0rzhjbb9nqqjl9cmwpyqk8dgvnaw42rmn0cwla8l8qas5xs5";
- name = "kcontacts-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcontacts-18.12.1.tar.xz";
+ sha256 = "0d32l8hhggcy6dyyps5im74k0psnxrwxa6yni5bmj8m0z7f298ba";
+ name = "kcontacts-18.12.1.tar.xz";
};
};
kcron = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kcron-18.12.0.tar.xz";
- sha256 = "02fxsnka3d3456j99nsrgvkxpjd677xl0z7hmqwsr0zx3bx0krk7";
- name = "kcron-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kcron-18.12.1.tar.xz";
+ sha256 = "0211xs7zwii5a93827rsnp1gkay78h2hs49lvdc2kah9ccsh0kzn";
+ name = "kcron-18.12.1.tar.xz";
};
};
kdav = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdav-18.12.0.tar.xz";
- sha256 = "0fbw65yiskygbhhagsc48yrhdslg951fd13b6mzwf2ab55fw6vmf";
- name = "kdav-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdav-18.12.1.tar.xz";
+ sha256 = "0kr07p4gnxyzrgnbj7vkh93wmqwnvv8sc06i2yardr8qp6jhpg77";
+ name = "kdav-18.12.1.tar.xz";
};
};
kdebugsettings = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdebugsettings-18.12.0.tar.xz";
- sha256 = "1gdrc1x5bavdi6ljqv5wh1hwvys1r2v00xi555dfyijjryr7kd27";
- name = "kdebugsettings-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdebugsettings-18.12.1.tar.xz";
+ sha256 = "1wbi0f82dwd7a8s6szg0yc2mraiinng9a5wjw8xjacgkyyjpqbr3";
+ name = "kdebugsettings-18.12.1.tar.xz";
};
};
kde-dev-scripts = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kde-dev-scripts-18.12.0.tar.xz";
- sha256 = "03wmki422lw1r5i51gh17ha3w2gpdjv4ix7bndjakwq315iivlxi";
- name = "kde-dev-scripts-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kde-dev-scripts-18.12.1.tar.xz";
+ sha256 = "1k0xjlwpmdl2qpj4x04q9x299wmva2ds4y2wpayah865knvx91j3";
+ name = "kde-dev-scripts-18.12.1.tar.xz";
};
};
kde-dev-utils = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kde-dev-utils-18.12.0.tar.xz";
- sha256 = "0x2ji7jd12b1blww2jz0709yl79pb3slglx7mp4yyfi66c5ngl1q";
- name = "kde-dev-utils-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kde-dev-utils-18.12.1.tar.xz";
+ sha256 = "06k01z2ljkcsdzz4zsdp8hr3flss552h0jgy25qv7y1izggk05dj";
+ name = "kde-dev-utils-18.12.1.tar.xz";
};
};
kdeedu-data = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdeedu-data-18.12.0.tar.xz";
- sha256 = "1p3rjsdhf4hy9468515vkbihkj69s2gpz6fxk3rqvi03ksmpdi5x";
- name = "kdeedu-data-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdeedu-data-18.12.1.tar.xz";
+ sha256 = "1pnjydj3g768z5zxwbfwvxvlhdbg9rscr3vd1dw4srs338lp0maq";
+ name = "kdeedu-data-18.12.1.tar.xz";
};
};
kdegraphics-mobipocket = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdegraphics-mobipocket-18.12.0.tar.xz";
- sha256 = "05gxnbrl4p1s6mccvp0482as4r41rhqsrfd84v57sqyd93mgzsji";
- name = "kdegraphics-mobipocket-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdegraphics-mobipocket-18.12.1.tar.xz";
+ sha256 = "1bv3981nsy61m8shlwbry9yb37218s2q1k9fas3xgv1260rjmmfq";
+ name = "kdegraphics-mobipocket-18.12.1.tar.xz";
};
};
kdegraphics-thumbnailers = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdegraphics-thumbnailers-18.12.0.tar.xz";
- sha256 = "096acsz560k238sfa54nyjydx5wlc0b92khi4ahmvaqmllzjc9p4";
- name = "kdegraphics-thumbnailers-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdegraphics-thumbnailers-18.12.1.tar.xz";
+ sha256 = "1rz578dz6nr3m23kd4njdcx01nmjgskxlla4zqgd33gg08kppmvj";
+ name = "kdegraphics-thumbnailers-18.12.1.tar.xz";
};
};
kdenetwork-filesharing = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdenetwork-filesharing-18.12.0.tar.xz";
- sha256 = "183f8fir8rx7jr35gyj074k852s51gjsd2q7hp1bgkj7g5avql4i";
- name = "kdenetwork-filesharing-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdenetwork-filesharing-18.12.1.tar.xz";
+ sha256 = "1zxkbcdndbr3sygwpiiw70pxb71hil1x8zj7lgq2yyw968ianah4";
+ name = "kdenetwork-filesharing-18.12.1.tar.xz";
};
};
kdenlive = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdenlive-18.12.0.tar.xz";
- sha256 = "0jknpfs7gql527pbj0nb1bxvhxpbk0gnyjx4g6wdhlmk87w2g0wp";
- name = "kdenlive-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdenlive-18.12.1.tar.xz";
+ sha256 = "189p0sqlmfkaxsdiy1mh0mmskw6ha4zi64fx99w7wnbid8x52bjf";
+ name = "kdenlive-18.12.1.tar.xz";
};
};
kdepim-addons = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdepim-addons-18.12.0.tar.xz";
- sha256 = "0dbys45cn00xism83x2j1ypidg5dp8zv29wx18a4bga4y8mfnrkp";
- name = "kdepim-addons-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdepim-addons-18.12.1.tar.xz";
+ sha256 = "1gz6rqg39vl2arzs64srpr7xn1syxxiznz58gdss40152gz0hlsp";
+ name = "kdepim-addons-18.12.1.tar.xz";
};
};
kdepim-apps-libs = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdepim-apps-libs-18.12.0.tar.xz";
- sha256 = "18y3n602b6v1jyl18lvqalasf2v795ln31nn79ih1z4y49j1s67x";
- name = "kdepim-apps-libs-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdepim-apps-libs-18.12.1.tar.xz";
+ sha256 = "06q306m09666jh4cx3w0bif81x424hxlvsf31wjhfzdp737xfq3i";
+ name = "kdepim-apps-libs-18.12.1.tar.xz";
};
};
kdepim-runtime = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdepim-runtime-18.12.0.tar.xz";
- sha256 = "0vmwgbbnwipi62aciy52pdd4ygrgx3l87i5g5nspkb03wlb5jl51";
- name = "kdepim-runtime-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdepim-runtime-18.12.1.tar.xz";
+ sha256 = "1vb9rqzyjww7lkc3g2aw43ks7is1bg1nx2mbn8wvmc7cgga66nbc";
+ name = "kdepim-runtime-18.12.1.tar.xz";
};
};
kdesdk-kioslaves = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdesdk-kioslaves-18.12.0.tar.xz";
- sha256 = "0ca9cwxv836jl9crqik9s1v3dgk5z9jhvzxvbcvrbalvs1cyxg8b";
- name = "kdesdk-kioslaves-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdesdk-kioslaves-18.12.1.tar.xz";
+ sha256 = "05bds4r70ys4mygmjl5x5hcrygds57mqqmzfv79zq9hcfp2b0g69";
+ name = "kdesdk-kioslaves-18.12.1.tar.xz";
};
};
kdesdk-thumbnailers = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdesdk-thumbnailers-18.12.0.tar.xz";
- sha256 = "1q57c5i7pnrpd7g1dwrahac9lji9ljqyb60qkj9qx3v3fnr11v7f";
- name = "kdesdk-thumbnailers-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdesdk-thumbnailers-18.12.1.tar.xz";
+ sha256 = "1584qy2aa8q7zzgf2zxqw7p2h2l2xfgsa2mrmxaa36xaxbglcvkb";
+ name = "kdesdk-thumbnailers-18.12.1.tar.xz";
};
};
kdf = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdf-18.12.0.tar.xz";
- sha256 = "1ds4z4adyaazmhbybq2f361qq02a8l73a9g2hwcrh95w0dcisyvp";
- name = "kdf-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdf-18.12.1.tar.xz";
+ sha256 = "0zr6k8di9fvzmgvh4s8ji81zdynpkg5yrnddlc9mgid0w9czaw11";
+ name = "kdf-18.12.1.tar.xz";
};
};
kdialog = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdialog-18.12.0.tar.xz";
- sha256 = "04v2s3wlaihcm4c64kzcxmxs9niw6ghid0vdl4pw8h0ks1s8xz0g";
- name = "kdialog-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdialog-18.12.1.tar.xz";
+ sha256 = "0i4c2kjyp0dix12vxhj078h7vbylcqxgqx10hzwaszx3wlrycwa2";
+ name = "kdialog-18.12.1.tar.xz";
};
};
kdiamond = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kdiamond-18.12.0.tar.xz";
- sha256 = "0c11v3c7hxllg15h8mq18jl5lqprwwpnz04rjjggwzz8c4iz2kjs";
- name = "kdiamond-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kdiamond-18.12.1.tar.xz";
+ sha256 = "0j5g1gh267q528k0947brc8nvgq81690hqp7mrf90wxg8qp4ysm4";
+ name = "kdiamond-18.12.1.tar.xz";
};
};
keditbookmarks = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/keditbookmarks-18.12.0.tar.xz";
- sha256 = "1ia69amq6dfidfgxq297xa10f3812spibb00wsv9dj4cp36y89mm";
- name = "keditbookmarks-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/keditbookmarks-18.12.1.tar.xz";
+ sha256 = "0fnxmgfgnh8d6sg7g7ai53xywa22qv4pn4xxj503rjs4a3fsm3j1";
+ name = "keditbookmarks-18.12.1.tar.xz";
};
};
kfind = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kfind-18.12.0.tar.xz";
- sha256 = "0km2f88pw9ynqbxsl3pwfkk120ni0by2rsaldqp2h3a26kyc5gzk";
- name = "kfind-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kfind-18.12.1.tar.xz";
+ sha256 = "1vhi66syjhmc5i64ffgpilyxw9y10qb7633p3gx7vsnbjhvfx45b";
+ name = "kfind-18.12.1.tar.xz";
};
};
kfloppy = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kfloppy-18.12.0.tar.xz";
- sha256 = "0ng0d18dnnrdp9xccald0jn8hl40v2kshgmy8pnr4agl20aagh61";
- name = "kfloppy-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kfloppy-18.12.1.tar.xz";
+ sha256 = "1fx40gb7h0z832qidn635jj7caipxcrzxmrbdfnj8ji2sczs1hyq";
+ name = "kfloppy-18.12.1.tar.xz";
};
};
kfourinline = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kfourinline-18.12.0.tar.xz";
- sha256 = "01wjqyg7aw2wi7nrrqri3znb545hr1qcanzibjiakhb2pbx5db3z";
- name = "kfourinline-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kfourinline-18.12.1.tar.xz";
+ sha256 = "1dwa4nw6998ljbppr4bhwpdg201djk5rjrzjgfs5xv0pynamph0g";
+ name = "kfourinline-18.12.1.tar.xz";
};
};
kgeography = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kgeography-18.12.0.tar.xz";
- sha256 = "1fa2333xmxswlfjzl7d3ssl7s2hgwszhqxkdyi9db9lqxq0m3ckv";
- name = "kgeography-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kgeography-18.12.1.tar.xz";
+ sha256 = "02xir13p0r67vx3csdra9nza82a25k807cjl3w2pq3dqcg9grrcf";
+ name = "kgeography-18.12.1.tar.xz";
};
};
kget = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kget-18.12.0.tar.xz";
- sha256 = "1f3ahslqcicgkhgdpdrvy9ydlsl1hwnnym7fw2v2k07h5mprw8hp";
- name = "kget-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kget-18.12.1.tar.xz";
+ sha256 = "0jlpih49rifpqzxzgjc4kv3hv7y42v6pcamyvrmk6q1768lqp7nb";
+ name = "kget-18.12.1.tar.xz";
};
};
kgoldrunner = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kgoldrunner-18.12.0.tar.xz";
- sha256 = "0cmcjmfhair649nbfx74qdmsf67lx4j53qkj0xsr7bijv52pi4br";
- name = "kgoldrunner-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kgoldrunner-18.12.1.tar.xz";
+ sha256 = "19qdw319lzfhmmmmawdpb0dlkz9k1iz6imkwf1qndfv89b6wklba";
+ name = "kgoldrunner-18.12.1.tar.xz";
};
};
kgpg = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kgpg-18.12.0.tar.xz";
- sha256 = "1hlcpgfcwpiyf1xfy62mris60cnws1mcgpni5nvvwdzdi4scad3g";
- name = "kgpg-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kgpg-18.12.1.tar.xz";
+ sha256 = "1rar3hj3wc9vpxc81h0ly1mi87m9cdx17j58k9n02q91jqb8892y";
+ name = "kgpg-18.12.1.tar.xz";
};
};
khangman = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/khangman-18.12.0.tar.xz";
- sha256 = "0y05jjacnw2h70hjn5jbpnmcj53xgcx8304s39aa8zc1ry9jvsqq";
- name = "khangman-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/khangman-18.12.1.tar.xz";
+ sha256 = "10wk0xdrs6pldg8j5bnsbdx835isxrapb1gm9gx4vjj49riq062q";
+ name = "khangman-18.12.1.tar.xz";
};
};
khelpcenter = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/khelpcenter-18.12.0.tar.xz";
- sha256 = "0cwxf6m3f6md4y51zpscxh89p9p9jzzsfslxh04y92p9g0l1qvwm";
- name = "khelpcenter-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/khelpcenter-18.12.1.tar.xz";
+ sha256 = "143f61ngvljm4046q4allwxhx6fis0hd92xdqk8955xwdf42fq6y";
+ name = "khelpcenter-18.12.1.tar.xz";
};
};
kidentitymanagement = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kidentitymanagement-18.12.0.tar.xz";
- sha256 = "1i0amb9m2vc00zaawv2wdyw7gzwz8lfw4bvz0mlnad4nrcmkvjyk";
- name = "kidentitymanagement-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kidentitymanagement-18.12.1.tar.xz";
+ sha256 = "1pl8yzrhfvkxcxasywzklhpx2477whn662s13c5mp6yhpxyxl5xq";
+ name = "kidentitymanagement-18.12.1.tar.xz";
};
};
kig = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kig-18.12.0.tar.xz";
- sha256 = "0zq7z4jj8bsmhjggjh7byjv74ry6caps9pviwqqcsrdrl5357kzi";
- name = "kig-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kig-18.12.1.tar.xz";
+ sha256 = "0cc093gwq2cr4ir3rdfkhijjsjvjddw4n7hvrxbshv7pqmnbrjgc";
+ name = "kig-18.12.1.tar.xz";
};
};
kigo = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kigo-18.12.0.tar.xz";
- sha256 = "03kl5hn8b2qbbv436rd8slqwr5w4034wz7vvm9z9cmjbpxavls2q";
- name = "kigo-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kigo-18.12.1.tar.xz";
+ sha256 = "07m3p9r59c4qfwpgipb024mzxi4safiidpypm8gmx87vbsqc99f2";
+ name = "kigo-18.12.1.tar.xz";
};
};
killbots = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/killbots-18.12.0.tar.xz";
- sha256 = "0w8xl73ir9a3zxvsj3027gdlh7mskns3f0bk4mspirwg761zn1hf";
- name = "killbots-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/killbots-18.12.1.tar.xz";
+ sha256 = "12jbvqmi0cx5ma7lai67qamml7qig269vhvjrcvm7jwlg0qx8v43";
+ name = "killbots-18.12.1.tar.xz";
};
};
kimagemapeditor = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kimagemapeditor-18.12.0.tar.xz";
- sha256 = "0l17biqkq8jkc2vnnw51a6g13y29rnsfn9dx3afv88bdf2a52x1m";
- name = "kimagemapeditor-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kimagemapeditor-18.12.1.tar.xz";
+ sha256 = "1mqzd3ja27c4askz9cxfaf6g8wcwlasjka79h4dmvjrw4rkqs4y4";
+ name = "kimagemapeditor-18.12.1.tar.xz";
};
};
kimap = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kimap-18.12.0.tar.xz";
- sha256 = "04m6sd36k6w4iiqanxy49v06am11p5xcb253gk99pyfrssb596m5";
- name = "kimap-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kimap-18.12.1.tar.xz";
+ sha256 = "1v1qd91pr4xx0wsvvqlg8pcsbyi0n7c90ki0pz8v8z2vay5fagnm";
+ name = "kimap-18.12.1.tar.xz";
};
};
kio-extras = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kio-extras-18.12.0.tar.xz";
- sha256 = "1sbl7m8c4fy63389bv19ck89nzxjpf0l2855sc81fzy3zig89b65";
- name = "kio-extras-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kio-extras-18.12.1.tar.xz";
+ sha256 = "17y5awdyck2zjrgb9l2s4rdyvp1pqc6jrdyjv5vhchjdkfb91vw3";
+ name = "kio-extras-18.12.1.tar.xz";
};
};
kirigami-gallery = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kirigami-gallery-18.12.0.tar.xz";
- sha256 = "008ixa0kvqjjk98aq9mcapxd8d8svkjpz04v4ka64zwks8qyzdrk";
- name = "kirigami-gallery-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kirigami-gallery-18.12.1.tar.xz";
+ sha256 = "1wrvhpdg2qk6ri1hjhdbk6w6rzyxamn6hxfl4mjcaip9gamjlbr0";
+ name = "kirigami-gallery-18.12.1.tar.xz";
};
};
kiriki = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kiriki-18.12.0.tar.xz";
- sha256 = "098gsl6pj8bdm29qa1w6pnyg7m25m0m2f97f7cwgqi1h4asyz9h8";
- name = "kiriki-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kiriki-18.12.1.tar.xz";
+ sha256 = "1sxn7qvhyaaf4681hx1hgv2mmfhn64qn6q0rad9vps69cb1rx7pz";
+ name = "kiriki-18.12.1.tar.xz";
};
};
kiten = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kiten-18.12.0.tar.xz";
- sha256 = "1lkaicfc5z59g6gvcgmkdwpfl2i622s26w3pf1w0cmlw1hnspblc";
- name = "kiten-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kiten-18.12.1.tar.xz";
+ sha256 = "1d964cc7bkr1vgsbbnm9c8na2nls3kmfk9wfkrzdgnj2643dl947";
+ name = "kiten-18.12.1.tar.xz";
};
};
kitinerary = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kitinerary-18.12.0.tar.xz";
- sha256 = "0q4fhfckvzlcza7r2gddygfn7f3dfj4kl82m644givb4394hjapd";
- name = "kitinerary-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kitinerary-18.12.1.tar.xz";
+ sha256 = "14bkyi4xj00i8bzjq6z68y67iyylix0c1n8wr1nz0s05pmlg8sws";
+ name = "kitinerary-18.12.1.tar.xz";
};
};
kjumpingcube = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kjumpingcube-18.12.0.tar.xz";
- sha256 = "0j022vr1dj06s21cwxhsiv8xb1000l2yz2jz128rnkpr63b8darr";
- name = "kjumpingcube-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kjumpingcube-18.12.1.tar.xz";
+ sha256 = "0i7lj2qi3mdvghpxyhwiakivxsd85ahy427d418sdykh7dfmn9ih";
+ name = "kjumpingcube-18.12.1.tar.xz";
};
};
kldap = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kldap-18.12.0.tar.xz";
- sha256 = "0359vzfhscqlha2vyaygqpai7qi924ircw290prwrmhn9jqzms5x";
- name = "kldap-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kldap-18.12.1.tar.xz";
+ sha256 = "117w3jk4i77p8a7dvj03kgxqlhgbkmhyl7w282gl38kxyr7z8hbn";
+ name = "kldap-18.12.1.tar.xz";
};
};
kleopatra = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kleopatra-18.12.0.tar.xz";
- sha256 = "1j1s7dmg5wadfd8z76i5l81drii0sjdynahkcm8jdz3gvrsd773k";
- name = "kleopatra-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kleopatra-18.12.1.tar.xz";
+ sha256 = "1njgfigld774r9xyckip118svxrkylh0a5ib5y8976zb0v71m5mj";
+ name = "kleopatra-18.12.1.tar.xz";
};
};
klettres = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/klettres-18.12.0.tar.xz";
- sha256 = "0gyd7vnm6mq7wy398h9nrny611pc6v4kksmdbhhsrkagvj4rvywq";
- name = "klettres-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/klettres-18.12.1.tar.xz";
+ sha256 = "0xxrkx468wx2f3gb3d77i648xxmy6bq6q0nq121fk2apgdp2dzqk";
+ name = "klettres-18.12.1.tar.xz";
};
};
klickety = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/klickety-18.12.0.tar.xz";
- sha256 = "083w9lj6h6yxxk6vgmf72651vb423gakppbi7z7ii5i546miilyn";
- name = "klickety-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/klickety-18.12.1.tar.xz";
+ sha256 = "14jvifvm47q0ca7jq7d152l53nswhbwggs0q067n3chmf07g2izy";
+ name = "klickety-18.12.1.tar.xz";
};
};
klines = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/klines-18.12.0.tar.xz";
- sha256 = "1v05ssjrb6x81c5nj9c8dpfqj9wr2m4mz9c883pnc5pjbc33fh0x";
- name = "klines-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/klines-18.12.1.tar.xz";
+ sha256 = "1bs7vaqs67232msmsrsfi9avbqrzvyjihsakzxpkn976xwql3zxf";
+ name = "klines-18.12.1.tar.xz";
};
};
kmag = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmag-18.12.0.tar.xz";
- sha256 = "0micbc4wqi23jc2bpf1kjzy8xafqkd8gp70hg83id7mlncq12pm7";
- name = "kmag-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmag-18.12.1.tar.xz";
+ sha256 = "1ig9fbnza2xvxvd1adh9riv3zmrdmm0km8jpqjmh124i8g416qpw";
+ name = "kmag-18.12.1.tar.xz";
};
};
kmahjongg = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmahjongg-18.12.0.tar.xz";
- sha256 = "1zv4dljkj1i4hxmy1cnyzpnipvdh6dmp6msmivgbsaz7yra1zqlx";
- name = "kmahjongg-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmahjongg-18.12.1.tar.xz";
+ sha256 = "0ajml6xy4ljmrn5qbvy08mcf5v5jqzmclsbr6811rrxqxb5fqbqd";
+ name = "kmahjongg-18.12.1.tar.xz";
};
};
kmail = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmail-18.12.0.tar.xz";
- sha256 = "0ivzl7cpjcavqybbd5jfd9gk7qfvnfrly8gi20lwg97s07cih42x";
- name = "kmail-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmail-18.12.1.tar.xz";
+ sha256 = "1wakrrlxp3v0k93hx2c8p136a3hd746l8fxks0g3cwvhl1immxw7";
+ name = "kmail-18.12.1.tar.xz";
};
};
kmail-account-wizard = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmail-account-wizard-18.12.0.tar.xz";
- sha256 = "04q3yrbarqqw5wd8waaacd4kb409y8k6rbwk0lsrr4gvs7b5h4jg";
- name = "kmail-account-wizard-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmail-account-wizard-18.12.1.tar.xz";
+ sha256 = "0v3lwgk3b30ggv6573r6k5z09lcpfzspp5znnsn4650fgrrzg2j3";
+ name = "kmail-account-wizard-18.12.1.tar.xz";
};
};
kmailtransport = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmailtransport-18.12.0.tar.xz";
- sha256 = "0i3rgw4pf143jnkxnds84j8yg7smhgf2c5qkc1vk37i05vg81r76";
- name = "kmailtransport-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmailtransport-18.12.1.tar.xz";
+ sha256 = "1ybaps485ic2m8nfy63kw6x7f3l2l67lhyy5zsm7rjipbaqgi2vm";
+ name = "kmailtransport-18.12.1.tar.xz";
};
};
kmbox = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmbox-18.12.0.tar.xz";
- sha256 = "03krrgzbvvhn0xcmbhx4whk347pxr26gqhnxh7mg82w5pzx7y6gm";
- name = "kmbox-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmbox-18.12.1.tar.xz";
+ sha256 = "0anh25klbgb67ynl9mlcny2mrawsd98mzyffvgsd8xkback684zf";
+ name = "kmbox-18.12.1.tar.xz";
};
};
kmime = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmime-18.12.0.tar.xz";
- sha256 = "0kh1v62xxca6i6g48xznqrxfw4wfwqcbv338m0ybqr06w0kgcfr2";
- name = "kmime-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmime-18.12.1.tar.xz";
+ sha256 = "05kjfqaadkflyh1vabzgbx33vr3c70sm2nkp8r9dsa7kg3wij0n2";
+ name = "kmime-18.12.1.tar.xz";
};
};
kmines = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmines-18.12.0.tar.xz";
- sha256 = "0lgzh1pa9g807jdq16k0a9n2akqgad0vgpx1zms6ldnaqvr7mm6w";
- name = "kmines-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmines-18.12.1.tar.xz";
+ sha256 = "0dq1jirzb6ljhb7wdrrkyxvmlwg84xzhfikcn9v6nmz9f3pbliwi";
+ name = "kmines-18.12.1.tar.xz";
};
};
kmix = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmix-18.12.0.tar.xz";
- sha256 = "09m1d62w912ly6r8874b6ccimwdf6i9p2fyfb3pa5axc8d01lca9";
- name = "kmix-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmix-18.12.1.tar.xz";
+ sha256 = "1ra7jmi5xlq9gbh7csv40sxr20lv8dz659m1jx4ixkzppcj42s73";
+ name = "kmix-18.12.1.tar.xz";
};
};
kmousetool = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmousetool-18.12.0.tar.xz";
- sha256 = "00nwk11w7ljn22bfh06l109gw8yhl9vccgwimqhyplq0p8c3cnb0";
- name = "kmousetool-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmousetool-18.12.1.tar.xz";
+ sha256 = "07ywyxkm510faaqzywp5rw0lr2x1djhyhkjwyv8l42iw7231bn8x";
+ name = "kmousetool-18.12.1.tar.xz";
};
};
kmouth = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmouth-18.12.0.tar.xz";
- sha256 = "0ig1wxaxwjj6qv7k2djdzhlnbbx74yk5f1sk42qx6csprl2bgp39";
- name = "kmouth-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmouth-18.12.1.tar.xz";
+ sha256 = "1g82shlrfm70ddfy2zfv12gv8hwzavz47q4qsyblyzq329kwgww5";
+ name = "kmouth-18.12.1.tar.xz";
};
};
kmplot = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kmplot-18.12.0.tar.xz";
- sha256 = "1mn7qrqwhwna9znprhb6fb2h127lcgjkx6m9csi8g11kklj95zi0";
- name = "kmplot-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kmplot-18.12.1.tar.xz";
+ sha256 = "0xl913pajyrhadld2ij9y0ai2w558wa60qfx1y1xwsjfm8124qgf";
+ name = "kmplot-18.12.1.tar.xz";
};
};
knavalbattle = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/knavalbattle-18.12.0.tar.xz";
- sha256 = "16v4q2hn4d2d8iqj9mim0y8azx4nraja9a6fhym2h5nzqsz253gk";
- name = "knavalbattle-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/knavalbattle-18.12.1.tar.xz";
+ sha256 = "1p03c980w4d10mkmvm01imi7vg6cp3wqz0wvw2d5vz47i0jhm2w8";
+ name = "knavalbattle-18.12.1.tar.xz";
};
};
knetwalk = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/knetwalk-18.12.0.tar.xz";
- sha256 = "1pgk7wnll793hmjmc0r416vvrgpicyyf88g459a5ybmj28hi5xqi";
- name = "knetwalk-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/knetwalk-18.12.1.tar.xz";
+ sha256 = "0x5794f91b84l4d8hgkqi33rdqa7s1plhprhmbfvsi4grpms6c0c";
+ name = "knetwalk-18.12.1.tar.xz";
};
};
knights = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/knights-18.12.0.tar.xz";
- sha256 = "10p994q5rycs3p5yn6r0gn8fjj3m8gsrx2gdvzdavizbsp5xv0qb";
- name = "knights-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/knights-18.12.1.tar.xz";
+ sha256 = "17n7zi100q62wjavfr87369yqp2mjxqz0lyqalagjp25d80z18l2";
+ name = "knights-18.12.1.tar.xz";
};
};
knotes = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/knotes-18.12.0.tar.xz";
- sha256 = "1r0p5k66gadglm329dcmr6x93wr56z32r03v8zd2r4ffbvp2hvqr";
- name = "knotes-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/knotes-18.12.1.tar.xz";
+ sha256 = "12n40znf9vczvbf5xfj4zsxwbj2rdj7l1iasmiiil2md8iyjs6dz";
+ name = "knotes-18.12.1.tar.xz";
};
};
kolf = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kolf-18.12.0.tar.xz";
- sha256 = "0j5scf9ynq71z5pcbiqm13a3asz62man5nirjxr9fcj4mb1zirfk";
- name = "kolf-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kolf-18.12.1.tar.xz";
+ sha256 = "072nmvsxm8ky1nz2pp6ri74ms3rql0qqg004mzbbq061dil4k63i";
+ name = "kolf-18.12.1.tar.xz";
};
};
kollision = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kollision-18.12.0.tar.xz";
- sha256 = "1zifm52q8yc2l5mqrc7wnddz9a0r1yz4dnk85c9dj2cndk8jz05p";
- name = "kollision-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kollision-18.12.1.tar.xz";
+ sha256 = "0idjjfgj8fk0c0l5i6x80cg20p1rpq6kab8z9rh2izvg1v6h7qvl";
+ name = "kollision-18.12.1.tar.xz";
};
};
kolourpaint = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kolourpaint-18.12.0.tar.xz";
- sha256 = "1m0j0bdcrhhk8k1imnz7xm33yi8dcbsx432866ikh31l68i44wgc";
- name = "kolourpaint-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kolourpaint-18.12.1.tar.xz";
+ sha256 = "0h454h5rzk0wki8lbmz57xx3859c27sy9vk1mwawfj963785f2nd";
+ name = "kolourpaint-18.12.1.tar.xz";
};
};
kompare = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kompare-18.12.0.tar.xz";
- sha256 = "02f4laclz3vhgbyzfxhi3f79k62z27fwa5qhdwwsvbn1xlgzbpx4";
- name = "kompare-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kompare-18.12.1.tar.xz";
+ sha256 = "099fkxmk7g19l07lf2v3hmqrgfd17fbsv4m5cxdjci8alizw8pp9";
+ name = "kompare-18.12.1.tar.xz";
};
};
konqueror = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/konqueror-18.12.0.tar.xz";
- sha256 = "0yzldqi0i1hiw33ppiccn8vpvy5ygf2vf4m3awfcj2376bzz7d4r";
- name = "konqueror-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/konqueror-18.12.1.tar.xz";
+ sha256 = "08j4x2xi1iv5661gjpcakp2dmdhvhw3jad98kq3xj9989s7phpfy";
+ name = "konqueror-18.12.1.tar.xz";
};
};
konquest = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/konquest-18.12.0.tar.xz";
- sha256 = "1w7r1a7ilakz9k0f1z4jrfsjscf9z8l18rdfry5b1h8zz70j5j0z";
- name = "konquest-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/konquest-18.12.1.tar.xz";
+ sha256 = "0mlk2vm53nc9dc7ca9ah3ly9qs94md24pi2gmv68pz1ysr51i483";
+ name = "konquest-18.12.1.tar.xz";
};
};
konsole = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/konsole-18.12.0.tar.xz";
- sha256 = "04qmldzfb0qjwddz56nv20gffi8z6vhm0vsvqd59q5nhkj9shnr3";
- name = "konsole-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/konsole-18.12.1.tar.xz";
+ sha256 = "15w1jizs4q6mivv7qjkf0gkqlz0jnrz7b2i59r3kx2fvwwwl18rg";
+ name = "konsole-18.12.1.tar.xz";
};
};
kontact = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kontact-18.12.0.tar.xz";
- sha256 = "0i9hj2rrwa5vzzh7p586d7vkzgk69inq3c7bvvjr6lhy0xrcy9cb";
- name = "kontact-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kontact-18.12.1.tar.xz";
+ sha256 = "0bqn9vh75wpkks1l9hd2bm33k1im356x2091xlnnzs70m4gjxhag";
+ name = "kontact-18.12.1.tar.xz";
};
};
kontactinterface = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kontactinterface-18.12.0.tar.xz";
- sha256 = "05kx0jrxh13f42az6p9kj90wyqjl3ansqni9pa06fd1klq0ssncz";
- name = "kontactinterface-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kontactinterface-18.12.1.tar.xz";
+ sha256 = "0khba3wnpwji4mm5n56bcnffd1v9w4a1b1r7lhlz88dqkakqyb61";
+ name = "kontactinterface-18.12.1.tar.xz";
};
};
kopete = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kopete-18.12.0.tar.xz";
- sha256 = "1xzriv2zqpf7vzny2k7qn39slx0b6cls8414c757ppd9ai4yh32a";
- name = "kopete-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kopete-18.12.1.tar.xz";
+ sha256 = "12q62nj287qc4gz8q66spk1d0xykrwkphwaxrh2i3sd07bjmyzqs";
+ name = "kopete-18.12.1.tar.xz";
};
};
korganizer = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/korganizer-18.12.0.tar.xz";
- sha256 = "0pk8psl90xmb06y0h87ar35kbqr9pjl31l05h01ig32w1vr0rw8c";
- name = "korganizer-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/korganizer-18.12.1.tar.xz";
+ sha256 = "1g8wjrghzxgx9xhqf98z9xlq5svl2v931ifczsfkvs9d3smx2zsg";
+ name = "korganizer-18.12.1.tar.xz";
};
};
kpat = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kpat-18.12.0.tar.xz";
- sha256 = "18q0pa4aijjkgjcg3v1v7ap2nvyavqsgh4s672v74jrxijd353gw";
- name = "kpat-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kpat-18.12.1.tar.xz";
+ sha256 = "1ami2bssnjm01k3i6bqqciszablkw6975hac2d8zzvg2bz8g4a2a";
+ name = "kpat-18.12.1.tar.xz";
};
};
kpimtextedit = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kpimtextedit-18.12.0.tar.xz";
- sha256 = "0fg3cfh6v2hkhca9yb2kcvc9rq7f94a2wxkyi6cx88r3k3plh212";
- name = "kpimtextedit-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kpimtextedit-18.12.1.tar.xz";
+ sha256 = "13ki9gjgakyqcxx4hvs0plqgw0rqx0z95dnyaqv1safqkwrr76hb";
+ name = "kpimtextedit-18.12.1.tar.xz";
};
};
kpkpass = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kpkpass-18.12.0.tar.xz";
- sha256 = "07rmjzgkww405f0f16w3fgd5kwz335xbl9gjlc1lkh6lhddmbjc6";
- name = "kpkpass-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kpkpass-18.12.1.tar.xz";
+ sha256 = "1sw3gpvai71lliq4y1snxrhzi9jhl1vxkimlxl2nmhg951nzd4xx";
+ name = "kpkpass-18.12.1.tar.xz";
};
};
kqtquickcharts = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kqtquickcharts-18.12.0.tar.xz";
- sha256 = "01vdg2l48521pgkkx7h1vkgbrjl7gpzzinldk3aa7ki0997rff6h";
- name = "kqtquickcharts-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kqtquickcharts-18.12.1.tar.xz";
+ sha256 = "0i8qww267q797pxk3k66d09b0dp7ixbxf92p5bsqf7z4p2graayl";
+ name = "kqtquickcharts-18.12.1.tar.xz";
};
};
krdc = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/krdc-18.12.0.tar.xz";
- sha256 = "0yvk15grdk82flf7s9zsfgfhrmcy9wvcjhgdqjng2m9hd9sviix4";
- name = "krdc-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/krdc-18.12.1.tar.xz";
+ sha256 = "1smdav92rfr92mxk8q7wcmmvrf746vn2xyw36hyszq561ycgwwrx";
+ name = "krdc-18.12.1.tar.xz";
};
};
kreversi = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kreversi-18.12.0.tar.xz";
- sha256 = "04mpkpa8lar7l8blrgkz9n5xzq0br15qxxginh3hgp9vcp83njpb";
- name = "kreversi-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kreversi-18.12.1.tar.xz";
+ sha256 = "171w76xv9dbhy7pxs9swq7xknrwkjk5ndgq4waj6m5dh0109qmx4";
+ name = "kreversi-18.12.1.tar.xz";
};
};
krfb = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/krfb-18.12.0.tar.xz";
- sha256 = "107z3bwq5xb2l4p88qpv9zibjzbgdbhf3d13bp220vnpwkwaxhpm";
- name = "krfb-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/krfb-18.12.1.tar.xz";
+ sha256 = "0bhhlp4ask2xqzq9igw0akxr0gb0iilaljwqrcw91fx36sxq46p4";
+ name = "krfb-18.12.1.tar.xz";
};
};
kross-interpreters = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kross-interpreters-18.12.0.tar.xz";
- sha256 = "1xr7cb3v40lm2wh78vhzxw3v34g52ngrd1baf4g4yi00y85y42bf";
- name = "kross-interpreters-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kross-interpreters-18.12.1.tar.xz";
+ sha256 = "0k57qprmpspp9b8vb124h1whgyskmwd6q7l60vswqizc64xa2src";
+ name = "kross-interpreters-18.12.1.tar.xz";
};
};
kruler = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kruler-18.12.0.tar.xz";
- sha256 = "0ms875n8rr19lvvbmq7jjbbgd4l4p4k8fqxhay7wil2mgdpkd087";
- name = "kruler-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kruler-18.12.1.tar.xz";
+ sha256 = "1wfxapw6grx860wa6fyya8fnvlrpmdzsz64fnx64h0mky09j21r6";
+ name = "kruler-18.12.1.tar.xz";
};
};
kshisen = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kshisen-18.12.0.tar.xz";
- sha256 = "0bd9wbn343glgsf6qnyqqdhqrkw61lywgnjslsmc4bb1parka8ww";
- name = "kshisen-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kshisen-18.12.1.tar.xz";
+ sha256 = "0wz4jfrqqvzz2p5f6hwyj7rpijsnhbzmm2m7jhjrljjl5lfdqd3x";
+ name = "kshisen-18.12.1.tar.xz";
};
};
ksirk = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ksirk-18.12.0.tar.xz";
- sha256 = "1nm8y05im0h6vdkdqlbh21ci68dalan7qmjiiwamrzc5dsvh9lwi";
- name = "ksirk-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ksirk-18.12.1.tar.xz";
+ sha256 = "108bw284jsff3qgg98vzs93m6dl8wjfkmbrkjgij03w00jb47bqf";
+ name = "ksirk-18.12.1.tar.xz";
};
};
ksmtp = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ksmtp-18.12.0.tar.xz";
- sha256 = "1caqqml7q41rk49mxq0wj439h87ln827jvxsbiv11qphkp6041y4";
- name = "ksmtp-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ksmtp-18.12.1.tar.xz";
+ sha256 = "0zj4gpfz2njrdnfbjy7s9xci0il7qmmzargkszgj9jdzpm5qlaas";
+ name = "ksmtp-18.12.1.tar.xz";
};
};
ksnakeduel = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ksnakeduel-18.12.0.tar.xz";
- sha256 = "06acl0bc87fcixkj67l4n4csa060lnaqkh8p3s7r3zccsy660ya4";
- name = "ksnakeduel-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ksnakeduel-18.12.1.tar.xz";
+ sha256 = "1l0gfh5vfcfnk3sdl8wsqbc2vcmsdf9frpngfacv4ndm4xc371ql";
+ name = "ksnakeduel-18.12.1.tar.xz";
};
};
kspaceduel = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kspaceduel-18.12.0.tar.xz";
- sha256 = "08dbmwbjqy8d0xidxipadndi0lxm1n2h0dxksjk8imsprz5r4j2l";
- name = "kspaceduel-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kspaceduel-18.12.1.tar.xz";
+ sha256 = "01pcnqpzbrnwxavmfpdib78kc44am9in711012j2621cccx2r9cw";
+ name = "kspaceduel-18.12.1.tar.xz";
};
};
ksquares = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ksquares-18.12.0.tar.xz";
- sha256 = "0a6kf3arxvakd7mcr6xxasls8gmgc16gsnm0bjvviaxfc9f3wx8x";
- name = "ksquares-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ksquares-18.12.1.tar.xz";
+ sha256 = "1gyd7qipp821jzn94yrw4b0d46ays0hs26q17hxnbx07hyfj3kcb";
+ name = "ksquares-18.12.1.tar.xz";
};
};
ksudoku = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ksudoku-18.12.0.tar.xz";
- sha256 = "1bm4lx5w4d3drgydqz2wxi3gh2778q8nl3k6ac4pm4iq8amgmgi6";
- name = "ksudoku-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ksudoku-18.12.1.tar.xz";
+ sha256 = "1cm5r4fkc7ha0c3mbcank9h2fhym7qc8k1q69lpmzrbm9hw2kgrs";
+ name = "ksudoku-18.12.1.tar.xz";
};
};
ksystemlog = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ksystemlog-18.12.0.tar.xz";
- sha256 = "0gh83ih9y0ydhm4g2drbcjkqh58g5a1flg1zqxr7rak8kf1pchnm";
- name = "ksystemlog-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ksystemlog-18.12.1.tar.xz";
+ sha256 = "1s5b4j67q6nm7r4b1ibvypsd5z9la7cri7z1r7hzihv4nry8pk5c";
+ name = "ksystemlog-18.12.1.tar.xz";
};
};
kteatime = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kteatime-18.12.0.tar.xz";
- sha256 = "1p4a3kahsjgfw9f6mw16bzz1bzk1jnssgvhzqh9ragqyp5qpn3s3";
- name = "kteatime-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kteatime-18.12.1.tar.xz";
+ sha256 = "01p4d61d16k2pppf51sz52y0w4qc1dyqnmhjlnr5w75rfmwvvivg";
+ name = "kteatime-18.12.1.tar.xz";
};
};
ktimer = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktimer-18.12.0.tar.xz";
- sha256 = "1lv64bk64k7nb2y9qahc45cg3n51qrb4ahk5l9mrbj9q5yvm1acs";
- name = "ktimer-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktimer-18.12.1.tar.xz";
+ sha256 = "0wqkfvbdcnwh1jzn2ac7k4pa8amr51ajhljc95mvps03m9d92rsf";
+ name = "ktimer-18.12.1.tar.xz";
};
};
ktnef = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktnef-18.12.0.tar.xz";
- sha256 = "1ca9gga65h9kygfcsr1yvy50ccq3587scml36p740iwrxms8lrcb";
- name = "ktnef-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktnef-18.12.1.tar.xz";
+ sha256 = "0id7hkmgr5zc12zfrj5ydxyhgdrlx4ip1dsw301i27id104fqb69";
+ name = "ktnef-18.12.1.tar.xz";
};
};
ktouch = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktouch-18.12.0.tar.xz";
- sha256 = "1221xagypm1j56lx2g4845wrw0w01f2s4x8r3jwr32wzxvi8bxs3";
- name = "ktouch-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktouch-18.12.1.tar.xz";
+ sha256 = "0v3lhxx45l41bw14wi7n4k29d1c9xmacrscjyj84fmy09nlyyaa5";
+ name = "ktouch-18.12.1.tar.xz";
};
};
ktp-accounts-kcm = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-accounts-kcm-18.12.0.tar.xz";
- sha256 = "0bx97zalwk78340klgh87rb5fadma8flg6q0bg436j01dsld0s0p";
- name = "ktp-accounts-kcm-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-accounts-kcm-18.12.1.tar.xz";
+ sha256 = "1aswmp7504kpwlb37rvxx514ac5256h5lhwj9xl479vyxgaazxsn";
+ name = "ktp-accounts-kcm-18.12.1.tar.xz";
};
};
ktp-approver = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-approver-18.12.0.tar.xz";
- sha256 = "1cvixdcws126x7wll57dv6w78p3fb06lgd411i9jf7n02sx3l09q";
- name = "ktp-approver-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-approver-18.12.1.tar.xz";
+ sha256 = "1jr5kxlj2229rknxhi5jsgdjgx9n0n5jx7lc4aa2c96kd843n2ah";
+ name = "ktp-approver-18.12.1.tar.xz";
};
};
ktp-auth-handler = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-auth-handler-18.12.0.tar.xz";
- sha256 = "0zfdq7q1v48vcaj4raz5r6l400xhz7ngjylg3kd7jabarljjv2gs";
- name = "ktp-auth-handler-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-auth-handler-18.12.1.tar.xz";
+ sha256 = "1fwcibz8dh94xaprpyybn0dlh1fyd6rsx9zsx8cyxqhx96fq8v28";
+ name = "ktp-auth-handler-18.12.1.tar.xz";
};
};
ktp-call-ui = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-call-ui-18.12.0.tar.xz";
- sha256 = "1q9z6g0djk7mszy48bwrw4mvja15xkcg6x88391sw1lvanps9hmk";
- name = "ktp-call-ui-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-call-ui-18.12.1.tar.xz";
+ sha256 = "1f63w374d9smz7147lax9zqfvikqhl2hllvnlb03zl49kh13s8h3";
+ name = "ktp-call-ui-18.12.1.tar.xz";
};
};
ktp-common-internals = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-common-internals-18.12.0.tar.xz";
- sha256 = "00smq4q4m8hvvfaz0b9iyxxz3dl15qs0is6zbkh4scvxxp54n056";
- name = "ktp-common-internals-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-common-internals-18.12.1.tar.xz";
+ sha256 = "1frnzsql9mk78bjfc2kpwmsf8nkx1ybhm1snq125kkzayqipvdkp";
+ name = "ktp-common-internals-18.12.1.tar.xz";
};
};
ktp-contact-list = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-contact-list-18.12.0.tar.xz";
- sha256 = "0kyllg9f0kj1w00jhk2khmsfdqqixnz8s74jvg5fjw8bbibjbn3y";
- name = "ktp-contact-list-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-contact-list-18.12.1.tar.xz";
+ sha256 = "13aiy156372qapwddr2i3nf1jkzbj9905rvd55akwpa8sy70m3kw";
+ name = "ktp-contact-list-18.12.1.tar.xz";
};
};
ktp-contact-runner = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-contact-runner-18.12.0.tar.xz";
- sha256 = "1hpapg3fnmwsgai7jb9kbh5f71hp8qfzphgczcmf6h5151g2l6jj";
- name = "ktp-contact-runner-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-contact-runner-18.12.1.tar.xz";
+ sha256 = "1grpgg3fgyzf97n60jmpjgviz5194awmrl6yfaal7hd1cdkfrs34";
+ name = "ktp-contact-runner-18.12.1.tar.xz";
};
};
ktp-desktop-applets = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-desktop-applets-18.12.0.tar.xz";
- sha256 = "1dfcjjmbplgx7b45q9vklq8kvc0ajclzy6cmyq3maj577747h5xz";
- name = "ktp-desktop-applets-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-desktop-applets-18.12.1.tar.xz";
+ sha256 = "0iikcp7rvvrn7189kdzj1i4qzhkgh06gzr8hm49gy29qxqk36ykn";
+ name = "ktp-desktop-applets-18.12.1.tar.xz";
};
};
ktp-filetransfer-handler = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-filetransfer-handler-18.12.0.tar.xz";
- sha256 = "1dzrzv6nmv6ighiqq8hi9crasnqdbqimg3qdssyryxrqs64m9h29";
- name = "ktp-filetransfer-handler-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-filetransfer-handler-18.12.1.tar.xz";
+ sha256 = "04dnh7yb0jajs79xh1wyq9d48nklvldc7lnk1lp194iz8yydvylx";
+ name = "ktp-filetransfer-handler-18.12.1.tar.xz";
};
};
ktp-kded-module = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-kded-module-18.12.0.tar.xz";
- sha256 = "0720yayzz4rwrmplwjpq6bfb86k0jhmxc5k25yqj9fg7n6w2qsx3";
- name = "ktp-kded-module-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-kded-module-18.12.1.tar.xz";
+ sha256 = "0kmw8pifb4xry3zqpq671rh39ziaka8zx60p5xzs10rl17rmxwzs";
+ name = "ktp-kded-module-18.12.1.tar.xz";
};
};
ktp-send-file = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-send-file-18.12.0.tar.xz";
- sha256 = "0jfy8qqm6n5pm2s24pbvxmmcibxxq71gggg4xf0miqkhdvx5b9kw";
- name = "ktp-send-file-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-send-file-18.12.1.tar.xz";
+ sha256 = "01i059vsaydw410sv15vzwysgxcy2n9wm3qcnal4fx7wgw5xx163";
+ name = "ktp-send-file-18.12.1.tar.xz";
};
};
ktp-text-ui = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktp-text-ui-18.12.0.tar.xz";
- sha256 = "14ln91srqfkk0fgp197wvlqxgagw23x4h94j1v1m51pia0v6226b";
- name = "ktp-text-ui-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktp-text-ui-18.12.1.tar.xz";
+ sha256 = "14smhdcvy0v1s1rbkss1g6jyzfm6y1nqjp8a9wcbygbzh88g0bjy";
+ name = "ktp-text-ui-18.12.1.tar.xz";
};
};
ktuberling = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/ktuberling-18.12.0.tar.xz";
- sha256 = "0ms20qffd5mwlrxbd8ajb0lx3ny7mhlx25n59w2paq2x313qcsfk";
- name = "ktuberling-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/ktuberling-18.12.1.tar.xz";
+ sha256 = "0h0w2knfs97bzxaja3dkc78fjfymic09b6zid41kxd4mi41lngkk";
+ name = "ktuberling-18.12.1.tar.xz";
};
};
kturtle = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kturtle-18.12.0.tar.xz";
- sha256 = "0ik44282gc6rmzsg6xv4fvpx1yzb4y4gv7jmslxgwi6rwc1q0m5v";
- name = "kturtle-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kturtle-18.12.1.tar.xz";
+ sha256 = "0b2505gmys2p11ryj7bqr60zgh0ydp16xidhkv6hhykmrmp2bsm1";
+ name = "kturtle-18.12.1.tar.xz";
};
};
kubrick = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kubrick-18.12.0.tar.xz";
- sha256 = "0h4jx41wawbifdx7mzqbsx9nfrn2r9rkb01y0d63f5s2835hs2yc";
- name = "kubrick-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kubrick-18.12.1.tar.xz";
+ sha256 = "0vq8djk5xc00cz4a2inbw62x9pigxxjcxi92h8qayigi7cf9xrll";
+ name = "kubrick-18.12.1.tar.xz";
};
};
kwalletmanager = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kwalletmanager-18.12.0.tar.xz";
- sha256 = "0znbrp1hk7jky9y3p9bc47sqn8mqd54x5j8kw52sg9v4428aag09";
- name = "kwalletmanager-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kwalletmanager-18.12.1.tar.xz";
+ sha256 = "1d3kdxc53n2ss73r9ld6rr5w9zhvkglrcbw8whq2hsam79mh0vsn";
+ name = "kwalletmanager-18.12.1.tar.xz";
};
};
kwave = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kwave-18.12.0.tar.xz";
- sha256 = "00h5i0iax9hd79pw71wvv4p75rv6z61zpfg2s4n6zqjx8c312rhh";
- name = "kwave-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kwave-18.12.1.tar.xz";
+ sha256 = "150lqffzzyb2ajyg97sprzbm6zq1iq4psl6vics51lw7sybwj4m3";
+ name = "kwave-18.12.1.tar.xz";
};
};
kwordquiz = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/kwordquiz-18.12.0.tar.xz";
- sha256 = "0a0i7khsvn68rxwwm3q5h4ymf6j3bdm3sc3q3z74rj3n0s03dnww";
- name = "kwordquiz-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/kwordquiz-18.12.1.tar.xz";
+ sha256 = "1da9jjdk2avdmdm16s63h0hk5swml37afwdnsd777ilj2x8a5ndf";
+ name = "kwordquiz-18.12.1.tar.xz";
};
};
libgravatar = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libgravatar-18.12.0.tar.xz";
- sha256 = "077qkpsg2v77mzg2q5jw7fr6sss07x5998f9x65pqgqlc9b6h494";
- name = "libgravatar-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libgravatar-18.12.1.tar.xz";
+ sha256 = "1a7b46zqv5m7c9arfmcxhrcnrkcligz3ryygxv801zfa7277l8j6";
+ name = "libgravatar-18.12.1.tar.xz";
};
};
libkcddb = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkcddb-18.12.0.tar.xz";
- sha256 = "15dmbb5cvr9rcaspizrc2laxkwhfrsnlczdns0biq3lysajblwfa";
- name = "libkcddb-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkcddb-18.12.1.tar.xz";
+ sha256 = "1k9rbkf12g1hsn23nyhc65zrppkikk8xplm7l321kxpnq2prm155";
+ name = "libkcddb-18.12.1.tar.xz";
};
};
libkcompactdisc = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkcompactdisc-18.12.0.tar.xz";
- sha256 = "1jrw16hbp8fn48l70gqxpiy6iwpisk087sixvs3cbn94dmczgpka";
- name = "libkcompactdisc-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkcompactdisc-18.12.1.tar.xz";
+ sha256 = "0v7fh9s9qbljgfjyi3bd9w7wp69y4qjg0jj8cmn11snrsd8zzaac";
+ name = "libkcompactdisc-18.12.1.tar.xz";
};
};
libkdcraw = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkdcraw-18.12.0.tar.xz";
- sha256 = "0n3b5blda31gf38hyplpb29mp6aa187adgqqyijzhnvvm1mfwa5z";
- name = "libkdcraw-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkdcraw-18.12.1.tar.xz";
+ sha256 = "1g58cpzqzl6vl62lbrqd8fyscxspqypxq4lyj3d2k9b0b66hjc6c";
+ name = "libkdcraw-18.12.1.tar.xz";
};
};
libkdegames = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkdegames-18.12.0.tar.xz";
- sha256 = "01i00n4cjpq1srag5ca8siw6rjc1gwhdzfib6cg3xf9my5sl0hbv";
- name = "libkdegames-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkdegames-18.12.1.tar.xz";
+ sha256 = "0iksk5gnl860xcmpaj56wxaamhm9zhjnyszj4nssppssn8kr1r65";
+ name = "libkdegames-18.12.1.tar.xz";
};
};
libkdepim = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkdepim-18.12.0.tar.xz";
- sha256 = "188jf33dihrrq0zzmdddg6sx4ck2lp5gj1br4xfsqgrc1qf9z5hd";
- name = "libkdepim-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkdepim-18.12.1.tar.xz";
+ sha256 = "1qvzj68p630mzafwyv7f3q1fd615yca7amc0q7kp2cs08fnv67fp";
+ name = "libkdepim-18.12.1.tar.xz";
};
};
libkeduvocdocument = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkeduvocdocument-18.12.0.tar.xz";
- sha256 = "1fa6pgpcarqabc18bph4lijsx1paf1a1arisrlf5mgkivg2yvy2k";
- name = "libkeduvocdocument-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkeduvocdocument-18.12.1.tar.xz";
+ sha256 = "0zgl0dw8sb5lffzv580nql04i0n31ma8569wrhh75kg12qb5yd7w";
+ name = "libkeduvocdocument-18.12.1.tar.xz";
};
};
libkexiv2 = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkexiv2-18.12.0.tar.xz";
- sha256 = "1x3pxcii60kn8c1bmgrra9h4ahblwwp5vjd6p2wg2f4jkpmjz1ha";
- name = "libkexiv2-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkexiv2-18.12.1.tar.xz";
+ sha256 = "1jgk14dgf30czsah0mjrs7lsll0s4aks2075pfmvrnsl71vfbsj3";
+ name = "libkexiv2-18.12.1.tar.xz";
};
};
libkgapi = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkgapi-18.12.0.tar.xz";
- sha256 = "0d79p7f6gmb8vjbp2nmc5rz9rabj08np96jbqf4wzgcjcxxi64kp";
- name = "libkgapi-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkgapi-18.12.1.tar.xz";
+ sha256 = "1g5mzdw4mrlqhi9zby51m1sgkq1gjmkd7smja287kjf7whdx0sn3";
+ name = "libkgapi-18.12.1.tar.xz";
};
};
libkgeomap = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkgeomap-18.12.0.tar.xz";
- sha256 = "1pmicj4p3d17i7nj6alns8a24ay0xrs852d1x1xrcdkv7h7y5hvi";
- name = "libkgeomap-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkgeomap-18.12.1.tar.xz";
+ sha256 = "0ijf71ss8qirrgx45x4wnry049d2bllgnlzm8gll4mj1hv9jhjdz";
+ name = "libkgeomap-18.12.1.tar.xz";
};
};
libkipi = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkipi-18.12.0.tar.xz";
- sha256 = "0cfn09x7splycpqwz0fy52lnkpc9dsq6i2j2q3r4fjgpblj9m86h";
- name = "libkipi-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkipi-18.12.1.tar.xz";
+ sha256 = "1372kmqni0vb8bryv0h30pljikabjdq44v1fjpgg81f4v1n4pfxv";
+ name = "libkipi-18.12.1.tar.xz";
};
};
libkleo = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkleo-18.12.0.tar.xz";
- sha256 = "14iy3wis79rfri7najbyvx94ym2aa7si8h35rx4977flhc80nzin";
- name = "libkleo-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkleo-18.12.1.tar.xz";
+ sha256 = "1p1bw0wzwg2zccgkqs50j92rzkpvcspjdj85zanmryg568mz9r1x";
+ name = "libkleo-18.12.1.tar.xz";
};
};
libkmahjongg = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkmahjongg-18.12.0.tar.xz";
- sha256 = "12pki8hkcv8ihcwwdnhpcz21h4676zra5qwf56aa5cj5qpdgf4gx";
- name = "libkmahjongg-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkmahjongg-18.12.1.tar.xz";
+ sha256 = "1q590f7l10a1zjcg3dv3ns1003xrnr7zlmff03zg3a9zcqj11kwv";
+ name = "libkmahjongg-18.12.1.tar.xz";
};
};
libkomparediff2 = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libkomparediff2-18.12.0.tar.xz";
- sha256 = "0xbccawxqk29f2qvr6hcbpan4fhahzksg7bl7jnv8xsv01lbm3rs";
- name = "libkomparediff2-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libkomparediff2-18.12.1.tar.xz";
+ sha256 = "0ik6bclbipp01gfy3zfkijvl5m0y3z2dfxr76jvzmi53ypm7g0xn";
+ name = "libkomparediff2-18.12.1.tar.xz";
};
};
libksane = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libksane-18.12.0.tar.xz";
- sha256 = "1vdxyik47fij9mm1fs6p9bn0n56wsajzqd5am03nrwkwanva25xj";
- name = "libksane-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libksane-18.12.1.tar.xz";
+ sha256 = "15dgc5dshs6yzv03wvc5xvqfz70gqy51a0r54qzbr5fc9s6pywr8";
+ name = "libksane-18.12.1.tar.xz";
};
};
libksieve = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/libksieve-18.12.0.tar.xz";
- sha256 = "1hwasycmfnjzqyxfh0kir1jhx002qci6dclv4cysv1ww33wsyskp";
- name = "libksieve-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/libksieve-18.12.1.tar.xz";
+ sha256 = "0kcg94bsww3vlc3vpybw20c4iax0bfkamicy7hwyyyzwgx38dvd1";
+ name = "libksieve-18.12.1.tar.xz";
};
};
lokalize = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/lokalize-18.12.0.tar.xz";
- sha256 = "07rnx40836xncndqbcvpircvgnaywmwzbkfl16665ciphxrilm6q";
- name = "lokalize-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/lokalize-18.12.1.tar.xz";
+ sha256 = "1spzi7zbckvxy3izmcqjnslmqf4vgr7zrwa0idmqi4q59dcsgw9g";
+ name = "lokalize-18.12.1.tar.xz";
};
};
lskat = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/lskat-18.12.0.tar.xz";
- sha256 = "1cw9z22gvyd9d44sg1qxir923q1ilmmqdgzzrh8wrb5p3m0mn0nz";
- name = "lskat-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/lskat-18.12.1.tar.xz";
+ sha256 = "0603lxw1fxz9vpawy59z3qga0f1bvvgv9yqk29b16fmp5hf5qgxm";
+ name = "lskat-18.12.1.tar.xz";
};
};
mailcommon = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/mailcommon-18.12.0.tar.xz";
- sha256 = "0aigxd6pkw9xwy8q1kx9vqp17vljrzwv8skq6qmh9fvkjiampw84";
- name = "mailcommon-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/mailcommon-18.12.1.tar.xz";
+ sha256 = "0l1b115vnxfl2ykwnj09ikv7vlfa5bvfzlii6jj2znkmspi9y7r2";
+ name = "mailcommon-18.12.1.tar.xz";
};
};
mailimporter = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/mailimporter-18.12.0.tar.xz";
- sha256 = "06nsn7vfgrvfgrmx4qyy21rq4a8bj5vxi4hrfd7377pd1sx58qvi";
- name = "mailimporter-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/mailimporter-18.12.1.tar.xz";
+ sha256 = "1k8gqjabcvafcvsqwclvz58r15k1bpz52wnnnbwcp0y27ab08a98";
+ name = "mailimporter-18.12.1.tar.xz";
};
};
marble = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/marble-18.12.0.tar.xz";
- sha256 = "0ljzv2ygpqwz4a387ja280p7cd47bkjv7m40c3yn2yijiladyffv";
- name = "marble-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/marble-18.12.1.tar.xz";
+ sha256 = "0hamj04ma9qycfisjv48myxj1427rz7g0lmw7pwanzghg610fgwy";
+ name = "marble-18.12.1.tar.xz";
};
};
mbox-importer = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/mbox-importer-18.12.0.tar.xz";
- sha256 = "08rfgf5zcp6vhd78rj2yikmzrgddhdn7cykw9pqfgmhy0nci14sm";
- name = "mbox-importer-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/mbox-importer-18.12.1.tar.xz";
+ sha256 = "1h2abj7v6v3rmvsv9bb1wj7sabhh9f35bx1yfk2hhfzf6l4r5f2n";
+ name = "mbox-importer-18.12.1.tar.xz";
};
};
messagelib = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/messagelib-18.12.0.tar.xz";
- sha256 = "189bn6lblqq4vr1a2pk99pj3y3xh5q8xxdrg2hrdcc10wmjk9knv";
- name = "messagelib-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/messagelib-18.12.1.tar.xz";
+ sha256 = "1hfk54w0dhp82fxa4q19d4224pjnw5f8m7ap4gwlrqdj350liqd8";
+ name = "messagelib-18.12.1.tar.xz";
};
};
minuet = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/minuet-18.12.0.tar.xz";
- sha256 = "1hma6r3z7k382gpd0wccxdbss1a17gvkb5fvdaii5xm7c9ca63r7";
- name = "minuet-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/minuet-18.12.1.tar.xz";
+ sha256 = "160wq3j7vcf1k0ayd8axg37ghj5ymn56g7znaz4gzc8ar1q5nccz";
+ name = "minuet-18.12.1.tar.xz";
};
};
okular = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/okular-18.12.0.tar.xz";
- sha256 = "184r6lqsyx1x63zjirn709w0pd81hyh4f5j6m37m5hr6dg8l6mli";
- name = "okular-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/okular-18.12.1.tar.xz";
+ sha256 = "1k1srr2434j665v6m89vl7x42361pqxaw45dc5b4bhw8q2xfipyl";
+ name = "okular-18.12.1.tar.xz";
};
};
palapeli = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/palapeli-18.12.0.tar.xz";
- sha256 = "09fbsw0id1p81zvd7kfimjx81m3zz36kdvd40jwbsffrqi682iww";
- name = "palapeli-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/palapeli-18.12.1.tar.xz";
+ sha256 = "0pwflnnnbfxf185m3r4vdw5jpd5jld0wm0qnwk2gl41v2ahb5pqd";
+ name = "palapeli-18.12.1.tar.xz";
};
};
parley = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/parley-18.12.0.tar.xz";
- sha256 = "1mnp835g1b7vwz5gnzl78x3s80sw1ps4gsddg4ywrdkjr5b099gk";
- name = "parley-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/parley-18.12.1.tar.xz";
+ sha256 = "1yv4m9f4jhc36ffnrxd6rq5117rj163hs6835mkkzja7z13csn6z";
+ name = "parley-18.12.1.tar.xz";
};
};
picmi = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/picmi-18.12.0.tar.xz";
- sha256 = "0y6fnh8629zj98ih4cwgy31gknpc6ipn4aqxcjg8hfic8jxnppyp";
- name = "picmi-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/picmi-18.12.1.tar.xz";
+ sha256 = "0dmhvxy0g4jjbxk53bz1g1r8vqdzhzbcwg0f1ck85gz7f5g67b7v";
+ name = "picmi-18.12.1.tar.xz";
};
};
pimcommon = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/pimcommon-18.12.0.tar.xz";
- sha256 = "1rchq4clw6r08vm6cw9kw52bn7z1nfjmp2lmi0sq3pjfqlxif2zc";
- name = "pimcommon-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/pimcommon-18.12.1.tar.xz";
+ sha256 = "09av3zdr463gjc877ipa5vz84yf4qpj2ixs9x4ajmfmsmb5m6w7z";
+ name = "pimcommon-18.12.1.tar.xz";
};
};
pim-data-exporter = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/pim-data-exporter-18.12.0.tar.xz";
- sha256 = "0ywxcd02crwjrqx8ikkc4rgx1z93zvzqadqg3sjh636iz8svv5jc";
- name = "pim-data-exporter-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/pim-data-exporter-18.12.1.tar.xz";
+ sha256 = "111n4l9z3dazz7qhv67k00s88p515r8ai2sm419pbyfdn6wxpzmb";
+ name = "pim-data-exporter-18.12.1.tar.xz";
};
};
pim-sieve-editor = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/pim-sieve-editor-18.12.0.tar.xz";
- sha256 = "144frbny1pq1viam527b96fxalc9iv5ppqrrvpndqsvjrlsrll45";
- name = "pim-sieve-editor-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/pim-sieve-editor-18.12.1.tar.xz";
+ sha256 = "0i0jrmz4cyjcpapga89ixfqx7xg0nyk3r75ymfzw891fyhm7ns67";
+ name = "pim-sieve-editor-18.12.1.tar.xz";
};
};
poxml = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/poxml-18.12.0.tar.xz";
- sha256 = "1gnk9rzpa6rgff9xhawizx8cgsw84jqkpkr8aa2ki8zs4s6n9zl6";
- name = "poxml-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/poxml-18.12.1.tar.xz";
+ sha256 = "0hrpvpsy3mbyrikj68lr2af9m162w3nzhcpdqgrhsv5ji3j0bpqb";
+ name = "poxml-18.12.1.tar.xz";
};
};
print-manager = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/print-manager-18.12.0.tar.xz";
- sha256 = "03jgjj7xfc57bsq3nx3l836pmpqywlchqis9109k5cpygqvgqkr5";
- name = "print-manager-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/print-manager-18.12.1.tar.xz";
+ sha256 = "01kk592gi2rrqwaxmfd1fycnya0rvjafxxv6lrk3rs0nm4g9phxr";
+ name = "print-manager-18.12.1.tar.xz";
};
};
rocs = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/rocs-18.12.0.tar.xz";
- sha256 = "1gg0xg732wb9vzf1c69r5cqqhayxygv2brvbk3gvq6b201hv1q90";
- name = "rocs-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/rocs-18.12.1.tar.xz";
+ sha256 = "0d34bv8ya5lrdrbqqlc927x4cdfjwyr8q2xbmx4c1vaw8w29glw9";
+ name = "rocs-18.12.1.tar.xz";
};
};
signon-kwallet-extension = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/signon-kwallet-extension-18.12.0.tar.xz";
- sha256 = "0izmwyv1bw4iqgyhjrsq85xg7m5bp1v9khy5fxh1mhvh52w9zq8s";
- name = "signon-kwallet-extension-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/signon-kwallet-extension-18.12.1.tar.xz";
+ sha256 = "018vyzd3rspfsqansxfbv4q0izgj7dfpmzjj04x8pffg1w0x902n";
+ name = "signon-kwallet-extension-18.12.1.tar.xz";
};
};
spectacle = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/spectacle-18.12.0.tar.xz";
- sha256 = "0nnsv0y28pxxhvf3r76nqgmn0ncixhr8d783mm3i3a3yz1z8a45c";
- name = "spectacle-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/spectacle-18.12.1.tar.xz";
+ sha256 = "1r9iapwi1lp1p7x0dimblpmsizv1ys9708vdlzrk8q4m8rwn7ld9";
+ name = "spectacle-18.12.1.tar.xz";
};
};
step = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/step-18.12.0.tar.xz";
- sha256 = "0gqcwvv2xb321zx7y4bg28haqpzz5h8r7cxn6z4x5qnj6ijkx0zr";
- name = "step-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/step-18.12.1.tar.xz";
+ sha256 = "1gn8l09r5rllz1mypsw2wfjhijy0i0bi4lspp271dinms6ryx6p4";
+ name = "step-18.12.1.tar.xz";
};
};
svgpart = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/svgpart-18.12.0.tar.xz";
- sha256 = "1nqbbzndbyj9ikgw7fhy52621swb5blzycd5qn9if9ymsi524217";
- name = "svgpart-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/svgpart-18.12.1.tar.xz";
+ sha256 = "06rvbav94ysifha47lp52pvpc77y33p4zq4yfbmyh1pqkiw5db2s";
+ name = "svgpart-18.12.1.tar.xz";
};
};
sweeper = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/sweeper-18.12.0.tar.xz";
- sha256 = "0pq991zxdg1816j8dbhc3vjxj84plif17zpvp3smiscr4n6x209h";
- name = "sweeper-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/sweeper-18.12.1.tar.xz";
+ sha256 = "0bp0my9gf4n5p7v3g0q390lf9q4lh42mg2zngwadqcvrsi2w4av4";
+ name = "sweeper-18.12.1.tar.xz";
};
};
umbrello = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/umbrello-18.12.0.tar.xz";
- sha256 = "15r5wv0k1dwfxp4l2mc4886s17ck390a2mpy1l08jvg93w1cbm3f";
- name = "umbrello-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/umbrello-18.12.1.tar.xz";
+ sha256 = "12kk04frx8fxcih22nv5c1765wawlf7wpiscaqmzlmrpa611x65r";
+ name = "umbrello-18.12.1.tar.xz";
};
};
zeroconf-ioslave = {
- version = "18.12.0";
+ version = "18.12.1";
src = fetchurl {
- url = "${mirror}/stable/applications/18.12.0/src/zeroconf-ioslave-18.12.0.tar.xz";
- sha256 = "1qvmsr88kl1gq3wrn5g4wf4ka24pbbhdy54c8n25bhxd8pv0rd07";
- name = "zeroconf-ioslave-18.12.0.tar.xz";
+ url = "${mirror}/stable/applications/18.12.1/src/zeroconf-ioslave-18.12.1.tar.xz";
+ sha256 = "1gzr50kqlwd2d47yc2k6yz2v0w2gp10c7glhb61jpdzsqy7r7cvp";
+ name = "zeroconf-ioslave-18.12.1.tar.xz";
};
};
}
diff --git a/pkgs/applications/misc/curabydagoma/default.nix b/pkgs/applications/misc/curabydagoma/default.nix
index 439b0fc2568..1ea106d6a18 100644
--- a/pkgs/applications/misc/curabydagoma/default.nix
+++ b/pkgs/applications/misc/curabydagoma/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
mkdir $out/bin
cat > $out/bin/curabydago <$out/bin/freemind < $out/bin/hello-unfree << EOF
- #!/bin/sh
+ #!${stdenv.shell}
echo "Hello, you are running an unfree system!"
EOF
chmod +x $out/bin/hello-unfree
diff --git a/pkgs/applications/misc/jbidwatcher/default.nix b/pkgs/applications/misc/jbidwatcher/default.nix
index ed8573b8850..2c46ea3ac9a 100644
--- a/pkgs/applications/misc/jbidwatcher/default.nix
+++ b/pkgs/applications/misc/jbidwatcher/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p "$out/bin"
- echo > "$out/bin/${pname}" "#!/bin/sh"
+ echo > "$out/bin/${pname}" "#!${stdenv.shell}"
echo >>"$out/bin/${pname}" "${java}/bin/java -Xmx512m -jar ${jarfile}"
chmod +x "$out/bin/${pname}"
install -D -m644 ${src} ${jarfile}
diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix
index 02541842c36..88a7b94897d 100644
--- a/pkgs/applications/misc/multibootusb/default.nix
+++ b/pkgs/applications/misc/multibootusb/default.nix
@@ -1,4 +1,4 @@
-{ lib, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }:
+{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }:
python36Packages.buildPythonApplication rec {
pname = "multibootusb";
name = "${pname}-${version}";
@@ -40,7 +40,7 @@ python36Packages.buildPythonApplication rec {
mkdir "$out/bin"
cat > "$out/bin/${pname}" <> $s << EOF
- #!/bin/sh
+ #!${stdenv.shell}
cd $dir/bin
- exec /bin/sh openjump.sh
+ exec ${stdenv.shell} openjump.sh
EOF
chmod +x $s
ln -s /tmp/openjump.log $dir/bin/jump.log
diff --git a/pkgs/applications/misc/regextester/default.nix b/pkgs/applications/misc/regextester/default.nix
index 2b902d27a35..703d7862124 100644
--- a/pkgs/applications/misc/regextester/default.nix
+++ b/pkgs/applications/misc/regextester/default.nix
@@ -4,14 +4,13 @@
, libxml2
, pkgconfig
, glib
-, granite
, gtk3
, gnome3
, meson
, ninja
, gobject-introspection
, gsettings-desktop-schemas
-, vala_0_40
+, pantheon
, wrapGAppsHook }:
stdenv.mkDerivation rec {
@@ -26,22 +25,23 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [
- pkgconfig
- meson
- ninja
+ pantheon.vala
gettext
gobject-introspection
libxml2
- vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
+ meson
+ ninja
+ pkgconfig
wrapGAppsHook
];
+
buildInputs = [
+ pantheon.elementary-icon-theme
+ pantheon.granite
glib
- granite
- gtk3
- gnome3.defaultIconTheme
gnome3.libgee
gsettings-desktop-schemas
+ gtk3
];
postInstall = ''
diff --git a/pkgs/applications/misc/sequeler/default.nix b/pkgs/applications/misc/sequeler/default.nix
index 72a1465a2c8..96049b395ea 100644
--- a/pkgs/applications/misc/sequeler/default.nix
+++ b/pkgs/applications/misc/sequeler/default.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub
-, meson, ninja, pkgconfig, vala, gobject-introspection, gettext, wrapGAppsHook, python3, desktop-file-utils
-, gtk3, glib, granite, libgee, libgda, gtksourceview, libxml2, libsecret, libfixposix, libssh2 }:
+, meson, ninja, pkgconfig, pantheon, gobject-introspection, gettext, wrapGAppsHook, python3, desktop-file-utils
+, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libfixposix, libssh2 }:
let
@@ -20,9 +20,9 @@ in stdenv.mkDerivation rec {
sha256 = "0sxmky27pl0aqnh857xb54rnfg1kbr2smdzyrzw67cbv00f6d30p";
};
- nativeBuildInputs = [ meson ninja pkgconfig vala gobject-introspection gettext wrapGAppsHook python3 desktop-file-utils ];
+ nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gobject-introspection gettext wrapGAppsHook python3 desktop-file-utils ];
- buildInputs = [ gtk3 glib granite libgee sqlGda gtksourceview libxml2 libsecret libfixposix libssh2 ];
+ buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libfixposix libssh2 ];
postPatch = ''
chmod +x build-aux/meson_post_install.py
diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix
index f8340b1bd22..47d7279a47f 100644
--- a/pkgs/applications/misc/st/default.nix
+++ b/pkgs/applications/misc/st/default.nix
@@ -4,11 +4,11 @@
with stdenv.lib;
stdenv.mkDerivation rec {
- name = "st-0.8.1";
+ name = "st-0.8.2";
src = fetchurl {
url = "https://dl.suckless.org/st/${name}.tar.gz";
- sha256 = "09k94v3n20gg32xy7y68p96x9dq5msl80gknf9gbvlyjp3i0zyy4";
+ sha256 = "0ddz2mdp1c7q67rd5vrvws9r0493ln0mlqyc3d73dv8im884xdxf";
};
inherit patches;
diff --git a/pkgs/applications/misc/thinking-rock/default.nix b/pkgs/applications/misc/thinking-rock/default.nix
index 1229990b1ab..ab9611326ca 100644
--- a/pkgs/applications/misc/thinking-rock/default.nix
+++ b/pkgs/applications/misc/thinking-rock/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
mkdir -p $out/{nix-support/tr-files,bin}
cp -r . $out/nix-support/tr-files
cat >> $out/bin/thinkingrock << EOF
- #!/bin/sh
+ #!${stdenv.shell}
exec $out/nix-support/tr-files/bin/tr "$@"
EOF
chmod +x $out/bin/thinkingrock
diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix
index c295a8fdb68..5a856a5f2b2 100644
--- a/pkgs/applications/misc/tootle/default.nix
+++ b/pkgs/applications/misc/tootle/default.nix
@@ -1,8 +1,7 @@
{ stdenv, fetchFromGitHub
, meson, ninja, pkgconfig, python3
-, gnome3, vala_0_40, gobject-introspection, wrapGAppsHook
-, gtk3, granite
-, json-glib, glib, glib-networking, hicolor-icon-theme
+, gnome3, pantheon, gobject-introspection, wrapGAppsHook
+, gtk3, json-glib, glib, glib-networking, hicolor-icon-theme
}:
let
@@ -24,11 +23,11 @@ in stdenv.mkDerivation rec {
ninja
pkgconfig
python3
- vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
+ pantheon.vala
wrapGAppsHook
];
buildInputs = [
- gtk3 granite json-glib glib glib-networking hicolor-icon-theme
+ gtk3 pantheon.granite json-glib glib glib-networking hicolor-icon-theme
gnome3.libgee gnome3.libsoup gnome3.gsettings-desktop-schemas
];
diff --git a/pkgs/applications/networking/ftp/taxi/default.nix b/pkgs/applications/networking/ftp/taxi/default.nix
index bd17e86d898..9252b95a00c 100644
--- a/pkgs/applications/networking/ftp/taxi/default.nix
+++ b/pkgs/applications/networking/ftp/taxi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, vala, pkgconfig, meson, ninja, python3, granite
+{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3
, gtk3, gnome3, libsoup, libsecret, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
@@ -15,18 +15,18 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [
+ pantheon.vala
gobject-introspection
meson
ninja
pkgconfig
python3
- vala
wrapGAppsHook
];
buildInputs = [
+ pantheon.granite
gnome3.libgee
- granite
gtk3
libsecret
libsoup
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
index 150c47b9b50..cff1bcc56b9 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
postPatch = ''
# we do all patching from update.sh in preAutoreconf
- echo "#!/bin/sh" > update.sh
+ echo "#!${stdenv.shell}" > update.sh
'';
preAutoreconf = ''
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
index 3e9ebf3fe93..3c9157081d3 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
cp ./bin/telegram-cli $out/bin/telegram-wo-key
cp ./tg-server.pub $out/
cat > $out/bin/telegram-cli < "$out"/bin/iprover
+ echo -e "#! ${stdenv.shell}\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover
chmod a+x "$out"/bin/iprover
'';
diff --git a/pkgs/applications/science/math/nasc/default.nix b/pkgs/applications/science/math/nasc/default.nix
index 4afaa5194db..fb0ea206735 100644
--- a/pkgs/applications/science/math/nasc/default.nix
+++ b/pkgs/applications/science/math/nasc/default.nix
@@ -1,12 +1,10 @@
{ stdenv
, fetchFromGitHub
-, fetchpatch
, pkgconfig
, gtk3
-, granite
+, pantheon
, gnome3
, cmake
-, vala_0_40
, libqalculate
, gobject-introspection
, wrapGAppsHook }:
@@ -28,19 +26,19 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [
+ cmake
+ pantheon.vala
+ gobject-introspection # for setup-hook
pkgconfig
wrapGAppsHook
- vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
- cmake
- gobject-introspection # for setup-hook
];
buildInputs = [
- gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged
+ pantheon.elementary-icon-theme
gnome3.gtksourceview
gnome3.libgee
gnome3.libsoup
- granite
+ pantheon.granite
gtk3
libqalculate
];
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 5bdd53b37e4..a21c21130d5 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -91,6 +91,20 @@ stdenv.mkDerivation rec {
rev = "cd62d45bcef93fb4f7ed62609a46135e6de07051";
sha256 = "08l2b9w0rn1zrha6188j72f7737xs126gkgmydjd31baa6367np2";
})
+
+ # https://trac.sagemath.org/ticket/26949
+ (fetchpatch {
+ name = "sphinx-1.8.3-dependency.patch";
+ url = "https://git.sagemath.org/sage.git/patch?id=d305eda0fedc73fdbe0447b5d6d2b520b8d112c4";
+ sha256 = "1x3q5j8lq35vlj893gj5gq9fhzs60szm9r9rx6ri79yiy9apabph";
+ })
+ # https://trac.sagemath.org/ticket/26451
+ (fetchpatch {
+ name = "sphinx-1.8.3.patch";
+ url = "https://git.sagemath.org/sage.git/patch?id2=0cb494282d7b4cea50aba7f4d100e7932a4c00b1&id=62b989d5ee1d9646db85ea56053cd22e9ffde5ab";
+ sha256 = "1n5c61mvhalcr2wbp66wzsynwwk59aakvx3xqa5zw9nlkx3rd0h1";
+ })
+
];
patches = nixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix
index bbd403177f3..32335b45202 100644
--- a/pkgs/applications/science/math/sage/sagenb.nix
+++ b/pkgs/applications/science/math/sage/sagenb.nix
@@ -18,13 +18,13 @@
buildPythonPackage rec {
pname = "sagenb";
- version = "2018-06-26"; # not 1.0.1 because of new flask syntax
+ version = "1.1.2";
src = fetchFromGitHub {
owner = "sagemath";
repo = "sagenb";
- rev = "b360a0172e15501fb0163d02dce713a561fee2af";
- sha256 = "12anydw0v9w23rbc0a94bqmjhjdir9h820c5zdhipw9ccdcc2jlf";
+ rev = version;
+ sha256 = "0bxvhr03qh2nsjdfc4pyfiqrn9jhp3vf7irsc9gqx0185jlblbxs";
};
propagatedBuildInputs = [
@@ -39,14 +39,6 @@ buildPythonPackage rec {
# tests depend on sage
doCheck = false;
- patches = [
- # work with latest flask-babel
- (fetchpatch {
- url = "https://github.com/sagemath/sagenb/commit/ba065eca63dd34a383e4c7ba7561430a90fcd087.patch";
- sha256 = "1lamzsrgymdd618imrasjp6ivhw2aynh83gkybsd7pm1rzjcq4x8";
- })
- ];
-
meta = with stdenv.lib; {
description = "Sage Notebook";
license = licenses.gpl3Plus;
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
index 21382091801..153c6d78a7b 100644
--- a/pkgs/applications/version-management/smartgithg/default.nix
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -1,4 +1,5 @@
{ stdenv, fetchurl, lib, makeWrapper
+, substituteAll
, jre
, gtk2, glib
, libXtst
@@ -21,7 +22,10 @@ stdenv.mkDerivation rec {
buildCommand = let
pkg_path = "$out/${name}";
bin_path = "$out/bin";
- install_freedesktop_items = ./install_freedesktop_items.sh;
+ install_freedesktop_items = substituteAll {
+ inherit (stdenv) shell;
+ src = ./install_freedesktop_items.sh;
+ };
runtime_paths = lib.makeBinPath [
jre
#git mercurial subversion # the paths are requested in configuration
diff --git a/pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh b/pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh
index 66fb0cf8f95..2ff14dcf099 100755
--- a/pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh
+++ b/pkgs/applications/version-management/smartgithg/install_freedesktop_items.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@shell@
inBinDir=$1
out=$2
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 29fd257620c..8dc2dffc6b6 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -86,14 +86,14 @@ stdenv.mkDerivation (rec {
# Fake git: just print what it wants and die
cat > fake-bin/wget << EOF
- #!/bin/sh -e
+ #!${stdenv.shell} -e
echo ===== FAKE WGET: Not fetching \$*
[ -e \$3 ]
EOF
# Fake git: just print what it wants and die
cat > fake-bin/git << EOF
- #!/bin/sh
+ #!${stdenv.shell}
echo ===== FAKE GIT: Not cloning \$*
[ -e \$3 ]
EOF
@@ -109,7 +109,7 @@ stdenv.mkDerivation (rec {
# (prefetched stuff has lots of files)
find . -type f | xargs sed -i 's@/usr/bin/\(python\|perl\)@/usr/bin/env \1@g'
find . -type f -not -path "./tools/hotplug/Linux/xendomains.in" \
- | xargs sed -i 's@/bin/bash@/bin/sh@g'
+ | xargs sed -i 's@/bin/bash@${stdenv.shell}@g'
# Get prefetched stuff
${withXenfiles (name: x: ''
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index c3618113047..176df51cbd9 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -13,6 +13,7 @@
, extraPackages ? [], extraBuildCommands ? ""
, isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null
, buildPackages ? {}
+, libcxx ? null
}:
with stdenvNoCC.lib;
@@ -44,8 +45,11 @@ let
# The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
coreutils_bin = if nativeTools then "" else getBin coreutils;
- default_cxx_stdlib_compile = optionalString (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc)
- "-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)";
+ default_cxx_stdlib_compile = if (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc) then
+ "-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)"
+ else if targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false) then
+ "-isystem ${libcxx}/include/c++/v1"
+ else "";
# The "infix salt" is a arbitrary string added in the middle of env vars
# defined by cc-wrapper's hooks so that multiple cc-wrappers can be used
@@ -256,9 +260,9 @@ stdenv.mkDerivation {
echo "$ccLDFlags" > $out/nix-support/cc-ldflags
echo "$ccCFlags" > $out/nix-support/cc-cflags
- ''
-
- + optionalString propagateDoc ''
+ '' + optionalString (targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false)) ''
+ echo " -L${libcxx}/lib" >> $out/nix-support/cc-ldflags
+ '' + optionalString propagateDoc ''
##
## Man page and info support
##
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 83ff846db7a..372c567a7e7 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -22,7 +22,8 @@
referencesByPopularity,
writeScript,
writeText,
- closureInfo
+ closureInfo,
+ substituteAll
}:
# WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future.
@@ -279,6 +280,12 @@ rec {
# of room for extension
maxLayers ? 24
}:
+ let
+ storePathToLayer = substituteAll
+ { inherit (stdenv) shell;
+ src = ./store-path-to-layer.sh;
+ };
+ in
runCommand "${name}-granular-docker-layers" {
inherit maxLayers;
paths = referencesByPopularity closure;
@@ -298,9 +305,9 @@ rec {
# following head and tail call lines, double-check that your
# code behaves properly when the number of layers equals:
# maxLayers-1, maxLayers, and maxLayers+1
- head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${./store-path-to-layer.sh}
+ head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer}
if [ $(cat $paths | wc -l) -ge $maxLayers ]; then
- tail -n+$maxLayers $paths | xargs ${./store-path-to-layer.sh} $maxLayers
+ tail -n+$maxLayers $paths | xargs ${storePathToLayer} $maxLayers
fi
echo "Finished building layer '$name'"
diff --git a/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
index 1b36f5f555d..af2ff0cc966 100644
--- a/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
+++ b/pkgs/build-support/setup-hooks/fix-darwin-dylib-names.sh
@@ -23,7 +23,14 @@ fixDarwinDylibNames() {
for fn in "$@"; do
if [ -L "$fn" ]; then continue; fi
echo "$fn: fixing dylib"
- install_name_tool -id "$fn" "${flags[@]}" "$fn"
+ int_out=$(install_name_tool -id "$fn" "${flags[@]}" "$fn" 2>&1)
+ result=$?
+ if [ "$result" -ne 0 ] &&
+ ! grep "shared library stub file and can't be changed" <<< "$out"
+ then
+ echo "$int_out" >&2
+ exit "$result"
+ fi
done
}
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
index 25ac12996cc..b5ceb4a13d8 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
@@ -36,16 +36,40 @@ wrapGAppsHook() {
done
if [[ -z "$dontWrapGApps" ]]; then
+ targetDirsThatExist=()
+ targetDirsRealPath=()
+
+ # wrap binaries
targetDirs=( "${prefix}/bin" "${prefix}/libexec" )
for targetDir in "${targetDirs[@]}"; do
if [[ -d "${targetDir}" ]]; then
- find -L "${targetDir}" -type f -executable -print0 \
+ targetDirsThatExist+=("${targetDir}")
+ targetDirsRealPath+=("$(realpath "${targetDir}")/")
+ find "${targetDir}" -type f -executable -print0 \
| while IFS= read -r -d '' file; do
- echo "Wrapping program ${file}"
+ echo "Wrapping program '${file}'"
wrapProgram "${file}" "${gappsWrapperArgs[@]}"
done
fi
done
+
+ # wrap links to binaries that point outside targetDirs
+ # Note: links to binaries within targetDirs do not need
+ # to be wrapped as the binaries have already been wrapped
+ if [[ ${#targetDirsThatExist[@]} -ne 0 ]]; then
+ find "${targetDirsThatExist[@]}" -type l -xtype f -executable -print0 \
+ | while IFS= read -r -d '' linkPath; do
+ linkPathReal=$(realpath "${linkPath}")
+ for targetPath in "${targetDirsRealPath[@]}"; do
+ if [[ "$linkPathReal" == "$targetPath"* ]]; then
+ echo "Not wrapping link: '$linkPath' (already wrapped)"
+ continue 2
+ fi
+ done
+ echo "Wrapping link: '$linkPath'"
+ wrapProgram "${linkPath}" "${gappsWrapperArgs[@]}"
+ done
+ fi
fi
}
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 3612be1120c..de6a5e3b62f 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -164,7 +164,7 @@ rec {
# Set up automatic kernel module loading.
export MODULE_DIR=${kernel}/lib/modules/
${coreutils}/bin/cat < /run/modprobe
- #! /bin/sh
+ #! ${bash}/bin/sh
export MODULE_DIR=$MODULE_DIR
exec ${kmod}/bin/modprobe "\$@"
EOF
diff --git a/pkgs/data/icons/elementary-icon-theme/default.nix b/pkgs/data/icons/elementary-icon-theme/default.nix
deleted file mode 100644
index 68ece44116e..00000000000
--- a/pkgs/data/icons/elementary-icon-theme/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3 }:
-
-stdenv.mkDerivation rec {
- name = "elementary-icon-theme-${version}";
- version = "5.0.2";
-
- src = fetchFromGitHub {
- owner = "elementary";
- repo = "icons";
- rev = version;
- sha256 = "12j582f0kggv2lp935r75xg7q26zpl0f05s11xcs4qxazhj1ly2r";
- };
-
- nativeBuildInputs = [ meson ninja python3 gtk3 ];
-
- # Disable installing gimp and inkscape palette files
- mesonFlags = [
- "-Dpalettes=false"
- ];
-
- postPatch = ''
- chmod +x meson/symlink.py
- patchShebangs .
- sed -i volumeicon/meson.build -e "s,'/','$out',"
- '';
-
- postFixup = ''
- gtk-update-icon-cache $out/share/icons/elementary
- '';
-
- meta = with stdenv.lib; {
- description = "Icons from the Elementary Project";
- homepage = https://github.com/elementary/icons;
- license = licenses.gpl3;
- platforms = platforms.all;
- maintainers = with maintainers; [ simonvandel ];
- };
-}
diff --git a/pkgs/data/icons/faba-icon-theme/default.nix b/pkgs/data/icons/faba-icon-theme/default.nix
index 07d2b5ecf02..c15e0f4e551 100644
--- a/pkgs/data/icons/faba-icon-theme/default.nix
+++ b/pkgs/data/icons/faba-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, elementary-icon-theme }:
+{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon }:
stdenv.mkDerivation rec {
name = "${package-name}-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n";
};
- nativeBuildInputs = [ meson ninja python3 gtk3 elementary-icon-theme ];
+ nativeBuildInputs = [ meson ninja python3 gtk3 pantheon.elementary-icon-theme ];
postPatch = ''
patchShebangs meson/post_install.py
diff --git a/pkgs/data/misc/geolite-legacy/builder.sh b/pkgs/data/misc/geolite-legacy/builder.sh
index c3e09e8543c..683b2e8606b 100644
--- a/pkgs/data/misc/geolite-legacy/builder.sh
+++ b/pkgs/data/misc/geolite-legacy/builder.sh
@@ -1,5 +1,3 @@
-#!/bin/sh -e
-
source "$stdenv/setup"
mkdir -p $out/share/GeoIP
diff --git a/pkgs/desktops/deepin/deepin-wm/default.nix b/pkgs/desktops/deepin/deepin-wm/default.nix
index 4eac01b666a..ea2f06aae60 100644
--- a/pkgs/desktops/deepin/deepin-wm/default.nix
+++ b/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/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index d244dc08ebe..89f6ccc1710 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -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/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch
new file mode 100644
index 00000000000..8b64b3df801
--- /dev/null
+++ b/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/pkgs/desktops/gnustep/base/default.nix b/pkgs/desktops/gnustep/base/default.nix
index 9d1606ea6b7..e96dbf0b6fc 100644
--- a/pkgs/desktops/gnustep/base/default.nix
+++ b/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/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
new file mode 100644
index 00000000000..c8ade1c9c35
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
new file mode 100644
index 00000000000..28983db7f91
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix
new file mode 100644
index 00000000000..2e90a96411a
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
new file mode 100644
index 00000000000..0b16c56be3d
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
new file mode 100644
index 00000000000..7c736df2c53
--- /dev/null
+++ b/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.4";
+
+ name = "elementary-${pname}-${version}";
+
+ src = fetchFromGitHub {
+ owner = "elementary";
+ repo = pname;
+ rev = version;
+ sha256 = "0nlmg3izbi4yh2sd69hh8avg76pipxn11l9a39xgqm55lvidlqmn";
+ };
+
+ 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/pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/elementary-files/hardcode-gsettings.patch
new file mode 100644
index 00000000000..3191f4e3cb2
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix
new file mode 100644
index 00000000000..8bca7b3b6b5
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
new file mode 100644
index 00000000000..21d5b9f1db4
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
new file mode 100644
index 00000000000..192b6ff358f
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/redacted-script.nix
new file mode 100644
index 00000000000..db1d9d240c4
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
new file mode 100644
index 00000000000..01fe35e4a8e
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
new file mode 100644
index 00000000000..b123d4cbf5b
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
deleted file mode 100644
index d6bc8f5330b..00000000000
--- a/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/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
new file mode 100644
index 00000000000..2ee92520983
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
new file mode 100644
index 00000000000..bdba8328fe9
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/lspci-path.patch
new file mode 100644
index 00000000000..352d84c4262
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-update-button.patch
new file mode 100644
index 00000000000..41433f9a76b
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
new file mode 100644
index 00000000000..0cdb732ca73
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
new file mode 100644
index 00000000000..697c3ac592b
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/clock-format.patch
new file mode 100644
index 00000000000..0fe0ac8b10c
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
new file mode 100644
index 00000000000..95a350372b9
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/timezone.patch
new file mode 100644
index 00000000000..35f73d36599
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
new file mode 100644
index 00000000000..192f8a69ae9
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
new file mode 100644
index 00000000000..f38f15e3c6d
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/xkb.patch
new file mode 100644
index 00000000000..33237d9c939
--- /dev/null
+++ b/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 get_variants_for_language (string language) {
+ var returned_table = new HashTable (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/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
new file mode 100644
index 00000000000..6c4bdeb7fb7
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
new file mode 100644
index 00000000000..3943cad48fd
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
new file mode 100644
index 00000000000..a5fff9d6a32
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
new file mode 100644
index 00000000000..6bb5d285a34
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
new file mode 100644
index 00000000000..0417d33df7d
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/backgrounds.patch
new file mode 100644
index 00000000000..a1b019179d1
--- /dev/null
+++ b/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 {
+
+ """;
+
+- 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/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
new file mode 100644
index 00000000000..e47dc4c4060
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
new file mode 100644
index 00000000000..d023e1b55ce
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
new file mode 100644
index 00000000000..ab1fd98795a
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch
new file mode 100644
index 00000000000..335d3f29626
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
new file mode 100644
index 00000000000..caacdad6eda
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
new file mode 100644
index 00000000000..bb9e576a4c4
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
new file mode 100644
index 00000000000..4060e071789
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
new file mode 100644
index 00000000000..ffaf1ecf5db
--- /dev/null
+++ b/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 ();
+ 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/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
new file mode 100644
index 00000000000..a2c047ffcb4
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
new file mode 100644
index 00000000000..e4d0db46923
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix
new file mode 100644
index 00000000000..310230c7aac
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch b/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch
new file mode 100644
index 00000000000..f5d8567bffe
--- /dev/null
+++ b/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 plugs;
+
+ public signal void plug_added (Switchboard.Plug plug);
+-
++
+ private PlugsManager () {
+ plugs = new Gee.LinkedList ();
+- 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/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
new file mode 100644
index 00000000000..cae8e74f4ba
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
new file mode 100644
index 00000000000..2f7e79f9f9b
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
new file mode 100644
index 00000000000..f70186585ec
--- /dev/null
+++ b/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.2";
+
+ name = "elementary-icon-theme-${version}";
+
+ src = fetchFromGitHub {
+ owner = "elementary";
+ repo = pname;
+ rev = version;
+ sha256 = "12j582f0kggv2lp935r75xg7q26zpl0f05s11xcs4qxazhj1ly2r";
+ };
+
+ 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/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix
new file mode 100644
index 00000000000..430acfd9ac1
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
new file mode 100644
index 00000000000..898d5f7b454
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
new file mode 100644
index 00000000000..a7b8a01eeb0
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch b/pkgs/desktops/pantheon/desktop/elementary-default-settings/correct-override.patch
new file mode 100644
index 00000000000..438ed79d1bb
--- /dev/null
+++ b/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=['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/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
new file mode 100644
index 00000000000..f133324a81e
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/io.elementary.greeter.whitelist b/pkgs/desktops/pantheon/desktop/elementary-default-settings/io.elementary.greeter.whitelist
new file mode 100644
index 00000000000..0cff31f4f77
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/gala-multitaskingview.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/gala-multitaskingview.dockitem
new file mode 100644
index 00000000000..b25bb8c8590
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.calendar.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.calendar.dockitem
new file mode 100644
index 00000000000..3bd7d531840
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.music.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.music.dockitem
new file mode 100644
index 00000000000..494edde183c
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.photos.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.photos.dockitem
new file mode 100644
index 00000000000..89536754964
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.switchboard.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.switchboard.dockitem
new file mode 100644
index 00000000000..312c35d9bf0
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.videos.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.videos.dockitem
new file mode 100644
index 00000000000..3b0f721a564
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Epiphany.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Epiphany.dockitem
new file mode 100644
index 00000000000..b0218bac52d
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem
new file mode 100644
index 00000000000..8b04efe417e
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch
new file mode 100644
index 00000000000..626e56ce596
--- /dev/null
+++ b/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
+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/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
new file mode 100644
index 00000000000..303aae6882b
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch
new file mode 100644
index 00000000000..1770d54aee0
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch
new file mode 100644
index 00000000000..2c7766b4284
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
new file mode 100644
index 00000000000..bd5688f941b
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix
new file mode 100644
index 00000000000..d8634b48570
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default-elementary-dockitems.desktop
new file mode 100644
index 00000000000..517a9457ae1
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
new file mode 100644
index 00000000000..fddd4143616
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
new file mode 100644
index 00000000000..6ceebf1980c
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix b/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix
new file mode 100644
index 00000000000..4e19a65b58d
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch b/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch
new file mode 100644
index 00000000000..3b97e306119
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix
new file mode 100644
index 00000000000..97acc2c791b
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch b/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch
new file mode 100644
index 00000000000..e83308ea552
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/bc.patch
new file mode 100644
index 00000000000..264a4a5b26d
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
new file mode 100644
index 00000000000..e4f7df107ba
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/xdg.patch
new file mode 100644
index 00000000000..f17e2581e07
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
new file mode 100644
index 00000000000..16f3ae2e28e
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/calendar-exec.patch
new file mode 100644
index 00000000000..2370fbcd3cb
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
new file mode 100644
index 00000000000..ee5cd511818
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
new file mode 100644
index 00000000000..e2faccedbb7
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/fix-paths.patch
new file mode 100644
index 00000000000..58e6853e606
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
new file mode 100644
index 00000000000..245e12d4591
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
new file mode 100644
index 00000000000..53754c31d87
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
new file mode 100644
index 00000000000..aff7d9891ad
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
new file mode 100644
index 00000000000..d7627c51100
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
new file mode 100644
index 00000000000..b910f6a7180
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
new file mode 100644
index 00000000000..003e431bcf7
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
new file mode 100644
index 00000000000..a5ca227bbc2
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel/indicators.patch b/pkgs/desktops/pantheon/desktop/wingpanel/indicators.patch
new file mode 100644
index 00000000000..68a5fd532a8
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
new file mode 100644
index 00000000000..cfae604d3a5
--- /dev/null
+++ b/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/pkgs/development/libraries/granite/02-datetime-clock-format-gsettings.patch b/pkgs/desktops/pantheon/granite/02-datetime-clock-format-gsettings.patch
similarity index 100%
rename from pkgs/development/libraries/granite/02-datetime-clock-format-gsettings.patch
rename to pkgs/desktops/pantheon/granite/02-datetime-clock-format-gsettings.patch
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix
similarity index 86%
rename from pkgs/development/libraries/granite/default.nix
rename to pkgs/desktops/pantheon/granite/default.nix
index eacb84e3361..fe0e880ccb2 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/desktops/pantheon/granite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, python3, meson, ninja, vala_0_40, pkgconfig, gobject-introspection, gnome3, gtk3, glib, gettext, hicolor-icon-theme, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, fetchpatch, python3, meson, ninja, vala, pkgconfig, gobject-introspection, libgee, pantheon, gtk3, glib, gettext, hicolor-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "granite";
@@ -26,6 +26,12 @@ stdenv.mkDerivation rec {
./02-datetime-clock-format-gsettings.patch
];
+ passthru = {
+ updateScript = pantheon.updateScript {
+ repoName = pname;
+ };
+ };
+
nativeBuildInputs = [
gettext
gobject-introspection
@@ -33,7 +39,7 @@ stdenv.mkDerivation rec {
ninja
pkgconfig
python3
- vala_0_40 # should be `elementary.vala` when elementary attribute set is merged
+ vala
wrapGAppsHook
];
@@ -41,7 +47,7 @@ stdenv.mkDerivation rec {
glib
gtk3
hicolor-icon-theme
- gnome3.libgee
+ libgee
];
postPatch = ''
@@ -58,6 +64,6 @@ stdenv.mkDerivation rec {
homepage = https://github.com/elementary/granite;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
- maintainers = with maintainers; [ vozz worldofpeace ];
+ maintainers = pantheon.maintainers;
};
}
diff --git a/pkgs/desktops/pantheon/services/cerbere/default.nix b/pkgs/desktops/pantheon/services/cerbere/default.nix
new file mode 100644
index 00000000000..59983469c11
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/services/contractor/default.nix b/pkgs/desktops/pantheon/services/contractor/default.nix
new file mode 100644
index 00000000000..a979b134195
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
new file mode 100644
index 00000000000..e77948ccf29
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/services/elementary-capnet-assist/remove-capnet-test.patch b/pkgs/desktops/pantheon/services/elementary-capnet-assist/remove-capnet-test.patch
new file mode 100644
index 00000000000..a59c74f22b3
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix
new file mode 100644
index 00000000000..4dab02d5083
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
new file mode 100644
index 00000000000..99ca20afe98
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
new file mode 100644
index 00000000000..2229302cab7
--- /dev/null
+++ b/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
+
+-#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/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
new file mode 100644
index 00000000000..2487c4ba3af
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
new file mode 100644
index 00000000000..4fdaa4a8bf9
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/update.nix b/pkgs/desktops/pantheon/update.nix
new file mode 100644
index 00000000000..48fd2f2bf85
--- /dev/null
+++ b/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/pkgs/desktops/pantheon/update.sh b/pkgs/desktops/pantheon/update.sh
new file mode 100755
index 00000000000..9bbbe260034
--- /dev/null
+++ b/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
+}
+
+#
+# ─── 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/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 57b11f970f2..814795499a9 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/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/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 9fc1c7b6a9a..0842034f0d8 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/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/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index f71379459dc..a1eedaad6a0 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -23,12 +23,8 @@ let
hexRegistrySnapshot = callPackage ./hex-registry-snapshot.nix { };
rebar = callPackage ../tools/build-managers/rebar { };
- rebar3-open = callPackage ../tools/build-managers/rebar3 {
- hermeticRebar3 = false;
- };
- rebar3 = callPackage ../tools/build-managers/rebar3 {
- hermeticRebar3 = true;
- };
+ rebar3-open = callPackage ../tools/build-managers/rebar3 { };
+ rebar3 = callPackage ../tools/build-managers/rebar3 { };
# rebar3 port compiler plugin is required by buildRebar3
pc_1_6_0 = callPackage ./pc {};
@@ -36,6 +32,9 @@ let
fetchHex = callPackage ./fetch-hex.nix { };
+ fetchRebar3Deps = callPackage ./fetch-rebar-deps.nix { };
+ rebar3Relx = callPackage ./rebar3-release.nix { };
+
buildRebar3 = callPackage ./build-rebar3.nix {};
buildHex = callPackage ./build-hex.nix {};
buildErlangMk = callPackage ./build-erlang-mk.nix {};
@@ -75,25 +74,6 @@ let
lfe = lfe_1_2;
lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
- # We list all base hex packages for beam tooling explicitly to ensure
- # tha the tooling does not break during hex-packages.nix updates.
- erlware_commons_1_0_0 = buildHex {
- name = "erlware_commons";
- version = "1.0.0";
- sha256 = "0wkphbrjk19lxdwndy92v058qwcaz13bcgdzp33h21aa7vminzx7";
- beamDeps = [ cf_0_2_2 ];
- };
- cf_0_2_2 = buildHex {
- name = "cf";
- version = "0.2.2";
- sha256 = "08cvy7skn5d2k4manlx5k3anqgjdvajjhc5jwxbaszxw34q3na28";
- };
- getopt_0_8_2 = buildHex {
- name = "getopt";
- version = "0.8.2";
- sha256 = "1xw30h59zbw957cyjd8n50hf9y09jnv9dyry6x3avfwzcyrnsvkk";
- };
-
# Non hex packages. Examples how to build Rebar/Mix packages with and
# without helper functions buildRebar3 and buildMix.
hex = callPackage ./hex {};
diff --git a/pkgs/development/beam-modules/fetch-rebar-deps.nix b/pkgs/development/beam-modules/fetch-rebar-deps.nix
new file mode 100644
index 00000000000..a94d803f0d3
--- /dev/null
+++ b/pkgs/development/beam-modules/fetch-rebar-deps.nix
@@ -0,0 +1,32 @@
+{ stdenv, rebar3, curl }:
+
+{ name, version, sha256, src
+, meta ? {}
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation ({
+ name = "rebar-deps-${name}-${version}";
+
+ phases = [ "downloadPhase" "installPhase" ];
+
+ downloadPhase = ''
+ cp ${src} .
+ HOME='.' DEBUG=1 ${rebar3}/bin/rebar3 get-deps
+ '';
+
+ installPhase = ''
+ mkdir -p "$out/_checkouts"
+ for i in ./_build/default/lib/* ; do
+ echo "$i"
+ cp -R "$i" "$out/_checkouts"
+ done
+ '';
+
+ outputHashAlgo = "sha256";
+ outputHashMode = "recursive";
+ outputHash = sha256;
+
+ impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
+})
diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix
new file mode 100644
index 00000000000..837d0ccf15c
--- /dev/null
+++ b/pkgs/development/beam-modules/rebar3-release.nix
@@ -0,0 +1,85 @@
+{ stdenv, writeText, erlang, rebar3, openssl, libyaml,
+ pc, lib }:
+
+{ name, version
+, src
+, checkouts ? null
+, releaseType
+, buildInputs ? []
+, setupHook ? null
+, profile ? "default"
+, installPhase ? null
+, buildPhase ? null
+, configurePhase ? null
+, meta ? {}
+, enableDebugInfo ? false
+, ... }@attrs:
+
+with stdenv.lib;
+
+let
+ debugInfoFlag = lib.optionalString (enableDebugInfo || erlang.debugInfo) "debug-info";
+
+ shell = drv: stdenv.mkDerivation {
+ name = "interactive-shell-${drv.name}";
+ buildInputs = [ drv ];
+ };
+
+ customPhases = filterAttrs
+ (_: v: v != null)
+ { inherit setupHook configurePhase buildPhase installPhase; };
+
+ pkg = self: stdenv.mkDerivation (attrs // {
+
+ name = "${name}-${version}";
+ inherit version;
+
+ buildInputs = buildInputs ++ [ erlang rebar3 openssl ];
+ propagatedBuildInputs = [checkouts];
+
+ dontStrip = true;
+
+ inherit src;
+
+ setupHook = writeText "setupHook.sh" ''
+ addToSearchPath ERL_LIBS "$1/lib/erlang/lib/"
+ '';
+
+ configurePhase = ''
+ runHook preConfigure
+ ${if checkouts != null then
+ ''cp --no-preserve=all -R ${checkouts}/_checkouts .''
+ else
+ ''''}
+ runHook postConfigure
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+ HOME=. DEBUG=1 rebar3 as ${profile} ${if releaseType == "escript"
+ then '' escriptize''
+ else '' release''}
+ runHook postBuild
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ dir=${if releaseType == "escript"
+ then ''bin''
+ else ''rel''}
+ mkdir -p "$out/$dir"
+ cp -R --preserve=mode "_build/${profile}/$dir" "$out"
+ runHook postInstall
+ '';
+
+ meta = {
+ inherit (erlang.meta) platforms;
+ } // meta;
+
+ passthru = {
+ packageName = name;
+ env = shell self;
+ };
+ } // customPhases);
+in
+ fix pkg
diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix
index 2b2ae896a6d..3d9fe3a59cf 100644
--- a/pkgs/development/compilers/cmdstan/default.nix
+++ b/pkgs/development/compilers/cmdstan/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
ln -s $out/opt/cmdstan/bin/stanc $out/bin/stanc
ln -s $out/opt/cmdstan/bin/stansummary $out/bin/stansummary
cat > $out/bin/stan <&1)"; then
+ if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v -p $NIX_BUILD_CORES $d 2>&1)"; then
if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then
echo "$OUT" >&2
return 1
@@ -163,11 +163,12 @@ let
else
touch $TMPDIR/buildFlagsArray
fi
- export -f buildGoDir # xargs needs to see the function
if [ -z "$enableParallelBuilding" ]; then
export NIX_BUILD_CORES=1
fi
- getGoDirs "" | xargs -n1 -P $NIX_BUILD_CORES bash -c 'buildGoDir install "$@"' --
+ for pkg in $(getGoDirs ""); do
+ buildGoDir install "$pkg"
+ done
'' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
# normalize cross-compiled builds w.r.t. native builds
(
@@ -187,7 +188,9 @@ let
checkPhase = args.checkPhase or ''
runHook preCheck
- getGoDirs test | xargs -n1 -P $NIX_BUILD_CORES bash -c 'buildGoDir test "$@"' --
+ for pkg in $(getGoDirs test); do
+ buildGoDir test "$pkg"
+ done
runHook postCheck
'';
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 475aa31a7a6..c75ca32410c 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1190,6 +1190,12 @@ self: super: {
# Jailbreak tasty < 1.2: https://github.com/phadej/tdigest/issues/30
tdigest = doJailbreak super.tdigest; # until tdigest > 0.2.1
these = doJailbreak super.these; # until these >= 0.7.6
+ insert-ordered-containers = appendPatch super.insert-ordered-containers ./patches/insert-ordered-containers-fix-test.patch;
+
+ uri-bytestring = appendPatch super.uri-bytestring (pkgs.fetchpatch {
+ url = "https://github.com/Soostone/uri-bytestring/commit/e5c5602a97160a6a6304a24947e33e47c9155460.patch";
+ sha256 = "1qwy8bj6vywhp0075dza8j90zrzsm3144qz3c703s9c4n6pg3gw4";
+ });
# These patches contain fixes for 8.6 that should be safe for
# earlier versions, but we need the relaxed version bounds in GHC
@@ -1207,4 +1213,13 @@ self: super: {
sha256 = "0lrcmcrxp9imj9rfaq7mb0fn9mxms4gq4sz95n4san3dpd0qmj9x";
stripLen = 1;
});
+
+ # Fix for base >= 4.11
+ scat = overrideCabal super.scat (drv: {
+ patches = [(pkgs.fetchpatch {
+ url = "https://github.com/redelmann/scat/pull/6.diff";
+ sha256 = "07nj2p0kg05livhgp1hkkdph0j0a6lb216f8x348qjasy0lzbfhl";
+ })];
+ });
+
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/patches/insert-ordered-containers-fix-test.patch b/pkgs/development/haskell-modules/patches/insert-ordered-containers-fix-test.patch
new file mode 100644
index 00000000000..1e9ac5aa66a
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/insert-ordered-containers-fix-test.patch
@@ -0,0 +1,25 @@
+diff --git a/insert-ordered-containers.cabal b/insert-ordered-containers.cabal
+index 0e8923a..bfbbec4 100644
+--- a/insert-ordered-containers.cabal
++++ b/insert-ordered-containers.cabal
+@@ -21,8 +21,8 @@ tested-with:
+ GHC==7.10.3,
+ GHC==8.0.1,
+ GHC==8.2.2,
+- GHC==8.4.3,
+- GHC==8.6.1
++ GHC==8.4.4,
++ GHC==8.6.3
+
+ extra-source-files:
+ CHANGELOG.md
+@@ -70,7 +70,7 @@ test-suite ins-ord-containers-tests
+ , unordered-containers
+ , base
+ , insert-ordered-containers
+- , tasty >= 0.10.1.2 && <1.2
++ , tasty >= 0.10.1.2 && <1.3
+ , tasty-quickcheck >= 0.8.3.2 && <0.11
+ , QuickCheck >=2.7.6 && <2.13
+ default-language: Haskell2010
+
diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix
index b65dfb1d4a1..433271d9c85 100644
--- a/pkgs/development/interpreters/guile/2.0.nix
+++ b/pkgs/development/interpreters/guile/2.0.nix
@@ -115,6 +115,6 @@
(stdenv.lib.optionalAttrs (!stdenv.isLinux) {
# Work around .
- SHELL = "/bin/sh";
- CONFIG_SHELL = "/bin/sh";
+ SHELL = "${stdenv.shell}";
+ CONFIG_SHELL = "${stdenv.shell}";
})
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 5e8f5e2d59b..ecec2f11fc8 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -88,7 +88,10 @@ let
enableParallelBuilding = !crossCompiling;
- preConfigure = optionalString (!crossCompiling) ''
+ preConfigure = ''
+ substituteInPlace ./Configure --replace '`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`' 'Thu Jan 1 00:00:01 UTC 1970'
+ substituteInPlace ./Configure --replace '$uname -a' '$uname --kernel-name --machine --operating-system'
+ '' + optionalString (!crossCompiling) ''
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
'' + optionalString (stdenv.isAarch32 || stdenv.isMips) ''
configureFlagsArray=(-Dldflags="-lm -lrt")
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 1b4a5e75137..ed6c8c9893b 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -209,8 +209,8 @@ in with passthru; stdenv.mkDerivation {
done
# Further get rid of references. https://github.com/NixOS/nixpkgs/issues/51668
- find $out/lib/python*/config-* -type f -print -exec nuke-refs '{}' +
- find $out/lib -name '_sysconfigdata*.py*' -print -exec nuke-refs '{}' +
+ find $out/lib/python*/config-* -type f -print -exec nuke-refs -e $out '{}' +
+ find $out/lib -name '_sysconfigdata*.py*' -print -exec nuke-refs -e $out '{}' +
# Determinism: rebuild all bytecode
# We exclude lib2to3 because that's Python 2 code which fails
diff --git a/pkgs/development/libraries/CoinMP/default.nix b/pkgs/development/libraries/CoinMP/default.nix
index 7fecae0a66e..7c865480b67 100644
--- a/pkgs/development/libraries/CoinMP/default.nix
+++ b/pkgs/development/libraries/CoinMP/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://projects.coin-or.org/CoinMP/;
description = "COIN-OR lightweight API for COIN-OR libraries CLP, CBC, and CGL";
- platforms = platforms.linux;
+ platforms = platforms.unix;
license = licenses.epl10;
};
}
diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix
index 623864529f0..497262c04d7 100644
--- a/pkgs/development/libraries/attr/default.nix
+++ b/pkgs/development/libraries/attr/default.nix
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gettext ];
+ patches = [
+ # fix fakechroot: https://github.com/dex4er/fakechroot/issues/57
+ (fetchurl {
+ url = "https://git.savannah.nongnu.org/cgit/attr.git/patch/?id=14adc898a36948267bfe5c63b399996879e94c98";
+ sha256 = "0gja54fz79a9ma6b4mprnjxq77l5yg2z9xknlwhmkcrfnam02qxp";
+ })
+ ];
+
postPatch = ''
for script in install-sh include/install-sh; do
patchShebangs $script
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index cdf72830797..399581400a0 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -24,11 +24,7 @@ stdenv.mkDerivation rec {
export NIX_CFLAGS_COMPILE+="-D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
'';
- patches = [ (fetchpatch {
- name = "boehm-gc-7.6.0-sys_select.patch";
- url = "https://gitweb.gentoo.org/proj/musl.git/plain/dev-libs/boehm-gc/files/boehm-gc-7.6.0-sys_select.patch?id=85b6a600996bdd71162b357e9ba93d8559342432";
- sha256 = "1gydwlklvci30f5dpp5ccw2p2qpph5y41r55wx9idamjlq66fbb3";
- }) ] ++
+ patches =
# https://github.com/ivmai/bdwgc/pull/208
lib.optional stdenv.hostPlatform.isRiscV ./riscv.patch;
diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix
index 7c3dd19a479..c4285eadabc 100644
--- a/pkgs/development/libraries/epoxy/default.nix
+++ b/pkgs/development/libraries/epoxy/default.nix
@@ -6,13 +6,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "epoxy-${version}";
- version = "1.5.2";
+ version = "1.5.3";
src = fetchFromGitHub {
owner = "anholt";
repo = "libepoxy";
rev = "${version}";
- sha256 = "0frs42s7d3ff2wlw0jns6vb3myx2bhz9m5nkzbnfyn436s2qqls3";
+ sha256 = "03nrmf161xyj3q9zsigr5qj5vx5dsfxxyjva73cm1mgqqc5d60px";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix
index 56c52e1e368..693fda99759 100644
--- a/pkgs/development/libraries/gcr/default.nix
+++ b/pkgs/development/libraries/gcr/default.nix
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "gcr";
- version = "3.28.0";
+ version = "3.28.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "02xgky22xgvhgd525khqh64l5i21ca839fj9jzaqdi3yvb8pbq8m";
+ sha256 = "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m";
};
passthru = {
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 62963283f93..e0255be666e 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -77,6 +77,15 @@ stdenv.mkDerivation rec {
url = https://gitlab.gnome.org/GNOME/glib/commit/e695ca9f310c393d8f39694f77471dbcb06daa9e.diff;
sha256 = "1jkb2bdnni0xdyn86xrx9z0fdwxrm7y08lagz8x5x01wglkwa26w";
})
+ # https://gitlab.gnome.org/GNOME/glib/issues/1643
+ (fetchpatch {
+ url = https://gitlab.gnome.org/GNOME/glib/commit/c792e5adaa8ae3a45e6ff3ff71168ad8d040a0d4.patch;
+ sha256 = "022x70qfn5wlv5gz3nlg0bwiwjxcd7l11j3qvbms2y8d1ffh5rfd";
+ })
+ (fetchpatch {
+ url = https://gitlab.gnome.org/GNOME/glib/commit/30ccbc386026cecac6ef3a77d8fa4f3c24ac68d7.patch;
+ sha256 = "04y3pxgzlx92cppwibx4rlsyvwxb37aq52x2lr6ajfgykv2nzpr3";
+ })
];
outputs = [ "bin" "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 50d8c6e268c..7e99a0c18d7 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -28,7 +28,6 @@
{ name
, withLinuxHeaders ? false
, profilingLibraries ? false
-, installLocales ? false
, withGd ? false
, meta
, ...
@@ -44,7 +43,7 @@ assert withLinuxHeaders -> linuxHeaders != null;
assert withGd -> gd != null && libpng != null;
stdenv.mkDerivation ({
- inherit version installLocales;
+ inherit version;
linuxHeaders = if withLinuxHeaders then linuxHeaders else null;
inherit (stdenv) is64bit;
@@ -88,6 +87,11 @@ stdenv.mkDerivation ({
less linux-*?/arch/x86/kernel/syscall_table_32.S
*/
./allow-kernel-2.6.32.patch
+ /* Provide utf-8 locales by default, so we can use it in stdenv without depending on our large locale-archive. */
+ (fetchurl {
+ url = "https://salsa.debian.org/glibc-team/glibc/raw/49767c9f7de4828220b691b29de0baf60d8a54ec/debian/patches/localedata/locale-C.diff";
+ sha256 = "0irj60hs2i91ilwg5w7sqrxb695c93xg0ik7yhhq9irprd7fidn4";
+ })
]
++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch;
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index 27a1267f0cf..e46985d3fca 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -1,6 +1,5 @@
{ stdenv, callPackage
, withLinuxHeaders ? true
-, installLocales ? true
, profilingLibraries ? false
, withGd ? false
}:
@@ -8,7 +7,7 @@
callPackage ./common.nix { inherit stdenv; } {
name = "glibc" + stdenv.lib.optionalString withGd "-gd";
- inherit withLinuxHeaders profilingLibraries installLocales withGd;
+ inherit withLinuxHeaders profilingLibraries withGd;
# Note:
# Things you write here override, and do not add to,
@@ -57,9 +56,8 @@ callPackage ./common.nix { inherit stdenv; } {
'';
postInstall = ''
- if test -n "$installLocales"; then
- make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales
- fi
+ echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED
+ make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales
test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix
index 7090c5cecee..2b20c17d450 100644
--- a/pkgs/development/libraries/glibc/locales.nix
+++ b/pkgs/development/libraries/glibc/locales.nix
@@ -13,8 +13,6 @@
callPackage ./common.nix { inherit stdenv; } {
name = "glibc-locales";
- installLocales = true;
-
builder = ./locales-builder.sh;
outputs = [ "out" ];
diff --git a/pkgs/development/libraries/gnutls/3.6.nix b/pkgs/development/libraries/gnutls/3.6.nix
index 7fb1af70a28..513f20fd835 100644
--- a/pkgs/development/libraries/gnutls/3.6.nix
+++ b/pkgs/development/libraries/gnutls/3.6.nix
@@ -1,20 +1,22 @@
{ callPackage, fetchurl, ... } @ args:
callPackage ./generic.nix (args // rec {
- version = "3.6.2";
+ version = "3.6.6";
src = fetchurl {
url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
- sha256 = "07wdffklwmxpa9i50sh5nwrc5ajb47skrldm6rzjc0jf4dxxpmdw";
+ sha256 = "19rcfgsfxb01cyz8jxmmgkjqc7y5s97amajzyknk1i1amywcm6mv";
};
- # Skip two tests introduced in 3.5.11. Probable reasons of failure:
- # - pkgconfig: building against the result won't work before installing
- # - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox
+ # Skip some tests:
+ # - pkgconfig: building against the result won't work before installing (3.5.11)
+ # - fastopen: no idea; it broke between 3.6.2 and 3.6.3 (3437fdde6 in particular)
+ # - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox (3.5.11)
+ # - psk-file: no idea; it broke between 3.6.3 and 3.6.4
# Change p11-kit test to use pkg-config to find p11-kit
postPatch = ''
- sed '2iexit 77' -i tests/pkgconfig.sh
- sed '/^void doit(void)/,$s/{/{ exit(77);/; t' -i tests/trust-store.c
+ sed '2iexit 77' -i tests/{pkgconfig,fastopen}.sh
+ sed '/^void doit(void)/,/^{/ s/{/{ exit(77);/' -i tests/{trust-store,psk-file}.c
sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
'';
})
diff --git a/pkgs/development/libraries/gobject-introspection/setup-hook.sh b/pkgs/development/libraries/gobject-introspection/setup-hook.sh
index a79ce05a38d..a68d544cfbe 100644
--- a/pkgs/development/libraries/gobject-introspection/setup-hook.sh
+++ b/pkgs/development/libraries/gobject-introspection/setup-hook.sh
@@ -4,8 +4,8 @@ make_gobject_introspection_find_gir_files() {
addToSearchPath GI_TYPELIB_PATH $1/lib/girepository-1.0
fi
- # XDG_DATA_DIRS: required for .gir files?
- if [ -d "$1/share" ]; then
+ # XDG_DATA_DIRS: required for finding .gir files
+ if [ -d "$1/share/gir-1.0" ]; then
addToSearchPath XDG_DATA_DIRS $1/share
fi
}
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index dc0675db2cd..bb0c21f7739 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -13,14 +13,14 @@ assert cupsSupport -> cups != null;
with stdenv.lib;
let
- version = "3.24.3";
+ version = "3.24.4";
in
stdenv.mkDerivation rec {
name = "gtk+3-${version}";
src = fetchurl {
url = "mirror://gnome/sources/gtk+/${stdenv.lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
- sha256 = "1g839289bxakq4nn3m3ihi1rl6ym563pa5cxlswiyjwn9m9zl22p";
+ sha256 = "176bl1pm5d5xkhmiwldzw833akna7shp59glkl6cjz580bzmjkyq";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix
index 0f9dd30d204..f979be547fe 100644
--- a/pkgs/development/libraries/gtksourceview/3.x.nix
+++ b/pkgs/development/libraries/gtksourceview/3.x.nix
@@ -1,9 +1,7 @@
{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, vala_0_40
, libxml2, perl, intltool, gettext, gnome3, gobject-introspection, dbus, xvfb_run, shared-mime-info }:
-let
- checkInputs = [ xvfb_run dbus ];
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
name = "gtksourceview-${version}";
version = "3.24.9";
@@ -21,8 +19,9 @@ in stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
- nativeBuildInputs = [ pkgconfig intltool perl gobject-introspection vala_0_40 ]
- ++ stdenv.lib.optionals doCheck checkInputs;
+ nativeBuildInputs = [ pkgconfig intltool perl gobject-introspection vala_0_40 ];
+
+ checkInputs = [ xvfb_run dbus ];
buildInputs = [ atk cairo glib pango libxml2 gettext ];
@@ -36,7 +35,8 @@ in stdenv.mkDerivation rec {
doCheck = stdenv.isLinux;
checkPhase = ''
- export NO_AT_BRIDGE=1
+ NO_AT_BRIDGE=1 \
+ XDG_DATA_DIRS="$XDG_DATA_DIRS:${shared-mime-info}/share" \
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
make check
diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix
index 4ff1e999145..acfd2c48081 100644
--- a/pkgs/development/libraries/gtksourceview/4.x.nix
+++ b/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -1,9 +1,7 @@
{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango, vala_0_40
, libxml2, perl, gettext, gnome3, gobject-introspection, dbus, xvfb_run, shared-mime-info }:
-let
- checkInputs = [ xvfb_run dbus ];
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
name = "gtksourceview-${version}";
version = "4.0.3";
@@ -21,8 +19,9 @@ in stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
- nativeBuildInputs = [ pkgconfig gettext perl gobject-introspection vala_0_40 ]
- ++ stdenv.lib.optionals doCheck checkInputs;
+ nativeBuildInputs = [ pkgconfig gettext perl gobject-introspection vala_0_40 ];
+
+ checkInputs = [ xvfb_run dbus ];
buildInputs = [ atk cairo glib pango libxml2 ];
@@ -32,7 +31,8 @@ in stdenv.mkDerivation rec {
doCheck = stdenv.isLinux;
checkPhase = ''
- export NO_AT_BRIDGE=1
+ NO_AT_BRIDGE=1 \
+ XDG_DATA_DIRS="$XDG_DATA_DIRS:${shared-mime-info}/share" \
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
make check
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 198e26b39dd..7368cb2c236 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,7 +8,7 @@
}:
let
- version = "2.3.0";
+ version = "2.3.1";
inherit (stdenv.lib) optional optionals optionalString;
in
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
- sha256 = "0r37z5cn04ig0q47y8c26gvadz15z9jj8c8q3r41j7d4anv4sc9v";
+ sha256 = "0s74ramsbfa183rxkidqgfd2vbhrwicnrqzqsq440dwibffnj1gj";
};
postPatch = ''
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 9822bf4f725..ce41ffa4929 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.53/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.54/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 4b5cc3a3752..5421a1edd31 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,635 +3,635 @@
{
attica = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/attica-5.53.0.tar.xz";
- sha256 = "0qn2x5551zv8547v20wcjhf123c4432651rdxz25p398wsm9ixlg";
- name = "attica-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/attica-5.54.0.tar.xz";
+ sha256 = "1gr7w0mf3aq5xyl9il3483m9aqgb981vxn02g2khm6dfsr6z2aln";
+ name = "attica-5.54.0.tar.xz";
};
};
baloo = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/baloo-5.53.0.tar.xz";
- sha256 = "1jvxx7ggraaciw5i6vwda2jh41gqvjy19bjkcqwrmg59ggwzc1g8";
- name = "baloo-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/baloo-5.54.0.tar.xz";
+ sha256 = "0wv8zi03plr279v9p923rwkx2kwhbpd6xlzyqi4v14vhcrmapg1c";
+ name = "baloo-5.54.0.tar.xz";
};
};
bluez-qt = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/bluez-qt-5.53.0.tar.xz";
- sha256 = "11i3xjaxqvczh8hky71jq20g2k4ipl0sxnaw8f1xix6h0v79m810";
- name = "bluez-qt-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/bluez-qt-5.54.0.tar.xz";
+ sha256 = "1br9496lahzqmzmvdic5835ig18w3g211l1w4qfzpgr50yin9n5v";
+ name = "bluez-qt-5.54.0.tar.xz";
};
};
breeze-icons = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/breeze-icons-5.53.0.tar.xz";
- sha256 = "1612kr0mrns3w5pydvfvcjdpfcvyw35bnzm44y286n99213w3cdf";
- name = "breeze-icons-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/breeze-icons-5.54.0.tar.xz";
+ sha256 = "1g5dppg2iq5bd3r3s8bi8jqnvnh1rm7s3sv51shmaamq5qf0n5jy";
+ name = "breeze-icons-5.54.0.tar.xz";
};
};
extra-cmake-modules = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/extra-cmake-modules-5.53.0.tar.xz";
- sha256 = "07dllz7r00jm7n37wnz6zvjin304affaj69d8ji4v2wxhkxpg89d";
- name = "extra-cmake-modules-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/extra-cmake-modules-5.54.0.tar.xz";
+ sha256 = "0i3iqwvdqf2wpg8lsbna4vgmb18pnbv2772sg9k6zzhvkwsskdwi";
+ name = "extra-cmake-modules-5.54.0.tar.xz";
};
};
frameworkintegration = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/frameworkintegration-5.53.0.tar.xz";
- sha256 = "0a5szgknj96mphiczddl0l4c79ajszhyy3f19rqacj1z1kwrx9pj";
- name = "frameworkintegration-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/frameworkintegration-5.54.0.tar.xz";
+ sha256 = "1rzi3ydw7hjhg4vbsfan7zgaa2a2bmp7mph95h2kidf8x816qv2d";
+ name = "frameworkintegration-5.54.0.tar.xz";
};
};
kactivities = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kactivities-5.53.0.tar.xz";
- sha256 = "1pjfh8ii4y9kpjr12z3zs9hmc8n5r0phkp40dclsrjsdpm9n8bf6";
- name = "kactivities-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kactivities-5.54.0.tar.xz";
+ sha256 = "0ipq71g6g7q6yncvbiabwn5kg2280k8ssibbbf6jyh2lg09dmjil";
+ name = "kactivities-5.54.0.tar.xz";
};
};
kactivities-stats = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kactivities-stats-5.53.0.tar.xz";
- sha256 = "0bd6km50h0jlpi8z1dhh9jvx2wqgh3sa473n7bsyd2dgzyibs52n";
- name = "kactivities-stats-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kactivities-stats-5.54.0.tar.xz";
+ sha256 = "1ns7f110a5vwabb33b1lnpa85kk5radf87bxm1gw4gzglsv7747d";
+ name = "kactivities-stats-5.54.0.tar.xz";
};
};
kapidox = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kapidox-5.53.0.tar.xz";
- sha256 = "1snsql5scq6licrlqf9w77085s4992f1ij6w7rwj8d5x4cyxc9ca";
- name = "kapidox-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kapidox-5.54.0.tar.xz";
+ sha256 = "0zwjychzcamsky9l67xnw820b9m8r8pi56gsccg023l1rcigz46c";
+ name = "kapidox-5.54.0.tar.xz";
};
};
karchive = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/karchive-5.53.0.tar.xz";
- sha256 = "0jbr19azrkxywf9dwrfdw5qi47g7h5m92m4f93skccr11a1m0hvr";
- name = "karchive-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/karchive-5.54.0.tar.xz";
+ sha256 = "141xqgdk7g3ky0amblrqr4pab1xvvdim5wvckrgawdkjiy5ana4g";
+ name = "karchive-5.54.0.tar.xz";
};
};
kauth = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kauth-5.53.0.tar.xz";
- sha256 = "0c41azn8c6wr5rc7f0v1bxvka9i4z3c346814mlim3i62842fz3b";
- name = "kauth-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kauth-5.54.0.tar.xz";
+ sha256 = "1ciabazig77rpfksvdlmixj2sa2qnasq13nwvjn3xksnajfm4p2h";
+ name = "kauth-5.54.0.tar.xz";
};
};
kbookmarks = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kbookmarks-5.53.0.tar.xz";
- sha256 = "1mrzbwsirma1bzazamilh3r5a04m6x5902gjs1sd7bc0ijs85dr9";
- name = "kbookmarks-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kbookmarks-5.54.0.tar.xz";
+ sha256 = "1w4rqnzyars1pxam3nym1qily3ihd2j8cpkq8aha70nbj0dj3ckw";
+ name = "kbookmarks-5.54.0.tar.xz";
};
};
kcmutils = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kcmutils-5.53.0.tar.xz";
- sha256 = "0xsg50pywawzzw2fb0bhhmjp2z3w4572knfq8s4jki3iidixp3kv";
- name = "kcmutils-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kcmutils-5.54.0.tar.xz";
+ sha256 = "0a5jz9m27nyl1vchp68170j9v5z4csyv43vpnfs09l6wk9ggdcwh";
+ name = "kcmutils-5.54.0.tar.xz";
};
};
kcodecs = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kcodecs-5.53.0.tar.xz";
- sha256 = "0wmilqkcw1dvvrw56r8virp7zscy0g04ry8j7h812nfzhfz9z4vs";
- name = "kcodecs-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kcodecs-5.54.0.tar.xz";
+ sha256 = "1s0ky187fbi34wabpfvdwb1zbblzvk8g83h37ckj9j4rd69mjksc";
+ name = "kcodecs-5.54.0.tar.xz";
};
};
kcompletion = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kcompletion-5.53.0.tar.xz";
- sha256 = "00df0pa28glf4w5zyjmnzasbip1q2cyyyply1f6k0xpfg0qwgxf9";
- name = "kcompletion-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kcompletion-5.54.0.tar.xz";
+ sha256 = "0sgg09l97amnng0ddxyjpk535097f87bmn60hjqrmpsqb0n3a460";
+ name = "kcompletion-5.54.0.tar.xz";
};
};
kconfig = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kconfig-5.53.0.tar.xz";
- sha256 = "0xyxycpbi680sfrfzdzhwi95dqd4xsc42zxn5clzvfbgapbw2db7";
- name = "kconfig-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kconfig-5.54.0.tar.xz";
+ sha256 = "14p4w0m04c8msdwb3mjfzx6w0lcmln65j3rfvqp58nv5n4yh5dp7";
+ name = "kconfig-5.54.0.tar.xz";
};
};
kconfigwidgets = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kconfigwidgets-5.53.0.tar.xz";
- sha256 = "0bpylj1faki7f55cf82ljmgll17vz1irqna1i9rzkbb28kvqf2kv";
- name = "kconfigwidgets-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kconfigwidgets-5.54.0.tar.xz";
+ sha256 = "1l3hh7qgnz7mnn55abv03pq7zal9dgcw5gnhfr747wknd4h90w31";
+ name = "kconfigwidgets-5.54.0.tar.xz";
};
};
kcoreaddons = {
- version = "5.53.1";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kcoreaddons-5.53.1.tar.xz";
- sha256 = "18rhih779sxrlvg8sxyw31v3h58arvk2vsmvr0bmpnrnnfwv3vak";
- name = "kcoreaddons-5.53.1.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kcoreaddons-5.54.0.tar.xz";
+ sha256 = "1n27786js8j8na7kgxirhmswxcz3qkfiqzfabqmmsd0jp4rx1s79";
+ name = "kcoreaddons-5.54.0.tar.xz";
};
};
kcrash = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kcrash-5.53.0.tar.xz";
- sha256 = "1nnfn71kl97d5ywg2xjacr48mh9khrgszm9cifdn2jdk6vxssmlb";
- name = "kcrash-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kcrash-5.54.0.tar.xz";
+ sha256 = "0wlrlzwdi9dpxkky9sadmbgw0rjisxhym9hr8gzydd2y8q4cr8a7";
+ name = "kcrash-5.54.0.tar.xz";
};
};
kdbusaddons = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kdbusaddons-5.53.0.tar.xz";
- sha256 = "05zf41m3j4ckjk68dqv2rw8abg22x6m6bwiwp8rm6ac1p33hqayh";
- name = "kdbusaddons-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kdbusaddons-5.54.0.tar.xz";
+ sha256 = "1fvlspqc3w3y4p04gnqz6vrfvl93iwckfk16p608fz7yfgdmlzbf";
+ name = "kdbusaddons-5.54.0.tar.xz";
};
};
kdeclarative = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kdeclarative-5.53.0.tar.xz";
- sha256 = "0c7sxz733c9gfarjbrphrvn5v9bkx1i7vhn97xp7b3w22892ab7w";
- name = "kdeclarative-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kdeclarative-5.54.0.tar.xz";
+ sha256 = "0ankjqrlpnj3c9sjnv5p8w279zizkl5ps3i5zw16hg44v6hdmcj0";
+ name = "kdeclarative-5.54.0.tar.xz";
};
};
kded = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kded-5.53.0.tar.xz";
- sha256 = "18yh27ddp4aldpmkflj9q6anrpnzawhn7nrykvayxxbgmdg4gn48";
- name = "kded-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kded-5.54.0.tar.xz";
+ sha256 = "131hvxpqvkyh1sfb1j19jjzy7fyy6xisvpmx12lw1pvks0cnrqgn";
+ name = "kded-5.54.0.tar.xz";
};
};
kdelibs4support = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/portingAids/kdelibs4support-5.53.0.tar.xz";
- sha256 = "1ai1k1m08zq04rxi5px1agmqzmv59lic7qqiqg4iwnm5i8q2z2i0";
- name = "kdelibs4support-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/portingAids/kdelibs4support-5.54.0.tar.xz";
+ sha256 = "02kklfcjsll4pf4rfll7jrr7jpcwd57954ypjjhn3xgr6p0w0hdm";
+ name = "kdelibs4support-5.54.0.tar.xz";
};
};
kdesignerplugin = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kdesignerplugin-5.53.0.tar.xz";
- sha256 = "1m0ysmpysjpmnmmmyp5xkfzygi1w0dnn7j707c6nj31y2s7078q6";
- name = "kdesignerplugin-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kdesignerplugin-5.54.0.tar.xz";
+ sha256 = "0hlywnzd3d6bvhib1xqiqx39m7k8g16wsj102f7awd5gw3xrz8ga";
+ name = "kdesignerplugin-5.54.0.tar.xz";
};
};
kdesu = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kdesu-5.53.0.tar.xz";
- sha256 = "18kd19y95gllyarjlm0768s3b9q67ia6dajdw89rrk1qgvbw42xy";
- name = "kdesu-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kdesu-5.54.0.tar.xz";
+ sha256 = "1qhw1hmq2b6rkyibidmg532llv31vkhmp0a7j2myzi40ydbx1lar";
+ name = "kdesu-5.54.0.tar.xz";
};
};
kdewebkit = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kdewebkit-5.53.0.tar.xz";
- sha256 = "1x5b85lr6ck2vklj641ra6sx1fvz2daiy8vsgpziii0752a0ayf2";
- name = "kdewebkit-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kdewebkit-5.54.0.tar.xz";
+ sha256 = "0prl9751a8nv7qhg7fv8qygq0llh71w2p25sldl3zif44340jnhf";
+ name = "kdewebkit-5.54.0.tar.xz";
};
};
kdnssd = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kdnssd-5.53.0.tar.xz";
- sha256 = "0hghpamkxwjvfh87y2qcy20bmxvglzwrzmfg26hycmxgj0l3frhb";
- name = "kdnssd-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kdnssd-5.54.0.tar.xz";
+ sha256 = "00sqx2hyqd9yw4nwdl8kmbzm0v0szgqv4nz0q6bchv3hfbax6zk7";
+ name = "kdnssd-5.54.0.tar.xz";
};
};
kdoctools = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kdoctools-5.53.0.tar.xz";
- sha256 = "0kjijwc66rg737z6z8c275wfb2gn7xgslgmrys5dxaqqzrinbn1j";
- name = "kdoctools-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kdoctools-5.54.0.tar.xz";
+ sha256 = "0xbmdqlvyw9s2g8kwn1wmvz09pn4vs386ibm1p92wdnpspp5did6";
+ name = "kdoctools-5.54.0.tar.xz";
};
};
kemoticons = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kemoticons-5.53.0.tar.xz";
- sha256 = "0x9jrc5pswmcj36qs3283c5bz63sbgr87m7dn9ykas7a50xgyv0w";
- name = "kemoticons-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kemoticons-5.54.0.tar.xz";
+ sha256 = "0ypcffpp0m75qwam386q6pyfbsij16y2vgpkn38li6ypxlxsvx2v";
+ name = "kemoticons-5.54.0.tar.xz";
};
};
kfilemetadata = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kfilemetadata-5.53.0.tar.xz";
- sha256 = "18wgzhg146iscg7nm7xabmzsw73x0by2imkh6wgky87nwry7020s";
- name = "kfilemetadata-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kfilemetadata-5.54.0.tar.xz";
+ sha256 = "1hl61y15nqr5h5k4jqfz9bjj4gw6wdaiacxaslcwzn0sg4xyavab";
+ name = "kfilemetadata-5.54.0.tar.xz";
};
};
kglobalaccel = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kglobalaccel-5.53.0.tar.xz";
- sha256 = "1h60kl309pz4i6jr6a444d14i2dzqhjapga837my2mylsdjj3wqi";
- name = "kglobalaccel-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kglobalaccel-5.54.0.tar.xz";
+ sha256 = "10gl8prc1n0si52cmiglkz8dx79dylmxrh5mjpmyy5yy16chs1s1";
+ name = "kglobalaccel-5.54.0.tar.xz";
};
};
kguiaddons = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kguiaddons-5.53.0.tar.xz";
- sha256 = "1kj1jvq7lqlnr00fmlfrj7vkvlwav7b5r4bpifysx1l4285y5y76";
- name = "kguiaddons-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kguiaddons-5.54.0.tar.xz";
+ sha256 = "0lkqxsqdjmc7060pxi5j8gx15kmrb8450cpinzn89nzpdl7rj935";
+ name = "kguiaddons-5.54.0.tar.xz";
};
};
kholidays = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kholidays-5.53.0.tar.xz";
- sha256 = "1zn581ibv4wg5c4q97l40wdpj18p5kwxk4zxl3cl4l445ivv04p5";
- name = "kholidays-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kholidays-5.54.0.tar.xz";
+ sha256 = "1xp6mpnhlqkfl3pdaj6nq9sqy30z5wm6gms0ycy33n4ly2s8wb1y";
+ name = "kholidays-5.54.0.tar.xz";
};
};
khtml = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/portingAids/khtml-5.53.0.tar.xz";
- sha256 = "07cmpqk92z4b631q6ngg7sdw4p56r11mdqf2fvbcwmqksx6b11fy";
- name = "khtml-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/portingAids/khtml-5.54.0.tar.xz";
+ sha256 = "17d8cim4ph7nxc5gkidhxc659yn9a7dqvnrihx9sj1cy01qnc7da";
+ name = "khtml-5.54.0.tar.xz";
};
};
ki18n = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/ki18n-5.53.0.tar.xz";
- sha256 = "052c7rvqqb2hx9wn91sdp4wcz5vdym5iszb1vnpr9wdc3psqq41x";
- name = "ki18n-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/ki18n-5.54.0.tar.xz";
+ sha256 = "0drbyr2y44h1d88nbgxvp4ix46lin51r8vzhhnjhq2ydqy5za3p3";
+ name = "ki18n-5.54.0.tar.xz";
};
};
kiconthemes = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kiconthemes-5.53.0.tar.xz";
- sha256 = "1h54mqda05x4p1kplhxnqa488pvqn354qnk1qg2l851lh69ail9q";
- name = "kiconthemes-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kiconthemes-5.54.0.tar.xz";
+ sha256 = "0hc3a6ax3yizpbvklxw3pm0r6j0r5jqx2ffbz1980g21lcgshd7g";
+ name = "kiconthemes-5.54.0.tar.xz";
};
};
kidletime = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kidletime-5.53.0.tar.xz";
- sha256 = "04jbig9mf45mzajwgi66vz3b2zqg4p1gca1jkcl4yk6a4csg43ri";
- name = "kidletime-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kidletime-5.54.0.tar.xz";
+ sha256 = "1x0z0ipdizgv6jkklxp6maclx8f6ya2bv1q39hvxxnnmly8q3vjm";
+ name = "kidletime-5.54.0.tar.xz";
};
};
kimageformats = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kimageformats-5.53.0.tar.xz";
- sha256 = "0b59sa5x58mxzkv9h9xxfzb89k27cpyqzfgf4kl7zbxklxxszafj";
- name = "kimageformats-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kimageformats-5.54.0.tar.xz";
+ sha256 = "0xfzpzaqgdncwxvg27qb0ryqi78nbsi0xcsg9cjmgspfx5mlgi15";
+ name = "kimageformats-5.54.0.tar.xz";
};
};
kinit = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kinit-5.53.0.tar.xz";
- sha256 = "14dd165al0gn1y3jhlk3jgz3px8rcccn3hp5isywa2xxzl7v5raw";
- name = "kinit-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kinit-5.54.0.tar.xz";
+ sha256 = "0pmr6ckysdqpni49i9jgapsk88jfbrnlfybpcp3v51kl2nkwm0i9";
+ name = "kinit-5.54.0.tar.xz";
};
};
kio = {
- version = "5.53.0";
+ version = "5.54.1";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kio-5.53.0.tar.xz";
- sha256 = "1hr4875v1ph8jbsqbyrhk5vxa908kv7xic7ymk9rmaqrkc0dy83k";
- name = "kio-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kio-5.54.1.tar.xz";
+ sha256 = "11wdsq87w1ddkrm0mpik2qf0c0k897f1rflszfrrwkplfb0z63xp";
+ name = "kio-5.54.1.tar.xz";
};
};
kirigami2 = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kirigami2-5.53.0.tar.xz";
- sha256 = "0avr7slzww3fpdyczi0y3djvrccs3jq2jyq82r02xfw8mwb93zii";
- name = "kirigami2-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kirigami2-5.54.0.tar.xz";
+ sha256 = "0iny9br3vpakvv0bmgy0mmw2y10d4kqbahjpfa3726qai4gligp2";
+ name = "kirigami2-5.54.0.tar.xz";
};
};
kitemmodels = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kitemmodels-5.53.0.tar.xz";
- sha256 = "1gkw57fgm6dcy9jssaq9d1mkgd1g6jxk2aqpf4lq1nvqkr7jqzbl";
- name = "kitemmodels-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kitemmodels-5.54.0.tar.xz";
+ sha256 = "1s3wv75sbb4kpgz02cbm7smp8h6rk1ixv0gafbvz9514i9g4d760";
+ name = "kitemmodels-5.54.0.tar.xz";
};
};
kitemviews = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kitemviews-5.53.0.tar.xz";
- sha256 = "0r60mp90k7psa9maz3dhhq3npbl95cckvmk51fpljcb8c3rpjymq";
- name = "kitemviews-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kitemviews-5.54.0.tar.xz";
+ sha256 = "1cw9i8xik287rvb12alpqsph902nhfmbn4cfjx5gj7k888n8k3mk";
+ name = "kitemviews-5.54.0.tar.xz";
};
};
kjobwidgets = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kjobwidgets-5.53.0.tar.xz";
- sha256 = "161wq1s1a1cb5a47wswg6g6qrmczgzwikp1cjsgxfykpgrxkp620";
- name = "kjobwidgets-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kjobwidgets-5.54.0.tar.xz";
+ sha256 = "0d3jxabjlf2s4p34pzrpfsg4xp9s8qd7dmg50yxl59dijd42xgxq";
+ name = "kjobwidgets-5.54.0.tar.xz";
};
};
kjs = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/portingAids/kjs-5.53.0.tar.xz";
- sha256 = "1jic7xyfmd829i82kbjin2xf9f3cir2s9v04r7ri7bq6gi2iw4c9";
- name = "kjs-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/portingAids/kjs-5.54.0.tar.xz";
+ sha256 = "0bidbvbwbrbwwm0drw6l43vgmsp50c946jjq7pgnq1gf7mhscwcy";
+ name = "kjs-5.54.0.tar.xz";
};
};
kjsembed = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/portingAids/kjsembed-5.53.0.tar.xz";
- sha256 = "0j3jzn7qwh9sw9gxk1f435vijkrgnzpsqx3a4yx7w3n93h96h36r";
- name = "kjsembed-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/portingAids/kjsembed-5.54.0.tar.xz";
+ sha256 = "1pjpk8ysrnh78infq99i0wrf78h8h7hbfnr1m7agzffhbqa671z8";
+ name = "kjsembed-5.54.0.tar.xz";
};
};
kmediaplayer = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/portingAids/kmediaplayer-5.53.0.tar.xz";
- sha256 = "1r6cl6paap7hmpqr05mj8qxcb2sa16kdc0zqj8g6gqb32xj6wk0k";
- name = "kmediaplayer-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/portingAids/kmediaplayer-5.54.0.tar.xz";
+ sha256 = "0qalqqkn2yvxgr45l7zm36bcpxwbgn8ngxsvyb5cxfaalwr0mkyf";
+ name = "kmediaplayer-5.54.0.tar.xz";
};
};
knewstuff = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/knewstuff-5.53.0.tar.xz";
- sha256 = "0d5yszf6fj8qjmr50jfa9f34xcn9k8n4bj4c3h635ccwb7l3i6q3";
- name = "knewstuff-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/knewstuff-5.54.0.tar.xz";
+ sha256 = "1l3ibadjvaqqjsb1lhkf6jkzy80dk15fgid125bqk4amwsyygnd3";
+ name = "knewstuff-5.54.0.tar.xz";
};
};
knotifications = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/knotifications-5.53.0.tar.xz";
- sha256 = "0fbjg48ck6mr98gl3075vf9mn8fwdrsz0jm9hbnzr2vn9yrg57nz";
- name = "knotifications-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/knotifications-5.54.0.tar.xz";
+ sha256 = "1agglvwaf0wh3fcs0ww3jxn900ych4dsvbaylrx4qip6girfmiyn";
+ name = "knotifications-5.54.0.tar.xz";
};
};
knotifyconfig = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/knotifyconfig-5.53.0.tar.xz";
- sha256 = "1f3hq2l8fkff4dnkf6klj60jv946yfaw84i50q192blwqfkij896";
- name = "knotifyconfig-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/knotifyconfig-5.54.0.tar.xz";
+ sha256 = "1ibxqi0y43qgjj4nikxwfppmda9xjmz63c5fml8c4w5d9mdag3if";
+ name = "knotifyconfig-5.54.0.tar.xz";
};
};
kpackage = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kpackage-5.53.0.tar.xz";
- sha256 = "1gllbi7y4svlkwhvp0sh3bdhiah2f55spg7wh149sqwmnmvj09ra";
- name = "kpackage-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kpackage-5.54.0.tar.xz";
+ sha256 = "1s1n7r3j7l4kvd85dgssaaz70dd2w8vp34kwg49ak58cdai01vzb";
+ name = "kpackage-5.54.0.tar.xz";
};
};
kparts = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kparts-5.53.0.tar.xz";
- sha256 = "0cfzbf706dn4kjz8mz53b1a0dzk0f540n0j144x4701c4gfajnim";
- name = "kparts-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kparts-5.54.0.tar.xz";
+ sha256 = "0y2dr286hb2w4r7ifq39vd7ajsalqyh9d91dm19b2rpgdmvgxai6";
+ name = "kparts-5.54.0.tar.xz";
};
};
kpeople = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kpeople-5.53.0.tar.xz";
- sha256 = "1bsnj5r47azl889izxdlwcbfrfmg921cpapicn7klynmsw58lpdg";
- name = "kpeople-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kpeople-5.54.0.tar.xz";
+ sha256 = "0sl8wcj7w9vgczcv8mfvjlnghidyadbh1qsiv0pj63ywl7xgr1hx";
+ name = "kpeople-5.54.0.tar.xz";
};
};
kplotting = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kplotting-5.53.0.tar.xz";
- sha256 = "0cnnzyybzsrdrnhhcc47i6jakhrixdxakfv2ib0fpsiif3fn3jpx";
- name = "kplotting-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kplotting-5.54.0.tar.xz";
+ sha256 = "02mab80jyfgdj8xwbwkm181cc5vpsmbn561242q7ayjgxdiszzw9";
+ name = "kplotting-5.54.0.tar.xz";
};
};
kpty = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kpty-5.53.0.tar.xz";
- sha256 = "01qy5pvd5j014zh455sh0qb8x0g1yc60bbdqh34nk84s8mx3mz9z";
- name = "kpty-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kpty-5.54.0.tar.xz";
+ sha256 = "04sj612x15311yk2jmr3ak430syp5p59w559670sd18ih99mf8m3";
+ name = "kpty-5.54.0.tar.xz";
};
};
kross = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/portingAids/kross-5.53.0.tar.xz";
- sha256 = "1q69pppmnxmjfmi73ks6mrkib76nhhffn0c3j93qq7cq3ingjzjy";
- name = "kross-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/portingAids/kross-5.54.0.tar.xz";
+ sha256 = "18ij9339khskla4r0afl0n6x4pd157y1l5bk2ldb9anpck3p71kd";
+ name = "kross-5.54.0.tar.xz";
};
};
krunner = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/krunner-5.53.0.tar.xz";
- sha256 = "09n824q8k1ihfgz6yzb5xv99p241733574yhhv1y47cyrp7d904l";
- name = "krunner-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/krunner-5.54.0.tar.xz";
+ sha256 = "06y592v32926wq9iaypryj0173ca05vv0p5rrs4n77kwhkl0zq0v";
+ name = "krunner-5.54.0.tar.xz";
};
};
kservice = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kservice-5.53.0.tar.xz";
- sha256 = "06b35zynmlhidgzxp7mqv20fcw6wvdsszfam1phv7wji1xhhpnk2";
- name = "kservice-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kservice-5.54.0.tar.xz";
+ sha256 = "10qmrqyfjhf5nzjailgmb86nq62ffrmiddk3880mh49fwxs4l3qx";
+ name = "kservice-5.54.0.tar.xz";
};
};
ktexteditor = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/ktexteditor-5.53.0.tar.xz";
- sha256 = "1hcn4dk6gw96aknh6dn9yi1fwq7s90kjmcvn3wgf4ig1408q6b7g";
- name = "ktexteditor-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/ktexteditor-5.54.0.tar.xz";
+ sha256 = "12yywvv82lmqmx89j1qxj45an49vx34brifxs9rpy3nxyh9c3vzy";
+ name = "ktexteditor-5.54.0.tar.xz";
};
};
ktextwidgets = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/ktextwidgets-5.53.0.tar.xz";
- sha256 = "025z1x7mp7wdm62h6igbsvb99l09jsdzna4m30h586h7rhn8kvdc";
- name = "ktextwidgets-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/ktextwidgets-5.54.0.tar.xz";
+ sha256 = "154j3an7x787l44hw1fmksm3h6kziyaw4l61zw9mas24z3d86hl5";
+ name = "ktextwidgets-5.54.0.tar.xz";
};
};
kunitconversion = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kunitconversion-5.53.0.tar.xz";
- sha256 = "1yr6dfcqabkv2r7p9f814hd1x8c1bfy2k2f83zj4qlahzb91mw6v";
- name = "kunitconversion-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kunitconversion-5.54.0.tar.xz";
+ sha256 = "0lxrydnjlilfm92aqrpd76dk8yfprgnb7nr66dwmbdmqz7znbl8h";
+ name = "kunitconversion-5.54.0.tar.xz";
};
};
kwallet = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kwallet-5.53.0.tar.xz";
- sha256 = "135vc52zx0ikb684z6ds2hlr39vj2z8g2rp9f51py52pf7fxkwc0";
- name = "kwallet-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kwallet-5.54.0.tar.xz";
+ sha256 = "0hyipka97g2djk43x8pqbjvrgswsp8kph6za0s5dl4napfikq8k2";
+ name = "kwallet-5.54.0.tar.xz";
};
};
kwayland = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kwayland-5.53.0.tar.xz";
- sha256 = "0k6j8w3ccx9kkqnp757z2g5y4jcl2y2ppvx8vvl7z97jjn66563h";
- name = "kwayland-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kwayland-5.54.0.tar.xz";
+ sha256 = "0y1710l68qlf37zy26nyn25r50a00mrm5cnwgfs9f40s749amigf";
+ name = "kwayland-5.54.0.tar.xz";
};
};
kwidgetsaddons = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kwidgetsaddons-5.53.0.tar.xz";
- sha256 = "1k9y3gcpzgdzd4ps8m4gx3wz166k0jqzccn8z8p2jr2nfjdwp4mc";
- name = "kwidgetsaddons-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kwidgetsaddons-5.54.0.tar.xz";
+ sha256 = "01qxklhigfazhma0f6m1fkcbh9waxpvzpz6y2jlflvgbw2db82gh";
+ name = "kwidgetsaddons-5.54.0.tar.xz";
};
};
kwindowsystem = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kwindowsystem-5.53.0.tar.xz";
- sha256 = "1z89b3my3wsncbq16bqsncbf9grji77sb0j17lj7w5hm36d01clz";
- name = "kwindowsystem-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kwindowsystem-5.54.0.tar.xz";
+ sha256 = "1n9h4gg5ih29avvcpplqfy7nq58xx6jv6a04m1wkjr1rzn4dyfnb";
+ name = "kwindowsystem-5.54.0.tar.xz";
};
};
kxmlgui = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kxmlgui-5.53.0.tar.xz";
- sha256 = "1acppl4wzqrpa8iys8z2qqxrw4xy61q02vybn0ysspa0yrdxga9f";
- name = "kxmlgui-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kxmlgui-5.54.0.tar.xz";
+ sha256 = "01napbq81mcp9ngyl26an52l6ndsgrhzhy2mfd8jrbil2sbrcxq7";
+ name = "kxmlgui-5.54.0.tar.xz";
};
};
kxmlrpcclient = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/kxmlrpcclient-5.53.0.tar.xz";
- sha256 = "07ns1fj5vq0fzqhrrmbm7cjnnzkl1jlgcf1lv3kfik1y13fd9zkd";
- name = "kxmlrpcclient-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/kxmlrpcclient-5.54.0.tar.xz";
+ sha256 = "199syc5wl8myc4vcvbnw4a8mlfkb2gcmgs57p8w7akp7mz6l75y6";
+ name = "kxmlrpcclient-5.54.0.tar.xz";
};
};
modemmanager-qt = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/modemmanager-qt-5.53.0.tar.xz";
- sha256 = "1lgvj086k21sm6b0pf9k51zv4fy5i4wlnsjwv2zfvapdrndl8kdp";
- name = "modemmanager-qt-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/modemmanager-qt-5.54.0.tar.xz";
+ sha256 = "0n54gh83b6d42azv40km7j223qb2f4f9ng23xvvawzc7l2ksm350";
+ name = "modemmanager-qt-5.54.0.tar.xz";
};
};
networkmanager-qt = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/networkmanager-qt-5.53.0.tar.xz";
- sha256 = "11vqmx11lgyagbq9zvaw4s9k7wyyyigpd8d0i3w49h34nyv0p5yi";
- name = "networkmanager-qt-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/networkmanager-qt-5.54.0.tar.xz";
+ sha256 = "0bh5li6r7r3nws5zj0hp4iy4xhiyh7rszzwpp6ag93vz5g5fsl9y";
+ name = "networkmanager-qt-5.54.0.tar.xz";
};
};
oxygen-icons5 = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/oxygen-icons5-5.53.0.tar.xz";
- sha256 = "13pcvzskng2mc8cwwhmq6p428nc9qzllxykx95z2s2k3b8nh726m";
- name = "oxygen-icons5-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/oxygen-icons5-5.54.0.tar.xz";
+ sha256 = "1sdd8ygkyl4d1mwrachcf0ahpikkby3xhdyz212xj9qmhmsgwa46";
+ name = "oxygen-icons5-5.54.0.tar.xz";
};
};
plasma-framework = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/plasma-framework-5.53.0.tar.xz";
- sha256 = "0swyn04w61dvdkmb2fahb6k93vlggh7xv4k2yygshqrkmwk6ilym";
- name = "plasma-framework-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/plasma-framework-5.54.0.tar.xz";
+ sha256 = "1933i8irn76ilz3nychbnhy1bsc39iscn3qrab0lwmshfmw8c4zj";
+ name = "plasma-framework-5.54.0.tar.xz";
};
};
prison = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/prison-5.53.0.tar.xz";
- sha256 = "0ydm36jkwc2x53kf5n0xswh72g2cixd5444xfrhcwiyq905z3db1";
- name = "prison-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/prison-5.54.0.tar.xz";
+ sha256 = "1z7gymk4hkwaa0ni1454ndvpm2lwqyyfbih38h0lfb8lrswnv3kb";
+ name = "prison-5.54.0.tar.xz";
};
};
purpose = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/purpose-5.53.0.tar.xz";
- sha256 = "1y6v51p9j9gm9pad38h6dqxav4m7ryxp4h35qjz46wisacgvpfkf";
- name = "purpose-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/purpose-5.54.0.tar.xz";
+ sha256 = "07rz8bqwvlz5g914q4vxdcdmrja5hxa29iazxz8nr171xnpg9x0w";
+ name = "purpose-5.54.0.tar.xz";
};
};
qqc2-desktop-style = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/qqc2-desktop-style-5.53.0.tar.xz";
- sha256 = "1f17f3mqwzn5s0a08xh68dmvzkvn2g8ah7810hd25l2hvmkfvm04";
- name = "qqc2-desktop-style-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/qqc2-desktop-style-5.54.0.tar.xz";
+ sha256 = "1shw3c6cr5xanzyl5zv3isyhvzi20zn3xf7m963z1qn8ypaz1by8";
+ name = "qqc2-desktop-style-5.54.0.tar.xz";
};
};
solid = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/solid-5.53.0.tar.xz";
- sha256 = "1x9qc8vm16vlqws9jb2pynw705mx6xvbb617lkdwdb60fzlrjkln";
- name = "solid-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/solid-5.54.0.tar.xz";
+ sha256 = "0hmh9hndfs1ikaja07ddag7jr8804q4g6p74rhqsrfk2sjz0pmr9";
+ name = "solid-5.54.0.tar.xz";
};
};
sonnet = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/sonnet-5.53.0.tar.xz";
- sha256 = "0jk8kcsdzjg7x37cw95n3wdnjg403x3plzw0zwa3r3xkg8vlqv18";
- name = "sonnet-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/sonnet-5.54.0.tar.xz";
+ sha256 = "0ccz0gbypzdndaxrfkjhry90jjdh5a56pm4j41z835q96w6piclz";
+ name = "sonnet-5.54.0.tar.xz";
};
};
syndication = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/syndication-5.53.0.tar.xz";
- sha256 = "0znj8rgdh14ci3nx1h7s9v8kl208z8zlcq3c99bh216rznxvzr6b";
- name = "syndication-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/syndication-5.54.0.tar.xz";
+ sha256 = "0zj8nv0hj5sf79v3clg2bqhs3m8hi1pzjar1cq6hkxprymw0hzx8";
+ name = "syndication-5.54.0.tar.xz";
};
};
syntax-highlighting = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/syntax-highlighting-5.53.0.tar.xz";
- sha256 = "1ar50an84pcb090zh50ni2d3ck6dxvbij9d6qa091hd66rwm2cda";
- name = "syntax-highlighting-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/syntax-highlighting-5.54.0.tar.xz";
+ sha256 = "022mpkbgc458qcn25pn3a3m2dzy6lq23r7fqbgp22jr6xalfi5hl";
+ name = "syntax-highlighting-5.54.0.tar.xz";
};
};
threadweaver = {
- version = "5.53.0";
+ version = "5.54.0";
src = fetchurl {
- url = "${mirror}/stable/frameworks/5.53/threadweaver-5.53.0.tar.xz";
- sha256 = "0wlpbnan5g2nhs0fc9l3p0c1gcs9ak7m83hfcibg7vsq9kqvcs6p";
- name = "threadweaver-5.53.0.tar.xz";
+ url = "${mirror}/stable/frameworks/5.54/threadweaver-5.54.0.tar.xz";
+ sha256 = "011k2pm0wr60sxnydicnchnarx4r6qja0w6iih3jfkw733qm6bxp";
+ name = "threadweaver-5.54.0.tar.xz";
};
};
}
diff --git a/pkgs/development/libraries/libabw/default.nix b/pkgs/development/libraries/libabw/default.nix
index fe2229bcea6..aa4a40cf32d 100644
--- a/pkgs/development/libraries/libabw/default.nix
+++ b/pkgs/development/libraries/libabw/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://wiki.documentfoundation.org/DLP/Libraries/libabw;
description = "Library parsing abiword documents";
- platforms = platforms.linux;
+ platforms = platforms.unix;
license = licenses.mpl20;
};
}
diff --git a/pkgs/development/libraries/libbfd/default.nix b/pkgs/development/libraries/libbfd/default.nix
index 57c3e123377..64b3832d335 100644
--- a/pkgs/development/libraries/libbfd/default.nix
+++ b/pkgs/development/libraries/libbfd/default.nix
@@ -1,5 +1,5 @@
{ stdenv
-, fetchpatch, gnu-config, autoreconfHook264, bison, binutils-unwrapped
+, fetchpatch, gnu-config, autoreconfHook, bison, binutils-unwrapped
, libiberty, zlib
}:
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
# We update these ourselves
dontUpdateAutotoolsGnuConfigScripts = true;
- nativeBuildInputs = [ autoreconfHook264 bison ];
+ nativeBuildInputs = [ autoreconfHook bison ];
buildInputs = [ libiberty zlib ];
configurePlatforms = [ "build" "host" ];
diff --git a/pkgs/development/libraries/libcmis/default.nix b/pkgs/development/libraries/libcmis/default.nix
index d62d1a80264..f1e57272d0b 100644
--- a/pkgs/development/libraries/libcmis/default.nix
+++ b/pkgs/development/libraries/libcmis/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
description = "C++ client library for the CMIS interface";
homepage = https://sourceforge.net/projects/libcmis/;
license = licenses.gpl2;
- platforms = platforms.linux;
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix
index 6c52f2c0b1a..805b1869ac3 100644
--- a/pkgs/development/libraries/libe-book/default.nix
+++ b/pkgs/development/libraries/libe-book/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation {
description = ''Library for import of reflowable e-book formats'';
license = stdenv.lib.licenses.lgpl21Plus ;
maintainers = [stdenv.lib.maintainers.raskin];
- platforms = stdenv.lib.platforms.linux;
+ platforms = stdenv.lib.platforms.unix;
};
}
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 05ae29358fa..5038547f5b8 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -17,11 +17,11 @@
};
in stdenv.mkDerivation (rec {
name = "libgpg-error-${version}";
- version = "1.33";
+ version = "1.34";
src = fetchurl {
url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
- sha256 = "1zq3pw93d0ani8bam7f4qjivll1b0zg9qbblwwvcjip7ark84f2x";
+ sha256 = "10cc76y7zi6wsdmpy1abf3i0q17bj59q5ysy8cpnpf3ixsfpk006";
};
postPatch = ''
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index 4e43ef91e79..07c0f8cb1b4 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -30,8 +30,8 @@ stdenv.mkDerivation rec {
prePatch = ''
# build-time scripts
- substituteInPlace run.in --replace '#!/bin/bash' '#!/bin/sh'
- substituteInPlace ocaml-link.sh --replace '#!/bin/bash' '#!/bin/sh'
+ substituteInPlace run.in --replace '#!/bin/bash' '#!${stdenv.shell}'
+ substituteInPlace ocaml-link.sh --replace '#!/bin/bash' '#!${stdenv.shell}'
# $(OCAMLLIB) is read-only "${ocamlPackages.ocaml}/lib/ocaml"
substituteInPlace ocaml/Makefile.am --replace '$(DESTDIR)$(OCAMLLIB)' '$(out)/lib/ocaml'
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index dd8e3c4a4f8..3ff6b600193 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "libidn2-${version}";
- version = "2.0.5";
+ version = "2.1.0";
src = fetchurl {
url = "mirror://gnu/gnu/libidn/${name}.tar.gz";
- sha256 = "1f529jxmhj12q7i1gvw2d9i24zbslz3kj91kbgxac7vgi1q93xjk";
+ sha256 = "0chxs75212qknd72l6vvai48hwg3czlr938sym1sydwmmbdrh8q3";
};
outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 27eba7f4f48..24a708f8277 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -27,11 +27,11 @@ in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "libinput-${version}";
- version = "1.12.5";
+ version = "1.12.6";
src = fetchurl {
url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz";
- sha256 = "08vid3q1la3qiv9d5xcgxznjahzs8w01fhabvxlvzwqf04qnhjvx";
+ sha256 = "0pgla0mc6mvyr1ljy10mcqvfz8i5z6yp7dbx2bcd70y67wx05d0j";
};
outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index 79718b47745..9203928bd70 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
description = ''Import library for some old mac text documents'';
license = stdenv.lib.licenses.mpl20 ;
maintainers = [stdenv.lib.maintainers.raskin];
- platforms = stdenv.lib.platforms.linux;
+ platforms = stdenv.lib.platforms.unix;
};
}
diff --git a/pkgs/development/libraries/libodfgen/default.nix b/pkgs/development/libraries/libodfgen/default.nix
index 54f1d261728..1723219e859 100644
--- a/pkgs/development/libraries/libodfgen/default.nix
+++ b/pkgs/development/libraries/libodfgen/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation {
description = ''A base library for generating ODF documents'';
license = stdenv.lib.licenses.mpl20 ;
maintainers = [stdenv.lib.maintainers.raskin];
- platforms = stdenv.lib.platforms.linux;
+ platforms = stdenv.lib.platforms.unix;
};
}
diff --git a/pkgs/development/libraries/libopcodes/default.nix b/pkgs/development/libraries/libopcodes/default.nix
index a1db11d9a8e..450b9058d0b 100644
--- a/pkgs/development/libraries/libopcodes/default.nix
+++ b/pkgs/development/libraries/libopcodes/default.nix
@@ -1,5 +1,5 @@
{ stdenv, buildPackages
-, autoreconfHook264, bison, binutils-unwrapped
+, autoreconfHook, bison, binutils-unwrapped
, libiberty, libbfd
}:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
'';
depsBuildBuild = [ buildPackages.stdenv.cc ];
- nativeBuildInputs = [ autoreconfHook264 bison ];
+ nativeBuildInputs = [ autoreconfHook bison ];
buildInputs = [ libiberty ];
# dis-asm.h includes bfd.h
propagatedBuildInputs = [ libbfd ];
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 9c1ed80e51e..9fc7d771202 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,20 +3,20 @@
assert zlib != null;
let
- patchVersion = "1.6.35";
+ patchVersion = "1.6.36";
patch_src = fetchurl {
url = "mirror://sourceforge/libpng-apng/libpng-${patchVersion}-apng.patch.gz";
- sha256 = "011fq5wgyz07pfrqs9albixbiksx3agx5nkcf3535gbvhlwv5khq";
+ sha256 = "03ywdwaq1k3pfslvbs2b33z3pdmazz6yp8g56mzafacvfgd367wc";
};
whenPatched = stdenv.lib.optionalString apngSupport;
in stdenv.mkDerivation rec {
name = "libpng" + whenPatched "-apng" + "-${version}";
- version = "1.6.35";
+ version = "1.6.36";
src = fetchurl {
url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
- sha256 = "1mxwjf5cdzk7g0y51gl9w3f0j5ypcls05i89kgnifjaqr742x493";
+ sha256 = "06d35a3xz2a0kph82r56hqm1fn8fbwrqs07xzmr93dx63x695szc";
};
postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
@@ -25,14 +25,14 @@ in stdenv.mkDerivation rec {
propagatedBuildInputs = [ zlib ];
- doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+ doCheck = true;
passthru = { inherit zlib; };
meta = with stdenv.lib; {
description = "The official reference implementation for the PNG file format" + whenPatched " with animation patch";
homepage = http://www.libpng.org/pub/png/libpng.html;
- license = licenses.libpng;
+ license = licenses.libpng2;
platforms = platforms.all;
maintainers = [ maintainers.vcunat maintainers.fuuzetsu ];
};
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 0e8533a5639..14be410bd16 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -27,11 +27,11 @@ in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "libwebp-${version}";
- version = "1.0.1";
+ version = "1.0.2";
src = fetchurl {
url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz";
- sha256 = "08nr124aqlfpmdawpfizp56x93pvhr0v741fz78s1zyv49a4lx4c";
+ sha256 = "1cb4sm6h1czvk9kqqgld3g5f0d9qv60xnbbv0kl7cr7d826b8irx";
};
configureFlags = [
diff --git a/pkgs/development/libraries/libwps/default.nix b/pkgs/development/libraries/libwps/default.nix
index b0449d8205d..76ac946d618 100644
--- a/pkgs/development/libraries/libwps/default.nix
+++ b/pkgs/development/libraries/libwps/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = http://libwps.sourceforge.net/;
description = "Microsoft Works document format import filter library";
- platforms = platforms.linux;
+ platforms = platforms.unix;
license = licenses.lgpl21;
};
}
diff --git a/pkgs/development/libraries/libzmf/default.nix b/pkgs/development/libraries/libzmf/default.nix
index 695effe2ea9..1413da4a18d 100644
--- a/pkgs/development/libraries/libzmf/default.nix
+++ b/pkgs/development/libraries/libzmf/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "libzmf";
version = "0.0.2";
-
+
src = fetchurl {
url = "http://dev-www.libreoffice.org/src/libzmf/${name}.tar.xz";
sha256 = "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
description = ''A library that parses the file format of Zoner Callisto/Draw documents'';
license = stdenv.lib.licenses.mpl20;
maintainers = [stdenv.lib.maintainers.raskin];
- platforms = stdenv.lib.platforms.linux;
+ platforms = stdenv.lib.platforms.unix;
homepage = https://wiki.documentfoundation.org/DLP/Libraries/libzmf;
downloadPage = "http://dev-www.libreoffice.org/src/libzmf/";
updateWalker = true;
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index e54df3562da..9747d8cf577 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -67,7 +67,7 @@ let
in
let
- version = "18.3.1";
+ version = "18.3.3";
branch = head (splitString "." version);
in
@@ -81,7 +81,7 @@ let self = stdenv.mkDerivation {
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
"https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
];
- sha256 = "0qyw9dj2p9n91qzc4ylck2an7ibssjvzi2bjcpv2ajk851yq47sv";
+ sha256 = "16b2jgrmlqajsyz0qkr4b2v68538bs941cn3pk635ib6d5m8idia";
};
prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index ef3ff13bac6..708ba46b42e 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -13,15 +13,18 @@
}:
stdenv.mkDerivation rec {
- version = "6.1-20181027";
+ # Note the revision needs to be adjusted.
+ version = "6.1-20190112";
name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
- src = fetchurl {
- urls = [
- "https://invisible-mirror.net/archives/ncurses/current/ncurses-${version}.tgz"
- "ftp://ftp.invisible-island.net/ncurses/current/ncurses-${version}.tgz"
- ];
- sha256 = "1xn6wpi22jc61158w4ifq6s1fvilhmsy1in2srn3plk8pm0d4902";
+ # We cannot use fetchFromGitHub (which calls fetchzip)
+ # because we need to be able to use fetchurlBoot.
+ src = let
+ # Note the version needs to be adjusted.
+ rev = "acb4184f8f69fddd052a3daa8c8675f4bf8ce369";
+ in fetchurl {
+ url = "https://github.com/mirror/ncurses/archive/${rev}.tar.gz";
+ sha256 = "1z8v63cj2y7dxf4m1api8cvk0ns9frif9c60m2sxhibs06pjy4q0";
};
patches = lib.optional (!stdenv.cc.isClang) ./clang.patch;
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 83f19e442c6..737a9a5badf 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -21,6 +21,12 @@ stdenv.mkDerivation rec {
};
patches = [
+ # CVE-2019-6133 - See: https://bugs.chromium.org/p/project-zero/issues/detail?id=1692
+ (fetchpatch {
+ url = "https://gitlab.freedesktop.org/polkit/polkit/commit/6cc6aafee135ba44ea748250d7d29b562ca190e3.patch";
+ name = "CVE-2019-6133.patch";
+ sha256 = "0jjlbjzqcz96xh6w3nv3ss9jl0hhrcd7jg4aa5advf08ibaj29r1";
+ })
# CVE-2018-19788 - high UID fixup
(fetchpatch {
url = "https://gitlab.freedesktop.org/polkit/polkit/commit/5230646dc6876ef6e27f57926b1bad348f636147.patch";
diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix
index bc130af4c6a..9fc0c4ac230 100644
--- a/pkgs/development/libraries/zeromq/4.x.nix
+++ b/pkgs/development/libraries/zeromq/4.x.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "zeromq-${version}";
- version = "4.3.0";
+ version = "4.3.1";
src = fetchFromGitHub {
owner = "zeromq";
repo = "libzmq";
rev = "v${version}";
- sha256 = "12a2l6dzxkk1x8yl8bihnfs6gi2vgyi4jm9q8acj46f6niryhsmr";
+ sha256 = "0z7ka82ihlsncqmf8jj4lnjyr418dzxfs0psx5mccqb09yx9shgm";
};
nativeBuildInputs = [ cmake asciidoc ];
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index 390e0e06112..49eb9c40344 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -41,7 +41,7 @@ let
mkdir -p "$(dirname "$launch_script")"
touch "$launch_script"
chmod a+x "$launch_script"
- echo "#! /bin/sh" >> "$launch_script"
+ echo "#! ${stdenv.shell}" >> "$launch_script"
echo "source '$config_script'" >> "$launch_script"
echo "test -n \"\$NIX_LISP_LD_LIBRARY_PATH\" export LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"" >> "$launch_script"
echo '"${clwrapper}/bin/common-lisp.sh" "$@"' >> "$launch_script"
diff --git a/pkgs/development/misc/avr8-burn-omat/default.nix b/pkgs/development/misc/avr8-burn-omat/default.nix
index 692f61cec74..4ddab380825 100644
--- a/pkgs/development/misc/avr8-burn-omat/default.nix
+++ b/pkgs/development/misc/avr8-burn-omat/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
mkdir -p $out/{nix-support,bin}
mv *.jar license_gpl-3.0.txt lib *.xml *.png $out/nix-support
cat >> $out/bin/avr8-burn-omat << EOF
- #!/bin/sh
+ #!${stdenv.shell}
cd $out/nix-support; exec java -jar AVR8_Burn_O_Mat.jar
EOF
chmod +x $out/bin/avr8-burn-omat
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index f82cf33e307..ec63e58fbb6 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml, camlp4,
+{ stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml, lwt_camlp4,
lwt_react, cryptokit,
- ipaddr, ocamlnet, lwt_ssl, ocaml_pcre,
+ ipaddr, ocamlnet, ocaml_pcre,
opaline, ppx_tools, ppx_deriving, findlib
, js_of_ocaml-ocamlbuild, js_of_ocaml-ppx, js_of_ocaml-ppx_deriving_json
, js_of_ocaml-lwt
, js_of_ocaml-tyxml
+, lwt_ppx
}:
-assert stdenv.lib.versionAtLeast ocaml.version "4.03";
-
stdenv.mkDerivation rec
{
pname = "eliom";
- version = "6.3.0";
+ version = "6.4.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz";
- sha256 = "137hgdzv9fwkzf6xdksqy437lrf8xvrycf5jwc3z4cmpsigs6x7v";
+ sha256 = "1ad7ympvj0cb51d9kbp4naxkld3gv8cfp4a037a5dr55761zdhdh";
};
patches = [ ./camlp4.patch ];
@@ -27,15 +26,12 @@ stdenv.mkDerivation rec
];
propagatedBuildInputs = [
- camlp4
- cryptokit
- ipaddr
js_of_ocaml-lwt
js_of_ocaml-ppx
js_of_ocaml-tyxml
+ lwt_camlp4
+ lwt_ppx
lwt_react
- lwt_ssl
- ocamlnet ocaml_pcre
ocsigen_server
ppx_deriving
];
diff --git a/pkgs/development/ocaml-modules/lwt/camlp4.nix b/pkgs/development/ocaml-modules/lwt/camlp4.nix
new file mode 100644
index 00000000000..53f0435f462
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwt/camlp4.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, buildDunePackage, camlp4 }:
+
+buildDunePackage rec {
+ pname = "lwt_camlp4";
+ version = "git-20180325";
+
+ src = fetchFromGitHub {
+ owner = "ocsigen";
+ repo = pname;
+ rev = "45f25a081e01071ab566924b48ba5f7553bb33ac";
+ sha256 = "1lv8z6ljfy47yvxmwf5jrvc5d3dc90r1n291x53j161sf22ddrk9";
+ };
+
+ minimumOCamlVersion = "4.02";
+
+ propagatedBuildInputs = [ camlp4 ];
+
+ meta = {
+ description = "Camlp4 syntax extension for Lwt (deprecated)";
+ license = lib.licenses.lgpl21;
+ inherit (src.meta) homepage;
+ maintainers = [ lib.maintainers.vbgl ];
+ };
+}
+
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 474f69ba918..147b4200cf6 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -1,42 +1,37 @@
-{ stdenv, fetchurl, ocaml, findlib, which, react, ssl
-, ocamlnet, ocaml_pcre, cryptokit, tyxml, ipaddr, zlib,
-libev, openssl, ocaml_sqlite3, tree, uutf, makeWrapper, camlp4
-, camlzip, pgocaml, lwt2, lwt_react, lwt_ssl
+{ stdenv, fetchFromGitHub, which, ocaml, findlib, lwt_react, ssl, lwt_ssl
+, lwt_log, ocamlnet, ocaml_pcre, cryptokit, tyxml, xml-light, ipaddr
+, pgocaml, camlzip, ocaml_sqlite3
+, makeWrapper
}:
+if !stdenv.lib.versionAtLeast ocaml.version "4.03"
+then throw "ocsigenserver is not available for OCaml ${ocaml.version}"
+else
+
let mkpath = p: n:
- let v = stdenv.lib.getVersion ocaml; in
- "${p}/lib/ocaml/${v}/site-lib/${n}";
+ "${p}/lib/ocaml/${ocaml.version}/site-lib/${n}";
in
-let param =
- if stdenv.lib.versionAtLeast ocaml.version "4.03" then {
- version = "2.9";
- sha256 = "0na3qa4h89f2wv31li63nfpg4151d0g8fply0bq59j3bhpyc85nd";
- buildInputs = [ lwt_react lwt_ssl ];
- ldpath = "";
- } else {
- version = "2.8";
- sha256 = "1v44qv2ixd7i1qinyhlzzqiffawsdl7xhhh6ysd7lf93kh46d5sy";
- buildInputs = [ lwt2 ];
- ldpath = "${mkpath lwt2 "lwt"}";
- }
-; in
+stdenv.mkDerivation rec {
+ version = "2.11.0";
+ name = "ocsigenserver-${version}";
-stdenv.mkDerivation {
- name = "ocsigenserver-${param.version}";
-
- src = fetchurl {
- url = "https://github.com/ocsigen/ocsigenserver/archive/${param.version}.tar.gz";
- inherit (param) sha256;
+ src = fetchFromGitHub {
+ owner = "ocsigen";
+ repo = "ocsigenserver";
+ rev = version;
+ sha256 = "0y1ngki7w9s10ip7nj9qb7254bd5sp01xxz16sxyj7l7qz603hy2";
};
- buildInputs = [ocaml which findlib react ssl
- ocamlnet ocaml_pcre cryptokit tyxml ipaddr zlib libev openssl
- ocaml_sqlite3 tree uutf makeWrapper camlp4 pgocaml camlzip ]
- ++ (param.buildInputs or []);
+ buildInputs = [ which makeWrapper ocaml findlib
+ lwt_react pgocaml camlzip ocaml_sqlite3
+ ];
- configureFlags = [ "--root $(out) --prefix /" ];
+ propagatedBuildInputs = [ cryptokit ipaddr lwt_log lwt_ssl ocamlnet
+ ocaml_pcre tyxml xml-light
+ ];
+
+ configureFlags = [ "--root $(out)" "--prefix /" ];
dontAddPrefix = true;
@@ -46,7 +41,7 @@ stdenv.mkDerivation {
''
rm -rf $out/var/run
wrapProgram $out/bin/ocsigenserver \
- --prefix CAML_LD_LIBRARY_PATH : "${mkpath ssl "ssl"}:${param.ldpath}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath cryptokit "cryptokit"}:${mkpath ocaml_sqlite3 "sqlite3"}"
+ --prefix CAML_LD_LIBRARY_PATH : "${mkpath ssl "ssl"}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath cryptokit "cryptokit"}:${mkpath ocaml_sqlite3 "sqlite3"}"
'';
dontPatchShebangs = true;
diff --git a/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
index ba7e3e93c98..4bc9b7f8629 100644
--- a/pkgs/development/ocaml-modules/ocsigen-start/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, buildOcaml, ocsigen-toolkit, eliom, ocaml_pcre, pgocaml, macaque, safepass, yojson, ocsigen_deriving, ocsigen_server
+{ stdenv, fetchFromGitHub, buildOcaml, ocsigen-toolkit, eliom, ocaml_pcre, pgocaml, macaque, safepass, yojson, ocsigen_deriving, ocsigen_server
, js_of_ocaml-camlp4
+, resource-pooling
}:
buildOcaml rec
{
name = "ocsigen-start";
- version = "1.1.0";
+ version = "1.5.0";
buildInputs = [ eliom js_of_ocaml-camlp4 ];
- propagatedBuildInputs = [ pgocaml macaque safepass ocaml_pcre ocsigen-toolkit yojson ocsigen_deriving ocsigen_server ];
+ propagatedBuildInputs = [ pgocaml macaque safepass ocaml_pcre ocsigen-toolkit yojson ocsigen_deriving ocsigen_server resource-pooling ];
patches = [ ./templates-dir.patch ];
@@ -16,13 +17,13 @@ buildOcaml rec
substituteInPlace "src/os_db.ml" --replace "citext" "text"
'';
- src = fetchurl {
- url = "https://github.com/ocsigen/${name}/archive/${version}.tar.gz";
- sha256 = "09cw6qzcld0m1qm66mbjg9gw8l6dynpw3fzhm3kfx5ldh0afgvjq";
+ src = fetchFromGitHub {
+ owner = "ocsigen";
+ repo = name;
+ rev = version;
+ sha256 = "07478hz5jhxb242hfr808516k81vdbzj4j6cycvls3b9lzbyszha";
};
- createFindlibDestdir = true;
-
meta = {
homepage = http://ocsigen.org/ocsigen-start;
description = "Eliom application skeleton";
diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
index 37c8c8f76c9..4e46c1534d8 100644
--- a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, buildOcaml, ocaml, opaline
+{ stdenv, fetchFromGitHub, ocaml, findlib, opaline
, calendar, eliom, js_of_ocaml-ppx_deriving_json
}:
-buildOcaml rec
-{
- name = "ocsigen-toolkit";
- version = "1.1.0";
+stdenv.mkDerivation rec {
+ pname = "ocsigen-toolkit";
+ name = "ocaml${ocaml.version}-${pname}-${version}";
+ version = "2.0.0";
propagatedBuildInputs = [ calendar eliom js_of_ocaml-ppx_deriving_json ];
- buildInputs = [ opaline ];
+ buildInputs = [ ocaml findlib opaline ];
installPhase =
''
@@ -17,16 +17,21 @@ buildOcaml rec
opaline -prefix $out
'';
- src = fetchurl {
- sha256 = "1i5806gaqqllgsgjz3lf9fwlffqg3vfl49msmhy7xvq2sncbxp8a";
- url = "https://github.com/ocsigen/${name}/archive/${version}.tar.gz";
+ src = fetchFromGitHub {
+ owner = "ocsigen";
+ repo = pname;
+ rev = version;
+ sha256 = "0gkiqw3xi31l9q9h89fnr5gfmxi9w9lg9rlv16h4ssjgrgq3y5cw";
};
+ createFindlibDestdir = true;
+
meta = {
homepage = http://ocsigen.org/ocsigen-toolkit/;
description = " User interface widgets for Ocsigen applications";
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.gal_bolle ];
+ inherit (ocaml.meta) platforms;
};
diff --git a/pkgs/development/pharo/vm/build-vm.nix b/pkgs/development/pharo/vm/build-vm.nix
index c67e5a9489b..76e52692383 100644
--- a/pkgs/development/pharo/vm/build-vm.nix
+++ b/pkgs/development/pharo/vm/build-vm.nix
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
# Create the script
cat > "$out/bin/${cmd}" < bin/pbpaste
- echo '#/bin/sh' > bin/pbcopy
+ echo '#${stdenv.shell}' > bin/pbpaste
+ echo '#${stdenv.shell}' > bin/pbcopy
chmod +x bin/{pbcopy,pbpaste}
export PATH=$(realpath bin):$PATH
'';
diff --git a/pkgs/development/python-modules/cmd2/old.nix b/pkgs/development/python-modules/cmd2/old.nix
index 7778e73f92f..c6ee1eaf8bc 100644
--- a/pkgs/development/python-modules/cmd2/old.nix
+++ b/pkgs/development/python-modules/cmd2/old.nix
@@ -19,8 +19,8 @@ buildPythonPackage rec {
postPatch = stdenv.lib.optional stdenv.isDarwin ''
# Fake the impure dependencies pbpaste and pbcopy
mkdir bin
- echo '#/bin/sh' > bin/pbpaste
- echo '#/bin/sh' > bin/pbcopy
+ echo '#${stdenv.shell}' > bin/pbpaste
+ echo '#${stdenv.shell}' > bin/pbcopy
chmod +x bin/{pbcopy,pbpaste}
export PATH=$(realpath bin):$PATH
'';
diff --git a/pkgs/development/python-modules/httmock/default.nix b/pkgs/development/python-modules/httmock/default.nix
index b50753c5586..53447544ca9 100644
--- a/pkgs/development/python-modules/httmock/default.nix
+++ b/pkgs/development/python-modules/httmock/default.nix
@@ -2,13 +2,13 @@
buildPythonPackage rec {
pname = "httmock";
- version = "1.2.6";
+ version = "1.3.0";
src = fetchFromGitHub {
owner = "patrys";
repo = "httmock";
rev = version;
- sha256 = "0iya8qsb2jm03s9p6sf1yzgm1irxl3dcq0k0a9ygl0skzjz5pvab";
+ sha256 = "1dy7pjq4gz476jcnbbpzk8w8qxr9l8wwgw9x2c7lf6fzsgnf404q";
};
checkInputs = [ requests ];
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index 52cac717780..e6a493f7b64 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "apache-libcloud";
- version = "2.3.0";
+ version = "2.4.0";
src = fetchPypi {
inherit pname version;
- sha256 = "0e2eee3802163bd0605975ed1e284cafc23203919bfa80c0cc5d3cd2543aaf97";
+ sha256 = "0daj3mkzw79v5zin2r1s2wkrz1hplfc16bwj4ss68i5qjq4l2p0j";
};
checkInputs = [ mock pytest pytestrunner requests-mock ];
diff --git a/pkgs/development/python-modules/libusb1/default.nix b/pkgs/development/python-modules/libusb1/default.nix
index 8a9b5da68ef..9b268686b8f 100644
--- a/pkgs/development/python-modules/libusb1/default.nix
+++ b/pkgs/development/python-modules/libusb1/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "libusb1";
- version = "1.6.6";
+ version = "1.7";
src = fetchPypi {
inherit pname version;
- sha256 = "a49917a2262cf7134396f6720c8be011f14aabfc5cdc53f880cc672c0f39d271";
+ sha256 = "03vylg5mdsxp2nyk8sm7yxmb470hcb92q263dfq8d6b9xp96ckwx";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 839e7f1e819..c489b2cd125 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -96,8 +96,8 @@ in buildPythonPackage rec {
# Until then we disable the tests.
+ optionalString isDarwin ''
# Fake the impure dependencies pbpaste and pbcopy
- echo "#!/bin/sh" > pbcopy
- echo "#!/bin/sh" > pbpaste
+ echo "#!${stdenv.shell}" > pbcopy
+ echo "#!${stdenv.shell}" > pbpaste
chmod a+x pbcopy pbpaste
export PATH=$(pwd):$PATH
'' + ''
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 04931b7df7f..20a9c7ca981 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
- sha256 = "c988d923e0b0627085b9700e2757003552ae9ccd7daa3a4b067ce60a0c7e642f";
+ sha256 = "0bv4gq60mrkw0r5kmakxrnfawlim01bjf3khp62p0qmhw0ixk269";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/prawcore/default.nix b/pkgs/development/python-modules/prawcore/default.nix
index 950d478b30f..f1ce7ba2a08 100644
--- a/pkgs/development/python-modules/prawcore/default.nix
+++ b/pkgs/development/python-modules/prawcore/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub
+{ stdenv, buildPythonPackage, fetchPypi
, requests
, testfixtures, mock, requests_toolbelt
, betamax, betamax-serializers, betamax-matchers
@@ -6,19 +6,13 @@
buildPythonPackage rec {
pname = "prawcore";
- version = "1.0.0";
+ version = "1.0.1";
- src = fetchFromGitHub {
- owner = "praw-dev";
- repo = "prawcore";
- rev = "v${version}";
- sha256 = "1j905wi5n2xgik3yk2hrv8dky318ahfjl5k1zs21mrl81jk0907f";
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "ab5558efb438aa73fc66c4178bfc809194dea3ce2addf4dec873de7e2fd2824e";
};
- postPatch = ''
- sed -i "s/'testfixtures >4.13.2, <6'/'testfixtures >4.13.2'/g" setup.py
- '';
-
propagatedBuildInputs = [
requests
];
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index 3ec5998cadd..4b128db82ea 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -1,12 +1,12 @@
{ stdenv, buildPythonPackage, fetchPypi, python, pytest, glibcLocales }:
buildPythonPackage rec {
- version = "3.5.6";
+ version = "3.5.7";
pname = "pyfakefs";
src = fetchPypi {
inherit pname version;
- sha256 = "efe9c318b2a37ae498a555889684c30ccb6a1b06bd391cb3baf0eb5ba68e9062";
+ sha256 = "8969435f8e7ca10f60c22096b02b15ad3af143de7d3bb4d73507b812bcdd8e37";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/pywal/default.nix b/pkgs/development/python-modules/pywal/default.nix
index 7f908c943ae..3fd61891878 100644
--- a/pkgs/development/python-modules/pywal/default.nix
+++ b/pkgs/development/python-modules/pywal/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "pywal";
- version = "3.2.1";
+ version = "3.3.0";
src = fetchPypi {
inherit pname version;
- sha256 = "1pj30h19ijwhmbm941yzbkgr19q06dhp9492h9nrqw1wfjfdbdic";
+ sha256 = "1drha9kshidw908k7h3gd9ws2bl64ms7bjcsa83pwb3hqa9bkspg";
};
preCheck = ''
diff --git a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
index 2c8b91edc65..2daa9766a3a 100644
--- a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
@@ -8,7 +8,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
- sha256 = "169afb3a3485775e5473934a0fdff1780e8bdcdd44db7ed286044a074331c729";
+ sha256 = "0af7651hfjh4hv97xns4vpf8n3kqy7ghyjlkfda5wxw56hxgp6hn";
};
propagatedBuildInputs = [ oset pybtex pybtex-docutils sphinx ];
diff --git a/pkgs/development/python-modules/tenacity/default.nix b/pkgs/development/python-modules/tenacity/default.nix
index 596fa6b825f..d34231ca9a9 100644
--- a/pkgs/development/python-modules/tenacity/default.nix
+++ b/pkgs/development/python-modules/tenacity/default.nix
@@ -5,11 +5,11 @@
buildPythonPackage rec {
pname = "tenacity";
- version = "5.0.2";
+ version = "5.0.3";
src = fetchPypi {
inherit pname version;
- sha256 = "1rjbj9wks7b7n75mbm01y0g2ngyai8yi05ck9gicmcdyix7vw42c";
+ sha256 = "12z36fq6qfn9sgd1snsfwrk5j2cw29bsb7mkb0g818fal41g7dr4";
};
nativeBuildInputs = [ pbr ];
diff --git a/pkgs/development/python-modules/tlsh/default.nix b/pkgs/development/python-modules/tlsh/default.nix
index 1b144b4db8d..848c114543d 100644
--- a/pkgs/development/python-modules/tlsh/default.nix
+++ b/pkgs/development/python-modules/tlsh/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
description = "Trend Micro Locality Sensitive Hash";
homepage = https://github.com/trendmicro/tlsh;
license = licenses.asl20;
- platforms = platforms.linux;
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index f095103ee04..c21e10bb061 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -75,6 +75,13 @@ cmakeConfigurePhase() {
# And build always Release, to ensure optimisation flags
cmakeFlags="-DCMAKE_BUILD_TYPE=${cmakeBuildType:-Release} -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags"
+ # Disable user package registry to avoid potential side effects
+ # and unecessary attempts to access non-existent home folder
+ # https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#disabling-the-package-registry
+ cmakeFlags="-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON $cmakeFlags"
+ cmakeFlags="-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON $cmakeFlags"
+ cmakeFlags="-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON $cmakeFlags"
+
if [ "$buildPhase" = ninjaBuildPhase ]; then
cmakeFlags="-GNinja $cmakeFlags"
fi
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 96e04407325..3651884253a 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,12 +1,12 @@
{ lib, python3Packages, stdenv, writeTextDir, substituteAll, targetPackages }:
python3Packages.buildPythonApplication rec {
- version = "0.49.0";
+ version = "0.49.1";
pname = "meson";
src = python3Packages.fetchPypi {
inherit pname version;
- sha256 = "0895igla1qav8k250z2qv03a0fg491wzzkfpbk50wwq848vmbkd0";
+ sha256 = "05wr4kn88aqq2cbzqx59zj56410c9d42wracb4cjs70mvq0lp50s";
};
postFixup = ''
diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix
index e70291ce51a..8cce2b88317 100644
--- a/pkgs/development/tools/build-managers/ninja/default.nix
+++ b/pkgs/development/tools/build-managers/ninja/default.nix
@@ -1,18 +1,27 @@
-{ stdenv, fetchFromGitHub, python, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }:
+{ stdenv, fetchFromGitHub, fetchpatch, python, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "ninja-${version}";
- version = "1.8.2";
+ version = "1.9.0";
src = fetchFromGitHub {
owner = "ninja-build";
repo = "ninja";
rev = "v${version}";
- sha256 = "16scq9hcq6c5ap6sy8j4qi75qps1zvrf3p79j1vbrvnqzp928i5f";
+ sha256 = "1q0nld3g0d210zmdjyjzjz2xb2bw1s58gj6zsx7p8q30yh0wg610";
};
+ patches = [
+ # Make builds reproducible by generating the same IDs from the same inputs.
+ (fetchpatch {
+ name = "consistent-doc-ids";
+ url = "https://github.com/ninja-build/ninja/commit/9aa947471fcfc607bec6d92a1a6eed5c692edbaf.patch";
+ sha256 = "0zsg46jflsh644jccrcgyfalr7fkzrv041kyi8644nyk923gcrl9";
+ })
+ ];
+
nativeBuildInputs = [ python re2c ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin ];
buildPhase = ''
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index e96852602fc..6d64c82f90f 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,46 +1,46 @@
{ stdenv, fetchurl,
- fetchHex, erlang, hermeticRebar3 ? true,
+ fetchHex, erlang,
tree, hexRegistrySnapshot }:
let
- version = "3.6.1";
+ version = "3.9.0";
bootstrapper = ./rebar3-nix-bootstrap;
erlware_commons = fetchHex {
pkg = "erlware_commons";
- version = "1.2.0";
- sha256 = "149kkn9gc9cjgvlmakygq475r63q2rry31s29ax0s425dh37sfl7";
+ version = "1.3.1";
+ sha256 = "7aada93f368d0a0430122e39931b7fb4ac9e94dbf043cdc980ad4330fd9cd166";
};
ssl_verify_fun = fetchHex {
pkg = "ssl_verify_fun";
version = "1.1.3";
- sha256 = "1zljxashfhqmiscmf298vhr880ppwbgi2rl3nbnyvsfn0mjhw4if";
+ sha256 = "2e120e6505d6e9ededb2836611dfe2f7028432dc280957998e154307b5ea92fe";
};
certifi = fetchHex {
pkg = "certifi";
- version = "2.0.0";
- sha256 = "075v7cvny52jbhnskchd3fp68fxgp7qfvdls0haamcycxrn0dipx";
+ version = "2.3.1";
+ sha256 = "e12d667d042c11d130594bae2b0097e63836fe8b1e6d6b2cc48f8bb7a2cf7d68";
};
providers = fetchHex {
pkg = "providers";
version = "1.7.0";
- sha256 = "19p4rbsdx9lm2ihgvlhxyld1q76kxpd7qwyqxxsgmhl5r8ln3rlb";
+ sha256 = "8be66129ca85c2fa74efd8737cdaedd31c1c1af51dd2fd601495a6def4cae4a6";
};
getopt = fetchHex {
pkg = "getopt";
version = "1.0.1";
- sha256 = "174mb46c2qd1f4a7507fng4vvscjh1ds7rykfab5rdnfp61spqak";
+ sha256 = "53e1ab83b9ceb65c9672d3e7a35b8092e9bdc9b3ee80721471a161c10c59959c";
};
bbmustache = fetchHex {
pkg = "bbmustache";
- version = "1.5.0";
- sha256 = "0xg3r4lxhqifrv32nm55b4zmkflacc1s964g15p6y6jfx6v4y1zd";
+ version = "1.6.0";
+ sha256 = "53e02d296512a57be03a98c91541b34d2ca64930268030b2d12364a0332015df";
};
relx = fetchHex {
pkg = "relx";
- version = "3.26.0";
- sha256 = "1f810rb01kdidpa985s321ycg3y4hvqpzbk263n6i1bfnqykkvv9";
+ version = "3.28.0";
+ sha256 = "8afb871c0a2a27f0063d973903fc64d2207bc705ecc3607462920683d24ac7b5";
};
cf = fetchHex {
pkg = "cf";
@@ -49,59 +49,71 @@ let
};
cth_readable = fetchHex {
pkg = "cth_readable";
- version = "1.4.2";
- sha256 = "1pjid4f60pp81ds01rqa6ybksrnzqriw3aibilld1asn9iabxkav";
+ version = "1.4.3";
+ sha256 = "0wr0hba6ka74s3628jrrd7ynjdh7syxigkh7ildg8fgi20ab88fd";
};
eunit_formatters = fetchHex {
pkg = "eunit_formatters";
version = "0.5.0";
sha256 = "1jb3hzb216r29x2h4pcjwfmx1k81431rgh5v0mp4x5146hhvmj6n";
};
- rebar3_hex = fetchHex {
- pkg = "rebar3_hex";
- version = "4.0.0";
- sha256 = "0k0ykx1lz62r03dpbi2zxsvrxgnr5hj67yky0hjrls09ynk4682v";
+ hex_core = fetchHex {
+ pkg = "hex_core";
+ version = "0.4.0";
+ sha256 = "8ace8c6cfa10df4cb8be876f42f7446890e124203c094cc7b4e7616fb8de5d7f";
+ };
+ parse_trans = fetchHex {
+ pkg = "parse_trans";
+ version = "3.3.0";
+ sha256 = "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960";
};
in
stdenv.mkDerivation {
name = "rebar3-${version}";
- inherit version;
+ inherit version erlang;
src = fetchurl {
url = "https://github.com/rebar/rebar3/archive/${version}.tar.gz";
- sha256 = "0cqhqymzh10pfyxqiy4hcg3d2myz3chx0y4m2ixmq8zk81acics0";
+ sha256 = "14prx5bkyy9sisnp5rj2058xpylq80xygsj1hq8b7m0awvj3r9wy";
};
inherit bootstrapper;
- patches = if hermeticRebar3 == true
- then [ ./hermetic-rebar3.patch ]
- else [];
+ buildInputs = [ erlang tree ];
- buildInputs = [ erlang tree ];
+ # TODO: Remove registry snapshot
propagatedBuildInputs = [ hexRegistrySnapshot ];
postPatch = ''
${erlang}/bin/escript ${bootstrapper} registry-only
+ mkdir -p _checkouts
mkdir -p _build/default/lib/
- mkdir -p _build/default/plugins
- cp --no-preserve=mode -R ${erlware_commons} _build/default/lib/erlware_commons
- cp --no-preserve=mode -R ${providers} _build/default/lib/providers
- cp --no-preserve=mode -R ${getopt} _build/default/lib/getopt
- cp --no-preserve=mode -R ${bbmustache} _build/default/lib/bbmustache
- cp --no-preserve=mode -R ${certifi} _build/default/lib/certifi
- cp --no-preserve=mode -R ${cf} _build/default/lib/cf
- cp --no-preserve=mode -R ${cth_readable} _build/default/lib/cth_readable
- cp --no-preserve=mode -R ${eunit_formatters} _build/default/lib/eunit_formatters
- cp --no-preserve=mode -R ${relx} _build/default/lib/relx
- cp --no-preserve=mode -R ${ssl_verify_fun} _build/default/lib/ssl_verify_fun
- cp --no-preserve=mode -R ${rebar3_hex} _build/default/plugins/rebar3_hex
+
+ cp --no-preserve=mode -R ${erlware_commons} _checkouts/erlware_commons
+ cp --no-preserve=mode -R ${providers} _checkouts/providers
+ cp --no-preserve=mode -R ${getopt} _checkouts/getopt
+ cp --no-preserve=mode -R ${bbmustache} _checkouts/bbmustache
+ cp --no-preserve=mode -R ${certifi} _checkouts/certifi
+ cp --no-preserve=mode -R ${cf} _checkouts/cf
+ cp --no-preserve=mode -R ${cth_readable} _checkouts/cth_readable
+ cp --no-preserve=mode -R ${eunit_formatters} _checkouts/eunit_formatters
+ cp --no-preserve=mode -R ${relx} _checkouts/relx
+ cp --no-preserve=mode -R ${ssl_verify_fun} _checkouts/ssl_verify_fun
+ cp --no-preserve=mode -R ${hex_core} _checkouts/hex_core
+ cp --no-preserve=mode -R ${parse_trans} _checkouts/parse_trans
+
+ # Bootstrap script expects the dependencies in _build/default/lib
+ # TODO: Make it accept checkouts?
+ for i in _checkouts/* ; do
+ ln -s $(pwd)/$i $(pwd)/_build/default/lib/
+ done
'';
buildPhase = ''
HOME=. escript bootstrap
'';
+
installPhase = ''
mkdir -p $out/bin
cp rebar3 $out/bin/rebar3
@@ -109,7 +121,7 @@ stdenv.mkDerivation {
meta = {
homepage = https://github.com/rebar/rebar3;
- description = "rebar 3.0 is an Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases";
+ description = "rebar 3 is an Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases";
longDescription = ''
rebar is a self-contained Erlang script, so it's easy to distribute or
diff --git a/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch b/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch
deleted file mode 100644
index 59004561126..00000000000
--- a/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-diff --git a/bootstrap b/bootstrap
-index 5dedd713..864056c4 100755
---- a/bootstrap
-+++ b/bootstrap
-@@ -101,7 +101,7 @@ extract(Binary) ->
- request(Url) ->
- HttpOptions = [{relaxed, true} | get_proxy_auth()],
-
-- case httpc:request(get, {Url, []},
-+ case rebar_hermeticity:request(get, {Url, []},
- HttpOptions,
- [{body_format, binary}],
- rebar) of
-diff --git a/src/rebar_hermeticity.erl b/src/rebar_hermeticity.erl
-index e69de29b..8f6cc7d0 100644
---- a/src/rebar_hermeticity.erl
-+++ b/src/rebar_hermeticity.erl
-@@ -0,0 +1,42 @@
-+%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
-+%% ex: ts=4 sw=4 et
-+%% -------------------------------------------------------------------
-+%%
-+%% rebar: Erlang Build Tools
-+%%
-+%% Copyright (c) 2016 Eric Merritt (eric@merritt.tech)
-+%%
-+%% Permission is hereby granted, free of charge, to any person obtaining a copy
-+%% of this software and associated documentation files (the "Software"), to deal
-+%% in the Software without restriction, including without limitation the rights
-+%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-+%% copies of the Software, and to permit persons to whom the Software is
-+%% furnished to do so, subject to the following conditions:
-+%%
-+%% The above copyright notice and this permission notice shall be included in
-+%% all copies or substantial portions of the Software.
-+%%
-+%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-+%% THE SOFTWARE.
-+%% -------------------------------------------------------------------
-+-module(rebar_hermeticity).
-+
-+-export([request/5]).
-+
-+-include("rebar.hrl").
-+
-+%% ====================================================================
-+%% Public API
-+%% ====================================================================
-+
-+request(Method, {Url, _Headers}, _HTTPOptions, _Options, _Profile) ->
-+ ?ERROR("A request is being made that violates Nix hermicity "
-+ "This request has been stopped. Details of the request "
-+ "are as follows:", []),
-+ ?ERROR("Request: ~p ~s", [Method, Url]),
-+ erlang:halt(1).
-diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl
-index 2cf167ee..6080aaca 100644
---- a/src/rebar_pkg_resource.erl
-+++ b/src/rebar_pkg_resource.erl
-@@ -127,7 +127,7 @@ make_vsn(_) ->
- request(Url, ETag) ->
- HttpOptions = [{ssl, ssl_opts(Url)},
- {relaxed, true} | rebar_utils:get_proxy_auth()],
-- case httpc:request(get, {Url, [{"if-none-match", "\"" ++ ETag ++ "\""}
-+ case rebar_hermeticity:request(get, {Url, [{"if-none-match", "\"" ++ ETag ++ "\""}
- || ETag =/= false] ++
- [{"User-Agent", rebar_utils:user_agent()}]},
- HttpOptions, [{body_format, binary}], rebar) of
-diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl
-index 17446311..4d44d794 100644
---- a/src/rebar_prv_update.erl
-+++ b/src/rebar_prv_update.erl
-@@ -38,6 +38,8 @@ init(State) ->
- {ok, State1}.
-
- -spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
-+do(State) -> {ok, State}.
-+-ifdef(non_hermetic).
- do(State) ->
- try
- case rebar_packages:registry_dir(State) of
-@@ -53,7 +55,7 @@ do(State) ->
- {ok, Url} ->
- HttpOptions = [{relaxed, true} | rebar_utils:get_proxy_auth()],
- ?DEBUG("Fetching registry from ~p", [Url]),
-- case httpc:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]},
-+ case rebar_hermeticity:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]},
- HttpOptions, [{stream, TmpFile}, {sync, true}],
- rebar) of
- {ok, saved_to_file} ->
-@@ -77,6 +79,7 @@ do(State) ->
- ?DEBUG("Error creating package index: ~p ~p", [C, S]),
- throw(?PRV_ERROR(package_index_write))
- end.
-+-endif.
-
- -spec format_error(any()) -> iolist().
- format_error({package_parse_cdn, Uri}) ->
diff --git a/pkgs/development/tools/erlang/hex2nix/default.nix b/pkgs/development/tools/erlang/hex2nix/default.nix
index e21749f90d0..5a24c3c9525 100644
--- a/pkgs/development/tools/erlang/hex2nix/default.nix
+++ b/pkgs/development/tools/erlang/hex2nix/default.nix
@@ -1,29 +1,21 @@
-{ fetchFromGitHub, buildRebar3,
+{ fetchFromGitHub, fetchRebar3Deps, rebar3Relx }:
- # Erlang dependencies:
- ibrowse_4_2_2,
- getopt_0_8_2,
- erlware_commons_1_0_0,
- jsx_2_8_0 }:
-
-buildRebar3 rec {
+rebar3Relx rec {
name = "hex2nix";
version = "0.0.6-a31eadd7";
+ releaseType = "escript";
+
+ checkouts = fetchRebar3Deps {
+ inherit name version;
+ src = "${src}/rebar.config";
+ sha256 = "1b59vk6ynakdiwqd1s6axaj9bvkaaq7ll28b48nv613z892h7nm5";
+ };
+
src = fetchFromGitHub {
owner = "erlang-nix";
repo = "hex2nix";
rev = "a31eadd7af2cbdac1b87991b378e98ea4fb40ae0";
sha256 = "1hnkrksyrbpq2gq25rfsrnm86n0g3biab88gswm3zj88ddrz6dyk";
};
-
- beamDeps = [ ibrowse_4_2_2 jsx_2_8_0 erlware_commons_1_0_0 getopt_0_8_2 ];
-
- enableDebugInfo = true;
-
- installPhase = ''
- runHook preInstall
- make PREFIX=$out install
- runHook postInstall
- '';
- }
+}
diff --git a/pkgs/development/tools/erlang/relx-exe/default.nix b/pkgs/development/tools/erlang/relx-exe/default.nix
index 9bbdc8c8334..2c32cc5c670 100644
--- a/pkgs/development/tools/erlang/relx-exe/default.nix
+++ b/pkgs/development/tools/erlang/relx-exe/default.nix
@@ -1,49 +1,19 @@
-{ stdenv, buildHex
+{ stdenv, fetchHex, fetchRebar3Deps, rebar3Relx }:
-, getopt_0_8_2, erlware_commons_1_0_0, cf_0_2_2 }:
-
-let
- providers_1_6_0 = buildHex {
- name = "providers";
- version = "1.6.0";
- sha256 = "0byfa1h57n46jilz4q132j0vk3iqc0v1vip89li38gb1k997cs0g";
- beamDeps = [ getopt_0_8_2 ];
- };
- bbmustache_1_0_4 = buildHex {
- name = "bbmustache";
- version = "1.0.4";
- sha256 = "04lvwm7f78x8bys0js33higswjkyimbygp4n72cxz1kfnryx9c03";
- };
-
-in
-buildHex rec {
+rebar3Relx rec {
name = "relx-exe";
version = "3.23.1";
- hexPkg = "relx";
- sha256 = "13j7wds2d7b8v3r9pwy3zhwhzywgwhn6l9gm3slqzyrs1jld0a9d";
+ releaseType = "escript";
- beamDeps = [
- providers_1_6_0
- getopt_0_8_2
- erlware_commons_1_0_0
- cf_0_2_2
- bbmustache_1_0_4
- ];
-
- postBuild = ''
- HOME=. rebar3 escriptize
- '';
-
- postInstall = ''
- mkdir -p "$out/bin"
- cp -r "_build/default/bin/relx" "$out/bin/relx"
- '';
-
- meta = {
- description = "Executable command for Relx";
- license = stdenv.lib.licenses.asl20;
- homepage = "https://github.com/erlware/relx";
- maintainers = with stdenv.lib.maintainers; [ ericbmerritt ];
+ src = fetchHex {
+ pkg = "relx";
+ sha256 = "13j7wds2d7b8v3r9pwy3zhwhzywgwhn6l9gm3slqzyrs1jld0a9d";
+ version = "3.23.1";
};
+ checkouts = fetchRebar3Deps {
+ inherit name version;
+ src = "${src}/rebar.lock";
+ sha256 = "046b1lb9rymndlvzmin3ppa3vkssjqspyfp98869k11s5avg76hd";
+ };
}
diff --git a/pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch b/pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
new file mode 100644
index 00000000000..5a047b0f070
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
@@ -0,0 +1,517 @@
+From 6737a6b34f4823deb7142f27b4074831a37ac1e1 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu"
+Date: Fri, 20 Jul 2018 09:18:47 -0700
+Subject: [PATCH] x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed
+
+When -z separate-code, which is enabled by default for Linux/x86, is
+used to create executable, ld won't place any data in the code-only
+PT_LOAD segment. If there are no data sections placed before the
+code-only PT_LOAD segment, the program headers won't be mapped into
+any PT_LOAD segment. When the executable tries to access it (based
+on the program header address passed in AT_PHDR), it will lead to
+segfault. This patch inserts a GNU_PROPERTY_X86_ISA_1_USED note if
+there may be no data sections before the text section so that the
+first PT_LOAD segment won't be code-only and will contain the program
+header.
+
+Testcases are adjusted to either pass "-z noseparate-code" to ld or
+discard the .note.gnu.property section. A Linux/x86 run-time test is
+added.
+
+bfd/
+
+ PR ld/23428
+ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the
+ separate code program header is needed, make sure that the first
+ read-only PT_LOAD segment has no code by adding a
+ GNU_PROPERTY_X86_ISA_1_USED note.
+
+ld/
+
+ PR ld/23428
+ * testsuite/ld-elf/linux-x86.S: New file.
+ * testsuite/ld-elf/linux-x86.exp: Likewise.
+ * testsuite/ld-elf/pr23428.c: Likewise.
+ * testsuite/ld-elf/sec64k.exp: Pass "-z noseparate-code" to ld
+ for Linux/x86 targets.
+ * testsuite/ld-i386/abs-iamcu.d: Likewise.
+ * testsuite/ld-i386/abs.d: Likewise.
+ * testsuite/ld-i386/pr12718.d: Likewise.
+ * testsuite/ld-i386/pr12921.d: Likewise.
+ * testsuite/ld-x86-64/abs-k1om.d: Likewise.
+ * testsuite/ld-x86-64/abs-l1om.d: Likewise.
+ * testsuite/ld-x86-64/abs.d: Likewise.
+ * testsuite/ld-x86-64/pr12718.d: Likewise.
+ * testsuite/ld-x86-64/pr12921.d: Likewise.
+ * testsuite/ld-linkonce/zeroeh.ld: Discard .note.gnu.property
+ section.
+ * testsuite/ld-scripts/print-memory-usage.t: Likewise.
+ * testsuite/ld-scripts/size-2.t: Likewise.
+ * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Use ld
+ to create executable if language is "asm".
+
+(cherry picked from commit 241e64e3b42cd9eba514b8e0ad2ef39a337f10a5)
+---
+ bfd/elfxx-x86.c | 60 ++++++++++++++-----
+ ld/testsuite/ld-elf/linux-x86.S | 63 ++++++++++++++++++++
+ ld/testsuite/ld-elf/linux-x86.exp | 46 ++++++++++++++
+ ld/testsuite/ld-elf/pr23428.c | 43 +++++++++++++
+ ld/testsuite/ld-elf/sec64k.exp | 2 +
+ ld/testsuite/ld-i386/abs-iamcu.d | 2 +-
+ ld/testsuite/ld-i386/abs.d | 2 +-
+ ld/testsuite/ld-i386/pr12718.d | 2 +-
+ ld/testsuite/ld-i386/pr12921.d | 2 +-
+ ld/testsuite/ld-linkonce/zeroeh.ld | 1 +
+ ld/testsuite/ld-scripts/print-memory-usage.t | 2 +
+ ld/testsuite/ld-scripts/size-2.t | 1 +
+ ld/testsuite/ld-x86-64/abs-k1om.d | 2 +-
+ ld/testsuite/ld-x86-64/abs-l1om.d | 2 +-
+ ld/testsuite/ld-x86-64/abs.d | 2 +-
+ ld/testsuite/ld-x86-64/pr12718.d | 2 +-
+ ld/testsuite/ld-x86-64/pr12921.d | 2 +-
+ ld/testsuite/lib/ld-lib.exp | 5 +-
+ 20 files changed, 248 insertions(+), 25 deletions(-)
+ create mode 100644 ld/testsuite/ld-elf/linux-x86.S
+ create mode 100644 ld/testsuite/ld-elf/linux-x86.exp
+ create mode 100644 ld/testsuite/ld-elf/pr23428.c
+
+diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
+index a2497aab86..2e4ff88f1f 100644
+--- a/bfd/elfxx-x86.c
++++ b/bfd/elfxx-x86.c
+@@ -2524,6 +2524,7 @@ _bfd_x86_elf_link_setup_gnu_properties
+ const struct elf_backend_data *bed;
+ unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2;
+ unsigned int got_align;
++ bfd_boolean has_text = FALSE;
+
+ features = 0;
+ if (info->ibt)
+@@ -2538,24 +2539,59 @@ _bfd_x86_elf_link_setup_gnu_properties
+ if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour
+ && bfd_count_sections (pbfd) != 0)
+ {
++ if (!has_text)
++ {
++ /* Check if there is no non-empty text section. */
++ sec = bfd_get_section_by_name (pbfd, ".text");
++ if (sec != NULL && sec->size != 0)
++ has_text = TRUE;
++ }
++
+ ebfd = pbfd;
+
+ if (elf_properties (pbfd) != NULL)
+ break;
+ }
+
+- if (ebfd != NULL && features)
++ bed = get_elf_backend_data (info->output_bfd);
++
++ htab = elf_x86_hash_table (info, bed->target_id);
++ if (htab == NULL)
++ return pbfd;
++
++ if (ebfd != NULL)
+ {
+- /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and
+- GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
+- prop = _bfd_elf_get_property (ebfd,
+- GNU_PROPERTY_X86_FEATURE_1_AND,
+- 4);
+- prop->u.number |= features;
+- prop->pr_kind = property_number;
++ prop = NULL;
++ if (features)
++ {
++ /* If features is set, add GNU_PROPERTY_X86_FEATURE_1_IBT and
++ GNU_PROPERTY_X86_FEATURE_1_SHSTK. */
++ prop = _bfd_elf_get_property (ebfd,
++ GNU_PROPERTY_X86_FEATURE_1_AND,
++ 4);
++ prop->u.number |= features;
++ prop->pr_kind = property_number;
++ }
++ else if (has_text
++ && elf_properties (ebfd) == NULL
++ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL
++ && !htab->elf.dynamic_sections_created
++ && !info->traditional_format
++ && (info->output_bfd->flags & D_PAGED) != 0
++ && info->separate_code)
++ {
++ /* If the separate code program header is needed, make sure
++ that the first read-only PT_LOAD segment has no code by
++ adding a GNU_PROPERTY_X86_ISA_1_USED note. */
++ prop = _bfd_elf_get_property (ebfd,
++ GNU_PROPERTY_X86_ISA_1_USED,
++ 4);
++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
++ prop->pr_kind = property_number;
++ }
+
+ /* Create the GNU property note section if needed. */
+- if (pbfd == NULL)
++ if (prop != NULL && pbfd == NULL)
+ {
+ sec = bfd_make_section_with_flags (ebfd,
+ NOTE_GNU_PROPERTY_SECTION_NAME,
+@@ -2581,12 +2617,6 @@ error_alignment:
+
+ pbfd = _bfd_elf_link_setup_gnu_properties (info);
+
+- bed = get_elf_backend_data (info->output_bfd);
+-
+- htab = elf_x86_hash_table (info, bed->target_id);
+- if (htab == NULL)
+- return pbfd;
+-
+ htab->r_info = init_table->r_info;
+ htab->r_sym = init_table->r_sym;
+
+diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S
+new file mode 100644
+index 0000000000..bdf40c6e01
+--- /dev/null
++++ b/ld/testsuite/ld-elf/linux-x86.S
+@@ -0,0 +1,63 @@
++ .text
++ .globl _start
++ .type _start,@function
++ .p2align 4
++_start:
++ xorl %ebp, %ebp
++#ifdef __LP64__
++ popq %rdi
++ movq %rsp, %rsi
++ andq $~15, %rsp
++#elif defined __x86_64__
++ mov (%rsp),%edi
++ addl $4,%esp
++ movl %esp, %esi
++ andl $~15, %esp
++#else
++ popl %esi
++ movl %esp, %ecx
++ andl $~15, %esp
++
++ subl $8,%esp
++ pushl %ecx
++ pushl %esi
++#endif
++
++ call main
++
++ hlt
++
++ .type syscall, @function
++ .globl syscall
++ .p2align 4
++syscall:
++#ifdef __x86_64__
++ movq %rdi, %rax /* Syscall number -> rax. */
++ movq %rsi, %rdi /* shift arg1 - arg5. */
++ movq %rdx, %rsi
++ movq %rcx, %rdx
++ movq %r8, %r10
++ movq %r9, %r8
++ movq 8(%rsp),%r9 /* arg6 is on the stack. */
++ syscall /* Do the system call. */
++#else
++ push %ebp
++ push %edi
++ push %esi
++ push %ebx
++ mov 0x2c(%esp),%ebp
++ mov 0x28(%esp),%edi
++ mov 0x24(%esp),%esi
++ mov 0x20(%esp),%edx
++ mov 0x1c(%esp),%ecx
++ mov 0x18(%esp),%ebx
++ mov 0x14(%esp),%eax
++ int $0x80
++ pop %ebx
++ pop %esi
++ pop %edi
++ pop %ebp
++#endif
++ ret /* Return to caller. */
++ .size syscall, .-syscall
++ .section .note.GNU-stack,"",@progbits
+diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp
+new file mode 100644
+index 0000000000..36217c6fb4
+--- /dev/null
++++ b/ld/testsuite/ld-elf/linux-x86.exp
+@@ -0,0 +1,46 @@
++# Expect script for simple native Linux/x86 tests.
++# Copyright (C) 2018 Free Software Foundation, Inc.
++#
++# This file is part of the GNU Binutils.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
++# MA 02110-1301, USA.
++#
++
++# Test very simple native Linux/x86 programs with linux-x86.S.
++if { ![isnative] || [which $CC] == 0 \
++ || (![istarget "i?86-*-linux*"] \
++ && ![istarget "x86_64-*-linux*"] \
++ && ![istarget "amd64-*-linux*"]) } {
++ return
++}
++
++# Add $PLT_CFLAGS if PLT is expected.
++global PLT_CFLAGS
++# Add $NOPIE_CFLAGS and $NOPIE_LDFLAGS if non-PIE is required.
++global NOPIE_CFLAGS NOPIE_LDFLAGS
++
++run_ld_link_exec_tests [list \
++ [list \
++ "Run PR ld/23428 test" \
++ "--no-dynamic-linker -z separate-code" \
++ "" \
++ { linux-x86.S pr23428.c } \
++ "pr23428" \
++ "pass.out" \
++ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \
++ "asm" \
++ ] \
++]
+diff --git a/ld/testsuite/ld-elf/pr23428.c b/ld/testsuite/ld-elf/pr23428.c
+new file mode 100644
+index 0000000000..3631ed7926
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr23428.c
+@@ -0,0 +1,43 @@
++#include
++#include
++#include
++
++#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1)
++
++int
++main (int argc, char **argv)
++{
++ char **ev = &argv[argc + 1];
++ char **evp = ev;
++ ElfW(auxv_t) *av;
++ const ElfW(Phdr) *phdr = NULL;
++ size_t phnum = 0;
++ size_t loadnum = 0;
++ int fd = STDOUT_FILENO;
++ size_t i;
++
++ while (*evp++ != NULL)
++ ;
++
++ av = (ElfW(auxv_t) *) evp;
++
++ for (; av->a_type != AT_NULL; ++av)
++ switch (av->a_type)
++ {
++ case AT_PHDR:
++ phdr = (const void *) av->a_un.a_val;
++ break;
++ case AT_PHNUM:
++ phnum = av->a_un.a_val;
++ break;
++ }
++
++ for (i = 0; i < phnum; i++, phdr++)
++ if (phdr->p_type == PT_LOAD)
++ loadnum++;
++
++ syscall (SYS_write, fd, STRING_COMMA_LEN ("PASS\n"));
++
++ syscall (SYS_exit, !loadnum);
++ return 0;
++}
+diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp
+index b58139e9dd..3909c0eaa1 100644
+--- a/ld/testsuite/ld-elf/sec64k.exp
++++ b/ld/testsuite/ld-elf/sec64k.exp
+@@ -177,6 +177,8 @@ if { ![istarget "d10v-*-*"]
+ foreach sfile $sfiles { puts $ofd "#source: $sfile" }
+ if { [istarget spu*-*-*] } {
+ puts $ofd "#ld: --local-store 0:0"
++ } elseif { [istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"] } {
++ puts $ofd "#ld: -z noseparate-code"
+ } else {
+ puts $ofd "#ld:"
+ }
+diff --git a/ld/testsuite/ld-i386/abs-iamcu.d b/ld/testsuite/ld-i386/abs-iamcu.d
+index ac9beff2e5..aba7d6b03f 100644
+--- a/ld/testsuite/ld-i386/abs-iamcu.d
++++ b/ld/testsuite/ld-i386/abs-iamcu.d
+@@ -2,7 +2,7 @@
+ #source: abs.s
+ #source: zero.s
+ #as: --32 -march=iamcu
+-#ld: -m elf_iamcu
++#ld: -m elf_iamcu -z noseparate-code
+ #objdump: -rs -j .text
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-i386/abs.d b/ld/testsuite/ld-i386/abs.d
+index e660aca524..191ee4456a 100644
+--- a/ld/testsuite/ld-i386/abs.d
++++ b/ld/testsuite/ld-i386/abs.d
+@@ -2,7 +2,7 @@
+ #as: --32
+ #source: abs.s
+ #source: zero.s
+-#ld: -melf_i386
++#ld: -melf_i386 -z noseparate-code
+ #objdump: -rs
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-i386/pr12718.d b/ld/testsuite/ld-i386/pr12718.d
+index ec51540a42..7eba52d95e 100644
+--- a/ld/testsuite/ld-i386/pr12718.d
++++ b/ld/testsuite/ld-i386/pr12718.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12718
+ #as: --32
+-#ld: -melf_i386
++#ld: -melf_i386 -z noseparate-code
+ #readelf: -S
+
+ There are 5 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/ld-i386/pr12921.d b/ld/testsuite/ld-i386/pr12921.d
+index e49079b3c8..ea2da3eb51 100644
+--- a/ld/testsuite/ld-i386/pr12921.d
++++ b/ld/testsuite/ld-i386/pr12921.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12921
+ #as: --32
+-#ld: -melf_i386
++#ld: -melf_i386 -z noseparate-code
+ #readelf: -S --wide
+
+ There are 7 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/ld-linkonce/zeroeh.ld b/ld/testsuite/ld-linkonce/zeroeh.ld
+index b22eaa12c9..f89855a08f 100644
+--- a/ld/testsuite/ld-linkonce/zeroeh.ld
++++ b/ld/testsuite/ld-linkonce/zeroeh.ld
+@@ -2,4 +2,5 @@ SECTIONS {
+ .text 0xa00 : { *(.text); *(.gnu.linkonce.t.*) }
+ .gcc_except_table 0x2000 : { *(.gcc_except_table) }
+ .eh_frame 0x4000 : { *(.eh_frame) }
++ /DISCARD/ : { *(.note.gnu.property) }
+ }
+diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t
+index 5ff057a5e3..6eda1d2dc4 100644
+--- a/ld/testsuite/ld-scripts/print-memory-usage.t
++++ b/ld/testsuite/ld-scripts/print-memory-usage.t
+@@ -11,4 +11,6 @@ SECTIONS
+ *(.data)
+ *(.rw)
+ }
++
++ /DISCARD/ : { *(.note.gnu.property) }
+ }
+diff --git a/ld/testsuite/ld-scripts/size-2.t b/ld/testsuite/ld-scripts/size-2.t
+index 723863995e..c3c4eddab4 100644
+--- a/ld/testsuite/ld-scripts/size-2.t
++++ b/ld/testsuite/ld-scripts/size-2.t
+@@ -18,4 +18,5 @@ SECTIONS
+ LONG (SIZEOF (.tdata))
+ LONG (SIZEOF (.tbss))
+ } :image
++ /DISCARD/ : { *(.note.gnu.property) }
+ }
+diff --git a/ld/testsuite/ld-x86-64/abs-k1om.d b/ld/testsuite/ld-x86-64/abs-k1om.d
+index 2c26639fc0..6b0fde0eed 100644
+--- a/ld/testsuite/ld-x86-64/abs-k1om.d
++++ b/ld/testsuite/ld-x86-64/abs-k1om.d
+@@ -2,7 +2,7 @@
+ #source: ../ld-i386/abs.s
+ #source: ../ld-i386/zero.s
+ #as: --64 -march=k1om
+-#ld: -m elf_k1om
++#ld: -m elf_k1om -z noseparate-code
+ #objdump: -rs -j .text
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-x86-64/abs-l1om.d b/ld/testsuite/ld-x86-64/abs-l1om.d
+index 1fb96d44b7..f87869f9d0 100644
+--- a/ld/testsuite/ld-x86-64/abs-l1om.d
++++ b/ld/testsuite/ld-x86-64/abs-l1om.d
+@@ -2,7 +2,7 @@
+ #source: ../ld-i386/abs.s
+ #source: ../ld-i386/zero.s
+ #as: --64 -march=l1om
+-#ld: -m elf_l1om
++#ld: -m elf_l1om -z noseparate-code
+ #objdump: -rs -j .text
+ #target: x86_64-*-linux*
+
+diff --git a/ld/testsuite/ld-x86-64/abs.d b/ld/testsuite/ld-x86-64/abs.d
+index b24b018639..d99ab4685d 100644
+--- a/ld/testsuite/ld-x86-64/abs.d
++++ b/ld/testsuite/ld-x86-64/abs.d
+@@ -1,7 +1,7 @@
+ #name: Absolute non-overflowing relocs
+ #source: ../ld-i386/abs.s
+ #source: ../ld-i386/zero.s
+-#ld:
++#ld: -z noseparate-code
+ #objdump: -rs
+
+ .*: file format .*
+diff --git a/ld/testsuite/ld-x86-64/pr12718.d b/ld/testsuite/ld-x86-64/pr12718.d
+index 07d17325d0..2c503ffbaa 100644
+--- a/ld/testsuite/ld-x86-64/pr12718.d
++++ b/ld/testsuite/ld-x86-64/pr12718.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12718
+ #as: --64
+-#ld: -melf_x86_64
++#ld: -melf_x86_64 -z noseparate-code
+ #readelf: -S --wide
+
+ There are 5 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/ld-x86-64/pr12921.d b/ld/testsuite/ld-x86-64/pr12921.d
+index 6fe6abee09..1162d55818 100644
+--- a/ld/testsuite/ld-x86-64/pr12921.d
++++ b/ld/testsuite/ld-x86-64/pr12921.d
+@@ -1,6 +1,6 @@
+ #name: PR ld/12921
+ #as: --64
+-#ld: -melf_x86_64
++#ld: -melf_x86_64 -z noseparate-code
+ #readelf: -S --wide
+
+ There are 7 section headers, starting at offset 0x[0-9a-f]+:
+diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
+index cfbefe9028..1095091882 100644
+--- a/ld/testsuite/lib/ld-lib.exp
++++ b/ld/testsuite/lib/ld-lib.exp
+@@ -1482,7 +1482,10 @@ proc run_ld_link_exec_tests { ldtests args } {
+ continue
+ }
+
+- if { [ string match "c++" $lang ] } {
++ if { [ string match "asm" $lang ] } {
++ set link_proc ld_link
++ set link_cmd $ld
++ } elseif { [ string match "c++" $lang ] } {
+ set link_proc ld_link
+ set link_cmd $CXX
+ } else {
+--
+2.20.1
+
diff --git a/pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch b/pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
new file mode 100644
index 00000000000..ca50d9a57cd
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
@@ -0,0 +1,137 @@
+From 28a27bdbb9500797e6767f80c8128b09112aeed5 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu"
+Date: Sat, 11 Aug 2018 06:41:33 -0700
+Subject: [PATCH] x86: Properly add X86_ISA_1_NEEDED property
+
+Existing properties may be removed during property merging. We avoid
+adding X86_ISA_1_NEEDED property only if existing properties won't be
+removed.
+
+bfd/
+
+ PR ld/23428
+ * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
+ add X86_ISA_1_NEEDED property only if existing properties won't
+ be removed.
+
+ld/
+
+ PR ld/23428
+ * testsuite/ld-elf/dummy.s: New file.
+ * testsuite/ld-elf/linux-x86.S: Add X86_FEATURE_1_AND property.
+ * testsuite/ld-elf/linux-x86.exp: Add dummy.s to pr23428.
+
+(cherry picked from commit ab9e342807d132182892de1be1a92d6e91a5c1da)
+---
+ bfd/elfxx-x86.c | 28 ++++++++++++++++++++++------
+ ld/testsuite/ld-elf/dummy.s | 1 +
+ ld/testsuite/ld-elf/linux-x86.S | 28 ++++++++++++++++++++++++++++
+ ld/testsuite/ld-elf/linux-x86.exp | 2 +-
+ 6 files changed, 66 insertions(+), 7 deletions(-)
+ create mode 100644 ld/testsuite/ld-elf/dummy.s
+
+diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
+index 7ccfd25815..2d8f7b640b 100644
+--- a/bfd/elfxx-x86.c
++++ b/bfd/elfxx-x86.c
+@@ -2588,7 +2588,6 @@ _bfd_x86_elf_link_setup_gnu_properties
+ prop->pr_kind = property_number;
+ }
+ else if (has_text
+- && elf_properties (ebfd) == NULL
+ && elf_tdata (info->output_bfd)->o->build_id.sec == NULL
+ && !htab->elf.dynamic_sections_created
+ && !info->traditional_format
+@@ -2598,11 +2597,28 @@ _bfd_x86_elf_link_setup_gnu_properties
+ /* If the separate code program header is needed, make sure
+ that the first read-only PT_LOAD segment has no code by
+ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */
+- prop = _bfd_elf_get_property (ebfd,
+- GNU_PROPERTY_X86_ISA_1_NEEDED,
+- 4);
+- prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
+- prop->pr_kind = property_number;
++ elf_property_list *list;
++ bfd_boolean need_property = TRUE;
++
++ for (list = elf_properties (ebfd); list; list = list->next)
++ switch (list->property.pr_type)
++ {
++ case GNU_PROPERTY_STACK_SIZE:
++ case GNU_PROPERTY_NO_COPY_ON_PROTECTED:
++ case GNU_PROPERTY_X86_ISA_1_NEEDED:
++ /* These properties won't be removed during merging. */
++ need_property = FALSE;
++ break;
++ }
++
++ if (need_property)
++ {
++ prop = _bfd_elf_get_property (ebfd,
++ GNU_PROPERTY_X86_ISA_1_NEEDED,
++ 4);
++ prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
++ prop->pr_kind = property_number;
++ }
+ }
+
+ /* Create the GNU property note section if needed. */
+diff --git a/ld/testsuite/ld-elf/dummy.s b/ld/testsuite/ld-elf/dummy.s
+new file mode 100644
+index 0000000000..403f98000d
+--- /dev/null
++++ b/ld/testsuite/ld-elf/dummy.s
+@@ -0,0 +1 @@
++# Dummy
+diff --git a/ld/testsuite/ld-elf/linux-x86.S b/ld/testsuite/ld-elf/linux-x86.S
+index bdf40c6e01..d94abc1106 100644
+--- a/ld/testsuite/ld-elf/linux-x86.S
++++ b/ld/testsuite/ld-elf/linux-x86.S
+@@ -61,3 +61,31 @@ syscall:
+ ret /* Return to caller. */
+ .size syscall, .-syscall
+ .section .note.GNU-stack,"",@progbits
++
++ .section ".note.gnu.property", "a"
++#ifdef __LP64__
++ .p2align 3
++#else
++ .p2align 2
++#endif
++ .long 1f - 0f /* name length */
++ .long 5f - 2f /* data length */
++ .long 5 /* note type */
++0: .asciz "GNU" /* vendor name */
++1:
++#ifdef __LP64__
++ .p2align 3
++#else
++ .p2align 2
++#endif
++2: .long 0xc0000002 /* pr_type. */
++ .long 4f - 3f /* pr_datasz. */
++3:
++ .long 0x2
++4:
++#ifdef __LP64__
++ .p2align 3
++#else
++ .p2align 2
++#endif
++5:
+diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp
+index 36217c6fb4..f6f5a80853 100644
+--- a/ld/testsuite/ld-elf/linux-x86.exp
++++ b/ld/testsuite/ld-elf/linux-x86.exp
+@@ -37,7 +37,7 @@ run_ld_link_exec_tests [list \
+ "Run PR ld/23428 test" \
+ "--no-dynamic-linker -z separate-code" \
+ "" \
+- { linux-x86.S pr23428.c } \
++ { linux-x86.S pr23428.c dummy.s } \
+ "pr23428" \
+ "pass.out" \
+ "$NOPIE_CFLAGS -fno-asynchronous-unwind-tables" \
+--
+2.20.1
+
diff --git a/pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch b/pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
new file mode 100644
index 00000000000..866d6db8ce2
--- /dev/null
+++ b/pkgs/development/tools/misc/binutils/0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
@@ -0,0 +1,583 @@
+From d55c3e36094f06bb1fb02f5eac19fdccf1d91f7e Mon Sep 17 00:00:00 2001
+From: "H.J. Lu"
+Date: Wed, 8 Aug 2018 06:09:15 -0700
+Subject: [PATCH] x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Without the GNU_PROPERTY_X86_ISA_1_USED property, all ISAs may be used.
+If a bit in the GNU_PROPERTY_X86_ISA_1_USED property is unset, the
+corresponding x86 instruction set isn’t used. When merging properties
+from 2 input files and one input file doesn't have the
+GNU_PROPERTY_X86_ISA_1_USED property, the output file shouldn't have
+it neither. This patch removes the GNU_PROPERTY_X86_ISA_1_USED
+property if an input file doesn't have it.
+
+This patch replaces the GNU_PROPERTY_X86_ISA_1_USED property with the
+GNU_PROPERTY_X86_ISA_1_NEEDED property which is the minimum ISA
+requirement.
+
+bfd/
+
+ PR ld/23486
+ * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove
+ GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it.
+ (_bfd_x86_elf_link_setup_gnu_properties): Adding the
+ GNU_PROPERTY_X86_ISA_1_NEEDED, instead of
+ GNU_PROPERTY_X86_ISA_1_USED, property.
+
+ld/
+
+ PR ld/23486
+ * testsuite/ld-i386/i386.exp: Run PR ld/23486 tests.
+ * testsuite/ld-x86-64/x86-64.exp: Likewise.
+ * testsuite/ld-i386/pr23486a.d: New file.
+ * testsuite/ld-i386/pr23486b.d: Likewise.
+ * testsuite/ld-x86-64/pr23486a-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23486a.d: Likewise.
+ * testsuite/ld-x86-64/pr23486a.s: Likewise.
+ * testsuite/ld-x86-64/pr23486b-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23486b.d: Likewise.
+ * testsuite/ld-x86-64/pr23486b.s: Likewise.
+ * testsuite/ld-i386/property-3.r: Remove "x86 ISA used".
+ * testsuite/ld-i386/property-4.r: Likewise.
+ * testsuite/ld-i386/property-5.r: Likewise.
+ * testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
+ * testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
+ * testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
+ * testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
+ * testsuite/ld-x86-64/property-3.r: Likewise.
+ * testsuite/ld-x86-64/property-4.r: Likewise.
+ * testsuite/ld-x86-64/property-5.r: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
+ * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
+
+(cherry picked from commit f7309df20c4e787041cedc4a6aced89c15259e54)
+---
+ bfd/elfxx-x86.c | 25 ++++++++++++---
+ ld/testsuite/ld-i386/i386.exp | 2 ++
+ ld/testsuite/ld-i386/pr23486a.d | 10 ++++++
+ ld/testsuite/ld-i386/pr23486b.d | 10 ++++++
+ ld/testsuite/ld-i386/property-3.r | 1 -
+ ld/testsuite/ld-i386/property-4.r | 1 -
+ ld/testsuite/ld-i386/property-5.r | 1 -
+ ld/testsuite/ld-i386/property-x86-ibt3a.d | 5 ++-
+ ld/testsuite/ld-i386/property-x86-ibt3b.d | 5 ++-
+ ld/testsuite/ld-i386/property-x86-shstk3a.d | 5 ++-
+ ld/testsuite/ld-i386/property-x86-shstk3b.d | 5 ++-
+ ld/testsuite/ld-x86-64/pr23486a-x32.d | 10 ++++++
+ ld/testsuite/ld-x86-64/pr23486a.d | 10 ++++++
+ ld/testsuite/ld-x86-64/pr23486a.s | 30 +++++++++++++++++
+ ld/testsuite/ld-x86-64/pr23486b-x32.d | 10 ++++++
+ ld/testsuite/ld-x86-64/pr23486b.d | 10 ++++++
+ ld/testsuite/ld-x86-64/pr23486b.s | 30 +++++++++++++++++
+ ld/testsuite/ld-x86-64/property-3.r | 1 -
+ ld/testsuite/ld-x86-64/property-4.r | 1 -
+ ld/testsuite/ld-x86-64/property-5.r | 1 -
+ .../ld-x86-64/property-x86-ibt3a-x32.d | 5 ++-
+ ld/testsuite/ld-x86-64/property-x86-ibt3a.d | 5 ++-
+ .../ld-x86-64/property-x86-ibt3b-x32.d | 5 ++-
+ ld/testsuite/ld-x86-64/property-x86-ibt3b.d | 5 ++-
+ .../ld-x86-64/property-x86-shstk3a-x32.d | 5 ++-
+ ld/testsuite/ld-x86-64/property-x86-shstk3a.d | 5 ++-
+ .../ld-x86-64/property-x86-shstk3b-x32.d | 5 ++-
+ ld/testsuite/ld-x86-64/property-x86-shstk3b.d | 5 ++-
+ ld/testsuite/ld-x86-64/x86-64.exp | 4 +++
+ 31 files changed, 211 insertions(+), 47 deletions(-)
+ create mode 100644 ld/testsuite/ld-i386/pr23486a.d
+ create mode 100644 ld/testsuite/ld-i386/pr23486b.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486a-x32.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486a.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486a.s
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486b-x32.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486b.d
+ create mode 100644 ld/testsuite/ld-x86-64/pr23486b.s
+
+--- a/bfd/elfxx-x86.c
++++ b/bfd/elfxx-x86.c
+@@ -2407,12 +2407,27 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
+ switch (pr_type)
+ {
+ case GNU_PROPERTY_X86_ISA_1_USED:
++ if (aprop == NULL || bprop == NULL)
++ {
++ /* Only one of APROP and BPROP can be NULL. */
++ if (aprop != NULL)
++ {
++ /* Remove this property since the other input file doesn't
++ have it. */
++ aprop->pr_kind = property_remove;
++ updated = TRUE;
++ }
++ break;
++ }
++ goto or_property;
++
+ case GNU_PROPERTY_X86_ISA_1_NEEDED:
+ if (aprop != NULL && bprop != NULL)
+ {
++or_property:
+ number = aprop->u.number;
+ aprop->u.number = number | bprop->u.number;
+- /* Remove the property if ISA bits are empty. */
++ /* Remove the property if all bits are empty. */
+ if (aprop->u.number == 0)
+ {
+ aprop->pr_kind = property_remove;
+@@ -2428,14 +2443,14 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
+ {
+ if (aprop->u.number == 0)
+ {
+- /* Remove APROP if ISA bits are empty. */
++ /* Remove APROP if all bits are empty. */
+ aprop->pr_kind = property_remove;
+ updated = TRUE;
+ }
+ }
+ else
+ {
+- /* Return TRUE if APROP is NULL and ISA bits of BPROP
++ /* Return TRUE if APROP is NULL and all bits of BPROP
+ aren't empty to indicate that BPROP should be added
+ to ABFD. */
+ updated = bprop->u.number != 0;
+@@ -2582,9 +2597,9 @@ _bfd_x86_elf_link_setup_gnu_properties
+ {
+ /* If the separate code program header is needed, make sure
+ that the first read-only PT_LOAD segment has no code by
+- adding a GNU_PROPERTY_X86_ISA_1_USED note. */
++ adding a GNU_PROPERTY_X86_ISA_1_NEEDED note. */
+ prop = _bfd_elf_get_property (ebfd,
+- GNU_PROPERTY_X86_ISA_1_USED,
++ GNU_PROPERTY_X86_ISA_1_NEEDED,
+ 4);
+ prop->u.number = GNU_PROPERTY_X86_ISA_1_486;
+ prop->pr_kind = property_number;
+diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
+index 6d794fe653..78dad02579 100644
+--- a/ld/testsuite/ld-i386/i386.exp
++++ b/ld/testsuite/ld-i386/i386.exp
+@@ -462,6 +462,8 @@ run_dump_test "pr23189"
+ run_dump_test "pr23194"
+ run_dump_test "pr23372a"
+ run_dump_test "pr23372b"
++run_dump_test "pr23486a"
++run_dump_test "pr23486b"
+
+ if { !([istarget "i?86-*-linux*"]
+ || [istarget "i?86-*-gnu*"]
+diff --git a/ld/testsuite/ld-i386/pr23486a.d b/ld/testsuite/ld-i386/pr23486a.d
+new file mode 100644
+index 0000000000..41a6dcf7d5
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr23486a.d
+@@ -0,0 +1,10 @@
++#source: ../ld-x86-64/pr23486a.s
++#source: ../ld-x86-64/pr23486b.s
++#as: --32
++#ld: -r -m elf_i386
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-i386/pr23486b.d b/ld/testsuite/ld-i386/pr23486b.d
+new file mode 100644
+index 0000000000..08019b7274
+--- /dev/null
++++ b/ld/testsuite/ld-i386/pr23486b.d
+@@ -0,0 +1,10 @@
++#source: ../ld-x86-64/pr23486b.s
++#source: ../ld-x86-64/pr23486a.s
++#as: --32
++#ld: -r -m elf_i386
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r
+index 0ed91f5922..d03203c1e5 100644
+--- a/ld/testsuite/ld-i386/property-3.r
++++ b/ld/testsuite/ld-i386/property-3.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: 586, SSE
+ x86 ISA needed: i486, 586
+ #pass
+diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r
+index cb2bc15d9a..da295eb6c7 100644
+--- a/ld/testsuite/ld-i386/property-4.r
++++ b/ld/testsuite/ld-i386/property-4.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r
+index 552965058c..e4141594b3 100644
+--- a/ld/testsuite/ld-i386/property-5.r
++++ b/ld/testsuite/ld-i386/property-5.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x900000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d
+index 4bb35b00fb..0aedea1614 100644
+--- a/ld/testsuite/ld-i386/property-x86-ibt3a.d
++++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d
+index 418d58a8f7..bd69ac6478 100644
+--- a/ld/testsuite/ld-i386/property-x86-ibt3b.d
++++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d
+index e261038f60..76d2a39f2c 100644
+--- a/ld/testsuite/ld-i386/property-x86-shstk3a.d
++++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d
+index 25f3d2361e..e770ecffa5 100644
+--- a/ld/testsuite/ld-i386/property-x86-shstk3b.d
++++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: i486, 586, SSE2, SSE3
+- x86 ISA needed: 586, SSE, SSE3, SSE4_1
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: 586, SSE, SSE3, SSE4_1
+diff --git a/ld/testsuite/ld-x86-64/pr23486a-x32.d b/ld/testsuite/ld-x86-64/pr23486a-x32.d
+new file mode 100644
+index 0000000000..6d9fa68cdb
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486a-x32.d
+@@ -0,0 +1,10 @@
++#source: pr23486a.s
++#source: pr23486b.s
++#as: --x32
++#ld: -r -m elf32_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486a.d b/ld/testsuite/ld-x86-64/pr23486a.d
+new file mode 100644
+index 0000000000..dc2b7bf760
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486a.d
+@@ -0,0 +1,10 @@
++#source: pr23486a.s
++#source: pr23486b.s
++#as: --64 -defsym __64_bit__=1
++#ld: -r -m elf_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486a.s b/ld/testsuite/ld-x86-64/pr23486a.s
+new file mode 100644
+index 0000000000..a07d0c7ced
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486a.s
+@@ -0,0 +1,30 @@
++ .section ".note.gnu.property", "a"
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ .long 1f - 0f /* name length. */
++ .long 4f - 1f /* data length. */
++ /* NT_GNU_PROPERTY_TYPE_0 */
++ .long 5 /* note type. */
++0:
++ .asciz "GNU" /* vendor name. */
++1:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ /* GNU_PROPERTY_X86_ISA_1_USED */
++ .long 0xc0000000 /* pr_type. */
++ .long 3f - 2f /* pr_datasz. */
++2:
++ .long 0xa
++3:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++4:
+diff --git a/ld/testsuite/ld-x86-64/pr23486b-x32.d b/ld/testsuite/ld-x86-64/pr23486b-x32.d
+new file mode 100644
+index 0000000000..0445e69d82
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486b-x32.d
+@@ -0,0 +1,10 @@
++#source: pr23486b.s
++#source: pr23486a.s
++#as: --x32
++#ld: -r -m elf32_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486b.d b/ld/testsuite/ld-x86-64/pr23486b.d
+new file mode 100644
+index 0000000000..dc2b7bf760
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486b.d
+@@ -0,0 +1,10 @@
++#source: pr23486a.s
++#source: pr23486b.s
++#as: --64 -defsym __64_bit__=1
++#ld: -r -m elf_x86_64
++#readelf: -n
++
++Displaying notes found in: .note.gnu.property
++ Owner Data size Description
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586
+diff --git a/ld/testsuite/ld-x86-64/pr23486b.s b/ld/testsuite/ld-x86-64/pr23486b.s
+new file mode 100644
+index 0000000000..c5167eeb65
+--- /dev/null
++++ b/ld/testsuite/ld-x86-64/pr23486b.s
+@@ -0,0 +1,30 @@
++ .section ".note.gnu.property", "a"
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ .long 1f - 0f /* name length. */
++ .long 4f - 1f /* data length. */
++ /* NT_GNU_PROPERTY_TYPE_0 */
++ .long 5 /* note type. */
++0:
++ .asciz "GNU" /* vendor name. */
++1:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++ /* GNU_PROPERTY_X86_ISA_1_NEEDED */
++ .long 0xc0000001 /* pr_type. */
++ .long 3f - 2f /* pr_datasz. */
++2:
++ .long 0x3
++3:
++.ifdef __64_bit__
++ .p2align 3
++.else
++ .p2align 2
++.endif
++4:
+diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r
+index 0ed91f5922..d03203c1e5 100644
+--- a/ld/testsuite/ld-x86-64/property-3.r
++++ b/ld/testsuite/ld-x86-64/property-3.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: 586, SSE
+ x86 ISA needed: i486, 586
+ #pass
+diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r
+index cb2bc15d9a..da295eb6c7 100644
+--- a/ld/testsuite/ld-x86-64/property-4.r
++++ b/ld/testsuite/ld-x86-64/property-4.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x800000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r
+index 552965058c..e4141594b3 100644
+--- a/ld/testsuite/ld-x86-64/property-5.r
++++ b/ld/testsuite/ld-x86-64/property-5.r
+@@ -3,6 +3,5 @@ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0
+ Properties: stack size: 0x900000
+- x86 ISA used: i486, 586, SSE
+ x86 ISA needed: i486, 586, SSE
+ #pass
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
+index 011426f5a4..4cec728dc7 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
+index 1b4229a037..a8df49a351 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
+index 290ed6abf1..c112626711 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
+index 1142e03272..f10dffdc2c 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
++++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
+index 819542d181..0147a3c7b6 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
+index 4c5d0e0a18..1f8c2dc929 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
+index ba181e0bc5..7ca2539ca5 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
+index 5216f385dd..f66a40e449 100644
+--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
++++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
+@@ -6,6 +6,5 @@
+
+ Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
+- x86 ISA needed: i486, 586, SSE2, SSE3
++ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
++ Properties: x86 ISA needed: i486, 586, SSE2, SSE3
+diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
+index 6edb9e86f4..ae21e554ad 100644
+--- a/ld/testsuite/ld-x86-64/x86-64.exp
++++ b/ld/testsuite/ld-x86-64/x86-64.exp
+@@ -403,6 +403,10 @@ run_dump_test "pr23372a"
+ run_dump_test "pr23372a-x32"
+ run_dump_test "pr23372b"
+ run_dump_test "pr23372b-x32"
++run_dump_test "pr23486a"
++run_dump_test "pr23486a-x32"
++run_dump_test "pr23486b"
++run_dump_test "pr23486b-x32"
+
+ if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} {
+ return
+--
+2.20.1
+
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 787a5dbc646..4e2f26fd691 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,5 +1,5 @@
{ stdenv, lib, buildPackages
-, fetchurl, zlib, autoreconfHook264
+, fetchurl, zlib, autoreconfHook
# Enabling all targets increases output size to a multiple.
, withAllTargets ? false, libbfd, libopcodes
, enableShared ? true
@@ -12,7 +12,7 @@ let
# Remove gold-symbol-visibility patch when updating, the proper fix
# is now upstream.
# https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
- version = "2.30";
+ version = "2.31.1";
basename = "binutils-${version}";
# The targetPrefix prepended to binary names to allow multiple binuntils on the
# PATH to both be usable.
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
# HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
url = "mirror://gnu/binutils/${basename}.tar.bz2";
- sha256 = "028cklfqaab24glva1ks2aqa1zxa6w6xmc8q34zs1sb7h22dxspg";
+ sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
});
patches = [
@@ -55,10 +55,11 @@ stdenv.mkDerivation rec {
# https://sourceware.org/bugzilla/show_bug.cgi?id=22868
./gold-symbol-visibility.patch
- # Version 2.30 introduced strict requirements on ELF relocations which cannot
- # be satisfied on aarch64 platform. Add backported fix from bugzilla.
- # https://sourceware.org/bugzilla/show_bug.cgi?id=22764
- ./relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=23428
+ # un-break features so linking against musl doesn't produce crash-only binaries
+ ./0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
+ ./0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
+ ./0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch;
outputs = [ "out" "info" "man" ];
@@ -67,7 +68,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
bison
] ++ lib.optionals stdenv.targetPlatform.isiOS [
- autoreconfHook264
+ autoreconfHook
];
buildInputs = [ zlib ];
diff --git a/pkgs/development/tools/misc/binutils/relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch b/pkgs/development/tools/misc/binutils/relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch
deleted file mode 100644
index 6a04b3cc558..00000000000
--- a/pkgs/development/tools/misc/binutils/relax-R_AARCH64_ABS32-R_AARCH64_ABS16-absolute.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-diff --git a/bfd/ChangeLog b/bfd/ChangeLog
-index c310da6ed3..d31f46171f 100644
---- a/bfd/ChangeLog
-+++ b/bfd/ChangeLog
-@@ -1,3 +1,10 @@
-+2018-02-05 Renlin Li
-+
-+ PR ld/22764
-+ * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
-+ R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
-+ check for writeable section as well.
-+
- 2018-01-27 Nick Clifton
-
- This is the 2.30 release:
-diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
-index d5711e0eb1..973188220b 100644
---- a/bfd/elfnn-aarch64.c
-+++ b/bfd/elfnn-aarch64.c
-@@ -7074,10 +7074,19 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
- #if ARCH_SIZE == 64
- case BFD_RELOC_AARCH64_32:
- #endif
-- if (bfd_link_pic (info)
-- && (sec->flags & SEC_ALLOC) != 0
-- && (sec->flags & SEC_READONLY) != 0)
-+ if (bfd_link_pic (info) && (sec->flags & SEC_ALLOC) != 0)
- {
-+ if (h != NULL
-+ /* This is an absolute symbol. It represents a value instead
-+ of an address. */
-+ && ((h->root.type == bfd_link_hash_defined
-+ && bfd_is_abs_section (h->root.u.def.section))
-+ /* This is an undefined symbol. */
-+ || h->root.type == bfd_link_hash_undefined))
-+ break;
-+
-+ /* For local symbols, defined global symbols in a non-ABS section,
-+ it is assumed that the value is an address. */
- int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START;
- _bfd_error_handler
- /* xgettext:c-format */
-diff --git a/ld/ChangeLog b/ld/ChangeLog
-index 6337cd0cb6..1aaa6da3b5 100644
---- a/ld/ChangeLog
-+++ b/ld/ChangeLog
-@@ -1,3 +1,11 @@
-+2018-02-05 Renlin Li
-+
-+ PR ld/22764
-+ * testsuite/ld-aarch64/emit-relocs-258.s: Define symbol as an address.
-+ * testsuite/ld-aarch64/emit-relocs-259.s: Likewise.
-+ * testsuite/ld-aarch64/pr22764.s: New.
-+ * testsuite/ld-aarch64/pr22764.d: New.
-+
- 2018-01-27 Nick Clifton
-
- This is the 2.30 release:
-diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp
-index f31089361b..d766f3736b 100644
---- a/ld/testsuite/ld-aarch64/aarch64-elf.exp
-+++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp
-@@ -275,6 +275,7 @@ run_dump_test "pr17415"
- run_dump_test_lp64 "tprel_g2_overflow"
- run_dump_test "tprel_add_lo12_overflow"
- run_dump_test "protected-data"
-+run_dump_test_lp64 "pr22764"
-
- # ifunc tests
- run_dump_test "ifunc-1"
-diff --git a/ld/testsuite/ld-aarch64/emit-relocs-258.s b/ld/testsuite/ld-aarch64/emit-relocs-258.s
-index f724776243..87bb657c5d 100644
---- a/ld/testsuite/ld-aarch64/emit-relocs-258.s
-+++ b/ld/testsuite/ld-aarch64/emit-relocs-258.s
-@@ -1,5 +1,6 @@
-+.global dummy
- .text
--
-+dummy:
- ldr x0, .L1
-
- .L1:
-diff --git a/ld/testsuite/ld-aarch64/emit-relocs-259.s b/ld/testsuite/ld-aarch64/emit-relocs-259.s
-index 7e1ba3ceb4..0977c9d869 100644
---- a/ld/testsuite/ld-aarch64/emit-relocs-259.s
-+++ b/ld/testsuite/ld-aarch64/emit-relocs-259.s
-@@ -1,5 +1,6 @@
-+.global dummy
- .text
--
-+dummy:
- ldr x0, .L1
-
- .L1:
-diff --git a/ld/testsuite/ld-aarch64/pr22764.d b/ld/testsuite/ld-aarch64/pr22764.d
-new file mode 100644
-index 0000000000..997519f469
---- /dev/null
-+++ b/ld/testsuite/ld-aarch64/pr22764.d
-@@ -0,0 +1,18 @@
-+#source: pr22764.s
-+#ld: -shared -T relocs.ld -defsym sym_abs1=0x1 -defsym sym_abs2=0x2 -defsym sym_abs3=0x3 -e0 --emit-relocs
-+#notarget: aarch64_be-*-*
-+#objdump: -dr
-+#...
-+
-+Disassembly of section \.text:
-+
-+0000000000010000 \<\.text\>:
-+ 10000: d503201f nop
-+ ...
-+ 10004: R_AARCH64_ABS64 sym_abs1
-+ 1000c: 00000002 \.word 0x00000002
-+ 1000c: R_AARCH64_ABS32 sym_abs2
-+ 10010: 0003 \.short 0x0003
-+ 10010: R_AARCH64_ABS16 sym_abs3
-+ 10012: 0000 \.short 0x0000
-+ 10014: d503201f nop
-diff --git a/ld/testsuite/ld-aarch64/pr22764.s b/ld/testsuite/ld-aarch64/pr22764.s
-new file mode 100644
-index 0000000000..25e36b4a12
---- /dev/null
-+++ b/ld/testsuite/ld-aarch64/pr22764.s
-@@ -0,0 +1,6 @@
-+ .text
-+ nop
-+ .xword sym_abs1
-+ .word sym_abs2
-+ .short sym_abs3
-+ nop
diff --git a/pkgs/development/tools/misc/ctags/wrapped.nix b/pkgs/development/tools/misc/ctags/wrapped.nix
index 75ae9f1ba8b..ed265b4489b 100644
--- a/pkgs/development/tools/misc/ctags/wrapped.nix
+++ b/pkgs/development/tools/misc/ctags/wrapped.nix
@@ -14,7 +14,7 @@ with pkgs.stdenv.lib;
# the derivation. use language extensions specified by args
ctagsWrapped = makeOverridable ( {args, name} : pkgs.writeScriptBin name ''
- #!/bin/sh
+ #!${stdenv.shell}
exec ${pkgs.ctags}/bin/ctags ${concatStringsSep " " (map escapeShellArg args)} "$@"
'') {
args = let x = pkgs.ctagsWrapped; in concatLists [
diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix
index cef399eb5c1..e80a37d37dd 100644
--- a/pkgs/development/tools/misc/distcc/default.nix
+++ b/pkgs/development/tools/misc/distcc/default.nix
@@ -53,7 +53,7 @@ let
mkdir -p $out/bin
if [ -x "${gcc.cc}/bin/gcc" ]; then
cat > $out/bin/gcc << EOF
- #!/bin/sh
+ #!${stdenv.shell}
${extraConfig}
exec ${distcc}/bin/distcc gcc "\$@"
EOF
@@ -61,7 +61,7 @@ let
fi
if [ -x "${gcc.cc}/bin/g++" ]; then
cat > $out/bin/g++ << EOF
- #!/bin/sh
+ #!${stdenv.shell}
${extraConfig}
exec ${distcc}/bin/distcc g++ "\$@"
EOF
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
index c8fdf246bcf..f7b77cdc418 100644
--- a/pkgs/development/tools/misc/opengrok/default.nix
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
mkdir -p $out
cp -a * $out/
substituteInPlace $out/bin/OpenGrok --replace "/bin/uname" "${coreutils}/bin/uname"
- substituteInPlace $out/bin/Messages --replace "#!/bin/ksh" "#!/bin/sh"
+ substituteInPlace $out/bin/Messages --replace "#!/bin/ksh" "#!${stdenv.shell}"
wrapProgram $out/bin/OpenGrok \
--prefix PATH : "${stdenv.lib.makeBinPath [ ctags git ]}" \
--set JAVA_HOME "${jre}" \
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index 3d5f09b7bc3..09d7daa97bf 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -1,15 +1,14 @@
{ stdenv, fetchurl, m4, perl, help2man }:
stdenv.mkDerivation rec {
- name = "bison-3.2.4";
+ pname = "bison";
+ version = "3.3.1";
src = fetchurl {
- url = "mirror://gnu/bison/${name}.tar.gz";
- sha256 = "16n7xs3sa1rlhs8y8zg4gi2s2kbkz8d69w3xp935wjykk0i3wryb";
+ url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
+ sha256 = "0sz6rzmfz5scian0a28lrvkrsd0108dmxrxpqh4nyi2ahlglbma1";
};
- patches = []; # remove on another rebuild
-
nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
propagatedBuildInputs = [ m4 ];
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/tools/rust/rustfmt/default.nix
index 4684841cf47..dac00aa4c96 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/tools/rust/rustfmt/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
name = "rustfmt-${version}";
- version = "1.0.0";
+ version = "1.0.1";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rustfmt";
rev = "${version}";
- sha256 = "17ady2zq4jcbgawgpfszrkp6kxabb2f261g82y2az7nfax1h1pwy";
+ sha256 = "1l18ycbq3125sq8v3wgma630wd6kclarlf8f51cmi9blk322jg9p";
};
- cargoSha256 = "0v8iq50h9368kai3m710br5cxc3p6mpbwz1v6gaf5802n48liqs8";
+ cargoSha256 = "1557783icdzlwn02c5zl4362yl85r5zj4nkjv80p6896yli9hk9h";
buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/pkgs/games/andyetitmoves/default.nix b/pkgs/games/andyetitmoves/default.nix
index 97cbe616c57..123d4296c97 100644
--- a/pkgs/games/andyetitmoves/default.nix
+++ b/pkgs/games/andyetitmoves/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath $fullPath $out/opt/andyetitmoves/lib/$binName
cat > $out/bin/$binName << EOF
- #!/bin/sh
+ #!${stdenv.shell}
cd $out/opt/andyetitmoves
exec ./lib/$binName
EOF
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 502a554bae2..859e503e101 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -45,7 +45,7 @@ in stdenv.mkDerivation rec {
installPhase = ''
# Make wrapper script
cat > eduke32-wrapper < "$out/bin/mars"
- #! /bin/sh
+ #! ${stdenv.shell}
cd "$out/share/mars/"
exec "$out/bin/mars.bin" "\$@"
EOF
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index 319cdb610ca..2d636064205 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
cp -r * "$out/opt/oilrush"
mkdir -p "$out/bin"
cat << EOF > "$out/bin/oilrush"
- #! /bin/sh
+ #!${stdenv.shell}
LD_LIBRARY_PATH=.:${makeLibraryPath [ openal ]}:\$LD_LIBRARY_PATH
cd "$out/opt/oilrush"
exec ./launcher_$arch.sh "\$@"
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 78fdb32b436..e5243aef2d3 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -21,7 +21,7 @@ let
};
playmidi = writeScriptBin "playmidi" ''
- #!/bin/sh
+ #!${stdenv.shell}
trap "${procps}/bin/pkill fluidsynth" EXIT
${fluidsynth}/bin/fluidsynth -a ${audioDriver} -i ${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2 $*
'';
diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix
index ce30be7be0b..fd1a3e178d5 100644
--- a/pkgs/games/tremulous/default.nix
+++ b/pkgs/games/tremulous/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
for b in tremulous tremded
do
cat << EOF > $out/bin/$b
- #!/bin/sh
+ #!${stdenv.shell}
cd $out/opt/tremulous
exec ./$b.$arch "\$@"
EOF
diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix
index fc6a45ace57..85157d8df18 100644
--- a/pkgs/games/trigger/default.nix
+++ b/pkgs/games/trigger/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
postInstall = ''
mkdir -p $out/bin
cat < $out/bin/trigger-rally
- #!/bin/sh
+ #!${stdenv.shell}
exec $out/games/trigger-rally "$@"
EOF
chmod +x $out/bin/trigger-rally
diff --git a/pkgs/games/vessel/default.nix b/pkgs/games/vessel/default.nix
index ab6f1ca765c..83fce64ca32 100644
--- a/pkgs/games/vessel/default.nix
+++ b/pkgs/games/vessel/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
done
cat > $out/bin/Vessel << EOW
- #!/bin/sh
+ #!${stdenv.shell}
cd $out/libexec/strangeloop/vessel/
exec ./x86/vessel.x86
EOW
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index ad86072dd1c..97bfd9e730c 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
#makeWrapper doesn't do cd. :(
cat > $out/bin/WorldofGoo << EOF
- #!/bin/sh
+ #!${stdenv.shell}
cd $out/libexec/2dboy/WorldOfGoo
exec ./WorldOfGoo.bin64
EOF
diff --git a/pkgs/games/zangband/default.nix b/pkgs/games/zangband/default.nix
index 6fab4982534..3d5da239115 100644
--- a/pkgs/games/zangband/default.nix
+++ b/pkgs/games/zangband/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
postInstall = ''
mv $out/bin/zangband $out/bin/.zangband.real
- echo '#! /bin/sh
+ echo '#! ${stdenv.shell}
PATH="$PATH:${coreutils}/bin"
ZANGBAND_PATH="$HOME/.zangband"
diff --git a/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix
index ff71df5dc1b..607e3c2c57f 100644
--- a/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix
+++ b/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
unpackPhase = "true";
brprintconf_mfcj6510dw_script = ''
- #!/bin/sh
+ #!${stdenv.shell}
cd $(mktemp -d)
ln -s @out@/usr/bin/brprintconf_mfcj6510dw_patched brprintconf_mfcj6510dw_patched
ln -s @out@/opt/brother/Printers/mfcj6510dw/inf/brmfcj6510dwfunc brmfcj6510dwfunc
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
index 99286d5f204..580b473b0cd 100644
--- a/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
preConfigure =
''
- substituteInPlace foomaticrip.c --replace /bin/bash /bin/sh
+ substituteInPlace foomaticrip.c --replace /bin/bash ${stdenv.shell}
'';
installTargets = "install-cups";
diff --git a/pkgs/misc/emulators/retrofe/default.nix b/pkgs/misc/emulators/retrofe/default.nix
index 40c1fcc6fde..fa2121f5bc1 100644
--- a/pkgs/misc/emulators/retrofe/default.nix
+++ b/pkgs/misc/emulators/retrofe/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
mv $out/share/retrofe/example/retrofe $out/bin/
cat > $out/bin/retrofe-init << EOF
- #!/bin/sh
+ #!${stdenv.shell}
echo "This will install retrofe's example files into this directory"
echo "Example files location: $out/share/retrofe/example/"
diff --git a/pkgs/misc/emulators/wine/builder-wow.sh b/pkgs/misc/emulators/wine/builder-wow.sh
index 1aad9fe20c7..c006db3116b 100644
--- a/pkgs/misc/emulators/wine/builder-wow.sh
+++ b/pkgs/misc/emulators/wine/builder-wow.sh
@@ -1,5 +1,3 @@
-#!/bin/sh
-
## build described at http://wiki.winehq.org/Wine64
source $stdenv/setup
diff --git a/pkgs/misc/themes/elementary/default.nix b/pkgs/misc/themes/elementary/default.nix
deleted file mode 100644
index 0d02b32c8ff..00000000000
--- a/pkgs/misc/themes/elementary/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
- name = "elementary-gtk-theme-${version}";
- version = "5.1.1";
-
- src = fetchFromGitHub {
- owner = "elementary";
- repo = "stylesheet";
- rev = version;
- sha256 = "1749byc2lbxmprladn9n7k6jh79r8ffgayjn689gmqsrm6czsmh2";
- };
-
- dontBuild = true;
-
- installPhase = ''
- mkdir -p $out/share/themes/elementary
- cp -r gtk-* plank $out/share/themes/elementary
- '';
-
- 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.unix;
- maintainers = with maintainers; [ davidak ];
- };
-}
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 2a758aa9843..360a98fd567 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -362,7 +362,7 @@ rec {
vimWithRC = {vimExecutable, name ? null, vimrcFile ? null, gvimrcFile ? null}:
let rcOption = o: file: stdenv.lib.optionalString (file != null) "-${o} ${file}";
in writeScriptBin (if name == null then "vim" else name) ''
- #!/bin/sh
+ #!${stdenv.shell}
exec ${vimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@"
'';
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index 8e730058020..3c3fbc6e797 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,20 +1,15 @@
-{ stdenv, fetchurl, fetchpatch }:
+{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
- name = "alsa-lib-1.1.7";
+ name = "alsa-lib-1.1.8";
src = fetchurl {
url = "mirror://alsa/lib/${name}.tar.bz2";
- sha256 = "02fw7dw202mjid49w9ki3dsfcyvid5fj488561bdzcm3haw00q4x";
+ sha256 = "1pxf0zkmps03l3zzd0fr828xhkg6a8hxljmbxzc2cyj2ls9kmp1w";
};
patches = [
./alsa-plugin-conf-multilib.patch
- (fetchpatch { # pcm interval fix needed for some programs with broken audio, remove when bumping version
- name = "pcm-interval-fix.patch";
- url = "http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff_plain;h=b420056604f06117c967b65d43d01536c5ffcbc9";
- sha256 = "1vjfslzsypd6w15zvvrpdk825hm5j0gz16gw7kj290pkbsdgd435";
- })
];
# Fix pcm.h file in order to prevent some compilation bugs
diff --git a/pkgs/os-specific/linux/alsa-plugins/wrapper.nix b/pkgs/os-specific/linux/alsa-plugins/wrapper.nix
index 60262a14c9b..769b6ecd9bf 100644
--- a/pkgs/os-specific/linux/alsa-plugins/wrapper.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/wrapper.nix
@@ -1,5 +1,5 @@
{ writeScriptBin, stdenv, alsaPlugins }:
writeScriptBin "ap${if stdenv.hostPlatform.system == "i686-linux" then "32" else "64"}" ''
- #/bin/sh
+ #${stdenv.shell}
ALSA_PLUGIN_DIRS=${alsaPlugins}/lib/alsa-lib "$@"
''
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index f5d3b4f5c4e..f5bc7458240 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -36,12 +36,12 @@ stdenv.mkDerivation {
mkdir -p $out/bin
tee $out/bin/discrete_vga_poweroff << EOF
- #!/bin/sh
+ #!${stdenv.shell}
echo -n OFF > /proc/acpi/bbswitch
EOF
tee $out/bin/discrete_vga_poweron << EOF
- #!/bin/sh
+ #!${stdenv.shell}
echo -n ON > /proc/acpi/bbswitch
EOF
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index eb0059f55c3..c00fc1761d5 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -75,8 +75,8 @@ let
in {
linuxHeaders = common {
- version = "4.18.3";
- sha256 = "1m23hjd02bg8mqnd8dc4z4m3kxds1cyrc6j5saiwnhzbz373rvc1";
+ version = "4.19.16";
+ sha256 = "1pqvn6dsh0xhdpawz4ag27vkw1abvb6sn3869i4fbrz33ww8i86q";
patches = [
./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
./no-dynamic-cc-version-check.patch # so we can use `stdenvNoCC`, see `makeFlags` above
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 8b8f5a05f94..1d9497a7edd 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
sha256 = "05bi5ja6f3h3kdi7p9dihlqlfrsmi1wh1r2bdgxc0180xh6g5bnk";
};
+ patches = [
+ (fetchurl {
+ # improve reproducibility
+ url = "https://salsa.debian.org/debian/keyutils/raw/4cecffcb8e2a2aa4ef41777ed40e4e4bcfb2e5bf/debian/patches/Make-build-reproducible.patch";
+ sha256 = "0wnvbjfrbk7rghd032z684l7vk7mhy3bd41zvhkrhgp3cd5id0bm";
+ })
+ ];
+
+ BUILDDATE = "1970-01-01";
outputs = [ "out" "lib" "dev" ];
installFlags = [
diff --git a/pkgs/os-specific/linux/musl/0001-in-pthread_mutex_trylock-EBUSY-out-more-directly-whe.patch b/pkgs/os-specific/linux/musl/0001-in-pthread_mutex_trylock-EBUSY-out-more-directly-whe.patch
deleted file mode 100644
index 5e691ae99e6..00000000000
--- a/pkgs/os-specific/linux/musl/0001-in-pthread_mutex_trylock-EBUSY-out-more-directly-whe.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 4e4a162d9af283cf71f7310c497672e0c2b8ca3b Mon Sep 17 00:00:00 2001
-From: Rich Felker
-Date: Tue, 4 Sep 2018 21:28:38 -0400
-Subject: [PATCH 1/3] in pthread_mutex_trylock, EBUSY out more directly when
- possible
-
-avoid gratuitously setting up and tearing down the robust list pending
-slot.
----
- src/thread/pthread_mutex_trylock.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/thread/pthread_mutex_trylock.c b/src/thread/pthread_mutex_trylock.c
-index 54876a61..783ca0c4 100644
---- a/src/thread/pthread_mutex_trylock.c
-+++ b/src/thread/pthread_mutex_trylock.c
-@@ -15,6 +15,7 @@ int __pthread_mutex_trylock_owner(pthread_mutex_t *m)
- return 0;
- }
- if (own == 0x7fffffff) return ENOTRECOVERABLE;
-+ if (own && (!(own & 0x40000000) || !(type & 4))) return EBUSY;
-
- if (m->_m_type & 128) {
- if (!self->robust_list.off) {
-@@ -25,8 +26,7 @@ int __pthread_mutex_trylock_owner(pthread_mutex_t *m)
- self->robust_list.pending = &m->_m_next;
- }
-
-- if ((own && (!(own & 0x40000000) || !(type & 4)))
-- || a_cas(&m->_m_lock, old, tid) != old) {
-+ if (a_cas(&m->_m_lock, old, tid) != old) {
- self->robust_list.pending = 0;
- return EBUSY;
- }
---
-2.19.0
-
diff --git a/pkgs/os-specific/linux/musl/0002-in-pthread_mutex_timedlock-avoid-repeatedly-reading-.patch b/pkgs/os-specific/linux/musl/0002-in-pthread_mutex_timedlock-avoid-repeatedly-reading-.patch
deleted file mode 100644
index 2f611fc467e..00000000000
--- a/pkgs/os-specific/linux/musl/0002-in-pthread_mutex_timedlock-avoid-repeatedly-reading-.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From d1fa28860634af4f0efd70d533a756b51a45f83e Mon Sep 17 00:00:00 2001
-From: Rich Felker
-Date: Tue, 4 Sep 2018 21:31:47 -0400
-Subject: [PATCH 2/3] in pthread_mutex_timedlock, avoid repeatedly reading
- mutex type field
-
-compiler cannot cache immutable fields of the mutex object across
-external calls it can't see, much less across atomics.
----
- src/thread/pthread_mutex_timedlock.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/thread/pthread_mutex_timedlock.c b/src/thread/pthread_mutex_timedlock.c
-index 0a240e79..f91f4a61 100644
---- a/src/thread/pthread_mutex_timedlock.c
-+++ b/src/thread/pthread_mutex_timedlock.c
-@@ -6,7 +6,8 @@ int __pthread_mutex_timedlock(pthread_mutex_t *restrict m, const struct timespec
- && !a_cas(&m->_m_lock, 0, EBUSY))
- return 0;
-
-- int r, t, priv = (m->_m_type & 128) ^ 128;
-+ int type = m->_m_type;
-+ int r, t, priv = (type & 128) ^ 128;
-
- r = pthread_mutex_trylock(m);
- if (r != EBUSY) return r;
-@@ -15,9 +16,9 @@ int __pthread_mutex_timedlock(pthread_mutex_t *restrict m, const struct timespec
- while (spins-- && m->_m_lock && !m->_m_waiters) a_spin();
-
- while ((r=pthread_mutex_trylock(m)) == EBUSY) {
-- if (!(r=m->_m_lock) || ((r&0x40000000) && (m->_m_type&4)))
-+ if (!(r=m->_m_lock) || ((r&0x40000000) && (type&4)))
- continue;
-- if ((m->_m_type&3) == PTHREAD_MUTEX_ERRORCHECK
-+ if ((type&3) == PTHREAD_MUTEX_ERRORCHECK
- && (r&0x7fffffff) == __pthread_self()->tid)
- return EDEADLK;
-
---
-2.19.0
-
diff --git a/pkgs/os-specific/linux/musl/0003-fix-namespace-violation-for-c11-mutex-functions.patch b/pkgs/os-specific/linux/musl/0003-fix-namespace-violation-for-c11-mutex-functions.patch
deleted file mode 100644
index 783873732af..00000000000
--- a/pkgs/os-specific/linux/musl/0003-fix-namespace-violation-for-c11-mutex-functions.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 2de29bc994029b903a366b8a4a9f8c3c3ee2be90 Mon Sep 17 00:00:00 2001
-From: Rich Felker
-Date: Tue, 4 Sep 2018 22:56:57 -0400
-Subject: [PATCH 3/3] fix namespace violation for c11 mutex functions
-
-__pthread_mutex_timedlock is used to implement c11 mutex functions,
-and therefore cannot call pthread_mutex_trylock by name.
----
- src/thread/pthread_mutex_timedlock.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/thread/pthread_mutex_timedlock.c b/src/thread/pthread_mutex_timedlock.c
-index f91f4a61..d2bd1960 100644
---- a/src/thread/pthread_mutex_timedlock.c
-+++ b/src/thread/pthread_mutex_timedlock.c
-@@ -1,5 +1,7 @@
- #include "pthread_impl.h"
-
-+int __pthread_mutex_trylock(pthread_mutex_t *);
-+
- int __pthread_mutex_timedlock(pthread_mutex_t *restrict m, const struct timespec *restrict at)
- {
- if ((m->_m_type&15) == PTHREAD_MUTEX_NORMAL
-@@ -15,7 +17,7 @@ int __pthread_mutex_timedlock(pthread_mutex_t *restrict m, const struct timespec
- int spins = 100;
- while (spins-- && m->_m_lock && !m->_m_waiters) a_spin();
-
-- while ((r=pthread_mutex_trylock(m)) == EBUSY) {
-+ while ((r=__pthread_mutex_trylock(m)) == EBUSY) {
- if (!(r=m->_m_lock) || ((r&0x40000000) && (type&4)))
- continue;
- if ((type&3) == PTHREAD_MUTEX_ERRORCHECK
---
-2.19.0
-
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index 6137a5942c2..9835a0c96db 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -28,12 +28,12 @@ let
in
stdenv.mkDerivation rec {
- name = "musl-${version}";
- version = "1.1.20";
+ pname = "musl";
+ version = "1.1.21";
src = fetchurl {
- url = "https://www.musl-libc.org/releases/musl-${version}.tar.gz";
- sha256 = "0q8dsjxl41dccscv9a0r78bs7jap57mn4mni5pwbbip6s1qqggj4";
+ url = "https://www.musl-libc.org/releases/${pname}-${version}.tar.gz";
+ sha256 = "0i2z52zgc86af1n1gjiz43hgd85mxjgvgn345zsybja9dxpvchn7";
};
enableParallelBuilding = true;
@@ -56,29 +56,7 @@ stdenv.mkDerivation rec {
url = https://raw.githubusercontent.com/openwrt/openwrt/87606e25afac6776d1bbc67ed284434ec5a832b4/toolchain/musl/patches/300-relative.patch;
sha256 = "0hfadrycb60sm6hb6by4ycgaqc9sgrhh42k39v8xpmcvdzxrsq2n";
})
- # Upstream bugfix, see: https://git.musl-libc.org/cgit/musl/commit/?id=0db393d3a77bb9f300a356c6a5484fc2dddb161d
- # Explicitly flagged for inclusion by distributions using musl
- ./fix-file-locking-race.patch
- # More specific error reporting
- ./tty-more-precise-errors.patch
- # Use execveat to impl fexecve when avail (useful for containers)
- ./fexecve-execveat.patch
- # improve behavior in few cases
- ./0001-in-pthread_mutex_trylock-EBUSY-out-more-directly-whe.patch
- ./0002-in-pthread_mutex_timedlock-avoid-repeatedly-reading-.patch
- ./0003-fix-namespace-violation-for-c11-mutex-functions.patch
- # Fix getaddrinfo usage encountered sometimes in containers
- ./fix-getaddrinfo-regression-with-AI_ADDRCONFIG.patch
- # name_to_handle_at
- ./name-to-handle-at.patch
- ./max-handle-sz-for-name-to-handle-at.patch
- # stacksize bump (upstream)
- ./stacksize-bump.patch
];
- preConfigure = ''
- configureFlagsArray+=("--syslibdir=$out/lib")
- '';
-
CFLAGS = [ "-fstack-protector-strong" ]
++ lib.optional stdenv.hostPlatform.isPower "-mlong-double-64";
@@ -87,6 +65,7 @@ stdenv.mkDerivation rec {
"--enable-static"
"--enable-debug"
"--enable-wrapper=all"
+ "--syslibdir=${placeholder "out"}/lib"
];
outputs = [ "out" "dev" ];
diff --git a/pkgs/os-specific/linux/musl/fexecve-execveat.patch b/pkgs/os-specific/linux/musl/fexecve-execveat.patch
deleted file mode 100644
index 6b3894a916c..00000000000
--- a/pkgs/os-specific/linux/musl/fexecve-execveat.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e36f80cba6d5eefcc1ee664f16c2c72054b83134 Mon Sep 17 00:00:00 2001
-From: "Joseph C. Sible"
-Date: Sun, 2 Sep 2018 13:42:26 -0400
-Subject: implement fexecve in terms of execveat when it exists
-
-This lets fexecve work even when /proc isn't mounted.
----
- src/process/fexecve.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/process/fexecve.c b/src/process/fexecve.c
-index 6507b429..8be3f760 100644
---- a/src/process/fexecve.c
-+++ b/src/process/fexecve.c
-@@ -1,10 +1,15 @@
-+#define _GNU_SOURCE
- #include
- #include
-+#include
-+#include "syscall.h"
-
- void __procfdname(char *, unsigned);
-
- int fexecve(int fd, char *const argv[], char *const envp[])
- {
-+ int r = __syscall(SYS_execveat, fd, "", argv, envp, AT_EMPTY_PATH);
-+ if (r != -ENOSYS) return __syscall_ret(r);
- char buf[15 + 3*sizeof(int)];
- __procfdname(buf, fd);
- execve(buf, argv, envp);
---
-cgit v1.2.1
-
diff --git a/pkgs/os-specific/linux/musl/fix-file-locking-race.patch b/pkgs/os-specific/linux/musl/fix-file-locking-race.patch
deleted file mode 100644
index 2ef91390a69..00000000000
--- a/pkgs/os-specific/linux/musl/fix-file-locking-race.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 0db393d3a77bb9f300a356c6a5484fc2dddb161d Mon Sep 17 00:00:00 2001
-From: Kaarle Ritvanen
-Date: Tue, 18 Sep 2018 10:03:27 +0300
-Subject: fix race condition in file locking
-
-The condition occurs when
-- thread #1 is holding the lock
-- thread #2 is waiting for it on __futexwait
-- thread #1 is about to release the lock and performs a_swap
-- thread #3 enters the __lockfile function and manages to grab the lock
- before thread #1 calls __wake, resetting the MAYBE_WAITERS flag
-- thread #1 calls __wake
-- thread #2 wakes up but goes again to __futexwait as the lock is
- held by thread #3
-- thread #3 releases the lock but does not call __wake as the
- MAYBE_WAITERS flag is not set
-
-This condition results in thread #2 not being woken up. This patch fixes
-the problem by making the woken up thread ensure that the flag is
-properly set before going to sleep again.
-
-Mainainer's note: This fixes a regression introduced in commit
-c21f750727515602a9e84f2a190ee8a0a2aeb2a1.
----
- src/stdio/__lockfile.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/stdio/__lockfile.c b/src/stdio/__lockfile.c
-index 2ff75d8a..0dcb2a42 100644
---- a/src/stdio/__lockfile.c
-+++ b/src/stdio/__lockfile.c
-@@ -8,13 +8,13 @@ int __lockfile(FILE *f)
- int owner = f->lock, tid = __pthread_self()->tid;
- if ((owner & ~MAYBE_WAITERS) == tid)
- return 0;
-- for (;;) {
-- owner = a_cas(&f->lock, 0, tid);
-- if (!owner) return 1;
-- if (a_cas(&f->lock, owner, owner|MAYBE_WAITERS)==owner) break;
-+ owner = a_cas(&f->lock, 0, tid);
-+ if (!owner) return 1;
-+ while ((owner = a_cas(&f->lock, 0, tid|MAYBE_WAITERS))) {
-+ if ((owner & MAYBE_WAITERS) ||
-+ a_cas(&f->lock, owner, owner|MAYBE_WAITERS)==owner)
-+ __futexwait(&f->lock, owner|MAYBE_WAITERS, 1);
- }
-- while ((owner = a_cas(&f->lock, 0, tid|MAYBE_WAITERS)))
-- __futexwait(&f->lock, owner, 1);
- return 1;
- }
-
---
-cgit v1.2.1
-
diff --git a/pkgs/os-specific/linux/musl/fix-getaddrinfo-regression-with-AI_ADDRCONFIG.patch b/pkgs/os-specific/linux/musl/fix-getaddrinfo-regression-with-AI_ADDRCONFIG.patch
deleted file mode 100644
index d603c16f806..00000000000
--- a/pkgs/os-specific/linux/musl/fix-getaddrinfo-regression-with-AI_ADDRCONFIG.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From f381c118b2d4f7d914481d3cdc830ce41369b002 Mon Sep 17 00:00:00 2001
-From: Rich Felker
-Date: Wed, 19 Sep 2018 18:03:22 -0400
-Subject: [PATCH] fix getaddrinfo regression with AI_ADDRCONFIG on some
- configurations
-
-despite not being documented to do so in the standard or Linux
-documentation, attempts to udp connect to 127.0.0.1 or ::1 generate
-EADDRNOTAVAIL when the loopback device is not configured and there is
-no default route for IPv6. this caused getaddrinfo with AI_ADDRCONFIG
-to fail with EAI_SYSTEM and EADDRNOTAVAIL on some no-IPv6
-configurations, rather than the intended behavior of detecting IPv6 as
-unsuppported and producing IPv4-only results.
-
-previously, only EAFNOSUPPORT was treated as unavailability of the
-address family being probed. instead, treat all errors related to
-inability to get an address or route as conclusive that the family
-being probed is unsupported, and only fail with EAI_SYSTEM on other
-errors.
-
-further improvements may be desirable, such as reporting EAI_AGAIN
-instead of EAI_SYSTEM for errors which are expected to be transient,
-but this patch should suffice to fix the serious regression.
----
- src/network/getaddrinfo.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/src/network/getaddrinfo.c b/src/network/getaddrinfo.c
-index ba26847a..e33bfa28 100644
---- a/src/network/getaddrinfo.c
-+++ b/src/network/getaddrinfo.c
-@@ -76,7 +76,16 @@ int getaddrinfo(const char *restrict host, const char *restrict serv, const stru
- close(s);
- if (!r) continue;
- }
-- if (errno != EAFNOSUPPORT) return EAI_SYSTEM;
-+ switch (errno) {
-+ case EADDRNOTAVAIL:
-+ case EAFNOSUPPORT:
-+ case EHOSTUNREACH:
-+ case ENETDOWN:
-+ case ENETUNREACH:
-+ break;
-+ default:
-+ return EAI_SYSTEM;
-+ }
- if (family == tf[i]) return EAI_NONAME;
- family = tf[1-i];
- }
---
-2.19.0
-
diff --git a/pkgs/os-specific/linux/musl/max-handle-sz-for-name-to-handle-at.patch b/pkgs/os-specific/linux/musl/max-handle-sz-for-name-to-handle-at.patch
deleted file mode 100644
index aa00b4619f8..00000000000
--- a/pkgs/os-specific/linux/musl/max-handle-sz-for-name-to-handle-at.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7d7f44253f2d8cfd0a7adf9f918d88aa24d4e012 Mon Sep 17 00:00:00 2001
-From: Khem Raj
-Date: Thu, 13 Sep 2018 07:00:05 -0700
-Subject: [PATCH] define MAX_HANDLE_SZ for use with name_to_handle_at
-
-MAX_HANDLE_SZ is described in name_to_handle_at() to contain maximum
-expected size for a file handle
----
- include/fcntl.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/fcntl.h b/include/fcntl.h
-index 99b21759..4d91338b 100644
---- a/include/fcntl.h
-+++ b/include/fcntl.h
-@@ -166,6 +166,7 @@ struct f_owner_ex {
- };
- #define FALLOC_FL_KEEP_SIZE 1
- #define FALLOC_FL_PUNCH_HOLE 2
-+#define MAX_HANDLE_SZ 128
- #define SYNC_FILE_RANGE_WAIT_BEFORE 1
- #define SYNC_FILE_RANGE_WRITE 2
- #define SYNC_FILE_RANGE_WAIT_AFTER 4
---
-2.19.0
-
diff --git a/pkgs/os-specific/linux/musl/name-to-handle-at.patch b/pkgs/os-specific/linux/musl/name-to-handle-at.patch
deleted file mode 100644
index 10cd8a9947c..00000000000
--- a/pkgs/os-specific/linux/musl/name-to-handle-at.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 3e14bbcd1979376b188bfabb816ff828608fb5d7 Mon Sep 17 00:00:00 2001
-From: Khem Raj
-Date: Wed, 12 Sep 2018 18:02:11 -0700
-Subject: [PATCH] wireup linux/name_to_handle_at and name_to_handle_at syscalls
-
----
- include/fcntl.h | 7 +++++++
- src/linux/name_to_handle_at.c | 10 ++++++++++
- src/linux/open_by_handle_at.c | 8 ++++++++
- 3 files changed, 25 insertions(+)
- create mode 100644 src/linux/name_to_handle_at.c
- create mode 100644 src/linux/open_by_handle_at.c
-
-diff --git a/include/fcntl.h b/include/fcntl.h
-index 6d8edcd1..99b21759 100644
---- a/include/fcntl.h
-+++ b/include/fcntl.h
-@@ -155,6 +155,11 @@ int lockf(int, int, off_t);
- #define F_OWNER_PID 1
- #define F_OWNER_PGRP 2
- #define F_OWNER_GID 2
-+struct file_handle {
-+ unsigned handle_bytes;
-+ int handle_type;
-+ unsigned char f_handle[];
-+};
- struct f_owner_ex {
- int type;
- pid_t pid;
-@@ -170,6 +175,8 @@ struct f_owner_ex {
- #define SPLICE_F_GIFT 8
- int fallocate(int, int, off_t, off_t);
- #define fallocate64 fallocate
-+int name_to_handle_at(int, const char *, struct file_handle *, int *, int);
-+int open_by_handle_at(int, struct file_handle *, int);
- ssize_t readahead(int, off_t, size_t);
- int sync_file_range(int, off_t, off_t, unsigned);
- ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);
-diff --git a/src/linux/name_to_handle_at.c b/src/linux/name_to_handle_at.c
-new file mode 100644
-index 00000000..cd4075bd
---- /dev/null
-+++ b/src/linux/name_to_handle_at.c
-@@ -0,0 +1,10 @@
-+#define _GNU_SOURCE
-+#include
-+#include "syscall.h"
-+
-+int name_to_handle_at(int dirfd, const char *pathname,
-+ struct file_handle *handle, int *mount_id, int flags)
-+{
-+ return syscall(SYS_name_to_handle_at, dirfd,
-+ pathname, handle, mount_id, flags);
-+}
-diff --git a/src/linux/open_by_handle_at.c b/src/linux/open_by_handle_at.c
-new file mode 100644
-index 00000000..1c9b6a2b
---- /dev/null
-+++ b/src/linux/open_by_handle_at.c
-@@ -0,0 +1,8 @@
-+#define _GNU_SOURCE
-+#include
-+#include "syscall.h"
-+
-+int open_by_handle_at(int mount_fd, struct file_handle *handle, int flags)
-+{
-+ return syscall(SYS_open_by_handle_at, mount_fd, handle, flags);
-+}
---
-2.19.0
-
diff --git a/pkgs/os-specific/linux/musl/stacksize-bump.patch b/pkgs/os-specific/linux/musl/stacksize-bump.patch
deleted file mode 100644
index fb5373005cb..00000000000
--- a/pkgs/os-specific/linux/musl/stacksize-bump.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c0058ab465e950c2c3302d2b62e21cc0b494224b Mon Sep 17 00:00:00 2001
-From: Rich Felker
-Date: Tue, 18 Sep 2018 23:11:49 -0400
-Subject: [PATCH 3/4] increase default thread stack/guard size
-
-stack size default is increased from 80k to 128k. this coincides with
-Linux's hard-coded default stack for the main thread (128k is
-initially committed; growth beyond that up to ulimit is contingent on
-additional allocation succeeding) and GNU ld's default PT_GNU_STACK
-size for FDPIC, at least on sh.
-
-guard size default is increased from 4k to 8k to reduce the risk of
-guard page jumping on overflow, since use of just over 4k of stack is
-common (PATH_MAX buffers, etc.).
----
- src/internal/pthread_impl.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h
-index e73a251f..d491f975 100644
---- a/src/internal/pthread_impl.h
-+++ b/src/internal/pthread_impl.h
-@@ -185,8 +185,8 @@ hidden void __inhibit_ptc(void);
- extern hidden unsigned __default_stacksize;
- extern hidden unsigned __default_guardsize;
-
--#define DEFAULT_STACK_SIZE 81920
--#define DEFAULT_GUARD_SIZE 4096
-+#define DEFAULT_STACK_SIZE 131072
-+#define DEFAULT_GUARD_SIZE 8192
-
- #define DEFAULT_STACK_MAX (8<<20)
- #define DEFAULT_GUARD_MAX (1<<20)
---
-2.19.0
-
diff --git a/pkgs/os-specific/linux/musl/tty-more-precise-errors.patch b/pkgs/os-specific/linux/musl/tty-more-precise-errors.patch
deleted file mode 100644
index 06b108559e4..00000000000
--- a/pkgs/os-specific/linux/musl/tty-more-precise-errors.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From c84971995b3a6d5118f9357c040572f4c78bcd55 Mon Sep 17 00:00:00 2001
-From: Benjamin Peterson
-Date: Thu, 13 Sep 2018 14:23:42 -0700
-Subject: improve error handling of ttyname_r and isatty
-
-POSIX allows ttyname(_r) and isatty to return EBADF if passed file
-descriptor is invalid.
-
-maintainer's note: these are optional ("may fail") errors, but it's
-non-conforming for ttyname_r to return ENOTTY when it failed for a
-different reason.
----
- src/unistd/isatty.c | 6 +++++-
- src/unistd/ttyname_r.c | 2 +-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/unistd/isatty.c b/src/unistd/isatty.c
-index c8badaf5..75a9c186 100644
---- a/src/unistd/isatty.c
-+++ b/src/unistd/isatty.c
-@@ -1,9 +1,13 @@
- #include
-+#include
- #include
- #include "syscall.h"
-
- int isatty(int fd)
- {
- struct winsize wsz;
-- return !__syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz);
-+ unsigned long r = syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz);
-+ if (r == 0) return 1;
-+ if (errno != EBADF) errno = ENOTTY;
-+ return 0;
- }
-diff --git a/src/unistd/ttyname_r.c b/src/unistd/ttyname_r.c
-index cb364c29..82acb75e 100644
---- a/src/unistd/ttyname_r.c
-+++ b/src/unistd/ttyname_r.c
-@@ -9,7 +9,7 @@ int ttyname_r(int fd, char *name, size_t size)
- char procname[sizeof "/proc/self/fd/" + 3*sizeof(int) + 2];
- ssize_t l;
-
-- if (!isatty(fd)) return ENOTTY;
-+ if (!isatty(fd)) return errno;
-
- __procfdname(procname, fd);
- l = readlink(procname, name, size);
---
-cgit v1.2.1
-
diff --git a/pkgs/os-specific/linux/ofp/default.nix b/pkgs/os-specific/linux/ofp/default.nix
index 3b2a22e452d..93cf33979f4 100644
--- a/pkgs/os-specific/linux/ofp/default.nix
+++ b/pkgs/os-specific/linux/ofp/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace configure.ac --replace m4_esyscmd m4_esyscmd_s
- substituteInPlace scripts/git_hash.sh --replace /bin/bash /bin/sh
+ substituteInPlace scripts/git_hash.sh --replace /bin/bash ${stdenv.shell}
echo ${version} > .scmversion
'';
diff --git a/pkgs/os-specific/linux/rfkill/rfkill-hook.sh b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
index bf6e679660c..75716e40dae 100755
--- a/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
+++ b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@shell@
# Executes a hook in case of a change to the
# rfkill state. The hook can be passed as
diff --git a/pkgs/os-specific/linux/rfkill/udev.nix b/pkgs/os-specific/linux/rfkill/udev.nix
index 054ed471eaa..de23071f026 100644
--- a/pkgs/os-specific/linux/rfkill/udev.nix
+++ b/pkgs/os-specific/linux/rfkill/udev.nix
@@ -1,4 +1,4 @@
-{ stdenv }:
+{ stdenv, substituteAll }:
# Provides a facility to hook into rfkill changes.
#
@@ -10,7 +10,7 @@
# Add a hook script in the managed etc directory, e.g.:
# etc = [
# { source = pkgs.writeScript "rtfkill.hook" ''
-# #!/bin/sh
+# #!${stdenv.shell}
#
# if [ "$RFKILL_STATE" -eq "1" ]; then
# exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-on
@@ -24,7 +24,13 @@
# Note: this package does not need the binaries
# in the rfkill package.
-stdenv.mkDerivation {
+let
+ rfkillHook =
+ substituteAll {
+ inherit (stdenv) shell;
+ src = ./rfkill-hook.sh;
+ };
+in stdenv.mkDerivation {
name = "rfkill-udev";
unpackPhase = "true";
@@ -37,7 +43,7 @@ stdenv.mkDerivation {
EOF
mkdir -p "$out/bin/";
- cp ${./rfkill-hook.sh} "$out/bin/rfkill-hook.sh"
+ cp ${rfkillHook} "$out/bin/rfkill-hook.sh"
chmod +x "$out/bin/rfkill-hook.sh";
'';
@@ -46,4 +52,4 @@ stdenv.mkDerivation {
description = "Rules+hook for udev to catch rfkill state changes";
platforms = stdenv.lib.platforms.linux;
};
-}
\ No newline at end of file
+}
diff --git a/pkgs/os-specific/linux/service-wrapper/default.nix b/pkgs/os-specific/linux/service-wrapper/default.nix
index 64e38b41a5f..6c9635b3aee 100644
--- a/pkgs/os-specific/linux/service-wrapper/default.nix
+++ b/pkgs/os-specific/linux/service-wrapper/default.nix
@@ -1,4 +1,4 @@
-{ lib, runCommand, substituteAll, coreutils }:
+{ stdenv, runCommand, substituteAll, coreutils }:
let
name = "service-wrapper-${version}";
@@ -7,10 +7,11 @@ in
runCommand "${name}" {
script = substituteAll {
src = ./service-wrapper.sh;
+ inherit (stdenv) shell;
inherit coreutils;
};
- meta = with lib; {
+ meta = with stdenv.lib; {
description = "A convenient wrapper for the systemctl commands, borrow from Ubuntu";
license = licenses.gpl2Plus;
platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh b/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
index 373d86443f0..460bf678e6a 100755
--- a/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
+++ b/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@shell@
###########################################################################
# /usr/bin/service
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index f02f1baafe6..4b8ff89cb7a 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -10,15 +10,24 @@ stdenv.mkDerivation rec {
sha256 = "0wk3r5ki4lc334f9jpml07wpl8d0bnxi9h1l4h4fyf9a0d7n4kmw";
};
- patches = [
+ patches = let
+ mkURL = commit: patchName:
+ "https://salsa.debian.org/images-team/syslinux/raw/${commit}/debian/patches/"
+ + patchName;
+ in [
./perl-deps.patch
(fetchurl {
# ldlinux.elf: Not enough room for program headers, try linking with -N
name = "not-enough-room.patch";
- url = "https://anonscm.debian.org/cgit/collab-maint/syslinux.git/plain/"
- + "debian/patches/0014_fix_ftbfs_no_dynamic_linker.patch?id=a556ad7";
+ url = mkURL "a556ad7" "0014_fix_ftbfs_no_dynamic_linker.patch";
sha256 = "0ijqjsjmnphmvsx0z6ppnajsfv6xh6crshy44i2a5klxw4nlvrsw";
})
+ (fetchurl {
+ # mbr.bin: too big (452 > 440)
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414
+ url = mkURL "7468ef0e38c43" "0016-strip-gnu-property.patch";
+ sha256 = "17n63b8wz6szv8npla1234g1ip7lqgzx2whrpv358ppf67lq8vwm";
+ })
];
postPatch = ''
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index 89c6639748d..6ad232e0b1d 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
makeFlags = [
"KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}"
- "SHELL=/bin/sh"
+ "SHELL=${stdenv.shell}"
"HDAPS=1"
];
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index bf82e916590..64e57f64236 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -16,12 +16,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
assert http2Support -> nghttp2 != null;
stdenv.mkDerivation rec {
- version = "2.4.37";
+ version = "2.4.38";
name = "apache-httpd-${version}";
src = fetchurl {
url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
- sha256 = "09npb7vlz5sizgj0nvl0bqxj9zig29ipkp07fgmw5ykjcxfdr61l";
+ sha256 = "0jiriyyf3pm6axf4mrz6c2z08yhs21hb4d23viq87jclm5bmiikx";
};
# FIXME: -dev depends on -doc
diff --git a/pkgs/servers/mail/system-sendmail/default.nix b/pkgs/servers/mail/system-sendmail/default.nix
index 0e290f13518..fe0aeb5b3af 100644
--- a/pkgs/servers/mail/system-sendmail/default.nix
+++ b/pkgs/servers/mail/system-sendmail/default.nix
@@ -1,7 +1,7 @@
{ stdenv, writeText }:
let script = writeText "script" ''
- #!/bin/sh
+ #!${stdenv.shell}
if command -v sendmail > /dev/null 2>&1 && [ "$(command -v sendmail)" != "{{MYPATH}}" ]; then
exec sendmail "$@"
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
index 62cb2d7f348..cd032ce8534 100644
--- a/pkgs/servers/radarr/default.nix
+++ b/pkgs/servers/radarr/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "radarr-${version}";
- version = "0.2.0.1217";
+ version = "0.2.0.1293";
src = fetchurl {
- url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.v${version}.linux.tar.gz";
- sha256 = "09zzvfqpv58b79a906013pjq42qwbibf16rz24gnqg7wq7az83jy";
+ url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz";
+ sha256 = "0wzwbgfvi48lq4zadzq3rlsbm6irwz534liw8k7hn69yv0wi3wfd";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix
index e9f5e089872..c48a9f938bd 100644
--- a/pkgs/servers/web-apps/codimd/default.nix
+++ b/pkgs/servers/web-apps/codimd/default.nix
@@ -126,7 +126,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cat > $out/bin/codimd <&2
diff --git a/pkgs/tools/backup/flockit/default.nix b/pkgs/tools/backup/flockit/default.nix
index e569d9b6d59..e6284aa42d7 100644
--- a/pkgs/tools/backup/flockit/default.nix
+++ b/pkgs/tools/backup/flockit/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
cp ./libflockit.so $out/lib
(cat < $out/bin/flockit
diff --git a/pkgs/tools/backup/store-backup/default.nix b/pkgs/tools/backup/store-backup/default.nix
index 5f44e19fdf2..7324f75d95f 100644
--- a/pkgs/tools/backup/store-backup/default.nix
+++ b/pkgs/tools/backup/store-backup/default.nix
@@ -9,7 +9,7 @@
# known impurity: test cases seem to bu using /tmp/storeBackup.lock ..
-let dummyMount = writeScriptBin "mount" "#!/bin/sh";
+let dummyMount = writeScriptBin "mount" "#!${stdenv.shell}";
in
stdenv.mkDerivation rec {
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 2c597ccef35..80646949390 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
homepage = http://e2fsprogs.sourceforge.net/;
description = "Tools for creating and checking ext2/ext3/ext4 filesystems";
license = licenses.gpl2;
- platforms = platforms.linux;
+ platforms = platforms.unix;
maintainers = [ maintainers.eelco ];
};
}
diff --git a/pkgs/tools/filesystems/tmsu/default.nix b/pkgs/tools/filesystems/tmsu/default.nix
index fef1d0699e7..fd557a7ff56 100644
--- a/pkgs/tools/filesystems/tmsu/default.nix
+++ b/pkgs/tools/filesystems/tmsu/default.nix
@@ -44,11 +44,11 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/sbin
- mkdir -p $out/share/man
+ mkdir -p $out/share/man/man1
mkdir -p $out/share/zsh/site-functions
make install INSTALL_DIR=$out/bin \
MOUNT_INSTALL_DIR=$out/sbin \
- MAN_INSTALL_DIR=$out/share/man \
+ MAN_INSTALL_DIR=$out/share/man/man1 \
ZSH_COMP_INSTALL_DIR=$out/share/zsh/site-functions
'';
diff --git a/pkgs/tools/graphics/briss/default.nix b/pkgs/tools/graphics/briss/default.nix
index a5045f97b45..fb9b7cae488 100644
--- a/pkgs/tools/graphics/briss/default.nix
+++ b/pkgs/tools/graphics/briss/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation {
mkdir -p "$out/bin";
mkdir -p "$out/share";
install -D -m444 -t "$out/share" *.jar
- echo "#!/bin/sh" > "$out/bin/briss"
+ echo "#!${stdenv.shell}" > "$out/bin/briss"
echo "${jre}/bin/java -Xms128m -Xmx1024m -cp \"$out/share/\" -jar \"$out/share/briss-${version}.jar\"" >> "$out/bin/briss"
chmod +x "$out/bin/briss"
'';
diff --git a/pkgs/tools/graphics/graphviz/base.nix b/pkgs/tools/graphics/graphviz/base.nix
index 68ff84c7495..db21df9b5d0 100644
--- a/pkgs/tools/graphics/graphviz/base.nix
+++ b/pkgs/tools/graphics/graphviz/base.nix
@@ -2,12 +2,26 @@
{ stdenv, fetchFromGitLab, autoreconfHook, pkgconfig, cairo, expat, flex
, fontconfig, gd, gettext, gts, libdevil, libjpeg, libpng, libtool, pango
-, yacc, xorg ? null, ApplicationServices ? null }:
+, yacc, fetchpatch, xorg ? null, ApplicationServices ? null }:
assert stdenv.isDarwin -> ApplicationServices != null;
let
inherit (stdenv.lib) optionals optionalString;
+ raw_patch =
+ # https://gitlab.com/graphviz/graphviz/issues/1367 CVE-2018-10196
+ fetchpatch {
+ name = "CVE-2018-10196.patch";
+ url = https://gitlab.com/graphviz/graphviz/uploads/30f8f0b00e357c112ac35fb20241604a/p.diff;
+ sha256 = "074qx6ch9blrnlilmz7p96fkiz2va84x2fbqdza5k4808rngirc7";
+ excludes = ["tests/*"]; # we don't run them and they don't apply
+ };
+ # the patch needs a small adaption for older versions
+ patch = if stdenv.lib.versionAtLeast version "2.37" then raw_patch else
+ stdenv.mkDerivation {
+ inherit (raw_patch) name;
+ buildCommand = "sed s/dot_root/agroot/g ${raw_patch} > $out";
+ };
in
stdenv.mkDerivation rec {
@@ -37,6 +51,10 @@ stdenv.mkDerivation rec {
"--with-ltdl-include=${libtool}/include"
] ++ stdenv.lib.optional (xorg == null) [ "--without-x" ];
+ patches = [
+ patch
+ ];
+
postPatch = ''
for f in $(find . -name Makefile.in); do
substituteInPlace $f --replace "-lstdc++" "-lc++"
diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix
index 76829b6b727..dc9d9630ae5 100644
--- a/pkgs/tools/graphics/povray/default.nix
+++ b/pkgs/tools/graphics/povray/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
preInstall = ''
mkdir "$TMP/bin"
for i in chown chgrp; do
- echo '#!/bin/sh' >> "$TMP/bin/$i"
+ echo '#!${stdenv.shell}' >> "$TMP/bin/$i"
chmod +x "$TMP/bin/$i"
PATH="$TMP/bin:$PATH"
done
diff --git a/pkgs/tools/graphics/sng/default.nix b/pkgs/tools/graphics/sng/default.nix
index 098721d6b93..182ab5806d7 100644
--- a/pkgs/tools/graphics/sng/default.nix
+++ b/pkgs/tools/graphics/sng/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
homepage = http://sng.sourceforge.net/;
license = licenses.zlib;
maintainers = [ maintainers.dezgeg ];
- platforms = platforms.linux;
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 3a348650308..84a2735dff8 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch;
postPatch = ''
- # The test tends to fail on btrfs and maybe other unusual filesystems.
+ # The test tends to fail on btrfs,f2fs and maybe other unusual filesystems.
sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh
+ sed '2i echo Skipping du threshold test && exit 0' -i ./tests/du/threshold.sh
sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh
sed '2i echo Skipping rm deep-2 test && exit 0' -i ./tests/rm/deep-2.sh
sed '2i echo Skipping du long-from-unreadable test && exit 0' -i ./tests/du/long-from-unreadable.sh
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index a882fe9a9ba..08efe3e6e18 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -47,7 +47,7 @@ buildGoPackage rec {
cp -R $src/shell $bin/share/fzf
cat <