diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index 3b90596bcc2..c7187d86d1b 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -47,13 +47,9 @@
In Nixpkgs, these three platforms are defined as attribute sets under the
- names buildPlatform, hostPlatform,
- and targetPlatform. All three are always defined as
- attributes in the standard environment, and at the top level. That means
- one can get at them just like a dependency in a function that is imported
- with callPackage:
-{ stdenv, buildPlatform, hostPlatform, fooDep, barDep, .. }: ...buildPlatform...
- , or just off stdenv:
+ names buildPlatform, hostPlatform, and
+ targetPlatform. They are always defined as attributes in
+ the standard environment. That means one can access them like:
{ stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform...
.
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index c3b32789382..726cbd74313 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -376,6 +376,11 @@
github = "auntie";
name = "Jonathan Glines";
};
+ avery = {
+ email = "averyl+nixos@protonmail.com";
+ github = "AveryLychee";
+ name = "Avery Lychee";
+ };
avnik = {
email = "avn@avnik.info";
github = "avnik";
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index aaa6e0da545..faae4f20544 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -252,7 +252,7 @@ in rec {
''; # */
# Generate the NixOS manual.
- manual = runCommand "nixos-manual"
+ manualHTML = runCommand "nixos-manual-html"
{ inherit sources;
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
meta.description = "The NixOS manual in HTML format";
@@ -281,6 +281,11 @@ in rec {
echo "doc manual $dst" >> $out/nix-support/hydra-build-products
''; # */
+ # Alias for backward compatibility. TODO(@oxij): remove eventually.
+ manual = manualHTML;
+
+ # Index page of the NixOS manual.
+ manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html";
manualEpub = runCommand "nixos-manual-epub"
{ inherit sources;
diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml
index eaffc0ef47c..b4791b72970 100644
--- a/nixos/doc/manual/development/building-parts.xml
+++ b/nixos/doc/manual/development/building-parts.xml
@@ -34,7 +34,7 @@ $ nix-build -A system
- system.build.manual.manual
+ system.build.manual.manualHTML
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index 21ea98d012b..5a565f08b2c 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -139,50 +139,6 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull'
seen a complete rewrite. (See above.)
-
-
- The minimum version of Nix required to evaluate Nixpkgs is now 2.0.
-
-
-
-
- For users of NixOS 18.03, NixOS 18.03 defaulted to Nix 2.0, but
- supported using Nix 1.11 by setting nix.package =
- pkgs.nix1;. If this option is set to a Nix 1.11 package, you
- will need to either unset the option or upgrade it to Nix 2.0.
-
-
-
-
- For users of NixOS 17.09, you will first need to upgrade Nix by setting
- nix.package = pkgs.nixStable2; and run
- nixos-rebuild switch as the root
- user.
-
-
-
-
- For users of a daemon-less Nix installation on Linux or macOS, you can
- upgrade Nix by running curl https://nixos.org/nix/install |
- sh, or prior to doing a channel update, running
- nix-env -iA nix.
-
-
- If you have already run a channel update and Nix is no longer able to
- evaluate Nixpkgs, the error message printed should provide adequate
- directions for upgrading Nix.
-
-
-
-
- For users of the Nix daemon on macOS, you can upgrade Nix by running
- sudo -i sh -c 'nix-channel --update && nix-env -iA
- nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl
- start org.nixos.nix-daemon.
-
-
-
-
lib.strict is removed. Use
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml
index 9ae34dd58ab..8c8237e6371 100644
--- a/nixos/doc/manual/release-notes/rl-1903.xml
+++ b/nixos/doc/manual/release-notes/rl-1903.xml
@@ -42,6 +42,66 @@
+
+ Backward Incompatibilities
+
+
+ When upgrading from a previous release, please be aware of the following
+ incompatible changes:
+
+
+
+
+
+ The minimum version of Nix required to evaluate Nixpkgs is now 2.0.
+
+
+
+
+ For users of NixOS 18.03 and 19.03, NixOS defaults to Nix 2.0, but
+ supports using Nix 1.11 by setting nix.package =
+ pkgs.nix1;. If this option is set to a Nix 1.11 package, you
+ will need to either unset the option or upgrade it to Nix 2.0.
+
+
+
+
+ For users of NixOS 17.09, you will first need to upgrade Nix by setting
+ nix.package = pkgs.nixStable2; and run
+ nixos-rebuild switch as the root
+ user.
+
+
+
+
+ For users of a daemon-less Nix installation on Linux or macOS, you can
+ upgrade Nix by running curl https://nixos.org/nix/install |
+ sh, or prior to doing a channel update, running
+ nix-env -iA nix.
+
+
+ If you have already run a channel update and Nix is no longer able to
+ evaluate Nixpkgs, the error message printed should provide adequate
+ directions for upgrading Nix.
+
+
+
+
+ For users of the Nix daemon on macOS, you can upgrade Nix by running
+ sudo -i sh -c 'nix-channel --update && nix-env -iA
+ nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl
+ start org.nixos.nix-daemon.
+
+
+
+
+
+
+
+ This includes man pages like
+ configuration.nix
+ 5 if is
+ set.
+ This includes the HTML manual and the nixos-help command if
+ is set.
+
+ '';
+ };
+
};
};
@@ -99,6 +179,21 @@ let cfg = config.documentation; in
environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc";
})
+ (mkIf cfg.nixos.enable {
+ system.build.manual = manual;
+
+ environment.systemPackages = []
+ ++ optional cfg.man.enable manual.manpages
+ ++ optionals cfg.doc.enable ([ manual.manualHTML helpScript ]
+ ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]);
+
+ services.mingetty.helpLine = mkIf cfg.doc.enable (
+ "\nRun `nixos-help` "
+ + optionalString config.services.nixosManual.showManual "or press "
+ + "for the NixOS manual."
+ );
+ })
+
]);
}
diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix
index 332cf58aa53..1a8372ddc43 100644
--- a/nixos/modules/profiles/graphical.nix
+++ b/nixos/modules/profiles/graphical.nix
@@ -11,5 +11,5 @@
libinput.enable = true; # for touchpad support on many laptops
};
- environment.systemPackages = [ pkgs.glxinfo ];
+ environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
}
diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix
index ff4a23a18d0..22d1af42694 100644
--- a/nixos/modules/profiles/installation-device.nix
+++ b/nixos/modules/profiles/installation-device.nix
@@ -22,7 +22,7 @@ with lib;
config = {
# Enable in installer, even if the minimal profile disables it.
- services.nixosManual.enable = mkForce true;
+ documentation.nixos.enable = mkForce true;
# Show the manual.
services.nixosManual.showManual = true;
diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix
index ed04e46c77d..dd81e61460c 100644
--- a/nixos/modules/profiles/minimal.nix
+++ b/nixos/modules/profiles/minimal.nix
@@ -12,7 +12,7 @@ with lib;
i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ];
documentation.enable = mkDefault false;
- services.nixosManual.enable = mkDefault false;
+ documentation.nixos.enable = mkDefault false;
sound.enable = mkDefault false;
}
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 4a6bdfe83dd..bc9ff9f63dd 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -276,6 +276,7 @@ with lib;
(mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
(mkRenamedOptionModule [ "programs" "man" "enable" ] [ "documentation" "man" "enable" ])
+ (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ])
] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
"jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix
index 7f38d757013..0d91b247cd3 100644
--- a/nixos/modules/services/mail/rmilter.nix
+++ b/nixos/modules/services/mail/rmilter.nix
@@ -89,7 +89,7 @@ in
bindSocket.path = mkOption {
type = types.str;
- default = "/run/rmilter/rmilter.sock";
+ default = "/run/rmilter.sock";
description = ''
Path to Unix domain socket to listen on.
'';
@@ -193,6 +193,9 @@ in
config = mkMerge [
(mkIf cfg.enable {
+ warnings = [
+ ''`config.services.rmilter' is deprecated, `rmilter' deprecated and unsupported by upstream, and will be removed from next releases. Use built-in rspamd milter instead.''
+ ];
users.users = singleton {
name = cfg.user;
diff --git a/nixos/modules/services/misc/emby.nix b/nixos/modules/services/misc/emby.nix
index 64cc9c610ac..ff68b850cd9 100644
--- a/nixos/modules/services/misc/emby.nix
+++ b/nixos/modules/services/misc/emby.nix
@@ -36,11 +36,18 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
- test -d ${cfg.dataDir} || {
- echo "Creating initial Emby data directory in ${cfg.dataDir}"
- mkdir -p ${cfg.dataDir}
- chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
- }
+ if [ -d ${cfg.dataDir} ]
+ then
+ for plugin in ${cfg.dataDir}/plugins/*
+ do
+ echo "Correcting permissions of plugin: $plugin"
+ chmod u+w $plugin
+ done
+ else
+ echo "Creating initial Emby data directory in ${cfg.dataDir}"
+ mkdir -p ${cfg.dataDir}
+ chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
+ fi
'';
serviceConfig = {
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index 993b59590bb..023a933fd89 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -1,91 +1,18 @@
-# This module includes the NixOS man-pages in the system environment,
-# and optionally starts a browser that shows the NixOS manual on one
-# of the virtual consoles. The latter is useful for the installation
+# This module optionally starts a browser that shows the NixOS manual
+# on one of the virtual consoles which is useful for the installation
# CD.
-{ config, lib, pkgs, baseModules, ... }:
+{ config, lib, pkgs, ... }:
with lib;
-let
-
- cfg = config.services.nixosManual;
-
- /* For the purpose of generating docs, evaluate options with each derivation
- in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
- It isn't perfect, but it seems to cover a vast majority of use cases.
- Caveat: even if the package is reached by a different means,
- the path above will be shown and not e.g. `${config.services.foo.package}`. */
- manual = import ../../../doc/manual rec {
- inherit pkgs config;
- version = config.system.nixos.release;
- revision = "release-${version}";
- options =
- let
- scrubbedEval = evalModules {
- modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules;
- args = (config._module.args) // { modules = [ ]; };
- specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; };
- };
- scrubDerivations = namePrefix: pkgSet: mapAttrs
- (name: value:
- let wholeName = "${namePrefix}.${name}"; in
- if isAttrs value then
- scrubDerivations wholeName value
- // (optionalAttrs (isDerivation value) { outPath = "\${${wholeName}}"; })
- else value
- )
- pkgSet;
- in scrubbedEval.options;
- };
-
- entry = "${manual.manual}/share/doc/nixos/index.html";
-
- helpScript = pkgs.writeScriptBin "nixos-help"
- ''
- #! ${pkgs.runtimeShell} -e
- # Finds first executable browser in a colon-separated list.
- # (see how xdg-open defines BROWSER)
- browser="$(
- IFS=: ; for b in $BROWSER; do
- [ -n "$(type -P "$b" || true)" ] && echo "$b" && break
- done
- )"
- if [ -z "$browser" ]; then
- browser="$(type -P xdg-open || true)"
- if [ -z "$browser" ]; then
- browser="$(type -P w3m || true)"
- if [ -z "$browser" ]; then
- echo "$0: unable to start a web browser; please set \$BROWSER"
- exit 1
- fi
- fi
- fi
- exec "$browser" ${entry}
- '';
-
- desktopItem = pkgs.makeDesktopItem {
- name = "nixos-manual";
- desktopName = "NixOS Manual";
- genericName = "View NixOS documentation in a web browser";
- icon = "nix-snowflake";
- exec = "${helpScript}/bin/nixos-help";
- categories = "System";
- };
-in
+let cfg = config.services.nixosManual; in
{
options = {
- services.nixosManual.enable = mkOption {
- type = types.bool;
- default = true;
- description = ''
- Whether to build the NixOS manual pages.
- '';
- };
-
+ # TODO(@oxij): rename this to `.enable` eventually.
services.nixosManual.showManual = mkOption {
type = types.bool;
default = false;
@@ -114,36 +41,28 @@ in
};
- config = mkIf cfg.enable {
+ config = mkIf cfg.showManual {
- system.build.manual = manual;
+ assertions = [{
+ assertion = config.documentation.nixos.enable;
+ message = "Can't enable `service.nixosManual.showManual` without `documentation.nixos.enable`";
+ }];
- environment.systemPackages = []
- ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]
- ++ optional config.documentation.man.enable manual.manpages
- ++ optionals config.documentation.doc.enable [ manual.manual helpScript ];
+ boot.extraTTYs = [ "tty${toString cfg.ttyNumber}" ];
- boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
-
- systemd.services = optionalAttrs cfg.showManual
- { "nixos-manual" =
- { description = "NixOS Manual";
- wantedBy = [ "multi-user.target" ];
- serviceConfig =
- { ExecStart = "${cfg.browser} ${entry}";
- StandardInput = "tty";
- StandardOutput = "tty";
- TTYPath = "/dev/tty${toString cfg.ttyNumber}";
- TTYReset = true;
- TTYVTDisallocate = true;
- Restart = "always";
- };
- };
+ systemd.services."nixos-manual" = {
+ description = "NixOS Manual";
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ ExecStart = "${cfg.browser} ${config.system.build.manual.manualHTMLIndex}";
+ StandardInput = "tty";
+ StandardOutput = "tty";
+ TTYPath = "/dev/tty${toString cfg.ttyNumber}";
+ TTYReset = true;
+ TTYVTDisallocate = true;
+ Restart = "always";
};
-
- services.mingetty.helpLine = "\nRun `nixos-help` "
- + lib.optionalString cfg.showManual "or press "
- + "for the NixOS manual.";
+ };
};
diff --git a/nixos/modules/services/networking/iwd.nix b/nixos/modules/services/networking/iwd.nix
index eb03d2e1d63..18ed20e2888 100644
--- a/nixos/modules/services/networking/iwd.nix
+++ b/nixos/modules/services/networking/iwd.nix
@@ -22,6 +22,8 @@ in {
systemd.packages = [ pkgs.iwd ];
+ systemd.services.iwd.wantedBy = [ "multi-user.target" ];
+
systemd.tmpfiles.rules = [
"d /var/lib/iwd 0700 root root -"
];
diff --git a/nixos/modules/services/networking/teamspeak3.nix b/nixos/modules/services/networking/teamspeak3.nix
index 3703921ff70..410d650b1f6 100644
--- a/nixos/modules/services/networking/teamspeak3.nix
+++ b/nixos/modules/services/networking/teamspeak3.nix
@@ -124,7 +124,7 @@ in
dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \
voice_ip=${cfg.voiceIP} default_voice_port=${toString cfg.defaultVoicePort} \
filetransfer_ip=${cfg.fileTransferIP} filetransfer_port=${toString cfg.fileTransferPort} \
- query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort}
+ query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort} license_accepted=1
'';
WorkingDirectory = cfg.dataDir;
User = user;
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index d1cb962f6ff..e759f69db89 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -81,6 +81,7 @@ in
kconfig
kconfigwidgets
kcoreaddons
+ kdoctools
kdbusaddons
kdeclarative
kded
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 4e9c87222d0..eec1a85162b 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -32,15 +32,21 @@ let
# expressions and shell script stuff.
mkDiskIfaceDriveFlag = idx: driveArgs: let
inherit (cfg.qemu) diskInterface;
+ isSCSI = diskInterface == "scsi";
# The drive identifier created by incrementing the index by one using the
# shell.
drvId = "drive$((${idx} + 1))";
+ dvcId = "${diskInterface}$((${idx} + 1))";
# NOTE: DO NOT shell escape, because this may contain shell variables.
- commonArgs = "index=${idx},id=${drvId},${driveArgs}";
- isSCSI = diskInterface == "scsi";
- devArgs = "${diskInterface}-hd,drive=${drvId}";
- args = "-drive ${commonArgs},if=none -device lsi53c895a -device ${devArgs}";
- in if isSCSI then args else "-drive ${commonArgs},if=${diskInterface}";
+ commonDriveArgs = "media=disk,id=${drvId},${driveArgs}";
+ commonInterfaceArgs = "drive=${drvId},id=${dvcId},bootindex=${idx}";
+ in lib.concatStrings [
+ "-drive ${commonDriveArgs},if=none "
+ ''${if isSCSI then
+ "-device lsi53c895a -device ${diskInterface}-hd,${commonInterfaceArgs}"
+ else
+ "-device virtio-blk-pci,scsi=off,${commonInterfaceArgs}"} ''
+ ];
# Shell script to start the VM.
startVM =
@@ -97,15 +103,15 @@ let
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
-virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
+ ${mkDiskIfaceDriveFlag "1" "file=$NIX_DISK_IMAGE,media=disk,cache=writeback,werror=report"} \
${if cfg.useBootLoader then ''
- ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
- ${mkDiskIfaceDriveFlag "1" "file=$TMPDIR/disk.img,media=disk"} \
+ -boot menu=on \
+ ${mkDiskIfaceDriveFlag "0" "file=$TMPDIR/disk.img,media=disk"} \
${if cfg.useEFIBoot then ''
-pflash $TMPDIR/bios.bin \
'' else ''
- ''}
- '' else ''
- ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
+ \''}
+ '' else '' \
-kernel ${config.system.build.toplevel}/kernel \
-initrd ${config.system.build.toplevel}/initrd \
-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS" \
@@ -141,8 +147,9 @@ let
'';
buildInputs = [ pkgs.utillinux ];
QEMU_OPTS = if cfg.useEFIBoot
- then "-pflash $out/bios.bin -nographic -serial pty"
- else "-nographic -serial pty";
+ then "-pflash $out/bios.bin -nographic"
+ else "-nographic";
+ diskInterface = cfg.qemu.diskInterface;
}
''
# Create a /boot EFI partition with 40M and arbitrary but fixed GUIDs for reproducibility
@@ -155,10 +162,10 @@ let
--partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \
--partition-guid=2:970C694F-AFD0-4B99-B750-CDB7A329AB6F \
--hybrid 2 \
- --recompute-chs /dev/vda
- ${pkgs.dosfstools}/bin/mkfs.fat -F16 /dev/vda2
+ --recompute-chs ${config.virtualisation.bootDevice}
+ ${pkgs.dosfstools}/bin/mkfs.fat -F16 ${config.virtualisation.bootDevice}2
export MTOOLS_SKIP_CHECK=1
- ${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot
+ ${pkgs.mtools}/bin/mlabel -i ${config.virtualisation.bootDevice}2 ::boot
# Mount /boot; load necessary modules first.
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true
@@ -167,11 +174,11 @@ let
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true
mkdir /boot
- mount /dev/vda2 /boot
+ mount ${config.virtualisation.bootDevice}2 /boot
# This is needed for GRUB 0.97, which doesn't know about virtio devices.
mkdir /boot/grub
- echo '(hd0) /dev/vda' > /boot/grub/device.map
+ echo '(hd0) ${config.virtualisation.bootDevice}' > /boot/grub/device.map
# Install GRUB and generate the GRUB boot menu.
touch /etc/NIXOS
@@ -464,7 +471,8 @@ in
boot.initrd.availableKernelModules =
optional cfg.writableStore "overlay"
- ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx";
+ ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx"
+ ++ optional (cfg.qemu.diskInterface == "scsi") "virtio_scsi";
virtualisation.bootDevice =
mkDefault (if cfg.qemu.diskInterface == "scsi" then "/dev/sda" else "/dev/vda");
diff --git a/nixos/release.nix b/nixos/release.nix
index 14983edb0ce..cce2c54f02b 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -128,7 +128,8 @@ in rec {
channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; };
- manual = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manual);
+ manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML);
+ manual = manualHTML; # TODO(@oxij): remove eventually
manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub));
manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages);
manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources);
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index b0bc1d083b1..6d72ac997f8 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -14,7 +14,7 @@ import ./make-test.nix ({ pkgs, ...} : rec {
{ swapDevices = mkOverride 0
[ { device = "/root/swapfile"; size = 128; } ];
environment.variables.EDITOR = mkOverride 0 "emacs";
- services.nixosManual.enable = mkOverride 0 true;
+ documentation.nixos.enable = mkOverride 0 true;
systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
fileSystems = mkVMOverride { "/tmp2" =
{ fsType = "tmpfs";
diff --git a/nixos/tests/prosody.nix b/nixos/tests/prosody.nix
index 5d33aaf8d65..61ae5bb38ed 100644
--- a/nixos/tests/prosody.nix
+++ b/nixos/tests/prosody.nix
@@ -6,6 +6,9 @@ import ./make-test.nix {
enable = true;
# TODO: use a self-signed certificate
c2sRequireEncryption = false;
+ extraConfig = ''
+ storage = "sql"
+ '';
};
environment.systemPackages = let
sendMessage = pkgs.writeScriptBin "send-message" ''
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
index d864d5972bc..993e3c4fe8c 100644
--- a/pkgs/applications/audio/opusfile/default.nix
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }:
stdenv.mkDerivation rec {
- name = "opusfile-0.10";
+ name = "opusfile-0.11";
src = fetchurl {
url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
- sha256 = "0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28";
+ sha256 = "1gq3aszzl5glgbajw5p1f5a1kdyf23w5vjdmwwrk246syin9pkkl";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index f1a22bd839a..baf49ff78e5 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, python3, wrapGAppsHook, gettext, intltool, libsoup, gnome3, gtk3, gdk_pixbuf,
- tag ? "", xvfb_run, dbus, glibcLocales, glib, gobjectIntrospection,
+ tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobjectIntrospection,
gst_all_1, withGstPlugins ? true,
xineBackend ? false, xineLib,
withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
@@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ];
- buildInputs = [ gnome3.defaultIconTheme libsoup glib gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ]
+ buildInputs = [ gnome3.defaultIconTheme libsoup glib glib-networking gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ]
++ (if xineBackend then [ xineLib ] else with gst_all_1;
[ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]);
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index 891222a0f10..66a423238b3 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python3Packages }:
+{ stdenv, fetchurl, python3Packages, qtbase, makeWrapper, lib }:
let
@@ -7,14 +7,14 @@ let
in
python3Packages.buildPythonApplication rec {
- version = "3.1.6";
+ version = "3.3.1";
name = "electron-cash-${version}";
src = fetchurl {
url = "https://electroncash.org/downloads/${version}/win-linux/ElectronCash-${version}.tar.gz";
# Verified using official SHA-1 and signature from
# https://github.com/fyookball/keys-n-hashes
- sha256 = "062k5iw0jcp10zxrffvgiyfg51c5xzs7gmm638icx01yy67d58dm";
+ sha256 = "1jdy89rfdwc2jadx3rqj5yvynpcn90cx6482ax9f1cj9gfxp9j2b";
};
propagatedBuildInputs = with python3Packages; [
@@ -36,13 +36,14 @@ python3Packages.buildPythonApplication rec {
trezor
];
+ nativeBuildInputs = [ makeWrapper ];
+
postPatch = ''
# Remove pyqt5 check
sed -i '/pyqt5/d' setup.py
'';
preBuild = ''
- sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
pyrcc5 icons.qrc -o gui/qt/icons_rc.py
# Recording the creation timestamps introduces indeterminism to the build
sed -i '/Created: .*/d' gui/qt/icons_rc.py
@@ -51,18 +52,21 @@ python3Packages.buildPythonApplication rec {
doCheck = false;
postInstall = ''
- # Despite setting usr_share above, these files are installed under
- # $out/nix ...
- mv $out/${python.sitePackages}/nix/store"/"*/share $out
- rm -rf $out/${python.sitePackages}/nix
+ # These files are installed under $out/homeless-shelter ...
+ mv $out/${python.sitePackages}/homeless-shelter/.local/share $out
+ rm -rf $out/${python.sitePackages}/homeless-shelter
substituteInPlace $out/share/applications/electron-cash.desktop \
--replace "Exec=electron-cash %u" "Exec=$out/bin/electron-cash %u"
+
+ # Please remove this when #44047 is fixed
+ wrapProgram $out/bin/electron-cash \
+ --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins
'';
doInstallCheck = true;
installCheckPhase = ''
- $out/bin/electrum help >/dev/null
+ $out/bin/electron-cash help >/dev/null
'';
meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/gnuradio/limesdr.nix b/pkgs/applications/misc/gnuradio/limesdr.nix
new file mode 100644
index 00000000000..535dbfa3c53
--- /dev/null
+++ b/pkgs/applications/misc/gnuradio/limesdr.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, cmake, boost, gnuradio
+, pythonSupport ? true, python, swig, limesuite
+} :
+
+assert pythonSupport -> python != null && swig != null;
+
+let
+ version = "1.0.0-RC";
+
+in stdenv.mkDerivation rec {
+ name = "gnuradio-limesdr-${version}";
+
+ src = fetchFromGitHub {
+ owner = "myriadrf";
+ repo = "gr-limesdr";
+ rev = "v${version}";
+ sha256 = "0b34mg9nfar2gcir98004ixrxmxi8p3p2hrvvi1razd869x2a0lf";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ ] ++ stdenv.lib.optionals pythonSupport [ swig ];
+
+ buildInputs = [
+ boost gnuradio limesuite
+ ] ++ stdenv.lib.optionals pythonSupport [ python ];
+
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ description = "Gnuradio source and sink blocks for LimeSDR";
+ homepage = https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio;
+ license = licenses.mit;
+ platforms = platforms.linux ++ platforms.darwin;
+ maintainers = [ maintainers.markuskowa ];
+ };
+}
diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix
index 67e6ed3fa9c..15904ab7c0a 100644
--- a/pkgs/applications/misc/mwic/default.nix
+++ b/pkgs/applications/misc/mwic/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, pythonPackages }:
stdenv.mkDerivation rec {
- version = "0.7.5";
+ version = "0.7.6";
name = "mwic-${version}";
src = fetchurl {
url = "https://github.com/jwilk/mwic/releases/download/${version}/${name}.tar.gz";
- sha256 = "1b4fz9vs0aihg9nj9aj6d2jmykpa9nxi9rvz06v50wwk515plpmc";
+ sha256 = "0dl56979i54hrmz5l27c4q1f7jd1bpkmi7sm86946dagi4l1ns3i";
};
makeFlags=["PREFIX=\${out}"];
diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix
index 9f85c940c1b..689445d7dcb 100644
--- a/pkgs/applications/networking/instant-messengers/jackline/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix
@@ -3,21 +3,19 @@
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
stdenv.mkDerivation rec {
- version = "2017-12-24";
+ version = "2018-05-11";
name = "jackline-${version}";
src = fetchFromGitHub {
owner = "hannesm";
repo = "jackline";
- rev = "8678e8a1a06e641218a31ae25150040202f89289";
- sha256 = "05z9kvd7gwr59ic7hnmbayhwyyqd41xxz01cvdlcgplk3z7zlwg5";
+ rev = "bc36b1c8b80fee6baba4f91011cd01b82a06e8eb";
+ sha256 = "1xx2yx8a95m84sa1bkxi3rlx7pd39zkqwk3znj0zzz3cni6apfrz";
};
- patches = [ ./tls-0.9.0.patch ];
-
buildInputs = with ocamlPackages; [
ocaml ocamlbuild findlib topkg ppx_sexp_conv
- erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
+ erm_xmpp tls nocrypto x509 ocaml_lwt otr astring
ptime notty sexplib hex uutf
];
diff --git a/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch b/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch
deleted file mode 100644
index 38f38a03a80..00000000000
--- a/pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/cli/cli_config.ml b/cli/cli_config.ml
-index 991ee77..59a0edb 100644
---- a/cli/cli_config.ml
-+++ b/cli/cli_config.ml
-@@ -207,7 +207,9 @@ let configure term () =
- ask above "CA file: " (fun x -> x) (fun x -> if Sys.file_exists x then `Ok x else `Invalid) term >>= fun trust_anchor ->
- Lwt_unix.access trust_anchor [ Unix.F_OK ; Unix.R_OK ] >>= fun () ->
- X509_lwt.certs_of_pem trust_anchor >>= fun tas ->
-- (match X509.Validation.valid_cas ~time:(Unix.time ()) tas with
-+ let time = match Ptime.of_float_s (Unix.time ())
-+ with Some time -> time | None -> assert false in
-+ (match X509.Validation.valid_cas ~time tas with
- | [] -> Lwt.fail (Invalid_argument "trust anchor file is empty!")
- | _ -> Lwt.return (`Trust_anchor trust_anchor))
- | Some fp -> Lwt.return (`Fingerprint fp) ) >>= fun authenticator ->
-diff --git a/cli/cli_state.ml b/cli/cli_state.ml
-index d5db502..91540c9 100644
---- a/cli/cli_state.ml
-+++ b/cli/cli_state.ml
-@@ -262,7 +262,8 @@ module Connect = struct
- (match config.Xconfig.authenticator with
- | `Trust_anchor x -> X509_lwt.authenticator (`Ca_file x)
- | `Fingerprint fp ->
-- let time = Unix.gettimeofday () in
-+ let time = match Ptime.of_float_s (Unix.gettimeofday ())
-+ with Some time -> time | None -> assert false in
- let fp =
- Nocrypto.Uncommon.Cs.of_hex
- (String.map (function ':' -> ' ' | x -> x) fp)
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index c86de07bc84..bd1346b1219 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeWrapper }:
let
- version = "3.0.13.6";
+ version = "3.3.0";
arch = if stdenv.is64bit then "amd64" else "x86";
libDir = if stdenv.is64bit then "lib64" else "lib";
in
@@ -14,9 +14,9 @@ stdenv.mkDerivation {
"http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
];
- sha256 = if stdenv.is64bit
- then "19ccd8db5427758d972a864b70d4a1263ebb9628fcc42c3de75ba87de105d179"
- else "2f70b3e70a3d9bf86106fab67a938922c8d27fec24e66e229913f78a0791b967";
+ sha256 = if stdenv.is64bit
+ then "1jv5c1br3ypxz8px7fl5rg75j0kfdg8mqasdk2gka6yvgf7qc97i"
+ else "0m889xl9iz3fmq7wyjjn42swprpspagbkn52a82nzkhgvagd45bz";
};
buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index d8e6cdd86ea..d0a4953c426 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "treesheets-${version}";
- version = "2017-03-27";
+ version = "2018-08-18";
src = fetchFromGitHub {
owner = "aardappel";
repo = "treesheets";
- rev = "1d1d6b214e3ae88445eb1ec0032d5fef14160f32";
- sha256 = "0np91c4skq3yxq76c4zi33w73qb1w2nrcin490kkvrxk53jspklb";
+ rev = "3af41d99c8f9f32603a36ab64af3560b6d61dd73";
+ sha256 = "147y8ggh3clwjgsi15z8i4jnzlkh8p17mmlg532jym53zzbcva65";
};
buildInputs = [ wxGTK makeWrapper ];
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
'';
homepage = http://strlen.com/treesheets/;
- maintainers = with maintainers; [ obadz ];
+ maintainers = with maintainers; [ obadz avery ];
platforms = platforms.linux;
license = licenses.zlib;
};
diff --git a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix
index bc36a8879f4..331b020d8ca 100644
--- a/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/pre-commit/default.nix
@@ -1,11 +1,11 @@
{ stdenv, python3Packages }:
with python3Packages; buildPythonApplication rec {
pname = "pre_commit";
- version = "1.11.0";
+ version = "1.11.1";
src = fetchPypi {
inherit pname version;
- sha256 = "03nxkma8qp5j2bg6ailclnyqfhakp8r8d1mn6zcnjw0ac5r9imc8";
+ sha256 = "1kjrq8z78b6aqhyyw07dlwf6cqls88kik6f5l07hs71fj5ddvs9w";
};
propagatedBuildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 6d2753e4543..a407f6e7ab1 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
installPhase = ''
make install
make install-doc
+
+ substituteInPlace contrib/tig-completion.zsh \
+ --replace 'e=$(dirname ''${funcsourcetrace[1]%:*})/tig-completion.bash' "e=$out/etc/bash_completion.d/tig-completion.bash"
+
install -D contrib/tig-completion.bash $out/etc/bash_completion.d/tig-completion.bash
install -D contrib/tig-completion.zsh $out/share/zsh/site-functions/_tig
cp contrib/vim.tigrc $out/etc/
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index a07a15177d0..cacad5a3e62 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -18,6 +18,7 @@
, makeWrapper
, pkgconfig
, vlc
+, mbedtls
, alsaSupport ? false
, alsaLib
@@ -29,17 +30,15 @@ let
optional = stdenv.lib.optional;
in stdenv.mkDerivation rec {
name = "obs-studio-${version}";
- version = "21.1.2";
+ version = "22.0.2";
src = fetchFromGitHub {
owner = "jp9000";
repo = "obs-studio";
rev = "${version}";
- sha256 = "1gl6qibvckczk3yl44h3yshml6sn3izwn58qpxils5837rpkwlc5";
+ sha256 = "1bgp2lirpsbp54vvl3p345njlpgv0d78vac2aqwbl34wqx5sqdk0";
};
- patches = [ ./find-xcb.patch ];
-
nativeBuildInputs = [ cmake
pkgconfig
];
@@ -59,6 +58,7 @@ in stdenv.mkDerivation rec {
x264
vlc
makeWrapper
+ mbedtls
]
++ optional alsaSupport alsaLib
++ optional pulseaudioSupport libpulseaudio;
diff --git a/pkgs/applications/video/obs-studio/find-xcb.patch b/pkgs/applications/video/obs-studio/find-xcb.patch
deleted file mode 100644
index c45aba4ce2f..00000000000
--- a/pkgs/applications/video/obs-studio/find-xcb.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
-index cd2b80e1..7d829cdb 100644
---- a/libobs/CMakeLists.txt
-+++ b/libobs/CMakeLists.txt
-@@ -15,6 +15,7 @@ if(UNIX)
- find_package(DBus QUIET)
- if (NOT APPLE)
- find_package(X11_XCB REQUIRED)
-+ find_package(XCB REQUIRED)
- endif()
- else()
- set(HAVE_DBUS "0")
-@@ -161,12 +162,15 @@ elseif(UNIX)
- endif()
-
- include_directories(
-- ${X11_XCB_INCLUDE_DIRS})
-+ ${X11_XCB_INCLUDE_DIRS}
-+ ${XCB_INCLUDE_DIRS})
- add_definitions(
-- ${X11_XCB_DEFINITIONS})
-+ ${X11_XCB_DEFINITIONS}
-+ ${XCB_DEFINITIONS})
- set(libobs_PLATFORM_DEPS
- ${libobs_PLATFORM_DEPS}
-- ${X11_XCB_LIBRARIES})
-+ ${X11_XCB_LIBRARIES}
-+ ${XCB_LIBRARIES})
-
- if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
- # use the sysinfo compatibility library on bsd
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index 10793908632..58ed3ec59b2 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, qmake, qtscript }:
stdenv.mkDerivation rec {
- name = "smplayer-18.6.0";
+ name = "smplayer-18.9.0";
src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
- sha256 = "0pb862l175ycm6fm90nryzgbqy8kbwpv3i6cbn13h7jh1yrz8nqx";
+ sha256 = "0gff22yh2h76cyqsbjpa7rax51sfzygjl3isd8dk47zar9cyvw8d";
};
buildInputs = [ qtscript ];
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 03b3fb1f9f2..6e98099460f 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -3,8 +3,9 @@
, img ? pkgs.stdenv.hostPlatform.platform.kernelTarget
, storeDir ? builtins.storeDir
, rootModules ?
- [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ]
+ [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" "sym53c8xx" "virtio_scsi" "ahci "]
++ pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos"
+, config
}:
with pkgs;
@@ -196,9 +197,17 @@ rec {
${qemuBinary qemu} \
-nographic -no-reboot \
-device virtio-rng-pci \
+ ${if "$diskInterface" == "scsi" then '' \
+ \ # FIXME: /dev/sda is not created within the VM
+ -device lsi53c895a \
+ -device scsi-hd,drive=hd,id=scsi1,bootindex=1 \
+ ''${diskImage:+-drive file=$diskImage,media=disk,if=none,id=hd,cache=unsafe,werror=report} \
+ '' else '' \
+ -drive file=$diskImage,media=disk,if=none,id=hd \
+ -device virtio-blk-pci,scsi=off,drive=hd,id=virtio0,bootindex=1 \
+ \''}
-virtfs local,path=${storeDir},security_model=none,mount_tag=store \
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
- ''${diskImage:+-drive file=$diskImage,if=virtio,cache=unsafe,werror=report} \
-kernel ${kernel}/${img} \
-initrd ${initrd}/initrd \
-append "console=${qemuSerialDevice} panic=1 command=${stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \
@@ -298,12 +307,13 @@ rec {
`run-vm' will be left behind in the temporary build directory
that allows you to boot into the VM and debug it interactively. */
- runInLinuxVM = drv: lib.overrideDerivation drv ({ memSize ? 512, QEMU_OPTS ? "", args, builder, ... }: {
+ runInLinuxVM = drv: lib.overrideDerivation drv ({ memSize ? 512, QEMU_OPTS ? "", args, builder, ... } @ moreArgs : {
requiredSystemFeatures = [ "kvm" ];
builder = "${bash}/bin/sh";
args = ["-e" (vmRunCommand qemuCommandLinux)];
origArgs = args;
origBuilder = builder;
+ diskInterface = "${moreArgs.diskInterface}";
QEMU_OPTS = "${QEMU_OPTS} -m ${toString memSize}";
passAsFile = []; # HACK fix - see https://github.com/NixOS/nixpkgs/issues/16742
});
diff --git a/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
new file mode 100644
index 00000000000..cb68c30a4a2
--- /dev/null
+++ b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+ name = "ultimate-oldschool-pc-font-pack-${version}";
+ version = "1.0";
+
+ src = fetchurl {
+ url = "http://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v${version}.zip";
+ sha256 = "7666cf23176e34ea03a218b5c1500f4ad729d97150ab7bdb7cf2adf4c99a9a7a";
+ };
+
+ buildInputs = [ unzip ];
+
+ dontBuild = true;
+
+ sourceRoot = ".";
+
+ installPhase = ''
+ mkdir -p $out/share/fonts/truetype
+ cp 'Px437 (TrueType - DOS charset)'/*.ttf $out/share/fonts/truetype
+ cp 'PxPlus (TrueType - extended charset)'/*.ttf $out/share/fonts/truetype
+ '';
+
+ meta = with stdenv.lib; {
+ description = "The Ultimate Oldschool PC Font Pack (TTF Fonts)";
+ homepage = "http://int10h.org/oldschool-pc-fonts/";
+ platforms = platforms.unix;
+ license = licenses.cc-by-sa-40;
+ maintainers = [ maintainers.endgame ];
+ };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/default.nix b/pkgs/development/compilers/llvm/3.5/default.nix
index f588eb4407b..b87fa747f14 100644
--- a/pkgs/development/compilers/llvm/3.5/default.nix
+++ b/pkgs/development/compilers/llvm/3.5/default.nix
@@ -6,7 +6,7 @@ let
fetch = fetch_v version;
fetch_v = ver: name: sha256: fetchurl {
- url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
+ url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
inherit sha256;
};
diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix
index f176894dedb..3c557711449 100644
--- a/pkgs/development/compilers/llvm/3.7/default.nix
+++ b/pkgs/development/compilers/llvm/3.7/default.nix
@@ -9,7 +9,7 @@ let
fetch = fetch_v version;
fetch_v = ver: name: sha256: fetchurl {
- url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
+ url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
inherit sha256;
};
diff --git a/pkgs/development/compilers/llvm/3.8/default.nix b/pkgs/development/compilers/llvm/3.8/default.nix
index 99869e6e80a..a848c8b9252 100644
--- a/pkgs/development/compilers/llvm/3.8/default.nix
+++ b/pkgs/development/compilers/llvm/3.8/default.nix
@@ -8,7 +8,7 @@ let
fetch = fetch_v version;
fetch_v = ver: name: sha256: fetchurl {
- url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
+ url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
inherit sha256;
};
diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix
index 01c08f4bd20..752790cdd85 100644
--- a/pkgs/development/compilers/llvm/3.9/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/default.nix
@@ -8,7 +8,7 @@ let
fetch = fetch_v version;
fetch_v = ver: name: sha256: fetchurl {
- url = "http://llvm.org/releases/${version}/${name}-${ver}.src.tar.xz";
+ url = "https://releases.llvm.org/${version}/${name}-${ver}.src.tar.xz";
inherit sha256;
};
diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix
index 38d2b0d461d..68ee80fa7a6 100644
--- a/pkgs/development/compilers/llvm/5/default.nix
+++ b/pkgs/development/compilers/llvm/5/default.nix
@@ -9,7 +9,7 @@ let
version = release_version; # differentiating these is important for rc's
fetch = name: sha256: fetchurl {
- url = "http://llvm.org/releases/${release_version}/${name}-${version}.src.tar.xz";
+ url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
inherit sha256;
};
diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix
index 831e4b65344..5ee551f6b6b 100644
--- a/pkgs/development/compilers/llvm/6/default.nix
+++ b/pkgs/development/compilers/llvm/6/default.nix
@@ -9,7 +9,7 @@ let
version = release_version; # differentiating these is important for rc's
fetch = name: sha256: fetchurl {
- url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
+ url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
inherit sha256;
};
diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix
new file mode 100644
index 00000000000..e1f4eb30360
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/clang/default.nix
@@ -0,0 +1,106 @@
+{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python
+, fixDarwinDylibNames
+, enableManpages ? false
+}:
+
+let
+ gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
+ self = stdenv.mkDerivation ({
+ name = "clang-${version}";
+
+ unpackPhase = ''
+ unpackFile ${fetch "cfe" "0mdsbgj3p7mayhzm8hclzl3i46r2lwa8fr1cz399f9km3iqi40jm"}
+ mv cfe-${version}* clang
+ sourceRoot=$PWD/clang
+ unpackFile ${clang-tools-extra_src}
+ mv clang-tools-extra-* $sourceRoot/tools/extra
+ '';
+
+ nativeBuildInputs = [ cmake python ]
+ ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+ buildInputs = [ libxml2 llvm ]
+ ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+ cmakeFlags = [
+ "-DCMAKE_CXX_FLAGS=-std=c++11"
+ ] ++ stdenv.lib.optionals enableManpages [
+ "-DCLANG_INCLUDE_DOCS=ON"
+ "-DLLVM_ENABLE_SPHINX=ON"
+ "-DSPHINX_OUTPUT_MAN=ON"
+ "-DSPHINX_OUTPUT_HTML=OFF"
+ "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+ ];
+
+ patches = [ ./purity.patch ];
+
+ postPatch = ''
+ sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
+ -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
+ lib/Driver/ToolChains/*.cpp
+
+ # Patch for standalone doc building
+ sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
+ '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+ sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
+ '';
+
+ outputs = [ "out" "lib" "python" ];
+
+ # Clang expects to find LLVMgold in its own prefix
+ postInstall = ''
+ if [ -e ${llvm}/lib/LLVMgold.so ]; then
+ ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+ fi
+
+ ln -sv $out/bin/clang $out/bin/cpp
+
+ # Move libclang to 'lib' output
+ moveToOutput "lib/libclang.*" "$lib"
+ substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
+ --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
+
+ mkdir -p $python/bin $python/share/clang/
+ mv $out/bin/{git-clang-format,scan-view} $python/bin
+ if [ -e $out/bin/set-xcode-analyzer ]; then
+ mv $out/bin/set-xcode-analyzer $python/bin
+ fi
+ mv $out/share/clang/*.py $python/share/clang
+ rm $out/bin/c-index-test
+ '';
+
+ enableParallelBuilding = true;
+
+ passthru = {
+ isClang = true;
+ inherit llvm;
+ } // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux {
+ inherit gcc;
+ };
+
+ meta = {
+ description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
+ homepage = http://llvm.org/;
+ license = stdenv.lib.licenses.ncsa;
+ platforms = stdenv.lib.platforms.all;
+ };
+ } // stdenv.lib.optionalAttrs enableManpages {
+ name = "clang-manpages-${version}";
+
+ buildPhase = ''
+ make docs-clang-man
+ '';
+
+ installPhase = ''
+ mkdir -p $out/share/man/man1
+ # Manually install clang manpage
+ cp docs/man/*.1 $out/share/man/man1/
+ '';
+
+ outputs = [ "out" ];
+
+ doCheck = false;
+
+ meta.description = "man page for Clang ${version}";
+ });
+in self
diff --git a/pkgs/development/compilers/llvm/7/clang/purity.patch b/pkgs/development/compilers/llvm/7/clang/purity.patch
new file mode 100644
index 00000000000..b30d0d0b5d5
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/clang/purity.patch
@@ -0,0 +1,30 @@
+From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
+From: Will Dietz
+Date: Thu, 18 May 2017 11:56:12 -0500
+Subject: [PATCH] "purity" patch for 5.0
+
+---
+ lib/Driver/ToolChains/Gnu.cpp | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index fe3c0191bb..c6a482bece 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
++++ b/lib/Driver/ToolChains/Gnu.cpp
+@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+ if (!Args.hasArg(options::OPT_static)) {
+ if (Args.hasArg(options::OPT_rdynamic))
+ CmdArgs.push_back("-export-dynamic");
+-
+- if (!Args.hasArg(options::OPT_shared)) {
+- const std::string Loader =
+- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
+- CmdArgs.push_back("-dynamic-linker");
+- CmdArgs.push_back(Args.MakeArgString(Loader));
+- }
+ }
+
+ CmdArgs.push_back("-o");
+--
+2.11.0
+
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch b/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch
new file mode 100644
index 00000000000..3cc12b94b20
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch
@@ -0,0 +1,33 @@
+From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
+From: Will Dietz
+Date: Tue, 19 Sep 2017 13:13:06 -0500
+Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
+ needs it
+
+---
+ cmake/Modules/AddCompilerRT.cmake | 8 ------
+ test/asan/CMakeLists.txt | 52 ---------------------------------------
+ test/tsan/CMakeLists.txt | 47 -----------------------------------
+ 3 files changed, 107 deletions(-)
+
+diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
+index bc5fb9ff7..b64eb4246 100644
+--- a/cmake/Modules/AddCompilerRT.cmake
++++ b/cmake/Modules/AddCompilerRT.cmake
+@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
+ set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
+ set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
+ endif()
+- if(APPLE)
+- # Ad-hoc sign the dylibs
+- add_custom_command(TARGET ${libname}
+- POST_BUILD
+- COMMAND codesign --sign - $
+- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
+- )
+- endif()
+ endif()
+ install(TARGETS ${libname}
+ ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
+2.14.1
+
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix
new file mode 100644
index 00000000000..ec739d22dd7
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -0,0 +1,37 @@
+{ stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
+with stdenv.lib;
+stdenv.mkDerivation rec {
+ name = "compiler-rt-${version}";
+ inherit version;
+ src = fetch "compiler-rt" "1mkhqvs8cxbfmprkzwyq7lmnzr1sv45znzf0arbgb19crzipzv5x";
+
+ nativeBuildInputs = [ cmake python llvm ];
+ buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
+
+ configureFlags = [
+ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
+ ];
+
+ outputs = [ "out" "dev" ];
+
+ patches = [
+ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
+ ] ++ optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.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
+ # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+ # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+ # a flag and turn the flag off during the stdenv build.
+ postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+ substituteInPlace cmake/config-ix.cmake \
+ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
+ '';
+
+ # Hack around weird upsream RPATH bug
+ postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+ ln -s "$out/lib"/*/* "$out/lib"
+ '';
+
+ enableParallelBuilding = true;
+}
diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix
new file mode 100644
index 00000000000..5446f1b362a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/default.nix
@@ -0,0 +1,92 @@
+{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
+, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith
+, buildLlvmTools # tools, but from the previous stage, for cross
+, targetLlvmLibraries # libraries, but from the next stage, for cross
+}:
+
+let
+ release_version = "7.0.0";
+ version = release_version; # differentiating these is important for rc's
+
+ fetch = name: sha256: fetchurl {
+ url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
+ inherit sha256;
+ };
+
+ clang-tools-extra_src = fetch "clang-tools-extra" "1glxl7bnr4k3j16s8xy8r9cl0llyg524f50591g1ig23ij65lz4k";
+
+ tools = stdenv.lib.makeExtensible (tools: let
+ callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
+ mkExtraBuildCommands = cc: ''
+ rsrc="$out/resource-root"
+ mkdir "$rsrc"
+ ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
+ ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
+ echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
+ '' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux ''
+ echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
+ '';
+ in {
+
+ llvm = callPackage ./llvm.nix { };
+
+ clang-unwrapped = callPackage ./clang {
+ inherit clang-tools-extra_src;
+ };
+
+ llvm-manpages = lowPrio (tools.llvm.override {
+ enableManpages = true;
+ python = pkgs.python; # don't use python-boot
+ });
+
+ clang-manpages = lowPrio (tools.clang-unwrapped.override {
+ enableManpages = true;
+ python = pkgs.python; # don't use python-boot
+ });
+
+ libclang = tools.clang-unwrapped.lib;
+
+ clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
+
+ libstdcxxClang = wrapCCWith rec {
+ cc = tools.clang-unwrapped;
+ extraPackages = [
+ libstdcxxHook
+ targetLlvmLibraries.compiler-rt
+ ];
+ extraBuildCommands = mkExtraBuildCommands cc;
+ };
+
+ libcxxClang = wrapCCWith rec {
+ cc = tools.clang-unwrapped;
+ extraPackages = [
+ targetLlvmLibraries.libcxx
+ targetLlvmLibraries.libcxxabi
+ targetLlvmLibraries.compiler-rt
+ ];
+ extraBuildCommands = mkExtraBuildCommands cc;
+ };
+
+ lld = callPackage ./lld.nix {};
+
+ lldb = callPackage ./lldb.nix {};
+ });
+
+ libraries = stdenv.lib.makeExtensible (libraries: let
+ callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
+ in {
+
+ compiler-rt = callPackage ./compiler-rt.nix {};
+
+ stdenv = overrideCC stdenv buildLlvmTools.clang;
+
+ libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
+
+ libcxx = callPackage ./libc++ {};
+
+ libcxxabi = callPackage ./libc++abi.nix {};
+
+ openmp = callPackage ./openmp.nix {};
+ });
+
+in { inherit tools libraries; } // libraries // tools
diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libc++/default.nix
new file mode 100644
index 00000000000..76bfb34975e
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/libc++/default.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
+
+stdenv.mkDerivation rec {
+ name = "libc++-${version}";
+
+ src = fetch "libcxx" "1w1l472p03csgz76p70pn9yk7h0nw5hj1av44ysnakigp8jjcd4v";
+
+ postUnpack = ''
+ unpackFile ${libcxxabi.src}
+ export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
+ '';
+
+ patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
+
+ prePatch = ''
+ substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
+ '';
+
+ preConfigure = ''
+ # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
+ cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
+ '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+ patchShebangs utils/cat_files.py
+ '';
+ nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python;
+
+ buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+ cmakeFlags = [
+ "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
+ "-DLIBCXX_LIBCPPABI_VERSION=2"
+ "-DLIBCXX_CXX_ABI=libcxxabi"
+ ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
+
+ enableParallelBuilding = true;
+
+ linkCxxAbi = stdenv.isLinux;
+
+ setupHooks = [
+ ../../../../../build-support/setup-hooks/role.bash
+ ./setup-hook.sh
+ ];
+
+ meta = {
+ homepage = http://libcxx.llvm.org/;
+ description = "A new implementation of the C++ standard library, targeting C++11";
+ license = with stdenv.lib.licenses; [ ncsa mit ];
+ platforms = stdenv.lib.platforms.unix;
+ };
+}
diff --git a/pkgs/development/compilers/llvm/7/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/7/libc++/setup-hook.sh
new file mode 100644
index 00000000000..6611259165a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/libc++/setup-hook.sh
@@ -0,0 +1,6 @@
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+
+linkCxxAbi="@linkCxxAbi@"
+export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
+export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix
new file mode 100644
index 00000000000..7dbda6c365e
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/libc++abi.nix
@@ -0,0 +1,49 @@
+{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
+
+stdenv.mkDerivation {
+ name = "libc++abi-${version}";
+
+ src = fetch "libcxxabi" "0pr4xfx61r5mwmvhg4j9pb6df6vvha1gyf6rwkm14x9rzxcwficv";
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
+
+ postUnpack = ''
+ unpackFile ${libcxx.src}
+ unpackFile ${llvm.src}
+ export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
+ export TRIPLE=x86_64-apple-darwin
+ '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+ patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
+ '';
+
+ installPhase = if stdenv.isDarwin
+ then ''
+ for file in lib/*.dylib; do
+ # this should be done in CMake, but having trouble figuring out
+ # the magic combination of necessary CMake variables
+ # if you fancy a try, take a look at
+ # http://www.cmake.org/Wiki/CMake_RPATH_handling
+ install_name_tool -id $out/$file $file
+ done
+ make install
+ install -d 755 $out/include
+ install -m 644 ../include/*.h $out/include
+ ''
+ else ''
+ install -d -m 755 $out/include $out/lib
+ install -m 644 lib/libc++abi.so.1.0 $out/lib
+ install -m 644 ../include/cxxabi.h $out/include
+ ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+ ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+ '';
+
+ meta = {
+ homepage = http://libcxxabi.llvm.org/;
+ description = "A new implementation of low level support for a standard C++ library";
+ license = with stdenv.lib.licenses; [ ncsa mit ];
+ maintainers = with stdenv.lib.maintainers; [ vlstill ];
+ platforms = stdenv.lib.platforms.unix;
+ };
+}
diff --git a/pkgs/development/compilers/llvm/7/lld.nix b/pkgs/development/compilers/llvm/7/lld.nix
new file mode 100644
index 00000000000..f6ce768d648
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/lld.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, fetch
+, cmake
+, libxml2
+, llvm
+, version
+}:
+
+stdenv.mkDerivation {
+ name = "lld-${version}";
+
+ src = fetch "lld" "173z50vx5mlsaiqmbz7asxy2297z4xivrfxrdfncvx23wp2lgkzv";
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ llvm libxml2 ];
+
+ outputs = [ "out" "dev" ];
+
+ enableParallelBuilding = true;
+
+ postInstall = ''
+ moveToOutput include "$dev"
+ moveToOutput lib "$dev"
+ '';
+
+ meta = {
+ description = "The LLVM Linker";
+ homepage = http://lld.llvm.org/;
+ license = stdenv.lib.licenses.ncsa;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/pkgs/development/compilers/llvm/7/lldb.nix b/pkgs/development/compilers/llvm/7/lldb.nix
new file mode 100644
index 00000000000..6c3f0699978
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/lldb.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, libxml2
+, llvm
+, clang-unwrapped
+, python
+, version
+, darwin
+}:
+
+stdenv.mkDerivation {
+ name = "lldb-${version}";
+
+ src = fetch "lldb" "0cmah36ybyfws0z2ikq9fqn5k4kvjci7vgk97ddx4xwrwkzdixkz";
+
+ postPatch = ''
+ # Fix up various paths that assume llvm and clang are installed in the same place
+ sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
+ cmake/modules/LLDBStandalone.cmake
+ sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \
+ cmake/modules/LLDBStandalone.cmake
+ sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
+ cmake/modules/LLDBStandalone.cmake
+ '';
+
+ nativeBuildInputs = [ cmake python which swig ];
+ buildInputs = [ ncurses zlib libedit libxml2 llvm ]
+ ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
+
+ CXXFLAGS = "-fno-rtti";
+ hardeningDisable = [ "format" ];
+
+ cmakeFlags = [
+ "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+ ];
+
+ enableParallelBuilding = true;
+
+ postInstall = ''
+ mkdir -p $out/share/man/man1
+ cp ../docs/lldb.1 $out/share/man/man1/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A next-generation high-performance debugger";
+ homepage = http://llvm.org/;
+ license = licenses.ncsa;
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/development/compilers/llvm/7/llvm-outputs.patch b/pkgs/development/compilers/llvm/7/llvm-outputs.patch
new file mode 100644
index 00000000000..40096fa3497
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/llvm-outputs.patch
@@ -0,0 +1,26 @@
+diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
+index 94d426b..37f7794 100644
+--- a/tools/llvm-config/llvm-config.cpp
++++ b/tools/llvm-config/llvm-config.cpp
+@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
+ ActiveIncludeOption = "-I" + ActiveIncludeDir;
+ }
+
++ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
++ if (!IsInDevelopmentTree) {
++ bool WantShared = true;
++ for (int i = 1; i < argc; ++i) {
++ StringRef Arg = argv[i];
++ if (Arg == "--link-shared")
++ WantShared = true;
++ else if (Arg == "--link-static")
++ WantShared = false; // the last one wins
++ }
++
++ if (WantShared)
++ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
++ }
++
+ /// We only use `shared library` mode in cases where the static library form
+ /// of the components provided are not available; note however that this is
+ /// skipped if we're run from within the build dir. However, once installed,
diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix
new file mode 100644
index 00000000000..67bde813fee
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/llvm.nix
@@ -0,0 +1,174 @@
+{ stdenv
+, fetch
+, cmake
+, python
+, libffi
+, libbfd
+, libpfm
+, libxml2
+, ncurses
+, version
+, release_version
+, zlib
+, debugVersion ? false
+, enableManpages ? false
+, enableSharedLibraries ? true
+, enableWasm ? true
+, enablePFM ? !stdenv.isDarwin
+}:
+
+let
+ src = fetch "llvm" "08p27wv1pr9ql2zc3f3qkkymci46q7myvh8r5ijippnbwr2gihcb";
+
+ # Used when creating a version-suffixed symlink of libLLVM.dylib
+ shortVersion = with stdenv.lib;
+ concatStringsSep "." (take 1 (splitString "." release_version));
+in stdenv.mkDerivation (rec {
+ name = "llvm-${version}";
+
+ unpackPhase = ''
+ unpackFile ${src}
+ mv llvm-${version}* llvm
+ sourceRoot=$PWD/llvm
+ '';
+
+ outputs = [ "out" "python" ]
+ ++ stdenv.lib.optional enableSharedLibraries "lib";
+
+ nativeBuildInputs = [ cmake python ]
+ ++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
+
+ buildInputs = [ libxml2 libffi ]
+ ++ stdenv.lib.optional enablePFM libpfm; # exegesis
+
+ propagatedBuildInputs = [ ncurses zlib ];
+
+ postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+ substituteInPlace cmake/modules/AddLLVM.cmake \
+ --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \
+ --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' ""
+ ''
+ # Patch llvm-config to return correct library path based on --link-{shared,static}.
+ + stdenv.lib.optionalString (enableSharedLibraries) ''
+ substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
+ patch -p1 < ./llvm-outputs.patch
+ '' + ''
+ # FileSystem permissions tests fail with various special bits
+ substituteInPlace unittests/Support/CMakeLists.txt \
+ --replace "Path.cpp" ""
+ rm unittests/Support/Path.cpp
+ '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+ patch -p1 -i ${../TLI-musl.patch}
+ substituteInPlace unittests/Support/CMakeLists.txt \
+ --replace "add_subdirectory(DynamicLibrary)" ""
+ rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
+ '' + ''
+ patchShebangs test/BugPoint/compile-custom.ll.py
+ '';
+
+ # hacky fix: created binaries need to be run before installation
+ preBuild = ''
+ mkdir -p $out/
+ ln -sv $PWD/lib $out
+ '';
+
+ cmakeFlags = with stdenv; [
+ "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
+ "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
+ "-DLLVM_BUILD_TESTS=ON"
+ "-DLLVM_ENABLE_FFI=ON"
+ "-DLLVM_ENABLE_RTTI=ON"
+
+ "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+ "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
+ "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
+
+ "-DLLVM_ENABLE_DUMP=ON"
+ ]
+ ++ stdenv.lib.optional enableSharedLibraries
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ++ stdenv.lib.optionals enableManpages [
+ "-DLLVM_BUILD_DOCS=ON"
+ "-DLLVM_ENABLE_SPHINX=ON"
+ "-DSPHINX_OUTPUT_MAN=ON"
+ "-DSPHINX_OUTPUT_HTML=OFF"
+ "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+ ]
+ ++ stdenv.lib.optional (!isDarwin)
+ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
+ ++ stdenv.lib.optionals (isDarwin) [
+ "-DLLVM_ENABLE_LIBCXX=ON"
+ "-DCAN_TARGET_i386=false"
+ ]
+ ++ stdenv.lib.optional enableWasm
+ "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
+ ;
+
+ postBuild = ''
+ rm -fR $out
+
+ paxmark m bin/{lli,llvm-rtdyld}
+ paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
+ paxmark m unittests/ExecutionEngine/Orc/OrcJITTests
+ paxmark m unittests/Support/SupportTests
+ paxmark m bin/lli-child-target
+ '';
+
+ preCheck = ''
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
+ '';
+
+ postInstall = ''
+ mkdir -p $python/share
+ mv $out/share/opt-viewer $python/share/opt-viewer
+ ''
+ + stdenv.lib.optionalString enableSharedLibraries ''
+ moveToOutput "lib/libLLVM-*" "$lib"
+ moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
+ substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-"
+ ''
+ + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) ''
+ substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
+ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
+ ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
+ ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
+ '';
+
+ doCheck = stdenv.isLinux && (!stdenv.isi686);
+
+ checkTarget = "check-all";
+
+ enableParallelBuilding = true;
+
+ passthru.src = src;
+
+ meta = {
+ description = "Collection of modular and reusable compiler and toolchain technologies";
+ homepage = http://llvm.org/;
+ license = stdenv.lib.licenses.ncsa;
+ maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ];
+ platforms = stdenv.lib.platforms.all;
+ };
+} // stdenv.lib.optionalAttrs enableManpages {
+ name = "llvm-manpages-${version}";
+
+ buildPhase = ''
+ make docs-llvm-man
+ '';
+
+ propagatedBuildInputs = [];
+
+ installPhase = ''
+ make -C docs install
+ '';
+
+ postPatch = null;
+ postInstall = null;
+
+ outputs = [ "out" ];
+
+ doCheck = false;
+
+ meta.description = "man pages for LLVM ${version}";
+})
diff --git a/pkgs/development/compilers/llvm/7/openmp.nix b/pkgs/development/compilers/llvm/7/openmp.nix
new file mode 100644
index 00000000000..31059b7c4c0
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/openmp.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, fetch
+, cmake
+, llvm
+, perl
+, version
+}:
+
+stdenv.mkDerivation {
+ name = "openmp-${version}";
+
+ src = fetch "openmp" "1zrqlaxr954sp8lcr7g8m0z0pr8xyq4i6p11x6gcamjm5xijnrih";
+
+ nativeBuildInputs = [ cmake perl ];
+ buildInputs = [ llvm ];
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Components required to build an executable OpenMP program";
+ homepage = http://openmp.llvm.org/;
+ license = stdenv.lib.licenses.mit;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch b/pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch
new file mode 100644
index 00000000000..6266eb1958d
--- /dev/null
+++ b/pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch
@@ -0,0 +1,413 @@
+From 7b4b3333a2718628b1d510ec1d8438ad67308299 Mon Sep 17 00:00:00 2001
+From: Will Dietz
+Date: Fri, 29 Jun 2018 09:48:59 -0500
+Subject: [PATCH] Ported to 6.0, taken from gentoo-musl project.
+
+------
+Ported to compiler-rt-sanitizers-5.0.0. Taken from
+
+https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
+Signed-off-by: Jory A. Pratt
+
+Taken from gentoo-musl project, with a few additional minor fixes.
+---
+ lib/asan/asan_linux.cc | 4 +-
+ lib/interception/interception_linux.cc | 2 +-
+ lib/interception/interception_linux.h | 3 +-
+ lib/msan/msan_linux.cc | 2 +-
+ lib/sanitizer_common/sanitizer_allocator.cc | 2 +-
+ .../sanitizer_common_interceptors_ioctl.inc | 4 +-
+ .../sanitizer_common_syscalls.inc | 2 +-
+ lib/sanitizer_common/sanitizer_linux.cc | 8 +++-
+ .../sanitizer_linux_libcdep.cc | 10 ++---
+ lib/sanitizer_common/sanitizer_platform.h | 6 +++
+ .../sanitizer_platform_interceptors.h | 4 +-
+ .../sanitizer_platform_limits_posix.cc | 37 +++++++++++--------
+ lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
+ 13 files changed, 51 insertions(+), 35 deletions(-)
+
+diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
+index 625f32d40..73cf77aca 100644
+--- a/lib/asan/asan_linux.cc
++++ b/lib/asan/asan_linux.cc
+@@ -46,7 +46,7 @@
+ #include
+ #endif
+
+-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
++#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
+ #include
+ extern "C" void* _DYNAMIC;
+ #elif SANITIZER_NETBSD
+@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
+ UNIMPLEMENTED();
+ }
+
+-#if SANITIZER_ANDROID
++#if SANITIZER_ANDROID || SANITIZER_NONGNU
+ // FIXME: should we do anything for Android?
+ void AsanCheckDynamicRTPrereqs() {}
+ void AsanCheckIncompatibleRT() {}
+diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
+index c991550a4..2b706418b 100644
+--- a/lib/interception/interception_linux.cc
++++ b/lib/interception/interception_linux.cc
+@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
+ }
+
+ // Android and Solaris do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ void *GetFuncAddrVer(const char *func_name, const char *ver) {
+ return dlvsym(RTLD_NEXT, func_name, ver);
+ }
+diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
+index 98fe51b85..c13302b98 100644
+--- a/lib/interception/interception_linux.h
++++ b/lib/interception/interception_linux.h
+@@ -35,8 +35,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
+ (::__interception::uptr) & (func), \
+ (::__interception::uptr) & WRAP(func))
+
+-// Android and Solaris do not have dlvsym
+-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
++#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ #define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
+ (::__interception::real_##func = (func##_f)( \
+ unsigned long)::__interception::GetFuncAddrVer(#func, symver))
+diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
+index 4e6321fcb..4d50feb82 100644
+--- a/lib/msan/msan_linux.cc
++++ b/lib/msan/msan_linux.cc
+@@ -13,7 +13,7 @@
+ //===----------------------------------------------------------------------===//
+
+ #include "sanitizer_common/sanitizer_platform.h"
+-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
++#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
+
+ #include "msan.h"
+ #include "msan_thread.h"
+diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
+index fc4f7a75a..76cf4f769 100644
+--- a/lib/sanitizer_common/sanitizer_allocator.cc
++++ b/lib/sanitizer_common/sanitizer_allocator.cc
+@@ -23,7 +23,7 @@ namespace __sanitizer {
+
+ // ThreadSanitizer for Go uses libc malloc/free.
+ #if SANITIZER_GO || defined(SANITIZER_USE_MALLOC)
+-# if SANITIZER_LINUX && !SANITIZER_ANDROID
++# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ extern "C" void *__libc_malloc(uptr size);
+ # if !SANITIZER_GO
+ extern "C" void *__libc_memalign(uptr alignment, uptr size);
+diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+index 24e7548a5..20259b1d6 100644
+--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -102,7 +102,7 @@ static void ioctl_table_fill() {
+ _(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
+ #endif
+
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ // Conflicting request ids.
+ // _(CDROMAUDIOBUFSIZ, NONE, 0);
+ // _(SNDCTL_TMR_CONTINUE, NONE, 0);
+@@ -363,7 +363,7 @@ static void ioctl_table_fill() {
+ _(VT_WAITACTIVE, NONE, 0);
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+ _(CYGETDEFTHRESH, WRITE, sizeof(int));
+ _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+index 469c8eb7e..24f87867d 100644
+--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
++++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
+@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
+ }
+ }
+
+-#if !SANITIZER_ANDROID
++#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
+ void *old_rlim) {
+ if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
+diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
+index 6c83e8db4..542c4fe64 100644
+--- a/lib/sanitizer_common/sanitizer_linux.cc
++++ b/lib/sanitizer_common/sanitizer_linux.cc
+@@ -522,13 +522,13 @@ const char *GetEnv(const char *name) {
+ #endif
+ }
+
+-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD
++#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_NONGNU
+ extern "C" {
+ SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end;
+ }
+ #endif
+
+-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD
++#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD
+ static void ReadNullSepFileToArray(const char *path, char ***arr,
+ int arr_size) {
+ char *buff;
+@@ -569,6 +569,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
+ #elif SANITIZER_NETBSD
+ *argv = __ps_strings->ps_argvstr;
+ *argv = __ps_strings->ps_envstr;
++#elif SANITIZER_NONGNU
++ static const int kMaxArgv = 2000, kMaxEnvp = 2000;
++ ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv);
++ ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp);
+ #else
+ #if !SANITIZER_GO
+ if (&__libc_stack_end) {
+diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+index 56fdfc870..a932d5db1 100644
+--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
++++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
+@@ -174,7 +174,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
+ }
+
+ #if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
+- !SANITIZER_NETBSD && !SANITIZER_SOLARIS
++ !SANITIZER_NETBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
+ static uptr g_tls_size;
+
+ #ifdef __i386__
+@@ -207,7 +207,7 @@ void InitTlsSize() { }
+
+ #if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
+ || defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
+- || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
++ || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // sizeof(struct pthread) from glibc.
+ static atomic_uintptr_t kThreadDescriptorSize;
+
+@@ -391,7 +391,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
+
+ #if !SANITIZER_GO
+ static void GetTls(uptr *addr, uptr *size) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
+ *addr = ThreadSelf();
+ *size = GetTlsSize();
+@@ -432,7 +432,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ *addr = (uptr)tcb->tcb_dtv[1];
+ }
+ }
+-#elif SANITIZER_ANDROID
++#elif SANITIZER_ANDROID || SANITIZER_NONGNU
+ *addr = 0;
+ *size = 0;
+ #elif SANITIZER_SOLARIS
+@@ -448,7 +448,7 @@ static void GetTls(uptr *addr, uptr *size) {
+ #if !SANITIZER_GO
+ uptr GetTlsSize() {
+ #if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
+- SANITIZER_SOLARIS
++ SANITIZER_SOLARIS || SANITIZER_NONGNU
+ uptr addr, size;
+ GetTls(&addr, &size);
+ return size;
+diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
+index 334903c26..fc2afac2c 100644
+--- a/lib/sanitizer_common/sanitizer_platform.h
++++ b/lib/sanitizer_common/sanitizer_platform.h
+@@ -195,6 +195,12 @@
+ # define SANITIZER_SOLARIS32 0
+ #endif
+
++#if defined(__linux__) && !defined(__GLIBC__)
++# define SANITIZER_NONGNU 1
++#else
++# define SANITIZER_NONGNU 0
++#endif
++
+ // By default we allow to use SizeClassAllocator64 on 64-bit platform.
+ // But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
+ // does not work well and we need to fallback to SizeClassAllocator32.
+diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+index b99ac4480..628d226a1 100644
+--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
++++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
+@@ -38,7 +38,7 @@
+ # include "sanitizer_platform_limits_solaris.h"
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ # define SI_LINUX_NOT_ANDROID 1
+ #else
+ # define SI_LINUX_NOT_ANDROID 0
+@@ -291,7 +291,7 @@
+ (SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID)
+ #define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
+ #define SANITIZER_INTERCEPT_SHMCTL \
+- (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
++ (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
+ SANITIZER_WORDSIZE == 64)) // NOLINT
+ #define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
+ #define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
+diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+index feb7bad6f..4e89ab2a6 100644
+--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -14,6 +14,9 @@
+
+ #include "sanitizer_platform.h"
+
++// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
++#define _LINUX_SYSINFO_H
++
+ #if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
+ // Tests in this file assume that off_t-dependent data structures match the
+ // libc ABI. For example, struct dirent here is what readdir() function (as
+@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ #include
+-#include
++# if !SANITIZER_NONGNU
++# include
++# endif
+ #include
+-#include
+-#include
+-#include
+-#include
++#include
++#include
++#include
++#include
+ #if HAVE_RPC_XDR_H
+ # include
+ #elif HAVE_TIRPC_RPC_XDR_H
+@@ -251,7 +256,7 @@ namespace __sanitizer {
+ unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ // Use pre-computed size of struct ustat to avoid which
+ // has been removed from glibc 2.28.
+ #if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
+@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
+ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ #endif
+
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ int glob_nomatch = GLOB_NOMATCH;
+ int glob_altdirfunc = GLOB_ALTDIRFUNC;
+ #endif
+@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned struct_termios_sz = sizeof(struct termios);
+ unsigned struct_winsize_sz = sizeof(struct winsize);
+
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ unsigned struct_arpreq_sz = sizeof(struct arpreq);
+ unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
+ unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
+@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+ unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+ unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+ unsigned IOCTL_CYGETMON = CYGETMON;
+@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
+ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(glob_t);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
+ CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
+@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_base);
+ CHECK_SIZE_AND_OFFSET(iovec, iov_len);
+
++#if !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(msghdr);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
+ CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
+@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
+ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
++#endif
+
+ COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
+ CHECK_SIZE_AND_OFFSET(dirent, d_ino);
+@@ -1138,7 +1145,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
+
+ CHECK_TYPE_SIZE(ether_addr);
+
+-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
++#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ CHECK_TYPE_SIZE(ipc_perm);
+ # if SANITIZER_FREEBSD
+ CHECK_SIZE_AND_OFFSET(ipc_perm, key);
+@@ -1199,7 +1206,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
+ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
+ #endif
+
+-#if SANITIZER_LINUX
++#if SANITIZER_LINUX && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
+ #endif
+
+@@ -1249,7 +1256,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
+ COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
+ CHECK_SIZE_AND_OFFSET(FILE, _flags);
+ CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
+@@ -1268,7 +1275,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
+ CHECK_SIZE_AND_OFFSET(FILE, _fileno);
+ #endif
+
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
+ CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
+diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
+index e14d5f575..389a3bc88 100644
+--- a/lib/tsan/rtl/tsan_platform_linux.cc
++++ b/lib/tsan/rtl/tsan_platform_linux.cc
+@@ -285,7 +285,7 @@ void InitializePlatform() {
+ // This is required to properly "close" the fds, because we do not see internal
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+-#if SANITIZER_LINUX && !SANITIZER_ANDROID
++#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
+ int cnt = 0;
+ struct __res_state *statp = (struct __res_state*)state;
+ for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+--
+2.18.0
+
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 64a82ed42a8..8beca9572e7 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -927,8 +927,9 @@ self: super: {
text-icu = dontCheck super.text-icu;
# https://github.com/haskell/cabal/issues/4969
- haddock-library_1_4_4 = dontHaddock super.haddock-library_1_4_4;
- haddock-api = super.haddock-api.override { haddock-library = self.haddock-library_1_4_4; };
+ haddock-api = (super.haddock-api.overrideScope (self: super: {
+ haddock-library = self.haddock-library_1_6_0;
+ })).override { hspec = self.hspec_2_4_8; };
# Jailbreak "unix-compat >=0.1.2 && <0.5".
# Jailbreak "graphviz >=2999.18.1 && <2999.20".
@@ -1112,7 +1113,7 @@ self: super: {
})) ./patches/sexpr-0.2.1.patch;
# Can be removed once yi-language >= 0.18 is in the LTS
- yi-core = super.yi-core.override { yi-language = self.yi-language_0_18_0; };
+ yi-core = super.yi-core.overrideScope (self: super: { yi-language = self.yi-language_0_18_0; });
# https://github.com/MarcWeber/hasktags/issues/52
hasktags = dontCheck super.hasktags;
@@ -1124,11 +1125,11 @@ self: super: {
xmlhtml = doJailbreak super.xmlhtml;
# https://github.com/NixOS/nixpkgs/issues/46467
- safe-money-aeson = super.safe-money-aeson.override { safe-money = self.safe-money_0_7; };
- safe-money-store = super.safe-money-store.override { safe-money = self.safe-money_0_7; };
- safe-money-cereal = super.safe-money-cereal.override { safe-money = self.safe-money_0_7; };
- safe-money-serialise = super.safe-money-serialise.override { safe-money = self.safe-money_0_7; };
- safe-money-xmlbf = super.safe-money-xmlbf.override { safe-money = self.safe-money_0_7; };
+ safe-money-aeson = super.safe-money-aeson.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
+ safe-money-store = super.safe-money-store.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
+ safe-money-cereal = super.safe-money-cereal.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
+ safe-money-serialise = super.safe-money-serialise.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
+ safe-money-xmlbf = super.safe-money-xmlbf.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
# https://github.com/adinapoli/mandrill/pull/52
mandrill = appendPatch super.mandrill (pkgs.fetchpatch {
@@ -1136,4 +1137,17 @@ self: super: {
sha256 = "1qair09xs6vln3vsjz7sy4hhv037146zak4mq3iv6kdhmp606hqv";
});
+ # Can be removed once vinyl >= 0.10 is in the LTS.
+ Frames = super.Frames.overrideScope (self: super: { vinyl = self.vinyl_0_10_0; });
+
+ # https://github.com/Euterpea/Euterpea2/pull/22
+ Euterpea = overrideSrc super.Euterpea {
+ src = pkgs.fetchFromGitHub {
+ owner = "Euterpea";
+ repo = "Euterpea2";
+ rev = "6f49b790adfb8b65d95a758116c20098fb0cd34c";
+ sha256 = "0qz1svb96n42nmig16vyphwxas34hypgayvwc91ri7w7xd6yi1ba";
+ };
+ };
+
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 2eefe636ca9..7f9e3143289 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -2400,7 +2400,6 @@ extra-packages:
- haddock-api == 2.17.* # required on GHC 8.0.x
- haddock-library == 1.2.* # required for haddock-api-2.16.x
- haddock-library == 1.4.3 # required for haddock-api-2.17.x
- - haddock-library == 1.4.4 # required for haddock-api-2.18.x
- haddock-library == 1.5.* # required for stylish-cabal-0.4.0.1
- happy <1.19.6 # newer versions break Agda
- haskell-gi-overloading == 0.0 # gi-* packages use this dependency to disable overloading support
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index c3df7d38bfd..43ba2d000eb 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -517,4 +517,7 @@ self: super: builtins.intersectAttrs super {
postPatch = ''
sed -i -e 's|"z3"|"${pkgs.z3}/bin/z3"|' Data/SBV/Provers/Z3.hs'';
});
+
+ # The test-suite requires a running PostgreSQL server.
+ Frames-beam = dontCheck super.Frames-beam;
}
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index ee524feb4c6..58b7fd71f0b 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -11,6 +11,16 @@ let
sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm";
};
+ makeOrderingPatch = fetchpatch {
+ url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch";
+ sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n";
+ };
+
+ makeParallelInstallPatch = fetchpatch {
+ url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch";
+ sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c";
+ };
+
in mkDerivation rec {
version = "18.3.4.8";
sha256 = "16c0h25hh5yvkv436ks5jbd7qmxzb6ndvk64mr404347a20iib0g";
@@ -18,5 +28,7 @@ in mkDerivation rec {
patches = [
rmAndPwdPatch
envAndCpPatch
+ makeOrderingPatch
+ makeParallelInstallPatch
];
}
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 5af569a5e7c..67c38a354b4 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -133,6 +133,7 @@ let
++ optionals mysqliSupport [
"--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}"
]
+ ++ optional ( pdo_mysqlSupport || mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock"
++ optional bcmathSupport "--enable-bcmath"
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
++ optionals gdSupport [
diff --git a/pkgs/development/interpreters/wasm-gc/default.nix b/pkgs/development/interpreters/wasm-gc/default.nix
new file mode 100644
index 00000000000..cf0fad18d1c
--- /dev/null
+++ b/pkgs/development/interpreters/wasm-gc/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+ name = "wasm-gc-${version}";
+ version = "0.1.6";
+
+ src = fetchFromGitHub {
+ owner = "alexcrichton";
+ repo = "wasm-gc";
+ rev = version;
+ sha256 = "1lc30xxqp3vv1r269xzznh2lf2dzdq89bi5f1vmqjw4yc3xmawm7";
+ };
+
+ cargoPatches = [ ./fix-build.patch ]; # Cargo.lock is not up-to-date
+
+ cargoSha256 = "1jvk9n324p3x3j6q6x0p5diig3b5c683k74cfflff25i7gsmmvc7";
+
+ meta = with stdenv.lib; {
+ description = "gc-sections for wasm";
+ homepage = "https://github.com/alexcrichton/wasm-gc";
+ maintainers = with maintainers; [ ekleog ];
+ platforms = platforms.all;
+ license = with licenses; [ mit asl20 ];
+ };
+}
diff --git a/pkgs/development/interpreters/wasm-gc/fix-build.patch b/pkgs/development/interpreters/wasm-gc/fix-build.patch
new file mode 100644
index 00000000000..3144dd89837
--- /dev/null
+++ b/pkgs/development/interpreters/wasm-gc/fix-build.patch
@@ -0,0 +1,34 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 923ed91..71f17c8 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -212,16 +212,16 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-gc"
+-version = "0.1.1"
++version = "0.1.6"
+ dependencies = [
+ "env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-gc-api 0.1.5",
++ "wasm-gc-api 0.1.6",
+ ]
+
+ [[package]]
+ name = "wasm-gc-api"
+-version = "0.1.5"
++version = "0.1.6"
+ dependencies = [
+ "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -234,7 +234,7 @@ version = "0.1.0"
+ dependencies = [
+ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "wasm-bindgen 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-gc-api 0.1.5",
++ "wasm-gc-api 0.1.6",
+ ]
+
+ [[package]]
+
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index c4f41663c84..1ef2c6914ae 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
stdenv.mkDerivation rec {
- version = "18.08";
+ version = "18.08.1";
name = "libmediainfo-${version}";
src = fetchurl {
url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
- sha256 = "0h9fkfkil9y5xjxa7q4gxxihkn9kv9hak6ral2isvks5x3sy0ca8";
+ sha256 = "1h6brg98i39xprcl54gvs1scmv8d6f3iw5h2diwz5bbz4lspy8vs";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/mono-addins/default.nix b/pkgs/development/libraries/mono-addins/default.nix
index 780f68e7d48..345c6e51f0b 100644
--- a/pkgs/development/libraries/mono-addins/default.nix
+++ b/pkgs/development/libraries/mono-addins/default.nix
@@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
name = "mono-addins-${version}";
- version = "1.2";
+ version = "1.3.3";
src = fetchFromGitHub {
owner = "mono";
repo = "mono-addins";
rev = "mono-addins-${version}";
- sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y";
+ sha256 = "018g3bd8afjc39h22h2j5r6ldsdn08ynx7wg889gdvnxg3hrxgl2";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/development/ocaml-modules/doc-ock-html/default.nix b/pkgs/development/ocaml-modules/doc-ock-html/default.nix
new file mode 100644
index 00000000000..cb2756b0977
--- /dev/null
+++ b/pkgs/development/ocaml-modules/doc-ock-html/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, dune, doc-ock, tyxml, xmlm }:
+
+stdenv.mkDerivation rec {
+ name = "ocaml${ocaml.version}-doc-ock-html-${version}";
+ version = "1.2.1";
+
+ src = fetchFromGitHub {
+ owner = "ocaml-doc";
+ repo = "doc-ock-html";
+ rev = "v${version}";
+ sha256 = "1y620h48qrplmcm78g7c78zibpkai4j3icwmnx95zb3r8xq8554y";
+ };
+
+ buildInputs = [ ocaml findlib dune ];
+
+ propagatedBuildInputs = [ doc-ock tyxml xmlm ];
+
+ inherit (dune) installPhase;
+
+ meta = {
+ description = "From doc-ock to HTML";
+ license = stdenv.lib.licenses.isc;
+ maintainers = [ stdenv.lib.maintainers.vbgl ];
+ inherit (ocaml.meta) platforms;
+ inherit (src.meta) homepage;
+ };
+}
diff --git a/pkgs/development/ocaml-modules/doc-ock-xml/default.nix b/pkgs/development/ocaml-modules/doc-ock-xml/default.nix
new file mode 100644
index 00000000000..72e562cb5f3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/doc-ock-xml/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, dune, doc-ock, menhir, xmlm }:
+
+stdenv.mkDerivation rec {
+ name = "ocaml${ocaml.version}-doc-ock-xml-${version}";
+ version = "1.2.1";
+
+ src = fetchFromGitHub {
+ owner = "ocaml-doc";
+ repo = "doc-ock-xml";
+ rev = "v${version}";
+ sha256 = "1s27ri7vj9ixi5p5ixg6g6invk96807bvxbqjrr1dm8sxgl1nd20";
+ };
+
+ buildInputs = [ ocaml findlib dune ];
+
+ propagatedBuildInputs = [ doc-ock menhir xmlm ];
+
+ inherit (dune) installPhase;
+
+ meta = {
+ description = "XML printer and parser for Doc-Ock";
+ license = stdenv.lib.licenses.isc;
+ maintainers = [ stdenv.lib.maintainers.vbgl ];
+ inherit (ocaml.meta) platforms;
+ inherit (src.meta) homepage;
+ };
+}
diff --git a/pkgs/development/ocaml-modules/doc-ock/default.nix b/pkgs/development/ocaml-modules/doc-ock/default.nix
new file mode 100644
index 00000000000..c158f08b068
--- /dev/null
+++ b/pkgs/development/ocaml-modules/doc-ock/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, dune, octavius, cppo }:
+
+stdenv.mkDerivation rec {
+ name = "ocaml${ocaml.version}-doc-ock-${version}";
+ version = "1.2.1";
+
+ src = fetchFromGitHub {
+ owner = "ocaml-doc";
+ repo = "doc-ock";
+ rev = "v${version}";
+ sha256 = "090vprm12jrl55yllk1hdzbsqyr107yjs2qnc49yahdhvnr4h5b7";
+ };
+
+ buildInputs = [ ocaml findlib dune cppo ];
+
+ propagatedBuildInputs = [ octavius ];
+
+ inherit (dune) installPhase;
+
+ meta = {
+ description = "Extract documentation from OCaml files";
+ license = stdenv.lib.licenses.isc;
+ maintainers = [ stdenv.lib.maintainers.vbgl ];
+ inherit (ocaml.meta) platforms;
+ inherit (src.meta) homepage;
+ };
+}
diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix
index c944752ff6b..35b5c73b578 100644
--- a/pkgs/development/ocaml-modules/erm_xml/default.nix
+++ b/pkgs/development/ocaml-modules/erm_xml/default.nix
@@ -1,17 +1,17 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild }:
-if stdenv.lib.versionAtLeast ocaml.version "4.06"
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
then throw "erm_xml is not available for OCaml ${ocaml.version}"
else
-let version = "0.3"; in
+let version = "0.3+20180112"; in
stdenv.mkDerivation {
- name = "ocaml-erm_xml-${version}";
+ name = "ocaml${ocaml.version}-erm_xml-${version}";
src = fetchzip {
- url = "https://github.com/ermine/xml/archive/v${version}.tar.gz";
- sha256 = "19znk5w0qiw3wij4n6w3h5bcr221yy57jf815fr8k9m8kin710g3";
+ url = "https://github.com/hannesm/xml/archive/bbabdade807d8281fc48806da054b70dfe482479.tar.gz";
+ sha256 = "1gawpmg8plip0wia0xq60m024dn7l3ykwbjpbqx9f9bdmx74n1rr";
};
buildInputs = [ ocaml findlib ocamlbuild ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
createFindlibDestdir = true;
meta = {
- homepage = https://github.com/ermine/xml;
+ homepage = https://github.com/hannesm/xml;
description = "XML Parser for discrete data";
platforms = ocaml.meta.platforms or [];
license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/ocaml-modules/erm_xmpp/0.3.nix b/pkgs/development/ocaml-modules/erm_xmpp/0.3.nix
deleted file mode 100644
index 1a8f854185a..00000000000
--- a/pkgs/development/ocaml-modules/erm_xmpp/0.3.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, erm_xml, nocrypto }:
-
-buildOcaml rec {
- version = "0.3";
- name = "erm_xmpp";
-
- src = fetchFromGitHub {
- owner = "hannesm";
- repo = "xmpp";
- rev = "eee18bd3dd343550169969c0b45548eafd51cfe1";
- sha256 = "0hzs528lrx1ayalv6fh555pjn0b4l8xch1f72hd3b07g1xahdas5";
- };
-
- buildInputs = [ ocaml findlib ];
- propagatedBuildInputs = [ erm_xml nocrypto ];
-
- configurePhase = "ocaml setup.ml -configure --prefix $out";
- buildPhase = "ocaml setup.ml -build";
- installPhase = "ocaml setup.ml -install";
-
- createFindlibDestdir = true;
-
- meta = {
- homepage = https://github.com/hannesm/xmpp;
- description = "OCaml based XMPP implementation (fork)";
- license = stdenv.lib.licenses.bsd3;
- maintainers = with stdenv.lib.maintainers; [ sternenseemann ];
- };
-}
diff --git a/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
index c6027ce11ce..a6bb75e61c2 100644
--- a/pkgs/development/ocaml-modules/erm_xmpp/default.nix
+++ b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
@@ -1,33 +1,32 @@
-{ stdenv, fetchurl, fetchzip, ocaml, findlib, ocamlbuild, erm_xml, cryptokit, camlp4 }:
+{ stdenv, fetchFromGitHub, ocaml, findlib, camlp4, ocamlbuild
+, erm_xml, nocrypto
+}:
-let
- version = "0.2";
- disable-tests = fetchurl {
- url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/erm_xmpp/erm_xmpp.0.2/files/disable_tests.patch;
- sha256 = "09d8630nmx2x8kb8ap1zmsb93zs14cqg7ga1gmdl92jvsjxbhgc1";
+stdenv.mkDerivation rec {
+ version = "0.3+20180112";
+ name = "ocaml${ocaml.version}-erm_xmpp-${version}";
+
+ src = fetchFromGitHub {
+ owner = "hannesm";
+ repo = "xmpp";
+ rev = "184dc70fab7d46d09b9148ca4448f07f1e0a2df2";
+ sha256 = "1dsqsfacvd9xqsqjzh6xwbnf2mv1dvhy210riyvjd260q085ch6n";
};
-in
-
-stdenv.mkDerivation {
- name = "ocaml-erm_xmpp-${version}";
-
- src = fetchzip {
- url = "https://github.com/ermine/xmpp/archive/v${version}.tar.gz";
- sha256 = "0saw2dmrzv2aadrznvyvchnhivvcwm78x9nwf6flq5v0pqddapk2";
- };
-
- patches = [ disable-tests ];
buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
- propagatedBuildInputs = [ erm_xml cryptokit ];
+ propagatedBuildInputs = [ erm_xml nocrypto ];
+
+ configurePhase = "ocaml setup.ml -configure --prefix $out";
+ buildPhase = "ocaml setup.ml -build";
+ installPhase = "ocaml setup.ml -install";
createFindlibDestdir = true;
meta = {
- homepage = https://github.com/ermine/xmpp;
- description = "OCaml based XMPP implementation";
- platforms = ocaml.meta.platforms or [];
+ homepage = https://github.com/hannesm/xmpp;
+ description = "OCaml based XMPP implementation (fork)";
license = stdenv.lib.licenses.bsd3;
- maintainers = with stdenv.lib.maintainers; [ vbgl ];
+ maintainers = with stdenv.lib.maintainers; [ sternenseemann ];
+ inherit (ocaml.meta) platforms;
};
}
diff --git a/pkgs/development/ocaml-modules/odoc/default.nix b/pkgs/development/ocaml-modules/odoc/default.nix
new file mode 100644
index 00000000000..4c5da695eb6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/odoc/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, dune
+, bos, cmdliner, doc-ock-html, doc-ock-xml
+}:
+
+stdenv.mkDerivation rec {
+ name = "ocaml${ocaml.version}-odoc-${version}";
+ version = "1.2.0";
+ src = fetchFromGitHub {
+ owner = "ocaml";
+ repo = "odoc";
+ rev = "v${version}";
+ sha256 = "0ixnhfpm1nw4bvjj8qhcyy283pdr5acqpg5wxwq3n1l4mad79cgh";
+ };
+
+ buildInputs = [ ocaml findlib dune cmdliner ];
+
+ propagatedBuildInputs = [ bos doc-ock-html doc-ock-xml ];
+
+ inherit (dune) installPhase;
+
+ meta = {
+ description = "A documentation generator for OCaml";
+ license = stdenv.lib.licenses.isc;
+ maintainers = [ stdenv.lib.maintainers.vbgl ];
+ inherit (ocaml.meta) platforms;
+ inherit (src.meta) homepage;
+ };
+}
diff --git a/pkgs/development/python-modules/flask-assets/default.nix b/pkgs/development/python-modules/flask-assets/default.nix
index 7f3b6367b6e..a8e454f4a2c 100644
--- a/pkgs/development/python-modules/flask-assets/default.nix
+++ b/pkgs/development/python-modules/flask-assets/default.nix
@@ -9,6 +9,10 @@ buildPythonPackage rec {
sha256 = "0ivqsihk994rxw58vdgzrx4d77d7lpzjm4qxb38hjdgvi5xm4cb0";
};
+ patchPhase = ''
+ substituteInPlace tests/test_integration.py --replace 'static_path=' 'static_url_path='
+ '';
+
propagatedBuildInputs = [ flask webassets flask_script nose ];
meta = with lib; {
diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix
index a8583747225..1163f007b09 100644
--- a/pkgs/development/python-modules/pyftgl/default.nix
+++ b/pkgs/development/python-modules/pyftgl/default.nix
@@ -1,5 +1,13 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k
-, boost, freetype, ftgl, libGLU_combined }:
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, boost, freetype, ftgl, libGLU_combined
+, python
+}:
+
+let
+
+ pythonVersion = with lib.versions; "${major python.version}${minor python.version}";
+
+in
buildPythonPackage rec {
pname = "pyftgl";
@@ -13,13 +21,13 @@ buildPythonPackage rec {
sha256 = "12zcjv4cwwjihiaf74kslrdmmk4bs47h7006gyqfwdfchfjdgg4r";
};
- postPatch = stdenv.lib.optional isPy3k ''
- sed -i "s,'boost_python','boost_python3',g" setup.py
+ postPatch = ''
+ sed -i "s,'boost_python','boost_python${pythonVersion}',g" setup.py
'';
buildInputs = [ boost freetype ftgl libGLU_combined ];
- meta = with stdenv.lib; {
+ meta = with lib; {
description = "Python bindings for FTGL (FreeType for OpenGL)";
license = licenses.gpl2Plus;
};
diff --git a/pkgs/development/python-modules/pyjet/default.nix b/pkgs/development/python-modules/pyjet/default.nix
new file mode 100644
index 00000000000..69d20863a77
--- /dev/null
+++ b/pkgs/development/python-modules/pyjet/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi, nose, numpy }:
+
+buildPythonPackage rec {
+ pname = "pyjet";
+ version = "1.3.0";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1glcwv9ni8i40smfw6m456xjadlkackim5nk33xmas1fa96lpagg";
+ };
+
+ propagatedBuildInputs = [ numpy ];
+ checkInputs = [ nose ];
+
+ meta = with lib; {
+ homepage = "https://github.com/scikit-hep/pyjet";
+ description = "The interface between FastJet and NumPy";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ veprbl ];
+ };
+}
diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index 436d31830ff..04d274d0562 100644
--- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -26,7 +26,7 @@ GEM
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-progressbar (1.10.0)
- solargraph (0.27.1)
+ solargraph (0.28.1)
coderay (~> 1.1)
eventmachine (~> 1.2, >= 1.2.5)
htmlentities (~> 4.3, >= 4.3.4)
diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix
index 840cf922419..3319f2a68de 100644
--- a/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -127,10 +127,10 @@
dependencies = ["coderay" "eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1wp4k6ayv9gv1rzxqccz6zb1fss7klszqwha9wvs6mj3c1vhghac";
+ sha256 = "11l759mrzjla2iqy5wdd20r01196pfxkw0b0gzgskdbfi8y8mvg5";
type = "gem";
};
- version = "0.27.1";
+ version = "0.28.1";
};
thor = {
source = {
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index c0e12aa22c4..062f90e3389 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -7,12 +7,12 @@
stdenv.mkDerivation rec {
name = "ycmd-${version}";
- version = "2018-07-24";
+ version = "2018-09-20";
src = fetchgit {
url = "https://github.com/Valloric/ycmd.git";
- rev = "f8a8b04892b925efeee24298a957cc6d6a69ad06";
- sha256 = "1br2sh6bs0fg1axq2hq9f48fz8klkzydi1mf0j0jdsh3zjzkmxbn";
+ rev = "bf658fd78722c517674c0aaf2381e199bca8f163";
+ sha256 = "1lwa8xr76vapfpncvp81cn3m9219yw14fl7fzk5gnly60zkphbbl";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/misc/libcardiacarrest/default.nix b/pkgs/misc/libcardiacarrest/default.nix
index 28e9b81df86..1a07878b330 100644
--- a/pkgs/misc/libcardiacarrest/default.nix
+++ b/pkgs/misc/libcardiacarrest/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "libcardiacarrest-${version}";
- version = "12.1-6"; # -
+ version = "12.1-7"; # -
src = fetchFromGitHub {
owner = "oxij";
repo = "libcardiacarrest";
- rev = "4df92b6cc66c7f9fe947dd9bbf4802cf20fe63a2";
- sha256 = "0zfjn4nvcx8r4f6czcix5b9nsszhhhlbypcwqzi4ddhazl1gyfm6";
+ rev = "d44288d9a24d6b7793fb36a4c9a548b6b55375ec";
+ sha256 = "0j3l5s6r9hgpy5y7q7kx0rkh05rk0bgfdvzbmadqps720lqjs4xm";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 79179f3fcbb..1e3286f64d6 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -3,17 +3,17 @@
let
ell = fetchgit {
url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
- rev = "0.9";
- sha256 = "1kg7cx7ir8bvz33n624ncrq9r4fh7rg9z22fly894a3mk1imq22p";
+ rev = "0.10";
+ sha256 = "1yzbx4l3a6hbdmirgbvnrjfiwflyzd38mbxnp23gn9hg3ni3br34";
};
in stdenv.mkDerivation rec {
name = "iwd-${version}";
- version = "0.7";
+ version = "0.8";
src = fetchgit {
url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
rev = version;
- sha256 = "0q76fh6fcl7nxyjl8z2n4plp2qaxc1fqx575by6xqf1rnv4nk0ab";
+ sha256 = "0bx31f77mz3rbl3xja48lb5zgwgialg7hvax889kpkz92wg26mgv";
};
nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index d061e41eb2f..d95c2caa2cf 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,10 +1,10 @@
-{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
+{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
let
modDirVersion = "4.14.62";
tag = "1.20180817";
in
-stdenv.lib.overrideDerivation (buildLinux (args // rec {
+lib.overrideDerivation (buildLinux (args // rec {
version = "${modDirVersion}-${tag}";
inherit modDirVersion;
@@ -18,6 +18,7 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
defconfig = {
"armv6l-linux" = "bcmrpi_defconfig";
"armv7l-linux" = "bcm2709_defconfig";
+ "aarch64-linux" = "bcmrpi3_defconfig";
}.${stdenv.hostPlatform.system} or (throw "linux_rpi not supported on '${stdenv.hostPlatform.system}'");
features = {
@@ -31,14 +32,15 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
'';
+ # Make copies of the DTBs named after the upstream names so that U-Boot finds them.
+ # This is ugly as heck, but I don't know a better solution so far.
postFixup = ''
- # Make copies of the DTBs named after the upstream names so that U-Boot finds them.
- # This is ugly as heck, but I don't know a better solution so far.
- rm $out/dtbs/bcm283*.dtb
+ dtbDir=${if stdenv.isAarch64 then "$out/dtbs/broadcom" else "$out/dtbs"}
+ rm $dtbDir/bcm283*.dtb
copyDTB() {
- cp -v "$out/dtbs/$1" "$out/dtbs/$2"
+ cp -v "$dtbDir/$1" "$dtbDir/$2"
}
-
+ '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv6l-linux"]) ''
copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb
copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
@@ -48,7 +50,9 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb
copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb
copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
+ '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux"]) ''
copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
+ '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux" "aarch64-linux"]) ''
copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 4bfea7a1098..4b6be255663 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
{ stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
buildLinux (args // rec {
- version = "4.19-rc4";
- modDirVersion = "4.19.0-rc4";
+ version = "4.19-rc5";
+ modDirVersion = "4.19.0-rc5";
extraMeta.branch = "4.19";
src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
- sha256 = "083nlh25zddrbg1hzyxfpg9i7h91ij9f299i52r5zwzi85yi8whn";
+ sha256 = "0fpv2g6x1hgdrxvh1acjcxmyk2fzqcx1ypi0mqw72swbm587irck";
};
# Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 16bab9979d0..d9ff157e142 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -17,11 +17,13 @@ in
rec {
# Policy: use the highest stable version as the default (on our master).
stable = generic {
- version = "390.77";
- sha256_32bit = "1yd313ghh2qbn07d5wbkshfwgkm4mh49vcqkydds3b3xk0mx4i8l";
- sha256_64bit = "10kjccrkdn360035lh985cadhwy6lk9xrw3wlmww2wqfaa25f775";
- settingsSha256 = "1wvxldpjkrx0ldjm5l6ycm6paxpcw89h0n6hfkznfkahkq7fwxdj";
- persistencedSha256 = "1gklmc0v17m018cwpdlzwdyd45y4sjvjhj8a3l44baygix5zn30f";
+ version = "390.87";
+ sha256_32bit = "0rlr1f4lnpb8c4qz4w5r8xw5gdy9bzz26qww45qyl1qav3wwaaaw";
+ sha256_64bit = "07k1kq8lkgbvjyr2dnbxcz6nppcwpq17wf925w8kfq78345hla9q";
+ settingsSha256 = "0xlaiy7jr95z0v2c6cwll89nxnb142pybw7m08jg44r7n13ffv3r";
+ persistencedSha256 = "0mhwk321garyl6m12261cj03ycv0qz1sbrlbq6cqwjpq4f1s7h58";
+
+ patches = lib.optional (kernel.meta.branch == "4.19") ./drm_mode_connector.patch;
};
beta = stable; # not enough interest to maintain beta ATM
diff --git a/pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch b/pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch
new file mode 100644
index 00000000000..58cf06fae45
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch
@@ -0,0 +1,24 @@
+diff -ura a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c
+--- a/kernel/nvidia-drm/nvidia-drm-connector.c 2018-09-07 17:38:31.807453997 -0400
++++ b/kernel/nvidia-drm/nvidia-drm-connector.c 2018-09-07 17:39:22.446185824 -0400
+@@ -226,7 +226,7 @@
+
+
+ if (nv_connector->edid != NULL) {
+- drm_mode_connector_update_edid_property(
++ drm_connector_update_edid_property(
+ connector, nv_connector->edid);
+ }
+
+diff -ura a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c
+--- a/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-09-07 17:38:31.807453997 -0400
++++ b/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-09-07 17:39:35.083798484 -0400
+@@ -216,7 +216,7 @@
+
+ /* Attach encoder and connector */
+
+- ret = drm_mode_connector_attach_encoder(connector, encoder);
++ ret = drm_connector_attach_encoder(connector, encoder);
+
+ if (ret != 0) {
+ NV_DRM_DEV_LOG_ERR(
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index e73233bd144..a47553b975e 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -2,13 +2,13 @@
buildGoPackage rec {
name = "influxdb-${version}";
- version = "1.4.1";
+ version = "1.6.3";
src = fetchFromGitHub {
owner = "influxdata";
repo = "influxdb";
rev = "v${version}";
- sha256 = "048ap70hdfkxhy0y8q1jsb0lql1i99jnf3cqaqar6qs2ynzsw9hd";
+ sha256 = "0xf16liapllk8qnw0vsy1ja4if1xlazwwaa4p0r5j7bny5lxm7zy";
};
buildFlagsArray = [ ''-ldflags=
@@ -19,7 +19,7 @@ buildGoPackage rec {
excludedPackages = "test";
- # Generated with the nix2go
+ # Generated with dep2nix (for 1.6.3) / nix2go (for 1.4.1).
goDeps = ./. + "/deps-${version}.nix";
meta = with lib; {
diff --git a/pkgs/servers/nosql/influxdb/deps-1.6.3.nix b/pkgs/servers/nosql/influxdb/deps-1.6.3.nix
new file mode 100644
index 00000000000..a2f4dfaeb8d
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/deps-1.6.3.nix
@@ -0,0 +1,444 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+ {
+ goPackagePath = "collectd.org";
+ fetch = {
+ type = "git";
+ url = "https://github.com/collectd/go-collectd";
+ rev = "2ce144541b8903101fb8f1483cc0497a68798122";
+ sha256 = "0rr9rnc777jk27a7yxhdb7vgkj493158a8k6q44x51s30dkp78x3";
+ };
+ }
+ {
+ goPackagePath = "github.com/BurntSushi/toml";
+ fetch = {
+ type = "git";
+ url = "https://github.com/BurntSushi/toml";
+ rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
+ sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
+ };
+ }
+ {
+ goPackagePath = "github.com/RoaringBitmap/roaring";
+ fetch = {
+ type = "git";
+ url = "https://github.com/RoaringBitmap/roaring";
+ rev = "d6540aab65a17321470b1661bfc52da1823871e9";
+ sha256 = "1lsrz7j55blalpp95vgz214b35sjf8nfmrw3fxybdl4xipk2ssdj";
+ };
+ }
+ {
+ goPackagePath = "github.com/beorn7/perks";
+ fetch = {
+ type = "git";
+ url = "https://github.com/beorn7/perks";
+ rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
+ sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+ };
+ }
+ {
+ goPackagePath = "github.com/bmizerany/pat";
+ fetch = {
+ type = "git";
+ url = "https://github.com/bmizerany/pat";
+ rev = "6226ea591a40176dd3ff9cd8eff81ed6ca721a00";
+ sha256 = "0qjkm7169y6pybwh0s02fjjk251isa2b367xqfzrwvl6cy4yzfxp";
+ };
+ }
+ {
+ goPackagePath = "github.com/boltdb/bolt";
+ fetch = {
+ type = "git";
+ url = "https://github.com/boltdb/bolt";
+ rev = "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8";
+ sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r";
+ };
+ }
+ {
+ goPackagePath = "github.com/cespare/xxhash";
+ fetch = {
+ type = "git";
+ url = "https://github.com/cespare/xxhash";
+ rev = "5c37fe3735342a2e0d01c87a907579987c8936cc";
+ sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1";
+ };
+ }
+ {
+ goPackagePath = "github.com/davecgh/go-spew";
+ fetch = {
+ type = "git";
+ url = "https://github.com/davecgh/go-spew";
+ rev = "346938d642f2ec3594ed81d874461961cd0faa76";
+ sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
+ };
+ }
+ {
+ goPackagePath = "github.com/dgrijalva/jwt-go";
+ fetch = {
+ type = "git";
+ url = "https://github.com/dgrijalva/jwt-go";
+ rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
+ sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+ };
+ }
+ {
+ goPackagePath = "github.com/dgryski/go-bitstream";
+ fetch = {
+ type = "git";
+ url = "https://github.com/dgryski/go-bitstream";
+ rev = "9f22ccc24718d9643ac427c8c897ae1a01575783";
+ sha256 = "0x3hbsrn7qafhhjz6lgyc1pd1p5kgkrkbccvsr6yygkl785h5lhn";
+ };
+ }
+ {
+ goPackagePath = "github.com/glycerine/go-unsnap-stream";
+ fetch = {
+ type = "git";
+ url = "https://github.com/glycerine/go-unsnap-stream";
+ rev = "62a9a9eb44fd8932157b1a8ace2149eff5971af6";
+ sha256 = "1ray7p4q3vv5zn9w5xs7m9kjh68b2ck98nh25mxhfiwl9jxkabrc";
+ };
+ }
+ {
+ goPackagePath = "github.com/gogo/protobuf";
+ fetch = {
+ type = "git";
+ url = "https://github.com/gogo/protobuf";
+ rev = "1adfc126b41513cc696b209667c8656ea7aac67c";
+ sha256 = "1j7azzlnihcvnd1apw5zr0bz30h7n0gyimqqkgc76vzb1n5dpi7m";
+ };
+ }
+ {
+ goPackagePath = "github.com/golang/protobuf";
+ fetch = {
+ type = "git";
+ url = "https://github.com/golang/protobuf";
+ rev = "925541529c1fa6821df4e44ce2723319eb2be768";
+ sha256 = "1d3zjvhl115l23xakj0014qpjchivlg098h10v5nfirkk1i9f9sa";
+ };
+ }
+ {
+ goPackagePath = "github.com/golang/snappy";
+ fetch = {
+ type = "git";
+ url = "https://github.com/golang/snappy";
+ rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380";
+ sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn";
+ };
+ }
+ {
+ goPackagePath = "github.com/google/go-cmp";
+ fetch = {
+ type = "git";
+ url = "https://github.com/google/go-cmp";
+ rev = "3af367b6b30c263d47e8895973edcca9a49cf029";
+ sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+ };
+ }
+ {
+ goPackagePath = "github.com/influxdata/influxql";
+ fetch = {
+ type = "git";
+ url = "https://github.com/influxdata/influxql";
+ rev = "a7267bff5327e316e54c54342b0bc9598753e3d5";
+ sha256 = "0mqc9xki5l9yfbb0dqjb417cmv3pca1bj71m90dkshladr2wlcg3";
+ };
+ }
+ {
+ goPackagePath = "github.com/influxdata/usage-client";
+ fetch = {
+ type = "git";
+ url = "https://github.com/influxdata/usage-client";
+ rev = "6d3895376368aa52a3a81d2a16e90f0f52371967";
+ sha256 = "0a5adnid42f9vpckgcpkj7v60fh147j7zlg1rhxcpq5vkw698ifl";
+ };
+ }
+ {
+ goPackagePath = "github.com/influxdata/yamux";
+ fetch = {
+ type = "git";
+ url = "https://github.com/influxdata/yamux";
+ rev = "1f58ded512de5feabbe30b60c7d33a7a896c5f16";
+ sha256 = "08y1lgcyyaa8zrg24ck64b5dfassgb2pp1fb9x5lw9q16fb170bx";
+ };
+ }
+ {
+ goPackagePath = "github.com/influxdata/yarpc";
+ fetch = {
+ type = "git";
+ url = "https://github.com/influxdata/yarpc";
+ rev = "f0da2db138cad2fb425541938fc28dd5a5bc6918";
+ sha256 = "1g71flc8s8xas7vmaiwv0425paii1akc7jsdqsgxkhyfxx2gvib0";
+ };
+ }
+ {
+ goPackagePath = "github.com/jsternberg/zap-logfmt";
+ fetch = {
+ type = "git";
+ url = "https://github.com/jsternberg/zap-logfmt";
+ rev = "ac4bd917e18a4548ce6e0e765b29a4e7f397b0b6";
+ sha256 = "0pqp2nsqvsq8kqc7l14340lrvl03715s12bag63kdbi25s8fcdkx";
+ };
+ }
+ {
+ goPackagePath = "github.com/jwilder/encoding";
+ fetch = {
+ type = "git";
+ url = "https://github.com/jwilder/encoding";
+ rev = "b4e1701a28efcc637d9afcca7d38e495fe909a09";
+ sha256 = "195js5njz86k096p3ggglgpc7rw3801mpqzdfwfr3miflhnp7nwg";
+ };
+ }
+ {
+ goPackagePath = "github.com/klauspost/compress";
+ fetch = {
+ type = "git";
+ url = "https://github.com/klauspost/compress";
+ rev = "6c8db69c4b49dd4df1fff66996cf556176d0b9bf";
+ sha256 = "00h2lpqcyc3pg2xk3q4a9cgyv0vkn15bx0hb725j5zbkr9vah23x";
+ };
+ }
+ {
+ goPackagePath = "github.com/klauspost/cpuid";
+ fetch = {
+ type = "git";
+ url = "https://github.com/klauspost/cpuid";
+ rev = "ae7887de9fa5d2db4eaa8174a7eff2c1ac00f2da";
+ sha256 = "178apw89g8nsd7w6mbdylxn956h3iig6rbw3bkivp6lplhb5dvq4";
+ };
+ }
+ {
+ goPackagePath = "github.com/klauspost/crc32";
+ fetch = {
+ type = "git";
+ url = "https://github.com/klauspost/crc32";
+ rev = "cb6bfca970f6908083f26f39a79009d608efd5cd";
+ sha256 = "0q4yr4isgmph1yf1vq527lpmid7vqv56q7vxh3gkp5679fb90q6n";
+ };
+ }
+ {
+ goPackagePath = "github.com/klauspost/pgzip";
+ fetch = {
+ type = "git";
+ url = "https://github.com/klauspost/pgzip";
+ rev = "0bf5dcad4ada2814c3c00f996a982270bb81a506";
+ sha256 = "0dgp2iljvhibzxia1g3lsfg4bjmfh4kf0bfrmfi7sd49hwhrvk7s";
+ };
+ }
+ {
+ goPackagePath = "github.com/mattn/go-isatty";
+ fetch = {
+ type = "git";
+ url = "https://github.com/mattn/go-isatty";
+ rev = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+ sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+ };
+ }
+ {
+ goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+ fetch = {
+ type = "git";
+ url = "https://github.com/matttproud/golang_protobuf_extensions";
+ rev = "3247c84500bff8d9fb6d579d800f20b3e091582c";
+ sha256 = "12hcych25wf725zxdkpnyx4wa0gyxl8v4m8xmhdmmaki9bbmqd0d";
+ };
+ }
+ {
+ goPackagePath = "github.com/mschoch/smat";
+ fetch = {
+ type = "git";
+ url = "https://github.com/mschoch/smat";
+ rev = "90eadee771aeab36e8bf796039b8c261bebebe4f";
+ sha256 = "141saq6d4z3c7v3jw45zy4gn6wwjlyralqygjff1fzvz1gkvimk3";
+ };
+ }
+ {
+ goPackagePath = "github.com/opentracing/opentracing-go";
+ fetch = {
+ type = "git";
+ url = "https://github.com/opentracing/opentracing-go";
+ rev = "328fceb7548c744337cd010914152b74eaf4c4ab";
+ sha256 = "1w6s42n9glqwif6awyiapr7sh1wjvkxan41qhc1yi555byyw200k";
+ };
+ }
+ {
+ goPackagePath = "github.com/paulbellamy/ratecounter";
+ fetch = {
+ type = "git";
+ url = "https://github.com/paulbellamy/ratecounter";
+ rev = "524851a93235ac051e3540563ed7909357fe24ab";
+ sha256 = "0z4c61ac6v8mpnr9z37d91h1cf8v9psja5jfdxmsf69r1b7qr4f9";
+ };
+ }
+ {
+ goPackagePath = "github.com/peterh/liner";
+ fetch = {
+ type = "git";
+ url = "https://github.com/peterh/liner";
+ rev = "6106ee4fe3e8435f18cd10e34557e5e50f0e792a";
+ sha256 = "178s1amw5r60lywgmh24pd2ljim0b05fdfsm4c8px22fkycmn1qr";
+ };
+ }
+ {
+ goPackagePath = "github.com/philhofer/fwd";
+ fetch = {
+ type = "git";
+ url = "https://github.com/philhofer/fwd";
+ rev = "bb6d471dc95d4fe11e432687f8b70ff496cf3136";
+ sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
+ };
+ }
+ {
+ goPackagePath = "github.com/prometheus/client_golang";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/client_golang";
+ rev = "661e31bf844dfca9aeba15f27ea8aa0d485ad212";
+ sha256 = "0r9sr3m57ks7rc5bbghl0gy9wxlznzmz331xdp42zlgk6g774xcn";
+ };
+ }
+ {
+ goPackagePath = "github.com/prometheus/client_model";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/client_model";
+ rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+ sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+ };
+ }
+ {
+ goPackagePath = "github.com/prometheus/common";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/common";
+ rev = "e4aa40a9169a88835b849a6efb71e05dc04b88f0";
+ sha256 = "0m1n616d694jca0qjwjn5ci7scfgm2jpi94dhi356arm9lhda4jc";
+ };
+ }
+ {
+ goPackagePath = "github.com/prometheus/procfs";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/procfs";
+ rev = "54d17b57dd7d4a3aa092476596b3f8a933bde349";
+ sha256 = "1b5218hi6k9i637k6xc7ynpll577zbnrhjm9jr2iczy3j0rr4rvr";
+ };
+ }
+ {
+ goPackagePath = "github.com/retailnext/hllpp";
+ fetch = {
+ type = "git";
+ url = "https://github.com/retailnext/hllpp";
+ rev = "101a6d2f8b52abfc409ac188958e7e7be0116331";
+ sha256 = "1dyyjyrscd3d22jhh2pbn67c6nzva0v069215sjjmj313k1xzmj3";
+ };
+ }
+ {
+ goPackagePath = "github.com/tinylib/msgp";
+ fetch = {
+ type = "git";
+ url = "https://github.com/tinylib/msgp";
+ rev = "b2b6a672cf1e5b90748f79b8b81fc8c5cf0571a1";
+ sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
+ };
+ }
+ {
+ goPackagePath = "github.com/willf/bitset";
+ fetch = {
+ type = "git";
+ url = "https://github.com/willf/bitset";
+ rev = "d860f346b89450988a379d7d705e83c58d1ea227";
+ sha256 = "18419ip5mnblnyx2rjixad90dhjb1x2kaiidr7zk9b3qci799rh0";
+ };
+ }
+ {
+ goPackagePath = "github.com/xlab/treeprint";
+ fetch = {
+ type = "git";
+ url = "https://github.com/xlab/treeprint";
+ rev = "f3a15cfd24bf976c724324cb6846a8b54b88b639";
+ sha256 = "0fgbdyk2mfj5vh8902sga33w5gw7q0f1if4nqx631ca33fd6pfbn";
+ };
+ }
+ {
+ goPackagePath = "go.uber.org/atomic";
+ fetch = {
+ type = "git";
+ url = "https://github.com/uber-go/atomic";
+ rev = "8474b86a5a6f79c443ce4b2992817ff32cf208b8";
+ sha256 = "166shnjw8rvjvksymi2gqw1ygsbxlq15xb10j2dx5rwy4y4asq8x";
+ };
+ }
+ {
+ goPackagePath = "go.uber.org/multierr";
+ fetch = {
+ type = "git";
+ url = "https://github.com/uber-go/multierr";
+ rev = "3c4937480c32f4c13a875a1829af76c98ca3d40a";
+ sha256 = "1slfc6syvw8cvr6rbrjsy6ja5w8gsx0f8aq8qm16rp2x5c2pj07w";
+ };
+ }
+ {
+ goPackagePath = "go.uber.org/zap";
+ fetch = {
+ type = "git";
+ url = "https://github.com/uber-go/zap";
+ rev = "35aad584952c3e7020db7b839f6b102de6271f89";
+ sha256 = "0n79ir7jcr7s51j85swji7an0jgy1w5dxg1g68j722rmpbvsagwv";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/crypto";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/crypto";
+ rev = "c3a3ad6d03f7a915c0f7e194b7152974bb73d287";
+ sha256 = "0x18275g5xlaw55bpx8hdna66d2hpbcw6hs0pxf1kmvfds6gzn6n";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/net";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/net";
+ rev = "92b859f39abd2d91a854c9f9c4621b2f5054a92d";
+ sha256 = "1nzbay48k53pxa1sh102v571k6pa57540p0bzcil4qgan47yxba6";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/sync";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/sync";
+ rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca";
+ sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/sys";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/sys";
+ rev = "d8e400bc7db4870d786864138af681469693d18c";
+ sha256 = "08d23f9gjarp63dw0wj54nlqh3x2lqnchzkw8n5d7ik3wy7qy4yf";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/text";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/text";
+ rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
+ sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/time";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/time";
+ rev = "26559e0f760e39c24d730d3224364aef164ee23f";
+ sha256 = "00fx6m59cjbi7y0ri4a57q1zs6r310xbg5yqns5kfm2cax0dkmnf";
+ };
+ }
+]
\ No newline at end of file
diff --git a/pkgs/servers/sql/postgresql/pgtap/default.nix b/pkgs/servers/sql/postgresql/pgtap/default.nix
index c6eb4013c5c..2f37d3a85d3 100644
--- a/pkgs/servers/sql/postgresql/pgtap/default.nix
+++ b/pkgs/servers/sql/postgresql/pgtap/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "pgtap-${version}";
- version = "0.98.0";
+ version = "0.99.0";
src = fetchFromGitHub {
owner = "theory";
repo = "pgtap";
rev = "v${version}";
- sha256 = "17r3b409k05pbypmwdwgm1fl669jc6a1391szyxizx784k44a369";
+ sha256 = "0xakjlbb99mgd8za6m0xa6n3s5fhif217iip6b3aywqw7nh1j6nv";
};
nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 561f8ba94d9..06dd540a481 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1760,11 +1760,11 @@ let
}) // {inherit inputproto xorgserver xproto ;};
xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
- name = "xf86-input-libinput-0.26.0";
+ name = "xf86-input-libinput-0.28.0";
builder = ./builder.sh;
src = fetchurl {
- url = mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2;
- sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
+ url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2;
+ sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ inputproto xorgserver xproto ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index b1a749c7ec4..32a4e67642a 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -335,10 +335,10 @@ in
};
xf86inputlibinput = attrs: attrs // rec {
- name = "xf86-input-libinput-0.26.0";
+ name = "xf86-input-libinput-0.28.0";
src = args.fetchurl {
url = "mirror://xorg/individual/driver/${name}.tar.bz2";
- sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
+ sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
};
outputs = [ "out" "dev" ];
buildInputs = attrs.buildInputs ++ [ args.libinput ];
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 6e67e8eb6e1..ca77e640814 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -123,7 +123,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2
mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2
mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2
mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2
mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2
mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index eb7fd82b945..24948ce9aa4 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -17,6 +17,8 @@ with pkgs;
cc-wrapper-libcxx-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; };
cc-wrapper-clang-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.stdenv; };
cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; };
+ cc-wrapper-clang-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.stdenv; };
+ cc-wrapper-libcxx-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.libcxxStdenv; };
stdenv-inputs = callPackage ./stdenv-inputs { };
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
diff --git a/pkgs/tools/X11/xloadimage/default.nix b/pkgs/tools/X11/xloadimage/default.nix
new file mode 100644
index 00000000000..a58d16ab82e
--- /dev/null
+++ b/pkgs/tools/X11/xloadimage/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, fetchurl
+, libX11
+, libXt
+
+, libjpeg ? null
+, libpng ? null
+, libtiff ? null
+
+, withJpegSupport ? true
+, withPngSupport ? true
+, withTiffSupport ? true
+}:
+
+assert withJpegSupport -> libjpeg != null;
+assert withPngSupport -> libpng != null;
+assert withTiffSupport -> libtiff != null;
+
+let
+ deb_patch = "25";
+in
+stdenv.mkDerivation rec {
+ version = "4.1";
+ name = "xloadimage-${version}";
+
+ src = fetchurl {
+ url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}.orig.tar.gz";
+ sha256 = "1i7miyvk5ydhi6yi8593vapavhwxcwciir8wg9d2dcyg9pccf2s0";
+ };
+
+ patches = fetchurl {
+ url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}-${deb_patch}.debian.tar.xz";
+ sha256 = "17k518vrdrya5c9dqhpmm4g0h2vlkq1iy87sg2ngzygypbli1xvn";
+ };
+
+ buildInputs = [
+ libX11 libXt
+ ] ++ stdenv.lib.optionals withJpegSupport [
+ libjpeg
+ ] ++ stdenv.lib.optionals withPngSupport [
+ libpng
+ ] ++ stdenv.lib.optionals withTiffSupport [
+ libtiff
+ ];
+
+ # NOTE: we patch the build-info script so that it never detects the utilities
+ # it's trying to find; one of the Debian patches adds support for
+ # $SOURCE_DATE_EPOCH, but we want to make sure we don't even call these.
+ preConfigure = ''
+ substituteInPlace build-info \
+ --replace '[ -x /bin/date ]' 'false' \
+ --replace '[ -x /bin/id ]' 'false' \
+ --replace '[ -x /bin/uname ]' 'false' \
+ --replace '[ -x /usr/bin/id ]' 'false'
+
+ chmod +x build-info configure
+ '';
+
+ enableParallelBuilding = true;
+
+ # NOTE: we're not installing the `uufilter` binary; if needed, the standard
+ # `uudecode` tool should work just fine.
+ installPhase = ''
+ install -Dm755 xloadimage $out/bin/xloadimage
+ ln -sv $out/bin/{xloadimage,xsetbg}
+
+ install -D -m644 xloadimagerc $out/etc/xloadimagerc.example
+ install -D -m644 xloadimage.man $out/share/man/man1/xloadimage.1x
+ ln -sv $out/share/man/man1/{xloadimage,xsetbg}.1x
+ '';
+
+ meta = {
+ description = "Graphics file viewer under X11";
+
+ longDescription = ''
+ Can view png, jpeg, gif, tiff, niff, sunraster, fbm, cmuraster, pbm,
+ faces, rle, xwd, vff, mcidas, vicar, pcx, gem, macpaint, xpm and xbm
+ files. Can view images, put them on the root window, or dump them. Does a
+ variety of processing, including: clipping, dithering, depth reduction,
+ zoom, brightening/darkening and merging.
+ '';
+
+ license = stdenv.lib.licenses.gpl2Plus;
+
+ maintainers = with stdenv.lib.maintainers; [ andrew-d ];
+ platforms = stdenv.lib.platforms.linux; # arbitrary choice
+ };
+}
diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix
index c252894dbfe..4ee51100b33 100644
--- a/pkgs/tools/X11/xsecurelock/default.nix
+++ b/pkgs/tools/X11/xsecurelock/default.nix
@@ -1,21 +1,21 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
-, libX11, libXcomposite, libXft, pam, apacheHttpd, imagemagick
+, libX11, libXcomposite, libXft, libXmu, pam, apacheHttpd, imagemagick
, pamtester, xscreensaver }:
stdenv.mkDerivation rec {
name = "xsecurelock-${version}";
- version = "1.0";
+ version = "1.1";
src = fetchFromGitHub {
owner = "google";
repo = "xsecurelock";
rev = "v${version}";
- sha256 = "0k135hnfnn1j82wvc03b8jkq06wws1xk325x5m25ps6xwsn725sw";
+ sha256 = "0yqp5xhkl9jpjyrmrxbyp7azwxmqc3lxv5lxrjqjaapl3q3096g5";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [
- libX11 libXcomposite libXft pam
+ libX11 libXcomposite libXft libXmu pam
apacheHttpd imagemagick pamtester
];
diff --git a/pkgs/tools/misc/agedu/default.nix b/pkgs/tools/misc/agedu/default.nix
index 2f9615a1fdb..d0254e9ce9f 100644
--- a/pkgs/tools/misc/agedu/default.nix
+++ b/pkgs/tools/misc/agedu/default.nix
@@ -1,7 +1,7 @@
{stdenv, fetchgit, autoreconfHook, halibut}:
let
- date = "20180522";
- rev = "5b12791";
+ date = "20180918";
+ rev = "80c7beb";
in
stdenv.mkDerivation {
name = "agedu-${date}.${rev}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
src = fetchgit {
url = https://git.tartarus.org/simon/agedu.git;
inherit rev;
- sha256 = "1zyxif0i3yil4xm8y9aqk6wsdwi7b3jg682lv6ds6a6bl047fz1q";
+ sha256 = "0i930izna3s73p2q52qa377ixd14zij5q1n7w3irl7csyy78g0cd";
};
nativeBuildInputs = [autoreconfHook halibut];
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index ec2062805ab..0cacfa6e54e 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -4,17 +4,17 @@
rustPlatform.buildRustPackage rec {
name = "bat-${version}";
- version = "0.7.0";
+ version = "0.7.1";
src = fetchFromGitHub {
owner = "sharkdp";
repo = "bat";
rev = "v${version}";
- sha256 = "1dhn88asf08dvl4827v4mkxafcr01m1h5jmicvzda9ywmr82g1cs";
+ sha256 = "1fzk0z7r70rjvv2c6531zaa1jzbcb7j9wbi0xqb9y4dls538bmz0";
fetchSubmodules = true;
};
- cargoSha256 = "10s8ig08prs1wcsisrllvsixqkrkwjx769y1w5fypldn9kfk2lka";
+ cargoSha256 = "19syz0sxcpk3i4675bfq5gpb9i6hp81in36w820kkvamaimq10nd";
nativeBuildInputs = [ cmake pkgconfig zlib ];
diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix
index d0bbd10d1e5..ef3839f67de 100644
--- a/pkgs/tools/misc/hdf4/default.nix
+++ b/pkgs/tools/misc/hdf4/default.nix
@@ -1,4 +1,5 @@
{ stdenv
+, fetchpatch
, fetchurl
, cmake
, libjpeg
@@ -14,6 +15,22 @@ stdenv.mkDerivation rec {
sha256 = "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l";
};
+ patches = let
+ # The Debian patch revision to fetch from; this may differ from our package
+ # version, but older patches should still apply.
+ patchRev = "4.2.13-4";
+ getPatch = name: sha256: fetchpatch {
+ inherit sha256;
+ url = "https://salsa.debian.org/debian-gis-team/hdf4/raw/debian/${patchRev}/debian/patches/${name}";
+ };
+
+ in [
+ (getPatch "64bit" "1xqk9zpch4m6ipa0f3x2cm8rwaz4p0ppp1vqglvz18j6q91p8b5y")
+ (getPatch "hdfi.h" "01fr9csylnvk9jd9jn9y23bvxy192s07p32pr76mm3gwhgs9h7r4")
+ (getPatch "hdf-4.2.10-aarch64.patch" "1hl0xw5pd9xhpq49xpwgg7c4z6vv5p19x6qayixw0myvgwj1r4zn")
+ (getPatch "reproducible-builds.patch" "02j639w26xkxpxx3pdhbi18ywz8w3qmjpqjb83n47gq29y4g13hc")
+ ];
+
buildInputs = [
cmake
libjpeg
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
index 16964e4db94..facf1b6a667 100644
--- a/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/fortisslvpn/default.nix
@@ -28,6 +28,7 @@ in stdenv.mkDerivation rec {
"--without-libnm-glib"
"--with-gnome=${if withGnome then "yes" else "no"}"
"--localstatedir=/tmp"
+ "--enable-absolute-paths"
];
passthru = {
diff --git a/pkgs/tools/networking/network-manager/iodine/default.nix b/pkgs/tools/networking/network-manager/iodine/default.nix
index a6fd3e7303d..ad58dc97b0a 100644
--- a/pkgs/tools/networking/network-manager/iodine/default.nix
+++ b/pkgs/tools/networking/network-manager/iodine/default.nix
@@ -31,6 +31,7 @@ in stdenv.mkDerivation rec {
"--without-libnm-glib"
"--with-gnome=${if withGnome then "yes" else "no"}"
"--localstatedir=/" # needed for the management socket under /run/NetworkManager
+ "--enable-absolute-paths"
];
passthru = {
diff --git a/pkgs/tools/networking/network-manager/l2tp/default.nix b/pkgs/tools/networking/network-manager/l2tp/default.nix
index 3cac1b5e63c..b44933f7f5f 100644
--- a/pkgs/tools/networking/network-manager/l2tp/default.nix
+++ b/pkgs/tools/networking/network-manager/l2tp/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
"--with-gnome=${if withGnome then "yes" else "no"}"
"--localstatedir=/var"
"--sysconfdir=$(out)/etc"
+ "--enable-absolute-paths"
];
enableParallelBuilding = true;
diff --git a/pkgs/tools/networking/network-manager/openconnect/default.nix b/pkgs/tools/networking/network-manager/openconnect/default.nix
index 23d4c816a20..0c02569aa27 100644
--- a/pkgs/tools/networking/network-manager/openconnect/default.nix
+++ b/pkgs/tools/networking/network-manager/openconnect/default.nix
@@ -26,6 +26,7 @@ in stdenv.mkDerivation rec {
configureFlags = [
"--with-gnome=${if withGnome then "yes" else "no"}"
+ "--enable-absolute-paths"
];
passthru = {
diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix
index 0d3a4174744..66a306ffb66 100644
--- a/pkgs/tools/networking/network-manager/openvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -28,6 +28,7 @@ in stdenv.mkDerivation rec {
"--without-libnm-glib"
"--with-gnome=${if withGnome then "yes" else "no"}"
"--localstatedir=/" # needed for the management socket under /run/NetworkManager
+ "--enable-absolute-paths"
];
passthru = {
diff --git a/pkgs/tools/networking/network-manager/vpnc/default.nix b/pkgs/tools/networking/network-manager/vpnc/default.nix
index ef45defb7d5..5d77be86dff 100644
--- a/pkgs/tools/networking/network-manager/vpnc/default.nix
+++ b/pkgs/tools/networking/network-manager/vpnc/default.nix
@@ -26,6 +26,7 @@ in stdenv.mkDerivation rec {
configureFlags = [
"--without-libnm-glib"
"--with-gnome=${if withGnome then "yes" else "no"}"
+ "--enable-absolute-paths"
];
passthru = {
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index 456469f150f..2acb39c0b73 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
name = "packagekit-${version}";
version = "1.1.10";
+ outputs = [ "out" "dev" ];
+
src = fetchFromGitHub {
owner = "hughsie";
repo = "PackageKit";
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
(if enableSystemd then "--enable-systemd" else "--disable-systemd")
"--disable-dummy"
"--disable-cron"
- "--disable-introspection"
+ "--enable-introspection"
"--disable-offline-update"
"--localstatedir=/var"
"--sysconfdir=/etc"
diff --git a/pkgs/tools/security/qesteidutil/default.nix b/pkgs/tools/security/qesteidutil/default.nix
index 016017205ab..20135895d76 100644
--- a/pkgs/tools/security/qesteidutil/default.nix
+++ b/pkgs/tools/security/qesteidutil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, fetchpatch
, cmake, ccid, qttools, qttranslations
, pkgconfig, pcsclite, hicolor-icon-theme
}:
@@ -19,6 +19,13 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
+ patches = [
+ (fetchpatch {
+ url = https://github.com/open-eid/qesteidutil/commit/868e8245f2481e29e1154e168ac92d32e93a5425.patch;
+ sha256 = "0pwrkd8inf0qaf7lcchmj558k6z34ah672zcb722aa5ybbif0lkn";
+ })
+ ];
+
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ cmake ccid qttools pcsclite qttranslations
hicolor-icon-theme
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0062289d204..0f4f2e8166d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6381,6 +6381,7 @@ with pkgs;
};
};
+ clang_7 = llvmPackages_7.clang;
clang_6 = llvmPackages_6.clang;
clang_5 = llvmPackages_5.clang;
clang_4 = llvmPackages_4.clang;
@@ -6978,15 +6979,18 @@ with pkgs;
lld_4 = llvmPackages_4.lld;
lld_5 = llvmPackages_5.lld;
lld_6 = llvmPackages_6.lld;
+ lld_7 = llvmPackages_7.lld;
lldb = llvmPackages.lldb;
lldb_4 = llvmPackages_4.lldb;
lldb_5 = llvmPackages_5.lldb;
lldb_6 = llvmPackages_6.lldb;
+ lldb_7 = llvmPackages_7.lldb;
llvm = llvmPackages.llvm;
llvm-manpages = llvmPackages.llvm-manpages;
+ llvm_7 = llvmPackages_7.llvm;
llvm_6 = llvmPackages_6.llvm;
llvm_5 = llvmPackages_5.llvm;
llvm_4 = llvmPackages_4.llvm;
@@ -7051,6 +7055,14 @@ with pkgs;
stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
});
+ llvmPackages_7 = callPackage ../development/compilers/llvm/7 ({
+ inherit (stdenvAdapters) overrideCC;
+ buildLlvmTools = buildPackages.llvmPackages_7.tools;
+ targetLlvmLibraries = targetPackages.llvmPackages_7.libraries;
+ } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+ stdenv = overrideCC stdenv buildPackages.gcc6; # with gcc-7: undefined reference to `__divmoddi4'
+ });
+
manticore = callPackage ../development/compilers/manticore { };
mentorToolchains = recurseIntoAttrs (
@@ -7809,6 +7821,8 @@ with pkgs;
wasm = callPackage ../development/interpreters/wasm { };
+ wasm-gc = callPackage ../development/interpreters/wasm-gc { };
+
### DEVELOPMENT / MISC
@@ -15316,6 +15330,8 @@ with pkgs;
ucs-fonts = callPackage ../data/fonts/ucs-fonts { };
+ ultimate-oldschool-pc-font-pack = callPackage ../data/fonts/ultimate-oldschool-pc-font-pack { };
+
uni-vga = callPackage ../data/fonts/uni-vga { };
unifont = callPackage ../data/fonts/unifont { };
@@ -16399,7 +16415,7 @@ with pkgs;
gnuradio-with-packages = callPackage ../applications/misc/gnuradio/wrapper.nix {
inherit (python2Packages) python;
- extraPackages = [ gnuradio-nacl gnuradio-osmosdr gnuradio-gsm gnuradio-ais gnuradio-rds ];
+ extraPackages = [ gnuradio-nacl gnuradio-osmosdr gnuradio-gsm gnuradio-ais gnuradio-rds gnuradio-limesdr ];
};
gnuradio-nacl = callPackage ../applications/misc/gnuradio/nacl.nix { };
@@ -16408,6 +16424,8 @@ with pkgs;
gnuradio-ais = callPackage ../applications/misc/gnuradio/ais.nix { };
+ gnuradio-limesdr = callPackage ../applications/misc/gnuradio/limesdr.nix { };
+
gnuradio-rds = callPackage ../applications/misc/gnuradio/rds.nix { };
gnuradio-osmosdr = callPackage ../applications/misc/gnuradio/osmosdr.nix { };
@@ -16944,9 +16962,7 @@ with pkgs;
extra-packages = [ csound ];
};
- jackline = callPackage ../applications/networking/instant-messengers/jackline {
- ocamlPackages = ocaml-ng.ocamlPackages_4_05;
- };
+ jackline = callPackage ../applications/networking/instant-messengers/jackline { };
slack = callPackage ../applications/networking/instant-messengers/slack { };
@@ -18988,7 +19004,7 @@ with pkgs;
tree = callPackage ../tools/system/tree {};
- treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK30; };
+ treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK31; };
trezor-bridge = callPackage ../applications/networking/browsers/mozilla-plugins/trezor { };
@@ -19596,6 +19612,8 @@ with pkgs;
xss-lock = callPackage ../misc/screensavers/xss-lock { };
+ xloadimage = callPackage ../tools/X11/xloadimage { };
+
xssproxy = callPackage ../misc/screensavers/xssproxy { };
xsynth_dssi = callPackage ../applications/audio/xsynth-dssi { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index f5e5cfb3972..779a24352bf 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -220,6 +220,12 @@ let
digestif = callPackage ../development/ocaml-modules/digestif { };
+ doc-ock = callPackage ../development/ocaml-modules/doc-ock { };
+
+ doc-ock-html = callPackage ../development/ocaml-modules/doc-ock-html { };
+
+ doc-ock-xml = callPackage ../development/ocaml-modules/doc-ock-xml { };
+
dolmen = callPackage ../development/ocaml-modules/dolmen { };
dolog = callPackage ../development/ocaml-modules/dolog { };
@@ -240,8 +246,6 @@ let
erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { };
- erm_xmpp_0_3 = callPackage ../development/ocaml-modules/erm_xmpp/0.3.nix { };
-
estring = callPackage ../development/ocaml-modules/estring { };
ezjsonm = callPackage ../development/ocaml-modules/ezjsonm { };
@@ -535,6 +539,8 @@ let
octavius = callPackage ../development/ocaml-modules/octavius { };
+ odoc = callPackage ../development/ocaml-modules/odoc { };
+
ojquery = callPackage ../development/ocaml-modules/ojquery { };
omd = callPackage ../development/ocaml-modules/omd { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index df28860accf..0354bdda6ef 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1841,6 +1841,8 @@ in {
pyjade = callPackage ../development/python-modules/pyjade {};
+ pyjet = callPackage ../development/python-modules/pyjet {};
+
PyLD = callPackage ../development/python-modules/PyLD { };
python-jose = callPackage ../development/python-modules/python-jose {};
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 06978d1067b..7637371a40f 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -83,7 +83,7 @@ let
inherit (super.stdenv) buildPlatform hostPlatform targetPlatform;
in {
inherit buildPlatform hostPlatform targetPlatform;
- inherit (buildPlatform) system;
+ inherit (hostPlatform) system;
};
splice = self: super: import ./splice.nix lib self (buildPackages != null);