diff --git a/.version b/.version
index 360de6347ae..ba19dc3bb41 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-19.03
\ No newline at end of file
+19.09
\ No newline at end of file
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index 40cf11304ea..324fe5bdd02 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -96,7 +96,7 @@
compiler resulting from a single build can itself only produce binaries
for a single platform. The task of specifying this single "target
platform" is thus pushed to build time of the compiler. The root cause of
- this that the compiler (which will be run on the host) and the standard
+ this is that the compiler (which will be run on the host) and the standard
library/runtime (which will be run on the target) are built by a single
build process.
diff --git a/doc/functions/dockertools.xml b/doc/functions/dockertools.xml
index ff446cbfffd..2c8eb2cb774 100644
--- a/doc/functions/dockertools.xml
+++ b/doc/functions/dockertools.xml
@@ -47,7 +47,7 @@ buildImage {
contents = pkgs.redis;
runAsRoot = ''
- #!${stdenv.shell}
+ #!${pkgs.runtimeShell}
mkdir -p /data
'';
@@ -544,7 +544,7 @@ buildImage {
name = "shadow-basic";
runAsRoot = ''
- #!${stdenv.shell}
+ #!${pkgs.runtimeShell}
${shadowSetup}
groupadd -r redis
useradd -r -g redis redis
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 6e83546ae8e..090a3f700d4 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -24,6 +24,8 @@ rec {
config = parse.tripleFromSystem final.parsed;
# Just a guess, based on `system`
platform = platforms.selectBySystem final.system;
+ # Determine whether we are compatible with the provided CPU
+ isCompatible = platform: parse.isCompatible final.parsed.cpu platform.parsed.cpu;
# Derived meta-data
libc =
/**/ if final.isDarwin then "libSystem"
@@ -99,13 +101,14 @@ rec {
wine = (pkgs.winePackagesFor wine-name).minimal;
in
if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name &&
- (final.parsed.cpu.name == pkgs.stdenv.hostPlatform.parsed.cpu.name ||
- (final.isi686 && pkgs.stdenv.hostPlatform.isx86_64))
- then pkgs.runtimeShell
+ pkgs.stdenv.hostPlatform.isCompatible final
+ then "${pkgs.runtimeShell} -c"
else if final.isWindows
then "${wine}/bin/${wine-name}"
else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux
then "${qemu-user}/bin/qemu-${final.qemuArch}"
+ else if final.isWasm
+ then "${pkgs.v8}/bin/d8"
else throw "Don't know how to run ${final.config} executables.";
} // mapAttrs (n: v: v final.parsed) inspect.predicates
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 6947d41419e..fab50bc0ebd 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -112,6 +112,66 @@ rec {
avr = { bits = 8; family = "avr"; };
};
+ # Determine where two CPUs are compatible with each other. That is,
+ # can we run code built for system b on system a? For that to
+ # happen, then the set of all possible possible programs that system
+ # b accepts must be a subset of the set of all programs that system
+ # a accepts. This compatibility relation forms a category where each
+ # CPU is an object and each arrow from a to b represents
+ # compatibility. CPUs with multiple modes of Endianness are
+ # isomorphic while all CPUs are endomorphic because any program
+ # built for a CPU can run on that CPU.
+ isCompatible = a: b: with cpuTypes; lib.any lib.id [
+ # x86
+ (b == i386 && isCompatible a i486)
+ (b == i486 && isCompatible a i586)
+ (b == i586 && isCompatible a i686)
+ # NOTE: Not true in some cases. Like in WSL mode.
+ (b == i686 && isCompatible a x86_64)
+
+ # ARM
+ (b == arm && isCompatible a armv5tel)
+ (b == armv5tel && isCompatible a armv6m)
+ (b == armv6m && isCompatible a armv6l)
+ (b == armv6l && isCompatible a armv7a)
+ (b == armv7a && isCompatible a armv7r)
+ (b == armv7r && isCompatible a armv7m)
+ (b == armv7m && isCompatible a armv7l)
+ (b == armv7l && isCompatible a armv8a)
+ (b == armv8a && isCompatible a armv8r)
+ (b == armv8r && isCompatible a armv8m)
+ # NOTE: not always true! Some arm64 cpus don’t support arm32 mode.
+ (b == armv8m && isCompatible a aarch64)
+ (b == aarch64 && a == aarch64_be)
+ (b == aarch64_be && isCompatible a aarch64)
+
+ # PowerPC
+ (b == powerpc && isCompatible a powerpc64)
+ (b == powerpcle && isCompatible a powerpc)
+ (b == powerpc && a == powerpcle)
+ (b == powerpc64le && isCompatible a powerpc64)
+ (b == powerpc64 && a == powerpc64le)
+
+ # MIPS
+ (b == mips && isCompatible a mips64)
+ (b == mips && a == mipsel)
+ (b == mipsel && isCompatible a mips)
+ (b == mips64 && a == mips64el)
+ (b == mips64el && isCompatible a mips64)
+
+ # RISCV
+ (b == riscv32 && isCompatible a riscv64)
+
+ # SPARC
+ (b == sparc && isCompatible a sparc64)
+
+ # WASM
+ (b == wasm32 && isCompatible a wasm64)
+
+ # identity
+ (b == a)
+ ];
+
################################################################################
types.openVendor = mkOptionType {
diff --git a/lib/trivial.nix b/lib/trivial.nix
index 17489311236..3f0816b5540 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -134,7 +134,7 @@ rec {
On each release the first letter is bumped and a new animal is chosen
starting with that new letter.
*/
- codeName = "Koi";
+ codeName = "Loris";
/* Returns the current nixpkgs version suffix as string. */
versionSuffix =
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index d4c9d3e0fd2..7dee65f6352 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1628,6 +1628,10 @@
email = "fpletz@fnordicwalking.de";
github = "fpletz";
name = "Franz Pletz";
+ keys = [{
+ longkeyid = "rsa4096/0x846FDED7792617B4";
+ fingerprint = "8A39 615D CE78 AF08 2E23 F303 846F DED7 7926 17B4";
+ }];
};
fps = {
email = "mista.tapas@gmx.net";
@@ -2294,6 +2298,11 @@
joko = {
email = "ioannis.koutras@gmail.com";
github = "jokogr";
+ keys = [{
+ # compare with https://keybase.io/joko
+ longkeyid = "rsa2048/0x85EAE7D9DF56C5CA";
+ fingerprint = "B154 A8F9 0610 DB45 0CA8 CF39 85EA E7D9 DF56 C5CA";
+ }];
name = "Ioannis Koutras";
};
jonafato = {
@@ -4356,6 +4365,15 @@
github = "solson";
name = "Scott Olson";
};
+ sondr3 = {
+ email = "nilsen.sondre@gmail.com";
+ github = "sondr3";
+ name = "Sondre Nilsen";
+ keys = [{
+ longkeyid = "ed25519/0x25676BCBFFAD76B1";
+ fingerprint = "0EC3 FA89 EFBA B421 F82E 40B0 2567 6BCB FFAD 76B1";
+ }];
+ };
sorki = {
email = "srk@48.io";
github = "sorki";
@@ -5055,7 +5073,7 @@
name = "Kranium Gikos Mendoza";
};
worldofpeace = {
- email = "worldofpeace@users.noreply.github.com";
+ email = "worldofpeace@protonmail.ch";
github = "worldofpeace";
name = "Worldofpeace";
};
@@ -5268,4 +5286,9 @@
github = "shmish111";
name = "David Smith";
};
+ minijackson = {
+ email = "minijackson@riseup.net";
+ github = "minijackson";
+ name = "Rémi Nicole";
+ };
}
diff --git a/maintainers/scripts/update-luarocks-packages b/maintainers/scripts/update-luarocks-packages
index aa922c19860..171b49ee568 100755
--- a/maintainers/scripts/update-luarocks-packages
+++ b/maintainers/scripts/update-luarocks-packages
@@ -61,7 +61,7 @@ nixpkgs$ ${0} ${GENERATED_NIXFILE}
These packages are manually refined in lua-overrides.nix
*/
-{ self, lua, stdenv, fetchurl, fetchgit, pkgs, ... } @ args:
+{ self, stdenv, fetchurl, fetchgit, pkgs, ... } @ args:
self: super:
with self;
{
diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml
index d4e5ff3f431..dcedad540e1 100755
--- a/nixos/doc/manual/development/releases.xml
+++ b/nixos/doc/manual/development/releases.xml
@@ -60,13 +60,6 @@
Make sure a channel is created at http://nixos.org/channels/.
-
-
-
- Let a GitHub nixpkgs admin lock the branch on github for you. (so
- developers can’t force push)
-
-
diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml
index a222bfa29d5..02b59147721 100644
--- a/nixos/doc/manual/release-notes/release-notes.xml
+++ b/nixos/doc/manual/release-notes/release-notes.xml
@@ -8,6 +8,7 @@
This section lists the release notes for each stable version of NixOS and
current unstable revision.
+
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml
index 0fc014ae439..20f1d43618d 100644
--- a/nixos/doc/manual/release-notes/rl-1903.xml
+++ b/nixos/doc/manual/release-notes/rl-1903.xml
@@ -106,6 +106,23 @@
+
+
+
+
+ ./security/duosec.nix
+
+
+
+
+ The PAM module for Duo
+ Security has been enabled for use. One can configure it using
+ the options along with the
+ corresponding PAM option in
+ .
+
+
+
nixos-rebuild boot; reboot.
-
-
- Symlinks in /etc (except /etc/static)
- are now relative instead of absolute. This makes possible to examine
- NixOS container's /etc directory from host system
- (previously it pointed to host /etc when viewed from host,
- and to container /etc when viewed from container chroot).
-
-
- This also makes /etc/os-release adhere to
- the standard
- for NixOS containers.
-
-
Flat volumes are now disabled by default in hardware.pulseaudio.
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
new file mode 100644
index 00000000000..baf08d70bfb
--- /dev/null
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -0,0 +1,58 @@
+
+ Release 19.09 (“Loris”, 2019/09/??)
+
+
+ Highlights
+
+
+ In addition to numerous new and upgraded packages, this release has the
+ following highlights:
+
+
+
+
+
+
+
+
+
+
+ New Services
+
+
+ The following new services were added since the last release:
+
+
+
+
+
+
+
+
+
+
+ Other Notable Changes
+
+
+
+
+
+
+
+
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index 37e66c64542..9d202347702 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -34,7 +34,7 @@ with lib;
networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
- pinentry = super.pinentry_ncurses;
+ pinentry = super.pinentry.override { gtk2 = null; qt = null; };
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
}));
};
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 6ba8130af71..80ea7bc5d5c 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -172,6 +172,11 @@ in
environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings ]
++ lib.filter (p: p != null) [ nvidia_x11.persistenced ];
+ systemd.tmpfiles.rules = optional config.virtualisation.docker.enableNvidia
+ "L+ /run/nvidia-docker/bin - - - - ${nvidia_x11.bin}/origBin"
+ ++ optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia)
+ "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced";
+
boot.extraModulePackages = [ nvidia_x11.bin ];
# nvidia-uvm is required by CUDA applications.
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 361c2e49e05..27e5b5d8c70 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -29,7 +29,7 @@ while [ "$#" -gt 0 ]; do
--help)
showSyntax
;;
- switch|boot|test|build|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader)
+ switch|boot|test|build|edit|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader)
if [ "$i" = dry-run ]; then i=dry-build; fi
action="$i"
;;
@@ -227,6 +227,13 @@ if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" -a -z "$fast" ]; then
fi
fi
+# Find configuration.nix and open editor instead of building.
+if [ "$action" = edit ]; then
+ NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)}
+ exec "${EDITOR:-nano}" "$NIXOS_CONFIG"
+ exit 1
+fi
+
tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60"
diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix
index b38af07b92c..bcb5a3f341b 100644
--- a/nixos/modules/programs/fish.nix
+++ b/nixos/modules/programs/fish.nix
@@ -169,6 +169,59 @@ in
end
'';
+ programs.fish.interactiveShellInit = ''
+ # add completions generated by NixOS to $fish_complete_path
+ begin
+ # joins with null byte to acommodate all characters in paths, then respectively gets all paths before (exclusive) / after (inclusive) the first one including "generated_completions",
+ # splits by null byte, and then removes all empty lines produced by using 'string'
+ set -l prev (string join0 $fish_complete_path | string match --regex "^.*?(?=\x00[^\x00]*generated_completions.*)" | string split0 | string match -er ".")
+ set -l post (string join0 $fish_complete_path | string match --regex "[^\x00]*generated_completions.*" | string split0 | string match -er ".")
+ set fish_complete_path $prev "/etc/fish/generated_completions" $post
+ end
+ '';
+
+ environment.etc."fish/generated_completions".source =
+ let
+ patchedGenerator = pkgs.stdenv.mkDerivation {
+ name = "fish_patched-completion-generator";
+ srcs = [
+ "${pkgs.fish}/share/fish/tools/create_manpage_completions.py"
+ "${pkgs.fish}/share/fish/tools/deroff.py"
+ ];
+ unpackCmd = "cp $curSrc $(basename $curSrc)";
+ sourceRoot = ".";
+ patches = [ ./fish_completion-generator.patch ]; # to prevent collisions of identical completion files
+ dontBuild = true;
+ installPhase = ''
+ mkdir -p $out
+ cp * $out/
+ '';
+ preferLocalBuild = true;
+ allowSubstitutes = false;
+ };
+ generateCompletions = package: pkgs.runCommand
+ "${package.name}_fish-completions"
+ (
+ {
+ inherit package;
+ preferLocalBuild = true;
+ allowSubstitutes = false;
+ }
+ // optionalAttrs (package ? meta.priority) { meta.priority = package.meta.priority; }
+ )
+ ''
+ mkdir -p $out
+ if [ -d $package/share/man ]; then
+ find $package/share/man -type f | xargs ${pkgs.python3.interpreter} ${patchedGenerator}/create_manpage_completions.py --directory $out >/dev/null
+ fi
+ '';
+ in
+ pkgs.buildEnv {
+ name = "system_fish-completions";
+ ignoreCollisions = true;
+ paths = map generateCompletions config.environment.systemPackages;
+ };
+
# include programs that bring their own completions
environment.pathsToLink = []
++ optional cfg.vendor.config.enable "/share/fish/vendor_conf.d"
diff --git a/nixos/modules/programs/fish_completion-generator.patch b/nixos/modules/programs/fish_completion-generator.patch
new file mode 100644
index 00000000000..a8c797d185a
--- /dev/null
+++ b/nixos/modules/programs/fish_completion-generator.patch
@@ -0,0 +1,11 @@
+--- a/create_manpage_completions.py
++++ b/create_manpage_completions.py
+@@ -776,8 +776,6 @@ def parse_manpage_at_path(manpage_path, output_directory):
+
+ built_command_output.insert(0, "# " + CMDNAME)
+
+- # Output the magic word Autogenerated so we can tell if we can overwrite this
+- built_command_output.insert(1, "# Autogenerated from man page " + manpage_path)
+ # built_command_output.insert(2, "# using " + parser.__class__.__name__) # XXX MISATTRIBUTES THE CULPABILE PARSER! Was really using Type2 but reporting TypeDeroffManParser
+
+ for line in built_command_output:
diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix
index df6108dede7..14bf118f2d8 100644
--- a/nixos/modules/security/duosec.nix
+++ b/nixos/modules/security/duosec.nix
@@ -7,7 +7,7 @@ let
boolToStr = b: if b then "yes" else "no";
- configFile = ''
+ configFilePam = ''
[duo]
ikey=${cfg.ikey}
skey=${cfg.skey}
@@ -16,21 +16,24 @@ let
failmode=${cfg.failmode}
pushinfo=${boolToStr cfg.pushinfo}
autopush=${boolToStr cfg.autopush}
- motd=${boolToStr cfg.motd}
prompts=${toString cfg.prompts}
- accept_env_factor=${boolToStr cfg.acceptEnvFactor}
fallback_local_ip=${boolToStr cfg.fallbackLocalIP}
'';
+ configFileLogin = configFilePam + ''
+ motd=${boolToStr cfg.motd}
+ accept_env_factor=${boolToStr cfg.acceptEnvFactor}
+ '';
+
loginCfgFile = optional cfg.ssh.enable
- { source = pkgs.writeText "login_duo.conf" configFile;
+ { source = pkgs.writeText "login_duo.conf" configFileLogin;
mode = "0600";
user = "sshd";
target = "duo/login_duo.conf";
};
pamCfgFile = optional cfg.pam.enable
- { source = pkgs.writeText "pam_duo.conf" configFile;
+ { source = pkgs.writeText "pam_duo.conf" configFilePam;
mode = "0600";
user = "sshd";
target = "duo/pam_duo.conf";
@@ -180,12 +183,6 @@ in
};
config = mkIf (cfg.ssh.enable || cfg.pam.enable) {
- assertions =
- [ { assertion = !cfg.pam.enable;
- message = "PAM support is currently not implemented.";
- }
- ];
-
environment.systemPackages = [ pkgs.duo-unix ];
security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo";
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 206b529ed68..03d2f899f2a 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -131,6 +131,18 @@ let
'';
};
+ duoSecurity = {
+ enable = mkOption {
+ default = false;
+ type = types.bool;
+ description = ''
+ If set, use the Duo Security pam module
+ pam_duo for authentication. Requires
+ configuration of options.
+ '';
+ };
+ };
+
startSession = mkOption {
default = false;
type = types.bool;
@@ -340,7 +352,8 @@ let
|| cfg.pamMount
|| cfg.enableKwallet
|| cfg.enableGnomeKeyring
- || cfg.googleAuthenticator.enable)) ''
+ || cfg.googleAuthenticator.enable
+ || cfg.duoSecurity.enable)) ''
auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth
${optionalString config.security.pam.enableEcryptfs
"auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
@@ -350,9 +363,11 @@ let
("auth optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" +
" kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")}
${optionalString cfg.enableGnomeKeyring
- ("auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so")}
+ "auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so"}
${optionalString cfg.googleAuthenticator.enable
- "auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp"}
+ "auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp"}
+ ${optionalString cfg.duoSecurity.enable
+ "auth required ${pkgs.duo-unix}/lib/security/pam_duo.so"}
'') + ''
${optionalString cfg.unixAuth
"auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"}
diff --git a/nixos/modules/services/monitoring/datadog-agent.nix b/nixos/modules/services/monitoring/datadog-agent.nix
index a4d29d45bac..11673bf8bc7 100644
--- a/nixos/modules/services/monitoring/datadog-agent.nix
+++ b/nixos/modules/services/monitoring/datadog-agent.nix
@@ -202,7 +202,7 @@ in {
};
};
config = mkIf cfg.enable {
- environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps ];
+ environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute ];
users.extraUsers.datadog = {
description = "Datadog Agent User";
@@ -216,7 +216,7 @@ in {
systemd.services = let
makeService = attrs: recursiveUpdate {
- path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps ];
+ path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.iproute ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "datadog";
diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix
index 43b4a41eaf3..7d790b6b590 100644
--- a/nixos/modules/services/monitoring/prometheus/alertmanager.nix
+++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix
@@ -106,7 +106,8 @@ in {
type = types.str;
default = "";
description = ''
- Address to listen on for the web interface and API.
+ Address to listen on for the web interface and API. Empty string will listen on all interfaces.
+ "localhost" will listen on 127.0.0.1 (but not ::1).
'';
};
diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix
index 93d2d7fcd97..79c4b7aee06 100644
--- a/nixos/modules/services/network-filesystems/openafs/client.nix
+++ b/nixos/modules/services/network-filesystems/openafs/client.nix
@@ -155,7 +155,7 @@ in
};
programs = mkOption {
default = getBin pkgs.openafs;
- defaultText = "config.boot.kernelPackages.openafs";
+ defaultText = "getBin pkgs.openafs";
type = types.package;
description = "OpenAFS programs package. MUST match the kernel module package!";
};
diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix
index 6a1db81413c..178a832c166 100644
--- a/nixos/modules/services/networking/gnunet.nix
+++ b/nixos/modules/services/networking/gnunet.nix
@@ -130,7 +130,7 @@ in
group = "gnunet";
description = "GNUnet User";
home = homeDir;
- createHome = true;
+ createHome = true;
uid = config.ids.uids.gnunet;
};
@@ -146,7 +146,7 @@ in
wantedBy = [ "multi-user.target" ];
path = [ cfg.package pkgs.miniupnpc ];
environment.TMPDIR = "/tmp";
- serviceConfig.PrivateTemp = true;
+ serviceConfig.PrivateTmp = true;
serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}";
serviceConfig.User = "gnunet";
serviceConfig.UMask = "0007";
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 95dc8a62a45..b9b5d40c457 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -400,7 +400,10 @@ in
sockets.sshd =
{ description = "SSH Socket";
wantedBy = [ "sockets.target" ];
- socketConfig.ListenStream = cfg.ports;
+ socketConfig.ListenStream = if cfg.listenAddresses != [] then
+ map (l: "${l.addr}:${toString (if l.port != null then l.port else 22)}") cfg.listenAddresses
+ else
+ cfg.ports;
socketConfig.Accept = true;
};
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index ee1354d6a99..49d8836b8ad 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -45,6 +45,11 @@ in {
default = "/var/lib/nextcloud";
description = "Storage path of nextcloud.";
};
+ logLevel = mkOption {
+ type = types.ints.between 0 4;
+ default = 2;
+ description = "Log level value between 0 (DEBUG) and 4 (FATAL).";
+ };
https = mkOption {
type = types.bool;
default = false;
@@ -281,6 +286,7 @@ in {
'skeletondirectory' => '${cfg.skeletonDirectory}',
${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
'log_type' => 'syslog',
+ 'log_level' => '${builtins.toString cfg.logLevel}',
];
'';
occInstallCmd = let
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 89dc8b3795e..f688bec1426 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -44,7 +44,7 @@ let
}
''));
- awkFormat = pkgs.writeText "awkFormat-nginx.awk" ''
+ awkFormat = builtins.toFile "awkFormat-nginx.awk" ''
awk -f
{sub(/^[ \t]+/,"");idx=0}
/\{/{ctx++;idx=1}
@@ -52,15 +52,9 @@ let
{id="";for(i=idx;i $out/nginx.conf
- '';
- };
+ configFile = pkgs.runCommand "nginx.conf" {} (''
+ awk -f ${awkFormat} ${pre-configFile} | sed '/^\s*$/d' > $out
+ '');
pre-configFile = pkgs.writeText "pre-nginx.conf" ''
user ${cfg.user} ${cfg.group};
@@ -656,10 +650,10 @@ in
preStart =
''
${cfg.preStart}
- ${cfg.package}/bin/nginx -c ${configFile}/nginx.conf -p ${cfg.stateDir} -t
+ ${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir} -t
'';
serviceConfig = {
- ExecStart = "${cfg.package}/bin/nginx -c ${configFile}/nginx.conf -p ${cfg.stateDir}";
+ ExecStart = "${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Restart = "always";
RestartSec = "10s";
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index 4d2fafd1496..d06f478cf4d 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -98,10 +98,13 @@ in
];
services.gnome3.gnome-keyring.enable = true;
+ services.gnome3.gvfs.enable = true;
services.upower.enable = config.powerManagement.enable;
security.pam.services."mate-screensaver".unixAuth = true;
+ environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.gvfs}/lib/gio/modules" ];
+
environment.pathsToLink = [ "/share" ];
};
diff --git a/nixos/modules/system/etc/make-etc.sh b/nixos/modules/system/etc/make-etc.sh
index 9c0520e92fc..1ca4c3046f0 100644
--- a/nixos/modules/system/etc/make-etc.sh
+++ b/nixos/modules/system/etc/make-etc.sh
@@ -10,11 +10,6 @@ users_=($users)
groups_=($groups)
set +f
-# Create relative symlinks, so that the links can be followed if
-# the NixOS installation is not mounted as filesystem root.
-# Absolute symlinks violate the os-release format
-# at https://www.freedesktop.org/software/systemd/man/os-release.html
-# and break e.g. systemd-nspawn and os-prober.
for ((i = 0; i < ${#targets_[@]}; i++)); do
source="${sources_[$i]}"
target="${targets_[$i]}"
@@ -24,14 +19,14 @@ for ((i = 0; i < ${#targets_[@]}; i++)); do
# If the source name contains '*', perform globbing.
mkdir -p $out/etc/$target
for fn in $source; do
- ln -s --relative "$fn" $out/etc/$target/
+ ln -s "$fn" $out/etc/$target/
done
else
-
+
mkdir -p $out/etc/$(dirname $target)
if ! [ -e $out/etc/$target ]; then
- ln -s --relative $source $out/etc/$target
+ ln -s $source $out/etc/$target
else
echo "duplicate entry $target -> $source"
if test "$(readlink $out/etc/$target)" != "$source"; then
@@ -39,13 +34,13 @@ for ((i = 0; i < ${#targets_[@]}; i++)); do
exit 1
fi
fi
-
+
if test "${modes_[$i]}" != symlink; then
echo "${modes_[$i]}" > $out/etc/$target.mode
echo "${users_[$i]}" > $out/etc/$target.uid
echo "${groups_[$i]}" > $out/etc/$target.gid
fi
-
+
fi
done
diff --git a/nixos/modules/system/etc/setup-etc.pl b/nixos/modules/system/etc/setup-etc.pl
index 82ef49a2a27..eed20065087 100644
--- a/nixos/modules/system/etc/setup-etc.pl
+++ b/nixos/modules/system/etc/setup-etc.pl
@@ -4,7 +4,6 @@ use File::Copy;
use File::Path;
use File::Basename;
use File::Slurp;
-use File::Spec;
my $etc = $ARGV[0] or die;
my $static = "/etc/static";
@@ -18,20 +17,6 @@ sub atomicSymlink {
return 1;
}
-# Create relative symlinks, so that the links can be followed if
-# the NixOS installation is not mounted as filesystem root.
-# Absolute symlinks violate the os-release format
-# at https://www.freedesktop.org/software/systemd/man/os-release.html
-# and break e.g. systemd-nspawn and os-prober.
-sub atomicRelativeSymlink {
- my ($source, $target) = @_;
- my $tmp = "$target.tmp";
- unlink $tmp;
- my $rel = File::Spec->abs2rel($source, dirname $target);
- symlink $rel, $tmp or return 0;
- rename $tmp, $target or return 0;
- return 1;
-}
# Atomically update /etc/static to point at the etc files of the
# current configuration.
@@ -118,7 +103,7 @@ sub link {
if (-e "$_.mode") {
my $mode = read_file("$_.mode"); chomp $mode;
if ($mode eq "direct-symlink") {
- atomicRelativeSymlink readlink("$static/$fn"), $target or warn;
+ atomicSymlink readlink("$static/$fn"), $target or warn;
} else {
my $uid = read_file("$_.uid"); chomp $uid;
my $gid = read_file("$_.gid"); chomp $gid;
@@ -132,7 +117,7 @@ sub link {
push @copied, $fn;
print CLEAN "$fn\n";
} elsif (-l "$_") {
- atomicRelativeSymlink "$static/$fn", $target or warn;
+ atomicSymlink "$static/$fn", $target or warn;
}
}
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index a1a32c1c59a..4ee84c5268e 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -52,6 +52,15 @@ in
'';
};
+ enableNvidia =
+ mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable nvidia-docker wrapper, supporting NVIDIA GPUs inside docker containers.
+ '';
+ };
+
liveRestore =
mkOption {
type = types.bool;
@@ -140,7 +149,8 @@ in
###### implementation
config = mkIf cfg.enable (mkMerge [{
- environment.systemPackages = [ cfg.package ];
+ environment.systemPackages = [ cfg.package ]
+ ++ optional cfg.enableNvidia pkgs.nvidia-docker;
users.groups.docker.gid = config.ids.gids.docker;
systemd.packages = [ cfg.package ];
@@ -157,6 +167,7 @@ in
--log-driver=${cfg.logDriver} \
${optionalString (cfg.storageDriver != null) "--storage-driver=${cfg.storageDriver}"} \
${optionalString cfg.liveRestore "--live-restore" } \
+ ${optionalString cfg.enableNvidia "--add-runtime nvidia=${pkgs.nvidia-docker}/bin/nvidia-container-runtime" } \
${cfg.extraOptions}
''];
ExecReload=[
@@ -165,7 +176,8 @@ in
];
};
- path = [ pkgs.kmod ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs);
+ path = [ pkgs.kmod ] ++ optional (cfg.storageDriver == "zfs") pkgs.zfs
+ ++ optional cfg.enableNvidia pkgs.nvidia-docker;
};
systemd.sockets.docker = {
@@ -179,7 +191,6 @@ in
};
};
-
systemd.services.docker-prune = {
description = "Prune docker resources";
@@ -194,7 +205,15 @@ in
startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates;
};
+
+ assertions = [
+ { assertion = cfg.enableNvidia -> config.hardware.opengl.driSupport32Bit or false;
+ message = "Option enableNvidia requires 32bit support libraries";
+ }];
}
+ (mkIf cfg.enableNvidia {
+ environment.etc."nvidia-container-runtime/config.toml".source = "${pkgs.nvidia-docker}/etc/config.toml";
+ })
]);
imports = [
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 65227857a38..2ddb54bcc3d 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -74,6 +74,7 @@ in
ferm = handleTest ./ferm.nix {};
firefox = handleTest ./firefox.nix {};
firewall = handleTest ./firewall.nix {};
+ fish = handleTest ./fish.nix {};
flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {};
flatpak = handleTest ./flatpak.nix {};
fsck = handleTest ./fsck.nix {};
diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix
new file mode 100644
index 00000000000..97c4e8e37ac
--- /dev/null
+++ b/nixos/tests/fish.nix
@@ -0,0 +1,21 @@
+import ./make-test.nix ({ pkgs, ... }: {
+ name = "fish";
+
+ machine =
+ { pkgs, ... }:
+
+ {
+ programs.fish.enable = true;
+ environment.systemPackages = with pkgs; [
+ coreutils
+ procps # kill collides with coreutils' to test https://github.com/NixOS/nixpkgs/issues/56432
+ ];
+ };
+
+ testScript =
+ ''
+ $machine->waitForFile("/etc/fish/generated_completions/coreutils.fish");
+ $machine->waitForFile("/etc/fish/generated_completions/kill.fish");
+ $machine->succeed("fish -ic 'echo \$fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions\$'");
+ '';
+})
diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix
index 28e6479e9cb..d43efc3687a 100644
--- a/nixos/tests/gitea.nix
+++ b/nixos/tests/gitea.nix
@@ -45,7 +45,7 @@ with pkgs.lib;
{
services.gitea.enable = true;
services.gitea.database.type = "postgres";
- services.gitea.database.password = "secret";
+ services.gitea.database.passwordFile = pkgs.writeText "db-password" "secret";
};
testScript = ''
diff --git a/nixos/tests/ndppd.nix b/nixos/tests/ndppd.nix
index 9f24eb6d9d4..c53ff93a91f 100644
--- a/nixos/tests/ndppd.nix
+++ b/nixos/tests/ndppd.nix
@@ -37,8 +37,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
};
services.ndppd = {
enable = true;
- interface = "eth1";
- network = "fd42::/112";
+ proxies."eth1".rules."fd42::/112" = {};
};
containers.client = {
autoStart = true;
diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix
index 219a20c5c7e..8b9e2170f15 100644
--- a/nixos/tests/openssh.nix
+++ b/nixos/tests/openssh.nix
@@ -34,6 +34,24 @@ in {
];
};
+ server_localhost_only =
+ { ... }:
+
+ {
+ services.openssh = {
+ enable = true; listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ];
+ };
+ };
+
+ server_localhost_only_lazy =
+ { ... }:
+
+ {
+ services.openssh = {
+ enable = true; startWhenNeeded = true; listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ];
+ };
+ };
+
client =
{ ... }: { };
@@ -77,5 +95,10 @@ in {
" server_lazy true");
};
+
+ subtest "localhost-only", sub {
+ $server_localhost_only->succeed("ss -nlt | grep '127.0.0.1:22'");
+ $server_localhost_only_lazy->succeed("ss -nlt | grep '127.0.0.1:22'");
+ }
'';
})
diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix
index 396cd5b67d8..0cc94728f80 100644
--- a/nixos/tests/rspamd.nix
+++ b/nixos/tests/rspamd.nix
@@ -52,8 +52,18 @@ in
machine = {
services.rspamd = {
enable = true;
- bindSocket = [ "/run/rspamd.sock mode=0600 user=root group=root" ];
- bindUISocket = [ "/run/rspamd-worker.sock mode=0666 user=root group=root" ];
+ workers.normal.bindSockets = [{
+ socket = "/run/rspamd.sock";
+ mode = "0600";
+ owner = "root";
+ group = "root";
+ }];
+ workers.controller.bindSockets = [{
+ socket = "/run/rspamd-worker.sock";
+ mode = "0666";
+ owner = "root";
+ group = "root";
+ }];
};
};
@@ -235,7 +245,7 @@ in
services.rspamd = {
enable = true;
postfix.enable = true;
- workers.rspamd_proxy.type = "proxy";
+ workers.rspamd_proxy.type = "rspamd_proxy";
};
};
testScript = ''
diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix
index 591f6ffa86c..19ab52ebc22 100644
--- a/pkgs/applications/altcoins/parity/beta.nix
+++ b/pkgs/applications/altcoins/parity/beta.nix
@@ -1,6 +1,6 @@
let
- version = "2.3.1";
- sha256 = "13y3gczqb0rb6v17j63j1zp11cnykbv9c674hrk1i6jb3y4am4lv";
+ version = "2.3.2";
+ sha256 = "1063n7lkcfkywi0a06pxkw0wkq3qyq4lr53fv584mlbnh2hj8gpm";
cargoSha256 = "1pj5hzy7k1l9bbw1qpz80vvk89qz4qz4rnnkcvn2rkbmq382gxwy";
in
import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
index f62e3d5cfdd..b8b67836f06 100644
--- a/pkgs/applications/altcoins/parity/default.nix
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -1,6 +1,6 @@
let
- version = "2.2.8";
- sha256 = "1l2bxra4fkbh8gnph9wnc24ddmzfdclsgcjbx8q6fflhcg6r9hf1";
+ version = "2.2.9";
+ sha256 = "0n9zk25ni4asfdqc4xh0gqp2446vxacqz7qcrmsngf8swvayvi16";
cargoSha256 = "10lg0vzikzlj927hpn59x1dz9dvhcaqsl8nz14vj2iz42vfkcm7p";
in
import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 8547b0cc553..82774b61d4c 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchgit, meson, ninja, pkgconfig
, python3, gtk3, gst_all_1, libsecret, libsoup
, appstream-glib, desktop-file-utils, totem-pl-parser
-, gobject-introspection, wrapGAppsHook }:
+, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
python3.pkgs.buildPythonApplication rec {
pname = "lollypop";
- version = "0.9.921";
+ version = "0.9.923";
format = "other";
doCheck = false;
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
- sha256 = "0a79qnci93yicd58r6kr6yinpqz67s39h0xk5qkzlsplpbawvf3y";
+ sha256 = "0jgz36lrhigcsr9vs5sp4ngv8rir3zqicygymjv7d61d6pclkx1z";
};
nativeBuildInputs = [
@@ -36,6 +36,7 @@ python3.pkgs.buildPythonApplication rec {
gst-plugins-ugly
gstreamer
gtk3
+ hicolor-icon-theme
libsecret
libsoup
totem-pl-parser
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index 9e0abac5ce4..9ba225e8c58 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -1,21 +1,24 @@
-{ alsaLib, autoconf, automake, dssi, fetchurl, gtk2, libjack2
+{ alsaLib, autoconf, automake, dssi, fetchurl, libjack2
, ladspaH, ladspaPlugins, liblo, libmad, libsamplerate, libsndfile
-, libtool, libvorbis, lilv, lv2, pkgconfig, qt4, rubberband, serd
+, libtool, libvorbis, lilv, lv2, pkgconfig, qttools, qtbase, rubberband, serd
, sord, sratom, stdenv, suil }:
stdenv.mkDerivation rec {
- version = "0.6.7";
- name = "qtractor-${version}";
+ pname = "qtractor";
+ version = "0.9.4";
src = fetchurl {
- url = "mirror://sourceforge/qtractor/${name}.tar.gz";
- sha256 = "0h5nblfkl4s412c9f02b40nb8c8jq8ypz67z2qn3hkvhx6i9yxsg";
+ url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
+ sha256 = "05xrzr48b19mghbpbzjqw5fy6pl9140bm5m929lrsi4rq5hp3xgg";
};
+ nativeBuildInputs = [
+ autoconf automake libtool pkgconfig qttools
+ ];
buildInputs =
- [ alsaLib autoconf automake dssi gtk2 libjack2 ladspaH
+ [ alsaLib dssi libjack2 ladspaH
ladspaPlugins liblo libmad libsamplerate libsndfile libtool
- libvorbis lilv lv2 pkgconfig qt4 rubberband serd sord sratom
+ libvorbis lilv lv2 qtbase rubberband serd sord sratom
suil
];
diff --git a/pkgs/applications/audio/spotifywm/default.nix b/pkgs/applications/audio/spotifywm/default.nix
index f22340b6941..64ae9491535 100644
--- a/pkgs/applications/audio/spotifywm/default.nix
+++ b/pkgs/applications/audio/spotifywm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, spotify, xorg }:
+{ stdenv, fetchFromGitHub, spotify, xorg, runtimeShell }:
stdenv.mkDerivation rec {
name = "spotifywm-unstable-${version}";
version = "2016-11-28";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ spotify ];
installPhase = ''
- echo "#!${stdenv.shell}" > spotifywm
+ echo "#!${runtimeShell}" > spotifywm
echo "LD_PRELOAD="$out/lib/spotifywm.so" ${spotify}/bin/spotify \$*" >> spotifywm
install -Dm644 spotifywm.so $out/lib/spotifywm.so
install -Dm755 spotifywm $out/bin/spotifywm
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 91abf2128a8..6c68c705b02 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -18,9 +18,9 @@ let
sha256Hash = "0np8600qvqpw9kcmgp04i1nak1339ck1iidkzr75kigp5rgdl2bq";
};
latestVersion = { # canary & dev
- version = "3.5.0.4"; # "Android Studio 3.5 Canary 5"
- build = "183.5320907";
- sha256Hash = "1i56r58kcwrllx3a85dhsz9m0amb7xj9ybqfkdf1a8ipv1hdqs1g";
+ version = "3.5.0.5"; # "Android Studio 3.5 Canary 6"
+ build = "183.5326993";
+ sha256Hash = "06d43qw0p6zpy6vmriiihql5vgc6c4darplc2148y616hx0whrql";
};
in rec {
# Old alias (TODO @primeos: Remove after 19.03 is branched off):
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
index a95ced76371..6a3f581c4e8 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -1,10 +1,10 @@
GEM
remote: https://rubygems.org/
specs:
- msgpack (1.2.4)
+ msgpack (1.2.6)
multi_json (1.13.1)
- neovim (0.7.0)
- msgpack (~> 1.0)
+ neovim (0.8.0)
+ msgpack (~> 1.1)
multi_json (~> 1.0)
PLATFORMS
@@ -14,4 +14,4 @@ DEPENDENCIES
neovim
BUNDLED WITH
- 1.14.6
+ 1.17.2
diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
index af887161ea6..28a53cc590f 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -2,10 +2,10 @@
msgpack = {
source = {
remotes = ["https://rubygems.org"];
- sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864";
+ sha256 = "0031gd2mjyba6jb7m97sqa149zjkr0vzn2s2gpb3m9nb67gqkm13";
type = "gem";
};
- version = "1.2.4";
+ version = "1.2.6";
};
multi_json = {
source = {
@@ -19,9 +19,9 @@
dependencies = ["msgpack" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0b487dzz41im8cwzvfjqgf8kkrp6mpkvcbzhazrmqqw8gxyvfbq4";
+ sha256 = "07scrdfk7pyn5jgx5m2yajdqpbdv42833vbw568qqag6xp99j3yk";
type = "gem";
};
- version = "0.7.0";
+ version = "0.8.0";
};
}
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index 5b0560e5831..454b7ad554b 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, appimage-run, fetchurl }:
+{ stdenv, appimage-run, fetchurl, runtimeShell }:
let
version = "3.0.6";
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/{bin,share}
cp $src $out/share/standardNotes.AppImage
- echo "#!${stdenv.shell}" > $out/bin/standardnotes
+ echo "#!${runtimeShell}" > $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 71bd3544feb..937764f0ab8 100644
--- a/pkgs/applications/editors/sublime/3/common.nix
+++ b/pkgs/applications/editors/sublime/3/common.nix
@@ -1,6 +1,6 @@
{buildVersion, x32sha256, x64sha256}:
-{ fetchurl, stdenv, glib, xorg, cairo, gtk2, gtk3, pango, makeWrapper, wrapGAppsHook, openssl, bzip2,
+{ fetchurl, stdenv, glib, xorg, cairo, gtk2, gtk3, pango, makeWrapper, wrapGAppsHook, openssl, bzip2, runtimeShell,
pkexecPath ? "/run/wrappers/bin/pkexec", libredirect,
gksuSupport ? false, gksu, unzip, zip, bash}:
@@ -115,7 +115,7 @@ in stdenv.mkDerivation (rec {
mkdir -p $out/bin
cat > $out/bin/subl <<-EOF
- #!${stdenv.shell}
+ #!${runtimeShell}
exec $sublime/sublime_text "\$@"
EOF
chmod +x $out/bin/subl
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 7ee28adfa47..3b75d08787e 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -7,6 +7,7 @@
, vimPlugins
, makeWrapper
, wrapGAppsHook
+, runtimeShell
# apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
@@ -157,22 +158,22 @@ in stdenv.mkDerivation rec {
rewrap () {
rm -f "$out/bin/$1"
- echo -e '#!${stdenv.shell}\n"'"$out/bin/vim"'" '"$2"' "$@"' > "$out/bin/$1"
+ echo -e '#!${runtimeShell}\n"'"$out/bin/vim"'" '"$2"' "$@"' > "$out/bin/$1"
chmod a+x "$out/bin/$1"
}
- rewrap ex -e
- rewrap view -R
- rewrap gvim -g
- rewrap gex -eg
- rewrap gview -Rg
- rewrap rvim -Z
- rewrap rview -RZ
- rewrap rgvim -gZ
+ rewrap ex -e
+ rewrap view -R
+ rewrap gvim -g
+ rewrap gex -eg
+ rewrap gview -Rg
+ rewrap rvim -Z
+ rewrap rview -RZ
+ rewrap rgvim -gZ
rewrap rgview -RgZ
rewrap evim -y
rewrap eview -yR
- rewrap vimdiff -d
+ rewrap vimdiff -d
rewrap gvimdiff -gd
'';
diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix
index 30223658f53..09664889f35 100644
--- a/pkgs/applications/graphics/alchemy/default.nix
+++ b/pkgs/applications/graphics/alchemy/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, jre}:
+{ stdenv, fetchurl, jre, runtimeShell }:
stdenv.mkDerivation rec {
name = "alchemy-${version}";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/share
cp -a . $out/share/alchemy
cat >> $out/bin/alchemy << EOF
- #!${stdenv.shell}
+ #!${runtimeShell}
cd $out/share/alchemy
${jre}/bin/java -jar Alchemy.jar "$@"
EOF
diff --git a/pkgs/applications/graphics/autotrace/default.nix b/pkgs/applications/graphics/autotrace/default.nix
index 7af7c8986f2..cc08dce906c 100644
--- a/pkgs/applications/graphics/autotrace/default.nix
+++ b/pkgs/applications/graphics/autotrace/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, callPackage, libpng12, imagemagick,
- autoreconfHook, glib, pstoedit, pkgconfig, gettext, gd, darwin }:
+{ stdenv, fetchurl, callPackage, libpng12, imagemagick
+, autoreconfHook, glib, pstoedit, pkgconfig, gettext, gd, darwin
+, runtimeShell }:
# TODO: Figure out why the resultant binary is somehow linked against
# libpng16.so.16 rather than libpng12.
@@ -51,7 +52,7 @@ stdenv.mkDerivation rec {
# pstoedit-config no longer exists, it was replaced with pkg-config
mkdir wrappers
cat >wrappers/pstoedit-config <<'EOF'
- #!${stdenv.shell}
+ #!${runtimeShell}
# replace --version with --modversion for pkg-config
args=''${@/--version/--modversion}
exec pkg-config pstoedit "''${args[@]}"
diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix
index ac3de4a4e14..d0f2a48c589 100644
--- a/pkgs/applications/graphics/swingsane/default.nix
+++ b/pkgs/applications/graphics/swingsane/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeDesktopItem, unzip, jre }:
+{ stdenv, fetchurl, makeDesktopItem, unzip, jre, runtimeShell }:
stdenv.mkDerivation rec {
name = "swingsane-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
installPhase = let
execWrapper = ''
- #!${stdenv.shell}
+ #!${runtimeShell}
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 e27f074b21b..891f3586fa5 100644
--- a/pkgs/applications/graphics/wings/default.nix
+++ b/pkgs/applications/graphics/wings/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, erlang, cl, libGL, libGLU }:
+{ fetchurl, stdenv, erlang, cl, libGL, libGLU, runtimeShell }:
stdenv.mkDerivation rec {
name = "wings-2.2.1";
@@ -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
- #!${stdenv.shell}
+ #!${runtimeShell}
${erlang}/bin/erl \
-pa $out/lib/${name}/ebin -run wings_start start_halt "$@"
EOF
@@ -43,4 +43,3 @@ stdenv.mkDerivation rec {
platforms = with stdenv.lib.platforms; linux;
};
}
-
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
index c60d4b7b904..ac3d303a7a6 100644
--- a/pkgs/applications/graphics/zgrviewer/default.nix
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, jre, unzip}:
+{ stdenv, fetchurl, jre, unzip, runtimeShell }:
stdenv.mkDerivation rec {
version = "0.9.0";
pname = "zgrviewer";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
cp -r target/* "$out/share/java/zvtm/"
- echo '#!${stdenv.shell}' > "$out/bin/zgrviewer"
+ echo '#!${runtimeShell}' > "$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/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
index 1144d515284..4227b4155ac 100644
--- a/pkgs/applications/misc/avrdudess/default.nix
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, mono, avrdude, gtk2, xdg_utils }:
+{ stdenv, runtimeShell, fetchurl, unzip, mono, avrdude, gtk2, xdg_utils }:
stdenv.mkDerivation rec {
name = "avrdudess-2.2.20140102";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
unzip "$src" -d "$out/avrdudess"
cat >> "$out/bin/avrdudess" << __EOF__
- #!${stdenv.shell}
+ #!${runtimeShell}
export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [gtk2 mono]}"
# We need PATH from user env for xdg-open to find its tools, which
# typically depend on the currently running desktop environment.
diff --git a/pkgs/applications/misc/curabydagoma/default.nix b/pkgs/applications/misc/curabydagoma/default.nix
index 1ea106d6a18..4e620425d5c 100644
--- a/pkgs/applications/misc/curabydagoma/default.nix
+++ b/pkgs/applications/misc/curabydagoma/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, python, pythonPackages, unzip }:
+{ stdenv, runtimeShell, lib, fetchurl, python, pythonPackages, unzip }:
# This package uses a precompiled "binary" distribution of CuraByDagoma,
# distributed by the editor.
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
mkdir $out/bin
cat > $out/bin/curabydago < $out/bin/hello-unfree << EOF
- #!${stdenv.shell}
+ #!${runtimeShell}
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 2c46ea3ac9a..72a24026a89 100644
--- a/pkgs/applications/misc/jbidwatcher/default.nix
+++ b/pkgs/applications/misc/jbidwatcher/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, java }:
+{ stdenv, fetchurl, java, runtimeShell }:
stdenv.mkDerivation rec {
pname = "jbidwatcher";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p "$out/bin"
- echo > "$out/bin/${pname}" "#!${stdenv.shell}"
+ echo > "$out/bin/${pname}" "#!${runtimeShell}"
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/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index ed3aca996e1..5ae652d750d 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,5 +1,5 @@
{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
-libGLU_combined, freetype, xclip }:
+libGLU_combined, freetype, xclip, inotify-tools, procps }:
assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
@@ -34,11 +34,17 @@ stdenv.mkDerivation rec {
'';
installPhase = ''
- install -d $out/bin $out/lib
+ install -d $out/bin
install build/llpp $out/bin
+ install misc/llpp.inotify $out/bin/llpp.inotify
+
wrapProgram $out/bin/llpp \
- --prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \
--prefix PATH ":" "${xclip}/bin"
+
+ wrapProgram $out/bin/llpp.inotify \
+ --prefix PATH ":" "$out/bin" \
+ --prefix PATH ":" "${inotify-tools}/bin" \
+ --prefix PATH ":" "${procps}/bin"
'';
meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix
index 88a7b94897d..a2678d6067f 100644
--- a/pkgs/applications/misc/multibootusb/default.nix
+++ b/pkgs/applications/misc/multibootusb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }:
+{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5, runtimeShell }:
python36Packages.buildPythonApplication rec {
pname = "multibootusb";
name = "${pname}-${version}";
@@ -40,7 +40,7 @@ python36Packages.buildPythonApplication rec {
mkdir "$out/bin"
cat > "$out/bin/${pname}" < $out/bin/nix-tour
+ echo "#!${runtimeShell}" > $out/bin/nix-tour
echo "cd $out/share/" >> $out/bin/nix-tour
echo "${electron}/bin/electron $out/share/electron-main.js" >> $out/bin/nix-tour
chmod 0755 $out/bin/nix-tour
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index 9eb5382cde9..c1bdc1bcfef 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchFromGitHub, pkgconfig, ncurses, conf ? null }:
+{ stdenv, fetchFromGitHub, pkgconfig, ncurses, readline, conf ? null }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "nnn-${version}";
- version = "2.2";
+ version = "2.3";
src = fetchFromGitHub {
owner = "jarun";
repo = "nnn";
rev = "v${version}";
- sha256 = "01y2vkw1wakpnpzhzia3d44iir060i8vma3b3ww5wgwg7bfpzs4b";
+ sha256 = "0953l4wa4dnsq9aj50anjrww64413dxv25xx3kjwnqz2ag7zdyy7";
};
configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
preBuild = optionalString (conf!=null) "cp ${configFile} nnn.h";
nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ ncurses ];
+ buildInputs = [ readline ncurses ];
makeFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ];
diff --git a/pkgs/applications/misc/openjump/default.nix b/pkgs/applications/misc/openjump/default.nix
index 09ec3433862..c98defee57a 100644
--- a/pkgs/applications/misc/openjump/default.nix
+++ b/pkgs/applications/misc/openjump/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, unzip}:
+{ stdenv, fetchurl, unzip, runtimeShell }:
stdenv.mkDerivation {
name = "openjump-1.3.1";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
s=$out/bin/OpenJump
dir=$(echo $out/openjump-*)
cat >> $s << EOF
- #!${stdenv.shell}
+ #!${runtimeShell}
cd $dir/bin
exec ${stdenv.shell} openjump.sh
EOF
diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix
index c31d442d2d6..3cb9bc8c979 100644
--- a/pkgs/applications/misc/playonlinux/default.nix
+++ b/pkgs/applications/misc/playonlinux/default.nix
@@ -19,6 +19,7 @@
, pkgsi686Linux
, which
, curl
+, jq
}:
let
@@ -41,6 +42,7 @@ let
xterm
which
curl
+ jq
];
ld32 =
diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix
index b05c8a80399..3599bd0030b 100644
--- a/pkgs/applications/misc/terminal-notifier/default.nix
+++ b/pkgs/applications/misc/terminal-notifier/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchzip }:
+{ stdenv, runtimeShell, lib, fetchzip }:
stdenv.mkDerivation rec {
name = "terminal-notifier-${version}";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin
cp -r terminal-notifier.app $out/Applications
cat >$out/bin/terminal-notifier <> $out/bin/thinkingrock << EOF
- #!${stdenv.shell}
+ #!${runtimeShell}
exec $out/nix-support/tr-files/bin/tr "$@"
EOF
chmod +x $out/bin/thinkingrock
'';
-
+
installPhase = ":";
- meta = {
+ meta = {
description = "Task management system";
homepage = http://www.thinkingrock.com.au/;
license = "CDDL"; # Common Development and Distribution License
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index c568a056514..b61864e026a 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A vi-like file manager";
maintainers = with maintainers; [ raskin garbas ];
- platforms = platforms.linux;
+ platforms = platforms.unix;
license = licenses.gpl2;
downloadPage = "https://vifm.info/downloads.shtml";
homepage = https://vifm.info/;
diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix
index a448d35485a..1feec9e4550 100644
--- a/pkgs/applications/misc/vue/default.nix
+++ b/pkgs/applications/misc/vue/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, jre }:
+{ stdenv, fetchurl, jre, runtimeShell }:
stdenv.mkDerivation rec {
name = "vue-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p "$out"/{share/vue,bin}
cp ${src} "$out/share/vue/vue.jar"
- echo '#!${stdenv.shell}' >> "$out/bin/vue"
+ echo '#!${runtimeShell}' >> "$out/bin/vue"
echo '${jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue"
chmod a+x "$out/bin/vue"
'';
diff --git a/pkgs/applications/misc/yokadi/default.nix b/pkgs/applications/misc/yokadi/default.nix
index dec861009eb..6b3a4f747f4 100644
--- a/pkgs/applications/misc/yokadi/default.nix
+++ b/pkgs/applications/misc/yokadi/default.nix
@@ -1,13 +1,13 @@
{ stdenv, fetchurl, buildPythonApplication, dateutil,
- sqlalchemy, setproctitle, icalendar, pycrypto }:
+ sqlalchemy, setproctitle, icalendar }:
buildPythonApplication rec {
pname = "yokadi";
- version = "1.1.1";
+ version = "1.2.0";
src = fetchurl {
- url = "https://yokadi.github.io/download/${pname}-${version}.tar.bz2";
- sha256 = "af201da66fd3a8435b2ccd932082ab9ff13f5f2e3d6cd3624f1ab81c577aaf17";
+ url = "https://yokadi.github.io/download/${pname}-${version}.tar.gz";
+ sha256 = "681c8aa52b2e4b5255e1311e76b4b81dcb63ee7f6ca3a47178e684c06baf330f";
};
propagatedBuildInputs = [
@@ -15,7 +15,6 @@ buildPythonApplication rec {
sqlalchemy
setproctitle
icalendar
- pycrypto
];
# Yokadi doesn't have any tests
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 62858904ffc..db74d1cc4ee 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
- sha256 = "0gd426a9xcgs8a9286gavziysq6fw1ilaifsna396dbdm8b571wi";
- sha256bin64 = "05p20l0969rppbyn7965k78ccynng47rg7d7h7piqiwnm6ffg9yx";
- version = "73.0.3683.39";
+ sha256 = "1176qg1a5d5lgy80xsywkz4gq0khfj5hgxykci00j827pryfpajh";
+ sha256bin64 = "1dqxm82nrabdfwn20j94vs9zgif1jhkqibpx7c1ihq90nw7p17qb";
+ version = "73.0.3683.46";
};
dev = {
- sha256 = "1yyzhw5zv803ysdj7zf0imdw9cf0mdlw30vphcb59a93nnvhkbb7";
- sha256bin64 = "1a1dswkfc4x2rslkb899fgywv5mfrmcp1d8wxy7h034504r8gy87";
- version = "74.0.3702.0";
+ sha256 = "0ji6ps97hkwsy9525cdqd3k3k9nyh217h0gfjdkfb7phg6lf46q5";
+ sha256bin64 = "0dg1qljc2gk8qkwckikq1q5wv7g00blc86nxkaqsr3i12rzy3n8g";
+ version = "74.0.3710.0";
};
stable = {
- sha256 = "0bcc0iksk2v30drwd5zbw7v6sfbw16jqllc12ks2nifrvh058jjp";
- sha256bin64 = "0azyhnmdg3grladpkpsv67zxqiqf5a3x9qjfj8h831kh7i7m3gy8";
- version = "72.0.3626.109";
+ sha256 = "0ylig933xzn6c0018nxq95xhl0wkxcm95fdiy2c7s4a4h3hkr5dk";
+ sha256bin64 = "04rsgqrr696mq0yr0kmcyslklfnvrnkzf46d479qb2w55q7zh4s5";
+ version = "72.0.3626.119";
};
}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index bcebb321a2c..fab98ad2e2b 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -49,6 +49,7 @@
, gnugrep
, gnupg
, ffmpeg
+, runtimeShell
}:
let
@@ -191,7 +192,7 @@ stdenv.mkDerivation {
# update with:
# $ nix-shell maintainers/scripts/update.nix --argstr package firefox-bin-unwrapped
passthru.updateScript = import ./update.nix {
- inherit stdenv name channel writeScript xidel coreutils gnused gnugrep gnupg curl;
+ inherit stdenv name channel writeScript xidel coreutils gnused gnugrep gnupg curl runtimeShell;
baseUrl =
if channel == "devedition"
then "http://archive.mozilla.org/pub/devedition/releases/"
diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix
index ee022e329f9..97163ffa762 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/update.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -8,6 +8,7 @@
, gnugrep
, curl
, gnupg
+, runtimeShell
, baseName ? "firefox"
, basePath ? "pkgs/applications/networking/browsers/firefox-bin"
, baseUrl
@@ -18,7 +19,7 @@ let
channel != "release";
in writeScript "update-${name}" ''
- #!${stdenv.shell}
+ #!${runtimeShell}
PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${gnupg}/bin
set -eux
pushd ${basePath}
diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix
index 07ae2c040e6..b03720f988a 100644
--- a/pkgs/applications/networking/browsers/firefox/update.nix
+++ b/pkgs/applications/networking/browsers/firefox/update.nix
@@ -8,13 +8,14 @@
, gnugrep
, curl
, attrPath
+, runtimeShell
, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/"
, versionSuffix ? ""
, versionKey ? "version"
}:
writeScript "update-${attrPath}" ''
- #!${stdenv.shell}
+ #!${runtimeShell}
PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused xidel ]}
url=${baseUrl}
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 3ca4aafd757..2f8f020dd9b 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -21,12 +21,12 @@ let
in python3Packages.buildPythonApplication rec {
pname = "qutebrowser";
- version = "1.5.2";
+ version = "1.6.0";
# the release tarballs are different from the git checkout!
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
- sha256 = "0ki19mynq91aih3kxhipnay3jmn56s7p6rilws0gq0k98li6a4my";
+ sha256 = "1pkbzhd5syn7m8q0i7zlxjdgd693z0gj0h22nkc48zjkn214w236";
};
# Needs tox
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 597c2c18309..ffae170a199 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -15,13 +15,13 @@ with lib;
stdenv.mkDerivation rec {
name = "kubernetes-${version}";
- version = "1.13.3";
+ version = "1.13.4";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "kubernetes";
rev = "v${version}";
- sha256 = "1fcp27c501ql4v7fl7rl5qyjlw1awk139rwwm0jqdpgh3sd22l2z";
+ sha256 = "1q3dc416fr9nzy64pl7rydahygnird0vpk9yflssw7v9gx84m6x9";
};
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix
index f93b34b52f5..1e25db0a381 100644
--- a/pkgs/applications/networking/feedreaders/feedreader/default.nix
+++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix
@@ -1,44 +1,33 @@
-{ stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkgconfig, vala_0_40, gettext, python3
+{ stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkgconfig, vala, gettext, python3
, appstream-glib, desktop-file-utils, glibcLocales, wrapGAppsHook
, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas
-, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo
+, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
}:
stdenv.mkDerivation rec {
pname = "feedreader";
- version = "2.6.2";
+ version = "2.8.2";
src = fetchFromGitHub {
owner = "jangernert";
repo = pname;
rev = "v${version}";
- sha256 = "1x5milynfa27zyv2jkzyi7ikkszrvzki1hlzv8c2wvcmw60jqb8n";
+ sha256 = "1qm7scrz8xm68zizcfn13ll4ksdd004fahki7gbwqagsr1fg62y8";
};
- patches = [
- # See: https://github.com/jangernert/FeedReader/pull/842
- (fetchpatch {
- url = "https://github.com/jangernert/FeedReader/commit/f4ce70932c4ddc91783309708402c7c42d627455.patch";
- sha256 = "076fpjn973xg2m35lc6z4h7g5x8nb08sghg94glsqa8wh1ig2311";
- })
- ];
-
nativeBuildInputs = [
- meson ninja pkgconfig vala_0_40 gettext appstream-glib desktop-file-utils
- python3 glibcLocales wrapGAppsHook
+ meson ninja pkgconfig vala gettext appstream-glib desktop-file-utils
+ libxml2 python3 wrapGAppsHook
];
buildInputs = [
- curl glib json-glib libnotify libsecret sqlite gumbo
- gtk3 libgee libpeas gnome3.libsoup librest webkitgtk gnome3.gnome-online-accounts
- gsettings-desktop-schemas
+ curl glib json-glib libnotify libsecret sqlite gumbo gtk3
+ libgee libpeas gnome3.libsoup librest webkitgtk gsettings-desktop-schemas
+ gnome3.gnome-online-accounts
] ++ (with gst_all_1; [
gstreamer gst-plugins-base gst-plugins-good
]);
- # vcs_tag function fails with UnicodeDecodeError
- LC_ALL = "en_US.UTF-8";
-
postPatch = ''
patchShebangs meson_post_install.py
'';
@@ -47,7 +36,7 @@ stdenv.mkDerivation rec {
description = "A modern desktop application designed to complement existing web-based RSS accounts";
homepage = https://jangernert.github.io/FeedReader/;
license = licenses.gpl3Plus;
- maintainers = with maintainers; [ edwtjo ];
+ maintainers = with maintainers; [ edwtjo worldofpeace ];
platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index fcaa1b2c1e8..80f98e23231 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,7 +1,7 @@
{ callPackage, stdenv }:
let
- stableVersion = "2.1.12";
+ stableVersion = "2.1.14";
previewVersion = "2.2.0a1";
addVersion = args:
let version = if args.stable then stableVersion else previewVersion;
@@ -9,8 +9,8 @@ let
in args // { inherit version branch; };
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
- guiSrcHash = "19kk1nc8h6ljczhizkgszw6xma31p0fmh6vkygpmrfwb8975d1s6";
- serverSrcHash = "1rs3l33jf33y02xri0b7chy02cjzd8v7l20ccjw2in8mw08mpc99";
+ guiSrcHash = "1k4g1sd9s6nc3rsc918chnkr515qik4hfd4z5lw065bp3lshf48b";
+ serverSrcHash = "0npm9p52jk04g9cmflsfph4dkj6373mfyvd3hff1caqmjalnfxg4";
in {
guiStable = mkGui {
stable = true;
diff --git a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
index 109893850de..e8c28dc3e53 100644
--- a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, fetchurl, gnome2, gtk2, pango, atk, cairo, gdk_pixbuf, glib,
+{ stdenv, fetchurl, gnome2, gtk3, pango, atk, cairo, gdk_pixbuf, glib,
freetype, fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage,
libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst,
libXScrnSaver, nss, nspr, alsaLib, cups, expat, udev }:
let
- rpath = lib.makeLibraryPath [
+ rpath = stdenv.lib.makeLibraryPath [
alsaLib
atk
cairo
@@ -15,7 +15,7 @@ let
gdk_pixbuf
glib
gnome2.GConf
- gtk2
+ gtk3
pango
libX11
libXScrnSaver
@@ -38,44 +38,51 @@ let
in
stdenv.mkDerivation rec {
name = "mattermost-desktop-${version}";
- version = "4.1.2";
+ version = "4.2.0";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://releases.mattermost.com/desktop/${version}/${name}-linux-x64.tar.gz";
- sha256 = "16dn6870bs1nfl2082ym9gwvmqb3i5sli48qprap80p7riph6k9s";
+ sha256 = "0hka94gwpscjn61032c0grpjv5gjb0j8rkx6pgwci617n29xkyf6";
}
else if stdenv.hostPlatform.system == "i686-linux" then
fetchurl {
url = "https://releases.mattermost.com/desktop/${version}/${name}-linux-ia32.tar.gz";
- sha256 = "145zb1l37fa2slfrrlprlwzcc5km3plxs374yhgix25mlg2afkqr";
+ sha256 = "1nx2sgbnr60h6kn56wv54m7cvyx27d64bfprpb94hqd5c2z21x80";
}
else
throw "Mattermost-Desktop is not currently supported on ${stdenv.hostPlatform.system}";
- phases = [ "unpackPhase" "installPhase" ];
+ dontBuild = true;
+ dontConfigure = true;
+ dontPatchELF = true;
+
installPhase = ''
- mkdir -p $out
- cp -R . $out
+ mkdir -p $out/share/mattermost-desktop
+ cp -R . $out/share/mattermost-desktop
- patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
- --set-rpath ${rpath}:$out $out/mattermost-desktop
+ mkdir -p "$out/bin"
+ ln -s $out/share/mattermost-desktop/mattermost-desktop \
+ $out/bin/mattermost-desktop
- patchShebangs $out/create_desktop_file.sh
- $out/create_desktop_file.sh
+ patchShebangs $out/share/mattermost-desktop/create_desktop_file.sh
+ $out/share/mattermost-desktop/create_desktop_file.sh
+ rm $out/share/mattermost-desktop/create_desktop_file.sh
+ mkdir -p $out/share/applications
+ mv Mattermost.desktop $out/share/applications/Mattermost.desktop
- mkdir -p $out/{bin,share/applications}
- cp Mattermost.desktop $out/share/applications/Mattermost.desktop
- ln -s $out/mattermost-desktop $out/bin/mattermost-desktop
+ patchelf \
+ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+ --set-rpath "${rpath}:$out/share/mattermost-desktop" \
+ $out/share/mattermost-desktop/mattermost-desktop
'';
- meta = {
+ meta = with stdenv.lib; {
description = "Mattermost Desktop client";
homepage = https://about.mattermost.com/;
- license = lib.licenses.asl20;
- platforms = [
- "x86_64-linux" "i686-linux"
- ];
+ license = licenses.asl20;
+ platforms = [ "x86_64-linux" "i686-linux" ];
+ maintainers = [ maintainers.joko ];
};
}
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 3c9157081d3..2b744c61ccb 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchgit, bash, libconfig, libevent, openssl,
- readline, zlib, lua5_2, python, pkgconfig, jansson
+{ stdenv, fetchgit, bash, libconfig, libevent, openssl
+, readline, zlib, lua5_2, python, pkgconfig, jansson
+, runtimeShell
}:
stdenv.mkDerivation rec {
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
cp ./bin/telegram-cli $out/bin/telegram-wo-key
cp ./tg-server.pub $out/
cat > $out/bin/telegram-cli < $out/bin/msgviewer
- #!${stdenv.shell} -eu
+ #!${runtimeShell} -eu
exec ${stdenv.lib.getBin jre}/bin/java -jar $dir/MSGViewer.jar "\$@"
_EOF
chmod 755 $out/bin/msgviewer
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index a8c322b42b8..0da451ed51e 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
-, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap
+, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell
}:
let
muttWrapper = writeScript "mutt" ''
- #!${stdenv.shell} -eu
+ #!${runtimeShell} -eu
echo 'The neomutt project has renamed the main binary from `mutt` to `neomutt`.'
echo ""
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 5ca6b52d8c4..7f32e45f5d3 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -41,6 +41,7 @@
, gnused
, gnugrep
, gnupg
+, runtimeShell
}:
# imports `version` and `sources`
@@ -159,7 +160,7 @@ stdenv.mkDerivation {
'';
passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
- inherit name stdenv writeScript xidel coreutils gnused gnugrep curl gnupg;
+ inherit name stdenv writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
baseName = "thunderbird";
channel = "release";
basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 6cb6b2bb44e..9906a76ec12 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -5,7 +5,7 @@
, hunspell, libevent, libstartup_notification
, icu, libpng, jemalloc
, autoconf213, which, m4
-, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl
+, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl, runtimeShell
, cargo, rustc, llvmPackages
, enableGTK3 ? false, gtk3, gnome3, wrapGAppsHook, makeWrapper
, enableCalendar ? true
@@ -193,6 +193,6 @@ in stdenv.mkDerivation rec {
passthru.updateScript = import ./../../browsers/firefox/update.nix {
attrPath = "thunderbird";
baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
- inherit stdenv writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl;
+ inherit stdenv writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl runtimeShell;
};
}
diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix
index 3e74fbfb66a..7557f04dc58 100644
--- a/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -2,7 +2,7 @@
libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }:
let
- version = "1.1.0-1";
+ version = "1.1.1-1";
description = ''
An application that runs on your computer in the background and seamlessly encrypts
@@ -12,9 +12,9 @@ let
'';
desktopItem = makeDesktopItem {
- name = "Desktop-Bridge";
- exec = "Desktop-Bridge";
- icon = "desktop-bridge";
+ name = "protonmail-bridge";
+ exec = "protonmail-bridge";
+ icon = "protonmail-bridge";
comment = stdenv.lib.replaceStrings ["\n"] [" "] description;
desktopName = "ProtonMail Bridge";
genericName = "ProtonMail Bridge for Linux";
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb";
- sha256 = "0l29z208krnd3dginc203m4p5dlmnxf08vpmbm9xzlckwmswizkb";
+ sha256 = "148syyz92yqxp2fw18fhflhmdrakxz7cc30va7h0pwysz97gni2p";
};
nativeBuildInputs = [ makeWrapper ];
@@ -40,11 +40,11 @@ in stdenv.mkDerivation rec {
mkdir -p $out/{bin,lib,share/applications}
mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
- cp -r usr/lib/protonmail/bridge/Desktop-Bridge{,.sh} $out/lib
- cp usr/share/icons/protonmail/Desktop-Bridge.svg $out/share/icons/hicolor/scalable/apps/desktop-bridge.svg
+ cp -r usr/lib/protonmail/bridge/protonmail-bridge{,.sh} $out/lib
+ cp usr/share/icons/protonmail/ProtonMail_Bridge.svg $out/share/icons/hicolor/scalable/apps/protonmail-bridge.svg
cp ${desktopItem}/share/applications/* $out/share/applications
- ln -s $out/lib/Desktop-Bridge $out/bin/Desktop-Bridge
+ ln -s $out/lib/protonmail-bridge $out/bin/protonmail-bridge
'';
postFixup = let
@@ -66,9 +66,9 @@ in stdenv.mkDerivation rec {
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" \
- $out/lib/Desktop-Bridge
+ $out/lib/protonmail-bridge
- wrapProgram $out/lib/Desktop-Bridge \
+ wrapProgram $out/lib/protonmail-bridge \
--set QT_PLUGIN_PATH "${qtPath qtbase.qtPluginPrefix}" \
--set QML_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \
--set QML2_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 9c4c22dabe9..892ebcee99f 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -32,6 +32,7 @@
, autorunLinkHandler ? true
# Update script
, writeScript
+, runtimeShell
}:
let
@@ -130,7 +131,7 @@ stdenv.mkDerivation {
dontStrip = true;
dontPatchElf = true;
- updateScript = import ./update.nix { inherit stdenv writeScript; };
+ updateScript = import ./update.nix { inherit stdenv writeScript runtimeShell; };
meta = with stdenv.lib; {
homepage = http://www.mendeley.com;
diff --git a/pkgs/applications/office/mendeley/update.nix b/pkgs/applications/office/mendeley/update.nix
index 147c95b8e7b..c174e7dc668 100644
--- a/pkgs/applications/office/mendeley/update.nix
+++ b/pkgs/applications/office/mendeley/update.nix
@@ -1,7 +1,7 @@
-{ stdenv, writeScript }:
+{ stdenv, writeScript, runtimeShell }:
writeScript "update-mendeley" ''
- #!${stdenv.shell}
+ #!${runtimeShell}
function follow() {
local URL=$1
while true; do
diff --git a/pkgs/applications/office/moneyplex/default.nix b/pkgs/applications/office/moneyplex/default.nix
index 9f4ed80e6d8..ad621303d7d 100644
--- a/pkgs/applications/office/moneyplex/default.nix
+++ b/pkgs/applications/office/moneyplex/default.nix
@@ -1,5 +1,6 @@
{ stdenv, fetchurl, patchelf, coreutils, pcsclite
-, zlib, glib, gdk_pixbuf, gtk2, cairo, pango, libX11, atk, openssl }:
+, zlib, glib, gdk_pixbuf, gtk2, cairo, pango, libX11, atk, openssl
+, runtimeShell }:
let
libPath = stdenv.lib.makeLibraryPath [
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
mkdir "$out/bin"
cat > $out/bin/moneyplex < /etc/alliance-install.log
'';
allianceUnInstaller = ''
- #!${stdenv.shell}
+ #!${runtimeShell}
awk '{print \$3}' /etc/alliance-install.log | xargs rm
awk '{print \$3}' /etc/alliance-install.log | xargs rmdir
rm /etc/alliance-install.log
diff --git a/pkgs/applications/science/electronics/eagle/eagle7.nix b/pkgs/applications/science/electronics/eagle/eagle7.nix
index d5720440f7c..69b111562ab 100644
--- a/pkgs/applications/science/electronics/eagle/eagle7.nix
+++ b/pkgs/applications/science/electronics/eagle/eagle7.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, makeDesktopItem, patchelf, zlib, freetype, fontconfig
, openssl, libXrender, libXrandr, libXcursor, libX11, libXext, libXi
-, libxcb, cups, xkeyboardconfig
+, libxcb, cups, xkeyboardconfig, runtimeShell
}:
let
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
dynlinker="$(cat $NIX_CC/nix-support/dynamic-linker)"
mkdir -p "$out"/bin
cat > "$out"/bin/eagle << EOF
- #!${stdenv.shell}
+ #!${runtimeShell}
export LD_LIBRARY_PATH="${stdenv.cc.cc.lib}/lib:${libPath}"
export LD_PRELOAD="$out/lib/eagle_fixer.so"
export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"
diff --git a/pkgs/applications/science/logic/clprover/clprover.nix b/pkgs/applications/science/logic/clprover/clprover.nix
new file mode 100644
index 00000000000..b6ebce68193
--- /dev/null
+++ b/pkgs/applications/science/logic/clprover/clprover.nix
@@ -0,0 +1,27 @@
+{ stdenv, pkgs, fetchzip }:
+
+stdenv.mkDerivation rec {
+ name = "clprover-${version}";
+ version = "1.0.3";
+
+ src = fetchzip {
+ url = "http://cgi.csc.liv.ac.uk/~ullrich/CLProver++/CLProver++-v1.0.3-18-04-2015.zip";
+ sha256 = "10kmlg4m572qwfzi6hkyb0ypb643xw8sfb55xx7866lyh37w1q3s";
+ stripRoot = false;
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp -r bin $out/bin
+ mkdir -p $out/share/clprover
+ cp -r examples $out/share/clprover/examples
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Resolution-based theorem prover for Coalition Logic implemented in C++";
+ homepage = http://cgi.csc.liv.ac.uk/~ullrich/CLProver++/;
+ license = licenses.gpl3; # Note that while the website states that it is GPLv2 but the file in the zip as well as the comments in the source state it is GPLv3
+ maintainers = with maintainers; [ mgttlinger ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index ffd25b6238b..099e2102c51 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ocaml, num, camlp5 }:
+{ stdenv, runtimeShell, fetchFromGitHub, ocaml, num, camlp5 }:
let
load_num =
@@ -11,7 +11,7 @@ let
start_script =
''
- #!${stdenv.shell}
+ #!${runtimeShell}
cd $out/lib/hol_light
exec ${ocaml}/bin/ocaml \
-I \`${camlp5}/bin/camlp5 -where\` \
diff --git a/pkgs/applications/science/logic/leo3/binary.nix b/pkgs/applications/science/logic/leo3/binary.nix
index a3834dc70b6..dcea9c27acb 100644
--- a/pkgs/applications/science/logic/leo3/binary.nix
+++ b/pkgs/applications/science/logic/leo3/binary.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, openjdk}:
+{stdenv, fetchurl, openjdk, runtimeShell}:
stdenv.mkDerivation rec {
pname = "leo3";
version = "1.2";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p "$out"/{bin,lib/java/leo3}
cp "${jar}" "$out/lib/java/leo3/leo3.jar"
- echo "#!${stdenv.shell}" > "$out/bin/leo3"
+ echo "#!${runtimeShell}" > "$out/bin/leo3"
echo "'${openjdk}/bin/java' -jar '$out/lib/java/leo3/leo3.jar' \"\$@\"" > "$out/bin/leo3"
chmod a+x "$out/bin/leo3"
'';
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index c22c15b3a4b..a3b369ad54a 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "why3-${version}";
- version = "1.1.1";
+ version = "1.2.0";
src = fetchurl {
- url = https://gforge.inria.fr/frs/download.php/file/37842/why3-1.1.1.tar.gz;
- sha256 = "065ix1ill009bxg7w27s8wq47vn03vbr63hsaa79arv31d96izny";
+ url = https://gforge.inria.fr/frs/download.php/file/37903/why3-1.2.0.tar.gz;
+ sha256 = "0xz001jhi71ja8vqrjz27v63bidrzj4qvg1yqarq6p4dmpxhk348";
};
buildInputs = (with ocamlPackages; [
diff --git a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix
index c71099ad6a7..b4ff9fc1821 100644
--- a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix
+++ b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix
@@ -12,7 +12,7 @@ in
melee = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Melee.zip";
- sha256 = "0w050yah5rybx3m5zvpr09jv01r0xsazpyrc76338b2sd8pdxv3y";
+ sha256 = "0z44pgy10jklsvgpr0kcn4c2mz3hw7nlcmvsy6a6lzpi3dvzf33i";
stripRoot = false;
};
ladder2017season1 = fetchzip' {
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index b9d0a9ef448..7302b5e337d 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -1,6 +1,7 @@
{ stdenv
, fetchFromGitHub
, fetchpatch
+, runtimeShell
}:
# This file is responsible for fetching the sage source and adding necessary patches.
@@ -121,7 +122,7 @@ stdenv.mkDerivation rec {
-e 's/sage-python23/python/g' \
-i {} \;
- echo '#!${stdenv.shell}
+ echo '#!${runtimeShell}
python "$@"' > build/bin/sage-python23
# Do not use sage-env-config (generated by ./configure).
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index e7199543ad7..0797d75a837 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -82,6 +82,8 @@ let
git-hub = callPackage ./git-hub { };
+ git-ignore = callPackage ./git-ignore { };
+
git-imerge = callPackage ./git-imerge { };
git-octopus = callPackage ./git-octopus { };
diff --git a/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
new file mode 100644
index 00000000000..9edcf4c3ac4
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, darwin }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+ name = "git-ignore-${version}";
+ version = "0.2.0";
+
+ cargoSha256 = "1fqfy8lnvpn5sd3l73x2p359zq4303vsrdgw3aphvy6580yjb84d";
+
+ src = fetchFromGitHub {
+ owner = "sondr3";
+ repo = "git-ignore";
+ rev = "v${version}";
+ sha256 = "1nihh5inh46r8jg9z7d6g9gqfyhrznmkn15nmzpbnzf0653dl629";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ openssl ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [
+ darwin.apple_sdk.frameworks.Security
+ ];
+
+ meta = with stdenv.lib; {
+ description = "Quickly and easily fetch .gitignore templates from gitignore.io";
+ homepage = https://github.com/sondr3/git-ignore;
+ license = licenses.gpl3Plus;
+ platforms = platforms.all;
+ maintainers = [ maintainers.sondr3 ];
+ };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 8ae600ed360..9f18beda7f9 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, ronn, ruby, groff, Security, utillinux, git, glibcLocales }:
+{ stdenv, buildGoPackage, fetchFromGitHub, groff, Security, utillinux }:
buildGoPackage rec {
pname = "hub";
- version = "2.9.0";
+ version = "2.10.0";
goPackagePath = "github.com/github/hub";
@@ -13,12 +13,11 @@ buildGoPackage rec {
owner = "github";
repo = pname;
rev = "v${version}";
- sha256 = "0yxpr606xx23l8823hjqj16cvjjrwb28c7z08ml1pkfvaf7w4n81";
+ sha256 = "1vvrc3k81jm9c664g0j9666i7ypn7n7jfyj4gxcybq3sg2d4di27";
};
- nativeBuildInputs = [ groff ronn utillinux glibcLocales ];
- buildInputs = [ ruby ] ++
- stdenv.lib.optional stdenv.isDarwin Security;
+ nativeBuildInputs = [ groff utillinux ];
+ buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
postPatch = ''
patchShebangs .
@@ -30,7 +29,8 @@ buildGoPackage rec {
install -D etc/hub.bash_completion.sh "$bin/share/bash-completion/completions/hub"
install -D etc/hub.fish_completion "$bin/share/fish/vendor_completions.d/hub.fish"
- PATH=$PATH:${git}/bin LC_ALL=en_US.utf-8 make man-pages
+ LC_ALL=C.UTF8 \
+ make man-pages
cp -vr --parents share/man/man[1-9]/*.[1-9] $bin/
'';
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 664ef62be54..b27ade204ed 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -1,8 +1,8 @@
{ stdenv, libXcomposite, libgnome-keyring, makeWrapper, udev, curl, alsaLib
-, libXfixes, atk, gtk3, libXrender, pango, gnome2, cairo, freetype, fontconfig
+, libXfixes, atk, gtk3, libXrender, pango, gnome2, gnome3, cairo, freetype, fontconfig
, libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
, nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus
-, dpkg, makeDesktopItem, openssl
+, dpkg, makeDesktopItem, openssl, wrapGAppsHook, hicolor-icon-theme
}:
with stdenv.lib;
@@ -12,11 +12,11 @@ let
in
stdenv.mkDerivation rec {
name = "gitkraken-${version}";
- version = "4.2.1";
+ version = "4.2.2";
src = fetchurl {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
- sha256 = "07f9h3276bs7m22vwpxrxmlwnq7l5inr2l67nmpiaz1569yabwsg";
+ sha256 = "0zbnw2x15688hjdj10kpp2ipka3j7b2p945a4mzwlsc8a245ljgb";
};
libPath = makeLibraryPath [
@@ -65,8 +65,8 @@ stdenv.mkDerivation rec {
comment = "Graphical Git client from Axosoft";
};
- nativeBuildInputs = [ makeWrapper ];
- buildInputs = [ dpkg ];
+ nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+ buildInputs = [ dpkg gtk3 gnome3.adwaita-icon-theme hicolor-icon-theme ];
unpackCmd = ''
mkdir out
@@ -85,6 +85,7 @@ stdenv.mkDerivation rec {
rm -rf bin/gitkraken share/lintian
cp -av share bin $out/
popd
+
ln -s $out/share/gitkraken/gitkraken $out/bin/gitkraken
'';
diff --git a/pkgs/applications/video/dvd-slideshow/default.nix b/pkgs/applications/video/dvd-slideshow/default.nix
index a329321b70c..344c47eb934 100644
--- a/pkgs/applications/video/dvd-slideshow/default.nix
+++ b/pkgs/applications/video/dvd-slideshow/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, lib, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools }:
+{ stdenv, lib, fetchurl, writeScript, cdrtools, dvdauthor, ffmpeg, imagemagick, lame, mjpegtools, sox, transcode, vorbis-tools, runtimeShell }:
let
binPath = lib.makeBinPath [ cdrtools dvdauthor ffmpeg imagemagick lame mjpegtools sox transcode vorbis-tools ];
wrapper = writeScript "dvd-slideshow.sh" ''
- #!${stdenv.shell}
+ #!${runtimeShell}
# wrapper script for dvd-slideshow programs
export PATH=${binPath}:$PATH
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index 29fbf79c662..91fd7eab126 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -1,7 +1,8 @@
{ stdenv, callPackage, fetchurl, fetchFromGitHub, unzip
, cmake, kodiPlain, libcec_platform, tinyxml, rapidxml
, steam, libusb, pcre-cpp, jsoncpp, libhdhomerun, zlib
-, python2Packages, expat, glib, nspr, nss }:
+, python2Packages, expat, glib, nspr, nss, openssl
+, libssh, libarchive, lzma, bzip2, lz4, lzo }:
with stdenv.lib;
@@ -432,13 +433,13 @@ let self = rec {
plugin = "osmc-skin";
namespace = "skin.osmc";
- version = "17.0.4";
+ version = "18.0.0";
src = fetchFromGitHub {
owner = "osmc";
repo = namespace;
- rev = "a9268937f49286bab9fb49de430b8aafd7a60a9e";
- sha256 = "1b3fm02annsq58pcfc985glrmh21rmqksdj3q8wn6gyza06jdf3v";
+ rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0";
+ sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s";
};
meta = {
@@ -506,4 +507,47 @@ let self = rec {
};
};
+ vfs-sftp = mkKodiABIPlugin rec {
+ namespace = "vfs.sftp";
+ version = "1.0.1";
+ plugin = namespace;
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = namespace;
+ rev = "${version}-${rel}";
+ sha256 = "1l9igrl168s91c15v9klyaaz226ik3xlbzjk2f1346fvzmp87g9v";
+ };
+
+ meta = with stdenv.lib; {
+ description = "SFTP Virtual Filesystem add-on for Kodi";
+ license = licenses.gpl2Plus;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ minijackson ];
+ };
+
+ extraBuildInputs = [ openssl libssh zlib ];
+ };
+
+ vfs-libarchive = mkKodiABIPlugin rec {
+ namespace = "vfs.libarchive";
+ version = "1.0.5";
+ plugin = namespace;
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = namespace;
+ rev = "${version}-${rel}";
+ sha256 = "0l1f1fijflr1ia30r0dcz1x2zn35c4lxy30az1cqxdf8nipza0b8";
+ };
+
+ meta = with stdenv.lib; {
+ description = "LibArchive Virtual Filesystem add-on for Kodi";
+ license = licenses.gpl2Plus;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ minijackson ];
+ };
+
+ extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
+ };
}; in self
diff --git a/pkgs/applications/virtualization/nvidia-docker/config.toml b/pkgs/applications/virtualization/nvidia-docker/config.toml
new file mode 100644
index 00000000000..bbd166995f3
--- /dev/null
+++ b/pkgs/applications/virtualization/nvidia-docker/config.toml
@@ -0,0 +1,13 @@
+disable-require = false
+#swarm-resource = "DOCKER_RESOURCE_GPU"
+
+[nvidia-container-cli]
+#root = "/run/nvidia/driver"
+#path = "/usr/bin/nvidia-container-cli"
+environment = []
+#debug = "/var/log/nvidia-container-runtime-hook.log"
+ldcache = "/tmp/ld.so.cache"
+load-kmods = true
+#no-cgroups = false
+#user = "root:video"
+ldconfig = "@@glibcbin@/bin/ldconfig"
diff --git a/pkgs/applications/virtualization/nvidia-docker/default.nix b/pkgs/applications/virtualization/nvidia-docker/default.nix
new file mode 100644
index 00000000000..3e79ff84882
--- /dev/null
+++ b/pkgs/applications/virtualization/nvidia-docker/default.nix
@@ -0,0 +1,84 @@
+{ stdenv, lib, fetchFromGitHub, fetchpatch, callPackage, makeWrapper
+, buildGoPackage, runc, libelf, libcap, libseccomp, glibc }:
+
+with lib; let
+
+ glibc-ldconf = glibc.overrideAttrs (oldAttrs: {
+ # ldconfig needs help reading libraries that have been patchelf-ed, as the
+ # .dynstr section is no longer in the first LOAD segment. See also
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=23964 and
+ # https://github.com/NixOS/patchelf/issues/44
+ patches = oldAttrs.patches ++ [ (fetchpatch {
+ name = "ldconfig-patchelf.patch";
+ url = "https://sourceware.org/bugzilla/attachment.cgi?id=11444";
+ sha256 = "0nzzmq7pli37iyjrgcmvcy92piiwjybpw245ds7q43pbgdm7lc3s";
+ })];
+ });
+
+ libnvidia-container = callPackage ./libnvc.nix { };
+
+ nvidia-container-runtime = fetchFromGitHub {
+ owner = "NVIDIA";
+ repo = "nvidia-container-runtime";
+ rev = "runtime-v2.0.0";
+ sha256 = "0jcj5xxbg7x7gyhbb67h3ds6vly62gx7j02zm6lg102h34jajj7a";
+ };
+
+ nvidia-container-runtime-hook = buildGoPackage rec {
+ name = "nvidia-container-runtime-hook-${version}";
+ version = "1.4.0";
+
+ goPackagePath = "nvidia-container-runtime-hook";
+
+ src = "${nvidia-container-runtime}/hook/nvidia-container-runtime-hook";
+ };
+
+ nvidia-runc = runc.overrideAttrs (oldAttrs: rec {
+ name = "nvidia-runc";
+ version = "1.0.0-rc6";
+ src = fetchFromGitHub {
+ owner = "opencontainers";
+ repo = "runc";
+ rev = "v${version}";
+ sha256 = "1jwacb8xnmx5fr86gximhbl9dlbdwj3rpf27hav9q1si86w5pb1j";
+ };
+ patches = [ "${nvidia-container-runtime}/runtime/runc/3f2f8b84a77f73d38244dd690525642a72156c64/0001-Add-prestart-hook-nvidia-container-runtime-hook-to-t.patch" ];
+ });
+
+in stdenv.mkDerivation rec {
+ name = "nvidia-docker-${version}";
+ version = "2.0.3";
+
+ src = fetchFromGitHub {
+ owner = "NVIDIA";
+ repo = "nvidia-docker";
+ rev = "v${version}";
+ sha256 = "1vx5m591mnvcb9vy0196x5lh3r8swjsk0fnlv5h62m7m4m07v6wx";
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ buildPhase = ''
+ mkdir bin
+ cp nvidia-docker bin
+ cp ${libnvidia-container}/bin/nvidia-container-cli bin
+ cp ${nvidia-container-runtime-hook}/bin/nvidia-container-runtime-hook bin
+ cp ${nvidia-runc}/bin/runc bin/nvidia-container-runtime
+ '';
+
+ installPhase = ''
+ mkdir -p $out/{bin,etc}
+ cp -r bin $out
+ wrapProgram $out/bin/nvidia-container-cli \
+ --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:/run/opengl-driver-32/lib
+ cp ${./config.toml} $out/etc/config.toml
+ substituteInPlace $out/etc/config.toml --subst-var-by glibcbin ${lib.getBin glibc-ldconf}
+ '';
+
+ meta = {
+ homepage = https://github.com/NVIDIA/nvidia-docker;
+ description = "NVIDIA container runtime for Docker";
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch b/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch
new file mode 100644
index 00000000000..043c1efade8
--- /dev/null
+++ b/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch
@@ -0,0 +1,130 @@
+diff --git a/src/ldcache.c b/src/ldcache.c
+index 38bab05..e1abc89 100644
+--- a/src/ldcache.c
++++ b/src/ldcache.c
+@@ -108,40 +108,27 @@ ldcache_close(struct ldcache *ctx)
+
+ int
+ ldcache_resolve(struct ldcache *ctx, uint32_t arch, const char *root, const char * const libs[],
+- char *paths[], size_t size, ldcache_select_fn select, void *select_ctx)
++ char *paths[], size_t size, const char* version)
+ {
+ char path[PATH_MAX];
+- struct header_libc6 *h;
+- int override;
++ char dir[PATH_MAX];
++ char lib[PATH_MAX];
+
+- h = (struct header_libc6 *)ctx->ptr;
+ memset(paths, 0, size * sizeof(*paths));
+
+- for (uint32_t i = 0; i < h->nlibs; ++i) {
+- int32_t flags = h->libs[i].flags;
+- char *key = (char *)ctx->ptr + h->libs[i].key;
+- char *value = (char *)ctx->ptr + h->libs[i].value;
+-
+- if (!(flags & LD_ELF) || (flags & LD_ARCH_MASK) != arch)
++ for (size_t j = 0; j < size; ++j) {
++ snprintf(dir, 100, "/run/opengl-driver%s/lib",
++ arch == LD_I386_LIB32 ? "-32" : "");
++ if (!strncmp(libs[j], "libvdpau_nvidia.so", 100))
++ strcat(dir, "/vdpau");
++ snprintf(lib, 100, "%s/%s.%s", dir, libs[j], version);
++ if (path_resolve_full(ctx->err, path, "/", lib) < 0)
++ return (-1);
++ if (!file_exists(ctx->err, path))
+ continue;
+-
+- for (size_t j = 0; j < size; ++j) {
+- if (!str_has_prefix(key, libs[j]))
+- continue;
+- if (path_resolve(ctx->err, path, root, value) < 0)
+- return (-1);
+- if (paths[j] != NULL && str_equal(paths[j], path))
+- continue;
+- if ((override = select(ctx->err, select_ctx, root, paths[j], path)) < 0)
+- return (-1);
+- if (override) {
+- free(paths[j]);
+- paths[j] = xstrdup(ctx->err, path);
+- if (paths[j] == NULL)
+- return (-1);
+- }
+- break;
+- }
++ paths[j] = xstrdup(ctx->err, path);
++ if (paths[j] == NULL)
++ return (-1);
+ }
+ return (0);
+ }
+diff --git a/src/ldcache.h b/src/ldcache.h
+index 33d78dd..2b087db 100644
+--- a/src/ldcache.h
++++ b/src/ldcache.h
+@@ -50,6 +50,6 @@ void ldcache_init(struct ldcache *, struct error *, const char *);
+ int ldcache_open(struct ldcache *);
+ int ldcache_close(struct ldcache *);
+ int ldcache_resolve(struct ldcache *, uint32_t, const char *, const char * const [],
+- char *[], size_t, ldcache_select_fn, void *);
++ char *[], size_t, const char*);
+
+ #endif /* HEADER_LDCACHE_H */
+diff --git a/src/nvc_info.c b/src/nvc_info.c
+index cc96542..3fe7612 100644
+--- a/src/nvc_info.c
++++ b/src/nvc_info.c
+@@ -163,15 +163,13 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char *
+ if (path_resolve_full(err, path, root, ldcache) < 0)
+ return (-1);
+ ldcache_init(&ld, err, path);
+- if (ldcache_open(&ld) < 0)
+- return (-1);
+
+ info->nlibs = size;
+ info->libs = array_new(err, size);
+ if (info->libs == NULL)
+ goto fail;
+ if (ldcache_resolve(&ld, LIB_ARCH, root, libs,
+- info->libs, info->nlibs, select_libraries, info) < 0)
++ info->libs, info->nlibs, info->nvrm_version) < 0)
+ goto fail;
+
+ info->nlibs32 = size;
+@@ -179,13 +177,11 @@ find_library_paths(struct error *err, struct nvc_driver_info *info, const char *
+ if (info->libs32 == NULL)
+ goto fail;
+ if (ldcache_resolve(&ld, LIB32_ARCH, root, libs,
+- info->libs32, info->nlibs32, select_libraries, info) < 0)
++ info->libs32, info->nlibs32, info->nvrm_version) < 0)
+ goto fail;
+ rv = 0;
+
+ fail:
+- if (ldcache_close(&ld) < 0)
+- return (-1);
+ return (rv);
+ }
+
+@@ -199,7 +195,7 @@ find_binary_paths(struct error *err, struct nvc_driver_info *info, const char *r
+ char path[PATH_MAX];
+ int rv = -1;
+
+- if ((env = secure_getenv("PATH")) == NULL) {
++ if ((env = "/run/nvidia-docker/bin:/run/nvidia-docker/extras/bin") == NULL) {
+ error_setx(err, "environment variable PATH not found");
+ return (-1);
+ }
+diff --git a/src/nvc_ldcache.c b/src/nvc_ldcache.c
+index d41a24d..65b7878 100644
+--- a/src/nvc_ldcache.c
++++ b/src/nvc_ldcache.c
+@@ -331,7 +331,7 @@ nvc_ldcache_update(struct nvc_context *ctx, const struct nvc_container *cnt)
+ if (validate_args(ctx, cnt != NULL) < 0)
+ return (-1);
+
+- argv = (char * []){cnt->cfg.ldconfig, cnt->cfg.libs_dir, cnt->cfg.libs32_dir, NULL};
++ argv = (char * []){cnt->cfg.ldconfig, "-f", "/tmp/ld.so.conf.nvidia-host", "-C", "/tmp/ld.so.cache.nvidia-host", cnt->cfg.libs_dir, cnt->cfg.libs32_dir, NULL};
+ if (*argv[0] == '@') {
+ /*
+ * We treat this path specially to be relative to the host filesystem.
diff --git a/pkgs/applications/virtualization/nvidia-docker/libnvc.nix b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
new file mode 100644
index 00000000000..46b8e3ba43c
--- /dev/null
+++ b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
@@ -0,0 +1,53 @@
+{ stdenv, lib, fetchFromGitHub, libelf, libcap, libseccomp }:
+
+with lib; let
+
+ modp-ver = "396.51";
+
+ nvidia-modprobe = fetchFromGitHub {
+ owner = "NVIDIA";
+ repo = "nvidia-modprobe";
+ rev = modp-ver;
+ sha256 = "1fw2qwc84k64agw6fx2v0mjf88aggph9c6qhs4cv7l3gmflv8qbk";
+ };
+
+in stdenv.mkDerivation rec {
+ name = "libnvidia-container-${version}";
+ version = "1.0.0";
+
+ src = fetchFromGitHub {
+ owner = "NVIDIA";
+ repo = "libnvidia-container";
+ rev = "v${version}";
+ sha256 = "1ws6mfsbgxhzlb5w1r8qqg2arvxkr21n59i4cqsyz3h5jsqsflbw";
+ };
+
+ # locations of nvidia-driver libraries are not resolved via ldconfig which
+ # doesn't get used on NixOS. Additional support binaries like nvidia-smi are
+ # not resolved via the environment PATH but via the derivation output path.
+ patches = [ ./libnvc-ldconfig-and-path-fixes.patch ];
+
+ makeFlags = [
+ "WITH_LIBELF=yes"
+ "prefix=$(out)"
+ ];
+
+ postPatch = ''
+ sed -i 's/^REVISION :=.*/REVISION = ${src.rev}/' mk/common.mk
+ sed -i 's/^COMPILER :=.*/COMPILER = $(CC)/' mk/common.mk
+
+ mkdir -p deps/src/nvidia-modprobe-${modp-ver}
+ cp -r ${nvidia-modprobe}/* deps/src/nvidia-modprobe-${modp-ver}
+ chmod -R u+w deps/src
+ touch deps/src/nvidia-modprobe-${modp-ver}/.download_stamp
+ '';
+
+ buildInputs = [ libelf libcap libseccomp ];
+
+ meta = {
+ homepage = https://github.com/NVIDIA/libnvidia-container;
+ description = "NVIDIA container runtime library";
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/window-managers/i3/pystatus.nix b/pkgs/applications/window-managers/i3/pystatus.nix
index 1fed92764c1..b44aa73bc5a 100644
--- a/pkgs/applications/window-managers/i3/pystatus.nix
+++ b/pkgs/applications/window-managers/i3/pystatus.nix
@@ -3,7 +3,7 @@
python3Packages.buildPythonApplication rec {
# i3pystatus moved to rolling release:
# https://github.com/enkore/i3pystatus/issues/584
- version = "unstable-2018-04-11";
+ version = "unstable-2019-02-10";
pname = "i3pystatus";
disabled = !python3Packages.isPy3k;
@@ -11,8 +11,8 @@ python3Packages.buildPythonApplication rec {
{
owner = "enkore";
repo = "i3pystatus";
- rev = "3efbd56bb7a851f16173ec6f0eef472b6e96c7cc";
- sha256 = "0r4mc23chxlaym7jcjnflw7mn5nbw3q8q4ix0nim7lh98yfndd3b";
+ rev = "bcd8f12b18d491029fdd5bd0f433b4500fcdc68e";
+ sha256 = "0gw6sla73cid6gwxn2n4zmsg2svq5flf9zxly6x2rfljizgf0720";
};
propagatedBuildInputs = with python3Packages; [ keyring colour netifaces praw psutil basiciw ] ++
@@ -44,4 +44,3 @@ python3Packages.buildPythonApplication rec {
maintainers = [ maintainers.igsha ];
};
}
-
diff --git a/pkgs/applications/window-managers/sway/beta.nix b/pkgs/applications/window-managers/sway/beta.nix
index 155b26e0987..a887016782e 100644
--- a/pkgs/applications/window-managers/sway/beta.nix
+++ b/pkgs/applications/window-managers/sway/beta.nix
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "sway";
- version = "1.0-rc3";
+ version = "1.0-rc4";
src = fetchFromGitHub {
owner = "swaywm";
repo = "sway";
rev = version;
- sha256 = "1ixwc1bg725x68qr84s8a5i4rlzc4svc52jgdw1yl5bgr6l1k5zc";
+ sha256 = "1f0mvf48dvsivdd850r1gd2h90cbn62qflwiff6x2addn868bvxa";
};
postPatch = ''
@@ -36,8 +36,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
mesonFlags = [
- "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled"
- "-Dtray=enabled"
+ "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" "-Dtray=enabled"
] ++ stdenv.lib.optional buildDocs "-Dman-pages=enabled";
meta = with stdenv.lib; {
@@ -45,6 +44,6 @@ stdenv.mkDerivation rec {
homepage = https://swaywm.org;
license = licenses.mit;
platforms = platforms.linux;
- maintainers = with maintainers; [ primeos synthetica ]; # Trying to keep it up-to-date.
+ maintainers = with maintainers; [ primeos synthetica ];
};
}
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 4b20c562460..011ff368509 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -23,7 +23,8 @@
writeScript,
writeText,
closureInfo,
- substituteAll
+ substituteAll,
+ runtimeShell
}:
# WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future.
@@ -119,7 +120,7 @@ rec {
export PATH=${shadow}/bin:$PATH
mkdir -p /etc/pam.d
if [[ ! -f /etc/passwd ]]; then
- echo "root:x:0:0::/root:${stdenv.shell}" > /etc/passwd
+ echo "root:x:0:0::/root:${runtimeShell}" > /etc/passwd
echo "root:!x:::::::" > /etc/shadow
fi
if [[ ! -f /etc/group ]]; then
@@ -261,7 +262,7 @@ rec {
# things like `ls` or `echo` will be missing.
shellScript = name: text:
writeScript name ''
- #!${stdenv.shell}
+ #!${runtimeShell}
set -e
export PATH=${coreutils}/bin:/bin
${text}
diff --git a/pkgs/build-support/nix-prefetch-github/default.nix b/pkgs/build-support/nix-prefetch-github/default.nix
index 0c9722bb0b6..acc95eaf993 100644
--- a/pkgs/build-support/nix-prefetch-github/default.nix
+++ b/pkgs/build-support/nix-prefetch-github/default.nix
@@ -5,13 +5,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "nix-prefetch-github";
- version = "2.1";
+ version = "2.2";
src = fetchFromGitHub {
owner = "seppeljordan";
repo = "nix-prefetch-github";
rev = "v${version}";
- sha256 = "1v4w7xs8wxgl36vb2cnyj219mqvximkvvw46h4fp25vi2g3f9h8d";
+ sha256 = "1m1d1fzacvwprfvhxih1hzr1m0y1jjxiznf8p8b3bi5a41yzvrrl";
};
propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
index 5ab24132290..2d24d5bd704 100644
--- a/pkgs/build-support/release/ant-build.nix
+++ b/pkgs/build-support/release/ant-build.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation (
mkdir -p $out/bin
cat >> $out/bin/${w.name} </dev/null || true'')
- commonMetaFiles;
-
- # Move & remove actions, taking the package doc directory
- commonFileActions = writeScript "common-file-actions.sh" ''
- #!${stdenv.shell}
- set -e
- DOCDIR="$1"
- shopt -s globstar extglob nullglob
- ${rmNoise}
- mkdir -p "$DOCDIR"
- ${mvMeta}
- '';
-
-
in stdenv.mkDerivation {
name = "${pname}-${version}";
@@ -105,21 +86,16 @@ in stdenv.mkDerivation {
# TODO(Profpatsch): ensure that there is always a $doc output!
postInstall = ''
echo "Cleaning & moving common files"
- mkdir -p $doc/share/doc/${pname}
- ${commonFileActions} $doc/share/doc/${pname}
+ ${cleanPackaging.commonFileActions {
+ noiseFiles = commonNoiseFiles;
+ docFiles = commonMetaFiles;
+ }} $doc/share/doc/${pname}
${postInstall}
'';
postFixup = ''
- echo "Checking for remaining source files"
- rem=$(find -mindepth 1 -xtype f -print0 \
- | tee $TMP/remaining-files)
- if [[ "$rem" != "" ]]; then
- echo "ERROR: These files should be either moved or deleted:"
- cat $TMP/remaining-files | xargs -0 ${file}/bin/file
- exit 1
- fi
+ ${cleanPackaging.checkForRemainingFiles}
'';
meta = {
diff --git a/pkgs/build-support/skaware/clean-packaging.nix b/pkgs/build-support/skaware/clean-packaging.nix
new file mode 100644
index 00000000000..16bae04b21e
--- /dev/null
+++ b/pkgs/build-support/skaware/clean-packaging.nix
@@ -0,0 +1,53 @@
+# set of utilities that assure the cwd of a build
+# is completely clean after the build, meaning all
+# files were either discarded or moved to outputs.
+# This ensures nothing is forgotten and new files
+# are correctly handled on update.
+{ stdenv, file, writeScript }:
+
+let
+ globWith = stdenv.lib.concatMapStringsSep "\n";
+ rmNoise = noiseGlobs: globWith (f:
+ ''rm -rf ${f}'') noiseGlobs;
+ mvDoc = docGlobs: globWith
+ (f: ''mv ${f} "$DOCDIR" 2>/dev/null || true'')
+ docGlobs;
+
+ # Shell script that implements common move & remove actions
+ # $1 is the doc directory (will be created).
+ # Best used in conjunction with checkForRemainingFiles
+ commonFileActions =
+ { # list of fileglobs that are removed from the source dir
+ noiseFiles
+ # files that are moved to the doc directory ($1)
+ # TODO(Profpatsch): allow to set target dir with
+ # { glob = …; to = "html" } (relative to docdir)
+ , docFiles }:
+ writeScript "common-file-actions.sh" ''
+ #!${stdenv.shell}
+ set -e
+ DOCDIR="$1"
+ shopt -s globstar extglob nullglob
+ ${rmNoise noiseFiles}
+ mkdir -p "$DOCDIR"
+ ${mvDoc docFiles}
+ '';
+
+ # Shell script to check whether the build directory is empty.
+ # If there are still files remaining, exit 1 with a helpful
+ # listing of all remaining files and their types.
+ checkForRemainingFiles = writeScript "check-for-remaining-files.sh" ''
+ #!${stdenv.shell}
+ echo "Checking for remaining source files"
+ rem=$(find -mindepth 1 -xtype f -print0 \
+ | tee $TMP/remaining-files)
+ if [[ "$rem" != "" ]]; then
+ echo "ERROR: These files should be either moved or deleted:"
+ cat $TMP/remaining-files | xargs -0 ${file}/bin/file
+ exit 1
+ fi
+ '';
+
+in {
+ inherit commonFileActions checkForRemainingFiles;
+}
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 454ef8912b3..58bc7147ede 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, stdenvNoCC, lndir }:
+{ lib, stdenv, stdenvNoCC, lndir, runtimeShell }:
let
@@ -15,12 +15,12 @@ rec {
/* Run the shell command `buildCommand' to produce a store path named
* `name'. The attributes in `env' are added to the environment
* prior to running the command. By default `runCommand' runs using
- * stdenv with no compiler environment. `runCommandCC`
+ * stdenv with no compiler environment. `runCommandCC`
*
* Examples:
* runCommand "name" {envVariable = true;} ''echo hello''
* runCommandNoCC "name" {envVariable = true;} ''echo hello'' # equivalent to prior
- * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
+ * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
*/
runCommand = runCommandNoCC;
runCommandNoCC = runCommand' stdenvNoCC;
@@ -145,11 +145,11 @@ rec {
executable = true;
destination = "/bin/${name}";
text = ''
- #!${stdenv.shell}
+ #!${runtimeShell}
${text}
'';
checkPhase = ''
- ${stdenv.shell} -n $out/bin/${name}
+ ${runtimeShell} -n $out/bin/${name}
'';
};
@@ -215,7 +215,7 @@ rec {
* myhellohook = makeSetupHook { deps = [ hello ]; } ./myscript.sh;
*
* # wrotes a setup hook where @bash@ myscript.sh is substituted for the
- * # bash interpreter.
+ * # bash interpreter.
* myhellohookSub = makeSetupHook {
* deps = [ hello ];
* substitutions = { bash = "${pkgs.bash}/bin/bash"; };
@@ -278,7 +278,7 @@ rec {
* packages that cannot be built automatically.
*
* Examples:
- *
+ *
* requireFile {
* name = "my-file";
* url = "http://example.com/download/";
diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix
index e000308bed8..08b93aaf117 100644
--- a/pkgs/build-support/vm/windows/controller/default.nix
+++ b/pkgs/build-support/vm/windows/controller/default.nix
@@ -1,5 +1,6 @@
{ stdenv, writeScript, vmTools, makeInitrd
, samba, vde2, openssh, socat, netcat-gnu, coreutils, gnugrep, gzip
+, runtimeShell
}:
{ sshKey
@@ -74,7 +75,7 @@ let
loopForever = "while :; do ${coreutils}/bin/sleep 1; done";
initScript = writeScript "init.sh" (''
- #!${stdenv.shell}
+ #!${runtimeShell}
${coreutils}/bin/cp -L "${sshKey}" /ssh.key
${coreutils}/bin/chmod 600 /ssh.key
'' + (if installMode then ''
diff --git a/pkgs/data/fonts/creep/default.nix b/pkgs/data/fonts/creep/default.nix
new file mode 100644
index 00000000000..bad78e3433e
--- /dev/null
+++ b/pkgs/data/fonts/creep/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, fontforge }:
+
+stdenv.mkDerivation rec {
+ pname = "creep";
+ version = "0.31";
+
+ src = fetchFromGitHub {
+ owner = "romeovs";
+ repo = pname;
+ rev = version;
+ sha256 = "0zs21kznh1q883jfdgz74bb63i4lxlv98hj3ipp0wvsi6zw0vs8n";
+ };
+
+ nativeBuildInputs = [ fontforge ];
+
+ dontBuild = true;
+
+ installPhase = ''
+ install -D -m644 creep.bdf "$out/usr/share/fonts/misc/creep.bdf"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A pretty sweet 4px wide pixel font";
+ homepage = https://github.com/romeovs/creep;
+ license = licenses.mit;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ buffet ];
+ };
+}
diff --git a/pkgs/data/fonts/font-awesome-4/default.nix b/pkgs/data/fonts/font-awesome-4/default.nix
deleted file mode 100644
index 34548b97244..00000000000
--- a/pkgs/data/fonts/font-awesome-4/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchzip }:
-
-let
- version = "4.7.0";
-in fetchzip rec {
- name = "font-awesome-${version}";
-
- url = "https://github.com/FortAwesome/Font-Awesome/archive/v${version}.zip";
-
- postFetch = ''
- mkdir -p $out/share/fonts
- unzip -j $downloadedFile Font-Awesome-${version}/fonts/fontawesome-webfont.ttf -d $out/share/fonts/truetype
- '';
-
- sha256 = "0w8y7gxbqiy444phg4jl89kc5hq3jffbkhab8p110qy9jx8s106s";
-
- meta = with stdenv.lib; {
- description = "Font Awesome - TTF font";
- longDescription = ''
- Font Awesome gives you scalable vector icons that can instantly be customized.
- This package includes only the TTF font. For full CSS etc. see the project website.
- '';
- homepage = http://fortawesome.github.io/Font-Awesome/;
- license = licenses.ofl;
- platforms = platforms.all;
- maintainers = with maintainers; [ abaldeau ];
- };
-}
diff --git a/pkgs/data/fonts/font-awesome-5/default.nix b/pkgs/data/fonts/font-awesome-5/default.nix
index c1eda7e6a56..595a1c0d37f 100644
--- a/pkgs/data/fonts/font-awesome-5/default.nix
+++ b/pkgs/data/fonts/font-awesome-5/default.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchzip }:
let
- version = "5.6.3";
+ version = "5.7.2";
in fetchzip rec {
name = "font-awesome-${version}";
@@ -12,7 +12,7 @@ in fetchzip rec {
unzip -j $downloadedFile "Font-Awesome-${version}/otfs/*.otf" -d $out/share/fonts/opentype
'';
- sha256 = "0y3zar7hyx5pj8rpyk2kz3sx6zgrfif2ka2h4rg0b8h8qbja0al6";
+ sha256 = "0b3syzz8baxmwzjgz09dnamm4nzmyvb2yddlrm94ww5j9bjk25al";
meta = with stdenv.lib; {
description = "Font Awesome - OTF font";
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index 4ad03627870..98a98cfa7c8 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "numix-icon-theme-circle";
- version = "19.01.24";
+ version = "19.02.22";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
- sha256 = "18asihcv41jlysb2ynbvbk6fn0lnj7ckaz1nyx1w25a7nk413dnm";
+ sha256 = "10jh633rllp9yjfkjjyf8455n84q7ppxw1kk9dp1rsg4dq327ks7";
};
nativeBuildInputs = [ gtk3 numix-icon-theme ];
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 967c629324c..ddec15e5f31 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "numix-icon-theme-square";
- version = "19.01.24";
+ version = "19.02.22";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
- sha256 = "0x3d21snfp4v9ippny1jmf2hw5dcscwrlasxvr5bgxhff1idf81c";
+ sha256 = "0qn0s7cd795pm0hbx85gxd1s272zxrzf3r9r6da54h149v3wkgzw";
};
nativeBuildInputs = [ gtk3 numix-icon-theme ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch
index 175118ac5ff..57eb4b3d44a 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch
@@ -1,16 +1,15 @@
--- a/libgnome-desktop/gnome-desktop-thumbnail-script.c
+++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c
-@@ -536,10 +536,9 @@ add_bwrap (GPtrArray *array,
+@@ -536,9 +536,9 @@ add_bwrap (GPtrArray *array,
g_return_val_if_fail (script->s_infile != NULL, FALSE);
add_args (array,
- "bwrap",
- "--ro-bind", "/usr", "/usr",
- "--ro-bind", "/etc/ld.so.cache", "/etc/ld.so.cache",
-- NULL);
-+ "@bubblewrap_bin@",
-+ "--ro-bind", "/nix/store", "/nix/store",
-+ NULL);
++ "@bubblewrap_bin@",
++ "--ro-bind", "@storeDir@", "@storeDir@",
++ "--ro-bind", "/run/current-system", "/run/current-system",
+ NULL);
/* These directories might be symlinks into /usr/... */
- for (i = 0; i < G_N_ELEMENTS (usrmerged_dirs); i++)
diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index 6161ccde675..bac8504eeec 100644
--- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, which, libX11, gnome3, gtk3, glib
-, gettext, libxml2, xkeyboard_config, isocodes, itstool, wayland
+, gettext, libxml2, xkeyboard_config, isocodes, itstool, wayland, fetchpatch
, libseccomp, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl }:
stdenv.mkDerivation rec {
@@ -30,6 +30,12 @@ stdenv.mkDerivation rec {
(substituteAll {
src = ./bubblewrap-paths.patch;
bubblewrap_bin = "${bubblewrap}/bin/bwrap";
+ inherit (builtins) storeDir;
+ })
+ (fetchpatch {
+ name = "fix-missing-font-cache";
+ url = https://gitlab.gnome.org/GNOME/gnome-desktop/commit/b87de7495160dbf48f01aa1ddb361fc2556ffd0c.patch;
+ sha256 = "1aw7lw93kcflmqmbx25cwja25441i8xzvgjm1pfsxvw3vr8j6scb";
})
];
diff --git a/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch b/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch
index 051b7618612..e3ad75b869c 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch
+++ b/pkgs/desktops/gnome-3/core/nautilus/bubblewrap-paths.patch
@@ -1,6 +1,6 @@
--- a/src/gnome-desktop/gnome-desktop-thumbnail-script.c
+++ a/src/gnome-desktop/gnome-desktop-thumbnail-script.c
-@@ -514,14 +514,10 @@ add_bwrap (GPtrArray *array,
+@@ -514,14 +514,11 @@ add_bwrap (GPtrArray *array,
g_return_val_if_fail (script->s_infile != NULL, FALSE);
add_args (array,
@@ -8,8 +8,9 @@
- "--ro-bind", "/usr", "/usr",
- "--ro-bind", "/lib", "/lib",
- "--ro-bind", "/lib64", "/lib64",
-+ "@bubblewrap_bin@",
-+ "--ro-bind", "@storeDir@", "@storeDir@",
++ "@bubblewrap_bin@",
++ "--ro-bind", "@storeDir@", "@storeDir@",
++ "--ro-bind", "/run/current-system", "/run/current-system",
"--proc", "/proc",
"--dev", "/dev",
- "--symlink", "usr/bin", "/bin",
diff --git a/pkgs/desktops/lxqt/compton-conf/default.nix b/pkgs/desktops/lxqt/compton-conf/default.nix
index 479491b35d8..f5331751c70 100644
--- a/pkgs/desktops/lxqt/compton-conf/default.nix
+++ b/pkgs/desktops/lxqt/compton-conf/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "compton-conf";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1vxbh0vr7wknr7rbmdbmy5md1fdkw3zwlgpbv16cwdplbv9m97xi";
+ sha256 = "0bx21r83ahmsqf7bm1h17pi4y9js1iqsv7nwnlq58rc0ddkkhcdb";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix
index 70675e1408c..3ce1ea068a7 100644
--- a/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "libfm-qt";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1siqqn4waglymfi7c7lrmlxkylddw8qz0qfwqxr1hnmx3dsj9c36";
+ sha256 = "00rn5i16h659zyp1dx213nc3jz7rx9phiw71zf6nspxzxsb8w2sc";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix
index 1b19275ece9..19335860599 100644
--- a/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "liblxqt";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1cpl6sd2fifpflahm8fvrrscrv03sinfm03m7yc1k59y6nsbwi36";
+ sha256 = "0g2502lcws5j74p82qhfryz9n51cvi85hb50r5s227xhkv91q65k";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix
index 852c4bddec8..d351f3e0d6e 100644
--- a/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg }:
+{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg, lxqt-build-tools }:
stdenv.mkDerivation rec {
pname = "libqtxdg";
- version = "3.3.0";
+ version = "3.3.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0qgqqgy15h0d1fwk4mnbv2hirz8njjjlng64bv33rc6wwrsaa50b";
+ sha256 = "0y3s0hva64m64j9lqgnja1li8zhlywqzv8xwjg8pyd2nr9h918db";
};
- nativeBuildInputs = [ cmake ];
+ nativeBuildInputs = [ cmake lxqt-build-tools ];
buildInputs = [ qtbase qtsvg ];
preConfigure = ''
cmakeFlagsArray+=(
- "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix"
- "-DCMAKE_INSTALL_INCLUDEDIR=include"
- "-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH=$out/$qtPluginPrefix"
+ "-DCMAKE_INSTALL_INCLUDEDIR=include"
+ "-DCMAKE_INSTALL_LIBDIR=lib"
)
'';
diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix
index a0a83ad3469..affa0cc8c9d 100644
--- a/pkgs/desktops/lxqt/lximage-qt/default.nix
+++ b/pkgs/desktops/lxqt/lximage-qt/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "lximage-qt";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0zx9903ym5a9zk4m9khr22fj5sy57mg2v8wnk177wjm11lhic5v8";
+ sha256 = "175l2w5w6iag01v05jq90pxx0al24wpw3mgsbcgqhl4z6h860r32";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix
index 013be8eea4f..7778eb92263 100644
--- a/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-about";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "14b13v1r5ncz4ycg25ac9ppafiifc37qws8kcw078if72rp9n121";
+ sha256 = "0dj2rhbhnkzmv1iqqyq0bcp03imwnvxdr7rnpqnrs9kkjacm8zvr";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix
index 528f9a390f9..5ea6b0d0882 100644
--- a/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-admin";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0sdb514hgha5yvmbzi6nm1yx1rmbkh5fam09ybidjwpdwl2l4pxx";
+ sha256 = "121qj46app2bqdr24g5sz2mdjfd9w86wpgkwap46s0zgxm4li44i";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix
index d2c583b53fa..e7ba00bc8a8 100644
--- a/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-config";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1pp2pw43zh8kwi2cxk909wn6bw7kba95b6bv96l2gmzhdqpfw2a7";
+ sha256 = "0x1k08587i2pakxlrj2n0l82r179sfywnzn2cphxiy89r5zpn7vi";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index 5382be304ae..0502426e82d 100644
--- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-globalkeys";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "14bfkh54mn3jyq8g9ipy3xmc3n9lmlqpvm26kpqig7567hbncv7n";
+ sha256 = "0q7hfbs4dhsgyzch2msq2hsfzzfgbc611ki9x1x132n7zqk76pmp";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index 53826f62bcc..7eed84b3390 100644
--- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-notificationd";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1nawcxy2qnrngcxvwjwmmh4fn7mhnfgy1g77rn90243jvy29wv5f";
+ sha256 = "1ihaf2i361j2snyy6kg8ccpfnc8hppvacmxjqzb1lpyaf1ajd139";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index f880aed63f8..7ba2f00b5c5 100644
--- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-openssh-askpass";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "19xcc6i7jg35780r4dfg4vwfp9x4pz5sqzagxnpzspz61jaj5ibv";
+ sha256 = "04jmvhhlhhspwzj4hfq7fnaa3h7h02z3rlq8p55hzlzkvshqqh1q";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix
index f691357f25f..4363c9f8392 100644
--- a/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-panel";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0jr7ylf6d35m0ckn884arjk4armknnw8iyph00gcphn5bqycbn8l";
+ sha256 = "1py3i7qgm6h2iwjwqfjml1rp06s7ls1d7z5i9iizsmfshdzkaq86";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index 862e0c08ced..792a323e682 100644
--- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-policykit";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "05k39819nsdyg2pp1vk6g2hdpxqp78h6bhb0hp5rclf9ap5fpvvc";
+ sha256 = "0mh9jw09r0mk8xmgvmzk3yyfix0pzqya28rcx71fqjpbdv1sc44l";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 9ebff5d4de5..6bdf5ce2c0c 100644
--- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-powermanagement";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "08xdnb54lji09izzzfip8fw0gp17qkx66jm6i04zby4whx4mqniv";
+ sha256 = "1nhp4a28bpczhwz8b8da355zsxr1qwmkrm3bwllwp39liw947clx";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix
index dc2d8c58caf..54236bfbb7e 100644
--- a/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -3,13 +3,13 @@ menu-cache, muparser, pcre }:
stdenv.mkDerivation rec {
pname = "lxqt-runner";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1qyacig9ksnjrhws8cpk6arlaxn7kl0z39l3c62ql3m89mibsm88";
+ sha256 = "01a8ycpkzcbh85y4025pd3nbpnzxh98ll1xwz4ykz13yvm0l2n1w";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix
index 5b4d7b606c7..40ef5697a54 100644
--- a/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-session";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0nla1ki23p1bwzw5hbmh9l8yg3b0f55kflgnvyfakmvpivjbz3k6";
+ sha256 = "0s6b0lblb795zz1p7sy677c1iznhmdzc4vw3jkc2agmsrhm7if7s";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index 7e3ca84109f..6deef1bf56b 100644
--- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lxqt-sudo";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0l8fq06kfsrmvg2fr8lqdsxr6fwxmxsa9zwaa3fs9inzaylm0jkh";
+ sha256 = "1my0wpic20493rdlabp9ghag1g3nhwafk2yklkgczlajmarakgpc";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix
index a0d0a973ad7..2360d1970c9 100644
--- a/pkgs/desktops/lxqt/obconf-qt/default.nix
+++ b/pkgs/desktops/lxqt/obconf-qt/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "obconf-qt";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "00v5w8qr3vs0k91flij9lz7y1cpp2g8ivgnmmm43ymjfiz5j6l27";
+ sha256 = "15dizs072ylmld1lxwgqkvybqy8ms8zki5586xm305jnlmrkb4lq";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
index dcc3ead31bf..00359e2ffed 100644
--- a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
+++ b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "pavucontrol-qt";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1vyjm6phgbxglk65c889bd73b0p2ffb5bsc89dmb07qzllyrjb4h";
+ sha256 = "124dk41v8l5pv7afi1h7fgbhm8zj605yfd8b769sn7id2bqj7bis";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index aa7479b02f8..320d451f087 100644
--- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "pcmanfm-qt";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0hf4qyn12mpr6rrla9mf6ka5gb4y36amk7d14ayr7yka1r16p8lz";
+ sha256 = "1zchxlbyiifing94mqwh45pp7z3ihldknqiaz0kanq1cnma1jj6k";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix
index d46b7e14e33..c17ef21c676 100644
--- a/pkgs/desktops/lxqt/qps/default.nix
+++ b/pkgs/desktops/lxqt/qps/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "qps";
- version = "1.10.19";
+ version = "1.10.20";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1vyi1vw4z5j2sp9yhhv91wl2sbg4fh0djqslg1ssc7fww2ka6dx3";
+ sha256 = "1g8j4cjy5x33jzjkx6vwyl5qbf9i2z2w01ipgk7nrik5drf9crbf";
};
nativeBuildInputs = [ cmake lxqt-build-tools ];
diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix
index f9a2e5ff0a1..748d33aa2ce 100644
--- a/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/pkgs/desktops/lxqt/qterminal/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "qterminal";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "071qz248j9gcqzchnrz8xamm07g4r2xyrmnb0a2vjkjd63pk2r8f";
+ sha256 = "0bq6lvns56caijdmjm05nsj9vg69v9x5vid24bfxasck6q8nw24w";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix
index 9e0798ecb52..e47d8e05082 100644
--- a/pkgs/desktops/lxqt/qtermwidget/default.nix
+++ b/pkgs/desktops/lxqt/qtermwidget/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "qtermwidget";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "0wv8fssbc2w7kkpq9ngsa8wyjraggdhsbz36gyxyv8fy5m78jq0n";
+ sha256 = "1pz8dwb86jpga4vfyn5v9n2s6dx3zh74yfp1kjsmsmhf878zs6lv";
};
nativeBuildInputs = [ cmake lxqt-build-tools ];
diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix
index cc7f113b7d1..14fa977e023 100644
--- a/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/pkgs/desktops/lxqt/screengrab/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "screengrab";
- version = "1.100";
+ version = "1.101";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
- sha256 = "1iqrmf581x9ab6zzjxm2509gg6fkn7hwril4v0aki7n7dgxw1c4g";
+ sha256 = "111gnkhp77qkch7xqr7k3h8zrg4871gapyd4vvlpaj0gjhirjg6h";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/lxqt/update.sh b/pkgs/desktops/lxqt/update.sh
index f3dfc4d5975..47d3dfb3d5f 100755
--- a/pkgs/desktops/lxqt/update.sh
+++ b/pkgs/desktops/lxqt/update.sh
@@ -7,7 +7,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
root=../../..
export NIXPKGS_ALLOW_UNFREE=1
-lxqt_version=0.14.0
+lxqt_version=0.14.1
lxqtrepo=https://downloads.lxqt.org/${lxqt_version}.html
version() {
diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index 0b16c56be3d..ad890bc4610 100644
--- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, vala, substituteAll
-, python3, glibcLocales, desktop-file-utils, gtk3, granite, libgee, elementary-icon-theme
+, python3, desktop-file-utils, gtk3, granite, libgee, elementary-icon-theme
, appstream, libpeas, editorconfig-core-c, gtksourceview3, gtkspell3, libsoup
, vte, webkitgtk, zeitgeist, ctags, libgit2-glib, wrapGAppsHook }:
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
appstream
desktop-file-utils
- glibcLocales
meson
ninja
pkgconfig
@@ -56,7 +55,7 @@ stdenv.mkDerivation rec {
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";
+ LC_ALL = "C.UTF-8";
# ctags needed in path by outline plugin
preFixup = ''
diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index 3494474c49c..9855a1394e5 100644
--- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -61,11 +61,6 @@ stdenv.mkDerivation rec {
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;
diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix
index 8bca7b3b6b5..7b374236a12 100644
--- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix
@@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
pname = "music";
- version = "5.0.2";
+ version = "5.0.3";
name = "elementary-${pname}-${version}";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = pname;
rev = version;
- sha256 = "06mpikzdm01r9j7g15b7fgi4lcnp8cc0wmj17dfli5nmncxghx89";
+ sha256 = "0qbny4484kr7lihg54rbhfwah9k43iivk3rivfvn7i5w66vn5spl";
};
passthru = {
diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
index fddd4143616..a6ec70a6b58 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, substituteAll, writeScript, pantheon, gnome-keyring, gnome-session, wingpanel, orca, at-spi2-core, elementary-default-settings, writeTextFile, writeShellScriptBin, elementary-settings-daemon }:
+{ stdenv, fetchFromGitHub, substituteAll, writeScript, pantheon, gnome-keyring, gnome-session, wingpanel, orca, at-spi2-core, elementary-default-settings, writeTextFile, writeShellScriptBin, elementary-settings-daemon, runtimeShell }:
let
@@ -15,7 +15,7 @@ let
#
dockitems-script = writeScript "dockitems-script" ''
- #!${stdenv.shell}
+ #!${runtimeShell}
elementary_default_settings="${elementary-default-settings}"
dock_items="$elementary_default_settings/share/elementary/config/plank/dock1/launchers"/*
@@ -66,8 +66,8 @@ stdenv.mkDerivation rec {
dontBuild = true;
installPhase = ''
- mkdir -p $out/share
- cp -avr applications $out/share/
+ mkdir -p $out/share/applications
+ cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list
mkdir -p $out/etc/xdg/autostart
cp -av ${gnome-keyring}/etc/xdg/autostart/* $out/etc/xdg/autostart
diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list b/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list
new file mode 100644
index 00000000000..3b5e3b0e77a
--- /dev/null
+++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list
@@ -0,0 +1,168 @@
+[Default Applications]
+application/ogg=io.elementary.music.desktop
+application/oxps=org.gnome.Evince.desktop
+application/pdf=org.gnome.Evince.desktop
+application/postscript=org.gnome.Evince.desktop
+application/vnd.ms-xpsdocument=org.gnome.Evince.desktop
+application/vnd.rn-realmedia=io.elementary.videos.desktop
+application/x-ar=org.gnome.FileRoller.desktop
+application/x-arj=org.gnome.FileRoller.desktop
+application/x-bzdvi=org.gnome.Evince.desktop
+application/x-bzip-compressed-tar=org.gnome.FileRoller.desktop
+application/x-bzip=org.gnome.FileRoller.desktop
+application/x-bzpdf=org.gnome.Evince.desktop
+application/x-bzpostscript=org.gnome.Evince.desktop
+application/x-cbr=org.gnome.Evince.desktop
+application/x-cbt=org.gnome.Evince.desktop
+application/x-cbz=org.gnome.Evince.desktop
+application/x-compress=org.gnome.FileRoller.desktop
+application/x-compressed-tar=org.gnome.FileRoller.desktop
+application/x-dvi=org.gnome.Evince.desktop
+application/x-ear=org.gnome.FileRoller.desktop
+application/x-extension-m4a=io.elementary.videos.desktop
+application/x-extension-mp4=io.elementary.videos.desktop
+application/x-flac=io.elementary.music.desktop
+application/x-gtar=org.gnome.FileRoller.desktop
+application/x-gzdvi=org.gnome.Evince.desktop
+application/x-gzip=org.gnome.FileRoller.desktop
+application/x-gzpdf=org.gnome.Evince.desktop
+application/x-gzpostscript=org.gnome.Evince.desktop
+application/x-lha=org.gnome.FileRoller.desktop
+application/x-lhz=org.gnome.FileRoller.desktop
+application/x-lzop=org.gnome.FileRoller.desktop
+application/x-matroska=io.elementary.videos.desktop
+application/x-ogg=io.elementary.music.desktop
+application/x-perl=io.elementary.code.desktop
+application/x-rar-compressed=org.gnome.FileRoller.desktop
+application/x-rar=org.gnome.FileRoller.desktop
+application/x-rpm=org.gnome.FileRoller.desktop
+application/x-tar=org.gnome.FileRoller.desktop
+application/x-war=org.gnome.FileRoller.desktop
+application/x-xz-compressed-tar=org.gnome.FileRoller.desktop
+application/x-xz=org.gnome.FileRoller.desktop
+application/x-xzpdf=org.gnome.Evince.desktop
+application/x-zip-compressed=org.gnome.FileRoller.desktop
+application/x-zip=org.gnome.FileRoller.desktop
+application/x-zoo=org.gnome.FileRoller.desktop
+application/xhtml+xml=org.gnome.Epiphany.desktop
+application/zip=org.gnome.FileRoller.desktop
+audio/3gpp=io.elementary.music.desktop
+audio/ac3=io.elementary.music.desktop
+audio/AMR-WB=io.elementary.music.desktop
+audio/AMR=io.elementary.music.desktop
+audio/basic=io.elementary.music.desktop
+audio/flac=io.elementary.music.desktop
+audio/midi=io.elementary.music.desktop
+audio/mp4=io.elementary.music.desktop
+audio/mpeg=io.elementary.music.desktop
+audio/mpegurl=io.elementary.music.desktop
+audio/ogg=io.elementary.music.desktop
+audio/prs.sid=io.elementary.music.desktop
+audio/vnd.rn-realaudio=io.elementary.music.desktop
+audio/x-ape=io.elementary.music.desktop
+audio/x-flac=io.elementary.music.desktop
+audio/x-gsm=io.elementary.music.desktop
+audio/x-it=io.elementary.music.desktop
+audio/x-m4a=io.elementary.music.desktop
+audio/x-matroska=io.elementary.music.desktop
+audio/x-mod=io.elementary.music.desktop
+audio/x-mp3=io.elementary.music.desktop
+audio/x-mpeg=io.elementary.music.desktop
+audio/x-mpegurl=io.elementary.music.desktop
+audio/x-ms-asf=io.elementary.music.desktop
+audio/x-ms-asx=io.elementary.music.desktop
+audio/x-ms-wax=io.elementary.music.desktop
+audio/x-ms-wma=io.elementary.music.desktop
+audio/x-musepack=io.elementary.music.desktop
+audio/x-pn-aiff=io.elementary.music.desktop
+audio/x-pn-au=io.elementary.music.desktop
+audio/x-pn-realaudio-plugin=io.elementary.music.desktop
+audio/x-pn-realaudio=io.elementary.music.desktop
+audio/x-pn-wav=io.elementary.music.desktop
+audio/x-pn-windows-acm=io.elementary.music.desktop
+audio/x-real-audio=io.elementary.music.desktop
+audio/x-realaudio=io.elementary.music.desktop
+audio/x-sbc=io.elementary.music.desktop
+audio/x-scpls=io.elementary.music.desktop
+audio/x-speex=io.elementary.music.desktop
+audio/x-tta=io.elementary.music.desktop
+audio/x-vorbis+ogg=io.elementary.music.desktop
+audio/x-vorbis=io.elementary.music.desktop
+audio/x-wav=io.elementary.music.desktop
+audio/x-wavpack=io.elementary.music.desktop
+audio/x-xm=io.elementary.music.desktop
+image/bmp=io.elementary.photos-viewer.desktop
+image/gif=io.elementary.photos-viewer.desktop
+image/jpeg=io.elementary.photos-viewer.desktop
+image/jpg=io.elementary.photos-viewer.desktop
+image/pjpeg=io.elementary.photos-viewer.desktop
+image/png=io.elementary.photos-viewer.desktop
+image/tiff=io.elementary.photos-viewer.desktop
+image/vnd.djvu=org.gnome.Evince.desktop
+image/vnd.rn-realpix=io.elementary.videos.desktop
+image/webp=io.elementary.photos-viewer.desktop
+image/x-bmp=io.elementary.photos-viewer.desktop
+image/x-bzeps=org.gnome.Evince.desktop
+image/x-eps=org.gnome.Evince.desktop
+image/x-gzeps=org.gnome.Evince.desktop
+image/x-png=io.elementary.photos-viewer.desktop
+inode/directory=io.elementary.files.desktop
+misc/ultravox=io.elementary.videos.desktop
+multipart/x-zip=org.gnome.FileRoller.desktop
+text/calendar=io.elementary.calendar.desktop
+text/html=org.gnome.Epiphany.desktop
+text/mathml=io.elementary.code.desktop
+text/plain=io.elementary.code.desktop
+text/x-chdr=io.elementary.code.desktop
+text/x-csrc=io.elementary.code.desktop
+text/x-dtd=io.elementary.code.desktop
+text/x-java=io.elementary.code.desktop
+text/x-python=io.elementary.code.desktop
+text/x-sql=io.elementary.code.desktop
+text/xml=io.elementary.code.desktop
+video/3gpp=io.elementary.videos.desktop
+video/dv=io.elementary.videos.desktop
+video/fli=io.elementary.videos.desktop
+video/flv=io.elementary.videos.desktop
+video/mp2t=io.elementary.videos.desktop
+video/mp4=io.elementary.videos.desktop
+video/mp4v-es=io.elementary.videos.desktop
+video/mpeg=io.elementary.videos.desktop
+video/msvideo=io.elementary.videos.desktop
+video/ogg=io.elementary.videos.desktop
+video/quicktime=io.elementary.videos.desktop
+video/vivo=io.elementary.videos.desktop
+video/vnd.divx=io.elementary.videos.desktop
+video/vnd.rn-realvideo=io.elementary.videos.desktop
+video/vnd.vivo=io.elementary.videos.desktop
+video/webm=io.elementary.videos.desktop
+video/x-anim=io.elementary.videos.desktop
+video/x-avi=io.elementary.videos.desktop
+video/x-flc=io.elementary.videos.desktop
+video/x-fli=io.elementary.videos.desktop
+video/x-flic=io.elementary.videos.desktop
+video/x-flv=io.elementary.videos.desktop
+video/x-m4v=io.elementary.videos.desktop
+video/x-matroska=io.elementary.videos.desktop
+video/x-mpeg=io.elementary.videos.desktop
+video/x-ms-asf=io.elementary.videos.desktop
+video/x-ms-asx=io.elementary.videos.desktop
+video/x-ms-wm=io.elementary.videos.desktop
+video/x-ms-wmv=io.elementary.videos.desktop
+video/x-ms-wmx=io.elementary.videos.desktop
+video/x-ms-wvx=io.elementary.videos.desktop
+video/x-msvideo=io.elementary.videos.desktop
+video/x-nsv=io.elementary.videos.desktop
+video/x-ogm+ogg=io.elementary.videos.desktop
+video/x-theora+ogg=io.elementary.videos.desktop
+video/x-totem-stream=io.elementary.videos.desktop
+x-content/image-dcf=io.elementary.photos.desktop
+x-content/image-picturecd=io.elementary.photos.desktop
+x-content/video-dvd=io.elementary.videos.desktop
+x-content/video-svcd=io.elementary.videos.desktop
+x-content/video-vcd=io.elementary.videos.desktop
+x-scheme-handler/http=org.gnome.Epiphany.desktop
+x-scheme-handler/https=org.gnome.Epiphany.desktop
+x-scheme-handler/mailto=org.gnome.Evolution.desktop
+x-scheme-handler/trash=io.elementary.files.desktop
+
diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix
index 97acc2c791b..ba14621e8bd 100644
--- a/pkgs/desktops/pantheon/desktop/gala/default.nix
+++ b/pkgs/desktops/pantheon/desktop/gala/default.nix
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "gala";
- version = "unstable-2018-12-16";
+ version = "unstable-2019-02-09"; # Is tracking https://github.com/elementary/gala/commits/stable/juno
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
- rev = "7f1e392e03000df0bd47e7832bb3adab81f39ae5";
- sha256 = "1syqq0xfyg5nbnnmy0wp5d66k1bvq9qn27lvr37abxxqig9acpc8";
+ rev = "1a96644c6aac405927499dacb308dea13512e919";
+ sha256 = "1zi7xyzhsypf52zzfwf7dwcxgd0skxbsssv1vsxgmswszg23p7i3";
};
passthru = {
diff --git a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
index fc77e163e8f..ae1ee50a121 100644
--- a/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
+++ b/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
@@ -1,7 +1,7 @@
{
mkDerivation,
extra-cmake-modules, gettext, kdoctools, python,
- kcoreaddons, knotifications, kwayland, kwidgetsaddons,
+ kcoreaddons, knotifications, kwayland, kwidgetsaddons, kwindowsystem,
cups, pcre, pipewire
}:
@@ -10,6 +10,6 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
buildInputs = [
cups pcre pipewire
- kcoreaddons knotifications kwayland kwidgetsaddons
+ kcoreaddons knotifications kwayland kwidgetsaddons kwindowsystem
];
}
diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix
index 9e160acf2d4..abe3c9e5122 100644
--- a/pkgs/development/beam-modules/build-mix.nix
+++ b/pkgs/development/beam-modules/build-mix.nix
@@ -61,8 +61,9 @@ let
export HEX_OFFLINE=1
export HEX_HOME=`pwd`
export MIX_ENV=prod
+ export MIX_NO_DEPS=1
- MIX_ENV=prod mix compile ${debugInfoFlag} --no-deps-check
+ mix compile ${debugInfoFlag}
runHook postBuild
''
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index ae6af8dd4b4..646963eedbc 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4 }:
+{ stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }:
let
options = rec {
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
cp -r . "$out/share/ccl-installation"
mkdir -p "$out/bin"
- echo -e '#!${stdenv.shell}\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}"
+ echo -e '#!${runtimeShell}\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}"
chmod a+x "$out"/bin/"${CCL_RUNTIME}"
ln -s "$out"/bin/"${CCL_RUNTIME}" "$out"/bin/ccl
'';
diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix
index 3d9fe3a59cf..960a54489da 100644
--- a/pkgs/development/compilers/cmdstan/default.nix
+++ b/pkgs/development/compilers/cmdstan/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python }:
+{ stdenv, fetchurl, python, runtimeShell }:
stdenv.mkDerivation rec {
name = "cmdstan-2.17.1";
@@ -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 < misc/cgo/testplugin/test.bash
+ echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
'' + optionalString stdenv.isDarwin ''
substituteInPlace src/race.bash --replace \
"sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
diff --git a/pkgs/development/compilers/llvm/7/bintools.nix b/pkgs/development/compilers/llvm/7/bintools.nix
new file mode 100644
index 00000000000..72a2a733193
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/bintools.nix
@@ -0,0 +1,19 @@
+{ runCommand, stdenv, llvm, lld, version }:
+
+let
+ prefix =
+ if stdenv.hostPlatform != stdenv.targetPlatform
+ then "${stdenv.targetPlatform.config}-"
+ else "";
+in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } ''
+ mkdir -p $out/bin
+ for prog in ${lld}/bin/*; do
+ ln -s $prog $out/bin/${prefix}$(basename $prog)
+ done
+ for prog in ${llvm}/bin/*; do
+ ln -s $prog $out/bin/${prefix}$(echo $(basename $prog) | sed -e "s|llvm-||")
+ ln -sf $prog $out/bin/${prefix}$(basename $prog)
+ done
+ rm -f $out/bin/${prefix}cat
+ ln -s ${lld}/bin/lld $out/bin/${prefix}ld
+''
diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix
index bc6767e8766..e4252647ce6 100644
--- a/pkgs/development/compilers/llvm/7/clang/default.nix
+++ b/pkgs/development/compilers/llvm/7/clang/default.nix
@@ -1,10 +1,10 @@
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python
, fixDarwinDylibNames
, enableManpages ? false
+, enablePolly ? false # TODO: get this info from llvm (passthru?)
}:
let
- gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
self = stdenv.mkDerivation ({
name = "clang-${version}";
@@ -30,6 +30,9 @@ let
"-DSPHINX_OUTPUT_MAN=ON"
"-DSPHINX_OUTPUT_HTML=OFF"
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+ ] ++ stdenv.lib.optionals enablePolly [
+ "-DWITH_POLLY=ON"
+ "-DLINK_POLLY_INTO_TOOLS=ON"
];
patches = [ ./purity.patch ];
@@ -77,8 +80,8 @@ let
passthru = {
isClang = true;
inherit llvm;
- } // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux {
- inherit gcc;
+ } // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
+ gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = {
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix
index dff9cb9c49c..b44ba62ee92 100644
--- a/pkgs/development/compilers/llvm/7/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -7,8 +7,19 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake python llvm ];
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
- configureFlags = [
+ cmakeFlags = [
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
+ "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+ "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+ ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+ "-DCMAKE_C_FLAGS=-nodefaultlibs"
+ "-DCMAKE_CXX_COMPILER_WORKS=ON"
+ "-DCOMPILER_RT_BUILD_BUILTINS=ON"
+ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+ "-DCOMPILER_RT_BUILD_XRAY=OFF"
+ "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
+ "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+ "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
];
outputs = [ "out" "dev" ];
@@ -16,7 +27,8 @@ stdenv.mkDerivation rec {
patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
- ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin ./compiler-rt-clock_gettime.patch;
+ ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./crtbegin-and-end.patch
+ ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin ./compiler-rt-clock_gettime.patch;
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
@@ -26,11 +38,23 @@ stdenv.mkDerivation rec {
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
substituteInPlace cmake/config-ix.cmake \
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
+ '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+ substituteInPlace lib/builtins/int_util.c \
+ --replace "#include " ""
+ substituteInPlace lib/builtins/clear_cache.c \
+ --replace "#include " ""
+ substituteInPlace lib/builtins/cpu_model.c \
+ --replace "#include " ""
'';
# Hack around weird upsream RPATH bug
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
ln -s "$out/lib"/*/* "$out/lib"
+ '' + stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+ ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/linux/crtbegin.o
+ ln -s $out/lib/*/cclang_rt.crtend-*.o $out/lib/linux/crtend.o
+ ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/linux/crtbeginS.o
+ ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/linux/crtendS.o
'';
enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/llvm/7/crtbegin-and-end.patch b/pkgs/development/compilers/llvm/7/crtbegin-and-end.patch
new file mode 100644
index 00000000000..032b04708d1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/crtbegin-and-end.patch
@@ -0,0 +1,595 @@
+Get crtbegin and crtend without compiler GCC! PR is at https://reviews.llvm.org/D28791
+
+Index: compiler-rt/CMakeLists.txt
+===================================================================
+--- compiler-rt/CMakeLists.txt
++++ compiler-rt/CMakeLists.txt
+@@ -29,6 +29,8 @@
+
+ option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON)
+ mark_as_advanced(COMPILER_RT_BUILD_BUILTINS)
++option(COMPILER_RT_BUILD_CRT "Build crtbegin.o/crtend.o" ON)
++mark_as_advanced(COMPILER_RT_BUILD_CRT)
+ option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON)
+ mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS)
+ option(COMPILER_RT_BUILD_XRAY "Build xray" ON)
+Index: compiler-rt/cmake/Modules/AddCompilerRT.cmake
+===================================================================
+--- compiler-rt/cmake/Modules/AddCompilerRT.cmake
++++ compiler-rt/cmake/Modules/AddCompilerRT.cmake
+@@ -132,7 +132,7 @@
+ # Adds static or shared runtime for a list of architectures and operating
+ # systems and puts it in the proper directory in the build and install trees.
+ # add_compiler_rt_runtime(
+-# {STATIC|SHARED}
++# {OBJECT|STATIC|SHARED}
+ # ARCHS
+ # OS
+ # SOURCES