diff options
337 files changed, 8442 insertions, 2625 deletions
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/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 14e1c080102..bbf016194ef 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1579,6 +1579,11 @@ github = "flokli"; name = "Florian Klink"; }; + FlorianFranzen = { + email = "Florian.Franzen@gmail.com"; + github = "FlorianFranzen"; + name = "Florian Franzen"; + }; florianjacob = { email = "projects+nixos@florianjacob.de"; github = "florianjacob"; diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 0937a681d15..6f78983d482 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. </para> </listitem> + <listitem> + <para> + Added the Pantheon desktop environment. + It can be enabled through <varname>services.xserver.desktopManager.pantheon.enable</varname>. + </para> + <note> + <para> + <varname>services.xserver.desktopManager.pantheon</varname> default enables lightdm + as a display manager and using Pantheon's greeter. + </para> + <para> + This is because of limitations with the screenlocking implementation, whereas the + screenlocker would be non-functional without it. + </para> + <para> + Because of that it is recommended to retain this precaution, however if you'd like to change this set: + </para> + <itemizedlist> + <listitem> + <para> + <option>services.xserver.displayManager.lightdm.enable</option> + </para> + </listitem> + <listitem> + <para> + <option>services.xserver.displayManager.lightdm.greeters.pantheon.enable</option> + </para> + </listitem> + </itemizedlist> + <para>to <literal>false</literal> and enable your preferred display manager.</para> + </note> + </listitem> </itemizedlist> </section> diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 6219abda7dc..08422d911eb 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/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 229f2c3abf7..3d8fea95a50 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -172,6 +172,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 <<EOF - #!/bin/sh + #!${stdenv.shell} export PYTHONPATH=$PYTHONPATH ${python.out}/bin/python $out/curabydago/cura.py EOF diff --git a/pkgs/applications/misc/freemind/default.nix b/pkgs/applications/misc/freemind/default.nix index eeb269e580c..5152c8aa3f7 100644 --- a/pkgs/applications/misc/freemind/default.nix +++ b/pkgs/applications/misc/freemind/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { sed -i 's/which/type -p/' $out/nix-support/dist/freemind.sh cat >$out/bin/freemind <<EOF - #! /bin/sh + #! ${stdenv.shell} JAVA_HOME=${jre} $out/nix-support/dist/freemind.sh EOF chmod +x $out/{bin/freemind,nix-support/dist/freemind.sh} diff --git a/pkgs/applications/misc/hello-unfree/default.nix b/pkgs/applications/misc/hello-unfree/default.nix index ef378b2c5ff..c055bddec69 100644 --- a/pkgs/applications/misc/hello-unfree/default.nix +++ b/pkgs/applications/misc/hello-unfree/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cat > $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}" <<EOF - #!/bin/sh + #!${stdenv.shell} cd "$share" export PYTHONPATH="$PYTHONPATH:$share" export PATH="$PATH:${parted}/bin:${procps}/bin" @@ -50,7 +50,7 @@ python36Packages.buildPythonApplication rec { chmod +x "$out/bin/${pname}" ''; - meta = with lib; { + meta = with stdenv.lib; { description = "Multiboot USB creator for Linux live disks"; homepage = http://multibootusb.org/; license = licenses.gpl2; diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix index fa5477697db..a79c63db163 100644 --- a/pkgs/applications/misc/notejot/default.nix +++ b/pkgs/applications/misc/notejot/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, vala_0_40, pkgconfig, meson, ninja, python3, granite -, gtk3, gnome3, gtksourceview, json-glib, gobject-introspection, wrapGAppsHook }: +{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, pantheon +, gtk3, gtksourceview, json-glib, gnome3, gobject-introspection, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "notejot"; @@ -20,14 +20,14 @@ stdenv.mkDerivation rec { ninja pkgconfig python3 - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged + pantheon.vala wrapGAppsHook ]; buildInputs = [ - gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged + pantheon.elementary-icon-theme + pantheon.granite gnome3.libgee - granite gtk3 gtksourceview json-glib diff --git a/pkgs/applications/misc/openjump/default.nix b/pkgs/applications/misc/openjump/default.nix index fdc4cd5b6d9..09ec3433862 100644 --- a/pkgs/applications/misc/openjump/default.nix +++ b/pkgs/applications/misc/openjump/default.nix @@ -17,9 +17,9 @@ stdenv.mkDerivation { s=$out/bin/OpenJump dir=$(echo $out/openjump-*) cat >> $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/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 <<EOF - #!${bash}/bin/sh + #!${stdenv.shell} $out/bin/telegram-wo-key -k $out/tg-server.pub "\$@" EOF chmod +x $out/bin/telegram-cli diff --git a/pkgs/applications/networking/transporter/default.nix b/pkgs/applications/networking/transporter/default.nix index c5b329b5f0a..46649c06911 100644 --- a/pkgs/applications/networking/transporter/default.nix +++ b/pkgs/applications/networking/transporter/default.nix @@ -3,9 +3,9 @@ , meson , ninja , pkgconfig -, granite -, vala_0_40 +, gtk3 , python3 +, pantheon , gnome3 , libxml2 , gettext @@ -31,24 +31,22 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ appstream-glib desktop-file-utils + pantheon.vala gettext gobject-introspection # For setup hook libxml2 meson ninja pkgconfig - vala_0_40 python3 wrapGAppsHook ]; - buildInputs = with gnome3; [ - defaultIconTheme # If I omit this there's no icons in KDE - glib - granite - gsettings-desktop-schemas + buildInputs = [ + pantheon.elementary-icon-theme + gnome3.libgee + pantheon.granite gtk3 - libgee magic-wormhole ]; @@ -59,8 +57,8 @@ in stdenv.mkDerivation rec { ''; postPatch = '' - chmod +x ./meson/post_install.py - patchShebangs ./meson/post_install.py + chmod +x meson/post_install.py + patchShebangs meson/post_install.py ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix index 3dba90f964f..149e126d6e8 100644 --- a/pkgs/applications/networking/weather/meteo/default.nix +++ b/pkgs/applications/networking/weather/meteo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, granite, gtk3 +{ stdenv, fetchFromGitLab, vala, python3, pkgconfig, meson, ninja, gtk3 , gnome3, json-glib, libsoup, clutter, clutter-gtk, libchamplain, webkitgtk , libappindicator, desktop-file-utils, appstream, gobject-introspection, wrapGAppsHook }: diff --git a/pkgs/applications/office/aesop/default.nix b/pkgs/applications/office/aesop/default.nix index 74a56b1f6ca..51e2c55ea7d 100644 --- a/pkgs/applications/office/aesop/default.nix +++ b/pkgs/applications/office/aesop/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, pkgconfig, meson, ninja, python3, granite, gtk3 +{ stdenv, fetchFromGitHub, fetchpatch, pantheon, pkgconfig, meson, ninja, python3, gtk3 , gnome3, desktop-file-utils, json-glib, libsoup, poppler, gobject-introspection, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -21,14 +21,14 @@ stdenv.mkDerivation rec { ninja pkgconfig python3 - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged + pantheon.vala wrapGAppsHook ]; buildInputs = [ - gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged + pantheon.elementary-icon-theme gnome3.libgee - granite + pantheon.granite gtk3 json-glib libsoup diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix index 04b2072967a..63199945f2b 100644 --- a/pkgs/applications/office/bookworm/default.nix +++ b/pkgs/applications/office/bookworm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch, vala_0_40, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, granite, gnome3 +{ stdenv, fetchFromGitHub, fetchpatch, pantheon, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -20,17 +20,17 @@ stdenv.mkDerivation rec { ninja pkgconfig python3 - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged + pantheon.vala wrapGAppsHook ]; - buildInputs = with gnome3; [ + buildInputs = [ + pantheon.elementary-icon-theme + pantheon.granite glib - gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged - granite + gnome3.libgee gtk3 html2text - libgee poppler python2 sqlite diff --git a/pkgs/applications/office/spice-up/default.nix b/pkgs/applications/office/spice-up/default.nix index a32ad677c25..c7e39180ae2 100644 --- a/pkgs/applications/office/spice-up/default.nix +++ b/pkgs/applications/office/spice-up/default.nix @@ -4,7 +4,6 @@ , libxml2 , pkgconfig , gtk3 -, granite , gnome3 , gobject-introspection , json-glib @@ -13,7 +12,7 @@ , libgudev , libevdev , libsoup -, vala_0_40 +, pantheon , wrapGAppsHook }: stdenv.mkDerivation rec { @@ -30,19 +29,19 @@ stdenv.mkDerivation rec { USER = "nix-build-user"; nativeBuildInputs = [ - pkgconfig - wrapGAppsHook - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged cmake - ninja gettext - libxml2 gobject-introspection # For setup hook + libxml2 + ninja + pkgconfig + pantheon.vala + wrapGAppsHook ]; buildInputs = [ - gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged + pantheon.elementary-icon-theme + pantheon.granite gnome3.libgee - granite gtk3 json-glib libevdev diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix index 91be7dca117..ffd25b6238b 100644 --- a/pkgs/applications/science/logic/hol_light/default.nix +++ b/pkgs/applications/science/logic/hol_light/default.nix @@ -11,7 +11,7 @@ let start_script = '' - #!/bin/sh + #!${stdenv.shell} cd $out/lib/hol_light exec ${ocaml}/bin/ocaml \ -I \`${camlp5}/bin/camlp5 -where\` \ diff --git a/pkgs/applications/science/logic/iprover/default.nix b/pkgs/applications/science/logic/iprover/default.nix index d3950349711..46b29e3dd27 100644 --- a/pkgs/applications/science/logic/iprover/default.nix +++ b/pkgs/applications/science/logic/iprover/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { mkdir -p "$out/share/${name}" cp *.p "$out/share/${name}" - echo -e "#! /bin/sh\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$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 = [ - pkgconfig - wrapGAppsHook - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged cmake + pantheon.vala gobject-introspection # for setup-hook + pkgconfig + wrapGAppsHook ]; 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/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 f59900ab759..ef17a3f4e58 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 <<EOF > /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 bbe848a3b82..a27bc2cc9ae 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..3494474c49c --- /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.5"; + + name = "elementary-${pname}-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0z0pisg7py2k6i31v18z5fgpj8x64m1s5clfq4vbbjrcjwx6dcx5"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-${pname}"; + }; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + glib-networking + gobject-introspection + meson + ninja + pkgconfig + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + bamf + elementary-icon-theme + granite + gtk3 + libcanberra + libdbusmenu-gtk3 + libgee + libnotify + libunity + pango + plank + sqlite + zeitgeist + ]; + + patches = [ ./hardcode-gsettings.patch ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + + substituteInPlace filechooser-module/FileChooserDialog.vala --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas + ''; + + # xdg.mime will create this + postInstall = '' + rm $out/share/applications/mimeinfo.cache + ''; + + meta = with stdenv.lib; { + description = "File browser designed for elementary OS"; + homepage = https://github.com/elementary/files; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/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<string, string> get_variants_for_language (string language) { + var returned_table = new HashTable<string, string> (str_hash, str_equal); + returned_table.set ("", _("Default")); +- Xml.Doc* doc = Xml.Parser.parse_file ("/usr/share/X11/xkb/rules/evdev.xml"); ++ Xml.Doc* doc = Xml.Parser.parse_file ("@config@"); + if (doc == null) { + critical ("'evdev.xml' not found or permissions incorrect\n"); + return returned_table; diff --git a/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 { + </transition> + """; + +- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds"; ++ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds"; + + private int delay_value = 60; + +diff --git a/src/Views/Wallpaper.vala b/src/Views/Wallpaper.vala +index 4be14fa..aa8832f 100644 +--- a/src/Views/Wallpaper.vala ++++ b/src/Views/Wallpaper.vala +@@ -38,7 +38,7 @@ public class Wallpaper : Gtk.Grid { + FileAttribute.THUMBNAIL_IS_VALID + }; + +- const string SYSTEM_BACKGROUNDS_PATH = "/usr/share/backgrounds"; ++ const string SYSTEM_BACKGROUNDS_PATH = "/run/current-system/sw/share/backgrounds"; + + public Switchboard.Plug plug { get; construct set; } + private GLib.Settings settings; diff --git a/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<string, UFWHelpers.Rule> (); + load_disabled_rules (); +- ++ + status_switch.notify["active"].connect (() => { + if (loading == false) { + view.sensitive = status_switch.active; +diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala +index 081cf10..42f6118 100644 +--- a/src/Views/LockPanel.vala ++++ b/src/Views/LockPanel.vala +@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage { + } + + construct { +- locker = new Settings ("apps.light-locker"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false); ++ ++ locker = new Settings.full (locker_schema, null, null); + + var lock_suspend_label = new Gtk.Label (_("Lock on sleep:")); + var lock_suspend_switch = new Gtk.Switch (); diff --git a/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<Switchboard.Plug> plugs; + + public signal void plug_added (Switchboard.Plug plug); +- ++ + private PlugsManager () { + plugs = new Gee.LinkedList<Switchboard.Plug> (); +- var base_folder = File.new_for_path (Build.PLUGS_DIR); ++ ++ var plugs_path = Environment.get_variable("SWITCHBOARD_PLUGS_PATH"); ++ if (plugs_path != null) { ++ debug ("SWITCHBOARD_PLUGS_PATH set to %s", plugs_path); ++ } else { ++ critical ("SWITCHBOARD_PLUGS_PATH not set"); ++ } ++ ++ var base_folder = File.new_for_path (plugs_path); + find_plugins (base_folder); + } + diff --git a/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..23fb8445838 --- /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.3"; + + name = "elementary-icon-theme-${version}"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0wpv7yirf44bfqfmyshzfw9605j1idm7c9jqg68k3nmymmd6iqzf"; + }; + + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + attrPath = "elementary-icon-theme"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + python3 + ]; + + buildInputs = [ gtk3 ]; + + propagatedBuildInputs = [ hicolor-icon-theme ]; + + mesonFlags = [ + "-Dvolume_icons=false" # Tries to install some icons to / + "-Dpalettes=false" # Don't install gimp and inkscape palette files + ]; + + postPatch = '' + chmod +x meson/symlink.py + patchShebangs meson/symlink.py + ''; + + postFixup = "gtk-update-icon-cache $out/share/icons/elementary"; + + meta = with stdenv.lib; { + description = "Named, vector icons for elementary OS"; + longDescription = '' + An original set of vector icons designed specifically for elementary OS and its desktop environment: Pantheon. + ''; + homepage = https://github.com/elementary/icons; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/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=['<Control>space'] + +-[org.gnome.desktop.background] +-draw-background=true +-picture-options='zoom' +-picture-uri='file:///usr/share/backgrounds/elementaryos-default' +-primary-color='#000000' +-show-desktop-icons=false +- + [org.gnome.desktop.datetime] + automatic-timezone=true + diff --git a/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 <worldofpeace@users.noreply.github.com> +Date: Tue, 17 Jul 2018 07:04:18 -0400 +Subject: [PATCH 1/1] 'sysconfdir' will be etc not /etc for install + +--- + data/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/meson.build b/data/meson.build +index 7621b03..7c08eaf 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -20,7 +20,7 @@ i18n.merge_file ( + + install_data( + meson.project_name() + '.conf', +- install_dir: join_paths(get_option('sysconfdir'), 'lightdm') ++ install_dir: join_paths(get_option('prefix'), 'etc', 'lightdm') + ) + + install_data( +-- +2.17.1 + diff --git a/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/default.nix b/pkgs/desktops/pantheon/granite/default.nix index eacb84e3361..66ba331ddcd 100644 --- a/pkgs/development/libraries/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -1,31 +1,31 @@ -{ 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"; - version = "5.2.2"; + version = "5.2.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1zp0pp5v3j8k6ail724p7h5jj2zmznj0a2ybwfw5sspfdw5bfydh"; + sha256 = "10ddq1s2w4jvpzq813cylmqhh8pggzaz890fy3kzg07275i98gah"; }; patches = [ - # Add Meson support that hit after 5.2.2 - (fetchpatch { - url = "https://github.com/elementary/granite/commit/2066b377226cf327cb2d5399b6b40a2d36d47b11.patch"; - sha256 = "1bxjgq8wvl1sb79cwhmh9kwawnkkfn7c5q67cyz1fjxmamwyyi85"; - }) - (fetchpatch { - url = "https://github.com/elementary/granite/commit/f1b29f52e3aaf0f5d6bba44c42617da265f679c8.patch"; - sha256 = "0cdp9ny6fj1lpcirab641p1qn1rbsvnsaa03hnr6zsdpim96jlvs"; - }) # Resolve the circular dependency between granite and the datetime wingpanel indicator # See: https://github.com/elementary/granite/pull/242 - ./02-datetime-clock-format-gsettings.patch + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/granite/raw/0550b44ed6400c9b1ff7e70871913747df2ff323/f/00-datetime-clock-format-gsettings.patch"; + sha256 = "0i9yvdmn77x5fjdwd1raw6ym8js8yxa7w6ydc7syx7hcyls00dmq"; + }) ]; + passthru = { + updateScript = pantheon.updateScript { + repoName = pname; + }; + }; + nativeBuildInputs = [ gettext gobject-introspection @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ninja pkgconfig python3 - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged + vala wrapGAppsHook ]; @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { glib gtk3 hicolor-icon-theme - gnome3.libgee + libgee ]; postPatch = '' @@ -58,6 +58,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 <glib.h> + +-#ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" +-#else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" +-#endif ++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + + typedef struct _TzDB TzDB; + typedef struct _TzLocation TzLocation; diff --git a/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 +Usage: update.sh <repo_name> <attr> +EOF +} + +# +# ─── POINTS YOU IN THE RIGHT DIRECTION ────────────────────────────────────────── +# + + function usage_tip ( ) { + echo 'run `update.sh -h` for usage instructions' >&2 + exit 1 + } + +# +# ─── OPTIONS: RELEASE | MASTER ──────────────────────────────────────────────────── +# + + while getopts ":hrm" opt; do + case $opt in + r) + release=1 + master=0 + ;; + m) + master=1 + release=0 + ;; + h) + usage + exit + ;; + ?) + echo "Invalid option: -$OPTARG" >&2 + usage_tip + ;; + esac + done + + shift $((OPTIND-1)) + +# +# ─── FAIL WITH MESSAGE AND NON-ZERO EXIT STATUS ───────────────────────────────── +# + + function fail ( ) { + echo "$1" >&2 + exit 1 + } + +# +# ─── UPDATES PACKAGE TO LATEST TAGGED RELEASE ─────────────────────────────── +# + + function update_to_latest_release ( ) { + repo_name="$1" + attr="$2" + + version=$(get_latest_tag "$repo_name") + fetch=$(fetch "$repo_name" "refs/tags/${version}") + sha256=$(get_hash "${fetch}") + + update-source-version "pantheon.$attr" "$version" "$sha256" + + nix_file=$(get_file_path $attr) + + if [ ! -f "$nix_file" ]; then + fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!" + fi + + correct_rev "$attr" "$nix_file" "version" + } + +# +# ─── UPDATES PACKAGE TO MASTER ────────────────────────────────────────────────── +# + + function update_to_master ( ) { + repo_name="$1" + attr="$2" + + fetch=$(fetch "$repo_name" "refs/heads/master") + + version=$(get_version "$fetch") + sha256=$(get_hash "$fetch") + proper_version=$(get_master_date "$fetch") + + update-source-version "pantheon.$attr" "$proper_version" "$sha256" + + nix_file=$(get_file_path $attr) + + if [ ! -f "$nix_file" ]; then + fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!" + fi + + correct_rev "$attr" "$nix_file" '"'$version'"' + } + +# +# ─── GETS THE LATEST TAGGED RELEASE NAME FROM GITHUB ───────────────────── +# + + function get_latest_tag ( ) { + repo_name="$1" + + # Using github release api because sorting this repo just doesn't work because of old git sillyness + # Also too lazy to care to adapt `git ls-remote` command to work with it + if [ $repo_name == "switchboard-plug-pantheon-shell" ]; then + curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name' + else + git ls-remote --tags --sort="v:refname" "https://github.com/elementary/$repo_name" | tail -n1 | sed 's/.*\///; s/\^{}//' + fi + } + +# +# ─── FETCHES REPO AND RETURNS RELEVANT INFORMATION ────────────────── +# + + function fetch ( ) { + repo_name="$1" + version="$2" + + base_url="https://github.com/elementary" + full_url="$base_url/$repo_name" + + nix-prefetch-git --quiet --no-deepClone --url "$full_url" --rev "$version" + } + +# +# ─── PARSES GIT REVISION FROM FETCH ───────────────────────────────────────────── +# + + function get_version ( ) { + fetch_info="$1" + + echo "$fetch_info" | jq -r '.rev' + } + +# +# ─── PARSES HASH FROM FETCH ───────────────────────────────────────────────────── +# + + function get_hash ( ) { + fetch_info="$1" + + echo "$fetch_info" | jq -r '.sha256' + } + +# +# ─── PARSES DATE FROM FETCH AND NORMALIZES IT TO NIXPKGS STANDARD ─────────────── +# + + function get_master_date ( ) { + fetch_info="$1" + + full_date=$(echo "$fetch_info" | jq -r '.date') + short_date=$(date -d "$full_date" +"%Y-%m-%d") + + echo "unstable-$short_date" + } + +# +# ─── RETURN NIX EXPRESSION PATH ───────────────────────────────────────────────── +# + + function get_file_path () { + attr="$1" + + nix-instantiate --eval --strict -A "pantheon.$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/' + } + +# +# ─── CORRECTS REV VERSION ─────────────────────────────────────────────────────────── +# + + function correct_rev ( ) { + attr="$1" + nix_file="$2" + rev="$3" + + check_pattern1='^\s*rev\s*=\s*"[0-9a-f]{5,40}"' + check_pattern2='^\s*rev\s*=\s*version' + + replace_pattern1='/\brev\b\s*=/ s|\"[0-9a-f]{5,40}\"|'$rev'|' + replace_pattern2='/\brev\b\s*=/ s|version|'$rev'|' + + if [ $(grep -c -P "$check_pattern1" "$nix_file") = 1 ]; then + pattern="$replace_pattern1" + elif [ $(grep -c -P "$check_pattern2" "$nix_file") = 1 ]; then + pattern="$replace_pattern2" + else + fail "Couldn't figure out where out where to patch in the correct version in pantheon.$attr!" + fi + + sed -i.bak "$nix_file" -re "$pattern" + rm -f "$nix_file.bak" + } + + +# +# ─── WHETHER TO UPDATE TO RELEASE OR MASTER ────────────────────────────────── +# + + if [ $release = 1 ]; then + update_to_latest_release $1 $2 + elif [ $master = 1 ]; then + update_to_master $1 $2 + else + exit 1 + fi + +# ──────────────────────────────────────────────────────────────────────────────── diff --git a/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/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 <<EOF - #!/bin/sh + #!${stdenv.shell} make -C $out/opt/cmdstan "\$(realpath "\$1")" EOF chmod a+x $out/bin/stan diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index f9f083f04d7..2de487cc9c8 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { configurePhase = '' sed -i '988d' src/FSharpSource.targets - substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "/bin/sh" + substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "${stdenv.shell}" ./autogen.sh --prefix $out ''; diff --git a/pkgs/development/compilers/fsharp41/default.nix b/pkgs/development/compilers/fsharp41/default.nix index 3ce7ae60e11..e0094c73098 100644 --- a/pkgs/development/compilers/fsharp41/default.nix +++ b/pkgs/development/compilers/fsharp41/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ]; configurePhase = '' - substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "/bin/sh" + substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "${stdenv.shell}" ./autogen.sh --prefix $out ''; diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index adaf4e36ce9..6fd1995354f 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -180,18 +180,23 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" "pie" ]; - # This should kill all the stdinc frameworks that gcc and friends like to - # insert into default search paths. - prePatch = stdenv.lib.optionalString hostPlatform.isDarwin '' - substituteInPlace gcc/config/darwin-c.c \ - --replace 'if (stdinc)' 'if (0)' - - substituteInPlace libgcc/config/t-slibgcc-darwin \ - --replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)" - - substituteInPlace libgfortran/configure \ - --replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname" - ''; + prePatch = + (stdenv.lib.optionalString (langJava || langGo) '' + export lib=$out + '') + + # This should kill all the stdinc frameworks that gcc and friends like to + # insert into default search paths. + + stdenv.lib.optionalString hostPlatform.isDarwin '' + substituteInPlace gcc/config/darwin-c.c \ + --replace 'if (stdinc)' 'if (0)' + + substituteInPlace libgcc/config/t-slibgcc-darwin \ + --replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)" + + substituteInPlace libgfortran/configure \ + --replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname" + ''; postPatch = if targetPlatform != hostPlatform || stdenv.cc.libc != null then @@ -447,7 +452,7 @@ stdenv.mkDerivation ({ // optionalAttrs (enableMultilib) { dontMoveLib64 = true; } -// optionalAttrs (langJava) { +// optionalAttrs (langJava && !stdenv.hostPlatform.isDarwin) { postFixup = '' target="$(echo "$out/libexec/gcc"/*/*/ecj*)" patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target" diff --git a/pkgs/development/compilers/ghc/8.2.2-binary.nix b/pkgs/development/compilers/ghc/8.2.2-binary.nix index f52d8fd4a11..678245d3e43 100644 --- a/pkgs/development/compilers/ghc/8.2.2-binary.nix +++ b/pkgs/development/compilers/ghc/8.2.2-binary.nix @@ -1,4 +1,4 @@ -{ stdenv +{ stdenv, substituteAll , fetchurl, perl, gcc, llvm_39 , ncurses5, gmp, glibc, libiconv }: @@ -110,10 +110,16 @@ stdenv.mkDerivation rec { ''; configurePlatforms = [ ]; - configureFlags = [ - "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib" + configureFlags = + let + gcc-clang-wrapper = substituteAll { + inherit (stdenv) shell; + src = ./gcc-clang-wrapper.sh; + }; + in + [ "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib" "--with-gmp-includes=${stdenv.lib.getDev gmp}/include" - ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" + ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${gcc-clang-wrapper}" ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; # Stripping combined with patchelf breaks the executables (they die diff --git a/pkgs/development/compilers/ghc/gcc-clang-wrapper.sh b/pkgs/development/compilers/ghc/gcc-clang-wrapper.sh index d081be231a1..45af982c297 100755 --- a/pkgs/development/compilers/ghc/gcc-clang-wrapper.sh +++ b/pkgs/development/compilers/ghc/gcc-clang-wrapper.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!@shell@ inPreprocessorMode () { hasE=0 diff --git a/pkgs/development/compilers/go/1.10.nix b/pkgs/development/compilers/go/1.10.nix index 867344e84da..5dce1529a8b 100644 --- a/pkgs/development/compilers/go/1.10.nix +++ b/pkgs/development/compilers/go/1.10.nix @@ -1,5 +1,7 @@ { stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin -, perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation }: +, perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation +, fetchpatch +}: let @@ -122,6 +124,11 @@ stdenv.mkDerivation rec { ./creds-test.patch ./go-1.9-skip-flaky-19608.patch ./go-1.9-skip-flaky-20072.patch + (fetchpatch { + name = "missing_cpuHog_in_pprof_output.diff"; + url = "https://github.com/golang/go/commit/33110e2c.diff"; + sha256 = "04vh9lflbpz9xjvymyzhd91gkxiiwwz4lhglzl3r8z0lk45p96qn"; + }) ]; postPatch = optionalString stdenv.isDarwin '' diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix index 7b0b1f2fb41..2b589125604 100644 --- a/pkgs/development/compilers/iasl/default.nix +++ b/pkgs/development/compilers/iasl/default.nix @@ -25,6 +25,6 @@ stdenv.mkDerivation rec { description = "Intel ACPI Compiler"; homepage = http://www.acpica.org/; license = stdenv.lib.licenses.iasl; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index 68ee80fa7a6..6807240df81 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -59,6 +59,7 @@ let libcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; extraPackages = [ targetLlvmLibraries.libcxx targetLlvmLibraries.libcxxabi diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix index 5ee551f6b6b..ae51c19ec72 100644 --- a/pkgs/development/compilers/llvm/6/default.nix +++ b/pkgs/development/compilers/llvm/6/default.nix @@ -59,6 +59,7 @@ let libcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; extraPackages = [ targetLlvmLibraries.libcxx targetLlvmLibraries.libcxxabi diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index 47c6e9e383f..3f1192d9626 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -59,6 +59,7 @@ let libcxxClang = wrapCCWith rec { cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; extraPackages = [ targetLlvmLibraries.libcxx targetLlvmLibraries.libcxxabi diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index 35575f1052e..a3a0a9d5934 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -98,7 +98,7 @@ let preConfigure = '' chmod +x configure substituteInPlace configure --replace /bin/bash "${bash}/bin/bash" - substituteInPlace hotspot/make/linux/adlc_updater --replace /bin/sh "$shell" + substituteInPlace hotspot/make/linux/adlc_updater --replace /bin/sh "${stdenv.shell}" substituteInPlace hotspot/make/linux/makefiles/dtrace.make --replace /usr/include/sys/sdt.h "/no-such-path" '' # https://bugzilla.redhat.com/show_bug.cgi?id=1306558 diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index 9528d798618..ddef4adf0a0 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -3,16 +3,16 @@ let # Note: the version MUST be one version prior to the version we're # building - version = "1.30.1"; + version = "1.31.1"; - # fetch hashes by running `print-hashes.sh 1.30.0` + # fetch hashes by running `print-hashes.sh 1.31.1` hashes = { - i686-unknown-linux-gnu = "c61655977fb16decf0ceb76043b9ae2190927aa9cc24f013d444384dcab99bbf"; - x86_64-unknown-linux-gnu = "a01a493ed8946fc1c15f63e74fc53299b26ebf705938b4d04a388a746dfdbf9e"; - armv7-unknown-linux-gnueabihf = "9b3b6df02a2a92757e4993a7357fdd02e07b60101a748b4618e6ae1b90bc1b6b"; - aarch64-unknown-linux-gnu = "6d87d81561285abd6c1987e07b60b2d723936f037c4b46eedcc12e8566fd3874"; - i686-apple-darwin = "a7c14b18e96406d9f43d69d0f984b2fa6f92cc7b7b37e2bb7b70b6f44b02b083"; - x86_64-apple-darwin = "3ba1704a7defe3d9a6f0c1f68792c084da83bcba85e936d597bac0c019914b94"; + i686-unknown-linux-gnu = "1e77e5e8c745320faad9ce6f319a77b4a2e75d972eb68a195acd081ad910ab6d"; + x86_64-unknown-linux-gnu = "a64685535d0c457f49a8712a096a5c21564cd66fd2f7da739487f028192ebe3c"; + armv7-unknown-linux-gnueabihf = "11c717b781a7af5bdc829894139f8f45d4c12a061f7f9e39481f21426a04eb21"; + aarch64-unknown-linux-gnu = "29a7c6eb536fefd0ca459e48dfaea006aa8bff8a87aa82a9b7d483487033632a"; + i686-apple-darwin = "46566dc25fcbd8badc9950b8c9f9b0faeca065b5a09cd96258e4f4b10d686aed"; + x86_64-apple-darwin = "8398b1b303bdf0e7605d08b87070a514a4f588797c6fb3593718cb9cec233ad6"; }; platform = diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 02ea7ebbbfb..a7e2a40597b 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -10,8 +10,8 @@ rustPlatform.buildRustPackage rec { inherit version src patches; # the rust source tarball already has all the dependencies vendored, no need to fetch them again - cargoVendorDir = "src/vendor"; - preBuild = "cd src; pushd tools/cargo"; + cargoVendorDir = "vendor"; + preBuild = "pushd src/tools/cargo"; postBuild = "popd"; passthru.rustc = rustc; diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 1f24157eea4..9640cd9b577 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -7,11 +7,11 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.31.0"; - cargoVersion = "1.31.0"; + version = "1.32.0"; + cargoVersion = "1.32.0"; src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "01pg2619bwjnhjbphryrbkwaz0lw8cfffm4xlz35znzipb04vmcs"; + sha256 = "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac"; }; in rec { rustc = callPackage ./rustc.nix { @@ -22,11 +22,6 @@ in rec { # Re-evaluate if this we need to disable this one #./patches/stdsimd-disable-doctest.patch - - # Fails on hydra - not locally; the exact reason is unknown. - # Comments in the test suggest that some non-reproducible environment - # variables such $RANDOM can make it fail. - ./patches/disable-test-inherit-env.patch ]; withBundledLLVM = false; diff --git a/pkgs/development/compilers/rust/patches/disable-test-inherit-env.patch b/pkgs/development/compilers/rust/patches/disable-test-inherit-env.patch deleted file mode 100644 index fcb75ed098e..00000000000 --- a/pkgs/development/compilers/rust/patches/disable-test-inherit-env.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- rustc-1.26.2-src.org/src/libstd/process.rs 2018-06-01 21:40:11.000000000 +0100 -+++ rustc-1.26.2-src/src/libstd/process.rs 2018-06-08 07:50:23.023828658 +0100 -@@ -1745,6 +1745,7 @@ - } - - #[test] -+ #[ignore] - fn test_inherit_env() { - use env; - diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index c6350e42bc2..1f43832716b 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -1,6 +1,6 @@ { stdenv, targetPackages, removeReferencesTo , fetchurl, fetchgit, fetchzip, file, python2, tzdata, ps -, llvm, jemalloc, ncurses, darwin, rustPlatform, git, cmake, curl +, llvm, ncurses, darwin, rustPlatform, git, cmake, curl , which, libffi, gdb , version , withBundledLLVM ? false @@ -20,8 +20,6 @@ let llvmShared = llvm.override { enableSharedLibraries = true; }; - prefixedJemalloc = jemalloc.override { stripPrefix = false; }; - target = builtins.replaceStrings [" "] [","] (builtins.toString targets); in @@ -62,7 +60,6 @@ stdenv.mkDerivation { configureFlags = configureFlags ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" "--enable-vendor" - "--jemalloc-root=${prefixedJemalloc}/lib" "--default-linker=${targetPackages.stdenv.cc}/bin/cc" ] ++ optional (!withBundledLLVM) [ "--enable-llvm-link-shared" "--llvm-root=${llvmShared}" ] ++ optional (targets != []) "--target=${target}"; @@ -85,7 +82,6 @@ stdenv.mkDerivation { patchShebangs src/etc ${optionalString (!withBundledLLVM) ''rm -rf src/llvm''} - rm -rf src/jemalloc # Fix the configure script to not require curl as we won't use it sed -i configure \ @@ -97,7 +93,7 @@ stdenv.mkDerivation { # https://github.com/rust-lang/rust/issues/39522 echo removing gdb-version-sensitive tests... find src/test/debuginfo -type f -execdir grep -q ignore-gdb-version '{}' \; -print -delete - rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,gdb-pretty-struct-and-enums-pre-gdb-7-7.rs,generic-enum-with-different-disr-sizes.rs} + rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,gdb-pretty-struct-and-enums.rs,generic-enum-with-different-disr-sizes.rs} # Useful debugging parameter # export VERBOSE=1 diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 5f21399229a..d94437b6a16 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, fetchpatch, pkgconfig, flex, bison, libxslt, autoconf, automake, autoreconfHook -, graphviz, glib, libiconv, libintl, libtool, expat +, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll }: let @@ -45,6 +45,11 @@ let name = "vala-${version}"; version = "${major}.${minor}"; + setupHook = substituteAll { + src = ./setup-hook.sh; + apiVersion = major; + }; + src = fetchurl { url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz"; inherit sha256; diff --git a/pkgs/development/compilers/vala/setup-hook.sh b/pkgs/development/compilers/vala/setup-hook.sh new file mode 100644 index 00000000000..8252143e998 --- /dev/null +++ b/pkgs/development/compilers/vala/setup-hook.sh @@ -0,0 +1,15 @@ +make_vala_find_vapi_files() { + # XDG_DATA_DIRS: required for finding .vapi files + if [ -d "$1/share/vala/vapi" -o -d "$1/share/vala-@apiVersion@/vapi" ]; then + addToSearchPath XDG_DATA_DIRS $1/share + fi +} + +addEnvHooks "$hostOffset" make_vala_find_vapi_files + +_multioutMoveVapiDirs() { + moveToOutput share/vala/vapi "${!outputDev}" + moveToOutput share/vala-@apiVersion@/vapi "${!outputDev}" +} + +preFixupHooks+=(_multioutMoveVapiDirs) diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index b282a49e8af..eb45f446dc9 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -130,7 +130,7 @@ let echo "$d" | grep -q "\(/_\|examples\|Godeps\)" && return 0 [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0 local OUT - if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v $d 2>&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/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 <https://bugs.gnu.org/14201>. - 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 c40fa044cfe..d6f7b46079f 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/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index 8f7a04cbb68..f161e0f511a 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libiconv +{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconv , libintl, expat, zlib, libpng, pixman, fontconfig, freetype, xorg , gobjectSupport ? true, glib , xcbSupport ? true # no longer experimental since 1.12 @@ -20,6 +20,19 @@ in stdenv.mkDerivation rec { sha256 = "0c930mk5xr2bshbdljv005j3j8zr47gqmkry3q6qgvqky6rjjysy"; }; + patches = [ + # Fixes CVE-2018-19876; see Nixpkgs issue #55384 + # CVE information: https://nvd.nist.gov/vuln/detail/CVE-2018-19876 + # Upstream PR: https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5 + # + # This patch is the merged commit from the above PR. + (fetchpatch { + name = "CVE-2018-19876.patch"; + url = "https://gitlab.freedesktop.org/cairo/cairo/commit/6edf572ebb27b00d3c371ba5ae267e39d27d5b6d.patch"; + sha256 = "112hgrrsmcwxh1r52brhi5lksq4pvrz4xhkzcf2iqp55jl2pb7n1"; + }) + ]; + outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; # very small 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/granite/02-datetime-clock-format-gsettings.patch b/pkgs/development/libraries/granite/02-datetime-clock-format-gsettings.patch deleted file mode 100644 index 7b7c9871133..00000000000 --- a/pkgs/development/libraries/granite/02-datetime-clock-format-gsettings.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 698e34dd6e8d98a1818ae00d3313b69a86340771 Mon Sep 17 00:00:00 2001 -From: Fabio Valentini <decathorpe@gmail.com> -Date: Mon, 17 Dec 2018 14:58:14 +0100 -Subject: DateTime: include "clock-format" gsettings key here - ---- - data/io.elementary.granite.gschema.xml | 15 +++++++++++++++ - data/meson.build | 4 ++++ - lib/DateTime.vala | 4 ++-- - meson.build | 11 +++++++++++ - meson/post_install.py | 5 +++++ - 5 files changed, 37 insertions(+), 2 deletions(-) - create mode 100644 data/io.elementary.granite.gschema.xml - create mode 100644 data/meson.build - -diff --git a/data/io.elementary.granite.gschema.xml b/data/io.elementary.granite.gschema.xml -new file mode 100644 -index 0000000..1540fb0 ---- /dev/null -+++ b/data/io.elementary.granite.gschema.xml -@@ -0,0 +1,15 @@ -+<?xml version="1.0" encoding="UTF-8"?> -+<schemalist> -+ <enum id="io.elementary.granite.clock-formats"> -+ <value nick="12h" value="0" /> -+ <value nick="24h" value="1" /> -+ <value nick="ISO8601" value="2" /> -+ </enum> -+ <schema id="io.elementary.granite" path="/io/elementary/granite/"> -+ <key name="clock-format" enum="io.elementary.granite.clock-formats"> -+ <default>"12h"</default> -+ <summary>Whether the clock displays in 12h or 24h format</summary> -+ <description>Whether the clock displays in 12h or 24h format</description> -+ </key> -+ </schema> -+</schemalist> -diff --git a/data/meson.build b/data/meson.build -new file mode 100644 -index 0000000..96cc3b1 ---- /dev/null -+++ b/data/meson.build -@@ -0,0 +1,4 @@ -+install_data( -+ rdnn + '.gschema.xml', -+ install_dir: schema_dir -+) -diff --git a/lib/DateTime.vala b/lib/DateTime.vala -index aea2ec6..3d81191 100644 ---- a/lib/DateTime.vala -+++ b/lib/DateTime.vala -@@ -104,13 +104,13 @@ namespace Granite.DateTime { - } - - /** -- * Gets the //clock-format// key from //org.gnome.desktop.interface// schema -+ * Gets the //clock-format// key from //io.elementary.granite// schema - * and determines if the clock format is 12h based - * - * @return true if the clock format is 12h based, false otherwise. - */ - private static bool is_clock_format_12h () { -- var h24_settings = new Settings ("io.elementary.desktop.wingpanel.datetime"); -+ var h24_settings = new Settings ("io.elementary.granite"); - var format = h24_settings.get_string ("clock-format"); - return (format.contains ("12h")); - } -diff --git a/meson.build b/meson.build -index 8b98eeb..f0abcdf 100644 ---- a/meson.build -+++ b/meson.build -@@ -4,6 +4,8 @@ project( - version: '5.2.2' - ) - -+rdnn = 'io.elementary.' + meson.project_name() -+ - if meson.get_compiler('vala').version().version_compare('<0.40.0') - error('vala compiler version 0.40.0 or newer is required.') - endif -@@ -52,10 +54,18 @@ icons_dir = join_paths( - 'hicolor' - ) - -+schema_dir = join_paths( -+ get_option('prefix'), -+ get_option('datadir'), -+ 'glib-2.0', -+ 'schemas' -+) -+ - pkgconfig = import('pkgconfig') - i18n = import('i18n') - - subdir('lib') -+subdir('data') - subdir('demo') - subdir('icons') - subdir('po') -@@ -68,5 +78,6 @@ endif - meson.add_install_script( - join_paths(meson.current_source_dir(), 'meson', 'post_install.py'), - '--iconsdir', icons_dir, -+ '--schemadir', schema_dir, - ) - -diff --git a/meson/post_install.py b/meson/post_install.py -index 1864515..5313f96 100755 ---- a/meson/post_install.py -+++ b/meson/post_install.py -@@ -6,11 +6,16 @@ import subprocess - - parser = argparse.ArgumentParser() - parser.add_argument("--iconsdir", action="store", required=True) -+parser.add_argument("--schemadir", action="store", required=True) - args = vars(parser.parse_args()) - - icons_dir = args["iconsdir"] -+schema_dir = args["schemadir"] - - if not os.environ.get('DESTDIR'): - print('Compiling icon cache ...') - subprocess.run(['gtk-update-icon-cache', icons_dir]) - -+ print('Compiling GSettings schemas ...') -+ subprocess.run(['glib-compile-schemas', schema_dir]) -+ --- -2.20.1 - diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index dc0675db2cd..52f1f5574dd 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" ]; @@ -35,6 +35,11 @@ stdenv.mkDerivation rec { url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123"; sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p"; }) + # 3.24.3: https://gitlab.gnome.org/GNOME/gtk/merge_requests/505 + (fetchpatch { + url = https://gitlab.gnome.org/GNOME/gtk/commit/95c0f07295fd300ab7f3416a39290ae33585ea6c.patch; + sha256 = "0z9w7f39xcn1cbcd8jhx731vq64nvi5q6kyc86bq8r00daysjwnl"; + }) ] ++ optionals stdenv.isDarwin [ # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin # let’s drop that dependency in similar way to how other parts of the library do it 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/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix index 1c50a28f0a4..9fb0b776e6f 100644 --- a/pkgs/development/libraries/libhandy/default.nix +++ b/pkgs/development/libraries/libhandy/default.nix @@ -41,7 +41,8 @@ in stdenv.mkDerivation rec { doCheck = true; checkPhase = '' - export NO_AT_BRIDGE=1 + NO_AT_BRIDGE=1 \ + XDG_DATA_DIRS="$XDG_DATA_DIRS:${hicolor-icon-theme}/share" \ xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ --config-file=${dbus.daemon}/share/dbus-1/session.conf \ meson test --print-errorlogs 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..206472187b0 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -3,21 +3,32 @@ 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"; }; + patches = if !stdenv.hostPlatform.isAarch64 then null # temporarily avoid rebuild + else [ + (fetchurl { # https://github.com/glennrp/libpng/issues/266 + url = "https://salsa.debian.org/debian/libpng1.6/raw/0e1348f3d/debian/patches/272.patch"; + sha256 = "1d36khgryq2p27bdx10xrr4kcjr7cdfdj2zhdcjzznpnpns97s6n"; + }) + (fetchurl { # https://github.com/glennrp/libpng/issues/275 + url = "https://salsa.debian.org/debian/libpng1.6/raw/853d1977/debian/patches/CVE-2019-7317.patch"; + sha256 = "0c8qc176mqh08kcxlnx40rzdggchihkrlzqw6qg6lf0c9ygkf55k"; + }) + ]; postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1"; outputs = [ "out" "dev" "man" ]; @@ -25,14 +36,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/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix index cce73ba89bc..bdf210a061a 100644 --- a/pkgs/development/libraries/libxmlb/default.nix +++ b/pkgs/development/libraries/libxmlb/default.nix @@ -22,6 +22,10 @@ stdenv.mkDerivation rec { "-Dgtkdoc=true" ]; + preCheck = '' + export XDG_DATA_DIRS=$XDG_DATA_DIRS:${shared-mime-info}/share + ''; + doCheck = true; meta = with stdenv.lib; { 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/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}" <<EOF - #!/bin/sh + #!${stdenv.shell} set -f LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:$libs" exec $out/pharo "\$@" EOF diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix index 66626cb76f4..4e8b76f9106 100644 --- a/pkgs/development/python-modules/cmd2/default.nix +++ b/pkgs/development/python-modules/cmd2/default.nix @@ -18,8 +18,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/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/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix index a9b84132734..2562975e592 100644 --- a/pkgs/development/python-modules/pandas/default.nix +++ b/pkgs/development/python-modules/pandas/default.nix @@ -97,8 +97,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/scikit-build/default.nix b/pkgs/development/python-modules/scikit-build/default.nix new file mode 100644 index 00000000000..b0300744b5c --- /dev/null +++ b/pkgs/development/python-modules/scikit-build/default.nix @@ -0,0 +1,43 @@ +{ lib, buildPythonPackage, fetchPypi, wheel, setuptools, packaging +, cmake, ninja, cython, codecov, coverage, six, virtualenv, pathpy +, pytest, pytestcov, pytest-virtualenv, pytest-mock, pytestrunner +, requests, flake8 }: + +buildPythonPackage rec { + pname = "scikit-build"; + version = "0.8.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1hh275lj98wgwi53mr9fqk8wh1dajjksch52xjax6a79gld4391a"; + }; + + # Fixes incorrect specified requirement (part of next release) + patches = [ ./fix_pytestrunner_req.patch ]; + + propagatedBuildInputs = [ wheel setuptools packaging ]; + checkInputs = [ + cmake ninja cython codecov coverage six virtualenv pathpy + pytest pytestcov pytest-mock pytest-virtualenv pytestrunner + requests flake8 + ]; + + disabledTests = lib.concatMapStringsSep " and " (s: "not " + s) ([ + "test_hello_develop" # tries setuptools develop install + "test_wheel" # pip has no way to install missing dependencies + "test_fortran_compiler" # passes if gfortran is available + "test_install_command" # tries to alter out path + "test_test_command" # tries to alter out path + ]); + + checkPhase = '' + py.test -k '${disabledTests}' + ''; + + meta = with lib; { + homepage = http://scikit-build.org/; + description = "Improved build system generator for CPython C/C++/Fortran/Cython extensions"; + license = with licenses; [ mit bsd2 ]; # BSD due to reuses of PyNE code + maintainers = [ maintainers.FlorianFranzen ]; + }; +} diff --git a/pkgs/development/python-modules/scikit-build/fix_pytestrunner_req.patch b/pkgs/development/python-modules/scikit-build/fix_pytestrunner_req.patch new file mode 100644 index 00000000000..e8e19f84a5d --- /dev/null +++ b/pkgs/development/python-modules/scikit-build/fix_pytestrunner_req.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index dd348fa..4de89c6 100755 +--- a/setup.py ++++ b/setup.py +@@ -22,7 +22,7 @@ with open('requirements-dev.txt', 'r') as fp: + dev_requirements = list(filter(bool, (line.strip() for line in fp))) + + # Require pytest-runner only when running tests +-pytest_runner = (['pytest-runner>=2.0,<3dev'] ++pytest_runner = (['pytest-runner>=2.0'] + if any(arg in sys.argv for arg in ('pytest', 'test')) + else []) + 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/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/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" <hjl.tools@gmail.com> +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 <unistd.h> ++#include <link.h> ++#include <syscall.h> ++ ++#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" <hjl.tools@gmail.com> +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" <hjl.tools@gmail.com> +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 <renlin.li@arm.com> -+ -+ 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 <nickc@redhat.com> - - 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 <renlin.li@arm.com> -+ -+ 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 <nickc@redhat.com> - - 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 <<EOF - #!/bin/sh + #!${stdenv.shell} if [ "$EDUKE32_DATA_DIR" = "" ]; then EDUKE32_DATA_DIR=/var/lib/games/eduke32 diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix index a9ebd994bb8..5895e87e731 100644 --- a/pkgs/games/freeorion/default.nix +++ b/pkgs/games/freeorion/default.nix @@ -33,6 +33,7 @@ stdenv.mkDerivation rec { --subst-var-by out "$out/" substitute ${./fix-paths.sh} $out/fixpaths/fix-paths \ --subst-var-by libxsltBin ${libxslt.bin} \ + --subst-var-by shell ${stdenv.shell} \ --subst-var out chmod +x $out/fixpaths/fix-paths diff --git a/pkgs/games/freeorion/fix-paths.sh b/pkgs/games/freeorion/fix-paths.sh index 73a3bd6feda..3f82533dd60 100644 --- a/pkgs/games/freeorion/fix-paths.sh +++ b/pkgs/games/freeorion/fix-paths.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!@shell@ if [ -e ~/.config/freeorion/config.xml ]; then @libxsltBin@/bin/xsltproc -o ~/.config/freeorion/config.xml @out@/fixpaths/fix-paths.xslt ~/.config/freeorion/config.xml diff --git a/pkgs/games/gargoyle/darwin.sh b/pkgs/games/gargoyle/darwin.sh index 9bd45d0b1d5..ed0daec4ef1 100644 --- a/pkgs/games/gargoyle/darwin.sh +++ b/pkgs/games/gargoyle/darwin.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!@shell@ set -e diff --git a/pkgs/games/gargoyle/default.nix b/pkgs/games/gargoyle/default.nix index 5bf0ae1c814..c908a9b75a9 100644 --- a/pkgs/games/gargoyle/default.nix +++ b/pkgs/games/gargoyle/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, jam, cctools, pkgconfig +{ stdenv, fetchFromGitHub, substituteAll, jam, cctools, pkgconfig , SDL, SDL_mixer, SDL_sound, cf-private, gtk2, libvorbis, smpeg }: let @@ -29,16 +29,19 @@ stdenv.mkDerivation { sha256 = "0icwgc25gp7krq6zf66hljydc6vps6bb4knywnrfgnfcmcalqqx9"; }; - nativeBuildInputs = [ jam pkgconfig ] ++ lib.optional stdenv.isDarwin cctools; + nativeBuildInputs = [ jam pkgconfig ] ++ stdenv.lib.optional stdenv.isDarwin cctools; buildInputs = [ SDL SDL_mixer SDL_sound gtk2 ] - ++ lib.optionals stdenv.isDarwin [ cf-private smpeg libvorbis ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ cf-private smpeg libvorbis ]; patches = [ ./darwin.patch ]; buildPhase = jamenv + "jam -j$NIX_BUILD_CORES"; - installPhase = if stdenv.isDarwin then (builtins.readFile ./darwin.sh) else jamenv + '' + installPhase = + if stdenv.isDarwin then + (substituteAll { inherit (stdenv) shell; src = ./darwin.sh; }) + else jamenv + '' jam -j$NIX_BUILD_CORES install mkdir -p "$out/bin" ln -s ../libexec/gargoyle/gargoyle "$out/bin" @@ -52,7 +55,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; - meta = with lib; { + meta = with stdenv.lib; { homepage = http://ccxvii.net/gargoyle/; license = licenses.gpl2Plus; description = "Interactive fiction interpreter GUI"; diff --git a/pkgs/games/mars/default.nix b/pkgs/games/mars/default.nix index 2d2a31dd812..668605a9ae1 100644 --- a/pkgs/games/mars/default.nix +++ b/pkgs/games/mars/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { cp -rv data resources credits.txt license.txt "$out/share/mars/" cp -v mars "$out/bin/mars.bin" cat << EOF > "$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 <<EOF > $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/darwin/apple-source-releases/architecture/default.nix b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix index 4a155a4c403..ebeb3ef0884 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix @@ -3,6 +3,12 @@ appleDerivation { dontBuild = true; + postPatch = '' + substituteInPlace Makefile \ + --replace '/bin/mkdir' 'mkdir' \ + --replace '/usr/bin/install' 'install' + ''; + installFlags = [ "EXPORT_DSTDIR=/include/architecture" ]; DSTROOT = "$(out)"; 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 <dalias@aerifal.cx> -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 <dalias@aerifal.cx> -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 <dalias@aerifal.cx> -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" <josephcsible@gmail.com> -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 <unistd.h> - #include <errno.h> -+#include <fcntl.h> -+#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 <kaarle.ritvanen@datakunkku.fi> -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 <dalias@aerifal.cx> -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 <raj.khem@gmail.com> -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 <raj.khem@gmail.com> -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 <fcntl.h> -+#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 <fcntl.h> -+#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 <dalias@aerifal.cx> -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 <benjamin@python.org> -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 <unistd.h> -+#include <errno.h> - #include <sys/ioctl.h> - #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 2562bb7e260..8965b5da4f4 100644 --- a/pkgs/os-specific/linux/syslinux/default.nix +++ b/pkgs/os-specific/linux/syslinux/default.nix @@ -1,19 +1,45 @@ -{ stdenv, fetchFromRepoOrCz, fetchpatch, nasm, perl, python, libuuid, mtools, makeWrapper }: +{ stdenv, fetchFromGitHub, fetchurl, nasm, perl, python, libuuid, mtools, makeWrapper }: stdenv.mkDerivation rec { - # This is syslinux-6.04-pre3^1; syslinux-6.04-pre3 fails to run. - # Same issue here https://www.syslinux.org/archives/2019-February/026330.html - name = "syslinux-2019-02-07"; + name = "syslinux-2015-11-09"; - src = fetchFromRepoOrCz { + src = fetchFromGitHub { + owner = "geneC"; repo = "syslinux"; - rev = "b40487005223a78c3bb4c300ef6c436b3f6ec1f7"; - sha256 = "1qrxl1114sr2i2791z9rf8v53g200aq30f08808d7i8qnmgvxl2w"; + rev = "0cc9a99e560a2f52bcf052fd85b1efae35ee812f"; + sha256 = "0wk3r5ki4lc334f9jpml07wpl8d0bnxi9h1l4h4fyf9a0d7n4kmw"; }; + 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 = 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"; + }) + (fetchurl { + # mbr.bin: too big (452 > 440) + url = mkURL "012e1dd312eb" "0017-single-load-segment.patch"; + sha256 = "0azqzicsjw47b9ppyikhzaqmjl4lrvkxris1356bkmgcaiv6d98b"; + }) + ]; + postPatch = '' substituteInPlace Makefile --replace /bin/pwd $(type -P pwd) + substituteInPlace gpxe/src/Makefile.housekeeping --replace /bin/echo $(type -P echo) substituteInPlace utils/ppmtolss16 --replace /usr/bin/perl $(type -P perl) + substituteInPlace gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl) # fix tests substituteInPlace tests/unittest/include/unittest/unittest.h \ diff --git a/pkgs/os-specific/linux/syslinux/perl-deps.patch b/pkgs/os-specific/linux/syslinux/perl-deps.patch new file mode 100644 index 00000000000..82c9820809e --- /dev/null +++ b/pkgs/os-specific/linux/syslinux/perl-deps.patch @@ -0,0 +1,81 @@ +http://git.ipxe.org/ipxe.git/commitdiff/719b498 + +diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/arch/i386/Makefile.pcbios syslinux-4.02/gpxe/src/arch/i386/Makefile.pcbios +--- syslinux-4.02-orig/gpxe/src/arch/i386/Makefile.pcbios 2010-07-21 21:33:13.000000000 +0200 ++++ syslinux-4.02/gpxe/src/arch/i386/Makefile.pcbios 2010-08-06 23:32:57.000000000 +0200 +@@ -24,11 +24,11 @@ + + # Padding rules + # +-PAD_rom = $(PADIMG) --blksize=512 --byte=0xff $@ ++PAD_rom = $(PERL) $(PADIMG) --blksize=512 --byte=0xff $@ + PAD_hrom = $(PAD_rom) + PAD_xrom = $(PAD_rom) +-PAD_dsk = $(PADIMG) --blksize=512 $@ +-PAD_hd = $(PADIMG) --blksize=32768 $@ ++PAD_dsk = $(PERL) $(PADIMG) --blksize=512 $@ ++PAD_hd = $(PERL) $(PADIMG) --blksize=32768 $@ + + # rule to make a non-emulation ISO boot image + NON_AUTO_MEDIA += iso +diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/Makefile syslinux-4.02/gpxe/src/Makefile +--- syslinux-4.02-orig/gpxe/src/Makefile 2010-07-21 21:33:13.000000000 +0200 ++++ syslinux-4.02/gpxe/src/Makefile 2010-08-06 23:31:15.000000000 +0200 +@@ -31,12 +31,12 @@ + OBJCOPY := $(CROSS_COMPILE)objcopy + NM := $(CROSS_COMPILE)nm + OBJDUMP := $(CROSS_COMPILE)objdump +-PARSEROM := $(PERL) ./util/parserom.pl +-MAKEROM := $(PERL) ./util/makerom.pl +-SYMCHECK := $(PERL) ./util/symcheck.pl +-SORTOBJDUMP := $(PERL) ./util/sortobjdump.pl +-PADIMG := $(PERL) ./util/padimg.pl +-LICENCE := $(PERL) ./util/licence.pl ++PARSEROM := ./util/parserom.pl ++MAKEROM := ./util/makerom.pl ++SYMCHECK := ./util/symcheck.pl ++SORTOBJDUMP := ./util/sortobjdump.pl ++PADIMG := ./util/padimg.pl ++LICENCE := ./util/licence.pl + NRV2B := ./util/nrv2b + ZBIN := ./util/zbin + ELF2EFI32 := ./util/elf2efi32 +diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/Makefile.housekeeping syslinux-4.02/gpxe/src/Makefile.housekeeping +--- syslinux-4.02-orig/gpxe/src/Makefile.housekeeping 2010-07-21 21:33:13.000000000 +0200 ++++ syslinux-4.02/gpxe/src/Makefile.housekeeping 2010-08-06 23:31:49.000000000 +0200 +@@ -456,7 +456,7 @@ + '\n$(2) : $$($(4)_DEPS)\n' \ + '\nTAGS : $$($(4)_DEPS)\n' \ + >> $(2) +- @$(PARSEROM) $(1) >> $(2) ++ @$(PERL) $(PARSEROM) $(1) >> $(2) + + endef + +@@ -657,7 +657,7 @@ + $(QM)$(ECHO) " [LD] $@" + $(Q)$(LD) $(LDFLAGS) -T $(LDSCRIPT) $(TGT_LD_FLAGS) $(BLIB) -o $@ \ + -Map $(BIN)/$*.tmp.map +- $(Q)$(OBJDUMP) -ht $@ | $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map ++ $(Q)$(OBJDUMP) -ht $@ | $(PERL) $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map + + # Keep intermediate object file (useful for debugging) + .PRECIOUS : $(BIN)/%.tmp +@@ -714,7 +714,7 @@ + echo "files are missing a licence declaration:" ;\ + echo $(call unlicensed_deps_list,$<);\ + exit 1,\ +- $(LICENCE) $(call licence_list,$<)) ++ $(PERL) $(LICENCE) $(call licence_list,$<)) + + # Extract compression information from intermediate object file + # +@@ -941,7 +941,7 @@ + CLEANUP += $(BIN)/symtab + + symcheck : $(SYMTAB) +- $(SYMCHECK) $< ++ $(PERL) $(SYMCHECK) $< + + endif # defined(BIN) + 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/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 <<EOF - #!${stdenv.shell}/bin/sh + #!${stdenv.shell} ${nodejs-6_x}/bin/node $out/app.js EOF cp -R {app.js,bin,lib,locales,package.json,public} $out/ diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix index 8cb96d0ae39..22f6ce45673 100644 --- a/pkgs/servers/x11/xquartz/default.nix +++ b/pkgs/servers/x11/xquartz/default.nix @@ -123,6 +123,7 @@ in stdenv.mkDerivation { cp ${./startx} $out/bin/startx substituteInPlace $out/bin/startx \ + --replace "@shell@" "${stdenv.shell}" \ --replace "@PATH@" "$out/bin:${env}" \ --replace "@XAUTH@" "${xorg.xauth}/bin/xauth" \ --replace "@FONT_CACHE@" "$out/bin/font_cache" \ @@ -153,12 +154,14 @@ in stdenv.mkDerivation { mkdir -p $out/lib/X11/xinit/privileged_startx.d cp ${./privileged} $out/lib/X11/xinit/privileged_startx.d/privileged substituteInPlace $out/lib/X11/xinit/privileged_startx.d/privileged \ + --replace "@shell@" "${stdenv.shell}" \ --replace "@PATH@" "$out/bin:${env}" \ --replace "@FONTCONFIG_FILE@" "$fontsConfPath" \ --replace "@FONT_CACHE@" "$out/bin/font_cache" cp ${./font_cache} $out/bin/font_cache substituteInPlace $out/bin/font_cache \ + --replace "@shell@" "${stdenv.shell}" \ --replace "@PATH@" "$out/bin:${env}" \ --replace "@ENCODINGSDIR@" "${xorg.encodings}/share/fonts/X11/encodings" \ --replace "@MKFONTDIR@" "${xorg.mkfontdir}/bin/mkfontdir" \ @@ -168,6 +171,7 @@ in stdenv.mkDerivation { cp ${./xinitrc} $out/etc/X11/xinit/xinitrc substituteInPlace $out/etc/X11/xinit/xinitrc \ + --replace "@shell@" "${stdenv.shell}" \ --replace "@PATH@" "$out/bin:${env}" \ --replace "@XSET@" "${xorg.xset}/bin/xset" \ --replace "@XMODMAP@" "${xorg.xmodmap}/bin/xmodmap" \ @@ -178,6 +182,7 @@ in stdenv.mkDerivation { cp ${./X11} $out/Applications/XQuartz.app/Contents/MacOS/X11 substituteInPlace $out/Applications/XQuartz.app/Contents/MacOS/X11 \ + --replace "@shell@" "${stdenv.shell}" \ --replace "@DEFAULT_SHELL@" "${shell}" \ --replace "@DEFAULT_STARTX@" "$defaultStartX" \ --replace "@DEFAULT_CLIENT@" "${xterm}/bin/xterm" \ diff --git a/pkgs/servers/x11/xquartz/privileged b/pkgs/servers/x11/xquartz/privileged index 3eee9479411..9d9c802002b 100755 --- a/pkgs/servers/x11/xquartz/privileged +++ b/pkgs/servers/x11/xquartz/privileged @@ -1,4 +1,4 @@ -#!/bin/sh +#!@shell@ export PATH=@PATH@:$PATH export FONTCONFIG_FILE="@FONTCONFIG_FILE@" diff --git a/pkgs/servers/x11/xquartz/startx b/pkgs/servers/x11/xquartz/startx index e908e1042d7..b4afebce57c 100755 --- a/pkgs/servers/x11/xquartz/startx +++ b/pkgs/servers/x11/xquartz/startx @@ -1,4 +1,4 @@ -#!/bin/sh +#!@shell@ # vim :set ts=4 sw=4 sts=4 et : diff --git a/pkgs/servers/x11/xquartz/xinitrc b/pkgs/servers/x11/xquartz/xinitrc index 1a0c2ccf1c0..276aeca7c84 100755 --- a/pkgs/servers/x11/xquartz/xinitrc +++ b/pkgs/servers/x11/xquartz/xinitrc @@ -1,4 +1,4 @@ -#!/bin/sh +#!@shell@ export PATH=@PATH@:$PATH diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 03fa589138d..8dff3557807 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -558,6 +558,10 @@ _addToEnv() { (( "$depHostOffset" <= "$depTargetOffset" )) || continue local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]" if [[ -z "${strictDeps-}" ]]; then + + # Keep track of which packages we have visited before. + local visitedPkgs="" + # Apply environment hooks to all packages during native # compilation to ease the transition. # @@ -570,7 +574,11 @@ _addToEnv() { ${pkgsHostTarget+"${pkgsHostTarget[@]}"} \ ${pkgsTargetTarget+"${pkgsTargetTarget[@]}"} do + if [[ "$visitedPkgs" = *"$pkg"* ]]; then + continue + fi runHook "${!hookRef}" "$pkg" + visitedPkgs+=" $pkg" done else local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]" @@ -1012,13 +1020,11 @@ buildPhase() { else foundMakefile=1 - # See https://github.com/NixOS/nixpkgs/pull/1354#issuecomment-31260409 - makeFlags="SHELL=$SHELL $makeFlags" - # Old bash empty array hack # shellcheck disable=SC2086 local flagsArray=( ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} + SHELL=$SHELL $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} $buildFlags ${buildFlagsArray+"${buildFlagsArray[@]}"} ) @@ -1057,6 +1063,7 @@ checkPhase() { # shellcheck disable=SC2086 local flagsArray=( ${enableParallelChecking:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} + SHELL=$SHELL $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} ${checkFlags:-VERBOSE=y} ${checkFlagsArray+"${checkFlagsArray[@]}"} ${checkTarget} @@ -1082,6 +1089,7 @@ installPhase() { # Old bash empty array hack # shellcheck disable=SC2086 local flagsArray=( + SHELL=$SHELL $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} $installFlags ${installFlagsArray+"${installFlagsArray[@]}"} ${installTargets:-install} @@ -1189,6 +1197,7 @@ installCheckPhase() { # shellcheck disable=SC2086 local flagsArray=( ${enableParallelChecking:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} + SHELL=$SHELL $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} $installCheckFlags ${installCheckFlagsArray+"${installCheckFlagsArray[@]}"} ${installCheckTarget:-installcheck} diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix index 7b7d5d1aeed..a84f101cdf7 100644 --- a/pkgs/tools/X11/xnee/default.nix +++ b/pkgs/tools/X11/xnee/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { patchPhase = '' for i in `find cnee/test -name \*.sh` do - sed -i "$i" -e's|/bin/bash|/bin/sh|g ; s|/usr/bin/env bash|/bin/sh|g' + sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g ; s|/usr/bin/env bash|${stdenv.shell}|g' done ''; diff --git a/pkgs/tools/archivers/rpmextract/default.nix b/pkgs/tools/archivers/rpmextract/default.nix index 8d4d5fd8ddd..6d5041c52d0 100644 --- a/pkgs/tools/archivers/rpmextract/default.nix +++ b/pkgs/tools/archivers/rpmextract/default.nix @@ -10,6 +10,7 @@ stdenv.mkDerivation rec { script = substituteAll { src = ./rpmextract.sh; inherit rpm cpio; + inherit (stdenv) shell; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/archivers/rpmextract/rpmextract.sh b/pkgs/tools/archivers/rpmextract/rpmextract.sh index 04f57f6e604..6ebfa251955 100644 --- a/pkgs/tools/archivers/rpmextract/rpmextract.sh +++ b/pkgs/tools/archivers/rpmextract/rpmextract.sh @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!@shell@ -e if [ "$1" = "" ]; then echo "usage: rpmextract package_name..." 1>&2 diff --git a/pkgs/tools/archivers/unzip/CVE-2018-18384.patch b/pkgs/tools/archivers/unzip/CVE-2018-18384.patch new file mode 100644 index 00000000000..e9320e125cf --- /dev/null +++ b/pkgs/tools/archivers/unzip/CVE-2018-18384.patch @@ -0,0 +1,35 @@ +--- unzip60/list.c ++++ unzip60/list.c +@@ -97,7 +97,7 @@ int list_files(__G) /* return PK-type + { + int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL; + #ifndef WINDLL +- char sgn, cfactorstr[10]; ++ char sgn, cfactorstr[1+10+1+1]; /* <sgn><int>%NUL */ + int longhdr=(uO.vflag>1); + #endif + int date_format; +@@ -389,9 +389,9 @@ int list_files(__G) /* return PK-type + } + #else /* !WINDLL */ + if (cfactor == 100) +- sprintf(cfactorstr, LoadFarString(CompFactor100)); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100)); + else +- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor); + if (longhdr) + Info(slide, 0, ((char *)slide, LoadFarString(LongHdrStats), + FmZofft(G.crec.ucsize, "8", "u"), methbuf, +@@ -471,9 +471,9 @@ int list_files(__G) /* return PK-type + + #else /* !WINDLL */ + if (cfactor == 100) +- sprintf(cfactorstr, LoadFarString(CompFactor100)); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100)); + else +- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor); + if (longhdr) { + Info(slide, 0, ((char *)slide, LoadFarString(LongFileTrailer), + FmZofft(tot_ucsize, "8", "u"), FmZofft(tot_csize, "8", "u"), diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix index 7c4bb988b62..cdf189e82df 100644 --- a/pkgs/tools/archivers/unzip/default.nix +++ b/pkgs/tools/archivers/unzip/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation { ./CVE-2015-7697.diff ./CVE-2014-9913.patch ./CVE-2016-9844.patch + ./CVE-2018-18384.patch ./dont-hardcode-cc.patch ] ++ stdenv.lib.optional enableNLS (fetchurl { 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 <<EOI - #!/bin/sh + #!${stdenv.shell} env LD_PRELOAD="$out/lib/libflockit.so" FLOCKIT_FILE_PREFIX=\$1 \''${@:2} EOI ) > $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/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 <<SCRIPT > $bin/bin/fzf-share - #!/bin/sh + #!${stdenv.shell} # Run this script to find the fzf shared folder where all the shell # integration scripts are living. echo $bin/share/fzf diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index d5079750859..2a8734822ac 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { preConfigure = '' for i in "tests/util/"*.in do - sed -i "$i" -e's|/bin/bash|/bin/sh|g' + sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g' done # Apparently, the QEMU executable is no longer called diff --git a/pkgs/tools/misc/grub/trusted.nix b/pkgs/tools/misc/grub/trusted.nix index 94beff8dfe3..ca4e477adce 100644 --- a/pkgs/tools/misc/grub/trusted.nix +++ b/pkgs/tools/misc/grub/trusted.nix @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { preConfigure = '' for i in "tests/util/"*.in do - sed -i "$i" -e's|/bin/bash|/bin/sh|g' + sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g' done # Apparently, the QEMU executable is no longer called diff --git a/pkgs/tools/misc/hashit/default.nix b/pkgs/tools/misc/hashit/default.nix index 0cb839c26ff..f1f2fd9aa44 100644 --- a/pkgs/tools/misc/hashit/default.nix +++ b/pkgs/tools/misc/hashit/default.nix @@ -1,11 +1,9 @@ -{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, cmake, vala_0_40, python3, gnome3, gtk3, granite, gobject-introspection, desktop-file-utils, wrapGAppsHook }: +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, cmake, pantheon, python3, gnome3, gtk3, gobject-introspection, desktop-file-utils, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "hashit"; version = "1.0.0"; - name = "${pname}-${version}"; - src = fetchFromGitHub { owner = "artemanufrij"; repo = pname; @@ -20,14 +18,14 @@ stdenv.mkDerivation rec { ninja pkgconfig python3 - vala_0_40 # should be `elementary.vala` when elementary attribute set is merged + pantheon.vala wrapGAppsHook ]; buildInputs = [ - gnome3.defaultIconTheme # should be `elementary.defaultIconTheme`when elementary attribute set is merged + pantheon.elementary-icon-theme gnome3.libgee - granite + pantheon.granite gtk3 ]; diff --git a/pkgs/tools/misc/qjoypad/default.nix b/pkgs/tools/misc/qjoypad/default.nix index 4d91c184b0a..4428bf1e625 100644 --- a/pkgs/tools/misc/qjoypad/default.nix +++ b/pkgs/tools/misc/qjoypad/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = [ "-lX11" ]; patchPhase = '' cd src - substituteInPlace config --replace /bin/bash /bin/sh + substituteInPlace config --replace /bin/bash ${stdenv.shell} mkdir -p $out export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${libX11}/lib" ''; diff --git a/pkgs/tools/misc/xfstests/default.nix b/pkgs/tools/misc/xfstests/default.nix index e03f84355ca..7305013eb8b 100644 --- a/pkgs/tools/misc/xfstests/default.nix +++ b/pkgs/tools/misc/xfstests/default.nix @@ -78,7 +78,7 @@ stdenv.mkDerivation { # wants to write temporary files there. So create a temporary # to run from and symlink the runtime files to it. wrapperScript = writeScript "xfstests-check" '' - #!/bin/sh + #!${stdenv.shell} set -e export RESULT_BASE="$(pwd)/results" diff --git a/pkgs/tools/networking/airfield/default.nix b/pkgs/tools/networking/airfield/default.nix index 70005038f99..94a606f9c78 100644 --- a/pkgs/tools/networking/airfield/default.nix +++ b/pkgs/tools/networking/airfield/default.nix @@ -49,7 +49,7 @@ in stdenv.mkDerivation { installPhase = '' mkdir -p $out/bin cat >$out/bin/airfield <<EOF - #!${stdenv.shell}/bin/sh + #!${stdenv.shell} ${nodejs}/bin/node ${src}/airfield.js EOF ''; diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index 58f020e1bdd..f1470fc6c14 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -33,6 +33,6 @@ stdenv.mkDerivation rec { homepage = http://www.tcpdump.org/; license = "BSD-style"; maintainers = with stdenv.lib.maintainers; [ jgeerds ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/networking/zap/default.nix b/pkgs/tools/networking/zap/default.nix index 7dc0e07f945..56b54fed61b 100644 --- a/pkgs/tools/networking/zap/default.nix +++ b/pkgs/tools/networking/zap/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { mkdir -p "$out/share" tar xvf "ZAP_${version}_Linux.tar.gz" -C "$out/share/" mkdir -p "$out/bin" - echo "#!/bin/sh" > "$out/bin/zap" + echo "#!${stdenv.shell}" > "$out/bin/zap" echo \"$out/share/ZAP_${version}/zap.sh\" >> "$out/bin/zap" chmod +x "$out/bin/zap" ''; diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix index 6bdc8570982..9ac62dc334f 100644 --- a/pkgs/tools/security/eid-mw/default.nix +++ b/pkgs/tools/security/eid-mw/default.nix @@ -3,7 +3,8 @@ , gtk3, nssTools, pcsclite , libxml2, libproxy , openssl, curl -, makeWrapper }: +, makeWrapper +, substituteAll }: stdenv.mkDerivation rec { name = "eid-mw-${version}"; @@ -32,8 +33,15 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-dialogs=yes" ]; - postInstall = '' - install -D ${./eid-nssdb.in} $out/bin/eid-nssdb + postInstall = + let + eid-nssdb-in = substituteAll { + inherit (stdenv) shell; + src = ./eid-nssdb.in; + }; + in + '' + install -D ${eid-nssdb-in} $out/bin/eid-nssdb substituteInPlace $out/bin/eid-nssdb \ --replace "modutil" "${nssTools}/bin/modutil" diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix index 82bec2486e8..9c8f47cd275 100644 --- a/pkgs/tools/security/pgpdump/default.nix +++ b/pkgs/tools/security/pgpdump/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.mew.org/~kazu/proj/pgpdump/en/; license = licenses.bsd3; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ primeos ]; }; } diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix index 27f2ca04d71..5e622cf68f3 100644 --- a/pkgs/tools/security/rhash/default.nix +++ b/pkgs/tools/security/rhash/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, which }: stdenv.mkDerivation rec { - version = "1.3.6"; + version = "1.3.8"; name = "rhash-${version}"; src = fetchFromGitHub { owner = "rhash"; repo = "RHash"; rev = "v${version}"; - sha256 = "1c8gngjj34ylx1f56hjbvml22bif0bx1b88dx2cyxbix8praxqh7"; + sha256 = "0i00wl63hn80g0s9gdi772gchbghwgkvn4nbb5227y2wwy30yyi2"; }; nativeBuildInputs = [ which ]; @@ -16,10 +16,11 @@ stdenv.mkDerivation rec { # configure script is not autotools-based, doesn't support these options configurePlatforms = [ ]; - doCheck = false; # fails + doCheck = true; - installTargets = [ "install" "install-lib-shared" "install-lib-so-link" ]; - postInstall = "make -C librhash install-headers"; + checkTarget = "test-full"; + + installTargets = [ "install" "install-lib-shared" "install-lib-so-link" "install-lib-headers" ]; meta = with stdenv.lib; { homepage = http://rhash.anz.ru; diff --git a/pkgs/tools/typesetting/lout/builder.sh b/pkgs/tools/typesetting/lout/builder.sh index cd3b9c67e3c..61459e48b7f 100755 --- a/pkgs/tools/typesetting/lout/builder.sh +++ b/pkgs/tools/typesetting/lout/builder.sh @@ -1,5 +1,3 @@ -#!/bin/sh - # Prepare a makefile specifying the appropriate output directories. # # Written by Ludovic Courtès <ludo@gnu.org>. diff --git a/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix b/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix index 5096c7f9468..012090ba079 100644 --- a/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix +++ b/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { # change sudoers dir from /var/google-sudoers.d to /run/google-sudoers.d (managed through systemd-tmpfiles) substituteInPlace pam_module/pam_oslogin_admin.cc --replace /var/google-sudoers.d /run/google-sudoers.d # fix "User foo not allowed because shell /bin/bash does not exist" - substituteInPlace utils/oslogin_utils.cc --replace /bin/bash /bin/sh + substituteInPlace utils/oslogin_utils.cc --replace /bin/bash ${stdenv.shell} ''; buildInputs = [ curl.dev pam ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 564ad4dfca9..7634a678e74 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -389,12 +389,10 @@ mapAliases ({ gstPluginsBad = pkgs.gst-plugins-bad; gstPluginsGood = pkgs.gst-plugins-good; gstPluginsUgly = pkgs.gst-plugins-ugly; - gstFfmpeg = pkgs.gst-ffmpeg; gst-plugins-base = pkgs.gst-plugins-base; gst-plugins-bad = pkgs.gst-plugins-bad; gst-plugins-good = pkgs.gst-plugins-good; gst-plugins-ugly = pkgs.gst-plugins-ugly; - gst-ffmpeg = pkgs.gst-ffmpeg; }; } // (with ocaml-ng; { # added 2016-09-14 ocaml_4_00_1 = ocamlPackages_4_00_1.ocaml; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8dc8d14bc97..90e0c5ac601 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1311,8 +1311,6 @@ in eggdrop = callPackage ../tools/networking/eggdrop { }; - elementary-icon-theme = callPackage ../data/icons/elementary-icon-theme { }; - elementary-xfce-icon-theme = callPackage ../data/icons/elementary-xfce-icon-theme { }; elm-github-install = callPackage ../tools/package-management/elm-github-install { }; @@ -3060,9 +3058,9 @@ in * that do want 2.32 but not 2.0 or 2.36. Please give a day's notice for * objections before removal. The feature is libgraph. */ - graphviz_2_32 = lib.overrideDerivation (callPackage ../tools/graphics/graphviz/2.32.nix { + graphviz_2_32 = (callPackage ../tools/graphics/graphviz/2.32.nix { inherit (darwin.apple_sdk.frameworks) ApplicationServices; - }) (x: { configureFlags = x.configureFlags ++ ["--with-cgraph=no"];}); + }).overrideAttrs(x: { configureFlags = x.configureFlags ++ ["--with-cgraph=no"];}); grin = callPackage ../tools/text/grin { }; @@ -9952,9 +9950,7 @@ in inherit (darwin.apple_sdk.frameworks) Cocoa Kernel; }; - glibc = callPackage ../development/libraries/glibc { - installLocales = config.glibc.locales or false; - }; + glibc = callPackage ../development/libraries/glibc { }; # Provided by libc on Operating Systems that use the Extensible Linker Format. elf-header = @@ -9965,13 +9961,11 @@ in elf-header-real = callPackage ../development/libraries/elf-header { }; glibc_memusage = callPackage ../development/libraries/glibc { - installLocales = false; withGd = true; }; # Being redundant to avoid cycles on boot. TODO: find a better way glibcCross = callPackage ../development/libraries/glibc { - installLocales = config.glibc.locales or false; stdenv = crossLibcStdenv; }; @@ -10212,7 +10206,6 @@ in gnome-menus = callPackage ../development/libraries/gnome-menus { }; - granite = callPackage ../development/libraries/granite { }; elementary-cmake-modules = callPackage ../development/libraries/elementary-cmake-modules { }; gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { @@ -21333,12 +21326,9 @@ in mate = recurseIntoAttrs (callPackage ../desktops/mate { }); - maxx = callPackage ../desktops/maxx { }; + pantheon = recurseIntoAttrs (callPackage ../desktops/pantheon { }); - pantheon = recurseIntoAttrs rec { - callPackage = newScope pkgs.pantheon; - pantheon-terminal = callPackage ../desktops/pantheon/apps/pantheon-terminal { }; - }; + maxx = callPackage ../desktops/maxx { }; plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { }; @@ -21356,8 +21346,6 @@ in orion = callPackage ../misc/themes/orion {}; - elementary-gtk-theme = callPackage ../misc/themes/elementary { }; - albatross = callPackage ../misc/themes/albatross { }; gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 52bc679f510..07715ce856a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4064,6 +4064,8 @@ in { scikit-bio = callPackage ../development/python-modules/scikit-bio { }; + scikit-build = callPackage ../development/python-modules/scikit-build { }; + scp = callPackage ../development/python-modules/scp {}; seaborn = callPackage ../development/python-modules/seaborn { }; |